Verify PeerList with Stainless

This is a first trial to introduce cargo stainless and let it run on the PeerList.
Problems that came up:

[x] No support for constants epfl-lara/rust-stainless#73
[x] No type aliases https://github.com/epfl-lara/rust-stainless/issues/141
[x] contracts crate has a ==> macro feature for implies in specs. (won't fix)
[x] Stainless collections don't have the same names as Rust's std ones. Examples: Stainless Map has contains instead of contains_key, the Set has add instead of insert. https://github.com/epfl-lara/rust-stainless/issues/144
[x] No mutable references/borrowing, this was easily circumvented by locally mutating and consuming the self: 858da861b11a3a5ff1f0c8fa6e26775cad0ed1b3. https://github.com/epfl-lara/rust-stainless/issues/145
[x] External files with modules of the same crate work. But, the mod xx; use xx::*; and the corresponding use super::*; fail as unsupported trees. https://github.com/epfl-lara/rust-stainless/issues/146
[x] Sometimes, Stainless complains that it can't extract the tree kind lifetime. Could these just be ignored? Example: pub fn first(&self) -> Option<&T> { ... }. https://github.com/epfl-lara/rust-stainless/issues/147
[x] No higher-order functions for things like iter().all(...). This was easily circumvented by creating some new set methods.
[x] The trait bounds that are now required on stainless::{Set, Map}, namely T:  Eq + Hash + Clone, force users that also implement something generic (for example the ListSet) to put the same trait bounds on their implementation. These bounds then create evidence arguments everywhere that are for types that are not extracted. Hence, Stainless fails with missing dependencies. Unfortunately, this makes the new runtime implementations for stainless::{Set, Map} quite unusable.

[x] One idea was to conditionally (on --cfg stainless) compile with the trait bounds for the runtime version and without them for cargo stainless. This fails due to the one-crate-only compilation model. The stainless::{Set, Map} are outside of the current crate. Could a prelude be the solution to this?
[x] Another idea would be to ignore/erase all the three traits Eq + Hash + Clone and their corresponding evidence args.
[ ] The final idea is https://github.com/epfl-lara/rust-stainless/issues/143

Findings (Tendermint-related)

[x] The postconditions on the two methods replace_faulty_witness, replace_faulty_primary only hold if the precondition includes/validates the invariant. Should this be added / was that implicitly assumed?

Referenced an issue explaining the need for the change
Updated all relevant documentation in docs
Updated all code comments where relevant
Wrote tests
Updated CHANGELOG.md

Codecov Report

Merging #866 (bb763d6) into master (4fa065b) will increase coverage by 0.0%.
The diff coverage is n/a.

:exclamation: Current head bb763d6 differs from pull request most recent head 7093d06. Consider uploading reports for the commit 7093d06 to get more accurate results

@@          Coverage Diff           @@
##           master    #866   +/-   ##
======================================
  Coverage    67.0%   67.0%
======================================
  Files         212     212
  Lines       16771   16779    +8
======================================
+ Hits        11244   11251    +7
- Misses       5527    5528    +1

Impacted Files
Coverage Δ

tendermint/src/signature.rs
56.4% <0.0%> (-4.2%)
:arrow_down:

light-client/src/types.rs
30.9% <0.0%> (+0.2%)
:arrow_up:

testgen/src/vote.rs
84.6% <0.0%> (+0.8%)
:arrow_up:

tendermint/src/block/commit_sig.rs
79.5% <0.0%> (+2.2%)
:arrow_up:

p2p/src/secret_connection/protocol.rs
68.0% <0.0%> (+3.0%)
: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 4fa065b...7093d06. Read the comment docs.

The postconditions on the two methods replace_faulty_witness, replace_faulty_primary only hold if the precondition includes/validates the invariant. Should this be added / was that implicitly assumed?

Good catch, feel free to open a PR to fix this, and make sure to mention there how you figured this out :)

Codecov Report

Merging #866 (67579bc) into master (4fa065b) will increase coverage by 0.0%.
The diff coverage is n/a.

@@          Coverage Diff           @@
##           master    #866   +/-   ##
======================================
  Coverage    67.0%   67.0%
======================================
  Files         212     212
  Lines       16771   16768    -3
======================================
  Hits        11244   11244
+ Misses       5527    5524    -3

Impacted Files
Coverage Δ

rpc/src/endpoint/blockchain.rs
40.0% <0.0%> (-60.0%)
:arrow_down:

rpc/src/endpoint/validators.rs
20.0% <0.0%> (-30.0%)
:arrow_down:

light-client/src/types.rs
30.1% <0.0%> (-0.6%)
:arrow_down:

abci/src/server.rs
7.6% <0.0%> (+<0.1%)
:arrow_up:

light-client/src/macros.rs
15.4% <0.0%> (+0.1%)
:arrow_up:

tendermint/src/block/commit_sig.rs
79.5% <0.0%> (+2.2%)
:arrow_up:

rpc/src/endpoint/abci_query.rs
21.4% <0.0%> (+3.7%)
:arrow_up:

rpc/src/endpoint/broadcast/tx_async.rs
100.0% <0.0%> (+60.0%)
: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 4fa065b...67579bc. Read the comment docs.

Is this PR still relevant in any way?


Network manager support

@petrosagg @Page- @jviotti @alexandrosm please review.
It works in the same way as the previous version if the user calls either; ./start or node app.js, it breaks if the user has integrated the start script into their own code.
Passing all tests inside ManualTests.md
I think we can merge into master with the changes made but it should still be released as a new version 2.0.0

@petrosagg @Page- @jviotti Please can I get two LGTMs' so I can merge this. Thanks

@Page- would you mind giving a final once over and LGTM so I can get this merged? Thanks


Sets,Relations and Functions

Hi! I would like to add about sets relations and functions their types and their differences with examples

Go ahead
Deadline 31 March,2021 (11:59 PM IST)


Update PR: Add Uninstall CTT PowerShell Profile feature (#3012)

Type of Change

[x] New feature
[ ] Bug fix
[ ] Documentation update
[ ] Refactoring
[ ] Hotfix
[ ] Security patch
[x] UI/UX improvement

Description
Implements the ability to uninstall the CTT PowerShell Profile and all its related dependencies.
Testing
I have tested the profile uninstallation functionality by running it in the following test scenarios:

Baseline: Installing the CTT PowerShell Profile
Test 1: Uninstallation of OhMyPosh dependency: [✅] Successful
Test 2: Uninstallation of Nerd Fonts dependency: [❓] Conditional

Additional Context: See Notes for Test 2 in Additional Information.

Test 3: Uninstallation of Terminal-Icons dependency: [✅] Successful
Test 4: Uninstallation of Zoxide dependency: [✅] Successful
Test 5: Skipping uninstallation of in-use dependencies: [✅] Successful
Test 6: Uninstallation of CTT PowerShell Profile: [✅] Successful

Impact

Covered by ## Description, ## Testing, and ## Additional Information.

Issue related to PR
N/A
Additional Information
New Files Created

$PSProfile.hash: A file that stores the hash of the CTT PowerShell Profile; this is used to check if the profile is installed on the system.

Additional Context:

The path is derived from the $PSProfile variable with .hash being appended to the end of the file path.
Example Hash File Path: C:\Users\<user>\Documents\PowerShell\Microsoft.PowerShell_profile.ps1.hash.
This file will be cleaned up and removed when the CTT PowerShell Profile is uninstalled from the system.
$PSProfile.bak: A file that is used as a backup of the PowerShell profile prior to the CTT PowerShell Profile being installed on the system.

Additional Context:

The path is derived from the $PSProfile variable with .bak being appended to the end of the file path.
Example Backup File Path: C:\Users\<user>\Documents\PowerShell\Microsoft.PowerShell_profile.ps1.bak.
This file will be moved back to the original PowerShell profile's location when the CTT PowerShell Profile is uninstalled from the system.

Notes For Test 2

Note 1: Nerd Fonts won't always be installed due to an issue with the setup script for the PowerShell profile.
Note 2: If the font is not installed, the user will see the message: ===> Already Uninstalled: Nerd Fonts. <===.

Checklist

[x] My code adheres to the coding and style guidelines of the project.
[x] I have performed a self-review of my own code.
[ ] I have commented my code, particularly in hard-to-understand areas.
[x] I have made corresponding changes to the documentation.
[x] My changes generate no errors/warnings/merge conflicts.

Additional Changes

Removed the documentation files and links I added for PowerShell-Profile.
Removed the Create WinUtil Shortcut feature that was removed in an earlier PR.

Checklist

[x] My code adheres to the coding and style guidelines of the project.
[x] I have performed a self-review of my own code.
[ ] I have commented my code, particularly in hard-to-understand areas.
[x] I have made corresponding changes to the documentation.
[x] My changes generate no errors/warnings/merge conflicts.

@og-mrk I think that's all of them, can you please review this and let me know if I need to make any other changes?

These changes looks good to me, thanks @Cryostrixx 😄

Thanks for the feedback! If any other changes need to be made later, please feel free to @ me in the comments! :)

I am not sure if it is the fault of this PR, but when removing my powershell just stops working. terminal.exe, pwsh.exe and powershell.exe... even if running as admin.
An invisible window will appear if starting powershell / pwsh directly without terminal

