Feature Request - Screenshot processing

It's so cool to see a new tool for PSO in 2023!  There has been quite a revival lately with people getting their Dreamcasts online and such.  One feature from PSO days that sadly has disappeared entirely from the web is the screenshot processor.  In PSO you could take a screenshot, it would be saved on your VMU (it would take up an entire VMU!  People would have multiple VMUs just for documenting their progress), load up the Dreamcast browser, and go to the official PSO website where you could upload the file and it would convert it to a jpeg for you to post online to document your journeys.
Here is a guide to get the screenshot -> http://kolibry666.free.fr/pso_screenshot/pso_screens_eng.html
Is there anyway you could maybe create parser to rip the bitmap data out of the save file that gets created when you take a screenshot?  If so it would be super cool to see this feature come back! Dreamcast hacking websites like bswirl and others also could parse out the screenshot, but they sadly have all went down in the like 2005. I attached a zip with a VMS screenshot I took in case you decide to take a crack at it and need a sample vms file.
Thanks man!
pso screenshot.zip

Sorry, not really interested to do that, it looks too trivial and boring.
internets says IMG contain nothing but uncompressed 256x192 16bit image, which starts at 0x280 offset. you may simply add BMP header to that and that's all


Revert "Support for time bucketing with time zone offset for timeConvert UDF. (#1882)"

This reverts commit 0ba7ded3dd1cafe3ca4459c1a6236a450ffbf8dc. We will come up with a more generic api that supports other features such as time format.

Codecov Report

Merging #1885 into master will increase coverage by 20.88%.
The diff coverage is 66.66%.

@@             Coverage Diff             @@
##           master    #1885       +/-   ##
===========================================
+ Coverage   49.26%   70.14%   +20.88%
===========================================
  Files         813      813
  Lines       38960    38941       -19
  Branches     5148     5144        -4
===========================================
+ Hits        19193    27315     +8122
+ Misses      18131     9835     -8296
- Partials     1636     1791      +155

Impacted Files
Coverage Δ

.../core/operator/docvalsets/ConstantBlockValSet.java
22.22% <ø> (+22.22%)
:arrow_up:

...nction/time/converter/CustomTimeUnitConverter.java
87.09% <ø> (+87.09%)
:arrow_up:

...function/time/converter/JavaTimeUnitConverter.java
100% <100%> (+100%)
:arrow_up:

...or/transform/function/TimeConversionTransform.java
72.22% <50%> (+58.58%)
:arrow_up:

...core/operator/dociditerators/AndDocIdIterator.java
55.17% <0%> (-27.59%)
:arrow_down:

...pinot/core/operator/docidsets/OrBlockDocIdSet.java
84.9% <0%> (-13.21%)
:arrow_down:

.../impl/dictionary/LongOffHeapMutableDictionary.java
85.45% <0%> (-5.46%)
:arrow_down:

...not/core/query/pruner/DataSchemaSegmentPruner.java
53.65% <0%> (-4.88%)
:arrow_down:

...e/operator/dociditerators/MVScanDocIdIterator.java
64.17% <0%> (-2.99%)
:arrow_down:

...filter/SortedInvertedIndexBasedFilterOperator.java
78.37% <0%> (-1.36%)
:arrow_down:

... and 420 more

Continue to review full report at Codecov.

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


Adding support for persisting RawRepresentable

As requested, here is basic support for database encoding/decoding of RawRepresentable enum values.
Currently only two types are supported: Int and String.
While I beleive these are the most commonly used ones, it should be possible to support any type that is Codable.

Codecov Report

Merging #46 into master will decrease coverage by 0.26%.
The diff coverage is 4.54%.

@@            Coverage Diff             @@
##           master      #46      +/-   ##
==========================================
- Coverage   30.05%   29.79%   -0.27%
==========================================
  Files           6        7       +1
  Lines        1364     1376      +12
==========================================
  Hits          410      410
- Misses        954      966      +12

Flag
Coverage Δ

#SwiftKueryORM
29.79% <4.54%> (-0.27%)
:arrow_down:

Impacted Files
Coverage Δ

Sources/SwiftKueryORM/DatabaseDecoder.swift
11.11% <0%> (ø)
:arrow_up:

...urces/SwiftKueryORM/RawRepresentable+Codable.swift
0% <0%> (ø)

Sources/SwiftKueryORM/DatabaseEncoder.swift
32.55% <50%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

Hey @jeremyquinn, could you rebase your commits on top of master? because the Date commit is already in master.

Hi Enrique
I think the whole thing needs rejecting.
Soon after making the commit and the PR, I realised I had an error here.
Not sure the code is working as planned.
I have to head off soon this evening and am starting a new project tomorrow, so it may take a day or two before I can get back to this.
Sincerest apologies.
regards Jeremy

On 5 Jun 2018, at 17:08, Enrique Lacal<EMAIL_ADDRESS>wrote:
Hey @jeremyquinn, could you rebase your commits on top of master? because the Date commit is already in master.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

I made a mistake here testing this change.
This is not working, I am withdrawing the PR.


Face mesh model does not capture eye aperture

This is the case both for closed eyes, and for bug eyes.
An example for closed eyes:
You can see the left image with closed eyes, the right with open, and the middle is one eye closed, one eye open.
The closed eye result isn't closed, its a bit squeezed, but not what I would expect.

For bug eyes, the situation is similar. Attached is half-and-half, so you can see the problem:
Her left eye is normal, her right is bug, but the pose doesn't span to it.

I also encountered the same problem....

Hello @AmitMY I have solved this problem. In fact, there is a formula that can calculate the opening and closing of the human eye. That is to calculate the aspect ratio of the eyes (EAR). Take one of the eyes as an example.

I'm sorry. I did not find the English document. I saw it in a Chinese blog. link (If you are interested, you can click it).
java code is:
List<LandmarkProto.NormalizedLandmark> landmarks;
int[] eyeUpperIdx = {466, 388, 387, 386, 385, 384, 398};
int[] eyeLowerIdx = {249, 390, 373, 374, 380, 381, 382};
int[] eyeCenterIdx = {263, 362};
double sumLowerY = 0.0f;
for (int idx = 0; idx < eyeLowerIdx.length; ++idx) {
    sumLowerY += landmarks.get(eyeLowerIdx[idx]).getY();
}
double sumUpperY = 0.0f;
for (int idx = 0; idx < eyeUpperIdx.length; ++idx) {
    sumUpperY += landmarks.get(eyeUpperIdx[idx]).getY();
}
double eyeOpenness = (sumLowerY - sumUpperY) / (landmarks.get(eyeCenterIdx[0]).getX() - landmarks.get(eyeCenterIdx[1]).getX());

In this way, you will get a value that better reflects the current eye shape. You can use the threshold to determine whether the eyes are currently open or closed.

Thanks @lilinxiong
Unfortunately, it is very hard to decide on a threshold, as different races have different eye shapes.
This is what I am actually trying to use machine learning to solve, as I have a vast dataset of various people with different eye apertures. Hopefully the face model improves soon.

Yes, the threshold is difficult to determine, actually I want to mention the shape of the mouth(Y control open or close, X control shape).

Thank you for sharing your resolution, which will really help the other users.


How to prevent Polygon simplification in custom style function?

On high zoom levels, when a polygon fills the entire screen, the geometry is simplified.
Here is a fiddle. If you zoom in too closely, you can see in the console that at some point the initial 9 coordinates are reduced to 6-8.
https://jsfiddle.net/dtkoyfsh/6/
Is there any way to prevent this behavior when there are not too many polygons visible in the view?

The geometry should not be simplified if it fits inside the layer's renderBuffer. Specifying a large renderBuffer will help - but renderBuffer cannot be infinite, so simplification could still occur at very high zoom levels.

Thank you, Mike. I have a similar problem to the one you provided an example of. In my case, the text has a custom position based on the non-simplified geometry, which starts to jump because the geometry changes.


Porting APL Sudoku solver

https://dfns.dyalog.com/n_sudoku_bfs.htm
Sudoku←{                                        ⍝ Solution vector for square Sudoku puzzle ⍵.
    BoxNos  ← {⍵⌿⍵/⍵ ⍵⍴⍳⍵*2}                    ⍝ box numbers for a puzzle of size ⍵*2
    RowColBoxNos  ← {(⍳⍵),¨BoxNos⊃⍵*0.5}        ⍝ row/column/box numbers
    ContentionMap ← {⊂[⍳2] 1∊¨⍵∘.=⍵}            ⍝ contention map for puzzle ⍵
    CMAP ← ContentionMap RowColBoxNos ⍴⍵        ⍝ fixed contention map for current puzzle

    Available  ← {(⍳⊃⍴⍵)~⍵×⊃⍺⌷CMAP}             ⍝ list of available numbers at position ⍺ for puzzle ⍵
    EmptyCells ← {(,⍵=0)/,⍳⍴⍵}                  ⍝ row & column indices of empty cells
    Placements ← {(⍺ Available ⍵)⊣@(⊂⍺)¨⊂⍵}     ⍝ puzzle ⍵ with all available numbers at position ⍺
    AllPlacements ← {⊃,/⍺∘Placements¨⍵}         ⍝ all possible Placements at ⍺ based on partial solutions ⍵
    Solutions ← {⊃AllPlacements/(EmptyCells ⍵),⊂⊂⍵}  ⍝ solution vector

    Solutions ⍵
}

{27(1+(3⊸×)⊸+)○(3|·⌊(𝕩⊸÷˜))3}⌜9‿9⥊↕3⋆4

https://www.youtube.com/watch?v=YnJ1Yy6gpmA


#5635: fix EasyForm List component

Thanks great I can see the results now.
But it should return an ArrayList of the selected values, not a string with commas.
The same goes for the Check Boxes component!


Keep footer at bottom of page

updates our MainLayout component and Footer components

Fixes #2430

While it's working locally, I'm getting this on the gatsby build:

@rogermparent, is it just a bug with Gatsby deployment?

I think Gatsby Cloud has been having some intermittent issues, I had a similar problem yesterday for an hour or so. I can access the site now so I'm guessing the issue will be resolved for you as well.


Add references to IMPORT INTO in relevant docs

Closes #5180.

This change is

Online preview: http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/1b8cc3a3754d8a3156b6349b87704b815e455827/
Edited pages:

v19.2/import-into.md
v19.2/insert.md
v19.2/performance-best-practices-overview.md
v19.2/performance-tuning-insecure.md
v19.2/performance-tuning.md
v19.2/sql-faqs.md

v19.2/insert.md, line 12 at r1 (raw file):
Previously, lhirata wrote…
When I talked to @rolandcrosby, he mentioned that it's kind of a grey area and maybe we could lay out that new in 19.2, you can import from CSV into an existing table and let the user decide what to do. Do you think specifying here (and where you commented elsewhere) "To insert bulk data from a CSV file into an existing table, use IMPORT INTO" differentiates itself enough from "inserting multiple rows"?

Can you look into this more? I'd like us to understand when to tell people to use multi-row inserts vs import into. I suspect multi-row inserts will be for smaller batches, where you get better performance from a single batch (insert into xxx values (a, 1), (b, 2), (c, 3);) than from separate inserts (insert into xxx values (a, 1);, insert into xxx values (b, 2);, insert into xxx values (c, 3);. You should ask some engineers like David Taylor and probably Ben Darnell.

Note: SQL diagram also needs to be added. The SVG needs to be generated once https://github.com/cockroachdb/cockroach/pull/41214 is merged.

