Feature request: simple tone-mapping for target transfer function conversions

When converting e.g. from SMPTE-2084 input to bt.709 output, some sort of tone-mapping would be extremely valuable for better looking results, as just using contrast/brightness/gamma adjustments loses valuable information.
mpv has (amongst other options) one very well working, simple function implemented for that purpose: The "hable" tone mapping: https://github.com/mpv-player/mpv/blob/f1436658647aceb7ea58e595439fa6dd5c2cdb97/video/out/opengl/video_shaders.c#L388
Would it be possible to add such also for tone-mapping while converting to a different transfer-function in zimg?

z.lib aims to implement generally accepted industry practices, rather than original research. To my knowledge, there are no standardized tone (or gamut, also needed) mapping methods in the literature. One issue with ST.2084 that I can forsee is the need for scene-specific information, which is not currently expressible in the API (since it would require recalculating curve parameters).

Providing scene specific information, while certainly great for best conversion results, increases production cost significantly, therefore I am not quite sure the existing proposals (like "Dolby Vision") for such will see widespread use. And broadcasters who need to support live material have no way of manually choosing/inserting scene parameters.
But one thing is for sure: There will be displays around for many years to come that do not support anything beyond bt.709. At the same time, there will be an increasing ratio of cameras, recorders, media, that provide HDR videos (without scene-specific information). So the problem of converting from HDR material to ordinary SDR bt.709 displays will stay with us for quite some time.
The results I see from mpv's mapping are quite good - even with a "one parameter set fits them all"-approach ;-)

Copied from other issue:
"
@sekrit-twc re: “generally accepted practices”, the ITU-R has published a report BT.2390 “High dynamic range television for production and international programme exchange” in which they go over a number of details concerning HDR, including tone-mapping.
In particular, in section 5.4.1, they present a series of equations which they advise using when tone-mapping a HDR signal to a limited brightness range. Since you were looking for any sort of “standard practice”, whatever the ITU-R says is probably a good reference.
(It's perhaps also worth pointing out that the way mpv does tone-mapping is no longer based on the video game curves but derived from scratch using HDR video files and experimentation. It's still ad-hoc and the ultimately result of my own imagination, but it's much higher quality than what we had before)
"

@sekrit-twc: I saw that "mobius" became the default HDR tone-mapping function for mpv. However, when I compare its results with the former default "hable", I much prefer "hable", and the results with "hable" also look much more similar on the same OLED TV to what the TV itself displays when replaying HDR content.
Thus I am sticking with "hable" in my configuration :-)

No "simple" tonemapping, please. Only BT.2390 with Hermite curve and blac offset. Thanks.

BT.2390 with Hermite curve

but without black offset (sigh...) is implemented in mpv  https://github.com/mpv-player/mpv/search?q=bt.2390&type=commits in Vulkan.

BT.2390 with Hermite curve

but without black offset (sigh...) is implemented in mpv  https://github.com/mpv-player/mpv/search?q=bt.2390&type=commits in Vulkan.

there is a guideline for tonemapping by ITU https://www.itu.int/pub/R-REP-BT.2446

there is a guideline for tonemapping by ITU https://www.itu.int/pub/R-REP-BT.2446

there is a guideline for tonemapping by ITU https://www.itu.int/pub/R-REP-BT.2446

That is a bad guideline. Hermite spline with black offset was only done in report BT.2390-8 (02/2020) i.e. after BT.2446-0 (04/2019).

there is a guideline for tonemapping by ITU https://www.itu.int/pub/R-REP-BT.2446

That is a bad guideline. Hermite spline with black offset was only done in report BT.2390-8 (02/2020) i.e. after BT.2446-0 (04/2019).

BT.2446-0

It is now -1, was updated. https://www.desmos.com/calculator/1dwlw3ultd?lang=ru

Black offset is now implemented in libplacebo.


Access to specific Pose Landmarker Task API (Python)

Have I written custom code (as opposed to using a stock example script provided in MediaPipe)
None
OS Platform and Distribution
Ubuntu 22.04
MediaPipe version
Latest
Bazel version
No response
Solution
Pose
Programming Language and version
Python
Describe the actual behavior
Can't access to a specific landmarks
Describe the expected behaviour
Access to right_shoulder, right_elbow, right_wrist
Standalone code/steps you may have used to try to get what you need
i used this code:

# STEP 1: Import the necessary modules.
import mediapipe as mp
from mediapipe.tasks import python
from mediapipe.tasks.python import vision

# STEP 2: Create an PoseLandmarker object.
base_options = python.BaseOptions(model_asset_path='pose_landmarker.task')
options = vision.PoseLandmarkerOptions(
    base_options=base_options,
    output_segmentation_masks=True)
detector = vision.PoseLandmarker.create_from_options(options)

# STEP 3: Load the input image.
image = mp.Image.create_from_file("image.jpg")

# STEP 4: Detect pose landmarks from the input image.
detection_result = detector.detect(image)

# STEP 5: Process the detection result. In this case, visualize it.
annotated_image = draw_landmarks_on_image(image.numpy_view(), detection_result)
cv2_imshow(cv2.cvtColor(annotated_image, cv2.COLOR_RGB2BGR))

Other info / Complete Logs
But i can´t access to a specific landmarks like using this technique:

import cv2
import mediapipe as mp
import numpy as np
from math import acos, degrees

mp_pose = mp.solutions.pose

mp_drawing = mp.solutions.drawing_utils

cap = cv2.VideoCapture("newsan.mp4")

with mp_pose.Pose(
    static_image_mode = False) as pose:

        while True:
            ret, frame = cap.read()
            if ret == False:
                break

            #modificamos los fotogramas a RGB p/leer los puntos
            height, width, _ = frame.shape
            frame_rgb = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
            results = pose.process(frame_rgb)

            if results.pose_landmarks is not None:

                #lectura de puntos seeccionados
                x1 = int(results.pose_landmarks.landmark[16].x * width)
                y1 = int(results.pose_landmarks.landmark[16].y * height)

                x2 = int(results.pose_landmarks.landmark[14].x * width)
                y2 = int(results.pose_landmarks.landmark[14].y * height)

We need to expose pose landmarker constants. Sorry for the trouble.

I was able to access a specific landmark making a normalization of landmark_pb2 but i cant draw it in the image

Hi @leonidasavila,
Apologies for delayed response, Please use this example in the gist to access and draw specific landmarks for the right arm in the image. If you need to access another specific landmarks and draw it in image, feel free to adjust it according to your requirements.
Thank you


[Analytics] Add a route or swagger docs that can help tpan to get useful analytics

create a new route, that is accessible for tpan so that he can extract the useful analytics.

Using mongodb compass GUI instead. Tpan will use that. No need to create separate path for analytics for now.


cannot load such file -- zip

At line quik.rb:14,  you require 'zip' which does not work if you have an older version of rubyzip installed (pre 1.0), because that version of rubyzip defines its load at zip/zip.
I suggest that the rubyzip dependency at Rakefile:24 be modified to require at least 1.0.
This issue is blocked by textkit/textutils#2.

Thanks for trying quik. Great catch. Thanks. Will do.Cheers.

FYI: An new textutils update now includes your change. Thanks again.


OwnBackup

Requirements here
Due: 6/29

Adrian got creds!!! Blocked by https://github.com/ethyca/fidesops/issues/1390 still

Adrian no longer has access. Most likely when Momentive switch his account over to SSO. @galvana to reach out to momentive today.


An item with the same key has already been added

Game name: Vikings Expedition
Engine version: 5.6.4
Platform: x64
Error message: An item with the same key has already been added.
Stack trace:    at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
at System.Collections.Generic.Dictionary2.Insert(TKey key, TValue value, Boolean add)    at uTinyRipper.Converters.ProjectAssetContainer.AddResources(ResourceManager manager)    at uTinyRipper.Converters.ProjectAssetContainer..ctor(ProjectExporter exporter, VirtualSerializedFile file, IEnumerable1 assets, IReadOnlyList1 collections)    at uTinyRipper.Converters.ProjectExporter.Export(String path, GameCollection fileCollection, IEnumerable1 files, ExportOptions options)
at uTinyRipper.GameStructure.Export(String exportPath, Func`2 filter)
at uTinyRipperGUI.MainWindow.ExportFiles(Object data) in C:\Files\Code\UtinyRipper\uTinyRipperGUI\MainWindow.xaml.cs:line 164
Files:
Vikings.zip

I Get the same issue with another game too
Game name: Regalia: Of Men and Monarchs
Engine version: 5.3.8
Platform: Windows x64
Error message: An item with the same key has already been added.
Stack trace:    at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
at System.Collections.Generic.Dictionary2.Insert(TKey key, TValue value, Boolean add)    at uTinyRipper.Converters.ProjectAssetContainer.AddResources(ResourceManager manager)    at uTinyRipper.Converters.ProjectAssetContainer..ctor(ProjectExporter exporter, VirtualSerializedFile file, IEnumerable1 assets, IReadOnlyList1 collections)    at uTinyRipper.Converters.ProjectExporter.Export(String path, GameCollection fileCollection, IEnumerable1 files, ExportOptions options)
at uTinyRipper.GameStructure.Export(String exportPath, Func`2 filter)
at uTinyRipperGUI.MainWindow.ExportFiles(Object data) in C:\Files\Code\UtinyRipper\uTinyRipperGUI\MainWindow.xaml.cs:line 164
The files for this game a quite a bit larger though, so let me know if you want me to upload them.

I wonder if it is an expected resource behavior or another bug that unity don't want to fix because of backward compatibility.
fixed in f63302feecbdc49779b67b6c871dd0abf4adb052


Failed to produce diagnostic for expression in SwiftUI code