I am not sure if it is the fault of this PR, but when removing my powershell just stops working. terminal.exe, pwsh.exe and powershell.exe... even if running as admin. An invisible window will appear if starting powershell / pwsh directly without terminal for a second before closing again

Interesting... I have never seen this before, and as far as I know, it is not caused by this PR.
Can you provide the following information for me?

Your Windows Version
Your PowerShell version
The version of WinUtil you ran.
And any errors you got.

  I used the compiled version of this PR Did not get any error, looked fine

Since it appears you can't run PowerShell, can you open Command Prompt as admin and run these two commands?

dism /online /cleanup-image /restorehealth
sfc /scannow

Once they are complete, please share the results.
While you are doing that I will match your software version so I can test it in an environment close to yours.

did a bit more testing and I think I know why. (this is the first and only time it did that to me)
it does not open at all, exept if you restart your devide, terminal gives me the error that the nerd font could not have been found

did a bit more testing and I think I know why. (this is the first and only time it did that to me) it does not open at all, exept if you restart your devide, terminal gives me the error that the nerd font could not have been found.

The issue with Nerd Fonts is normal, I added a condition for it so that it will let the user know it was not found during the uninstallation, I don't know why but sometimes it just doesn't get installed (or uninstalled) correctly, it'll pop up a bunch of dialogs asking to replace a font file but it won't install.
Still, you might want to check for system corruption with those commands I shared as a bad update can easily cause rendering issues with UWP apps like Windows Terminal.

Hello, @MyDrift-user! Just to let you know I did test it again with a version closer to yours (Windows 11 Home 24H2, PowerShell 7.4.6) and it does not appear to be reproducible, leading me to believe it is a Windows bug that causes the invisible PowerShell windows; likely due to corrupted system files or a bad Windows update:
Here are the screenshots of it running in all four environments (PS5 and PS7 with and without Windows Terminal):


Reading Body

I have the following issue whith "theme download" command:

Status: Ok
Errors: Client timeout exceeded while reading a body.

please try and increase your timeout limit by setting timeout: 60s in your configuration.

Hi,
I'm allso getting the same issue: Status: 200 OK 	Errors: net/http: request canceled (Client.Timeout exceeded while reading body)
Increased the timeout to 60s didn't help.

@plisvb @KaBrau08 That exact error message is the message you get when your request times out. This either means that your connection is slow or your request is large. You should keep increasing the timeout until it works again. As a note, your request would be large if your project has any large files in it like video files or very large images.

theme download --timeout 420s
This fixed it for me

@charlesemarsh Thanks for confirming this.


prediction like 0.00390625

When I run inference as shown below, no matter what I say, whether it’s ‘Alexa,’ ‘Hey Jarvis,’ or ‘Okay Nabu,’ the prediction always comes out like this: [0.00390625, 0.00390625, 0.0078125].
`
from microwakeword.inference import Model
import pyaudio
import queue
import numpy as np
import time
def callback(in_data, frame_count, time_info, status):
listen_queue.put(in_data)
return None, pyaudio.paContinue
listen_p = pyaudio.PyAudio()
listen_stream = listen_p.open(format=pyaudio.paInt16,
channels=1,
rate=16000,
input=True,
frames_per_buffer=1280,
stream_callback=callback)
model = Model("microwakeword/models/okay_nabu.tflite")
listen_queue = queue.Queue()
while True:
if not listen_queue.empty():
chunk = listen_queue.get()
data = np.frombuffer(chunk, dtype=np.int16)
start_time = time.time()
output = model.predict_clip(data)
print("Time taken: ", time.time() - start_time)
print(output)
`
What am I doing wrong?

The predict_clip function uses the TF libraries to generate the spectrogram features. The problem is, this library doesn't handle a streaming setup; it resets the state with each call. Since the spectrogram features have some built in noise suppression and AGC, resetting the state completely messes this up, and so it isn't a surprise that the model doesn't detect it.
https://github.com/OHF-Voice/pymicro-wakeword has a way to perform streaming inference by not using the Tensorflow libraries to generate the features. You should be able to adapt the code there to fit it into the code you posted.

Thank you! It works!
However, I have some sad news.
I attempted to run microword on the web using JavaScript.
Referring to pymicro-wakeword, I successfully bound micro_frontend as a JavaScript module. When using the same audio buffer as input, I get the same output as the Python module.
However, there was an issue where the output differed from Python when running the microwakeword tflite model on the web. I generated temporary test data with a shape of [1,3,40] and values ranging from -128 to 127, and even though the input was the same, the outputs were different between the Python and JavaScript inferences.
Do you happen to know anything about this issue?

Just a guess, but I remember having issues with the Javascript version of onnxruntime too because it defaulted to the wrong datatype for tensors (float64?). Maybe TFLite is similar, and you have to be more explicit with the datatypes?

Thank you. Since tfjs doesn’t support int8 type, I adjusted the range to -128 to 127 and used int32 instead. The main difference is that in Python, I used a [1,3,40] int8 tensor with all elements set to -128 as the input, whereas in JavaScript, I used a [1,3,40] int32 tensor with all elements set to -128(I did see a console warning message saying 'int32 converting int8,'). The input should essentially be the same. It was surprising to see different results despite this.
Now that I think about it, it’s possible that the JavaScript TFLite might have internally modified the input when showing the 'int32 converting int8' message.
Anyway, thank you for helping make it work well in Python.


appstream: 0.12.3 -> 0.12.4

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/appstream/versions.
meta.description for appstream is: '"Software metadata handling library"'.
Compare changes on GitHub

Checks done (click to expand)

built on NixOS
/nix/store/p3f0b3ybfiaap7rfnkhygx1shc2ml0cl-appstream-0.12.4/bin/appstreamcli passed the binary check.
1 of 1 passed binary check by having a zero exit code.
1 of 1 passed binary check by having the new version present in output.
found 0.12.4 with grep in /nix/store/p3f0b3ybfiaap7rfnkhygx1shc2ml0cl-appstream-0.12.4
directory tree listing: https://gist.github.com/1bb4a9e56e2c86f90247f0c76627ce1e
du listing: https://gist.github.com/a87b04ccb5c45c4293666104e8097a4c

Rebuild report (if merged into master) (click to expand)