Might want to also add to Known Limitations that you can't use IMPORT INTO on interleaved tables.

Online preview: http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/048639d3e26a93b7578d5999727b4e5fee85825f/
Edited pages:

v19.2/import-into.md
v19.2/insert.md
v19.2/performance-best-practices-overview.md
v19.2/performance-tuning-insecure.md
v19.2/performance-tuning.md
v19.2/sql-faqs.md

Online preview: http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/8d23c61ed9818fcc7f5cc294d0a08cfc4fb0f1e9/
Edited pages:

v19.2/experimental-features.md
v19.2/import-into.md
v19.2/insert.md
v19.2/performance-best-practices-overview.md
v19.2/performance-tuning-insecure.md
v19.2/performance-tuning.md
v19.2/sql-faqs.md

Online preview: http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/849510a26d18182db3faf95d8bdb8145364d93d8/
Edited pages:

v19.2/experimental-features.md
v19.2/import-into.md
v19.2/insert.md
v19.2/performance-best-practices-overview.md
v19.2/performance-tuning-insecure.md
v19.2/performance-tuning.md
v19.2/sql-faqs.md

@dt and @rolandcrosby, PTAL one more time.

Online preview: http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/08ab16c9c5f92714f751c3e42aa3af5ec9c4ba1b/
Edited pages:

v19.2/experimental-features.md
v19.2/import-into.md
v19.2/insert.md
v19.2/performance-best-practices-overview.md
v19.2/performance-tuning-insecure.md
v19.2/performance-tuning.md
v19.2/sql-faqs.md

Online preview: http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/ad5bea83441b432e67a6e18257be376eb5b1804a/
Edited pages:

v19.2/experimental-features.md
v19.2/import-into.md
v19.2/insert.md
v19.2/performance-best-practices-overview.md
v19.2/performance-tuning-insecure.md
v19.2/performance-tuning.md
v19.2/sql-faqs.md

@dt, @rolandcrosby, I'd really like to wrap this so. Can one of you please check the latest changes?

Online preview: http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/631662dae9b11b12c87453435601c9a9868b2ae2/
Edited pages:

v19.2/import-into.md
v19.2/insert.md
v19.2/performance-best-practices-overview.md
v19.2/performance-tuning-insecure.md
v19.2/performance-tuning.md
v19.2/sql-faqs.md
v19.2/sql-statements.md


Add top-level init_json and init_yaml functions

These are convenience functions for the most common case: when the OpenAPI spec
is available as a local file. For user convenience this function also creates
and returns a new declarative base class.

This breaks your 100% test coverage. 😱 But I wanted to send you the PR today ...

I would like to add tests for this. I will merge this into a feature branch and propose some tests and some formatting changes. So far I have also been using certain linting and typing conventions. I should explain them and I'm also happy to discuss and change those conventions.
I also need to work on continous integration and checks for any conventions.


Outline View in Minimap section

Issue Type: Feature Request
I would like to see an outline of my files where the minimap typcially appears.  That would help me see at a glance if the file needed refactoring, as well as reading the available properties and methods.
VS Code version: Code 1.22.1 (950b8b0d37a9b7061b6f0d291837ccc4015f5ecd, 2018-04-06T02:26:57.615Z)
OS version: Windows_NT x64 10.0.15063

mega-issue here: https://github.com/Microsoft/vscode/issues/5605


EditorJs-undo compatibility with ReactJs component?

I am using react-editor-js npm package and I would like to extend it with undo.
const handleReady = (editor) => {
        new Undo({ editor });
};

<EditorJs
        instanceRef={instance => (editorJsRef.current = instance)}
        placeholder="Start typing what's in your head..."
        tools={EDITOR_JS_TOOLS}
        data={data}
        onReady={handleReady}
/>

According to your documentation, this should work. But error breaks the page:

In this case  e = this.editor.configuration.holder.
holder property in editor instance I am passing in handleReady function is a string with editor container ID. But library code references it as DOM element.
This workaround works (converting element ID to DOM element):
const handleReady = (editor) => {
        let temp = document.getElementById(editor.configuration.holder);
        editor.configuration.holder = temp;

        new Undo({ editor });
};

But I don't think that I should override this.
Also can you update README.md to show an example how to integrate this with https://www.npmjs.com/package/react-editor-js?

Hey @armandasalmd
Thanks for reporting. We will check this out.
Any solution on your end is welcome, just push your code in a PR :)
Best!

Hey @armandasalmd
Since v0.2.0 the plugin is fully compatible with react-editor-js.
Best,
Juan


Option to specify multiple websites to process for management commands where appropriate

As a developer, I'd like to have the option of specifying multiple sites to process for these additional management commands:

backpopulate_pipelines
reset_sync_states
create_missing_gdrive_folders
sync_content_state
update_content_metadata
import_ocw_course_sites (? - should not be needed anymore except in rare instances)