Description
While writing a SwiftUI view, I got the following compiler error:
Failed to produce diagnostic for expression; please submit a bug report (https://swift.org/contributing/#reporting-bugs)

I isolated the cause to the following short snippet. I eventually figured out that the problem is on line 21. Where the example code has:
ForEach(categories, id: \.categoryName) { category in

it needs to handle the case where categories is nil. Replacing this line with the following fixes it:
ForEach(categories ?? [], id: \.categoryName) { category in

Note that if I remove the surrounding Group, I get the correct error:
Value of optional type '[CatalogCategory]?' must be unwrapped to a value of type '[CatalogCategory]'

so the Group is necessary to reproduce the bug.
Reproduction
import Foundation
import SwiftUI

struct CatalogCategory: Codable, Identifiable {
  let categoryName: String

  var id: String { return self.categoryName }
}

struct BasicsCatalogView: View {
  @State var categories: [CatalogCategory]? = nil

  var body: some View {
    Group {
      if self.categories == nil {
        Text("Loading...")
      }
      else {
        List {
          ForEach(categories, id: \.categoryName) { category in
            Text(category.categoryName.capitalized)
          }
        }
      }
    }
  }
}

Expected behavior
Instead of getting this message (which is raised at the surrounding var body: some View declaration), I should have received an error on the ForEach line, telling me that I was passing an optional to a method that expects a collection.
As described above, without the surrounding Group, I get the correct error on the correct line.
Environment
swift-driver version: <IP_ADDRESS> Apple Swift version 5.10 (swiftlang-<IP_ADDRESS> clang-15<IP_ADDRESS>)
Target: arm64-apple-macosx14.0
Additional information
No response

Looks like this has been fixed on main recently:
error: value of optional type '[CatalogCategory]?' must be unwrapped to a value of type '[CatalogCategory]'
18 |       else {
19 |         List {
20 |           ForEach(categories, id: \.categoryName) { category in
   |                   |- error: value of optional type '[CatalogCategory]?' must be unwrapped to a value of type '[CatalogCategory]'
   |                   |- note: coalesce using '??' to provide a default when the optional value contains 'nil'
   |                   `- note: force-unwrap using '!' to abort execution if the optional value contains 'nil'
21 |             Text(category.categoryName.capitalized)
22 |           }

Please use a recent main branch snapshot from swift.org to verify and close.

As the OP, can confirm this is now fixed - thanks!


Implemented some validator features

Implemented Validator class with basic account fetching features.
Wrote unit tests for Validator class

I'm using @DuckPhamTV 's code for the BaseClient class with some minor changes to comments.

Hi! cool which issue is it related to, I think we don't have the issue added to Github yet?

Just some stuff from the google doc https://docs.google.com/document/d/1ZJM0I53cM_YyBHoT--c_EYLSxHLz9wb2EG3LtVHh0z4/edit?usp=sharing.

@jtavak  I have created an issue to track this #13. let me know if this looks good.

Yeah, looks good to me.

Hi @jtavak! tested the code looks great. awesome job 👍 . The comments I think can be a bit improved by adding the params description as well current ones are self-explanatory though like 'block_identifier' and 'account_number' but I was thinking going forward we might need these descriptions for other params so to be consistent we can add them now. @jtavak thoughts?  Other than that you nailed it 🎉

Is there a specific format I should use for describing params, like Sphinx or something?

Thank you. the one you used looks good 👍

kindly comment your account number as well, Thank You.

@angle943 kindly pay this one as well #13

Account number: 55bce9177483a0e4b1afc6f431c1f6104d3b84c6e6444fd978c33e9c031807bf

Paid


Implement Global attributes

Implemented rankdir and pagedir initially.

Look's good. Thanks for the contribution.


bug: When searching items, the items expiring first are at the bottom of the list and bids are placed on items with longer to run.

Prerequisites

[X] I have searched for existing issues that already report this problem, without success.

Script Version
Latest Version 1.8
Platform
Webapp
Current Behavior
You do a search for items to bid on - the ones with 1 minute to go are at the top and they are bidded on - the ones with <30 seconds are at the bottom and they're not bidded on - meaning you can't bid on items under 30 seconds.
Expected Behavior
When bidding it should be bidding on the item that is about to expire first.
Steps to Reproduce
Any search with max bid price.
Additional Information
No response

I have the same issue!!!! Did you get a response?

I’ve not seen a response yet, no. Fingers crossed he’ll be able to take a look soon.

On 17 Dec 2021, at 04:54, rv1985 @.***> wrote:

I have the same issue!!!! Did you get a response?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you authored the thread.

Added in new release, you will be able to sort items based on expires on

Amazing. Thank you.

On 31 Dec 2021, at 09:31, Ck Algos @.***> wrote:

Added in new release, you will be able to sort items based on expires on
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you authored the thread.

when trying to use this it still only searches the first page, how do I use it? great idea tho


python代码调试时,在dap-repl下调试指令不能用

Version confirmation

[ ] Confirm

Neovim version
NVIM0.8.2
Operating system/version
archlinux,dwm
Terminal name/version
alacritty
$TERM environment variable
No response
Branch info
main (Default/Latest)
Fetch Preferences
SSH (use_ssh = true)
How to reproduce the issue
debugpy是用pacman在终端里安装的,没有用mason安装debugpy,在调试python代码时,用快捷键比如(space+d+r)可以正常调试,但是在dap-repl窗口,用.next命令,就不正常,dap-repl窗口输出以下信息:
dap> .n
dap>
Traceback (most recent call last):
File "/usr/lib/python3.10/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_comm.py", line 1195, in internal_evaluate_expression_json
pydevd_vars.evaluate_expression(py_db, frame, expression, is_exec=True)
File "/usr/lib/python3.10/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_vars.py", line 370, in new_func
return _run_with_unblock_threads(original_func, py_db, curr_thread, frame, expression, is_exec)
File "/usr/lib/python3.10/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_vars.py", line 334, in _run_with_unblock_threads
return _run_with_interrupt_thread(original_func, py_db, curr_thread, frame, expression, is_exec)
File "/usr/lib/python3.10/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_vars.py", line 305, in _run_with_interrupt_thread
return original_func(py_db, frame, expression, is_exec)
File "/usr/lib/python3.10/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_vars.py", line 548, in evaluate_expression
compiled = _compile_as_exec(expression)
File "/usr/lib/python3.10/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_vars.py", line 412, in _compile_as_exec
return compile(expression_to_evaluate, '', 'exec', _ASYNC_COMPILE_FLAGS)
File "", line 1
.n
^
SyntaxError: invalid syntax
dap>
是不是还需要其他设置呢?
Expected behavior
希望在dap-repl窗口下能用指令控制调试过程.
Actual behavior
No response
Additional information
No response

You misunderstood the meaning of REPL. A Read-Eval-Print Loop (REPL) is an interactive interpreter to a programming language. It originated with LISP systems, but many other languages (Python, Ruby, Haskell, Tcl, etc.) use REPL's to manage interactive sessions. They allow for simple experimentation with a language by bypassing the compile stage of the code -> compile -> execute cycle.
There are 4 components to a REPL:

A read function, which reads input from the keyboard
An eval function, which evaluates code passed to it
A print function, which formats and displays results
A loop function, which runs the three previous commands until termination

REPL can't interact directly with your debugger (which means it can't send instructions directly) - this is done using DAP (Debug Adapter Protocol) (in nvim, nvim-dap) through exposed APIs.

@Jint-lzxy 非常感谢!


Rename the package to Platform.Numerics?

As at https://docs.microsoft.com/en-us/dotnet/standard/numerics

No! No, God! Please no!


foam artifact effect only spreads one tile

Description

it used to spread like 5-7 in range.

dupe noob


BadgesNotSupportedException in Samsung 7.0 System

BadgesNotSupportedException in Samsung 7.0 System

Showing Current home launcher is not supported by Badges library in Sumsung Node 5

but facebook and whatsapp and other apps shows badge..but my app is givign exception.why?

The same here
Current home launcher is not supported by Badges library
for Android 7.1.1


TypeError: Cannot read property 'name' of undefined for Mambo

this occurs with the CheckAllStates function, and pops up in some other cases also.
here is the log of the CheckAllStates example:
Creating observer...
scanning devices...
peripheral discovered: Mambo_651045 at promixity: -45
scanning stopped...
handshake completed...
proximity updated to: -44
services found: {"uuid":"9a66fa000800919111e4012d1540cb8e","name":null,"type":null,"includedServiceUuids":null},{"uuid":"9a66fb000800919111e4012d1540cb8e","name":null,"type":null,"includedServiceUuids":null},{"uuid":"9a66fd210800919111e4012d1540cb8e","name":null,"type":null,"includedServiceUuids":null},{"uuid":"9a66fd510800919111e4012d1540cb8e","name":null,"type":null,"includedServiceUuids":null},{"uuid":"9a66fe000800919111e4012d1540cb8e","name":null,"type":null,"includedServiceUuids":null}
characteristics found: {"uuid":"9a66fa000800919111e4012d1540cb8e","name":null,"type":null,"properties":["writeWithoutResponse"]},{"uuid":"9a66fa010800919111e4012d1540cb8e","name":null,"type":null,"properties":["writeWithoutResponse"]},{"uuid":"9a66fa020800919111e4012d1540cb8e","name":null,"type":null,"properties":["writeWithoutResponse"]},{"uuid":"9a66fa030800919111e4012d1540cb8e","name":null,"type":null,"properties":["writeWithoutResponse"]},{"uuid":"9a66fa040800919111e4012d1540cb8e","name":null,"type":null,"properties":["writeWithoutResponse"]},{"uuid":"9a66fa050800919111e4012d1540cb8e","name":null,"type":null,"properties":["writeWithoutResponse"]},{"uuid":"9a66fa060800919111e4012d1540cb8e","name":null,"type":null,"properties":["writeWithoutResponse"]},{"uuid":"9a66fa070800919111e4012d1540cb8e","name":null,"type":null,"properties":["writeWithoutResponse"]},{"uuid":"9a66fa080800919111e4012d1540cb8e","name":null,"type":null,"properties":["writeWithoutResponse"]},{"uuid":"9a66fa090800919111e4012d1540cb8e","name":null,"type":null,"properties":["writeWithoutResponse"]},{"uuid":"9a66fa0a0800919111e4012d1540cb8e","name":null,"type":null,"properties":["writeWithoutResponse"]},{"uuid":"9a66fa0b0800919111e4012d1540cb8e","name":null,"type":null,"properties":["writeWithoutResponse"]},{"uuid":"9a66fa0c0800919111e4012d1540cb8e","name":null,"type":null,"properties":["writeWithoutResponse"]},{"uuid":"9a66fa0d0800919111e4012d1540cb8e","name":null,"type":null,"properties":["writeWithoutResponse"]},{"uuid":"9a66fa0e0800919111e4012d1540cb8e","name":null,"type":null,"properties":["writeWithoutResponse"]},{"uuid":"9a66fa0f0800919111e4012d1540cb8e","name":null,"type":null,"properties":["writeWithoutResponse"]},{"uuid":"9a66fa100800919111e4012d1540cb8e","name":null,"type":null,"properties":["writeWithoutResponse"]},{"uuid":"9a66fa110800919111e4012d1540cb8e","name":null,"type":null,"properties":["writeWithoutResponse"]},{"uuid":"9a66fa120800919111e4012d1540cb8e","name":null,"type":null,"properties":["writeWithoutResponse"]},{"uuid":"9a66fa130800919111e4012d1540cb8e","name":null,"type":null,"properties":["writeWithoutResponse"]},{"uuid":"9a66fa140800919111e4012d1540cb8e","name":null,"type":null,"properties":["writeWithoutResponse"]},{"uuid":"9a66fa150800919111e4012d1540cb8e","name":null,"type":null,"properties":["writeWithoutResponse"]},{"uuid":"9a66fa160800919111e4012d1540cb8e","name":null,"type":null,"properties":["writeWithoutResponse"]},{"uuid":"9a66fa170800919111e4012d1540cb8e","name":null,"type":null,"properties":["writeWithoutResponse"]},{"uuid":"9a66fa180800919111e4012d1540cb8e","name":null,"type":null,"properties":["writeWithoutResponse"]},{"uuid":"9a66fa190800919111e4012d1540cb8e","name":null,"type":null,"properties":["writeWithoutResponse"]},{"uuid":"9a66fa1a0800919111e4012d1540cb8e","name":null,"type":null,"properties":["writeWithoutResponse"]},{"uuid":"9a66fa1b0800919111e4012d1540cb8e","name":null,"type":null,"properties":["writeWithoutResponse"]},{"uuid":"9a66fa1c0800919111e4012d1540cb8e","name":null,"type":null,"properties":["writeWithoutResponse"]},{"uuid":"9a66fa1d0800919111e4012d1540cb8e","name":null,"type":null,"properties":["writeWithoutResponse"]},{"uuid":"9a66fa1e0800919111e4012d1540cb8e","name":null,"type":null,"properties":["writeWithoutResponse"]},{"uuid":"9a66fa1f0800919111e4012d1540cb8e","name":null,"type":null,"properties":["writeWithoutResponse"]}
characteristics found: {"uuid":"9a66fb000800919111e4012d1540cb8e","name":null,"type":null,"properties":["notify"]},{"uuid":"9a66fb010800919111e4012d1540cb8e","name":null,"type":null,"properties":["notify"]},{"uuid":"9a66fb020800919111e4012d1540cb8e","name":null,"type":null,"properties":["notify"]},{"uuid":"9a66fb030800919111e4012d1540cb8e","name":null,"type":null,"properties":["notify"]},{"uuid":"9a66fb040800919111e4012d1540cb8e","name":null,"type":null,"properties":["notify"]},{"uuid":"9a66fb050800919111e4012d1540cb8e","name":null,"type":null,"properties":["notify"]},{"uuid":"9a66fb060800919111e4012d1540cb8e","name":null,"type":null,"properties":["notify"]},{"uuid":"9a66fb070800919111e4012d1540cb8e","name":null,"type":null,"properties":["notify"]},{"uuid":"9a66fb080800919111e4012d1540cb8e","name":null,"type":null,"properties":["notify"]},{"uuid":"9a66fb090800919111e4012d1540cb8e","name":null,"type":null,"properties":["notify"]},{"uuid":"9a66fb0a0800919111e4012d1540cb8e","name":null,"type":null,"properties":["notify"]},{"uuid":"9a66fb0b0800919111e4012d1540cb8e","name":null,"type":null,"properties":["notify"]},{"uuid":"9a66fb0c0800919111e4012d1540cb8e","name":null,"type":null,"properties":["notify"]},{"uuid":"9a66fb0d0800919111e4012d1540cb8e","name":null,"type":null,"properties":["notify"]},{"uuid":"9a66fb0e0800919111e4012d1540cb8e","name":null,"type":null,"properties":["notify"]},{"uuid":"9a66fb0f0800919111e4012d1540cb8e","name":null,"type":null,"properties":["notify"]},{"uuid":"9a66fb100800919111e4012d1540cb8e","name":null,"type":null,"properties":["notify"]},{"uuid":"9a66fb110800919111e4012d1540cb8e","name":null,"type":null,"properties":["notify"]},{"uuid":"9a66fb120800919111e4012d1540cb8e","name":null,"type":null,"properties":["notify"]},{"uuid":"9a66fb130800919111e4012d1540cb8e","name":null,"type":null,"properties":["notify"]},{"uuid":"9a66fb140800919111e4012d1540cb8e","name":null,"type":null,"properties":["notify"]},{"uuid":"9a66fb150800919111e4012d1540cb8e","name":null,"type":null,"properties":["notify"]},{"uuid":"9a66fb160800919111e4012d1540cb8e","name":null,"type":null,"properties":["notify"]},{"uuid":"9a66fb170800919111e4012d1540cb8e","name":null,"type":null,"properties":["notify"]},{"uuid":"9a66fb180800919111e4012d1540cb8e","name":null,"type":null,"properties":["notify"]},{"uuid":"9a66fb190800919111e4012d1540cb8e","name":null,"type":null,"properties":["notify"]},{"uuid":"9a66fb1a0800919111e4012d1540cb8e","name":null,"type":null,"properties":["notify"]},{"uuid":"9a66fb1b0800919111e4012d1540cb8e","name":null,"type":null,"properties":["notify"]},{"uuid":"9a66fb1c0800919111e4012d1540cb8e","name":null,"type":null,"properties":["notify"]},{"uuid":"9a66fb1d0800919111e4012d1540cb8e","name":null,"type":null,"properties":["notify"]},{"uuid":"9a66fb1e0800919111e4012d1540cb8e","name":null,"type":null,"properties":["notify"]},{"uuid":"9a66fb1f0800919111e4012d1540cb8e","name":null,"type":null,"properties":["notify"]}
characteristics found: {"uuid":"9a66fd220800919111e4012d1540cb8e","name":null,"type":null,"properties":["read","writeWithoutResponse","write","notify"]},{"uuid":"9a66fd230800919111e4012d1540cb8e","name":null,"type":null,"properties":["read","writeWithoutResponse","write","notify"]},{"uuid":"9a66fd240800919111e4012d1540cb8e","name":null,"type":null,"properties":["read","writeWithoutResponse","write"]}
characteristics found: {"uuid":"9a66fd520800919111e4012d1540cb8e","name":null,"type":null,"properties":["read","writeWithoutResponse","write","notify"]},{"uuid":"9a66fd530800919111e4012d1540cb8e","name":null,"type":null,"properties":["read","writeWithoutResponse","write","notify"]},{"uuid":"9a66fd540800919111e4012d1540cb8e","name":null,"type":null,"properties":["read","writeWithoutResponse","write"]}
characteristics found: {"uuid":"9a66fe010800919111e4012d1540cb8e","name":null,"type":null,"properties":["writeWithoutResponse","write"]},{"uuid":"9a66fe020800919111e4012d1540cb8e","name":null,"type":null,"properties":["read","writeWithoutResponse","write","notify"]}
subscribed to characteristics...
subscribed to characteristics...
Creating observable...
Creating observable...
Drone connected successfully
Sending Command...
[ '2',
'1',
'0',
'18',
'2',
'0',
'52',
'46',
'48',
'46',
'48',
'46',
'52',
'0' ]
Navdata:  { deviceLibARCommandsVersion: { version: '<IP_ADDRESS>\u0000' } }
{ deviceLibARCommandsVersion: { version: '<IP_ADDRESS>\u0000' } }
[ '2', '2', '0', '5', '1', '0', '61' ]
Navdata:  { deviceLibARCommandsVersion: { version: '<IP_ADDRESS>\u0000' },
batteryStateChanged: { percent: 61 } }
{ deviceLibARCommandsVersion: { version: '<IP_ADDRESS>\u0000' },
batteryStateChanged: { percent: 61 } }
[ '2', '3', '0', '30', '0', '0', '0' ]
Navdata:  { deviceLibARCommandsVersion: { version: '<IP_ADDRESS>\u0000' },
batteryStateChanged: { percent: 61 },
runIdChanged: { runId: '\u0000' } }
{ deviceLibARCommandsVersion: { version: '<IP_ADDRESS>\u0000' },
batteryStateChanged: { percent: 61 },
runIdChanged: { runId: '\u0000' } }
[ '2',
'4',
'0',
'5',
'11',
'0',
'0',
'0',
'0',
'0',
'0',
'0',
'0',
'0',
'0' ]
Navdata:  { deviceLibARCommandsVersion: { version: '<IP_ADDRESS>\u0000' },
batteryStateChanged: { percent: 61 },
runIdChanged: { runId: '\u0000' },
deprecatedMassStorageContentChanged:
{ mass_storage_id: 0,
nbPhotos: 0,
nbVideos: 0,
nbPuds: 0,
nbCrashLogs: 0 } }
{ deviceLibARCommandsVersion: { version: '<IP_ADDRESS>\u0000' },
batteryStateChanged: { percent: 61 },
runIdChanged: { runId: '\u0000' },
deprecatedMassStorageContentChanged:
{ mass_storage_id: 0,
nbPhotos: 0,
nbVideos: 0,
nbPuds: 0,
nbCrashLogs: 0 } }
[ '2', '5', '2', '3', '1', '0', '0', '0', '0', '0' ]
Navdata:  { deviceLibARCommandsVersion: { version: '<IP_ADDRESS>\u0000' },
batteryStateChanged: { percent: 61 },
runIdChanged: { runId: '\u0000' },
deprecatedMassStorageContentChanged:
{ mass_storage_id: 0,
nbPhotos: 0,
nbVideos: 0,
nbPuds: 0,
nbCrashLogs: 0 },
flyingStateChanged: { state: 'landed' } }
{ deviceLibARCommandsVersion: { version: '<IP_ADDRESS>\u0000' },
batteryStateChanged: { percent: 61 },
runIdChanged: { runId: '\u0000' },
deprecatedMassStorageContentChanged:
{ mass_storage_id: 0,
nbPhotos: 0,
nbVideos: 0,
nbPuds: 0,
nbCrashLogs: 0 },
flyingStateChanged: { state: 'landed' } }
[ '2',
'6',
'0',
'29',
'3',
'0',
'5',
'0',
'0',
'0',
'1',
'0',
'0',
'0',
'5',
'65' ]
Navdata:  { deviceLibARCommandsVersion: { version: '<IP_ADDRESS>\u0000' },
batteryStateChanged: { percent: 61 },
runIdChanged: { runId: '\u0000' },
deprecatedMassStorageContentChanged:
{ mass_storage_id: 0,
nbPhotos: 0,
nbVideos: 0,
nbPuds: 0,
nbCrashLogs: 0 },
flyingStateChanged: { state: 'landed' },
chargingInfo:
{ phase: 'DISCHARGING',
rate: 'SLOW',
intensity: 5,
fullChargingTime: 65 } }
{ deviceLibARCommandsVersion: { version: '<IP_ADDRESS>\u0000' },
batteryStateChanged: { percent: 61 },
runIdChanged: { runId: '\u0000' },
deprecatedMassStorageContentChanged:
{ mass_storage_id: 0,
nbPhotos: 0,
nbVideos: 0,
nbPuds: 0,
nbCrashLogs: 0 },
flyingStateChanged: { state: 'landed' },
chargingInfo:
{ phase: 'DISCHARGING',
rate: 'SLOW',
intensity: 5,
fullChargingTime: 65 } }
[ '2', '7', '2', '25', '0', '0', '0' ]
observable disposed
/Users/hadfield/Local/vital-git/haley-parrot-drone/node_modules/rxjs/Subscriber.js:243
throw err;
^
TypeError: Cannot read property 'name' of undefined
at MiniDroneController.parseData (/Users/hadfield/Local/vital-git/haley-parrot-drone/node_modules/dronejs/lib/controllers/MiniDroneController.js:271:21)
at SafeSubscriber._next (/Users/hadfield/Local/vital-git/haley-parrot-drone/node_modules/dronejs/lib/controllers/MiniDroneController.js:183:34)
at SafeSubscriber.__tryOrUnsub (/Users/hadfield/Local/vital-git/haley-parrot-drone/node_modules/rxjs/Subscriber.js:239:16)
at SafeSubscriber.next (/Users/hadfield/Local/vital-git/haley-parrot-drone/node_modules/rxjs/Subscriber.js:186:22)
at Subscriber._next (/Users/hadfield/Local/vital-git/haley-parrot-drone/node_modules/rxjs/Subscriber.js:126:26)
at Subscriber.next (/Users/hadfield/Local/vital-git/haley-parrot-drone/node_modules/rxjs/Subscriber.js:90:18)
at DistinctUntilChangedSubscriber._next (/Users/hadfield/Local/vital-git/haley-parrot-drone/node_modules/rxjs/operators/distinctUntilChanged.js:103:30)
at DistinctUntilChangedSubscriber.Subscriber.next (/Users/hadfield/Local/vital-git/haley-parrot-drone/node_modules/rxjs/Subscriber.js:90:18)
at Characteristic. (/Users/hadfield/Local/vital-git/haley-parrot-drone/node_modules/dronejs/lib/services/MiniDroneService.js:238:34)
at Characteristic.emit (events.js:160:13)

Hey,
I have updated the commands JSON with the latest commands. I've create a branch called dev and pushed the changes there.
Can you please try and let me know if it works for you?
Git Commit: 15aba63b6de0baf1bd62c63907e5392a48378c1b

Hey,
I've published the library with the latest version of commands. Can you please try out and let me know if its fine for your drone.
Regards,
Monik


Upgrade to Goss v0.3.0

Issue Type

Feature request

Desired Behaviour
Simple change: Goss v0.3.0 is out, would be nice to upgrade molecule to the latest version.
More complex question: Now that Goss supports environment variables and variable files through goss --vars vars.{json,yaml} validate, see templates. Does molecule have support to pass variables to the test suite?

More complex question: Now that Goss supports environment variables and variable files through goss --vars vars.{json,yaml} validate, see templates. Does molecule have support to pass variables to the test suite?

I'm not sure, I would need to think about it.  In testinfra once can share ansible vars between ansible and the test suite (testinfra).  That can be useful.  In this case with goss, it's vars shared between tests, and unrelated to ansible.

To clarify, I would want the variables passed to goss to be the same as the ones passed to ansible.

To clarify, I would want the variables passed to goss to be the same as the ones passed to ansible.

That would be tricky to map into goss.  I'm not really interested in trying to massage all the ways Ansible determines inventory, into a file Goss can use.
Example:
Ansible lets you pass host/group vars, which Ansible then gathers and uses depending on the name of the host and group the server is in.  In Molecule we simply place these files into a location Ansible uses, and internally deals with this.  I cannot replicate this behavior in Goss by passing similar variables to Goss' --vars option.

Ah, didn't realize testinfra was loading the ansible vars itself.
Yeah massaging ansible vars are a bit painful, since there are many buckets of them.

Ah, didn't realize testinfra was loading the ansible vars itself.

Yeah, it's handled through the Ansible fixture.  I love this idea of yours, I am just worried about opening a can of worms to support it.  I'm sure it could be done.


Implement layered Green's function

@pastewka, would it make sense to implement it as a separate Green's function object here ?
https://contactengineering.github.io/ContactMechanics/source/ContactMechanics.GreensFunctions.html?highlight=green+s#module-ContactMechanics.GreensFunctions
Then we would as a first step use it to compute the elastic energy for full contact by integration with the PSD.
On long term, or if needed we will probably want to interface PeriodicElasticHalspace to to this Green's function construct .

Yes this makes sense. We need to update the half-space classes to accept varying Green's functions

@prs513rosewood implemented it in his code and pointed me again to the reference.
But this is only plain-strain.
I think the result is the same for plain stress but we need a reference.
def normal_layered_green(L, h, shape, substrate, layer):
    """
    Plane-strain Green's function from Li & Popov (2020)
    https://doi.org/10.1177/1350650119854250
    Equations (30) and (31)
    """
    q = np.fft.fftfreq(shape[1], d=L[1] / shape[1]) * 2 * np.pi
    q = np.abs(q)

    E2, nu2 = substrate
    E1, nu1 = layer
    E_star = E1 / (1 - nu1**2)

    A = ((E2 * (3 - 4 * nu1) * (1 + nu1) - E1 * (3 - 4 * nu2) * (1 + nu2)) *
         (E1 * (1 + nu2) - E2 * (1 + nu1)))

    B = 4 * ((E2 * (1 + nu1) + E1 * (3 - 4 * nu2) * (1 + nu2)) *
             (E1 * (1 + nu2) - E2 * (1 + nu1)))

    C = (E1**2 * (4 * nu2 - 3) * (1 + nu2)**2 - 2 * E1 * E2 * (1 + nu1) *
         (2 * nu1 - 1) * (nu2 + 1) * (2 * nu2 - 1) + E2**2 *
         (8 * nu1**2 - 12 * nu1 + 5) * (1 + nu1)**2)

    D = ((E2 * (1 + nu1) + E1 * (3 - 4 * nu2) * (1 + nu2)) *
         (E2 * (3 - 4 * nu1) * (1 + nu1) + E1 * (1 + nu2)))

    with np.errstate(divide='ignore'):
        G = 2 / E_star * (
            (A * np.exp(-4 * q * h) + B * q * h * np.exp(-2 * q * h) + D) /
            (q *
             (-A * np.exp(-4 * q * h) - B * q**2 * h**2 * np.exp(-2 * q * h) +
              2 * C * np.exp(-2 * q * h) + D)))

    G[0] = 0

    return G

@prs513rosewood, this also works in 3D correct ?
https://github.com/sitangshugk95 needs that and might implement it in our code

@prs513rosewood, this also works in 3D correct ?

This works if you decompose the 2D DFT into plane waves and recompose after applying the Green's function, but I've never done that before. I'd try it on a homogeneous half-space first, with the plane strain homogeneous solution.

Ok thanks. I think that we just hace to replace q with sqrt(qx2 + qy2) and it should work, but we have to think that through.
As far as I understand, the 2D FFT is already a superposition of plane waves (with wavevectors of different orientations). I think we already had that discussion.


tools/osbuild-mpp: add ability to embed files

Any chance this could allow inline data too.
So, instead of "path": "file.txt", one could do "data": {"mpp-format-string": "This is {data}"}

Any chance this could allow inline data too.
So, instead of "path": "file.txt", one could do "data": {"mpp-format-string": "This is {data}"}

I was wondering about this, since in all our tests where we use the inline source the data is super simple and could just be embedded into the mpp manifest; so if you think that is useful for you, then yeah, lets add this. I will then convert the tests.

One thing i was thinking about for inline data is the encoding. I guess we assume the json manifest is in utf8? So, we can only make utf8 this way? Might want to have a way to transcode the utf8 to something else. For example, the uefi .csv files are ucs2. Or one might want to produce pure (8bit) ascii.


[MT-4873] Added option to turn bold formatting on Heading One and Two

Code-wise it looks good. But I think that the chosen solution will bite us in the ass.
Please see my comment https://linear.app/prezly/issue/MT-4873/bolding-text-appears-the-opposite-in-the-story-editor#comment-dce7fb95

@OskarGasiorowski should we close this PR?


Sharing from some apps and returning opens the shared link in the original app

Describe the bug
Sharing from spotify (maybe others) and returning opens the shared link in the original app. You don't have to directly return to the app, you can go to home screen first, or open other app in between. I don't know why spotify has this issue specifically, but I assume others might also
The video linked is a recording from an iPhone SE gen1 on ios 15.8, but I have confirmed the same issue occurs on my friends modern devices also. I think a relevant detail is the quick flash of the sharing dialog before the testing app opens. That dialog doesn't show on modern devices though, only as a white flash.
ignore that the app doesn't open to a different page. That was done intentionally to reduce surface area.
https://github.com/user-attachments/assets/c2b20074-c3a2-4817-8b5c-0285a3500436
To Reproduce
I have linked a fresh install of expo router tabs with expo-share-intent.
https://github.com/kiikoh/spotify-share-bug-repro
Environment
System:
  OS: Linux 5.15 Ubuntu 20.04.6 LTS (Focal Fossa)
  CPU: (12) x64 AMD Ryzen 5 5600X 6-Core Processor
  Memory: 8.78 GB / 9.72 GB
  Shell:
    version: "5.8"
    path: /usr/bin/zsh
Binaries:
  Node:
    version: 20.11.1
    path: /usr/local/bin/node
  Yarn:
    version: 1.22.11
    path: /usr/local/bin/yarn
  npm:
    version: 10.2.4
    path: /usr/local/bin/npm
  Watchman: Not Found
SDKs:
  Android SDK: Not Found
IDEs:
  Android Studio: Not Found
Languages:
  Java:
    version: 11.0.19
    path: /usr/bin/javac
  Ruby: Not Found
npmPackages:
  "@react-native-community/cli": Not Found
  react:
    installed: 18.2.0
    wanted: 18.2.0
  react-native:
    installed: 0.74.5
    wanted: 0.74.5
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: Not found
  newArchEnabled: Not found
iOS:
  hermesEnabled: Not found
  newArchEnabled: Not found

info React Native v0.75.3 is now available (your project is running on v0.74.5).
info Changelog: https://github.com/facebook/react-native/releases/tag/v0.75.3
info Diff: https://react-native-community.github.io/upgrade-helper/?from=0.74.5
info For more info, check out "https://reactnative.dev/docs/upgrading?os=linux".

Additional context
Add any other context about the problem here.

expo version (ex: 49) : 51
using firebase : no
using static build : dont know what this mean... I built with eas
routing : expo-router
package version (ex: 1.2.0) : 2.3.0
platform target : iOS
device : real device
type: expo build

This bug appears to have been fixed somewhere between 2.3.0 and 2.5.2. Thanks!

🙌
v2.4.0 has resolved a threading issue in the ios share extension, sounds great !


Bridge: Double class/double primitve confusion

from pycromanager import Bridge
bridge = Bridge()

image = bridge.get_studio().acquisitions().snap().get(0)
builder = bridge.get_studio().acquisitions().generate_metadata(image, False).copy_builder_preserving_uuid()
builder.elapsed_time_ms(100.)

Hi @henrypinkard , we're facing a similar issue pertaining to metadata (we want to change them) :
You can also reproduce such issue by directly invoking the object:
bridge.construct_java_object('java.lang.Integer',args=[int(42)])

The returned serialized_object is not of the right class:
>>> serialized_object
{'type': 'primitive', 'value': 42}

I tried to directly pass the value to the builder but as you noticed it failed even when adding java.lang.Integer to the _JAVA_TYPE_NAME_TO_PYTHON_TYPE  and _JAVA_TYPE_NAME_TO_CASTABLE_PYTHON_TYPE

Could you say/post a little bit more about where this ends up going wrong? I think in a lot of cases auto converting Integer to int on return is probably the desired behavior.

Could you say/post a little bit more about where this ends up going wrong? I think in a lot of cases auto converting Integer to int on return is probably the desired behavior.

Hi, sorry I should have explained when this fails, the SummaryMetaData.Builder signature states  java.lang.xx objects for the setters (ex: zStepUm https://valelab4.ucsf.edu/~MM/doc-2.0.0-gamma/mmstudio/org/micromanager/data/SummaryMetadata.Builder.html ). When using the script panel this works because Java auto cast to the proper type (as far as I know).

Gotcha. I think then the solution is to the Java side of the bridge such that when you send in a python int as an argument it autoconverts to Integer as needed. Does that sound right to you?

Agreed, it would solve the problem.

 I get a null pointer exception when I try to use double on the metadatabuilder, your example also leads to the same behaviour.  Do you know what happens ? ( I include the jupyter notebook, latest pycro-manager version 0.16.4 and I also pulled latest micro-manager version)
nullpointer.ipynb.zip


fix: add debounced data-element search

As an extension of #87 , I wanted to make the search smoother. That PR already solves a lot of the lag experienced when searching, and this should help it further.
Note how the controlled value is now in a separate component. This should help re-renders in eg. section.js, since previusly the entire Section was re-rendered for each key-stroke. Now this is only re-rendered after the debounce.
Introduced a new hook useDebounceCallback, which basically is useDebounce in combination of using the debounced-value in an useEffect to call a callback when the debounce is "done".
Could also refactor debounced-search-input.js to use this common hook. But didn't want to touch more than necessary here.
Note: Want to merge #87 before this, as that contains optimisations that this PR benefits from. However, these shouldn't have conflicts, but if you check out this PR the performance is not that great. Both together works really well.

By @Birkbjo:

will come back to this, but pretty low priority, think it’s something we might want, but after refactor to display: none its very fast as is


Breaks nvim when updatetime>500

Minimal vimrc:
set updatetime=501
autocmd CursorHold * echo strftime('%c')

call plug#begin('~/.local/share/nvim/plugged')
	Plug 'neoclide/coc.nvim', {'branch': 'release'}
call plug#end()

let g:coc_global_extensions = [
			\ 'coc-symbol-line'
			\ ]

When updatetime = 500, CursorHold or any other call such as the one used in this repo %{%get(b:, "coc_symbol_line", "")%} takes 10 ~ 20 seconds to respond.
For updatetime = 501 or greater, CursorHold will take >5 minutes to get triggered, same for other functions. But executing CocUninstall coc-symbol-line, everything responds as expected without restarting.
updatetime=499 or lower behaves normally.

@lygamac Can you try this https://github.com/antoinemadec/FixCursorHold.nvim


aws: smithy connection was poisoned

agent-picus-2-1  | [2024-10-21T08:49:08Z INFO  picus::strategy] Agent is not running. 5 pending job(s) for that agent
agent-picus-2-1  | [2024-10-21T08:49:08Z INFO  picus::strategy] 5 pending jobs. Starting agent.
agent-picus-2-1  | [2024-10-21T08:49:08Z INFO  picus::aws] Starting instance ...
agent-picus-2-1  | [2024-10-21T08:49:08Z INFO  aws_smithy_runtime_api::client::connection] smithy connection was poisoned
agent-picus-2-1  | [2024-10-21T08:49:09Z INFO  aws_smithy_runtime_api::client::connection] smithy connection was poisoned
agent-picus-2-1  | [2024-10-21T08:49:11Z INFO  aws_smithy_runtime_api::client::connection] smithy connection was poisoned
agent-picus-2-1  | [2024-10-21T08:49:11Z ERROR picus::strategy] AgentProvider could not start server: service error

This seems to be similar to https://github.com/awslabs/aws-sdk-rust/issues/1154. I have updated all packages and now aws-smithy-runtime is on version 1.7.2. @ghazninattarshah Could please try with ghcr.io/windsource/picus:latest and check if that works? You probably need to pull the image before in order to get the fixed version.

I do not see the issue anymore. That fixes it. thanks, @windsource
is there a way to set the logger level to error? or just log when starting and stopping instance, I do not want log when the picus poll the woodpecker API like every 10s.

@ghazninattarshah when you set an environment variable RUST_LOG=warn you should see only warning and error messages. You can also do that just for picus with RUST_LOG="picus=warn".

I don't see the connectivity issue anymore, hence this issue shall be closed.

To log just starting and stopping instances but not the API calls and the remaining idle time
RUST_LOG="info,picus::strategy=warn"

should work.


Jarvis speaks several things in parallel - needs a queue

For those like me who are extensively using events to speak out things like:

the time every hour
new incoming emails every minute
home automation planned actions
other events (calendar, things to do, ...)

It happens that Jarvis says 2 things at the same time. He actually not speaks in parallel but one audio is "hiding" another.
What I would like to put in place is a FIFO queue behind the say function, so that if he's already speaking, he will wait before saying the other things.

I have finished the development. But it has a huge drawback. It is no longer possible to make Jarvis say something if Jarvis itself is not started:
Before
$> ./jarvis.sh -s "test"
Jarvis: test # even if Jarvis is not running in background

Now
$> ./jarvis.sh -s "test"
ERROR: Jarvis is not started.
$> ./jarvis.sh -b
...
$> ./jarvis.sh -s "test"
Jarvis: test

This is because now there is a standalone saying engine which is started in background with Jarvis, and reads from a queue of phrases that is fed by the say function. I cannot force the start of this engine when Jarvis is not started because this would not fix the ticket problem (parallel sayings) in case two ./jarvis.sh -s "test" are started at the same time.
Now thanks to this code:
$> ./jarvis.sh "long sentence" & # in parallel
$> ./jarvis.sh "long sentence" & # in parallel
$> ./jarvis.sh "long sentence" & # in parallel
Jarvis: long sentence
Jarvis: long sentence
Jarvis: long sentence
# will all be spoken one after the other (1 sec pause between each by default). Before I could only hear 1.

Guys I need your go before committing the code.

Hold on, I have issues... as it speaks in background, Jarvis hears himself speaking and thinks it's orders...

Ok I had no choice but to use this queue only for API usage.
For normal Jarvis usage, speech will be synchronous (not using the queue).


containerservice release

https://github.com/Azure/sdk-release-request/issues/4232
Recording: https://github.com/Azure/azure-sdk-assets/tree/js/containerservice/arm-containerservice_4b6a7c1f65

API change check
APIView has identified API level changes in this PR and created following API reviews.
azure-arm-containerservice


Support semantic version numbers

Currently the parser rejects fontobene files with a format version other than "1.0", but FontoBene specifies that the version follows semantic versioning v2, so we should properly support it.

Fixed (more or less...) in #4.


Wrap requests to log JavaScript errors

Is it possible to somehow wrap all outbound requests and run custom code in case of a JavaScript error? Is there an internal method in Restangular handling HTTP requests that I could replace with my own implementation?
The case is that our application reports JavaScript errors to Sentry. If the API returns a response that Restangular is not able to handle (basically when Error: Response for getList SHOULD be an array and not an object or something else happens), we would like to send the API request URL to Sentry as well.
I can't do this with addRequestInterceptor() because then I would need to set the URL into global context and it would be sent with all the errors that occur until the context is reset. Also, if I send more than one request at the same time, they override each other's context.
I can't do this with setErrorInterceptor() either, because it's never called if Restangular throws an error.

From what I gathered, I should wrap fetchFunction() with a try-catch to achieve this, but I'm not able to get further than that.

Could you provide some more information on exactly what you're trying to do and exactly why addRequestInterceptor won't work?

It's been quite some time since I worked on this, but if I remember correctly, addRequestInterceptor doesn't work because the error hasn't yet occurred when the interceptor is called. Since requests are asynchronous, there can be multiple requests happening at the same time and it would be quite complicated to track which of these requests is the one throwing an error.
What I want to do is to run my own code when server returns something with 200 OK but Restangular itself throws an error.
I guess another solution would be that there's an interceptor or a callback that is called when there's a JavaScript error.

Okay. And to clarify, setErrorInterceptor, doesn't work because it doesn't actually catch errors thrown by the Restangular library; just request that error out, correct?

Yes, exactly.

Of course another option is that the exceptions thrown by Restangular contain the URL in the message.

Hmmm okay. And you need the URL to correctly send it to Sentry, correct?

I need the URL to see from the Sentry report where the error actually came from. I can see the line of code, but it would be beneficial to see which REST endpoint was called and with what parameters.

Ah okay. I believe you are correct that you should wrap the fetchFunction. Try adding a catch onto the promise here and see if that works correctly.


Module v3 support and misc fixes

Support custom local domain
Upgrade srpmproc for v3 support
Upgrade aws-sdk-go
Yumrepofs in dev mode uses Minio
Rpm-import now behaves in a more sane matter
Support v3 modules and make it more compatible with mock
Support .envrc.local

/assign nazunalika

/lgtm


Added Erik as an author

Erik has contributed quite a few huge additions to molecule.
Felt he should be added as an author.

@kireledan feel free to 👎 if you prefer not to be mentioned.

I'm totally fine with this. Thanks for adding me as an author! :)


Simple spam filter (Naive Bayes)

I'm hoping to implement a simple email spam filter type thing using RubixML + Naive Bayes but the only example I can find that deals with text / bag-of-words is the IMDB sentiment analysis example which is a pretty tough introduction!
Would somebody be able to help me with the simpler case?
I'm thinking the Enron email dataset could make this a nice example project, and I'm more than happy to create it if someone could assist me with the nuts and bolts of creating a dataset using the email body text as samples.
https://www.kaggle.com/wanderfj/enron-spam

Hey @GeorgeGardiner great question ... summarizing our convo from the Telegram Channel ...
You can use the transformer pipeline from the Sentiment example with Gaussian Naive Bayes under the hood instead of the more complex MLP if you want. The code would look something like this ...
use Rubix\ML\Pipeline;
use Rubix\ML\Transformers\TextNormalizer;
use Rubix\ML\Transformers\WordCountVectorizer;
use Rubix\ML\Other\Tokenizers\NGram;
use Rubix\ML\Transformers\TfIdfTransformer;
use Rubix\ML\Transformers\ZScaleStandardizer;
use Rubix\ML\Classifiers\GaussianNB;

$estimator = new Pipeline([
        new TextNormalizer(),
        new WordCountVectorizer(10000, 2, 10000, new NGram(1, 2)),
        new TfIdfTransformer(),
        new ZScaleStandardizer(),
], new GaussianNB());

I'm not certain if you need Z Scale Standardizer, but I left it in as this may help shape the data into something more Gaussian-like. I would use cross-validation to determine if it's needed.
The Enron dataset (the pan-labeled one) seems like a great dataset to practice with.
Let me know if you had any more questions!

Hey @GeorgeGardiner great question ... summarizing our convo from the Telegram Channel ...
You can use the transformer pipeline from the Sentiment example with Gaussian Naive Bayes under the hood instead of the more complex MLP if you want. The code would look something like this ...
use Rubix\ML\Pipeline;
use Rubix\ML\Transformers\TextNormalizer;
use Rubix\ML\Transformers\WordCountVectorizer;
use Rubix\ML\Other\Tokenizers\NGram;
use Rubix\ML\Transformers\TfIdfTransformer;
use Rubix\ML\Transformers\ZScaleStandardizer;
use Rubix\ML\Classifiers\GaussianNB;

$estimator = new Pipeline([
        new TextNormalizer(),
        new WordCountVectorizer(10000, 2, 10000, new NGram(1, 2)),
        new TfIdfTransformer(),
        new ZScaleStandardizer(),
], new GaussianNB());

I'm not certain if you need Z Scale Standardizer, but I left it in as this may help shape the data into something more Gaussian-like. I would use cross-validation to determine if it's needed.
The Enron dataset (the pan-labeled one) seems like a great dataset to practice with.
Let me know if you had any more questions!

Hi @andrewdalpino, I used your code, thanks!
The predict method seems to work great, but the proba method just returns 0.0 for each label.
I'm new to rubix ml, but it appears that https://github.com/RubixML/ML/blob/95ec40d2a5925c39ad8c23dd5668aa77f9a78aa7/src/functions.php#L50
returns INF (due to very high and low results of jointLogLikelihood)
Is this expected? Is there a solution?

Hello!
I have a problem detecting spam and swearing in messages.
Perhaps I'm not good at searching for the information I need on machine learning. Please tell me what I need to read to implement this idea.
Situation:
I am a web developer chat administrator and I want to train a neural network to detect obscene language and spam (at the moment we have 5 categories: spam, flood, swear, toxicity and useless messages).
Each of the categories is trained and tested separately, so I took the category of curses, since it has the most messages:
Is Obscene - 662
Is Not Obscene - 3599
I train the network like this (I use Laravel Framework, but to shorten the code I will post the functionality used):
namespace App\Neural\Datasets;

use Rubix\ML\Datasets\Labeled as BaseLabeled;

class Labeled extends BaseLabeled
{
    public function push(mixed $label, mixed $sample): void
    {
        $this->labels[]  = $label;
        $this->samples[] = is_array($sample) ? $sample : [$sample];
    }
}

<?php

declare(strict_types=1);

namespace App\Neural\Estimators;

use App\Models\Message;
use App\Neural\Datasets;
use App\Neural\Transformers\TextNormalizer;
use Illuminate\Database\Eloquent\Collection;
use Rubix\ML\Classifiers\MultilayerPerceptron;
use Rubix\ML\Datasets\Labeled;
use Rubix\ML\Datasets\Unlabeled;
use Rubix\ML\Estimator;
use Rubix\ML\NeuralNet\ActivationFunctions\LeakyReLU;
use Rubix\ML\NeuralNet\Layers\Activation;
use Rubix\ML\NeuralNet\Layers\BatchNorm;
use Rubix\ML\NeuralNet\Layers\Dense;
use Rubix\ML\NeuralNet\Layers\PReLU;
use Rubix\ML\NeuralNet\Optimizers\AdaMax;
use Rubix\ML\PersistentModel;
use Rubix\ML\Persisters\Filesystem;
use Rubix\ML\Pipeline;
use Rubix\ML\Tokenizers\NGram;
use Rubix\ML\Transformers\BM25Transformer;
use Rubix\ML\Transformers\RegexFilter;
use Rubix\ML\Transformers\WordCountVectorizer;

class Obscene
{
    protected string $labelPositive = 'positive';

    protected string $labelNegative = 'negative';

    public function isNegative(string $text): bool
    {
        $model = PersistentModel::load($this->filesystem());

        return in_array($this->labelNegative, $model->predict(new Unlabeled([$text])));
    }

    public function train(): void
    {
        $estimator = $this->estimator();

        $estimator->train($this->getDataset());

        $estimator->save();
    }

    protected function getDataset(): Labeled
    {
        $label = new Datasets\Labeled();

        Message::query()->chunk(1000, fn (Collection $items) => $items->each(function (Message $message) use (&$label) {
            $type = $message->is_obscene ? $this->labelNegative : $this->labelPositive;

            $label->push($type, $message->text);
        }));

        return $label;
    }

    protected function estimator(): Estimator
    {
        return new PersistentModel(
            new Pipeline([
                new RegexFilter([
                    RegexFilter::GRUBER_1,
                    RegexFilter::GRUBER_2,
                    RegexFilter::EMAIL,
                ]),
                new TextNormalizer(),
                new WordCountVectorizer(10000, 1, 0.4, new NGram(1, 2)),
                new BM25Transformer(),
            ], new MultilayerPerceptron([
                new Dense(100),
                new Activation(new LeakyReLU()),
                new Dense(100),
                new Activation(new LeakyReLU()),
                new Dense(100, 0.0, false),
                new BatchNorm(),
                new Activation(new LeakyReLU()),
                new Dense(50),
                new PReLU(),
                new Dense(50),
                new PReLU(),
            ], 256, new AdaMax(0.0001))),
            $this->filesystem()
        );
    }

    protected function filesystem(): Filesystem
    {
        return new Filesystem(__DIR__ . '/obscene.model', true);
    }
}

And using:
use App\Neural\Estimators\Obscene;

$network = new Obscene();

$network->train();

echo $network->isNegative('что-то непонятное') ? 'is obscene' : 'is not obscene';
// is obscene, tun it's a lie, because "что-то непонятное" on English - "something strange"

We have a Russian-language chat of web developers and training takes place on it.
I look through each message and turn on the "tick" of the category on each - the neural network is trained on this data.
The second problem is that the training of each category takes about 20-22 minutes. Is that too long?
What can you advise to read about this?


python3Packages.graspy: 0.2.0 -> 0.3.0; unbreak tests

python3Packages.hyppo: init at 0.1.3

Motivation for this change
ZHF: #97479
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[x] other Linux distributions

[NA] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

WFM macos 10.14.
hyppo tests are a bit :sweat: though


Follow cursor position

While writing things I tend to do use Ctrl + A and then the arrow keys to move to the start or the end of the document. I've found that doing this in norka does move the cursor to the start/end yet it does not move the document to that position.
In this gif I press CTRL + A and then LEFT to go to the end of the document yet the view does not update.

It's a bit tricky because Ctrl+A and Left don't move the cursor actually. But the next LEFT scrolls it to the end. I think it's better than nothing, I guess.


Documentation Bug: mxnet.test_utils.check_numeric_gradient has inconsistent document

Description
This is a documentation bug. The parameter of API mxnet.test_utils.check_numeric_gradient is not consistent between signature and Parameter section. There is a parameter check_eps  in the Parameter section, but it is not in the signature.
Link to document: https://mxnet.apache.org/versions/1.6/api/python/docs/api/mxnet/test_utils/index.html#mxnet.test_utils.check_numeric_gradient

Error Message
None
To Reproduce
None
Environment
We recommend using our script for collecting the diagnositc information. Run the following command and paste the outputs below:
curl --retry 10 -s https://raw.githubusercontent.com/dmlc/gluon-nlp/master/tools/diagnose.py | python

# paste outputs here

OS: ubuntu 18.04
Python: 3.7.6
pip: 20.0.2
numpy: 1.18.5
mxnet: 1.6.0

@DNXie awesome job hunting down all these problems in the documentation! this will really help us improve the doc quality. Keep them coming!

On master branch, this was fixed in https://github.com/apache/incubator-mxnet/pull/18694/files#diff-75daced0edcfaf1e48f3dd43aebe4f01L982.
The problem still exists on v1.x, which needs to be corrected:
in https://github.com/apache/incubator-mxnet/blob/dfefe879997a1208f1f01e58635c61e86eed1d6a/python/mxnet/test_utils.py#L1185-L1186

I will work on the v1.x issue and will update the documentation.

It's been over a year since this issue was last tracked down.
I'm guessing it's still open. Can anyone confirm?


Responsive boundaries

I patched Croppie to not only accept a fixed-size (in pixels) boundary, but basically any CSS value (like 50%). This allows for image containers that are dynamically adjusted when the screen is resized.
After doing that, I discovered a bug: when you zoom into one corner of the image, and then zoom out, the boundaries were not enforced correctly. The calculation in _getVirtualBoundaries relied on the boundary dimensions being numbers. I fixed this by using clientWidth/Height on the actual element instead.
Note: Resizing the window can still cause the viewport to select regions outside of the original image.
The change in the boundary configuration (public API) is kinda problematic, but I still want to share this thing. I think this is some progress for #214 and maybe #168.

Wow - that was a surprisingly simple change.  Thanks for diving in to this.  There's been so many issues asking for it.
I'll have some time a little later this week to review it and see if I can release another version of croppie with this in it.

Take your time - it works for me™, and I can live with the problem I mentioned, but I think it needs at least some polish.
Just remembered: I am using a circle viewport, but sometimes the cropped coordinates (by croppie.get().points) were not exactly describing a square, they were one pixel off. Maybe I broke something there.

I went one step further on this.  I'm going to go ahead and allow nothing passed into boundary object and it will default to 100% of the container.  That seems fair.
Thanks again for the PR.


Add fleetapi supported bert

Oh, i find the pr for comparing difference
https://github.com/PaddlePaddle/models/pull/3054/files


Conceptual challenges for peer-to-peer edge connections

Right now messages will be correctly sent between Participants when they have queues/topics which are matching. Currently the msgflo Coordinator does not consider this to be an "connected" edge though...
On AMQP one can create a fanout exchange for every outport, and then set up bindings from these to the inports the outport is connected to.
Such a exchange will likely be needed for the Coordinator to be able to observe data going though the network, for debugging in Flowhub (using FBP runtime network:data messages). This because with a direct exchange, like the default, messages are only delivered to one consumer (in round-robin fashion).
Problem is that MQTT brokers does not support "binding" topics to eachother, so something else needs to perform that operation. The msgflo Coordinator could perform this, but this makes it required for normal functioning of the system (and not just debug/reprogramming).
In practical scenarios this might be a non-issue though, as the Coordinator can probably run on the same machine as the Broker.
In general there are two ways to change the connections between particpants,
complicating the architecture a bit:

ask the Coordinator to re-bind the output->input bindings

request the Participant to change its queues/topic. (not implemented, messages specced)

From the perspective of the running system, these should be equivalent.
One could say that for participants to know where they are sending mesages is somewhat breaking the "loose binding" concept, but for MQTT that is the only possibility which does not require more than clients+broker at runtime.

A major problem with option 2) is that is requires changes to the Participant code, making it impossible to use existing/foreign participants. This would limit use to systems where one has complete control over each node. And make nodes participate in multiple networks/system very difficult.
So the way forward seems to be the bindings approach.
Note that we might want to have minimal support for participants self-initializing with possibly matching queues, but this will then be secondary. Major reason for this right now is allowing use on Heroku/AMQP without needing Coordinator to set up communication...
For MQTT and similar systems where the Broker cannot provide this functionality, a helper will be used by the Coordinator to perform this role. Probably hidden behind the transport.MessageBroker interface.

Another problem is consoliating the need for various type of communication stategies. For instance in http://github.com/jonnor/imgflo-server we want round-robin between API frontend and the workers, but the result from worker should be communicated back to the API frontend which made the processing request.
The back-comm can be done using either a reply-to/peer-based model, or pub-sub.
Current thinking is to make edges be pub-sub by default (currently its transport dependent), and let a special router component implement round-robin. In AMQP (and other transports with neccesary capabilities) this would not actually be code in the coordinator, but instead just configure the broker suitably. On MQTT etc it will be implemented using a helper in the coordinator.
ACK/NACK would the be optional??

All transports are now pub-sub by default. Need to still develop a msgflo/RoundRobin type component/participant

RoundRobin now exists since 1+week

Inside one role on AMQP, round-robin is the default since 2016. One can use msgflo/PubSub pseudo-component in order for all participant of a single-role to all get the message. Example usage in imgflo-server


Only 20 results are returned

Hello,
First of all, great library, very detailed and easy to use.
I was wondering, is there a way to return more than 20 results using this API?
$api = \Gitlab\Client::createWithHttpClient($guzzle)
          ->setUrl($config->getUrl())
    	  ->authenticate($Config->getAccessToken(), \Gitlab\Client::AUTH_URL_TOKEN);
$tags = $api->tags()->all($projectID);

This sadly returns only 20 tags, I want to return more than 20 if possible.
The only way I know how, using your library, is manually adding the following in the Tags class:
public function all($project_id, $perPage = 20)
{
    return $this->get($this->getProjectPath($project_id, 'repository/tags') , ['per_page'=> $perPage]);
}

Of course, I would not like to manually add anything, because I cannot update the package anymore without losing my changes.
Any work-around for this or maybe something to add in the future?

it is explained in the readme: https://github.com/m4tthumphrey/php-gitlab-api#example-with-pager

I'm also having this issue using the pager. I tried debugging the pager to see where it's failing, and it seems like the pager is looking for the Link header in the response, which doesn't seem to exist.
I'm not sure if the GitLab API updated, but the response headers that seem to provide the correct information are X-Page, X-Next-Page and X-Total-Pages

I am also having this issue while using the pager. I attempted to debug the pager and discovered that it's looking for a response header Link, but that header doesn't exist. The correct headers to use should be
X-Next-Page
X-Page
X-Per-Page
X-Runtime
X-Total
X-Total-Pages

We are not able to get the last page with the pager. We have to order our projects descending dates in order to get the latest projects. But otherwise all projects located in the last page are not retrieved.

@cebe The example does not work for some api ressource like projects, see:
https://github.com/nexylan/gitlab-report/blob/9373baa487e1c2432c38263ea991ce441f7f355a/src/Console/Command/ReportCommand.php#L50-L57
Only the 40 first projects are returned, nothing else.

I am also experiencing this. We are only able to return a limited number at a time.

Probably related with #319.

Protip: try to install curl extension :wink:


ElixirLS: error starting Ratatouille.Window

Hello!
As I started up a project in VSCode I found that the ElixirLS plugin marks a copy-paste of the Counter example with this error:
** (exit) shutdown: failed to start child: Ratatouille.Window
    ** (EXIT) an exception was raised:
        ** (MatchError) no match of right hand side value: {:error, :already_running}
            lib/ratatouille/window.ex:104: Ratatouille.Window.init/1
            (stdlib) gen_server.erl:374: :gen_server.init_it/2
            (stdlib) gen_server.erl:342: :gen_server.init_it/6
            (stdlib) proc_lib.erl:249: :proc_lib.init_p_do_apply/3

It seems like ElixirLS is compiling/running the example in the background to check for any errors, but it's not expecting the Ratatouille.run(Counter) at the end. This error goes away if I remove Ratatouille.run or import Ratatouille.View.
I'm not sure if this is due to this library, ElixirLS, or a misconfiguration on my end :man_shrugging:. Let me know if I should redirect this to ElixirLS!

Hi @ddowl, thanks for reporting!
I think the issue is probably that the file extension there is .ex instead of .exs.  I'm guessing that's why ElixirLS thinks it's safe to run that code.  I don't see any problems with this in VS Code + ElixirLS as long as it's an Elixir script file.
It's also always possible to move the Ratatouille.run(...) to its own script file and leave the rest in the .ex file.  I've just set the examples up like this for brevity.
Let me know if that solves the issue for you.

Yep! ElixirLS won't execute Ratatouille.run when it's in a script file. I had no idea! I was getting around it by putting a run method in my module that just dispatches out, but I like your idea better. Thanks for the tip!


Typos: Run command for the httpreply-manual application in session 01

Hi, @FredrikBakken , thanks for the fixes.
Please squash all commits into one. Or the http-manual related commits into a single one and the port commit into another one.
Please prefix commit messages with 01-baby-steps: . And word the commit message as Verb ... Such as Fix typo "por" -> "port".

Hi @razvand, thank you for taking a look at my PR. A bit of trial and error with git rebase, but I think I got it fixed according to your request.


waypointer

Bangle.js 2 compatibility
recalculated layout to rescale on BangleJs2.
ping @hughbarney - if you want to take a look

Thanks, that's great!


python312Packages.mkdocs-rss-plugin: 1.12.1 -> 1.12.2

Diff: https://github.com/Guts/mkdocs-rss-plugin/compare/refs/tags/1.12.1...1.12.2
Changelog: https://github.com/Guts/mkdocs-rss-plugin/blob/refs/tags/1.12.2/CHANGELOG.md
Description of changes

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

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

4 packages built:

python311Packages.mkdocs-rss-plugin
python311Packages.mkdocs-rss-plugin.dist
python312Packages.mkdocs-rss-plugin
python312Packages.mkdocs-rss-plugin.dist


Add RSS/Atom feed to Delta Lake Blog (delta.io/blog)

I think it would be great if the Delta Lake blog would also support a RSS/Atom feed.
This way I could get notified more easily if there are new articles.

I am also very much interested in this and would be very grateful if it can be done.

GitHub allows rendering the commit history as an atom feed; for me this is a workaround for getting notified:
https://github.com/delta-io/website/commits/main/src/blog.atom


Wrong transfer

My name is andre.Please I beg you i mistake sent $9 to a wrong address using tonkeeper and I traced it down here,pls that's my last hope. Please can you send it back😭😭😭😭😭
This is my usdt address in tonkeeper:UQBm30PbZ_MtSCd7MeEK5k3o4TCoSM-uis24fUALJZQnUYc4
Pls I'll be greatful i need it urgently this morning please please

The blockchain is a decentralized operation, and no one can change the transaction records. It would be terrible if the transfer records could be changed.

Please close this Issue as it is not related to the repo @tolya-yanot

Hello my name is Ayan wrong address using tonkeeper and I traced it down here,pls that's my last hope. Please can you send it back😭😭😭😭😭 my tonkeeper address UQC3PHasr0wMClGcl-u48OtH7dik1KefOGoxObP8xBUoOn7n can u pls ton coin


⚠ Fortnite has degraded performance

In 31d34c7, Fortnite (https://fortnite.com) experienced degraded performance:

HTTP code: 200
Response time: 1551 ms

Resolved: Fortnite performance has improved in 4c134dc.


Support service broker API version 2.9

last_operation endpoint now supports service_id and plan_id as request parameters.
Brokers may now optionally return operation field in responses for Provision, Update, and Deprovision.
Broker clients may provide this same object as a request parameter when polling last operation.

[#19]

@s-bortolussi Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.

@s-bortolussi Thank you for signing the Contributor License Agreement!

Hi @scottfrederick, do you have any udpate about this pull request ?

@s-bortolussi apologies for the delay in responding. Thanks for the PR!

@scottfrederick thanks for the merge

@s-bortolussi There's a 1.0.1.BUILD-SNAPSHOT build available in the Spring snapshots repo now. If you have the time, can you try building against this snapshot version to test your merged changes with everything else that's changed, in preparation for a 1.0.1.RELEASE?


File Explorer closing/refreshing?

Microsoft PowerToys version
0.73.0
Installation method
PowerToys auto-update
Running as admin
None
Area(s) with issue?
General
Steps to reproduce

Click on explorer or right click it and open a destination like downloads
screen will flicker and the task bar will reload and then nothing happens
Click folder again and it will load
Repeat again and the folder will load the second time, but the entire window will close again and the loop starts again.

✔ Expected Behavior
Folder opens
❌ Actual Behavior
Windows taskbar goes blank, system hangs a wee bit in terms of doing anything, then it reloads and you have to open the explorer folder again and it will load.
Here is a video of it happening: https://youtu.be/YdPLBk0tnac
Other Software
No response

/reportbug
did this happen before 73?
highly suggest doing a feedback hub as well

did this happen before 73?

It randomly started happening about 2-3 months ago maybe? not 100% sure on what version it was but I know I updated explorer maybe 2-3 times since it started happening, hoping the patch fixed it.
PowerToysReport_2023-09-03-12-51-07.zip

Event Viewer report for PowerToys shows no crashes. Does this still happen if you uninstall PowerToys and restart the computer? (Trying to check if it really is PowerToys that's causing the behavior) /needinfo

I will uninstall and have a look.
On Mon, 4 Sept 2023, 9:43 pm Jaime Bernardo, @.***>
wrote:

Event Viewer report for PowerToys shows no crashes. Does this still happen
if you uninstall PowerToys and restart the computer? (Trying to check if it
really is PowerToys that's causing the behavior) /needinfo
—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/PowerToys/issues/28301#issuecomment-1704949710,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABGHUHPKOBJW5PUPKCMNQU3XYWPEBANCNFSM6AAAAAA4IQOBPA
.
You are receiving this because you authored the thread.Message ID:
@.***>

Apologies! I had forgotten I installed an explorer fix for Windows 11 and that was the cause, for some reason I had related that to powertoys explorer function. Silly me!


Added support for a file template

possible to get this merged and deployed? i know this is an old project but it really does need this feature


Error: cannot add image, failed to update archive/DB Could not write to file: No space left on device

anchore/engine-cli:v0.9.1
What happened:

Error: cannot add image, failed to update archive/DB
HTTP Code: 500
Detail: {'error_codes': [], 'raw_exception_message': '(psycopg2.errors.DiskFull) could not access status of transaction 0\nDETAIL:  Could not write to file "pg_subtrans/0198" at offset 16384: No space left on device.\n\n[SQL: INSERT INTO archive_document (bucket, "archiveId", "userId", "documentName", created_at, last_updated, record_state_key, record_state_val, jsondata, b64_encoded) VALUES (%(bucket)s, %(archiveId)s, %(userId)s, %(documentName)s, %(created_at)s, %(last_updated)s, %(record_state_key)s, %(record_state_val)s, %(jsondata)s, %(b64_encoded)s)]\n[parameters: {\'bucket\': \'manifest_data\', \'archiveId\': \'sha256:b17848d9e9e03bf56a2e956f228d891303a04de31067508465e41c274ee9c5[33](https://gitlab.com/saletelligence/gilead-spl/-/jobs/2055356717#L33)\', \'userId\': \'admin\', \'documentName\': \'sha256:b17848d9e9e03bf56a2e956f228d891303a04de31067508465e41c274ee9c533.json\', \'created_at\':<PHONE_NUMBER>, \'last_updated\':<PHONE_NUMBER>, \'record_state_key\': \'active\', \'record_state_val\': None, \'jsondata\': \'{"document": "{\\\\"schemaVersion\\\\": 2, \\\\"mediaType\\\\": \\\\"application/vnd.docker.distribution.manifest.v2+json\\\\", \\\\"config\\\\": {\\\\"mediaType\\\\": \\ ... (985 characters truncated) ... mage.rootfs.diff.tar.gzip\\\\", \\\\"size\\\\": 123773399, \\\\"digest\\\\": \\\\"sha256:7123b7194a88bf3c02de443b814eae235d4a594f6d9badd8dd30c1f6302cf20f\\\\"}]}"}\', \'b64_encoded\': False}]\n(Background on this error at: https://sqlalche.me/e/14/e3q8)'}

I already delete all images, but still the same error.
      for i in `anchore-cli image list | grep 'eu.gcr.io' | awk '{print $1}' | sort | uniq`
      do
        anchore-cli image del ${i} --force > /dev/null && echo "deleted image ${1}" || echo "could not delete image ${i}"
      done

What other things could be the issue here? The feeds itself got too large?

Hi @Tim-Schwalbe! Howe big is your DB disk/volume? Typically this is due to the vacuum settings on postgres to ensure it actually frees the disk space back. See the postgres VACUUM and autovacuum docs: https://www.postgresql.org/docs/current/runtime-config-autovacuum.html It will depend on how your DB is deployed and it's default conf.
Anchore does delete asynchronously, so the API operation just marks the image for deletion, but it should catch up and delete the images within minutes.

@zhill the disk is only 10 GB large. I did not edit any setting and I am using the official helm chart.
name: anchore-engine
version: 1.15.0
appVersion: 1.0.0


Update cookbook.html

Update QUnit.push to this.push ... per API docs QUnit.push is deprecated. The documentation for push show using this.push inside of custom assertions.

Thanks!


tray icon in awesome

I don't have  the icon on my awesome WM, when application runs.
 ☀ yaourt -Ss pomotroid
aur/pomotroid-bin 0.13.0-1 [installed] (8) (0.45)
    Simple and visually-pleasing Pomodoro timer

I found needed in settings.


[Dubbo-4331] Improve api doc #4331

What is the purpose of the change
fix #4331
Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Make sure there is a GITHUB_issue field for the change (usually before you start working on it). Trivial changes like typos do not require a GITHUB issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[x] Format the pull request title like [Dubbo-XXX] Fix UnknownException when host config not exist #XXX. Each commit in the pull request should have a meaningful subject line and body.
[x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add sample in dubbo samples project.
[ ] Run mvn clean install -DskipTests=false & mvn clean test-compile failsafe:integration-test to make sure unit-test and integration-test pass.
[ ] If this contribution is large, please follow the Software Donation Guide.

This should work: ./mvnw clean javadoc:aggregate -Dmaven.javadoc.skip=false -Prelease in my local OS. Just need a profile specified and some plugin configurations.

INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  07:18 min
[INFO] Finished at: 2019-09-16T11:36:35Z
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.6.0:testCompile (default-testCompile) on project dubbo-rpc-dubbo: Compilation failure
[ERROR] error: error reading /home/travis/.m2/repository/org/glassfish/javax.el/3.0.1-b08/javax.el-3.0.1-b08.jar; error in opening zip file
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <goals> -rf :dubbo-rpc-dubbo
/home/travis/.travis/functions: line 537:  4348 Terminated              travis_jigger "${!}" "${timeout}" "${cmd[@]}"
travis_time:end:06a84ff2:start=1568633355964402712,finish=1568633795937931705,duration=439973528993,event=script
The command "travis_wait 30 ./mvnw --batch-mode --no-transfer-progress clean install -DskipTests=false -Dcheckstyle.skip=false -Drat.skip=false -Dmaven.javadoc.skip=true" exited with 1.

CI Failed. Not related to this PR.

Could someone re-trigger CI test ? ping @chickenlj @cvictory

I would be very appreciated if you help review @htynkn.

Codecov Report

Merging #5070 into master will decrease coverage by 0.03%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master    #5070      +/-   ##
============================================
- Coverage     64.01%   63.98%   -0.04%
- Complexity      451      452       +1
============================================
  Files           769      769
  Lines         33246    33246
  Branches       5246     5246
============================================
- Hits          21284    21273      -11
- Misses         9530     9546      +16
+ Partials       2432     2427       -5

Impacted Files
Coverage Δ
Complexity Δ

.../apache/dubbo/qos/protocol/QosProtocolWrapper.java
65.85% <0%> (-17.08%)
0% <0%> (ø)

...ng/transport/dispatcher/all/AllChannelHandler.java
51.42% <0%> (-5.72%)
0% <0%> (ø)

...pache/dubbo/registry/support/AbstractRegistry.java
78.54% <0%> (-3.07%)
0% <0%> (ø)

.../rpc/protocol/dubbo/LazyConnectExchangeClient.java
56.47% <0%> (-2.36%)
0% <0%> (ø)

.../dubbo/remoting/transport/netty4/NettyChannel.java
64.77% <0%> (+1.13%)
0% <0%> (ø)
:arrow_down:

...c/main/java/org/apache/dubbo/rpc/RpcException.java
83.33% <0%> (+3.33%)
0% <0%> (ø)
:arrow_down:

...e/dubbo/remoting/transport/netty/NettyChannel.java
60.22% <0%> (+4.54%)
21% <0%> (+1%)
:arrow_up:

...onfig/spring/extension/SpringExtensionFactory.java
85.36% <0%> (+4.87%)
0% <0%> (ø)
:arrow_down:

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 b53624e...ccade13. Read the comment docs.

What maven command should use with this change?
I try ./mvnw clean javadoc:aggregate -Dmaven.javadoc.skip=false somehow those changes can't apply to javadoc

What maven command should use with this change?
I try ./mvnw clean javadoc:aggregate -Dmaven.javadoc.skip=false somehow those changes can't apply to javadoc

./mvnw clean javadoc:aggregate -Dmaven.javadoc.skip=false -Prelease .
-P release is required because the javadoc maven plugin  is configured  under profile release
@htynkn


.IsTranslated behaviour with identical filenames

Using Hugo v0.17 on ubuntu 14.04.4
In the case of
/about/
/about/index.md
/about/index.de.md
/services/index.md

the ,isTranslated variable is true for /services/index.md and /about/index.md but both refer to the /about/index.de.md
Can the behaviour be improved to deal with this?
The workaround I'm going with at the moment is to not have filenames the same throughout the site.
(using this partial for showing when a page has a translation)

@abourget

This issue has been automatically marked as stale because it has not been commented on for at least six months.
The resources of the Hugo team are limited, and so we are asking for your help.
If this is a bug and you can still reproduce this error on the master branch, please reply with all of the information you have about it in order to keep the issue open.
If this is a feature request, and you feel that it is still relevant and valuable, please tell us why.
This issue will automatically be closed in the near future if no further activity occurs. Thank you for all your contributions.

@bep A possible workaround would be to add support for a translation key inside the front matter metadatas. That way, a contributor would specify the same key for content he would like to see matched, without interfering with filenames.

@borisschapira yea, that is probably the way to go.

Nested section multilanguage articles are broken.
Meanwhile I place here very limited and ugly hack
Show language dropdown
assertions:
"en" is your default language
path for article is unchanged
content placed in "/content/" dir
allarticle files are named as "index.(.{2}).md"
PureCss framework is used

{{- $langs := printf "%s" $.Site.Languages -}}
{{- $articleRegex := "index\\.(.{2})\\.md" -}}
{{- $path := printf "/content/%s" .File.Dir -}}
{{- range $files := readDir $path -}}
    {{- $lang := .Name | replaceRE $articleRegex "$1" -}}
    {{- if in $langs $lang -}}
        {{- if ne $lang $.Lang -}}

        {{- end -}}
    {{- end -}}
{{- end -}}

It is hard to change this to anything good without breaking stuff, so I suggest this:

Add a translationKey method on Page
Use translationKey from front matter if set
Alternatively use "dir + .TranslationBaseName" (i.e.  about/index.md)

Does that sound like a good approach?

+1


Do not calculate record count for non-cached transient jobs

Background
Calculating record count for non-cached transient jobs effectively doubles the calculation time.
Feature
Do not calculate record count for non-cached transient jobs.
Example [Optional]
A simple example if applicable.
Proposed Solution [Optional]
Solution Ideas
1.
2.
3.

Already fixed in
https://github.com/AbsaOSS/pramen/commit/64e47b12f4c585f4d77c7dd19506e993aecd2ea2


Feature/ type familiy KIND with type class GQLType

type instance KIND Deity = OBJECT

instance GQLType Deity where
  description _ = "Custom Description for Client Defined User Type"

data Deity = Deity
  { fullName :: Text
  } deriving (Generic)

will be changed to
instance GQLType Deity where
  type KIND Deity = OBJECT
  description _ = "Custom Description for Client Defined User Type"

data Deity = Deity
  { fullName :: Text
  } deriving (Generic)

done


Set receiver

Related issue: https://github.com/wechaty/wechaty-puppet-service/issues/146

Good catch, thank you very much for the fix!


Update style.css

Added border to main-head,
removed boxes from the timer and
added border radius to the container

https://raksha703.github.io/Stopwatch/
here is the link of updated version


Add generic version of Sequence for any number type

This PR adds a generic version of Sequence as described in #892.
Under .NET 7, Sequence(int, int, int) defers to Sequence<T>(T, T, T) and is therefore tested for where T is int.

Approved in principle. Will wait to give final approval.


Formatting markerTip CSS

Hi,
I see on the example that it is possible to customize the marker by setting CSS markerStyle.
How could I do the same for the markerTip? I would like to change the background color and size.
Thanks,
Fernando

I found the styles:
<style>         .vjs-tip {             font-size: 14px;         }         .vjs-tip .vjs-tip-inner {             color: black;             background-color: yellow;         }         .vjs-tip .vjs-tip-arrow {             background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAAXNSR0IArs4c6QAAAENJREFUGBmNzlEKACAIA9Dt/oc2DGZLQuqncC8VaCcC0UqgFxyQJyvkQB8FN3oBh5xAwXxMMEf+76S23lFLK7tuhwoWU/Ya/y97IuIAAAAASUVORK5CYII=") bottom left no-repeat;         }     </style>

Hi @jaruche  it certain makes sense to add "style" as a property for markerTips in the plugin. For now, feel free to override the default css classes (as you already found) to customize the style!

The font size is relatively simple you can just override the css. The tricky thing is the background color. The bottom of the tooltip is a black rectangle image so you need to update the image too


Take advantage of some clap features

Stacks on https://github.com/mitsuhiko/insta/pull/518, so that needs to merge first. I put this as a separate PR to avoid delaying merging that.
For example, this reorganizes the --help options, with a separate section for arguments that are passed to the test runner:
....
      --test-runner <TEST_RUNNER>
          Picks the test runner [default: auto] [possible values: auto, cargo-test, nextest]
  -h, --help
          Print help

Test Runner Options:
      --lib
          Test only this package's library unit tests
      --bin <BIN>
          Test only the specified binary
...

This has some conflicts how that #518 landed.

conflicts resolved


Send 'x-wp' headers

Fixes #12

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


Use OpenSSL instead of pure PHP implemention for ECDSA signatures if possible

Just dropping by, I wanted to mention the newer PHPECC could be running about 66% faster than before! https://gist.github.com/afk11/4208b0fa895055ca2a226c856de4f112

Hi @afk11 and thank you for noticing me the last news on your library.
I ran again the performance tests written for this library and I confirm you they are running faster.
On this page you will see, for example, that signature operations take from 119 to 316 ms per signature and 335 to 895 ms per verification.
Now it is between 34 and 75 ms per signature and 56 and 143 ms per verification so

~72% faster for signature operations
~85% faster for verification operations

Thank you for all these efforts!
When you will release a new stable version, I will update this library to integrate it as a dependency and not just a suggestion.

Done.
The library now uses OpenSSL if possible. Else, the PHPECC library is used as a backup.

Sorry, I saw this but didn't get to respond at the time. Nice on the benchmarks; it's better than what I was seeing :)
awesome stuff!


Error using LIMIT with mysql

I get this error when using LIMIT with mysql DB
Fatal error: Expects parameters as integers in /home/public_html/api/vendor/slim/pdo/src/PDO/Clause/LimitClause.php on line 29
My code is below:
$selectStatement = $pdo->select()
->from('news')
->limit(10);

I've just got into the same issue, see my PR #48

Using offset its working.
->limit(10,0);

The problem in StatementContainer.php
public function limit($number, $offset = null)
{
$this->limitClause->limit($number, $offset);
    return $this;
}

Change to
public function limit($number, $offset = 0)
{
$this->limitClause->limit($number, $offset);
    return $this;
}

@alaa92 that doesnt work, the there will always be a offset enters in the query.
if ($offset >= 0) { 	$this->limit = intval($offset) . ' , ' . intval($number); }

Fixed with merge #62. New release coming soon.


Instructions count in verify task is different from the one displayed in report

0.6.0-Beta
You can check the attached simple project for reproduce.
Basically when I select instruction as counter in verify task numbers which I see in error differs from the html report.
For example in attached project report states branches coverage as 65.2% (30/46) and from the verification errors I see that covered branches count is 20, and missed count is 12. Which also gives different percentage.
CounterTypeIssue.zip

https://youtrack.jetbrains.com/issue/IDEA-300309/Incorrect-values-of-instruction-counter-in-the-verifier

Fixed in agent 1.0.680

Fixed via f7f0d1c6ef8f8bc4b0096fd8a4275749d4e76f03


Usage example not working on AWS Python 3.6

Description
Following the README, the minimalist sample does not seem to work at all on Python 3.6. The README does say "This package supports Python 2.7 and 3.6, the runtimes supported by AWS Lambda.".
Steps to reproduce the issue:

Setup new Lambda.
Choose Python 3.6
Follow https://github.com/iopipe/iopipe-python#installation
Follow https://github.com/iopipe/iopipe-python#usage
Create index.py
Place as contents:

from iopipe import IOpipe
iopipe = IOpipe('token')

@iopipe
def lambda_handler(event, context):
    pass

Set entry point to: index.lambda_handler
Save it
Test it with anything

Describe the results you received:
Response:
{
  "errorMessage": "Syntax error in module 'index'"
}

Request ID:
"102bedeb-86bf-11e8-8562-97ea3fe2926e"

Function Logs:
START RequestId: 102bedeb-86bf-11e8-8562-97ea3fe2926e Version: $LATEST
Syntax error in module 'index': invalid syntax (_base.py, line 414)

END RequestId: 102bedeb-86bf-11e8-8562-97ea3fe2926e
REPORT RequestId: 102bedeb-86bf-11e8-8562-97ea3fe2926e	Duration: 0.83 ms	Billed Duration: 100 ms 	Memory Size: 128 MB	Max Memory Used: 22 MB

Describe the results you expected:
Expected the lambda to pass.
Additional information you deem important (e.g. issue happens only occasionally):
Switching to Python 2.7 works.

Closing as unable to reproduce.

I'm also having this problem with my application. It was running stable on production for almost a year and suddenly, in a new deploy, it started to throw this error.

I am seeing the issue as well.

pramodsetlur, mateusfccp  Any details to help reproduce? Are you both getting the same traceback? Is this with Serverless or something else?

@pramodsetlur, @mateusfccp Is the futures package installed? IOpipe installs a futures package on python2.7 which is a backport of concurrent.futures which is only available in python3.x. However, if you are running python2.7 locally and install IOpipe and then deploy to python3.6 the futures package will be included which may result in this error. Solution is to ensure that futures is not included in your python3.6 deployment.

@kolanos Apologies; I am not using iopipie; My error is more related just to Lambda. I am deploying with serverless. It runs successfully with 3.7 on local and crashes with the same error Syntax error in module 'index': invalid syntax (_base.py, line 414) on Lambda 3.6. I changed it to 2.7 and it worked fine.
(So, my message might not be relevant to iopipe at all.)

@pramodsetlur I traced the invalid syntax (_base.py, line 414) back to the futures backport. So it is possible you're still  running into that issue even without IOpipe being present.

@pramodsetlur If you're willing to give IOpipe another try, we have a new layers plugin for Serverless  that doesn't require a code change:
https://github.com/iopipe/serverless-iopipe-layers

@kolanos I only commented on this issue because i was seeing the particular error in _base.py. Was never using iopipie. But appreciate the responses.

The fix for this is to change either

Use pip3 install for lambda runtimes of 3.X
Delete the folder in your packaged  concurrent/futures/

Going to add this to a troubleshooting section in the README.