9 total rebuild path(s)
3 package rebuild(s)
3 x86_64-linux rebuild(s)
3 i686-linux rebuild(s)
0 x86_64-darwin rebuild(s)
3 aarch64-linux rebuild(s)
First fifty rebuilds by attrpath
appstream
appstream-qt
meteo

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/p3f0b3ybfiaap7rfnkhygx1shc2ml0cl-appstream-0.12.4 \
  --option binary-caches 'https://cache.nixos.org/ https://r-ryantm.cachix.org/' \
  --option trusted-public-keys '
  r-ryantm.cachix.org-1:gkUbLkouDAyvBdpBX0JOdIiD2/DP1ldF3Z3Y6Gqcc4c=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(r-ryantm's Cachix cache is only trusted for this store-path realization.)
Or, build yourself:
nix-build -A appstream https://github.com/r-ryantm/nixpkgs/archive/302fe24374484ecf22c3db47c740a4552091feea.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/p3f0b3ybfiaap7rfnkhygx1shc2ml0cl-appstream-0.12.4
ls -la /nix/store/p3f0b3ybfiaap7rfnkhygx1shc2ml0cl-appstream-0.12.4/bin

@GrahamcOfBorg unbreak

@GrahamcOfBorg build appstream-qt meteo


ISPN-8263 Taming Hibernate Cache size related random failures

https://issues.jboss.org/browse/ISPN-8263
Marking this as preview to get a few CI runs to verify this is working fine.
I've been running the full Hibernate Cache testsuite with TRACE for a day in one of the CI machines and has not failed again, but I want to leave it over the weekend to run and see whether anything else fails.

Two runs so far, first failed with a known-failure that @danberindei  is working on. The second run failed with a test that we've not seen failing, so I've added it to the spreadsheet and created ISPN-8305 (assigned to @pruivo).

3rd run uncovered a new unstable test we were not aware of (ISPN-8309). Not related to the Hibernate Cache changes. Kicking off another run.

@galderz Are we ready to go with this PR?

@slaskawi There has been 5 builds and 4 failed for non-related issues and 5th one run fine. I'm going to go ahead and squash commits a bit. I'll do that in a few minutes and then this is ready to go in.

@slaskawi Squashed, this is now ready.

Merged, thanks


segfault of Erlang VM during request/reply

Slightly modified request/reply example in master branch cause segfault of erlang VM.
$ erl -pa ebin
Erlang/OTP 17 [erts-6.4] [source] [64-bit] [smp:4:4] [async-threads:10] [kernel-poll:false]

Eshell V6.4  (abort with ^G)
7> c("examples/request_reply.erl", [{o,"examples"}]).
{ok,request_reply}
8> request_reply:start().
sending date request
received date request
sending date Thu, 10 Dec 2015 06:59:12 GMT
sending list ^A^B^C
received date Thu, 10 Dec 2015 06:59:12 GMT
[1]    18630 segmentation fault (core dumped)  erl -pa ebin

Problem code:
-module(request_reply).
-export([start/0]).

start() ->
    enm:start_link(),
    Url = "inproc://request_reply",
    {ok,Rep} = enm:rep([{bind,Url}]),
    {ok,Req} = enm:req([{connect,Url}]),
    DateReq = <<"DATE">>,
    io:format("sending date request~n"),
    ok = enm:send(Req, DateReq),
    receive
        {nnrep,Rep,DateReq} ->
            io:format("received date request~n"),
            Now = httpd_util:rfc1123_date(),
            io:format("sending date ~s~n", [Now]),
            ok = enm:send(Rep, Now),
            L = [1, 2, 3],
            io:format("sending list ~s~n", [L]),
            ok = enm:send(Rep, L)

    end,
    receive
        {nnreq,Req,Date} ->
            io:format("received date ~s~n", [Date])
    end,
    enm:close(Req),
    enm:close(Rep),
    enm:stop().

Environment info:
$ cat OTP_VERSION
17.5
$ uname -a
Linux aromanov 3.13.0-68-generic #111-Ubuntu SMP Fri Nov 6 18:17:06 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.3 LTS
Release:        14.04
Codename:       trusty

Thanks, I'll look into it.

The nanomsg library is raising an EFSM error because you're attempting to send two replies to a single request on a request-reply setup. Still, enm should not die because of this, so I'll fix that.


ACL widget improve adding lines

Adopt same behaviour as for optional items in module component.

Fixed in this commit b95ede66b077df6dd332b48e1ae6cd1a1cbeaded


New features: year mode & week mode

Features added:

Year mode
Week mode

Enhance layouts for better mobile view

Year mode will be default and only mode available for small screen devices.

Hi bro please deploy on the vercel and see the type errors?


Make constraint error details contain useful information for developers

Closes #6768
Changes error details of constraint violations to:
f'violated {constraint_description} on {subject_description}'

... where x_description is the x.get_verbosename()

Let's merge it without waiting for edgedb-python, so we can backport it without needing to bump edgedb-python on those branches


Add testing

WIP

Mmm there is still work to do.
It compiles the tests into client/out instead of out/ dir,
it doesn't minifies the js. I used tsc instead of esbuild to follow the lsp sample


[tool_crash] FormatException

Command
flutter build ios --debug

Steps to Reproduce

...
...
...

Logs
FormatException
#0      _Utf8Decoder.convertChunked (dart:convert-patch/convert_patch.dart:1847:7)
#1      _Utf8ConversionSink.addSlice (dart:convert/string_conversion.dart:314:28)
#2      _Utf8ConversionSink.add (dart:convert/string_conversion.dart:310:5)
#3      _ConverterStreamEventSink.add (dart:convert/chunked_conversion.dart:72:18)
#4      _SinkTransformerStreamSubscription._handleData (dart:async/stream_transformers.dart:121:24)
#5      _rootRunUnary (dart:async/zone.dart:1198:47)
#6      _CustomZone.runUnary (dart:async/zone.dart:1100:19)
#7      _CustomZone.runUnaryGuarded (dart:async/zone.dart:1005:7)
#8      _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:357:11)
#9      _BufferingStreamSubscription._add (dart:async/stream_impl.dart:285:7)
#10     _SyncStreamControllerDispatch._sendData (dart:async/stream_controller.dart:784:19)
#11     _StreamController._add (dart:async/stream_controller.dart:655:7)
#12     _StreamController.add (dart:async/stream_controller.dart:597:5)
#13     _Socket._onData (dart:io-patch/socket_patch.dart:2020:41)
#14     _rootRunUnary (dart:async/zone.dart:1206:13)
#15     _CustomZone.runUnary (dart:async/zone.dart:1100:19)
#16     _CustomZone.runUnaryGuarded (dart:async/zone.dart:1005:7)
#17     _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:357:11)
#18     _BufferingStreamSubscription._add (dart:async/stream_impl.dart:285:7)
#19     _SyncStreamControllerDispatch._sendData (dart:async/stream_controller.dart:784:19)
#20     _StreamController._add (dart:async/stream_controller.dart:655:7)
#21     _StreamController.add (dart:async/stream_controller.dart:597:5)
#22     new _RawSocket.<anonymous closure> (dart:io-patch/socket_patch.dart:1556:33)
#23     _NativeSocket.issueReadEvent.issue (dart:io-patch/socket_patch.dart:1052:14)
#24     _microtaskLoop (dart:async/schedule_microtask.dart:41:21)

[✓] Flutter (Channel beta, 1.19.0-4.1.pre, on Mac OS X 10.15.5 19F101, locale zh-Hans-CN)
    • Flutter version 1.19.0-4.1.pre at /Users/zhangtao/flutter
    • Framework revision f994b76974 (8 weeks ago), 2020-06-09 15:53:13 -0700
    • Engine revision 9a28c3bcf4
    • Dart version 2.9.0 (build 2.9.0-14.1.beta)
    • Pub download mirror https://pub.flutter-io.cn
    • Flutter download mirror https://storage.flutter-io.cn

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
    • Android SDK at /Users/zhangtao/Library/Android/sdk
    • Platform android-29, build-tools 29.0.3
    • ANDROID_HOME = /Users/zhangtao/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.6)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.6, Build version 11E708
    • CocoaPods version 1.9.2

[✓] Android Studio (version 4.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 45.1.2
    • Dart plugin version 193.7361
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)

[!] Connected device
    ! No devices available

! Doctor found issues in 1 category.

Flutter Application Metadata
Type: app
Version: 1.0.0+1
Material: true
Android X: false
Module: false
Plugin: false
Android package: null
iOS bundle identifier: null
Creation channel: stable
Creation framework version: f7a6a7906be96d2288f5d63a5a54c515a6e987fe
Plugins
auto_orientation-1.0.6
connectivity-0.4.8+6
connectivity_macos-0.1.0+3
device_info-0.4.2+4
flutter_forbidshot-0.0.2
flutter_local_notifications-1.4.4+1
flutter_plugin_android_lifecycle-1.0.8
flutter_tencentplayer-0.7.0
image_picker-0.6.7+3
local_auth-0.6.2+3
location-3.0.2
location_web-1.0.0
package_info-0.4.1
path_provider-1.6.10
path_provider_linux-0.0.1+1
path_provider_macos-0.0.4+3
permission_handler-5.0.1
photo_manager-0.5.3+1
screen-0.0.5
shared_preferences-0.5.7+3
shared_preferences_macos-0.0.1+10
shared_preferences_web-0.1.2+7
sqflite-1.3.1
url_launcher-5.4.10
url_launcher_macos-0.0.1+7
url_launcher_web-0.1.1+6
video_player-0.10.11+2
video_player_web-0.1.3+1
wakelock-0.1.4+1
webview_flutter-0.3.22+1

@bravolover520 Could you also attach the crash log file that was output at the same time as this crash?  The stack is truncated and it doesn't have the actual format exception error.

Without additional information we are unfortunately not sure how to resolve this issue.
We are therefore reluctantly going to close this bug for now.
Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.


Release Google.Cloud.Functions.V1 version 1.1.0

Changes in this release:
No API surface changes; just dependency updates.

Created release for Google.Cloud.Functions.V1-1.1.0


set content type to generate token request

Welcome to Codecov :tada:
Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.
Thanks for integrating Codecov - We've got you covered :open_umbrella:


[Refactor] Decouple the wallet class

Abstract
The file wallet.js is a real mess: There is no actual wallet manager class and it mixes GUI, crypto functions, ledger stuff and masterKeys. This PR begins a process of refactoring the class:

A Wallet class has been added that at the moment incorporates all the ugly global wallet related functions that were in wallet.js. In the future Wallet will manage UTXOs, balance, addresses, masternodes...
MasterKey class and derivatives have been moved to a new file masterkey.js, masterkeys should have the ONLY role of managing internally the generation of new addresses.
Hence the global variable masterKey has been removed in favor of a global variable of type Wallet that has masterKey as a private field. At the moment I added a getter to masterKey (or the refactor would have been to big), in future PRs we should try to avoid exposing masterkey outside the wallet.
Ledger related functions and variables have been moved to a new file ledger.js
Finally a new file cypher.js has been created. It contains the low-level  cryptographic functions that were previously in the wallet file.

Testing
Test that the wallet functionality are still working as expected for example:

Create wallet
Import wallet
Encrypt(+ Change Password)
Test Send + Receive

Note
As I already said the refactor is not final and I did not want to change too much lines. In future PRs the getter to masterKey and the function getDerivationPath should both be removed from the Wallet class. We should also really try to decouple the logic from the GUI

Before I add the "Awaiting Review" label to this PR, the 'Testing' section is going to need to be more detailed (the Quality Control team need to understand what to test, too vague and we might not get enough tests by folks).

To real nits: I'm not sure cypher.js quite fits what we're using it for, maybe encoding.js would fit better? It is more En/Decoding than cyphering.

totally agree


[turborepo] Dockerizing - @types/react version mismatch issue

What version of Turborepo are you using?
turbo 1.7.2
What package manager are you using / does the bug impact?
Yarn v1
What operating system are you using?
Mac
Describe the Bug
If proceed with dockerizing after proceeding with the turborepo installation guide npx create-turbo@latest on the current official website, an error occurs due to @types/react version mismatch.
/apps/web/
  "devDependencies": {
    "@types/react": "^18.0.22",
  }

/packages/ui/package.json
"devDependencies": {
     "@types/react": "^17.0.37",
}