Would people still use import_ocw_course_sites to get sites for local dev?
To get prod/rc data I've been running pg_dump RC_OR_PROD_DB and then pg_restoreing my db from that, but that doesn't seem like the best way... (It's not bad, though, since our db is only a few hundred mb).

Yes, though I don't know if there's much demand for importing a large list of specific courses for local dev, I've always either imported all of them or individual ones.  Shouldn't be much work to add the option to it anyway.


Verify manifest is available

This is a work in progress. Before working on tests, I would appreciate some feedback here. Is there a better way to make sure the manifests are available through digests other than querying the registry like this?
EDIT: Based on IRC feedback, querying the registries seems to be a valid approach.

[x] tests
[x] forward dockercfg and insecure params
[x] update/create docstrings

Before uploading archive metadata on image manifests for
extra.docker.digests to koji, we query the registry to make sure the
manifests can indeed be fetched through its digest.

OSBS-6849

Not adding anything to release notes since this is an internal code change.

Thanks for the reviews!


Error building Flet app - see the log of failed command above. | Issue I can't identify

Duplicate Check

[X] I have searched the opened issues and there are no duplicates

Describe the bug
Any help would be appreciated. No matter how precisely I follow the guides to create my environments or clean slate everything (even tried various versions of Python), when I build my Flet application for iOS (using kivy-ios), I keep getting this same error.
Followed Documentation Here:

Flet iOS Publish Documentation
Kivy iOS GitHub Repository

Environment Specifications

MacBook Air M2
Xcode v 15.4
Tried Python versions 3.8, 3.9, 3.10
Flet Version: 0.23.2

The terminal command which I'm experiencing the issues with: flet build ipa.
Code sample
Just running this command for my application (main.py) flet build ipa makes it not build properly. I'm using kivy-ios to build the python environment.
To reproduce
I've tried flutter doctor, actually changing the code in the files it tells me to, removing the files, running flake8 to identify issues with the code, but nothing... nothing solves it.
Tried toolchain distclean, clearing .cache file, new virtual environments.
I'm making sure to:

pip3 install kivy-ios
Run xcode-select --install
Run brew install autoconf automake libtool pkg-config
Run brew link libtool
toolchain build python3 kivy (runs successfully)
toolchain pip install faster_whisper pyaudio av flet webrtcvad
Run realpath dist ("/Users/jack/Desktop/faster-landoff/dist")
Run export SERIOUS_PYTHON_IOS_DIST="/Users/jack/Desktop/faster-landoff/dist"
And finally, flet build ipa with the correct information filled in the flags

And then... that error... every damn time.
Expected behavior
The Xcode project to be built, such that I can publish it to my phone and test.
Screenshots / Videos

Operating System
macOS
Operating system details
macOS Sonoma 14.5 (23F79)
Flet version
Version: 0.23.2
Regression
No, it isn't
Suggestions
No response
Logs
Logs
(myvenv) jack@192-168-68-114 faster-landoff % flet build ipa --verbose
/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/watchdog/observers/__init__.py:78: UserWarning: Failed to import fsevents. Fall back to kqueue
  warnings.warn("Failed to import fsevents. Fall back to kqueue")
[02:26:32] Flutter bootstrap directory: /var/folders/hw/cf_hj45n5z74gxf0yc0y4jdc0000gn/T/flet_flutter_build_lBjXmsZ9L0
           Additional Flutter dependencies:
           {}
[02:26:34] Created Flutter bootstrap project from gh:flet-dev/flet-build-template with ref 0.23.2 ✅
           Customized app icons and splash images ✅
           Run subprocess: ['/opt/homebrew/bin/dart', 'run', 'flutter_launcher_icons']
(   ●  ) Generating app icons (3.3s)
Downloading packages...
(    ● ) Generating app icons ⏳... Got dependencies in `/private/var/folders/hw/cf_hj45n5z74gxf0yc0y4jdc0000gn/T/flet_flutter_build_lBjXmsZ9L0`.
(   ●  ) Generating app icons ⏳...
Built flutter_launcher_icons:flutter_launcher_icons.
(  ●   ) Generating app icons ⏳...   ════════════════════════════════════════════
     FLUTTER LAUNCHER ICONS (v0.13.1)
  ════════════════════════════════════════════

• Creating default icons Android
( ●    ) Generating app icons ⏳... • Overwriting the default Android launcher icon with a new icon
( ●    ) Generating app icons ⏳... • Overwriting default iOS launcher icon with new icon
(   ●  ) Generating app icons ⏳...done
(  ●   ) Generating app icons ⏳...done
(   ●  ) Generating app icons ⏳...done

✓ Successfully generated launcher icons
[02:26:40] Generated app icons ✅
           Run subprocess: ['/opt/homebrew/bin/dart', 'run', 'flutter_native_splash:create']
(    ● ) Generating splash screens ⏳...
Built flutter_native_splash:create.
(  ●   ) Generating splash screens ⏳... [Android] Creating default splash images
(●     ) Generating splash screens ⏳... [Android] Creating dark mode splash images
(  ●   ) Generating splash screens ⏳... [Android] Creating default android12splash images
(   ●  ) Generating splash screens ⏳... [Android] Creating dark mode android12splash images
(    ● ) Generating splash screens ⏳... [Android] Updating launch background(s) with splash image path...
[Android]  - android/app/src/main/res/drawable/launch_background.xml
(     ●) Generating splash screens ⏳... [Android]  - android/app/src/main/res/drawable-night/launch_background.xml
[Android]  - android/app/src/main/res/drawable-v21/launch_background.xml
[Android]  - android/app/src/main/res/drawable-night-v21/launch_background.xml
[Android] Updating styles...
[Android]  - android/app/src/main/res/values-v31/styles.xml
[Android] No android/app/src/main/res/values-v31/styles.xml found in your Android project
[Android] Creating android/app/src/main/res/values-v31/styles.xml and adding it to your Android project
[Android]  - android/app/src/main/res/values-night-v31/styles.xml
[Android] No android/app/src/main/res/values-night-v31/styles.xml found in your Android project
[Android] Creating android/app/src/main/res/values-night-v31/styles.xml and adding it to your Android project
[Android]  - android/app/src/main/res/values/styles.xml
[Android]  - android/app/src/main/res/values-night/styles.xml
[iOS] Creating  images
(    ● ) Generating splash screens ⏳... [iOS] Creating dark mode  images
(  ●   ) Generating splash screens ⏳... [iOS] Updating ios/Runner/Info.plist for status bar hidden/visible
[Web] Creating images
(  ●   ) Generating splash screens ⏳... [Web] Creating images
(   ●  ) Generating splash screens ⏳... [Web] Creating background images
[Web] Creating CSS
[Web] Updating index.html

✅ Native splash complete.
Now go finish building something awesome! 💪 You rock! 🤘🤩
Like the package? Please give it a 👍 here: https://pub.dev/packages/flutter_native_splash

[02:26:42] Generated splash screens ✅
           Run subprocess: ['/opt/homebrew/bin/dart', 'run', 'serious_python:main', 'package', '/Users/jack/Desktop/faster-landoff', '--mobile', '--platform', 'mobile', '--dep-mappings', 'flet=flet-embed',
           '--req-deps', 'flet-embed', '--exclude', 'build']
(   ●  ) Packaging Python app ⏳...
Built serious_python:main.
(   ●  ) Packaging Python app ⏳... Running package command
Creating asset directory: /private/var/folders/hw/cf_hj45n5z74gxf0yc0y4jdc0000gn/T/flet_flutter_build_lBjXmsZ9L0/app
Copying Python app from /Users/jack/Desktop/faster-landoff to /var/folders/hw/cf_hj45n5z74gxf0yc0y4jdc0000gn/T/serious_python_tempxDfRvc
(●     ) Packaging Python app ⏳... Configured mobile platform with sitecustomize.py at /var/folders/hw/cf_hj45n5z74gxf0yc0y4jdc0000gn/T/serious_python_sitecustomizeJEsaA5/sitecustomize.py
Installing dependencies [flet-embed] with pip command to /var/folders/hw/cf_hj45n5z74gxf0yc0y4jdc0000gn/T/serious_python_tempxDfRvc/__pypackages__
Extracting Python distributive from /var/folders/hw/cf_hj45n5z74gxf0yc0y4jdc0000gn/T/cpython-3.11.6+20231002-aarch64-apple-darwin-install_only.tar.gz to /var/folders/hw/cf_hj45n5z74gxf0yc0y4jdc0000gn/T/hostpython3.11_7itb4z
(    ● ) Packaging Python app ⏳... Compiling Python sources at /var/folders/hw/cf_hj45n5z74gxf0yc0y4jdc0000gn/T/serious_python_tempxDfRvc
( ●    ) Packaging Python app ⏳... /var/folders/hw/cf_hj45n5z74gxf0yc0y4jdc0000gn/T/serious_python_tempxDfRvc/dist/hostpython3/lib/python3.11/lib2to3/tests/data/py3_test_grammar.py:664: SyntaxWarning: "is" with a literal. Did you mean "=="?
  if 1 is 1: pass
/var/folders/hw/cf_hj45n5z74gxf0yc0y4jdc0000gn/T/serious_python_tempxDfRvc/dist/hostpython3/lib/python3.11/lib2to3/tests/data/py3_test_grammar.py:665: SyntaxWarning: "is not" with a literal. Did you mean "!="?
  if 1 is not 1: pass
/var/folders/hw/cf_hj45n5z74gxf0yc0y4jdc0000gn/T/serious_python_tempxDfRvc/dist/hostpython3/lib/python3.11/lib2to3/tests/data/py3_test_grammar.py:668: SyntaxWarning: "is" with a literal. Did you mean "=="?
  if 1 < 1 > 1 == 1 >= 1 <= 1 != 1 in 1 not in 1 is 1 is not 1: pass
[02:27:02] Deleting Flutter bootstrap directory /var/folders/hw/cf_hj45n5z74gxf0yc0y4jdc0000gn/T/flet_flutter_build_lBjXmsZ9L0
           Error building Flet app - see the log of failed command above.

Additional details
No response

I'm facing the same issue in Windows 11.
Flet version 0.23.2

@jack-tol , can you try with -vv instead of --verbose. It showed better log at my side. I've solved the issue already.

I have the same issue on MacOS.
Command I ran: flet build macos --module-name dashboard.py -vv
Logs

Compiling '/var/folders/yw/6x6llpl160dbzsx828k3zmqw0000gq/T/serious_python_tempCdF4Vi/cell_temperature_chart.py'...
Compiling '/var/folders/yw/6x6llpl160dbzsx828k3zmqw0000gq/T/serious_python_tempCdF4Vi/cell_voltage_chart.py'...
Compiling '/var/folders/yw/6x6llpl160dbzsx828k3zmqw0000gq/T/serious_python_tempCdF4Vi/dashboard.py'...
Compiling '/var/folders/yw/6x6llpl160dbzsx828k3zmqw0000gq/T/serious_python_tempCdF4Vi/dhw_ui.py'...
[15:08:08] Deleting Flutter bootstrap directory /var/folders/yw/6x6llpl160dbzsx828k3zmqw0000gq/T/flet_flutter_build_nuyp2Fg9lX
Error building Flet app - see the log of failed command above.
Run subprocess: ['/Users/abhimittal/development/flutter/bin/flutter', 'doctor']
[15:08:17] Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.24.4, on macOS 15.0.1 24A348 darwin-arm64, locale en-GB)
[✗] Android toolchain - develop for Android devices
✗ Unable to locate Android SDK.
Install Android Studio from: https://developer.android.com/studio/index.html
On first launch it will assist you in installing the Android SDK components.
(or visit https://flutter.dev/to/macos-android-setup for detailed instructions).
If the Android SDK has been installed to a custom location, please use
flutter config --android-sdk to update to that location.
       [✓] Xcode - develop for iOS and macOS (Xcode 16.1)
       [✓] Chrome - develop for the web
       [!] Android Studio (not installed)
       [✓] VS Code (version 1.94.2)

@abhimobi install Android Studio which will install Android SDK

@abhimobi scratch it - I haven't noticed you were building for macOS.
Try building the app with pre-release version of Flet.

@FeodorFitsner - thank you, this helped (kind of). My app now builds and I get a bundle. However, when I run the App it just loads a blank window, with no controls or other errors. I will investigate this separately.

@abhimobi  - using logging. In the latest build, there is a log that you will find in the application's cache.
    import logging
    logging.basicConfig(level=logging.DEBUG)
    logging.getLogger("flet_core").setLevel(logging.DEBUG)
    logging.getLogger("flet").setLevel(logging.DEBUG)

For something built with the following args:
flet build macos --project "Demo" --product "Demo" --org "com.ABC" --company "Demo" --build-version "1.0.0" -vv
You'll find it in:
/Users/[USER]/Library/Caches/com.ABC.demo/console.log
In my own application, I found it was often my imports that were causing the issue that you are describing, and so I wrapped them like this (I used a custom logger, but I think this is the syntax needed):
import logging
logging.basicConfig(level=logging.DEBUG)

# Get a logger for your current module
logger = logging.getLogger(__name__)

logger.debug("About to import pandas")
try:
    import pandas as pd

except ImportError as e:
    logger.error(f"Import failed: {e}")

That led me to discovering which ones were breaking, and then I could debug from there.

Thanks @ap4499. My cache folder (/Users/abhimittal/Library/Caches/com.ABC.demo) remains an empty directory after the App is launched. I have followed your logging example above. I will continue researching and/or try with newer releases.


Breadcrumbs example and Vue.js code broken on doc site, CodeSandbox, and Stackblitz

Describe the bug
On the Breadcrumbs doc page, demo have broken links. For instance Tennis shows up as {route.url} instead of #tennis.
When you open the CodeSandbox or Stackblitz, the React and Svelte examples work, but Vue example is broken.
To Reproduce
Steps to reproduce the behavior:

Go to https://www.agnosticui.com/docs/components/breadcrumbs.html
Hover/click on link for Tannis or Superstars in the demo.

Expected behavior
Link should point to #tennis
Screenshots
N/A
Desktop/Smartphone

Device independent, visible on main docs website

If you can provide some clues, I can try fixing and sending a PR.

Apparently already fixed in #257


Special Saver using Splashdown values on calculations

The special saver currently uses Splashdown values instead of using the regular ones, meaning that it start at 75% instead of 50%. This should be corrected.

Thank you for reporting this! Can you post the URL for the build you're using where the Special Saver values appear incorrect? I tested it and am seeing starting values of 75% for Splashdown and 50% for all other Specials. I did notice that Splashdown's "Special Saved" value is going from 75% <--> 125%, which I need to clear up with Lean.

 Special Saver Bug

DJWolfBot confirmed for me that Splashdown has two Special Saver values: The default value that all Specials use starting at 50%, and the Splashdown-specific values used only when the player dies while using Splashdown. I'll add a second bar for "Special Saver (Splashdown On-Death)" to convey this additional data. Will update the primary Special Saver bar for Splashdown to use default values.

0d347892eae8c6e791b763a7045195e404aec803 Fixes this issue.


fix visualizer on macs and update samples

@matthidinger,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot


ubuntu 18.04 Connection Timeout Expired

Azure Data Studio Version: 1.6.0

Steps to Reproduce:
System info:
Distributor ID:	Ubuntu
Description:	Ubuntu 18.04.2 LTS
Release:	18.04
Codename:	bionic
Error Detail:
System.Data.SqlClient.SqlException (0x80131904): Connection Timeout Expired.  The timeout period elapsed during the post-login phase.  The connection could have timed out while waiting for server to complete the login process and respond; Or it could have timed out while attempting to create multiple active connections.  The duration spent while attempting to connect to this server was - [Pre-Login] initialization=25; handshake=182; [Login] initialization=0; authentication=0; [Post-Login] complete=14166;  ---> System.ComponentModel.Win32Exception (258): Unknown error 258
at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData, Boolean applyTransientFaultHandling, String accessToken)
at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions)
at System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup, DbConnectionOptions userOptions)
at System.Data.ProviderBase.DbConnectionFactory.<>c__DisplayClass40_0.b__1(Task1 _)    at System.Threading.Tasks.ContinuationResultTaskFromResultTask2.InnerInvoke()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location where exception was thrown ---
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot)
--- End of stack trace from previous location where exception was thrown ---
at Microsoft.SqlTools.ServiceLayer.Connection.ReliableConnection.ReliableSqlConnection.<>c__DisplayClass28_0.<b__0>d.MoveNext() in D:\a\1\s\src\Microsoft.SqlTools.ManagedBatchParser\ReliableConnection\ReliableSqlConnection.cs:line 303
--- End of stack trace from previous location where exception was thrown ---
at Microsoft.SqlTools.ServiceLayer.Connection.ConnectionService.TryOpenConnection(ConnectionInfo connectionInfo, ConnectParams connectionParams) in D:\a\1\s\src\Microsoft.SqlTools.ServiceLayer\Connection\ConnectionService.cs:line 521
ClientConnectionId:4712a0e1-8474-4bc9-92b5-61f1494a7449
Error Number:-2,State:0,Class:11

the same version in windows 10 sucess

@codecodingg connection timeouts typically indicate some type of network connectivity issue.  Are you able to connect to this SQL Server instance from the Ubuntu client using any other software, such as SQLCMD?

@kburtram I tried JetBrains DataGrip, connection successed

@codecodingg Azure Data Studio only officially supports 2014+, so I don't think ADS will work correctly even if a connection is successful.  Though I wouldn't expect a connection time out.  I'll discuss with the team if there are any good diagnostic steps in this scenario.

Closing this as 2005 is not officially supported. But you could try increasing the connection timeout in the Advanced Properties section of the Connection Dialog, that may help as a workaround.


Reduce allocations using nil cursors and literal value cursors

Replaces individual literal cursors with a single interface value. This has the benefit that the value is immediately wrapped in an iface, removing convT2I calls and subsequent allocations every time the value is read.
Statically allocates the nil value cursors, saving further allocations as they are stateless and safe for concurrent use.

benchmark                           old ns/op     new ns/op     delta
BenchmarkIntegerIterator_Next-8     82.8          22.7          -72.58%

benchmark                           old allocs     new allocs     delta
BenchmarkIntegerIterator_Next-8     3              0              -100.00%

benchmark                           old bytes     new bytes     delta
BenchmarkIntegerIterator_Next-8     32            0             -100.00%

Required for all non-trivial PRs

[x] Rebased/mergable
[x] Tests pass

@jsternberg You are more familiar with this code than I am. LGTM though.

@jsternberg / @jwilder what should we put in the CHANGELOG for this one?

I'm not really sure. Likely goes in the features section and references this PR. Just a one sentence blurb about optimizing the memory usage for some cursors works. Enough for a person who is perusing the changelog to click the link for more information if they desire.


Telemetry streaming statistics

Question 1：
I want to see the CPU metrics for each virtual server. As shown in the figure below：

Question 2：
Currently, module statistics and performance reports information in F5 statistics is very useful, but there is no such data in telemetry streaming.
As shown in the figure below：

This information is very important to me. I don't support it at present. Will you consider adding this function later

Do you mean the 5 sec, 1 min, and 5 min break down data?

Do you mean the 5 sec, 1 min, and 5 min break down data?

Yes。I can't see the data

Data collection in this method doesn't really make sense.  If you wanted more granular sampling of this information you would increase the polling rate of the system poller (which would generate a lot more data than necessary) or you configure a custom poller with an "include" that only grabs CPU data every 5 seconds or your required intervals.  You would then use summarization/aggregation to report this information.  The burden of interval roll-up has shifted in this case.

Data collection in this method doesn't really make sense. If you wanted more granular sampling of this information you would increase the polling rate of the system poller (which would generate a lot more data than necessary) or you configure a custom poller with an "include" that only grabs CPU data every 5 seconds or your required intervals. You would then use summarization/aggregation to report this information. The burden of interval roll-up has shifted in this case.

I need to know the CPU usage of each vs, not that of the whole device
In this way, I can determine which vs takes up more CPU

I double checked the debug logs from TS for Splunk multiMetric consumer and the only virtual server level stats that are reported:

metric_name:totRequests
metric_name:clientside.*
metric_name:serverside.*
metric_name:mr.*

Looking at BIG-IP REST API directly the CPU usage data is present / mgmt/tm/ltm/virtual/<vs_name>/stats

I see that you opened previously https://github.com/F5Networks/f5-telemetry-streaming/issues/121
However the request still does not follow the formatting guidelines for bugs or new features.  These templates are present when submitting new issues.  You might want to edit this post using those templates as a guide.

Looking at BIG-IP REST API directly the CPU usage data is present / mgmt/tm/ltm/virtual/<vs_name>/stats

In addition to getting vs CPU metrics through the reset API. TS is not available now, is it?

I see that you opened previously #121
However the request still does not follow the formatting guidelines for bugs or new features. These templates are present when submitting new issues. You might want to edit this post using those templates as a guide.

I'm sorry. I thought I didn't submit successfully. #121
I now configure TS output to fluentd, but I want to get the CPU metric of each vs. Through the query clouddocs, I didn't find the answer I wanted, so I asked questions here.
consumer config:
{
"class": "Telemetry",
"My_System": {
"class": "Telemetry_System",
"systemPoller": {
"interval": 60
}
},
"My_Listener": {
"class": "Telemetry_Listener",
"port": 6514
},
"My_Consumer": {
"class": "Telemetry_Consumer",
"type": "Generic_HTTP",
"host": "<IP_ADDRESS>",
"protocol": "http",
"port": 9880,
"path": "/fluentd.tag",
"method": "POST",
"headers": [
{
"name": "content-type",
"value": "application/json"
}
]
}
}
fluentd output：

Can you be more specific about which properties you want to collect? I have provided an example iControl REST response to show available fields.
{
  "kind": "tm:ltm:virtual:virtualstats",
  "generation": 25490,
  "selfLink": "https://localhost/mgmt/tm/ltm/virtual/test/stats?ver=16.1.0",
  "entries": {
    "https://localhost/mgmt/tm/ltm/virtual/~Common~test/stats": {
      "nestedStats": {
        "kind": "tm:ltm:virtual:virtualstats",
        "selfLink": "https://localhost/mgmt/tm/ltm/virtual/~Common~test/stats?ver=16.1.0",
        "entries": {
          "clientside.bitsIn": {
            "value": 0
          },
          "clientside.bitsOut": {
            "value": 0
          },
          "clientside.curConns": {
            "value": 0
          },
          "clientside.evictedConns": {
            "value": 0
          },
          "clientside.maxConns": {
            "value": 0
          },
          "clientside.pktsIn": {
            "value": 0
          },
          "clientside.pktsOut": {
            "value": 0
          },
          "clientside.slowKilled": {
            "value": 0
          },
          "clientside.totConns": {
            "value": 0
          },
          "cmpEnableMode": {
            "description": "all-cpus"
          },
          "cmpEnabled": {
            "description": "enabled"
          },
          "csMaxConnDur": {
            "value": 0
          },
          "csMeanConnDur": {
            "value": 0
          },
          "csMinConnDur": {
            "value": 0
          },
          "destination": {
            "description": "<IP_ADDRESS>:443"
          },
          "ephemeral.bitsIn": {
            "value": 0
          },
          "ephemeral.bitsOut": {
            "value": 0
          },
          "ephemeral.curConns": {
            "value": 0
          },
          "ephemeral.evictedConns": {
            "value": 0
          },
          "ephemeral.maxConns": {
            "value": 0
          },
          "ephemeral.pktsIn": {
            "value": 0
          },
          "ephemeral.pktsOut": {
            "value": 0
          },
          "ephemeral.slowKilled": {
            "value": 0
          },
          "ephemeral.totConns": {
            "value": 0
          },
          "fiveMinAvgUsageRatio": {
            "value": 0
          },
          "fiveSecAvgUsageRatio": {
            "value": 0
          },
          "mr.msgIn": {
            "value": 0
          },
          "mr.msgOut": {
            "value": 0
          },
          "mr.reqIn": {
            "value": 0
          },
          "mr.reqOut": {
            "value": 0
          },
          "mr.respIn": {
            "value": 0
          },
          "mr.respOut": {
            "value": 0
          },
          "tmName": {
            "description": "/Common/test"
          },
          "oneMinAvgUsageRatio": {
            "value": 0
          },
          "status.availabilityState": {
            "description": "unknown"
          },
          "status.enabledState": {
            "description": "enabled"
          },
          "status.statusReason": {
            "description": "The children pool member(s) either don't have service checking enabled, or service check results are not available yet"
          },
          "syncookieStatus": {
            "description": "not-activated"
          },
          "syncookie.accepts": {
            "value": 0
          },
          "syncookie.hwAccepts": {
            "value": 0
          },
          "syncookie.hwSyncookies": {
            "value": 0
          },
          "syncookie.hwsyncookieInstance": {
            "value": 0
          },
          "syncookie.rejects": {
            "value": 0
          },
          "syncookie.swsyncookieInstance": {
            "value": 0
          },
          "syncookie.syncacheCurr": {
            "value": 0
          },
          "syncookie.syncacheOver": {
            "value": 0
          },
          "syncookie.syncookies": {
            "value": 0
          },
          "totRequests": {
            "value": 0
          }
        }
      }
    }
  }
}

It looks like there is no "current" CPU usage, so the best we could probably do is to use the 5 second average as one.

Yes, that is a tricky problem as the sampling interval for CPU does not always match with how the System Poller is defined with respect to TS.  It would take a bit more work, but would it make sense to use the 5s, 1m, 5m value based on the interval of the system poller (as a dynamic window)?  So.. if the System Poller is anything less than 1 minute sampling, use the 5 second value.  1-5 minutes, then use the 1 minute value and anything over 5 minutes, use the 5 minute value?
I'm not sure if you are trying to normalize the CPU data to 1 counter value.  If not, would there be a harm in always reporting the 3 CPU values?

Since we already have enough issues with the size of the Telemetry Streaming payload, I would rather expose this data as one value instead of 3.
The amount of work to expose the 5 second average is considerably less than trying to dynamically pick a value based on the polling interval. Do you see a problem with using that value for all polling intervals?

The problem is the law of averages since the 5second value will only be reported for a narrow slice in time.  I would dare say that the 1 min average should be used as the best of blend.  On my system TS is configured for 2minute polling windows.  Using the 1 minute counter would be able to observe spikes in traffic sufficiently.  The 5minute resolution is probably to worst option if traffic spikes are short lived.


Ctrl+Space being filtered out (losing important functionality in Office apps) when Peek utility enabled with default short-cut keys

Microsoft PowerToys version
0.70.0
Installation method
PowerToys auto-update
Running as admin
None
Area(s) with issue?
General
Steps to reproduce
[edit following identification of issue being Peek mode default shortcut]
PowerToys 0.70 installed with Peek enabled with default Ctrl+Space shortcut set, no other mouse settings enabled.
Microsoft 365 (Office) installed and used for testing.
Open Excel select column (say B) and press Ctrl+Space to select the whole column.
Open Word, type text, format it and then press Ctrl+Space to clear formatting.
✔ Expected Behavior
Ctrl+Space should select column in Excel (or clear formatting in Word) when in the Office app even if Ctrl+Space does the peek when in File Explorer.
❌ Actual Behavior
Even when File Explorer is closed, Excel and Word just ignores/does not see Ctrl+Space.
Other Software

It is a Peek plugin actiovation shortcut. Horrible choise of the shortcut as it blocks the same shortcut at IDE.

OK, had forgotten that I have peek on this (affected) machine and not on the other! so good spot.
I'm not sure how feasible it is, but surely the peek shortcut (and filtering) should only be active if File Explorer is the focussed app? And, if not, surely a better shortcut should be used as a default given how important Ctrl+Space is in Office apps?

Same problem here, the IDE shortcut for autocomplete doesn't work after this update. I have to disable it.


feat: start implementing new frontend layout

as per this outline in Figma.

The new layout looks nice. However, the panes do not remain fixed. For example, once you start sending messages to OpenDevin and OpenDevin begins to respond, the chat pane grows and hides the terminal pane. The panes should remain fixed, and the user should be able to scroll through the contents of each pane. Better yet, the panes should be resizable, allowing users to configure them as they like.

The new layout looks nice. However, the panes do not remain fixed. For example, once you start sending messages to OpenDevin and OpenDevin begins to respond, the chat pane grows and hides the terminal pane. The panes should remain fixed, and the user should be able to scroll through the contents of each pane. Better yet, the panes should be resizable, allowing users to configure them as they like.

ah whoops, mistake on my end. Will fix tomorrow.


Don’t run ‘publish dev image’ job in forks

My fork (and, I assume, most forks) doesn’t have the secrets defined, so this job just fails every night. So it’ll be less noisy and less wasteful of resources to disable this job for forks.

Yes, very sensible, thanks!


Listen to playlist update hls event