Expected Behavior
Due to this version mismatch, an error occurs while looking for ReactNode in @types/react/index.d.ts.
#22 1.843 web:build: info  - Linting and checking validity of types...
#22 6.933 web:build: Failed to compile.
#22 6.933 web:build:
#22 6.933 web:build: ./pages/_app.tsx:3:11
#22 6.933 web:build: Type error: 'Component' cannot be used as a JSX component.
#22 6.933 web:build:   Its element type 'Component<any, any, any> | ReactElement<any, any> | null' is not a valid JSX element.
#22 6.933 web:build:     Type 'Component<any, any, any>' is not assignable to type 'Element | ElementClass | null'.
#22 6.933 web:build:       Type 'Component<any, any, any>' is not assignable to type 'ElementClass'.
#22 6.933 web:build:         The types returned by 'render()' are incompatible between these types.
#22 6.933 web:build:           Type 'React.ReactNode' is not assignable to type 'import("/app/apps/web/node_modules/@types/react/index").ReactNode'.
#22 6.933 web:build:             Type '{}' is not assignable to type 'ReactNode'.
#22 6.933 web:build:
#22 6.933 web:build:   1 | import type { AppProps } from "next/app";
#22 6.934 web:build:   2 | function WebApp({ Component, pageProps }: AppProps) {
#22 6.934 web:build: > 3 |   return <Component {...pageProps} />;
#22 6.934 web:build:     |           ^
#22 6.934 web:build:   4 | }
#22 6.934 web:build:   5 | export default WebApp;
#22 6.934 web:build:   6 |
#22 7.008 web:build: error Command failed with exit code 1.

Need to update https://github.com/vercel/turbo/blob/main/examples/basic repository
To Reproduce

Install turborepo files.

npx create-turbo@latest

Make _app.tsx file in /apps/web/pages

import type { AppProps } from "next/app";
function WebApp({ Component, pageProps }: AppProps) {
  return <Component {...pageProps} />;
}
export default WebApp;

Make Dockerfile.web. (https://turbo.build/repo/docs/handbook/deploying-with-docker)

FROM node:alpine AS builder
RUN apk add --no-cache libc6-compat
RUN apk update
# Set working directory
WORKDIR /app
RUN yarn global add turbo
COPY . .
RUN turbo prune --scope=web --docker

# Add lockfile and package.json's of isolated subworkspace
FROM node:alpine AS installer
RUN apk add --no-cache libc6-compat
RUN apk update
WORKDIR /app

# First install the dependencies (as they change less often)
COPY .gitignore .gitignore
COPY --from=builder /app/out/json/ .
COPY --from=builder /app/out/yarn.lock ./yarn.lock
RUN yarn install

# Build the project
COPY --from=builder /app/out/full/ .
RUN yarn turbo run build --filter=web...

FROM node:alpine AS runner
WORKDIR /app

# Don't run production as root
RUN addgroup --system --gid 1001 nodejs
RUN adduser --system --uid 1001 nextjs
USER nextjs

COPY --from=installer /app/apps/web/next.config.js .
COPY --from=installer /app/apps/web/package.json .

# Automatically leverage output traces to reduce image size
# https://nextjs.org/docs/advanced-features/output-file-tracing
COPY --from=installer --chown=nextjs:nodejs /app/apps/web/.next/standalone ./
COPY --from=installer --chown=nextjs:nodejs /app/apps/web/.next/static ./apps/web/.next/static

CMD node apps/web/server.js

docker build -t turbowebapp -f Dockerfile.web .

Check build log.

Reproduction Repo
No response

I think this blog is really helpful as I encounted this exact issue with different dependency versions which broke my whole app. Namely, upgrading @types/react in one workspace broke all the other workspaces. If I did it right from the start, it would've been less of a headache.
The Solution
Essentially.... for dependencies that are global across your app, install it globally so it shows up in your root package.json. For example
$ yarn add next react react-dom -W
$ yarn add -D @tpyes/react @types/node @types/react-dom -W

* The -W flag is needed to force installing in the root since by default it warns you if you don't have the -W flag
** -W is short for --ignore-workspace-root-check
You do not need to add it in the local package.json again. The compiler will look up your monorepo tree and find the root package.json with the dependency and it's version.
For packages that are local to a package, install it with
$ yarn workspace <workspace_name> add <package_name>

# For example
$ yarn workspace @core/ui add framer-motion


Don't merge closed PRs

Example: https://github.com/jdm/web-platform-tests/pull/31

Easiest way to fix this and related problems is to forget about a PR after closing it. If there are new changes later, a new PR will be opened instead or reopening the old one.

Fixed by 55dcd35a2678d36a169bab15417cbfbc76407fbb.


WIP: StateSubject

This is a subject pattern I have used multiple times in my projects and thought it might be useful to others, so I'm putting it here for review by others. The comments in the code should explain the usage, but here's an example:
sealed trait StackTransform

case class  Push[T](x: T) extends StackTransform
case object Pop           extends StackTransform

val stack = StateSubject[StackTransform, List[Int]](List.empty) {
  case (xs, Push(x: Int)) => x :: xs
  case (xs, Pop)          => xs drop 1
}

val watcher = stack foreach (println _)

stack onNext Push(1)
stack onNext Push(2)
stack onNext Push(3)
stack onNext Pop
stack onNext Pop

The above should print out:
List()
List(1)
List(2, 1)
List(3, 2, 1)
List(2, 1)
List(1)

I put together a test as well, but I haven't been able to get sbt test to work (a get Error: Could not find or load main class #). If someone didn't mind pointing out the error of my ways so I could ensure the test works?

I put together a test as well, but I haven't been able to get sbt test to work (a get Error: Could not find or load main class #). If someone didn't mind pointing out the error of my ways so I could ensure the test works?

I have similiar problem when using Windows, my workaround is using sbt shell provided by IntelliJ. Select it instead of terminal and type:
project reactiveJVM
test

Thanks for the IntelliJ suggestion @Avasil (I am on Windows). At this point everything is good except the StateSubjectSuite. I'm not quite sure how the alreadyTerminatedTest is supposed to function, so what I've implemented is not a valid test.
Could someone explain to me the goal of the test? It would appear as though it's expecting each the subject to get a list of random numbers and then an observer of the test subject is summing up those values (expecting them to be passed through). However, my test subject isn't receiving any of the elements. I'm assuming this is a bug in my implementation of StateSubject, but I'm not seeing it.
If this subject is something others find useful and would like in the library, I'd like to understand a bit more so I can finish this up and add to the community. ;-)

@massung I apologize for procrastinating on a reply for your PR, I know you've put effort in it,
I've been busy unfortunately with other things and forgot about it and when you ignore things on your plate it becomes like a vicious circle 🙂
The thing is, like your code shows, this isn't anything more than a PublishSubject + state and the code isn't much different than just doing ...
sealed trait StackTransform

case class  Push[T](x: T) extends StackTransform
case object Pop           extends StackTransform

val stackIn = ConcurrentSubject.publish[StackTransform]
val stackOut = stack.state(List.empty) {
  case (xs, Push(x: Int)) => x :: xs
  case (xs, Pop)          => xs drop 1
}

val watcher = out foreach (println _)

stack onNext Push(1)
stack onNext Push(2)
stack onNext Push(3)
stack onNext Pop
stack onNext Pop

When dealing with Subjects, having an (in, out) pair is very common, we actually have this formalized in the Pipe type, which is the Subject factory, but instead of giving you a Subject, it gives you an (in, out) pair.
So your subject is very cool, unfortunately it just gives a name to a pattern that can be accomplished with about the same level of effort.
And I would like to add it, but when adding stuff to a library, the problem is that it's way harder to take it out, due to backwards compatibility concerns, so you're then stuck with it. Plus giving a name to a pattern is a way of signaling to users that they should learn this stuff, but it also increases the amount of stuff that users need to learn.
Right now there are 5 Subject types and one of them, the AsyncSubject, is totally unnecessary, distracting and I'm now sorry for implementing it, the reason being that it was in Rx.NET and thought that it is useful. So now we're stuck with it. But at least it's welcoming for Rx.NET users migrating over and we have a couple of those.
So adding another Subject in that package increases the surface area that needs to be maintained and that users need to learn and I'd rather not do it.
I see this was your "First Time Contribution" and the code quality is pretty good. So I hope my rejection and big latency in responding won't turn you off completely from making future contributions 😐
Cheers,

Error: Could not find or load main class #

BTW, I had this issue on Windows too. This happens because of hash-comments in .jvmopts file, which default SBT launcher uses, while Intellij does not.
The solution I use is to remove comments from .jvmopts and then do git update-index --assume-unchanged .jvmopts to make git ignore that file in commits.

I see this was your "First Time Contribution" and the code quality is pretty good. So I hope my rejection and big latency in responding won't turn you off completely from making future contributions.

LOL. Not at all and when I put this together it was only my 2nd time using Monix and found that I had implemented the same pattern twice in a row. I just figured I'd "formalize" it for myself and see if it'd be useful to others.
Thanks for the kind feedback, and - knowing what I know now - I'm 100% in agreement and (in your place) would do the same thing.

@massung cool and thanks.
Will close this for now.


Error on cargo build

I'm getting this error when trying to call cargo build, should be easy to fix but right now I don't get how.
Waiting for your response.

Sorry, but our salaried telepath is now on vacation, so we can not help without additional information 😉


Optimize RealType GetMethods and similar

We can easily add a Lazy or a cache there so we don't re-do it constantly

This doesn't make sense with the new native execution


[Doc] AVA action and MVTec data formats

Summary

How to test

Checklist

[ ] I submit my changes into the develop branch
[ ] I have added description of my changes into CHANGELOG
[x] I have updated the documentation accordingly
[ ] I have added tests to cover my changes
[ ] I have linked related issues

License

[ ] I submit my code changes under the same MIT License that covers the project.
Feel free to contact the maintainers if that's a concern.
[ ] I have updated the license header for each file (see an example below)

# Copyright (C) 2023 Intel Corporation
#
# SPDX-License-Identifier: MIT

Codecov Report
Patch coverage has no change and project coverage change: -0.01 :warning:

Comparison is base (e601f3e) 78.49% compared to head (631e4ab) 78.49%.

Additional details and impacted files
@@                Coverage Diff                 @@
##           releases/1.1.0     #865      +/-   ##
==================================================
- Coverage           78.49%   78.49%   -0.01%
==================================================
  Files                 206      206
  Lines               24939    24939
  Branches             5007     5007
==================================================
- Hits                19577    19575       -2
- Misses               4236     4237       +1
- Partials             1126     1127       +1

Flag
Coverage Δ

macos-11_Python-3.8
?

ubuntu-20.04_Python-3.8
78.49% <ø> (ø)

windows-2019_Python-3.8
?

Flags with carried forward coverage won't be shown. Click here to find out more.
see 1 file with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Update codestyle to be aligned with official kotlin style

Description
After opening the project in AS Arctic Fox I'm getting the next warning about style. So I updated codestyle to be aligned with official kotlin style.
Screenshots

I would prefer to postpone this until Artic Fox gets at least into beta.

Makes sense
Also if we want to automate code style or add some static analyze we can look at ktlint and detekt


spreadLend only works for Bitcoin

Currently my other coin gets lent out all in one loan.

I think you might not have enough coins to spread. Try changing gaptop to lower values, for proof.

I definitely have more than enough coins to spread (5 digits). I changed gaptop to as low as 20 but no luck.

Absolute number of coins doesn't matter. What matters is relative number to the order book. Say you have 200k doge, but if the top order in book is 300k, there's not enough to spread (with your config).
Sorry. Try raising gaptop to 200, 500, 1000 and more.

Thanks! Raising the gaptop did the trick :)