What do you want to do with Clappr?
I'd like to listen, when a live hls stream's playlist is updated
What have you tried so far?
This is my code. Can someone help me, what am I doing wrong? Thank you!
var testPlugin = Clappr.UICorePlugin.extend({

  name: 'test_Plugin',

  bindEvents() {
    if (Clappr.Events.CORE_ACTIVE_CONTAINER_CHANGED) {
      this.listenTo(this.core, Clappr.Events.CORE_ACTIVE_CONTAINER_CHANGED, this.rebindEvents)
    },
    this.listenTo(this.core.mediaControl, Clappr.Events.MEDIACONTROL_PLAYING, this.onMediaControlPlaying)
  },

  rebindEvents() {
    this.stopListening()
    this.bindEvents()
  },

  onMediaControlPlaying(){
    this.core.getCurrentPlayback()._hls.on('LEVEL_UPDATED', function(event, object) {
      console.log("playlist update");  // this never runs
    });
  },

});

Your main issue here is that the HLSJS instance object is created only when player starts to play. Depending on if HLS source is LIVE or VOD, it may be also destroyed on stop event (if LIVE).
To get HLSJS instance, i think it can be done on playback "play" event.
For example :
(try this code on Clappr demo page)
var playerElement = document.getElementById("player-wrapper");

var TestPlugin = Clappr.UICorePlugin.extend({
  name: 'test_Plugin',

  bindEvents() {
    if (Clappr.Events.CORE_ACTIVE_CONTAINER_CHANGED) {
      this.listenTo(this.core, Clappr.Events.CORE_ACTIVE_CONTAINER_CHANGED, this._onContainerChanged)
    } else {
      this.listenTo(this.core.mediaControl, Clappr.Events.MEDIACONTROL_CONTAINERCHANGED, this._onContainerChanged)
    }
  },

  _playback() {
    return this.core.activePlayback
      ? this.core.activePlayback
      : this.core.getCurrentPlayback();
  },

  _onContainerChanged() {
    this._hlsIsBinded = false
    this._bindPlaybackEvents();
  },

  _bindPlaybackEvents() {
    var p = this._playback();
    if (p.name === 'hls') {
      p.listenTo(p, Clappr.Events.PLAYBACK_PLAY, this._onPlay);
    }
  },

  _onPlay() {
    if (this._hlsIsBinded) return; // Bind HLS events only once
    if (this._hls) {
      console.log('HLS Instance available', this._hls);
      // Do binding stuff with HLS instance here
      this._hlsIsBinded = true;
    }
  }

});

var player = new Clappr.Player({
  source: ' https://bitdash-a.akamaihd.net/content/sintel/hls/playlist.m3u8',
  plugins: [ TestPlugin ],
  height: 360,
  width: 640
});

player.attachTo(playerElement);

Thank you kslimani!

Your main issue here is that the HLSJS instance object is created only when player starts to play. Depending on if HLS source is LIVE or VOD, it may be also destroyed on stop event (if LIVE).
To get HLSJS instance, i think it can be done on playback "play" event.
For example :
(try this code on Clappr demo page)
var playerElement = document.getElementById("player-wrapper");

var TestPlugin = Clappr.UICorePlugin.extend({
  name: 'test_Plugin',

  bindEvents() {
    if (Clappr.Events.CORE_ACTIVE_CONTAINER_CHANGED) {
      this.listenTo(this.core, Clappr.Events.CORE_ACTIVE_CONTAINER_CHANGED, this._onContainerChanged)
    } else {
      this.listenTo(this.core.mediaControl, Clappr.Events.MEDIACONTROL_CONTAINERCHANGED, this._onContainerChanged)
    }
  },

  _playback() {
    return this.core.activePlayback
      ? this.core.activePlayback
      : this.core.getCurrentPlayback();
  },

  _onContainerChanged() {
    this._hlsIsBinded = false
    this._bindPlaybackEvents();
  },

  _bindPlaybackEvents() {
    var p = this._playback();
    if (p.name === 'hls') {
      p.listenTo(p, Clappr.Events.PLAYBACK_PLAY, this._onPlay);
    }
  },

  _onPlay() {
    if (this._hlsIsBinded) return; // Bind HLS events only once
    if (this._hls) {
      console.log('HLS Instance available', this._hls);

      // Do binding stuff with HLS instance here
      this._hls.on(Clappr.HLS.HLSJS.Events.LEVEL_LOADED, function(event, object) {
        console.log("playlist update");
      });

      this._hlsIsBinded = true;
    }
  }

});

var player = new Clappr.Player({
  source: ' https://bitdash-a.akamaihd.net/content/sintel/hls/playlist.m3u8',
  plugins: [ TestPlugin ],
  height: 360,
  width: 640
});

player.attachTo(playerElement);

EDIT: added "level loaded" HLS binding example (HLSJS internal class is exposed by Clappr.HLS.HLSJS)

Thanks @kslimani for this! But I just wish it was simpler to get the HLS instance than writing an entire plugin for it ...


Goodbye lodash

This PR replaces lodash with our own functions and uses throttle from the throttle-debounce package, saving the users about 90KB in the final app bundle.
Before

After

We also need to remove the lodash/sample import and all of the references to it in packages/website/docs/networks-and-flows/Graph.mdx. Currently when you try to run the website this page crashes.

@reb-dev Thanks for pointing our the issues! I've just fixed along with a few other thing.


Error on installing pillow

received this error when trying to install requirements/local.txt
ValueError: --enable-jpeg requested but jpeg not found, aborting.
issue solved by installing libjpeg-dev
http://stackoverflow.com/questions/32942861/error-installing-pillow-on-ubuntu-14-04
sudo apt-get install libjpeg-dev

all non-python dependencies to Ubuntu 14.04 are described here: requirements.apt
This small utility (install_os_dependencies.sh) helps you install them
run
sudo ./install_os_dependencies.sh install

said that, it is not documented, I accept gladly help to documenting this, because I have not had free time to do it

awesome!...documentation didn't mention this and it would have saved me time faffing around. So, I don't mind documenting this...just show me how and where you want it

probably this is the best place : https://github.com/pydanny/cookiecutter-django/blob/master/docs/developing-locally.rst#getting-up-and-running-locally


Update README.md

Added feature enhancement points

Codecov Report

Merging #34 (619847d) into main (ee3918d) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #34   +/-   ##
=======================================
  Coverage   43.10%   43.10%
=======================================
  Files           3        3
  Lines         348      348
=======================================
  Hits          150      150
  Misses        198      198

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Quick Accent's "Do not activate when Game Mode is on" is not working

Microsoft PowerToys version
0.79.0
Installation method
PowerToys auto-update, WinGet
Running as admin
Yes
Area(s) with issue?
Quick Accent
Steps to reproduce

Game mode is on.
Playing Valorant
Pressing Z and space to jump forward

✔ Expected Behavior
Pressing a key, then space, should not activate the Quick Accent toolbar when gaming.
❌ Actual Behavior
Pressing a key, then space, activates the Quick Accent toolbar.
Other Software
No response

Might be a problem detecting the game. /bugreport

Might be a problem detecting the game.

Oh, you're right. The game was in windowed fullscreen setting, when I changed it to fullscreen it's detecting it.
Probably game mode detects the game only when it's fullscreen, I didn't know that.

@SkandarS0
There is a setting called "Excluded Apps" you can try if you are playing the game in maximized window mode. You can find this setting on the Quick Accent settings page.

Can assure that this issue is still present when games are running in "windowed full screen" mode, since not every game has a full screen exclusive mode (e.s. Starfield, Hellblade 2 and many others) it's a real pain to manually insert every process name (especially you have a multi PC setup), my suggestion is, if it's hard to detect open games that aren't full screen exclusive, to at least make some kind of process selector like discord for unregistered games

So this whole process would be less tedious

/dup https://github.com/microsoft/PowerToys/issues/31684


[0.1.0-canary.14] Numeric line height is converted to px

Bug report
Describe the bug
I had initially reported this in a comment here https://github.com/modulz/stitches/commit/26e2ab13558270dbdd763520d9b47ac1b1e8eabc#r47572049, but since a release was made I'll add it as a tracked issue.
Since canary.14, any unitless lineHeight property
lineHeight: 1.5      // either as a number
lineHeight: "1.5"    // or as a numeric string

get converted to px
line-height: 1.5px;

To Reproduce
https://codesandbox.io/s/line-height-bug-cslrw
Expected behavior
Line height accepts numeric values to match CSS spec.
System information

Version of Stitches: 0.1.0-canary.14

<number> (unitless)
The used value is this unitless  multiplied by the element's own font size.

So basically, lineHeight should produce unitless values or suffixed with an em instead of px.


[PDI-17713] - GetPOP creates bad file names on duplicates

Build Completed
:fire: This pull request has some issues. It would be preferable to fix them in order for it to be just perfect. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands
mvn -B -f 'pom.xml' -pl 'engine' -P '!assemblies' -Dsurefire.runOrder=alphabetical -Daudit -amd clean install

Cleanup Commands
mvn -B -f 'pom.xml' -pl 'engine' -P '!assemblies' -amd build-helper:remove-project-artifact

Changed files
  engine/src/main/java/org/pentaho/di/job/entries/getpop/MailConnection.java
  engine/src/test/java/org/pentaho/di/job/entries/getpop/MailConnectionTest.java

Unit Test Coverage
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.

:warning: Coverage Changes (click to expand)
org.pentaho.di.trans.steps.checksum.CheckSumMeta

Instruction Change: -0.2% :small_red_triangle_down:

org.pentaho.di.job.entries.evaluatetablecontent.JobEntryEvalTableContent

Branch Change: -1% :small_red_triangle_down:
Complexity Change: -1.1% :small_red_triangle_down:
Instruction Change: -0.2% :small_red_triangle_down:

org.pentaho.di.trans.steps.dimensionlookup.DimensionLookupMeta

Method Change: -1% :small_red_triangle_down:

org.pentaho.di.trans.steps.memgroupby.MemoryGroupByMeta

Branch Change: -1.1% :small_red_triangle_down:
Complexity Change: -1.3% :small_red_triangle_down:

org.pentaho.di.trans.steps.rowgenerator.RowGeneratorMeta

Branch Change: -2.6% :small_red_triangle_down:
Complexity Change: -1.5% :small_red_triangle_down:
Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.googleanalytics.GaInputStepMeta

Branch Change: -1.9% :small_red_triangle_down:
Complexity Change: -1.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.salesforceupdate.SalesforceUpdateMeta

Instruction Change: -0.2% :small_red_triangle_down:

Deleted old wingman report since I updated the PR.

Build Completed
:x: This pull request has errors. They will need to be addressed before it can be accepted. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands
mvn -B -f 'pom.xml' -pl 'engine' -P '!assemblies' -Dsurefire.runOrder=alphabetical -Daudit -amd clean install

Cleanup Commands
mvn -B -f 'pom.xml' -pl 'engine' -P '!assemblies' -amd build-helper:remove-project-artifact

Changed files
  engine/src/main/java/org/pentaho/di/job/entries/getpop/MailConnection.java
  engine/src/test/java/org/pentaho/di/job/entries/getpop/MailConnectionTest.java

Unit Test Coverage
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.

:warning: Coverage Changes (click to expand)
org.pentaho.di.trans.steps.checksum.CheckSumMeta

Branch Change: -1.3% :small_red_triangle_down:
Complexity Change: -1.4% :small_red_triangle_down:
Instruction Change: -0.4% :small_red_triangle_down:

org.pentaho.di.job.entries.sql.JobEntrySQL

Instruction Change: -3.4% :small_red_triangle_down:
Line Change: -3.8% :small_red_triangle_down:

org.pentaho.di.trans.steps.dimensionlookup.DimensionLookupMeta

Branch Change: -1.8% :small_red_triangle_down:
Complexity Change: -1.1% :small_red_triangle_down:
Instruction Change: -0.4% :small_red_triangle_down:
Line Change: -0.3% :small_red_triangle_down:

org.pentaho.di.trans.steps.groupby.GroupByMeta

Branch Change: -1% :small_red_triangle_down:
Complexity Change: -1% :small_red_triangle_down:
Instruction Change: -0.2% :small_red_triangle_down:
Line Change: -0.3% :small_red_triangle_down:

org.pentaho.di.trans.steps.ldapoutput.LDAPOutputMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.replacestring.ReplaceStringMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.textfileinput.TextFileInputMeta

Branch Change: -0.5% :small_red_triangle_down:

org.pentaho.di.trans.steps.webservices.WebServiceMeta

Branch Change: -1.7% :small_red_triangle_down:
Complexity Change: -1.2% :small_red_triangle_down:
Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.salesforceinsert.SalesforceInsertMeta

Instruction Change: -0.1% :small_red_triangle_down:

Checkstyle violations
The code submitted is not complying with one or more of our guidelines. To perform these checks locally, please use this tool.
/home/buildguy/project/engine/src/main/java/org/pentaho/di/job/entries/getpop/MailConnection.java

:heavy_exclamation_mark: ',' is preceded with whitespace. at Line: 838 Column: 61

Build Completed
:x: This pull request has errors. They will need to be addressed before it can be accepted. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands
mvn -B -f 'pom.xml' -pl 'engine' -P '!assemblies' -Dsurefire.runOrder=alphabetical -Daudit -amd clean install

Cleanup Commands
mvn -B -f 'pom.xml' -pl 'engine' -P '!assemblies' -amd build-helper:remove-project-artifact

Changed files
  engine/src/main/java/org/pentaho/di/job/entries/getpop/MailConnection.java
  engine/src/test/java/org/pentaho/di/job/entries/getpop/MailConnectionTest.java

Newly Broken Tests:
org.pentaho.di.trans.step.mqtt.MQTTStreamSourceTest.testMultipleTopics:
:red_circle: junit.framework.AssertionFailedError
junit.framework.AssertionFailedError
	at org.pentaho.di.trans.step.mqtt.MQTTStreamSourceTest.getQuickly(MQTTStreamSourceTest.java:253)
	at org.pentaho.di.trans.step.mqtt.MQTTStreamSourceTest.testMultipleTopics(MQTTStreamSourceTest.java:141)

Unit Test Coverage
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.

:warning: Coverage Changes (click to expand)
org.pentaho.di.job.entries.waitforsql.JobEntryWaitForSQL

Branch Change: -0.7% :small_red_triangle_down:
Complexity Change: -1% :small_red_triangle_down:
Instruction Change: -0.2% :small_red_triangle_down:

org.pentaho.di.trans.steps.constant.ConstantMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.dimensionlookup.DimensionLookupMeta

Method Change: -1% :small_red_triangle_down:

org.pentaho.di.trans.steps.groupby.GroupByMeta

Branch Change: -1% :small_red_triangle_down:
Complexity Change: -1% :small_red_triangle_down:
Instruction Change: -0.2% :small_red_triangle_down:
Line Change: -0.3% :small_red_triangle_down:

org.pentaho.di.trans.steps.memgroupby.MemoryGroupByMeta

Branch Change: -2.2% :small_red_triangle_down:
Complexity Change: -2.6% :small_red_triangle_down:

org.pentaho.di.trans.steps.rowgenerator.RowGeneratorMeta

Branch Change: -2.6% :small_red_triangle_down:
Complexity Change: -1.5% :small_red_triangle_down:
Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.sort.SortRowsMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.textfileinput.TextFileInputMeta

Branch Change: -0.5% :small_red_triangle_down:

org.pentaho.di.trans.steps.uniquerows.UniqueRowsMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.webservices.WebServiceMeta

Branch Change: -1.7% :small_red_triangle_down:
Complexity Change: -1.2% :small_red_triangle_down:
Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.salesforceupsert.SalesforceUpsertMeta

Instruction Change: -0.1% :small_red_triangle_down:

Build Completed
:fire: This pull request has some issues. It would be preferable to fix them in order for it to be just perfect. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands
mvn -B -f 'pom.xml' -pl 'engine' -P '!assemblies' -Dsurefire.runOrder=alphabetical -Daudit -amd clean install

Cleanup Commands
mvn -B -f 'pom.xml' -pl 'engine' -P '!assemblies' -amd build-helper:remove-project-artifact

Changed files
  engine/src/main/java/org/pentaho/di/job/entries/getpop/MailConnection.java
  engine/src/test/java/org/pentaho/di/job/entries/getpop/MailConnectionTest.java

Unit Test Coverage
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.

:warning: Coverage Changes (click to expand)
org.pentaho.di.trans.steps.checksum.CheckSumMeta

Instruction Change: -0.2% :small_red_triangle_down:

org.pentaho.di.trans.steps.datagrid.DataGridMeta

Branch Change: -2% :small_red_triangle_down:
Complexity Change: -1.7% :small_red_triangle_down:
Instruction Change: -0.2% :small_red_triangle_down:

org.pentaho.di.trans.steps.sortedmerge.SortedMergeMeta

Instruction Change: -0.2% :small_red_triangle_down:

org.pentaho.di.trans.steps.gpload.GPLoadMeta

Branch Change: -0.9% :small_red_triangle_down:
Complexity Change: -0.8% :small_red_triangle_down:
Instruction Change: -0.2% :small_red_triangle_down:

@pentaho-lmartins - Can you review my changes


[Event Request] codeunit 12153 SubcontractingPricesMgt - OnGetSubcPriceForReqLineAfterFilters

In codeunit 12153 SubcontractingPricesMgt please add the following event:
    procedure GetSubcPriceForReqLine(var ReqLine: Record "Requisition Line"; FixedUOM: Code[10])
    var
        ProdOrderRtngLine: Record "Prod. Order Routing Line";
        OrderDate: Date;
    begin
        PricelistQtyPerUOM := 0;
        PricelistQty := 0;
        PricelistCost := 0;
        DirectCost := 0;
        PricelistUOM := '';

        with ReqLine do begin
            OrderDate := "Order Date";
            if OrderDate = 0D then
                OrderDate := WorkDate;

            SubcontractorPrices.SetRange("Vendor No.", "Vendor No.");
            SubcontractorPrices.SetFilter("Work Center No.", '%1|%2', "Work Center No.", '');
            SubcontractorPrices.SetRange("Standard Task Code", "Standard Task Code");
            SubcontractorPrices.SetRange("Variant Code", "Variant Code");
            SubcontractorPrices.SetFilter("Item No.", '%1|%2', "No.", '');
            SubcontractorPrices.SetRange("Start Date", 0D, OrderDate);
            SubcontractorPrices.SetFilter("End Date", '>=%1|%2', OrderDate, 0D);
            SubcontractorPrices.SetFilter("Currency Code", '%1|%2', "Currency Code", '');
            if FixedUOM <> '' then
                SubcontractorPrices.SetRange("Unit of Measure Code", FixedUOM);
            // New event
            OnGetSubcPriceForReqLineAfterFilters(SubcontractorPrices, ReqLine);
            // New event
            if SubcontractorPrices.FindLast then begin
                if SubcontractorPrices."Unit of Measure Code" = "Unit of Measure Code" then begin
                    PricelistQtyPerUOM := GetQtyForUOM;
                    PricelistQty := Quantity;
                    PricelistUOM := "Unit of Measure Code";
                end else
                    GetUOMPrice("No.", GetQtyBase);
...

    [IntegrationEvent(false, false)]
    local procedure OnGetSubcPriceForReqLineAfterFilters(SubcontractorPrices: Record "Subcontractor Prices"; var ReqLine: Record "Requisition Line")
    begin
    end;

Thank you

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


gorm:primaryKey ignores the structure field type and set only int8

Description
type Account struct {
	AccountID    uint `gorm:"primaryKey"`
	CurrencyCode string
	// .. other fields

	CurrencyRef    Currency       `gorm:"foreignKey:CurrencyCode"`
}

type Currency struct {
	CurrencyCode string `gorm:"primaryKey"`
	CurrencyType string
}

The table Currencies is created in the database with PK - "int8", structure type "string" is ignored:

This is not reproducible, please try to reproduce it with a PR here https://github.com/go-gorm/playground.


Uncaught Error: Cannot instantiate interface Monolog\LogRecord

Monolog version 3
Hello, we can't have a working installation of Monolog 3.
The logger works great for a time (about 30 min), but this error appear next, and we can't understand what's going on...
Can you help us please?
Uncaught Error: Cannot instantiate interface Monolog\LogRecord in /var/www/ateliertuffery/httpdocs/vendor/monolog/monolog/src/Monolog/Logger.php:333 Stack trace: #0 /var/www/ateliertuffery/httpdocs/vendor/monolog/monolog/src/Monolog/Logger.php(601): Monolog\Logger->addRecord() #1

this looks like a bug in PHP where it messes up some cache (Monolog\LogRecord is not an interface at all). We heard about a similar issue in the Symfony issue tracker a few days/weeks ago.

this looks like a bug in PHP where it messes up some cache (Monolog\LogRecord is not an interface at all). We heard about a similar issue in the Symfony issue tracker a few days/weeks ago.

@stof Do you have a link of it?
I add that if we restart PHP process, Monolog works again (then crashes again 30min/1h later).

See https://github.com/symfony/symfony/issues/47653 for the report in the Symfony issue tracker.

Is this PHP 8? 8.2RC?

Is this PHP 8? 8.2RC?

@PhilETaylor 8.1.0 :)

Bug logged at php-src https://github.com/php/php-src/issues/9675

For me, in PHP 8.2, This seems resolved in PHP 8.2 RC 6 released this week so "maybe" connected to something contained in https://news-web.php.net/php.internals/118991

Closing as I'm assuming this is due to a PHP bug, @julienchey please reopen if it is still happening with an up to date PHP.