TabularMSA: iter_positions

From RFC:

iter_positions(reverse=False) -> iterator
Iterator of exactly Sequence objects in the order of positions in the
alignment. If reverse=True, yields positions in reverse order.

Nevermind, I just noticed this functionality exists in the current Alignment class.

Dibs


WIP: experiment with a faster short_hash

(the result are not very conclusive, would be nice to have the CB running for these, /cc @gs0510 and @icristescu)

(the result are not very conclusive, would be nice to have the CB running for these, /cc @gs0510 and @icristescu)

@gs0510 is working on this; in the meantime I run them manually, there is a lot of variance (2000 commits/cycle, 2 cycles):
       short hash   master
1fst run  878.72s    818.14s
2nd run   850.40s    888.08s;
3th run   788.92s    762.58

thanks to memtrace we can also compare this with master, it seems this is slightly better for the memory (though the total allocations reported by memtrace is the same).

I think you should look into somewhere else where it seems that the current version (v0) is the fastest one. I'm not really aware of how you use short_hash but it seems that in my context, the current implementation v0 does not allocate (mostly due to the ability to OCaml to use a register to store the int64).
The v1 is like this PR and the v2 take the advantage of padded-string (and eat \000 even if the length of the string is <= 4). Again, I think that you can not do something better if you don't think about distribution of short_hash (which is another question). The mini-project is available here: https://github.com/dinosaure/short-hash
You can re-export samples with dune build report.html or get the CLI output (with memory consumption) with dune exec ./hash.exe cli.

Many thanks for running these experiments ; and you were right, the issue is elsewhere: see #1143 which fixes the issue to use the custom short_hash function instead of the generic one for crypto hashes.


cicd: add cargo audit

follow up of #3329

@matklad, you'd better audit cargo-audit source code to be on the safe side!

bors r+


feat: add svelte/no-reactive-reassign rule

This PR adds svelte/no-reactive-reassign rule.
svelte/no-reactive-reassign rule that disallow reassigning reactive values.
e.g.
<script>
  /* eslint svelte/no-reactive-reassign: "error" */
  let value = 0
  $: reactiveValue = value * 2
  function handleClick() {
    /* ✓ GOOD */
    value++
    /* ✗ BAD */
    reactiveValue = value * 3
    reactiveValue++
  }
</script>
<!-- ✓ GOOD -->
<input type="number" bind:value />
<!-- ✗ BAD -->
<input type="number" bind:value={reactiveValue} />

Oh, you're right. However, it is difficult to report it accurately as you say, so I would like to consider it if there is a request from the user in the future.


Creating a jail with linux compatibility (but not a full linux jail) does not seem to work correctly.

[00:00:00] [ debug ] [manager] quick parameters: alias ip4=igb0|xx.xx.xx.xx pkg=pico-alpine resolv_conf type=thick start linuxfs overwrite
[00:00:01] [ info  ] [manager] Creating a standard jail (thick) ...
[00:00:01] [ info  ] [manager] Creating a thickjail ...
[00:00:01] [ debug ] [manager] Copying (zfs): releases/amd64/14.1-RELEASE/default/release to jails/manager/jail
[00:00:01] [ info  ] [manager] Done.
[00:00:01] [ debug ] [manager] Copying /etc/localtime as /usr/local/appjail/jails/manager/jail/etc/localtime
[00:00:01] [ debug ] [manager] Copying /etc/resolv.conf as /usr/local/appjail/jails/manager/jail/etc/resolv.conf
[00:00:01] [ debug ] [manager] Using alias option ...
[00:00:01] [ debug ] [manager] Adding IPv4 address to manager template: igb0|xx.xx.xx.xx
[00:00:01] [ debug ] [manager] manager has been configured to use `alias`.
[00:00:01] [ debug ] [manager] Using linuxfs option ...
[00:00:01] [ debug ] [manager] Current ruleset is 5
[00:00:02] [ debug ] [manager] Setting the boot flag to the manager jail ...
[00:00:02] [ debug ] [manager] Template generated:
[00:00:02] [ debug ] [manager]     exec.start: "/bin/sh /etc/rc"
[00:00:02] [ debug ] [manager]     exec.stop: "/bin/sh /etc/rc.shutdown jail"
[00:00:02] [ debug ] [manager]     mount.devfs
[00:00:02] [ debug ] [manager]     ip4.addr: igb0|xx.xx.xx.xx
[00:00:02] [ debug ] [manager] Locking manager ...
[00:00:02] [ info  ] [manager] Starting manager...
[00:00:02] [ debug ] [manager] Using `/usr/local/appjail/jails/manager/conf/template.conf` as the template.
[00:00:02] [ debug ] [manager] Writing `/usr/local/appjail/jails/manager/conf/template.conf` content to `/usr/local/appjail/cache/tmp/.appjail/appjail.DJBiIPpdKx` ...
[00:00:02] [ debug ] [manager] Checking for parameters marked as required...
[00:00:02] [ debug ] [manager] Running: date +%Y-%m-%d.log
[00:00:02] [ debug ] [manager] exec.consolelog: /var/log/appjail/jails/manager/console/2024-08-12.log
[00:00:02] [ debug ] [manager] Compiling fstab file ...
[00:00:02] [ debug ] [manager] Compiling fstab #0: devfs /dev devfs rw,ruleset=5 0 0
[00:00:02] [ debug ] [manager] Compiling fstab #1: tmpfs /dev/shm tmpfs rw,size=1g,mode=1777 0 0
[00:00:02] [ debug ] [manager] Compiling fstab #2: fdescfs /dev/fd fdescfs rw,linrdlnk 0 0
[00:00:02] [ debug ] [manager] Compiling fstab #3: linprocfs /proc linprocfs rw 0 0
[00:00:02] [ debug ] [manager] Compiling fstab #4: linsysfs /sys linsysfs rw 0 0
mkdir: /usr/local/appjail/jails/manager/jail//sys: No such file or directory
[00:00:02] [ debug ] [manager] mount.fstab: /usr/local/appjail/jails/manager/conf/fstab
[00:00:02] [ debug ] [manager] host.hostname: manager.appjail
[00:00:02] [ debug ] [manager] Path: /usr/local/appjail/jails/manager/jail
[00:00:02] [ debug ] [manager] Resolving dependencies for manager...
[00:00:02] [ debug ] [manager] manager appended to the `seen` list.
[00:00:02] [ debug ] [manager] manager appended to the `resolved` list.
[00:00:02] [ debug ] [manager] Compiling template to `/usr/local/appjail/jails/manager/conf/jail.conf` ...
[00:00:02] [ debug ] [manager] jail.conf generated:
[00:00:02] [ debug ] [manager]     manager {
[00:00:02] [ debug ] [manager]         exec.start = "/bin/sh /etc/rc";
[00:00:02] [ debug ] [manager]         exec.stop = "/bin/sh /etc/rc.shutdown jail";
[00:00:02] [ debug ] [manager]         mount.devfs;
[00:00:02] [ debug ] [manager]         ip4.addr = "igb0|xx.xx.xx.xx";
[00:00:02] [ debug ] [manager]         exec.consolelog = "/var/log/appjail/jails/manager/console/2024-08-12.log";
[00:00:02] [ debug ] [manager]         mount.fstab = "/usr/local/appjail/jails/manager/conf/fstab";
[00:00:02] [ debug ] [manager]         host.hostname = "manager.appjail";
[00:00:02] [ debug ] [manager]         path = "/usr/local/appjail/jails/manager/jail";
[00:00:02] [ debug ] [manager]     }
[00:00:02] [ debug ] [manager] Inspecting config.conf:
[00:00:02] [ debug ] [manager]     appjail_version: 3.3.0
[00:00:02] [ debug ] [manager]     birth:<PHONE_NUMBER>
[00:00:02] [ debug ] [manager]     osarch: amd64
[00:00:02] [ debug ] [manager]     osversion: 14.1-RELEASE
[00:00:02] [ debug ] [manager]     jail_type: thick
[00:00:02] [ debug ] [manager]     release_name: default
[00:00:02] [ debug ] [manager] Creating...
jail: manager: mount.fstab: /usr/local/appjail/jails/manager/jail//dev/shm: No such file or directory
[00:00:02] [ warn  ] [manager] An error has occurred while starting manager jail.
[00:00:02] [ warn  ] [manager] The manager jail will be stopped...
[00:00:02] [ warn  ] [manager] Running some counterparts in unattended mode...
[00:00:02] [ warn  ] [manager] manager is not running.
[00:00:02] [ error ] [manager] An error has occurred while starting manager jail.
[00:00:02] [ debug ] [manager] Unlocking manager ...