I've encountered an issue with Monolog when using it in a WordPress environment with multiple plugins. The problem seems to arise due to a conflict between different versions of Monolog loaded by different plugins.
“I am developing a WordPress plugin (my-plugin) that uses Monolog version 3.7.0. Meanwhile, another plugin installed in the same WordPress environment (Google Listings and Ads for WooCommerce) is using an older version of Monolog (2.9.0). This version mismatch is causing a critical conflict when trying to log records.”
Fatal error: Uncaught Error: Cannot instantiate interface Monolog\LogRecord in /var/www/html/wp-content/plugins/my-plugin/vendor/monolog/monolog/src/Monolog/Logger.php:358
Stack trace:
#0 /var/www/html/wp-content/plugins/my-plugin/vendor/monolog/monolog/src/Monolog/Logger.php(619): Monolog\Logger->addRecord(Object(Monolog\Level), 'ECBAbstractApi....', Array)
#1 /var/www/html/wp-content/plugins/my-plugin/libs/api/ECBAbstractApi.php(75): Monolog\Logger->notice('ECBAbstractApi....')
#2 /var/www/html/wp-content/plugins/my-plugin/libs/api/ECBAuth.php(116): ecb\libs\api\ECBAbstractApi->__construct(Array)
#3 /var/www/html/wp-content/plugins/my-plugin/functions.php(46): ecb\libs\api\ECBAuth->__construct()
#4 /var/www/html/wp-includes/class-wp-hook.php(324): upsert_ecb_user('')
#5 /var/www/html/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters(NULL, Array)
#6 /var/www/html/wp-includes/plugin.php(517): WP_Hook->do_action(Array)
#7 /var/www/html/wp-includes/pluggable.php(48): do_action('set_current_use...')
#8 /var/www/html/wp-includes/user.php(3674): wp_set_current_user(1)
#9 /var/www/html/wp-includes/pluggable.php(70): _wp_get_current_user()
#10 /var/www/html/wp-includes/user.php(658): wp_get_current_user()
#11 /var/www/html/wp-content/plugins/jetpack/jetpack_vendor/automattic/jetpack-connection/src/class-manager.php(731): get_current_user_id()
#12 /var/www/html/wp-content/plugins/jetpack/jetpack_vendor/automattic/jetpack-connection/src/class-tracking.php(234): Automattic\Jetpack\Connection\Manager->is_user_connected()
#13 /var/www/html/wp-content/plugins/jetpack/class.jetpack.php(953): Automattic\Jetpack\Tracking->should_enable_tracking(Object(Automattic\Jetpack\Terms_Of_Service), Object(Automattic\Jetpack\Status))
#14 /var/www/html/wp-includes/class-wp-hook.php(324): Jetpack->configure('')
#15 /var/www/html/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters('', Array)
#16 /var/www/html/wp-includes/plugin.php(517): WP_Hook->do_action(Array)
#17 /var/www/html/wp-settings.php(555): do_action('plugins_loaded')
#18 /var/www/html/wp-config.php(133): require_once('/var/www/html/w...')
#19 /var/www/html/wp-load.php(50): require_once('/var/www/html/w...')
#20 /var/www/html/wp-admin/admin.php(34): require_once('/var/www/html/w...')
#21 /var/www/html/wp-admin/plugins.php(10): require_once('/var/www/html/w...')
#22 {main}
  thrown in /var/www/html/wp-content/plugins/my-plugin/vendor/monolog/monolog/src/Monolog/Logger.php on line 358

Directory Structure:
Here's a simplified structure of the relevant parts of the plugins directory:
my-plugin
├── composer.json
├── composer.lock
├── vendor
│   │   └── monolog //3.7.0
│   │       └── src
│   │           └── Monolog
│   │               ├── Attribute
│   │               ├── Formatter
│   │               ├── Handler
│   │               ├── Processor
│   │               ├── Logger.php  // class LogRecord implements ArrayAccess
│   │               ├── LogRecord.php
│   │               └── Test

google-listings-and-ads //Google for WooCommerce
├── composer.json
├── composer.lock
├── google-listings-and-ads.php
├── vendor
│   ├── composer
│   ├── monolog //2.9.3
│   │   └── monolog
│   │       └── src
│   │           └── Monolog
│   │               ├── Attribute
│   │               ├── Formatter
│   │               ├── Handler
│   │               ├── Processor
│   │               ├── Logger.php
│   │               ├── LogRecord.php // interface LogRecord extends \ArrayAccess
│   │               └── Test

The Core of the Issue
In Monolog 3.7.0, LogRecord is a class:
// my-plugin => Monolog v3.7.0
class LogRecord implements ArrayAccess
{
    // Class implementation
}

In Monolog 2.9.0, LogRecord is an interface:
// Google Listings and Ads => Monolog v2.9.0
interface LogRecord extends ArrayAccess
{
    // Interface methods
}

“When my plugin attempts to log a message, Monolog tries to instantiate the LogRecord class:”
 $record = new LogRecord(
                datetime: $datetime ?? new DateTimeImmutable($this->microsecondTimestamps, $this->timezone),
                channel: $this->name,
                level: self::toMonologLevel($level),
                message: $message,
                context: $context,
                extra: [],
            );

“However, due to the conflict, it's trying to instantiate the LogRecord from the Google Listings and Ads plugin (which is an interface), rather than from my plugin’s version of Monolog, leading to a fatal error.”
Possible Cause
The root cause seems to be that WordPress loads multiple plugins, each with its own dependencies, leading to conflicting class/interface definitions across different versions of Monolog. Since both versions of Monolog define LogRecord but with different types (class vs. interface), it leads to unexpected behavior.
Environment:
PHP Version: 8.2.23
WordPress Version: 6.6.1
Monolog Version: 3.7.0 (in my-plugin)
Monolog Version: 2.9.0 (in Google Listings and Ads)

@YazidKHALDI maybe you can manually do this to force it to include the monolog 3 version, which may fix it, or may break somewhere else I'm not entirely sure..
if (!class_exists('Monolog\LogRecord', false)) {
    include __DIR__ . '/../../path/to/vendor/monolog/monolog/src/Monolog/LogRecord.php';
}

There is no real solution though to this problem, PHP is not made to include two different versions of a library at once.. Unfortunately if the above doesn't work I am not sure what you can do here.


[HOLD] Add bulk_max_repetitions config

HOLD: We might not want to expose this config since it's too low level. Other fixes like this might be enough to help:

https://github.com/DataDog/datadog-agent/pull/8575

Motivation https://github.com/DataDog/datadog-agent/pull/8432

Closing for now, since we might not want to make this low level config too visible.


godoc: Documentation not displayed due to license restrictions.

Trying to view Go package doc in https://pkg.go.dev/github.com/package-url/packageurl-go shows the message:

Documentation not displayed due to license restrictions.
See our license policy.

Does anybody know what license issue they might be referring to? The repo is licensed under MIT, but maybe the mit.LICENSE symlink is causing pkg.go.dev to get confused?

Hi @imjasonh, I will have a look at this. Maybe the newest release v0.1.1 fixed the issue.


Improve UX

Short description of what this resolves:
This PR improves the UX of Settings Sync
Changes proposed in this pull request:

...https://github.com/shanalikhan/code-settings-sync/pull/960#issuecomment-512782903
Bind checkbox to state

Fixes: https://github.com/shanalikhan/code-settings-sync/pull/960#issuecomment-512782903
How Has This Been Tested?

Download without config (no skip button, download initiated after gist selected)
Upload without config (skip button, upload initiated after gist selected or skipped)
Checkbox binding checked by changing the state and reopening the page

Checklist:

[x] I have read the contribution guidelines.

@arnohovhannisyan Thanks, okay let me go with one by one as discussed.

On Startup
When user click on Login with Github and click on skip button. - Done

On Upload - See Comment
When token and GIST is not configured, page does open along with the warning of invalid GIST.

Invalid GIST error should not appear when GIST is empty. - Done
When user gets the token and select any gist. It should start the upload process automatically as User is coming from On Upload process. - Done
If user click on Skip button, it should start the upload process create the new GIST as User is coming from On Upload Process. - Done
Comments: If there is no Gist found or the list is empty, there should be message similar to "To Gist attached with your account, Skip this window and upload the settings to create new Gist"

On Download - See comment First is show stopping
When token and GIST is not configured, page does open along with Invalid GIST error.

Invalid GIST error should not appear when GIST is empty - Done
When user gets the token
On Gist Page, Skip button should be hidden as user wants to download, instead we can show close button to stop the process - Done
When user select any GIST, it should start downloading process as user is coming from On Download process
Comments :
1. If there is no GIST found or the list is empty, there should be message similar to  "No Gist attached with your account. Skip this window and upload the settings to create new Gist"
2. When user selects the GIST, the tab is automatically switched to Welcome Page hence download is stopped. I had to go to that tab and click on the code model button in order to initiate the download process.

New Github user.
If there is no GIST available to Github user attached. Login to Github does not show anything that it has fetched the token. We need to show that screen everytime even there is no GIST attached. ( tried to new github account).
Comments: If there is no Gist found or the list is empty, there should be message similar to "To Gist attached with your account, Skip this window and upload the settings to create new Gist"

What are your thoughts?
Thanks, i have got the application access.

@arnohovhannisyan when can you fix the improvements mentioned.

@shanalikhan I'm not sure. If I have time, I'll fix the things you mentioned tomorrow.

alright.


e2e test fails with additionalPrinterColumns in v1 CRDs

Bug Report
What did you do?
Create v1 CRDs which include additionalPrinterColumns i.e.
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: dashboards.appconnect.ibm.com
spec:
  group: appconnect.ibm.com
  names:
    categories:
    - all
    - ace
    - cp4i
    kind: Dashboard
    listKind: DashboardList
    plural: dashboards
    singular: dashboard
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - jsonPath: .status.versions.reconciled
      name: ResolvedVersion
      type: string
    - jsonPath: .status.replicas
      name: Replicas
      type: integer
    - jsonPath: .status.customImages
      name: CustomImages
      type: boolean
    - jsonPath: .status.conditions[0].type
      name: Status
      type: string
    - jsonPath: .status.conditions[0].lastTransitionTime
      name: LastUpdate
      type: date
.......

These were generated using operator-sdk generate crds --crd-version v1. These CRDs will deploy fine. When running e2e test, it fails. If I switch the CRDs to use the v1beta1 API then the e2e runs without issue.
What did you expect to see?
The e2e test to run as normal
What did you see instead? Under which circumstances?
Running e2e results in an error being thrown
Robs-MBP-3:ibm-appconnect convery$ operator-sdk test local ./test/e2e --operator-namespace ace-rob --verbose --up-local
DEBU[0000] Debug logging is set
INFO[0000] Testing operator locally.
DEBU[0000] Running []string{"go", "test", "./test/e2e/...", "-namespacedMan", "/var/folders/6g/crzgld9x4wg_5sysdlp5l0nh0000gn/T/empty.yaml936751762", "-globalMan", "/var/folders/6g/crzgld9x4wg_5sysdlp5l0nh0000gn/T/global-manifest.yaml021941961", "-root", "/Users/convery/Documents/GitHub-IBM/ACEcc/ibm-appconnect-operator/stable/ibm-appconnect-bundle/operators/ibm-appconnect", "-parallel=1", "-localOperator", "-skipCleanupOnError=false"}
time="2020-05-11T15:46:19+01:00" level=fatal msg="failed to create resource(s) in global resource manifest: CustomResourceDefinition.apiextensions.k8s.io \"dashboards.appconnect.ibm.com\" is invalid: [spec.additionalPrinterColumns[0].JSONPath: Required value, spec.additionalPrinterColumns[1].JSONPath: Required value, spec.additionalPrinterColumns[2].JSONPath: Required value, spec.additionalPrinterColumns[3].JSONPath: Required value, spec.additionalPrinterColumns[4].JSONPath: Required value]"
FAIL	github.ibm.com/Cloud-Integration/ibm-appconnect-operator/test/e2e	15.078s
?   	github.ibm.com/Cloud-Integration/ibm-appconnect-operator/test/e2e/testcontentserver	[no test files]
?   	github.ibm.com/Cloud-Integration/ibm-appconnect-operator/test/e2e/testcontentserver/contentserver	[no test files]
FAIL
FATA[0020] Failed to build test binary: failed to exec []string{"go", "test", "./test/e2e/...", "-namespacedMan", "/var/folders/6g/crzgld9x4wg_5sysdlp5l0nh0000gn/T/empty.yaml936751762", "-globalMan", "/var/folders/6g/crzgld9x4wg_5sysdlp5l0nh0000gn/T/global-manifest.yaml021941961", "-root", "/Users/convery/Documents/GitHub-IBM/ACEcc/ibm-appconnect-operator/stable/ibm-appconnect-bundle/operators/ibm-appconnect", "-parallel=1", "-localOperator", "-skipCleanupOnError=false"}: exit status 1

Environment

operator-sdk version: 0.17.0
go version: 0.13.5
Kubernetes version information: v1.17.1
Kubernetes cluster kind: OCP 4.4
Are you writing your operator in ansible, helm, or go? Go

Possible Solution

Additional context
Add any other context about the problem here.

@IBMRob did you modify the generated CRD manifest by hand? Looks like your validation schema syntax is invalid:
  versions:
  - additionalPrinterColumns:
    - jsonPath: .status.versions.reconciled
      name: ResolvedVersion
      type: string

should be:
  versions:
  - schema:
      openAPIV3Schema:
  		additionalPrinterColumns:
    	- jsonPath: .status.versions.reconciled
      	  name: ResolvedVersion
      	  type: string

according to CRD versioning docs.
/triage support

@estroz - According to that page I think our CRD is valid. It shows the example of
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: crontabs.stable.example.com
spec:
  group: stable.example.com
  scope: Namespaced
  names:
    plural: crontabs
    singular: crontab
    kind: CronTab
    shortNames:
    - ct
  versions:
  - name: v1
    served: true
    storage: true
    schema:
      openAPIV3Schema:
        type: object
        properties:
          spec:
            type: object
            properties:
              cronSpec:
                type: string
              image:
                type: string
              replicas:
                type: integer
    additionalPrinterColumns:
    - name: Spec
      type: string
      description: The cron spec defining the interval a CronJob is run
      jsonPath: .spec.cronSpec
    - name: Replicas
      type: integer
      description: The number of jobs launched by the CronJob
      jsonPath: .spec.replicas
    - name: Age
      type: date
      jsonPath: .metadata.creationTimestamp\

This shows that additionalPrinterColumns comes under versions.
Using operator-sdk generate crds and the e2e test works
Using operator-sdk generate crds --crd-version v1 and the e2e test fails.  We don't manually edit and of the files CRDs

You are correct, I wasn't looking at the scheme correctly. I'm looking into this now.

Funnily enough I'm seeing the opposite of your issue on both v1.17 and v1.18 clusters:
$ kubectl apply-f crd-v1.yaml
customresourcedefinition.apiextensions.k8s.io "crontabs.stable.example.com" created

$ kubectl apply -f crd-v1beta1.yaml
error: error validating "crd-v1beta1.yaml": error validating data: [ValidationError(CustomResourceDefinition.spec.versions[0].additionalPrinterColumns[0]): unknown field "jsonPath" in io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceColumnDefinition, ValidationError(CustomResourceDefinition.spec.versions[0].additionalPrinterColumns[0]): missing required field "JSONPath" in io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceColumnDefinition, ValidationError(CustomResourceDefinition.spec.versions[0].additionalPrinterColumns[1]): unknown field "jsonPath" in io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceColumnDefinition, ValidationError(CustomResourceDefinition.spec.versions[0].additionalPrinterColumns[1]): missing required field "JSONPath" in io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceColumnDefinition, ValidationError(CustomResourceDefinition.spec.versions[0].additionalPrinterColumns[2]): unknown field "jsonPath" in io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceColumnDefinition, ValidationError(CustomResourceDefinition.spec.versions[0].additionalPrinterColumns[2]): missing required field "JSONPath" in io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceColumnDefinition]; if you choose to ignore these errors, turn validation off with --validate=false

I found the issue: v1 CRD Go types have the jsonPath struct JSON tag, while v1beta1 CRD types have JSONPath. It seems somewhere, either during some internal conversion step or generation, the path isn't updated. This is definitely a bug, just not sure where yet.
/kind bug
/remove-triage support

@IBMRob running generate crds with --crd-version values of both v1 and v1beta1 gave me valid CRD manifests. I have the +kubebuilder:printcolumn on my type to set additionalPrinterColumns; I assume that is what you're doing as well? I'll look at any conversions the test framework does next for potential issues.

@estroz - Yeah I have the following lines in my types.go
// +kubebuilder:printcolumn:name="ResolvedVersion",type=string,JSONPath=`.status.versions.reconciled`
// +kubebuilder:printcolumn:name="Replicas",type=integer,JSONPath=`.status.replicas`
// +kubebuilder:printcolumn:name="CustomImages",type=boolean,JSONPath=`.status.customImages`
// +kubebuilder:printcolumn:name="Status",type=string,JSONPath=`.status.conditions[0].type`
// +kubebuilder:printcolumn:name="LastUpdate",type=date,JSONPath=`.status.conditions[0].lastTransitionTime`

As you say the CRDs appear to be valid and apply with no issue so suspect it is some conversion somewhere. Thanks for investigating

@IBMRob apologies if I'm misunderstanding, but you're saying the issue is resolved?

@estroz - Sorry for the confusion -  no the issue is still there. I was clarifying that the generated CRDs do appear to be valid and will apply to a cluster without issue.  The issue only occurs when attempting to run the e2e framework which results in the error highlighted.

/assign

@IBMRob can you check if your issue is fixed by #3121 if possible? Thanks.

This apparently isn't closed: https://github.com/operator-framework/operator-sdk/issues/3147#issuecomment-637044316.

I'm fairly certain this was fixed by #3121 after running some local tests. If anyone has an example showing that this is still broken, please comment and I'll re-open this issue.

Hello @estroz Is there any plan to backport the fix to the 0.17.x branch by any chance?
Maybe my scenario is uncommon, but we are using 0.17.x to develop an Operator with backward compatibility to Kubernetes v1.17.0, v1.18.0 and v1.19.0. This situation forces us to use apiextensions.k8s.io/v1 as the required CRD ApiVersion and build the operator with 0.17.x, hitting this issue when executing the e2e tests.

Hi @yersan,
I'd like to share that you can use the flag --crd-version to still generating the CRD resources with apiextensions.k8s.io/v1beta1. So, it would not be a blocker for you to upgrade your project at all.

Hello @camilamacedo86 , thanks for your response.
Right, I can use --crd-version to generate the version I want, that's not the issue I have. In my scenario, I have to keep the project building with SDK 0.17.x because my target environments are Kubernetes v1.17.0, v1.18.0 and v1.19.0. I need to build a compatible Operator to run on those three Kubernetes versions. My understanding is the mayor SDK I can use to cope these three Kubernetes releases is SDK 0.17.x.
However, with SDK 0.17.x I cannot execute the e2e tests if my CRD ApiVersion is apiextensions.k8s.io/v1, due to this issue. And, I need the ApiVersion on v1 because one of the target environments will be v1.19.0. So, basically, I cannot use SDK 0.17.x to run the e2e tests against a Kubernetes v1.19.0.
For sure, I can build the project with SDK 0.17.x, keeping the CRD ApiVersion as apiextensions.k8s.io/v1 and, when I am running the e2e tests against v1.19.0 use an SDK 0.18.x. However I would prefer to use a matching SDK version for building and for testing.

Hi @yersan,
This issue is already closed so if you need a help I'd like to suggest you raise a new issue. Regards your comments following some pieces of information that may help you with.
I'd recommend you migrate your project to the new layout and use 1.0. Also, see that with 1.0 you will have the envtest and with you can indeed choose the binaries and versions which will be used to simulate the k8s actions.
The version of sdk should not interfere in the compatibility with k8s cluster and your tests. The projects built with will work successfully in k8s clusters 1.11+ or 1.16+ in your case that you are using v1 by default.


fby3.5: rf: Disable GPIO internal Pull-Down

Summary:

Disable GPIO internal Pull-Down.

Test Plan:

Build code: PASS.

Hi @quanta-Irenelin, Looks like you will also need to submit a CLA.


alterItems now works with an async callback function

Summary
alterItems did not work with a async callback function. See https://github.com/feathers-plus/feathers-hooks-common/issues/367
This PR fixes #367
Documentation at: https://github.com/feathers-plus/docs/pull/19

Feathers is supported on NodeJS v6 and v8. v6 does not support async/await.
The actual hooks cannot use async/await anywhere.
Its preferable the tests use async/await as little as possible. Where that is awkward, the tests can be placed in folder tests-async and called from tests using a stub like fast-join-stub.test.js.

Ah okay. I will implement the changes asap :)

Hey, I updated the code and the tests and removed every async / await

Thank you.

In v4.12.0. Docs updated.

This breaks my workflow with synchronous alterItems, they all turn into promises, it's a breaking change.
I think if there is no asynchronous then we should not return a promise.

Hmm, I think it would be cleaner to change the docs. Because different return values based on the callback might be confusing:

Callback func returns not a promise: Don't return a promise
Callback func returns a promise: Return a promise
Callback func returns a promise for some records: Return a promise

@eddyystop What do you think?
PS: How do you use alterItems? If you use it as normal hook it should simply work. Do you call it yourself in a custom hook?

I don't think sync-type calls should return a Promise.
Maybe we need only remove the following as a non-Promise value is considered to be a resolved promise.
        // If the result is not a promise, wrap it in one
        if (!resultPromise || typeof resultPromise.then !== 'function') {
          resultPromise = Promise.resolve(resultPromise);
        }

Can you modify the code and confirm this works @bertho-zero ?

@eddyystop Don't get what you're trying to say 😄
What about this solution: https://gist.github.com/sean-nicholas/e93068b08239eac55b7140e31fb4c9c4
Be careful. I hacked it together. It does not use the hook context and therefore does not work with feathers. I just ran it in a quokka env to test it and therefore simplified the in- & output.
It now behaves as I outlined in my other comment:

Callback func returns not a promise: Don't return a promise
Callback func returns a promise: Return a promise
Callback func returns a promise for some records: Return a promise

hasPromises is the most viable solution in my opinion. (I did not test the code)

What you suggest should work. It was used at least in some old common hook code; maybe its still used.
I would suggest calculating hasPromises within the map loop.
I can fix the hook Wed or Thurs, else I can look at a PR.
[As for what I was trying to say, and I admit its a quibble, if you have myPromise.then(a => console.log(a)) there is no guarentee that this then runs immediately after myPromise is resolved. A then or catch from another promise could run first.]

@sean-nicholas, please check https://github.com/feathers-plus/feathers-hooks-common/pull/409 works with your code.

#409 works for me 👍


Guest checkout crashes on addresses

Looks like the absence of addresses for a guest causes an error on Checkout.

Closed by a5ccdc0417628563348f955d5abca20ca0aa6e3d


Fix: LoaderInterface::load first param is now explicitly mixed

The first param of LoaderInterface::load() is a explicit mixed type, see https://github.com/symfony/symfony/blob/6.0/src/Symfony/Component/Config/Loader/LoaderInterface.php
The config now even reverts code that already uses the mixed type, see the demo here: https://getrector.com/demo/00f8e37c-2d2b-4305-a939-e82d84ae85cf

Thank you :+1:

Thank you @keulinho


[esm-amd-loader] Add a hook for all-modules-loaded?

It would be nice to have an event fire or a place to setup a callback on window.defineCompleted for that all modules are finished loading.  Would be a potentially better alternative than the wrapped calls in build's html-transform.

@aomarks curious if you had thought of doing this when you wrote it?

I kind of want to encourage as little special casing here as possible. There is no event for when real ES modules are finished loading, so I'd prefer we don't have one in our loader either. That way people are less likely to write forwards-incompatible code that special cased a particular behavior of this loader. You can get a notification for when all initial modules are loaded by firing an event from a type=module script at the end of the document, and that will work both natively and with the loader with the same timing.