This option is intended for LinuxJails, as stated in the documentation. You are using a FreeBSD release, so you will have differences:
Any FreeBSD host:
$ readlink /sys
usr/src/sys
$ ls /dev/shm
ls: /dev/drm: No such file or directory

Would be nice if linuxfs could be made to work with FreeBSD releases for use with emulators/linux_base-c7, etc.
I could manually load linprocfs myself if necessary, but having linuxfs option to handle it would be a nice shortcut.

That package should be installed on a FreeBSD host, depending on the path marked by the compat.linux.emul_path sysctl (usually /compat/linux). The linuxfs option is not even intended for such a thing because it will mess with files that will not be used by that package. The /etc/rc.d/linux rc script will allow you to mount the devices needed for proper use of linuxlator in a FreeBSD environment. But if you plan to use linux_base-c7 in a FreeBSD jail, look at the allow.mount, allow.mount.* and enforce_statfs options in jail(8). I really don't recommend you to use linux_base-c7 in a FreeBSD jail unless you don't mind making the job a bit more complicated.
The linuxfs option is intended for LinuxJails like Ubuntu or Debian or any other distribution intended to be installed as root environment and that needs such devices in a jail.

I could manually load linprocfs myself if necessary, but having linuxfs option to handle it would be a nice shortcut.

Remember that AppJail has a very useful feature called Makejails. It is not limited to automating tasks for jails, but also for the host. A kernel module cannot be loaded inside a jail, but it can be loaded for the host.

I was under the impression linuxfs just mounted the special file systems like linprocfs (similar to the devfs option), if it does more than that it's not suitable for what I was trying. Thanks for the reply and the additional hints.

Yes, it is similar to devfs:
From appjail-quick(1):
linuxfs

         Mount filesystems required by many Linux distributions to work
         correctly. You probably want to set the devfs_ruleset option (unless
         you specify the devices by option with device) to another value
         because LinuxJail will not work with the default value specified by
         the DEFAULT_DEVFS_RULESET parameter. The following mount points are
         used: /dev, /dev/shm, /dev/fd, /proc and /sys.

         Type: Boolean
         Multiple: No
         Conflicts (any):
         -   mount_devfs


circt: 1.73 -> 1.74

Description of changes

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

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

Build failure on ofborg.

Result of nixpkgs-review pr 308512 run on aarch64-linux 1

3 packages failed to build:

circt
circt.dev
circt.lib

circt.log

Failed Tests (3):
CIRCT :: Dialect/SMT/basic.mlir
CIRCT :: circt-lec/comb.mlir
CIRCT :: circt-lec/hw.mlir

Z3 should be provided as input

I needed to add z3 and update LLVM_TARGETS_TO_BUILD to build this version.
Changing LLVM_TARGETS_TO_BUILD enables the build of mlir-cpu-runner.
diff --git a/pkgs/development/compilers/circt/circt-llvm.nix b/pkgs/development/compilers/circt/circt-llvm.nix
index a21b82d93376..efde87b0789c 100644
--- a/pkgs/development/compilers/circt/circt-llvm.nix
+++ b/pkgs/development/compilers/circt/circt-llvm.nix
@@ -23,7 +23,7 @@
     "-DLLVM_BUILD_EXAMPLES=OFF"
     "-DLLVM_OPTIMIZED_TABLEGEN=ON"
     "-DLLVM_ENABLE_PROJECTS=mlir"
-    "-DLLVM_TARGETS_TO_BUILD="
+    "-DLLVM_TARGETS_TO_BUILD=Native"

     # This option is needed to install llvm-config
     "-DLLVM_INSTALL_UTILS=ON"
diff --git a/pkgs/development/compilers/circt/default.nix b/pkgs/development/compilers/circt/default.nix
index 368aaab15a0d..bb5bb090a51d 100644
--- a/pkgs/development/compilers/circt/default.nix
+++ b/pkgs/development/compilers/circt/default.nix
@@ -7,6 +7,7 @@
 , fetchFromGitHub
 , ninja
 , lit
+, z3
 , gitUpdater
 , callPackage
 }:
@@ -29,7 +30,7 @@ stdenv.mkDerivation rec {
   requiredSystemFeatures = [ "big-parallel" ];

   nativeBuildInputs = [ cmake ninja git pythonEnv ];
-  buildInputs = [ circt-llvm ];
+  buildInputs = [ circt-llvm z3 ];

   cmakeFlags = [
     "-DBUILD_SHARED_LIBS=ON"

Thanks. I’m currently out of the office. I’ll be back today and apply this patch, or feel free to add commit upon this branch.


(76, -5) wearables-scanner

the house 3D model is loaded but with errors (some walls don't appear and the door is open) in Godot.

Looks like this error is because the file name is too large
Error on fetch gltf: Error downloading content http://<IP_ADDRESS>:8000/content/contents/b64-L2hvbWUva3VydWsvUHJvamVjdHMvZGVjZW50cmFsYW5kL3NkazctZ29lcmxpLXBsYXphL1dlYXJhYmxlcy1zY2FubmVyL2Fzc2V0cy9idWlsZGVyL3N0b25lX2JyaWNrX3dpbmRvd193aXRoX3N0YWluZWRfZ2xhc3MvTW9kdWxlX1N0b25lX1N0cmFpZ2h0X1dpbmRvd18wMi9Nb2R1bGVfU3RvbmVfU3RyYWlnaHRfV2luZG93XzAyLmdsYg== (/home/kuruk/.local/share/godot/app_userdata/Decentraland Godot Rust/content/b64-L2hvbWUva3VydWsvUHJvamVjdHMvZGVjZW50cmFsYW5kL3NkazctZ29lcmxpLXBsYXphL1dlYXJhYmxlcy1zY2FubmVyL2Fzc2V0cy9idWlsZGVyL3N0b25lX2JyaWNrX3dpbmRvd193aXRoX3N0YWluZWRfZ2xhc3MvTW9kdWxlX1N0b25lX1N0cmFpZ2h0X1dpbmRvd18wMi9Nb2R1bGVfU3RvbmVfU3RyYWlnaHRfV2luZG93XzAyLmdsYg==): RequestResponseError { id: 99, error_message: "File name too long (os error 36)" }

In another realm (https://sdk-team-cdn.decentraland.org/ipfs/goerli-plaza-update-asset-pack-lib) the model loads fine but with the door opened permanently when it should open only with the specific wearable.

Fixed on the realm side


Lean and case sensetive file system

I have default Windows 10 instalation with NTFS SSD, with case sensetive paths.
Project crashes during basic initalizaion that makes local debugging totally impossible.
Expected Behavior
Project basic examples should work out of the box :)
Actual Behavior
During  DirectoryCatalog initalization:
https://github.com/QuantConnect/Lean/blob/c88a88ebc525e5dc5d3bc5750cc926c23b48c41c/Common/Util/Composer.cs#L205
DirectoryCatalog.GetFullPath(path)  returns upper cased path and tryies to find *.dll and *.exe in non-existing path:

Unhandled Exception: System.TypeInitializationException: The type initializer for 'QuantConnect.Util.Composer' threw an exception. ---> System.IO.DirectoryNotFoundException: Could not find a part of the path 'C:\USERS\KSAND\SOURCE\REPOS\LEA
N\LAUNCHER\BIN\DEBUG'.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.FileSystemEnumerableIterator`1.CommonInit()
   at System.IO.FileSystemEnumerableIterator`1..ctor(String path, String originalUserPath, String searchPattern, SearchOption searchOption, SearchResultHandler`1 resultHandler, Boolean checkHost)
   at System.IO.Directory.GetFiles(String path, String searchPattern)
   at System.ComponentModel.Composition.Hosting.DirectoryCatalog.GetFiles()
   at System.ComponentModel.Composition.Hosting.DirectoryCatalog.Initialize(String path, String searchPattern)
   at QuantConnect.Util.Composer.Reset() in C:\Users\ksand\source\repos\Lean\Common\Util\Composer.cs:line 205
   at QuantConnect.Util.Composer..ctor() in C:\Users\ksand\source\repos\Lean\Common\Util\Composer.cs:line 49
   at QuantConnect.Util.Composer..cctor() in C:\Users\ksand\source\repos\Lean\Common\Util\Composer.cs:line 41
   --- End of inner exception stack trace ---
   at QuantConnect.Lean.Launcher.Program.Main(String[] args) in C:\Users\ksand\source\repos\Lean\Launcher\Program.cs:line 58

Reproducing the Problem
I have default Windows 10 instalation with NTFS SSD, have no idea why I have case sensetive paths.
System Information
Windows 10, NTFS file system with enabled case sensetive paths.
Checklist

[x] I have completely filled out this template
[x] I have confirmed that this issue exists on the current master branch
[x] I have confirmed that this is not a duplicate issue by searching issues

[x] I have provided detailed steps to reproduce the issue

Very strange; we run fine on Linux which is also case sensitive and it works fine. I think the bug is the System.Composer on your computer is returning a capitalized path:
'C:\USERS\KSAND\SOURCE\REPOS\LEAN\LAUNCHER\BIN\DEBUG'.
This should be a normal cased path.
Perhaps you're running a strange C# runtime? .Net Core?

Perhaps you're running a strange C# runtime? .Net Core?

You are right. Have installed mono and issue is gone.
What is proper .Net version to work with?

Cool! .NET 4.5.2 and above or Mono latest,


[Feature] - Add eslint-plugin-security

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] All the files I changed are in the same world language (for example: only English changes, or only Chinese changes, etc.)
[x] My changes do not use shortened URLs or affiliate links.

Closes #XXXXX

I have added eslint plugin security rules .

Thanks for the PR, but I am personally not sold on this:

This project will help identify potential security hotspots, but finds a lot of false positives which need triage by a human.

It does at that.  I tried it locally and it produces a ton of warnings.
Having said that, they are only warnings, so they wouldn't cause the linter to fail.  We could go through them gradually.  In my opinion it would need to be separate from the regular linting, so that we don't have to ignore the warnings when dealing with something else.

I used eslint-security-plugin and i love it in my opinion it is very useful to find bad practices in code .

It only output warnings i mean it wouldn't fail linter .

I think you guy's should use it and we will working to solve those warnings

Thanks for the PR, but I am personally not sold on this:

This project will help identify potential security hotspots, but finds a lot of false positives which need triage by a human.

I'm using eslint-security-plugin and never experienced a false positive result it helped me alot to solve those security bad practices .

It does at that. I tried it locally and it produces a ton of warnings.
Having said that, they are only warnings, so they wouldn't cause the linter to fail. We could go through them gradually. In my opinion it would need to be separate from the regular linting, so that we don't have to ignore the warnings when dealing with something else.

Yes you are right these are just warnings and it will not fail linter 🎉 we can integrate it on the go it can improve codebase security .

I'm using eslint-plugin-security and never experienced a false positive result it helped me alot to solve those security bad practices .

I'm afraid that's not the case here, unless I'm totally missing something.  When I looked I found situations where it complains when you use obj[variable] just because in principle the variable could be anything.  However, if you look closer at the code it's something we control.
So, we'd have to go through manually and check them all (and probably put in disabling comments for a fair number).  Something that will take time.    That's something we should avoid, so we don't create an unnecessary barrier to contribution.

we can integrate it on the go it can improve codebase security.

I agree, but that defeats the purpose of the plugin. People get complacent with these things easily.
We seriously would like to employ best practices especially security.
I do recommend using this plugin, but not at the cost of only ignoring it. If this is integrated it should be strict and we should also include the fixes in this PR?

we can integrate it on the go it can improve codebase security.

I agree, but that defeats the purpose of the plugin. People get complacent with these things easily.
We seriously would like to employ best practices especially security.
I do recommend using this plugin, but not at the cost of only ignoring it. If this is integrated it should be strict and we should also include the fixes in this PR?

If you can merge this PR then i will work on Fixing these warnings and send another PR of that.

If you can merge this PR then i will work on Fixing these warnings and send another PR of that.

Unfortunately we can't merge the PR as is. As Oliver already pointed in his comments, it shows up the warnings locally. This will lead to a lot of confusion because this is a tooling feature that we are implementing.
We would prefer the fix to the warning with this PR.

No problem i will update PR with all fix warnings .

Thanks for taking the time to work on this PR.

Based off Mrugesh's comment

If this is integrated it should be strict

I converted the warnings to errors.
@viveksharmaui I was going to add this as a review suggestion, but Github's interface wouldn't let me, so I just added a commit.  I hope that's okay!

Based off Mrugesh's comment

If this is integrated it should be strict

I converted the warnings to errors.
@viveksharmaui I was going to add this as a review suggestion, but Github's interface wouldn't let me, so I just added a commit. I hope that's okay!

That's great .

@raisedadead @ojeytonwilliams please review PR guys.

Still, we have 50 remaining security problems in this codebase which I was unable to solve so I edit eslintrc.json and update them to warn
We still have 50 problems (0 errors, 50 warnings)
I tried and solve 200+ problems and i don't know why test is failed.

@viveksharmaui thanks for all the work you're putting into this!
I'm going to defer to @raisedadead's judgement, but I think that any problems that do not need fixing should have their warnings disabled via comments (i.e. // eslint-disable-next-line).  While we can disable specific rules (or lower them to warnings) I think that should only be done when we're not worried about that class of issues.

@ojeytonwilliams yeah ! this will be good if we disable those warnings because our codebase need sometime for that , and test is fail actually there was security error in test which i edited and i stuck on it give me few days more to update test or replace them to previous version .

@viveksharmaui thanks for all the work you're putting into this!
I'm going to defer to @raisedadead's judgement, but I think that any problems that do not need fixing should have their warnings disabled via comments (i.e. // eslint-disable-next-line). While we can disable specific rules (or lower them to warnings) I think that should only be done when we're not worried about that class of issues.

. // eslint-disable-next-line is not supported in eslint security plugin we should do something else for this .

@viveksharmaui take as long as you need!  If there's a particular warning that's hard to deal with, please ask - another pair of eyes could help.

// eslint-disable-next-line is not supported in eslint security plugin we should do something else for this .

That could be a bit of problem.  I'll see if I can figure out what our options are.

@ojeytonwilliams there was few security warnings related to regex and few was about security flaws which i found tough but i will try my best .

@raisedadead @ojeytonwilliams  guy's i wanna join freecodecamp as a member on github this will give more motivation to me . Thanks !

guy's i wanna join freecodecamp as a member on github this will give more motivation to me . Thanks !

@viveksharmaui This is the first contribution you have attempted to make for Free Code Camp and you have not yet even completed it.   I would hope your motivation to complete this PR would be that you want to help make things better for Free Code Camp.
Membership is earned through lots of contributions.


Github API provides empty releases list.

Using Github API I want to fetch releases list of Flutter (as I'm writing installing plugin for ASDF package manager). By reaching https://api.github.com/repos/flutter/flutter/releases get empty JSON Array.
For example, see: https://api.github.com/repos/kubernetes/kubernetes/releases

Right, we don't release Flutter using GitHub.  Someone could probably could write something that produces that JSON array from our own release process, however, pointing to the downloadable cloud storage packages, but I'm not sure what that gets you.

https://github.com/flutter/flutter/releases does list our releases (Git tags), however.  I wonder what the difference between that and the JSON API is?

I'm not sure how our releases are created, but I know in the manual process there is an option to create  a "prerelease" which doesn't show up in the releases API call.

So only manual download and installing by hand or you have some other place you publish your releases that have usable API to list and get them?

It's not exactly "supported" but here's what we use:
https://github.com/flutter/website/blob/master/src/_assets/js/archive.js
It downloads a JSON file that describes all our releases.
HTH.


Rebase against latest version of gulp-istanbul

@danielr-minted @sean-minted
I rebased against the latest version of gulp-istanbul (0.10) to keep our dependencies up to date.

:ship:


One widget covering the full screen (only on Android)

I have a screen with a map from mapbox_gl (the issue has been reported there too: https://github.com/flutter-mapbox-gl/maps/issues/1008#issue-1208406765)
In short the Scaffold appBar & FAB are recovered by the map if I put it in... Please follow https://github.com/flutter-mapbox-gl/maps/issues/1008#issue-1208406765 for screenshots.
Is it a Flutter bug or mapbox_gl?
Otherwise can send a widget back? Like I would on iOS with a view...
Happy to share more if need be.

Hi @SwiftyFlow, based on your comment in https://github.com/flutter-mapbox-gl/maps/issues/1008#issuecomment-1103758417, it appears that this is an issue with mapbox_gl as such, I am going to close this issue.
If it does turn out to be an issue with flutter kindly leave a comment with your flutter doctor -v and a complete minimal reproducible code sample.
Closing this for now.
Thank you

Yep all good I actually found out that it was requiring .textureMode(true) in
private final MapboxMapOptions options = new MapboxMapOptions().textureMode(true).attributionEnabled(true);

This fixed it if it ever helps anyone...


make comment more self-consistent

Thanks for the PR!
(Some of our examples are a bit out of date; as performance continues to improve, our previous recommendations no longer apply)


Fix proposition for the inversion between "Business" and "Non-business" connectors groups in Power Platform DLP policies

Related issue(s)

#288

Overview of the changed files

Code

datasource_dlp_policy.go
resource_dlp_policy.go

Unit tests

datasource_dlp_policy_test.go
resource_dlp_policy_test.go

Validation
The latest execution of the Terraform Provider Checks workflow in my repository (fork) after the implementation of the changes in this pull request has been successful.

[!NOTE]
Don't hesitate to ping me in the comment if you have questions or requests regarding this pull request.

[!NOTE]
I am sorry, I did not take the time to implement brand new acceptance tests for the Power Platform DLP scope. I thought correcting this bug quickly was more important. It could definitely be part of future improvement work.

Thanks for contribution, looks ok. I will add the missing acceptance test

Hi team 👋🏼,
Thank you @mawasile and @mattdot for the review and the approval.
I am really interested in your work on this provider and I think I will try to contribute more in the future if you are open to this idea.
I already started a repository under my personal account to try to evangelize and showcase the provider to the Power Platform community: rpothin/PowerPlatform-Governance-With-Terraform
Have a great day.

Hi @rpothin
Your welcome to contribute. I've seen your repo and it looks interesting. If you will have any questions or blocker you can reach us via email/msteams over github or on @microsoft (our mail aliases are the same as our github user names, or firstname.lastname)

We are definitely open to it. Let us know what resources or data sources would help your use cases maybe we could start there.
We're interested to see where your governance work goes.  Definitely a scenario that we want to enable with the provider.
We'll probably create a new release that includes your PR in a couple days once the data record pr also merges.


Dynamic Index Build Side is Statically Chosen

Expected behavior
During dynamic join queries on commutative conditions, the local index is built on whichever side is smaller, and the other side is streamed against it. This likely requires some linear scans prior to running
Actual behavior
We must specify the side on which to build the index for all partitions apriori when using JoinQueries.SpatialJoinQueryFlat.
Steps to reproduce the problem
N/A
Settings
N/A

I can take a stab at fixing this one this weekend if you don't want to get around to it. Probably approach would be just specify an additional option in the query or something like that to do some additional processing to determine the index build side automatically. For the determining, maybe just iterate while the iterator.next is not null to count both sides?

There are 3 important params involved in a spatial join:

Spatial partitioning dominant side: sedona.join.spatitionside. Default: LEFT
Spatial index build side: sedona.join.indexbuildside. Default: LEFT. See https://github.com/apache/sedona/blob/master/core/src/main/java/org/apache/sedona/core/joinJudgement/DynamicIndexLookupJudgement.java#L91
Num of partitions of both RDDs used in a join. Default to use the num partition of sedona.join.spatitionside but will be optimized to reasonable partitions if the data is way less than num of partitions.

The best practice is the Spatial partitioning dominant side and Spatial index build side should always be the large dataset (not the smaller dataset). To find out which one is larger, you can use the count of both RDDs. Note that: SpatialRDD.analyze() function already computes the count. You can leverage that to automatically determine the dominant side: https://github.com/apache/sedona/blob/master/sql/common/src/main/scala/org/apache/spark/sql/sedona_sql/strategy/join/TraitJoinQueryExec.scala#L59
You can add the automation and leave sedona.join.spatitionside and sedona.join.indexbuildside as optional. In other words, our optimizer will automatically determine the two sides unless the user explicitly specifies the parameters.
I will leave the implementation to you. But if you feel this is too hard, please let me know.

I propose a different (more complicated) approach:

Make analyze() method of SpatialRDD take sample of the RDD. We can integrate the logic of poisson sampler into the StatCalculator and calculate the boundary, count, and samples in one pass.
When running the spatial join physical plan, we analyze() both sides. Now we know the boundary and count of both sides, then we can simply apply some heuristics to determine which is the partitioning side (for example, take the one with more records as the partitioning side).
Build a spatial partitioning grid using the samples we collected in analyze(). Since we also have samples of the other side, we can estimate how many geometries of both sides will fall into each grid.
When running the DynamicIndexLookupJudgement, we can determine which side to build and which side to stream on a per-grid basis.

@Kontinuation I like this idea.
Let's break this proposal to 3 standalone PRs. I believe they can be implemented separately without relying on each other.
Step 1: Move the sampling logic to analyze()

Update analyze() function of SpatialRDD to include the poisson sampler
Build a spatial partitioning grid using the samples we collected in analyze().

Step 2: Add heuristics to determine the join side in TraitJoinQueryExec.scala (https://github.com/apache/sedona/blob/master/sql/common/src/main/scala/org/apache/spark/sql/sedona_sql/strategy/join/TraitJoinQueryExec.scala#L59)
Step 3: DynamicIndexLookupJudgement automatically determines the stream side on a per-grid basis.
@dfischercodethoughts What you are proposing is Step 2. You can take a stab if you want. Since the v1.4.1 will be released soon, I expect this entire proposal will be completed in v1.5.0


Add integration with SonarCloud (SonarQube) and fix Codecov

Yeah... Something is still wrong, @meltsufin :
The command "./mvnw -T 1.5C test -B -P codecov sonar:sonar ${INTEGRATION_TEST_FLAGS}" exited with **1.**

OK. Now it's something different:
[ERROR] Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:<IP_ADDRESS>4:sonar (default-cli) on project spring-cloud-gcp: Project was never analyzed. A regular analysis is required before analyzing a pull request

Don't we also need to add a  - '$HOME/.sonar/cache' into the cache: directories:?
See here: https://github.com/SonarSource/sq-com_example_java-maven-travis/blob/master/.travis.yml

@artembilan Looks like we're green now. :smile:
Can you please turn on the SonarCloud app?

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@a59a1bb). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master    #1183   +/-   ##
=========================================
  Coverage          ?   66.72%
  Complexity        ?     1273
=========================================
  Files             ?      182
  Lines             ?     5277
  Branches          ?      541
=========================================
  Hits              ?     3521
  Misses            ?     1524
  Partials          ?      232

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 a59a1bb...72c62c4. Read the comment docs.


.Net: Remove SK's custom resilience mechanisms

Better to just use established conventions. This removes SK's custom IDelegatingHandlerFactory and all implementations of it, including the two "Basic" and Polly-based libraries. It replaces WithHttpHandlerFactory (which wasn't related to either HttpClientFactory or HttpClientHandler) with a WithHttpClient method that puts a specific HttpClient into the Kernel and then makes that available to any services that want it. The OpenAIClent's built-in retry support is now only suppressed if an HttpClient is supplied.
(My aim is that after this PR, we're able to replace the custom service provider in Kernel with an actual IServiceProvider and then remove the custom support for things like ILoggingFactory and HttpClient with just having those resolved from that IServiceProvider. But for now, WithHttpClient is a step forward from what we had.)
Fixes https://github.com/microsoft/semantic-kernel/issues/3571

One question... A handler we can inject behavior in httpclients from services, but providing a client not sure how that will work as we might have multiple services using different clients.

Can you elaborate? What's an example where passing around an HttpMessageHandler works but passing around an HttpClient doesn't? All of the SK services today that let you customize the transport accept an HttpClient.

I don't have a scenario for now, but let's say I have a multi model project where I have hugging face models and openai models, if I specify a client with my baseAddress (for a hugging face API) this will break the OpenAI connector, or am I missing something?

if I specify a client with my baseAddress (for a hugging face API) this will break the OpenAI connector, or am I missing something?

That's true, but there's no base address to even specify if the handler is what's part of the kernel. So is the concern here:

whether the supplied HttpClient is configured inappropriately for some use?
whether it's an HttpClient or an HttpMessageHandler?
whether either of them is here at all?
something else?

I have a subsequent set of changes I'm working on and hoping to get up a PR for today that will basically just make Kernel around an arbitrary IServiceProvider, such that it can contain any services.  At that point, this dedicated method would just go away.

Superceded by https://github.com/microsoft/semantic-kernel/pull/3714


[BUG] can't read warning text in light mode

Description
When a user sends a message with an inappropriate word, the receiver gets a warning asking them if they want to view it or not. In light mode the text colors aren't properly set, which makes the user unenabled to read it or see the options.
On dark mode it looks like this:

Screenshots
on light mode:

Additional information
No response
🥦 Browser
Brave
👀 Have you checked if this issue has been raised before?

[X] I checked and didn't find similar issue

🏢 Have you read the Contributing Guidelines?

[X] I have read and understood the rules in the Contributing Guidelines

Are you willing to work on this issue ?
None

Assign me

Assign me

Hi, thanks for wanting to fix this issue, but i would like to leave it up for someone new to the project or open source in general. You can check out the rest of the issues or use the application to see what you can add.

Hi, can I please be assigned to work on this?

Hi, can I please be assigned to work on this?

Sure, thanks for wanting to contribute. Make sure to read the issue description carefully and ask if you have questions on the discord server. Follow the rules here, or your PR won't be accepted and will be closed. Good luck!