Set timezone to UTC to avoid summer time

@todd-dembrey Any issues changing TIME_ZONE = 'Europe/London' to TIME_ZONE = 'UTC'?

We have USE_TZ set to True so all times are stored in the db as UTC anyway. I cant see an immediate issue with changing to UTC as the default timezone as it should be for display purposes

It's an issue when rounds close US East coast time. They differ an hour summer vs winter.

Please deploy! Thanks.


RemoteService execution cancellation does not work with RxJava3 implementation

Added testCancelRxJava to demonstrate issue #5498

Thanks for contribution!


Test match between function arguments and pydantic model

(branching from https://github.com/fractal-analytics-platform/fractal-tasks-core/issues/353#issuecomment-1516330380)

As part of #369, we are including:

[x] A script that creates the JSON schemas for all tasks in the manifest.
[x] A test that creates up-to-date schemas (based on the python files) and fails if they don't match with the current ones in the repository.
[x] A test that compares function arguments to schema entries (or model fields), and fails for any mismatch. This one is actually already needed, even before talking about schemas.

Note that as of https://github.com/fractal-analytics-platform/fractal-tasks-core/commit/87a38b5f0bcf1856b4963f4e9efbee783d872f34 (and provided that we keep following that route) this issue would not be relevant any more, since we would be creating the Pydantic models directly from the function call signature.


[parametric] [dotnet] Enable the OTel Env Var tests for .NET

Motivation
Tests that the .NET tracer changes pass the system-tests that set the standard for supporting OTel environment variables in our libraries
Changes
Makes small edits to tests/parametric/test_otel_env_vars.py for values that are specific to the .NET library. This has been tested locally against the .NET tracer development branch, so once the associated dd-trace-dotnet PR is merged, we can unskip the tests for .NET.
Workflow

⚠ Create your PR as draft ⚠
Work on you PR until the CI passes (if something not related to your task is failing, you can ignore it)
Mark it as ready for review

Test logic is modified? -> Get a review from RFC owner. We're working on refining the codeowners file quickly.
Framework is modified, or non obvious usage of it -> get a review from R&P team

:rocket: Once your PR is reviewed, you can merge it!
🛟 #apm-shared-testing 🛟
Reviewer checklist

[ ] Relevant label (run-parametric-scenario, run-profiling-scenario...) are presents
[ ] If PR title starts with [<language>], double-check that only <language> is impacted by the change
[ ] No system-tests internal is modified. Otherwise, I have the approval from R&P team
[ ] CI is green, or failing jobs are not related to this change (and you are 100% sure about this statement)
[ ] A docker base image is modified?

[ ] the relevant build-XXX-image label is present

[ ] A scenario is added (or removed)?

[ ] Get a review from R&P team

A note on the failing parametric tests:

The NodeJS one is an error, not a test failure, and it's unrelated
The Ruby test failures are a known issue and being addressed separately


Update persistent-volumes.md

Please sign the CLA

Hi @pieterdd, You can find about EasyCLA here - https://docs.linuxfoundation.org/lfx/easycla
and the steps to sign EasyCLA are here - https://docs.linuxfoundation.org/v2/easycla/contributors/individual-contributor
You can start your signing EasyCLA from here - https://api.easycla.lfx.linuxfoundation.org/v2/repository-provider/github/sign/18706487/51478266/38056/#/?version=2

Related doc - https://kubernetes.io/zh-cn/docs/concepts/storage/persistent-volumes/

CLA not signed and the author is not responding to signing requests.
/close


[test] Add conformance suite

Inspire by semantic-ui test suite adds a common test for all core/ components.
We test these things sometimes in each component, sometimes we simply skip it. The approach is also pretty fragmented resulting in many forks of the same approach. This consolidates these test into a single description of a common API for @material-ui/core components.
The endgame is to generate the docs from this descriptor instead of relying on code annotations like @inheritComponent. Following the philosophy that tests are a form of documentation.
TODO:

[ ] use in all core components

I overhauled the implementation of describeConformance quite a bit to accommodate for some problems encountered while adding this all component tests. The biggest issue was that we had to create the tests in a before hook which meant that mocha wouldn't pick them up in the preflight check which cause a couple of issues:

they couldn't be isolated with skip or only
test reporter wouldn't pick them up
it would create very weird test stacks (Material-UI API > Material-UI API > Material-UI API instead of TextField > Material-UI API, Table > Material-UI API`

The plan for this PR is to apply it to every component test where no changes to the implementation are needed. Some components don't quite work like the rest. For those components I will file separate PRs to discuss the implications.


[Quest/eCBIS] - Date validation min/max in Questionnaire

Name of feature to enhance
Check on Date validation for the following Questions

DOB - A Patient cannot be born in the future (<= Today())
Death - A Patient cannot die in the future (<= Today())
Remove Family member  - Family member moved away date  (<= Today()) - Debatable (Planning to move)

Description of feature

Add Fhirpath min/max support
Dependent on Add ability to validate the min/max for Date on a FHIR Questionnaire #1040

Describe the enhancement

Add validation for date either minimum or maximum value

reopen or create a specific issue when needed


Release Event Hub Track 2 Library Preview 1

Goal
Release the Event Hub Track 2 library.

[x] Repo Readiness (#5114, #5110  )
[x] Docs and Samples Readiness (#5113 , #5112)
[x] Track 2 Guidelines Requirements

[x] Authentication (#5101)
[x] Logging and Tracing (#5085)
[x] Error Hierarchy patterns (#5100)
[x] Async namespace (#5081 )
[x] Retry and cancellations (#5084)
[x] Context manager to open and close connection (#5098)
[x] Expose configuration settings in a config class (#5099) -- changed to use kwargs intead of config class
[x] Iterator-like interface to replace callback (#5102)

[x] New features

[x] Websocket and proxy support (#5071, #5103, #5106)
[x] OAuth support (#5097, #5107)
[x] Get partition information (#5324)

released package on pypi: https://pypi.org/project/azure-eventhub/5.0.0b1/
release notes: https://github.com/Azure/azure-sdk/blob/master/docs/release-notes/preview/summary-preview1-python.md


copy paste: Add toMarkdown test for 1. text.

Merged, thanks @rishig!  @dgarvit FYI -- the thinking is we'll disable this in production until we can customize it to handle the issues we have in those test cases.


MockPath.GetFullPath does not match windows behavior.

Describe the bug
In a special case of a rooted, but not absolute path, MockPath.GetFullPath produces results which differ from what i get using System.IO.Path.GetFullPath
To Reproduce
var fs = new MockFileSystem();
Console.WriteLine("Mocking: " + fs.Path.GetFullPath("d:test.txt"));
Console.WriteLine("OS: " + Path.GetFullPath("d:test.txt"));

Output (Linux):
Mocking: /d:test.txt
OS: /home/USER/d:test.txt

Output (Windows):
Mocking: d:test.txt
OS: D:\test.txt

Expected behavior
I expect the values to be equal.

@AnakinRaW :
Are you sure, your test is correct?
The provided input "d:test.txt" is no valid (rooted) path. Maybe it should be @"d:\test.txt" instead?

i'm sure my test is correct. even microsoft has this documented in their code comments:
https://github.com/dotnet/runtime/blob/main/src/libraries/System.Private.CoreLib/src/System/IO/Path.cs#L304

Thanks for the clarification, @AnakinRaW !
I was not aware of this format, but after looking around, it is also documented in the File path formats on Windows systems :-)

Wow, what a fancy feature.


[APIM] Fixed apim create when --enable-managed-identity is set to true

Description
Fixed --enable-managed-identity true failure for apim create in issue#13111
Testing Guide
History Notes

This checklist is used to make sure that common guidelines for a pull request are followed.

[X] The PR title and description has followed the guideline in Submitting Pull Requests.

[X] I adhere to the Command Guidelines.

[X] I adhere to the Error Handling Guidelines.

APIM

Please fix ci issues.


[mesheryctl] Failure to recognize valid meshconfig

See mesheryctl Command Tracker for current status of commands.
Current Behavior
$ mesheryctl system channel switch stable
Valid context is not available in meshconfig
Error: failed to initialize healthchecker: Valid context is not available in meshconfig

$ mesheryctl system context view
Error: current context not set

$ mesheryctl system start
Valid context is not available in meshconfig
Error: Valid context is not available in meshconfig

$ cat ~/.meshery/config.yaml
contexts:
    local:
        endpoint: http://localhost:9081
        token: Default
        platform: kubernetes
        components:
            - meshery-app-mesh
            - meshery-istio
            - meshery-linkerd
            - meshery-consul
            - meshery-nsm
            - meshery-kuma
            - meshery-osm
            - meshery-traefik-mesh
            - meshery-nginx-sm
            - meshery-cilium
        channel: edge
        version: latest
current-context: local
tokens:
    - location: auth.json
      name: Default

Environment

Host OS: Mac
Meshery Server Version: stable-v0.6.0-rc.6d
Meshery Client Version: stable-v0.6.0-rc.6d
Platform: Kubernetes

Contributor Resources

mesheryctl Contributing Guide
Beginner's guide to contributing to Meshery and mesheryctl
mesheryctl Command Tracker
Meshery CLI Commands and Documentation
🙋🏾🙋🏼 Questions: Layer5 Discussion Forum and Layer5 Community Slack

Might be something coming from this PR. https://github.com/meshery/meshery/pull/5877

Something related to path referencing... I'll take this up and resolve quick today


Microsoft Edge - Blank Login Page

Hello,
Please forgive me if the answer to this issue is staring me right in the face! My deployment of the Serenity template functions on all browsers with the exception of Microsoft Edge. For some reason the "LoginPanel" div is empty when using Edge, which isn't the case in all other browsers.
Is this a known issue?
Many thanks,
Clyde

I did a quick test with Edge and couldn't see any problem. Do you see any errors in console? If it is a public site, can you share a link?

It is a public site: https://preview.eos.london

It is a public website: https://preview.eos.london
There are numerous errors reported in the console but I am unsure what they mean...
Errors
SCRIPT1048: The use of a keyword for an identifier is invalid
mscorlib.js (3761,39)
SCRIPT5009: 'ss' is undefined
linq.js (155,5)
SCRIPT5009: 'global' is undefined
Serenity.Script.Core.js (4,2)
SCRIPT5009: 'global' is undefined
Serenity.Script.UI.js (4,2)
SCRIPT5009: 'Serenity' is undefined
Serenity.Externals.js (605,9)
SCRIPT5009: 'global' is undefined
Eos.Script.js (4,2)
SCRIPT5009: 'Q$LT' is undefined
LocalText.Site.en-GB.Public.js (1,1)
SCRIPT5009: 'Q$ScriptData' is undefined
ColumnsBundle.js (1,1)
SCRIPT5009: 'Q$ScriptData' is undefined
FormBundle.js (1,1)
SCRIPT5009: 'Q$ScriptData' is undefined
TemplateBundle.js (1,1)
SCRIPT5009: 'Q$ScriptData' is undefined
RegisteredScripts.js (1,1)
SCRIPT5009: 'Eos' is undefined
Login (127,5)

Ok, i checked your site, it works in my Edge browser, version 20.10240.16384.0
It seeems like your Edge browser or some settings is different. I guess problem is usage of "await" variable name in mscorlib.js from Saltarelle. This is a future keyword for ES6. I'm renaming this variable in Serenity copy of mscorlib.js.
Try updating Nuget packages to 1.8.21.

Ahh OK! Thank you very much for the clarification!


Allow standard, thread-safe, C99 functions.

This includes:

all trigonometric functions (sin(), cos(), ...)
other standard math functions (sqrt(), floor(), abs(), ...)
complex number functions (cround(), ccos(), csqrt(), ...)
standard memory manipulation functions (memcpy(), memset(), memchr(), ...)
standard string functions (strlen(), strchr(), strstr(), ...)

These are all thread-safe.
I left out (i.e. they are still banned) a few widely-available related
functions, which are however not in the C99 standard, like drem() or
strchrnul(). I wouldn't mind much allowing those too, but for now I stuck with
C99, for the sake of principle.
The acute reason for doing this now is that I started to get compilation
errors on GPDB after I updated libc-dev package on my Debian system to
version 2.22-9:
In file included from /usr/include/features.h:361:0,
from /usr/include/stdio.h:27,
from ../../../../src/include/c.h:72,
from ../../../../src/include/postgres.h:47,
from CTranslatorScalarToDXL.cpp:17:
/usr/include/x86_64-linux-gnu/bits/mathcalls.h:100:1: error: ‘__DECL_SIMD_USE_OF_BANNED_API_exp’ does not name a type
__MATHCALL_VEC (exp,, (Mdouble __x));
^
Apparently the new glibc headers don't like it when standard library
functions are #defined to something invalid.

+1

Judging by the existing clib wrappers (the usefulness of which can be debated), shouldn't the diff be along the lines of?:
diff --git a/libgpos/src/common/clibwrapper.cpp b/libgpos/src/common/clibwrapper.cpp
index efee6e7..f27ee69 100644
--- a/libgpos/src/common/clibwrapper.cpp
+++ b/libgpos/src/common/clibwrapper.cpp
@@ -19,6 +19,7 @@
 #define ALLOW_log2
 #define ALLOW_ceil
 #define ALLOW_fabs
+#define ALLOW_abs
 #define ALLOW_floor
 #define ALLOW_free
 #define ALLOW_getopt
@@ -879,6 +880,14 @@ gpos::clib::DAbs
        return fabs(d);
 }

+INT
+gpos::clib::IAbs
+       (
+       INT i
+       )
+{
+       return abs(i);
+}

 //---------------------------------------------------------------------------
 //     @function:

On 13/06/16 10:07, Daniel Gustafsson wrote:

Judging by the existing clib wrappers (the usefulness of which can be debated), shouldn't the diff be along the lines of?:
diff --git a/libgpos/src/common/clibwrapper.cpp b/libgpos/src/common/clibwrapper.cpp
index efee6e7..f27ee69 100644
--- a/libgpos/src/common/clibwrapper.cpp
+++ b/libgpos/src/common/clibwrapper.cpp
@@ -19,6 +19,7 @@
  #define ALLOW_log2
  #define ALLOW_ceil
  #define ALLOW_fabs
+#define ALLOW_abs
  #define ALLOW_floor
  #define ALLOW_free
  #define ALLOW_getopt
@@ -879,6 +880,14 @@ gpos::clib::DAbs
         return fabs(d);
  }

+INT
+gpos::clib::IAbs
+       (
+       INT i
+       )
+{
+       return abs(i);
+}

Perhaps, but:

I do seriously question the usefulness of all that. There are no
error handling or thread-safety issues with these functions, and they're
standard C99, so we're surely not going to need a portability layer for
them.

We could remove more of those wrappers, but this patch at least carves
out a well-defined chunk of them: C99 math functions.

Adding those wrappers wouldn't solve my original problem, which is
that building GPDB failed with new glibc headers failed. As long as the
banning #defines are in the header file, that issue remains.

Heikki

Absolutely, I was more looking at it from a consistency standpoint in providing names than usefulness (DAbs() vs abs() etc). Also, the error handling in the wrappers (for the functions that do have it) is mainly debug assertion style handling rather than providing a safer API so I'm all for skipping that.
Regarding removing the banning #define statements for safe C99 members, :+1:.


Pub/Sub Message data encoding

Update documentation to detail how message data is processed when sending to Pub/Sub API, and how message data is encoded when received from Pub/Sub API.
The Google Cloud Pub/Sub Ruby library will follow how Google Protobuf handles string data for bytes fields, namely:

The protobuf library will duplicate the string, convert it to ASCII-8BIT encoding, and freeze it.

The Google Cloud Pub/Sub Ruby library should not provide less convenience than Google Protobuf. In fact, it provides more convenience for data values, as it will also accept an IO-ish object, such as File, and convert it to a string/bytes.

ATTN @tbkneeland

Would appreciate explicit approval from the Pub/Sub team on this particular issue. @mdietz94 will take over for @tbkneeland.

We would like to be consistent and require UTF8 encoding on all languages. We would like to potentially be more restrictive than the Protocol Buffer API in order to ensure compatibility across languages.
It's important if a user publishes "\xce\xb8" from any language, the subscriber will always see "θ". Failure to do this can lead to inconsistency, and it seems like a huge mistake to not use UTF8 when choosing an encoding.

What if users want to publish binary data, like an image file?

They can encode that as UTF8, decode as UTF8, and write it back out on the
other side. It's important we don't make it difficult for people to use
CP/S and achieve good localization.
Also that is a poor use case for CP/S. Users should be writing the image to
disk somewhere and just publishing the fact that it happened. Our average
message size is quite small.

When I last met in person with Thomas a few weeks ago, we looked at this issue for over an hour. Unless he has since stated otherwise, we came to the conclusion that, for Ruby, following the behavior of Google Protobuf is correct.
FWIW we spent quite some time digging into the Ruby code and C bindings for the Ruby protobuf library to verify the documented behavior for bytes fields that @blowmage commented earlier (as it's different from other langs afaik)

"The protobuf library will duplicate the string, convert it to ASCII-8BIT encoding, and freeze it."

So the answer is pretty clear.
The PubsubMessage data field is a bytes field, not a string field.  So ASCII-8BIT will be used, not UTF-8.  If the Pub/Sub API intended for strings, then the proto field should've been a string instead of bytes.

If we publish a UTF8 string, would ASCII-8BIT throw an exception or drop some characters? Or would it just publish the bytes.
I agree as long as we're just publishing a byte array, but I definitely don't want to stop people from publishing UTF8 strings.
In Python, for example, we're supporting both Unicode strings as UTF8 and bytes()

See @tbkneeland's comments on https://github.com/GoogleCloudPlatform/google-cloud-python/pull/3463

If we publish a UTF8 string, would ASCII-8BIT throw an exception or drop some characters? Or would it just publish the bytes.

It publishes the bytes of the string, sans the encoding. We take great care not to modify the bytes provided.

It's important if a user publishes "\xce\xb8" from any language, the subscriber will always see "θ". Failure to do this can lead to inconsistency, and it seems like a huge mistake to not use UTF8 when choosing an encoding.

I think there is real danger of taking the bytes from the data payload and always representing them as UTF-8. Take the following single byte payload:
[255].pack("C") #=> "\xFF"
[255].pack("C").encoding #=> ASCII-8BIT
[255].pack("C").encode("utf-8") #=> Encoding::UndefinedConversionError: "\xFF" from ASCII-8BIT to UTF-8

There are byte sequences that are illegal in UTF-8. The ruby library can't guarantee what client published the message, and since PubsubMessage doesn't have any encoding information on it I think it is dangerous to make assumptions about the payload's original encoding. It seems to me that the safest option is to assume bytes unless you have evidence for encoding otherwise.

It's important we don't make it difficult for people to use CP/S and achieve good localization.

What is "CP/S"?

CP/S is Cloud Pub/Sub, I'm guessing.

It's important if a user publishes "\xce\xb8" from any language, the subscriber will always see "θ". Failure to do this can lead to inconsistency, and it seems like a huge mistake to not use UTF8 when choosing an encoding.

I'm looking at @tbkneeland's comment where he says essentially the same thing. Only AFAICT he's not talking about the message data, he's talking about the message attributes. The attributes field is defined in the protobuf file as map<string, string>, so both the keys and values are indeed  strings and per Google Protobuf will always be encoded as UTF-8. I believe he was taking issue with the following documentation in the python library where attrs says it can be provided as bytes:
        Raises:
            TypeError: If the ``data`` sent is not a bytestring, or if the
                ``attrs`` are not either a ``str`` or ``bytes``.

Are we sure he was intending to say that all message data should be encoded as UTF-8?

Okay that SGTM. It wasn't clear to me that ASCII 8BIT left the data alone, I wasn't sure if it changed it or had illegal but sequences itself. If that's the canonical bytes representation then LGTM


Dangerous default argument

📝 Docs preview for commit 8f968ea6146b74841df4dd4b3508441795e5e931 at: https://d474171f.fastapitiangolo.pages.dev

Can you please explain what makes it dangerous?

Usually, a mutable default argument can be bad if the value is mutated inside the function body or other places in the code. let's say you do .append(42) to list my_list, and it is a default value, then the default value for the next time would already be populated with 42, because it is pointing to the same list. Using None and then checking for None and setting it to a new list is a great way to prevent this. If the codebase of FastAPI does not mutate this value, or a unique instance is created in the decorators/other internal code (using the clever type system baked into this wonderous library) - then this would not be crucial to fix, however, it is usually a safer choice to check for None. A downside to this is that the parameter type annotation has to be Annotated[T, x] | None = None instead of simply Annotated[T, x] = T (where T is a mutable default value).
Hope this was of some help

📝 Docs preview for commit 4077d780f6c356d40ecf247fc6c8629e6a7e0007 at: https://66f0ff2e.fastapitiangolo.pages.dev

Thanks for your interest, but this doesn't apply to Pydantic, and FastAPI is built on top of Pydantic :sunglasses: https://docs.pydantic.dev/latest/concepts/models/#fields-with-non-hashable-default-values
Given that I'll close this one, but thanks for the interest. :coffee:


Cesium Widget gets bigger on every mouse click

import cesiumpy
v = cesiumpy.CesiumWidget()
v
I now get a widget with a globe on it. However, every time I click the cell output will get a bit bigger. If I hit some keys, the cell output also grows bigger vertically. This seems to affect all widget cells and not just the current cell that I am clicking on.

@dattanchu I've had the same problem when running in google chrome. For me, this doesn't seem to happen when using Firefox.


feat:Migrated Batch 1 of Vapour Thermal Conductivity

some issues :

AceticAcidExtended2 tests are failing for both type of formula
ButyricAcidExtended test were failing for special function but for the general function , it is passing . So I have excluded  ButyricAcidExtended from speacial compounds.

@maneetgoyal  sir , test cases are failing for AceticAcidExtended2 that's why I commented it out.

@maneetgoyal sir , test cases are failing for AceticAcidExtended2 that's why I commented it out.

That's fine, try to refactor the code as suggested above for now.

@qur786 Have made some changes. Please study them and add more test cases.

@qur786 Anything else pending here? (Apart from the 2 new comments)

@qur786 Anything else pending here? (Apart from the 2 new comments)

No sir have you looked at NaN test for acetic acid and butyric acid

have you looked at NaN test for acetic acid and butyric acid

@qur786 They are looking good. Lets address the pending comments and merge this

@qur786, tests look okay. Passing in my local system.


Update dependencies

Change to serde_norway, https://github.com/cafkafk/serde-norway which is apparently more actively maintained.
@jzbor This builds for me when using cargo build with one single warning:
warning: trait `CreateWidget` is never used
  --> marsbar/src/config.rs:19:11
   |
19 | pub trait CreateWidget<W: Widget> {
   |           ^^^^^^^^^^^^
   |
   = note: `#[warn(dead_code)]` on by default

warning: `marsbar` (bin "marsbar") generated 1 warning

Rust version 1.82
cargo clippy isn't happy, though 😞
The log is a bit long, could you have a look? I'm still an happy user of marswm and would like to contribute within my basic understanding. Thanks!
    Checking libmars v0.5.3 (/home/pin/Git/marswm/libmars)
error: this public function might dereference a raw pointer but is not marked `unsafe`
  --> libmars/src/platforms/x11/control.rs:28:48
   |
28 |         let root = unsafe { XDefaultRootWindow(display) };
   |                                                ^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref
   = note: `#[deny(clippy::not_unsafe_ptr_arg_deref)]` on by default

error: this public function might dereference a raw pointer but is not marked `unsafe`
  --> libmars/src/platforms/x11/draw/canvas.rs:39:52
   |
39 |         let screen = unsafe { xlib::XDefaultScreen(display) };
   |                                                    ^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
  --> libmars/src/platforms/x11/draw/canvas.rs:43:53
   |
43 |             .map_err(|e| unsafe { xlib::XFreePixmap(display, pixbuffer); e })?;
   |                                                     ^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

warning: using `map_err` over `inspect_err`
  --> libmars/src/platforms/x11/draw/canvas.rs:43:14
   |
43 |             .map_err(|e| unsafe { xlib::XFreePixmap(display, pixbuffer); e })?;
   |              ^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_inspect
   = note: `#[warn(clippy::manual_inspect)]` on by default
help: try
   |
43 -             .map_err(|e| unsafe { xlib::XFreePixmap(display, pixbuffer); e })?;
43 +             .inspect_err(|e| unsafe { xlib::XFreePixmap(display, pixbuffer); })?;
   |

error: this public function might dereference a raw pointer but is not marked `unsafe`
  --> libmars/src/platforms/x11/draw/canvas.rs:92:34
   |
92 |                 xlib::XNextEvent(display, event.as_mut_ptr());
   |                                  ^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

warning: this function has too many arguments (9/7)
  --> libmars/src/platforms/x11/draw/widget.rs:70:5
   |
70 | /     pub fn new(display: *mut xlib::Display, parent: xlib::Window, x: i32, y: i32, hpad: u32, vpad: u32, ipad: u32,
71 | |                children: Vec<W>, bg_color: u64) -> Result<X11FlowLayoutWidget<W>> {
   | |_________________________________________________________________________________^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
   = note: `#[warn(clippy::too_many_arguments)]` on by default

error: this public function might dereference a raw pointer but is not marked `unsafe`
  --> libmars/src/platforms/x11/draw/widget.rs:75:58
   |
75 |             .map_err(|err| unsafe { xlib::XDestroyWindow(display, window); err })?;
   |                                                          ^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
  --> libmars/src/platforms/x11/draw/widget.rs:79:58
   |
79 |             .map_err(|err| unsafe { xlib::XDestroyWindow(display, window); err })?;
   |                                                          ^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

warning: using `map_err` over `inspect_err`
  --> libmars/src/platforms/x11/draw/widget.rs:75:14
   |
75 |             .map_err(|err| unsafe { xlib::XDestroyWindow(display, window); err })?;
   |              ^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_inspect
help: try
   |
75 -             .map_err(|err| unsafe { xlib::XDestroyWindow(display, window); err })?;
75 +             .inspect_err(|err| unsafe { xlib::XDestroyWindow(display, window); })?;
   |

warning: using `map_err` over `inspect_err`
  --> libmars/src/platforms/x11/draw/widget.rs:79:14
   |
79 |             .map_err(|err| unsafe { xlib::XDestroyWindow(display, window); err })?;
   |              ^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_inspect
help: try
   |
79 -             .map_err(|err| unsafe { xlib::XDestroyWindow(display, window); err })?;
79 +             .inspect_err(|err| unsafe { xlib::XDestroyWindow(display, window); })?;
   |

warning: this function has too many arguments (10/7)
   --> libmars/src/platforms/x11/draw/widget.rs:170:5
    |
170 | /     pub fn new(display: *mut xlib::Display, parent: xlib::Window, x: i32, y: i32, hpad: u32, vpad: u32,
171 | |                label: String, font: &str, fg_color: u64, bg_color: u64) -> Result<X11TextWidget> {
    | |________________________________________________________________________________________________^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments

error: this public function might dereference a raw pointer but is not marked `unsafe`
   --> libmars/src/platforms/x11/draw/widget.rs:176:58
    |
176 |             .map_err(|err| unsafe { xlib::XDestroyWindow(display, window); err })?;
    |                                                          ^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
   --> libmars/src/platforms/x11/draw/widget.rs:181:58
    |
181 |             .map_err(|err| unsafe { xlib::XDestroyWindow(display, window); err })?;
    |                                                          ^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

warning: using `map_err` over `inspect_err`
   --> libmars/src/platforms/x11/draw/widget.rs:176:14
    |
176 |             .map_err(|err| unsafe { xlib::XDestroyWindow(display, window); err })?;
    |              ^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_inspect
help: try
    |
176 -             .map_err(|err| unsafe { xlib::XDestroyWindow(display, window); err })?;
176 +             .inspect_err(|err| unsafe { xlib::XDestroyWindow(display, window); })?;
    |

warning: using `map_err` over `inspect_err`
   --> libmars/src/platforms/x11/draw/widget.rs:181:14
    |
181 |             .map_err(|err| unsafe { xlib::XDestroyWindow(display, window); err })?;
    |              ^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_inspect
help: try
    |
181 -             .map_err(|err| unsafe { xlib::XDestroyWindow(display, window); err })?;
181 +             .inspect_err(|err| unsafe { xlib::XDestroyWindow(display, window); })?;
    |

error: this public function might dereference a raw pointer but is not marked `unsafe`
   --> libmars/src/platforms/x11/draw/widget.rs:406:43
    |
406 |         let screen = xlib::XDefaultScreen(display);
    |                                           ^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
   --> libmars/src/platforms/x11/draw/widget.rs:409:45
    |
409 |         let win = xlib::XCreateSimpleWindow(display, xlib::XDefaultRootWindow(display),
    |                                             ^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
   --> libmars/src/platforms/x11/draw/widget.rs:409:79
    |
409 |         let win = xlib::XCreateSimpleWindow(display, xlib::XDefaultRootWindow(display),
    |                                                                               ^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
   --> libmars/src/platforms/x11/draw/widget.rs:411:58
    |
411 | ...                   xlib::XBlackPixel(display, screen),
    |                                         ^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
   --> libmars/src/platforms/x11/draw/widget.rs:412:58
    |
412 | ...                   xlib::XWhitePixel(display, screen));
    |                                         ^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
   --> libmars/src/platforms/x11/draw/widget.rs:417:28
    |
417 |         xlib::XSelectInput(display, win, mask);
    |                            ^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
   --> libmars/src/platforms/x11/draw/widget.rs:420:44
    |
420 |         let status = xlib::XReparentWindow(display, win, parent, dimensions.x(), dimensions.y());
    |                                            ^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
   --> libmars/src/platforms/x11/draw/widget.rs:422:34
    |
422 |             xlib::XDestroyWindow(display, win);
    |                                  ^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
   --> libmars/src/platforms/x11/draw/widget.rs:427:26
    |
427 |         xlib::XMapWindow(display, win);
    |                          ^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
   --> libmars/src/platforms/x11/draw/widget.rs:430:22
    |
430 |         xlib::XFlush(display);
    |                      ^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
   --> libmars/src/platforms/x11/misc/atoms.rs:124:49
    |
124 |             let raw_string = xlib::XGetAtomName(display, atom);
    |                                                 ^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
   --> libmars/src/platforms/x11/misc/atoms.rs:139:31
    |
139 |             xlib::XInternAtom(display, atom_name, xlib::False)
    |                               ^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
   --> libmars/src/platforms/x11/misc/atoms.rs:146:43
    |
146 |         let name_ptr = xlib::XGetAtomName(display, atom);
    |                                           ^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
  --> libmars/src/platforms/x11/misc/window.rs:47:43
   |
47 |             if xlib::XGetWindowAttributes(display, *self, attributes.as_mut_ptr()) != 0 {
   |                                           ^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
  --> libmars/src/platforms/x11/misc/window.rs:58:46
   |
58 |             let status = xlib::XGetClassHint(display, *self, class_hints.as_mut_ptr());
   |                                              ^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
  --> libmars/src/platforms/x11/misc/window.rs:88:35
   |
88 |                 xlib::XGrabServer(display);
   |                                   ^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
  --> libmars/src/platforms/x11/misc/window.rs:90:41
   |
90 |                 xlib::XSetCloseDownMode(display, xlib::DestroyAll);
   |                                         ^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
  --> libmars/src/platforms/x11/misc/window.rs:91:35
   |
91 |                 xlib::XKillClient(display, *self);
   |                                   ^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
  --> libmars/src/platforms/x11/misc/window.rs:92:29
   |
92 |                 xlib::XSync(display, xlib::False);
   |                             ^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
  --> libmars/src/platforms/x11/misc/window.rs:94:37
   |
94 |                 xlib::XUngrabServer(display);
   |                                     ^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
   --> libmars/src/platforms/x11/misc/window.rs:101:34
    |
101 |             xlib::XDestroyWindow(display, *self);
    |                                  ^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
   --> libmars/src/platforms/x11/misc/window.rs:116:39
    |
116 |             if xlib::XGetTextProperty(display, *self, text.as_mut_ptr(), property.to_xlib_atom(display)) == 0 {
    |                                       ^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
   --> libmars/src/platforms/x11/misc/window.rs:118:57
    |
118 |             } else if xlib::Xutf8TextPropertyToTextList(display, text.as_ptr(), &mut data_ptr, &mut nitems) != 0 {
    |                                                         ^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

warning: match can be simplified with `.unwrap_or_default()`
   --> libmars/src/platforms/x11/misc/window.rs:148:26
    |
148 |           let mut states = match states_result {
    |  __________________________^
149 | |             Ok(states) => states,
150 | |             Err(_) => Vec::new(),
151 | |         };
    | |_________^ help: replace it with: `states_result.unwrap_or_default()`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_unwrap_or_default
    = note: `#[warn(clippy::manual_unwrap_or_default)]` on by default

error: this public function might dereference a raw pointer but is not marked `unsafe`
   --> libmars/src/platforms/x11/misc/window.rs:183:55
    |
183 |                 let status = xlib::XGetWindowProperty(display, *self, property.to_xlib_atom(display),
    |                                                       ^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

warning: accessing first element with `v.get(0)`
   --> libmars/src/platforms/x11/misc/window.rs:208:15
    |
208 |         match v.get(0) {
    |               ^^^^^^^^ help: try: `v.first()`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first
    = note: `#[warn(clippy::get_first)]` on by default

error: this public function might dereference a raw pointer but is not marked `unsafe`
   --> libmars/src/platforms/x11/misc/window.rs:216:35
    |
216 |             xlib::XChangeProperty(display,
    |                                   ^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
   --> libmars/src/platforms/x11/misc/window.rs:232:35
    |
232 |             xlib::XChangeProperty(display, *self, state_atom, state_atom,
    |                                   ^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
   --> libmars/src/platforms/x11/misc/window.rs:245:47
    |
245 |             xlib::Xutf8TextListToTextProperty(display, slice.as_mut_ptr(), size, xlib::XUTF8StringStyle, text.as_mut_ptr());
    |                                               ^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
   --> libmars/src/platforms/x11/misc/window.rs:246:36
    |
246 |             xlib::XSetTextProperty(display, *self, &mut text.assume_init(), property.to_xlib_atom(display));
    |                                    ^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
   --> libmars/src/platforms/x11/misc/window.rs:264:35
    |
264 |             if xlib::XGetGeometry(display, *self, &mut root, &mut x, &mut y, &mut w, &mut h, &mut bw, &mut depth) != 0 {
    |                                   ^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
   --> libmars/src/platforms/x11/misc/window.rs:282:51
    |
282 |             let result = xlib::XGetWindowProperty(display, *self, NetWMWindowType.to_xlib_atom(display),
    |                                                   ^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
   --> libmars/src/platforms/x11/misc/window.rs:296:46
    |
296 |             match xlib::XGetTransientForHint(display, *self, &mut window) {
    |                                              ^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
   --> libmars/src/platforms/x11/misc/window.rs:305:30
    |
305 |             xlib::XMapWindow(display, *self);
    |                              ^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
   --> libmars/src/platforms/x11/misc/window.rs:325:30
    |
325 |             xlib::XSendEvent(display, *self, xlib::False, 0, &mut event);
    |                              ^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
   --> libmars/src/platforms/x11/misc/window.rs:335:32
    |
335 |             xlib::XUnmapWindow(display, *self);
    |                                ^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
   --> libmars/src/platforms/x11/misc/window.rs:344:35
    |
344 |             xlib::XGetWMProtocols(display, *self, &mut atoms, &mut natoms);
    |                                   ^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
   --> libmars/src/platforms/x11/misc/window.rs:360:40
    |
360 |             if xlib::XGetWMNormalHints(display, *self, size_hints.as_mut_ptr(), &mut supplied_hints) != 0 {
    |                                        ^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
  --> libmars/src/platforms/x11/misc/mod.rs:68:47
   |
68 |         let w = unsafe { xlib::XWidthOfScreen(screen).try_into().unwrap() };
   |                                               ^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
  --> libmars/src/platforms/x11/misc/mod.rs:69:48
   |
69 |         let h = unsafe { xlib::XHeightOfScreen(screen).try_into().unwrap() };
   |                                                ^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
  --> libmars/src/platforms/x11/misc/mod.rs:91:30
   |
91 |             xlib::XNextEvent(display, event.as_mut_ptr());
   |                              ^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
   --> libmars/src/platforms/x11/misc/mod.rs:105:33
    |
105 |             xlib::XCloseDisplay(display);
    |                                 ^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
   --> libmars/src/platforms/x11/misc/mod.rs:115:43
    |
115 |         let screen = xlib::XDefaultScreen(display);
    |                                           ^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
   --> libmars/src/platforms/x11/misc/mod.rs:118:45
    |
118 |         let win = xlib::XCreateSimpleWindow(display, xlib::XDefaultRootWindow(display),
    |                                             ^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
   --> libmars/src/platforms/x11/misc/mod.rs:118:79
    |
118 |         let win = xlib::XCreateSimpleWindow(display, xlib::XDefaultRootWindow(display),
    |                                                                               ^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
   --> libmars/src/platforms/x11/misc/mod.rs:120:58
    |
120 | ...                   xlib::XBlackPixel(display, screen),
    |                                         ^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
   --> libmars/src/platforms/x11/misc/mod.rs:121:58
    |
121 | ...                   xlib::XWhitePixel(display, screen));
    |                                         ^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
   --> libmars/src/platforms/x11/misc/mod.rs:125:28
    |
125 |         xlib::XSelectInput(display, win, xlib::StructureNotifyMask | xlib::ExposureMask);
    |                            ^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
   --> libmars/src/platforms/x11/misc/mod.rs:137:29
    |
137 |         xlib::XSetClassHint(display, win, &mut class_hint);
    |                             ^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
   --> libmars/src/platforms/x11/misc/mod.rs:150:26
    |
150 |         xlib::XSetWMName(display, win, name_property.assume_init_mut());
    |                          ^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
   --> libmars/src/platforms/x11/misc/mod.rs:159:26
    |
159 |         xlib::XMapWindow(display, win);
    |                          ^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
   --> libmars/src/platforms/x11/misc/mod.rs:162:22
    |
162 |         xlib::XFlush(display);
    |                      ^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
   --> libmars/src/platforms/x11/misc/mod.rs:203:45
    |
203 |         let root = xlib::XDefaultRootWindow(display);
    |                                             ^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
   --> libmars/src/platforms/x11/misc/mod.rs:204:51
    |
204 |         let monitors_ptr = xrandr::XRRGetMonitors(display, root, xlib::True, &mut nmonitors);
    |                                                   ^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
   --> libmars/src/platforms/x11/misc/mod.rs:218:62
    |
218 |         if monitors.is_empty() && xinerama::XineramaIsActive(display) != 0 {
    |                                                              ^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
   --> libmars/src/platforms/x11/misc/mod.rs:220:62
    |
220 |             let screens_raw = xinerama::XineramaQueryScreens(display, &mut screen_count);
    |                                                              ^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
   --> libmars/src/platforms/x11/misc/mod.rs:228:75
    |
228 |             return vec!(MonitorConfig::from(xlib::XDefaultScreenOfDisplay(display)));
    |                                                                           ^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
   --> libmars/src/platforms/x11/misc/mod.rs:273:45
    |
273 |         let root = xlib::XDefaultRootWindow(display);
    |                                             ^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
   --> libmars/src/platforms/x11/misc/mod.rs:276:26
    |
276 |         xlib::XSendEvent(display, root, propagate, mask, &mut event);
    |                          ^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
   --> libmars/src/platforms/x11/misc/mod.rs:277:22
    |
277 |         xlib::XFlush(display);
    |                      ^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
   --> libmars/src/platforms/x11/wm/backend.rs:104:49
    |
104 |             let root = xlib::XDefaultRootWindow(display);
    |                                                 ^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
   --> libmars/src/platforms/x11/wm/backend.rs:121:58
    |
121 |             x11b.wmcheck_win = xlib::XCreateSimpleWindow(display, root, 0, 0, 1, 1, 0, 0, 0);
    |                                                          ^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
   --> libmars/src/platforms/x11/wm/backend.rs:122:35
    |
122 |             xlib::XChangeProperty(display, x11b.wmcheck_win, NetSupportingWMCheck.to_xlib_atom(display), xlib::XA_WINDOW,
    |                                   ^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
   --> libmars/src/platforms/x11/wm/backend.rs:124:35
    |
124 |             xlib::XChangeProperty(display, x11b.wmcheck_win, NetWMName.to_xlib_atom(display),
    |                                   ^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
   --> libmars/src/platforms/x11/wm/backend.rs:126:35
    |
126 |             xlib::XChangeProperty(display, root, NetSupportingWMCheck.to_xlib_atom(display), xlib::XA_WINDOW,
    |                                   ^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
   --> libmars/src/platforms/x11/wm/backend.rs:133:73
    |
133 |             (*attributes.as_mut_ptr()).cursor = xlib::XCreateFontCursor(display, CURSOR_NORMAL);
    |                                                                         ^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
   --> libmars/src/platforms/x11/wm/backend.rs:136:43
    |
136 |             xlib::XChangeWindowAttributes(display, root, xlib::CWEventMask | xlib::CWCursor, attributes.as_mut_ptr());
    |                                           ^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
   --> libmars/src/platforms/x11/wm/backend.rs:137:25
    |
137 |             xlib::XSync(display, xlib::False);
    |                         ^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

error: this public function might dereference a raw pointer but is not marked `unsafe`
   --> libmars/src/platforms/x11/wm/backend.rs:141:40
    |
141 |                 xrandr::XRRSelectInput(display, root, xrandr::RRCrtcChangeNotifyMask);
    |                                        ^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref

warning: use of `default` to create a unit struct
   --> libmars/src/platforms/x11/wm/backend.rs:107:47
    |
107 |                 attribute_phantom: PhantomData::default(),
    |                                               ^^^^^^^^^^^ help: remove this call to `default`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_constructed_unit_structs
    = note: `#[warn(clippy::default_constructed_unit_structs)]` on by default

warning: called `is_some()` after searching an `Iterator` with `find`
   --> libmars/src/platforms/x11/wm/backend.rs:496:47
    |
496 |             if  self.unmanaged_clients.iter().find(|u| u.window() == event.window && u.get_type() == UnmanagedType::Dock).is_some() {
    |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using: `any(|u| u.window() == event.window && u.get_type() == UnmanagedType::Dock)`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#search_is_some
    = note: `#[warn(clippy::search_is_some)]` on by default

warning: this `match` can be collapsed into the outer `if let`
   --> libmars/src/platforms/x11/wm/backend.rs:618:17
    |
618 | /                 match atom {
619 | |                     WMName => client_rc.borrow_mut().update_title(),
620 | |                     _ => (),
621 | |                 }
    | |_________________^
    |
help: the outer pattern can be modified to include the inner pattern
   --> libmars/src/platforms/x11/wm/backend.rs:617:25
    |
617 |             if let Some(atom) = X11Atom::from_xlib_atom(self.display, event.atom) {
    |                         ^^^^ replace this binding
618 |                 match atom {
619 |                     WMName => client_rc.borrow_mut().update_title(),
    |                     ^^^^^^ with this pattern
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match
    = note: `#[warn(clippy::collapsible_match)]` on by default

warning: you seem to be trying to use `match` for an equality check. Consider using `if`
   --> libmars/src/platforms/x11/wm/backend.rs:618:17
    |
618 | /                 match atom {
619 | |                     WMName => client_rc.borrow_mut().update_title(),
620 | |                     _ => (),
621 | |                 }
    | |_________________^ help: try: `if atom == WMName { client_rc.borrow_mut().update_title() }`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match
    = note: `#[warn(clippy::single_match)]` on by default

warning: unneeded `return` statement
   --> libmars/src/platforms/x11/wm/backend.rs:929:5
    |
929 |     return std::any::type_name::<T>();
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return
    = note: `#[warn(clippy::needless_return)]` on by default
help: remove `return`
    |
929 -     return std::any::type_name::<T>();
929 +     std::any::type_name::<T>()
    |

warning: very complex type used. Consider factoring parts into `type` definitions
  --> libmars/src/platforms/x11/wm/client.rs:42:24
   |
42 |     saved_decorations: Option<(u32, u32, (u32, u32, u32, u32))>,
   |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity
   = note: `#[warn(clippy::type_complexity)]` on by default

warning: `libmars` (lib) generated 15 warnings
error: could not compile `libmars` (lib) due to 75 previous errors; 15 warnings emitted

Hi,
First of all, thanks for the PR. Regarding the compiler warning, I cleaned it up in 4e13d3f5deaa6ff59f6f6b3541b519b06924f369. As for the clippy issues, they mostly stem from my lax handling of raw pointers that are used inside libx11. Those are mostly only created by x11 and only used by x11, yet they are at the end of the day raw pointers, which is why rust considers them unsafe.
In hindsight I would have rather used x11rb, which would have prevented much of these issues (including i386 support btw). However now it would take considerable work. I started porting to x11rb in a separate branch, but never got around to finishing it. I will try to add appropriate declarations in the code for clippy to ignore these warnings. I also intend to fix all other warnings currently generated by clippy.
As for serde-norway, I am not quite sure yet. The README states:

I'm not committing to maintaining this long-term (yet).

I would rather just wait until there is one of the forks can be  considered a stable default or until there are any issues with the current dependency we are using. But I will look into it, and if it looks alright I will update the dependencies to it.
I really appreciate the feedback. I do use marswm as my one and only desktop, but you might have noticed there were not any new  features or significant fixes implemented, as it is "good enough" for me. I do however fully intend to fix all bugs that come up, so please feel free to let me know. Ideally I would like to have a Wayland-Backend and possibly an additional x11rb-Backend one day, but until I find time to implement these it is probably going to mostly stay the way it is, including the unorthodox use of pointers from libx11.
Greetings, Julian

Thanks for the explanation. You might be right about serde_norway but, she also writes

However, I also need it, because I'm in a platform team :)

Also, she was the one forking exa and keeping it alive as eza but, I understand your point. Hopefully, there will be one replacement for serde_yaml.

I do use marswm as my one and only desktop, but you might have noticed there were not any new features or significant fixes implemented, as it is "good enough" for me.

It's good enough for me too :)
And, I don't need new features. I'm really happy with this wm, it compiles fast enough for me to have my own package pulling the source from git-HEAD and managed by the package manager. Don't worry, I don't provide a package for the development branch, I keep it to myself :)
Shall I simply close this PR?
I might keep updating dependencies every now and then, I like when things are up-to-date.
Regards,
Pedro

I have reviewed the PR and I think I am going to merge it. I also recognize the name behind serde_norway (although from the Nix community rather than their work on eza) so I think this is fine for now. We can always switch to another fork later. As there is only really one function as interface to that crate there should not be any compatibility problems down the line.
Thanks for your contribution!


Add support for pip-compile's --resolver flag

Happy to help with a contribution. But wanted to check first if this is something you would be interested in.
$ python -m piptools compile --help
...
  --resolver [legacy|backtracking]
                                  Choose the dependency resolver.
...

Reference: https://github.com/jazzband/pip-tools/pull/1539

Duplicate


Fix bash syntax errors

view issue #710

/ok-to-test

a bit curious on why this only fails sometimes, as this is in the main path and so is part of everyone's startup of the jenkins image
@bparees @mbecca any thoughts?

/approve

i suspect this only fails when run with /bin/sh, not /bin/bash, or some other nuance.

/lgtm

thanks @bparees
and thanks @mbecca


TypeError: Failed to fetch

I am not sure why I am getting this error. Can you take a quick look?
This is what I see in devtools:

This is my webpack config:
{
  context: path.resolve(__dirname, '..'),
  entry: path.join(__dirname, '..', 'src_react/app/index.jsx'),
  output: {
    path: path.join(__dirname, '..', 'build'),
    filename: '[name].[hash].js',
    chunkFilename: '[name].[chunkhash].js',
    publicPath: '/build/'
  },
  module: {
    rules: [{
      test: [/\.jsx?$/, /\.js?$/],
      exclude: /(node_modules|bower_components)/,
      loader: 'babel-loader'
    }, {
      test: /\.(woff|woff2)(\?v=\d+\.\d+\.\d+)?$/,
      loader: 'url-loader?limit=10000&mimetype=application/font-woff'
    }, {
      test: /\.ttf(\?v=\d+\.\d+\.\d+)?$/,
      loader: 'url-loader?limit=10000&mimetype=application/octet-stream'
    }, {
      test: /\.eot(\?v=\d+\.\d+\.\d+)?$/,
      loader: 'file-loader'
    }, {
      test: /\.otf(\?v=\d+\.\d+\.\d+)?$/,
      loader: 'file-loader?name=fonts/[name].[ext]'
    }, {
      test: /\.scss$/,
      exclude: /node_modules/,
      loader: ExtractTextPlugin.extract({
        fallback: 'style-loader',
        use: [{
          loader: 'css-loader'
        }, {
          loader: 'resolve-url-loader'
        }, {
          loader: 'postcss-loader',
          options: {
            plugins: function () {
              return [
                require('autoprefixer')
              ];
            }
          }
        }, {
          loader: 'sass-loader',
          options: {
            includePaths: [path.resolve(__dirname, '..', reactAppRoot)]
          }
        }]
      })
    }, {
      test: /\.css$/,
      loader: ExtractTextPlugin.extract({
        fallback: 'style-loader',
        use: [
          'css-loader',
          {
            loader: 'postcss-loader',
            options: {
              plugins: function () {
                return [
                  autoprefixer
                ];
              }
            }
          }
        ]
      })
    }, {
      test: webpackIsomorphicToolsPlugin.regular_expression('images'),
      loader: 'url-loader?limit=10240'
    }]
  },
  resolve: {
    modules: [
      path.resolve(reactAppRoot),
      'node_modules'
    ],
    extensions: ['.js', '.jsx', '.css', '.scss'],
    alias: {
      'ie': 'component-ie'
    }
  },
  plugins: [
    webpackIsomorphicToolsPlugin,
    new webpack.optimize.CommonsChunkPlugin({
      name: 'vendor',
      minChunks: function(module){
        return module.context && module.context.indexOf("node_modules") !== -1;
      }
    }),
    new webpack.optimize.CommonsChunkPlugin({
      name: 'manifest',
      minChunks: Infinity
    }),
    new WebpackMd5Hash(),
    new AssetsPlugin(),
    new webpack.optimize.UglifyJsPlugin({
      compress: {
        drop_console: true,
        warnings: false,
      }
    }),
    new HtmlWebpackPlugin({
      template: path.join(__dirname, '..', 'src_react/index.tmpl.html'),
      minify: {
        minifyCSS: true,
        minifyJS: true,
        removeComments: true
      }
    }),
    new PreloadWebpackPlugin({
      rel: 'preload',
      as: 'script',
      include: ['manifest', 'vendor', 'main'],
    }),
    new ScriptExtHtmlWebpackPlugin({
      defaultAttribute: 'defer'
    }),
    new WebpackPwaManifest(webAppManifest),
    new webpack.DefinePlugin({
      'process.env': {
        NODE_ENV: JSON.stringify(process.env.NODE_ENV || 'development'),
      }
    }),
    new ExtractTextPlugin({
      filename: '[name].[hash].css',
      disable: false,
      allChunks: true
    }),
    new OfflinePlugin({
      relativePaths: false,
      safeToUseOptionalCaches: true,
      publicPath: '/build/',
      caches: 'all',
      ServiceWorker: {
        events: true
      },
      AppCache: false,
    }),
  ]
};

and I have this in my entry file:
import * as OfflinePluginRuntime from 'offline-plugin/runtime';
OfflinePluginRuntime.install({
  onUpdating: () => {
    console.log('SW Event:', 'onUpdating');
  },
  onUpdateReady: () => {
    console.log('SW Event:', 'onUpdateReady');
    // Apply update when available
    OfflinePluginRuntime.applyUpdate();
  },
  onUpdated: () => {
    console.log('SW Event:', 'onUpdated');
    // Reload immediately when updated
    window.location.reload();
  },
});

Why do you have publicPath as  '/build/'? Do URLs on your website look like this: /build/manifest.*.js?

/build is the distribution folder that webpack chunks are put in.

I'm talking about webpack's publicPath exactly. Public path isn't a folder on your file system, it's a path prefix to any script requested by webpack. So webpack assumes you have /build/something.js URLs and so does offline-plugin. In most cases you want publicPath to be '/'.

Hm. Yes, the way it is setup, the website structure is /build/manifest.*.js, /build/main.*.js, etc.

Then why your server responds with 404 for those files?

I believe the hashes are the problem. Those look like they are old hashes from somewhere. I cannot pinpoint where the hashes for those files came from. I have tried everything from clearing cache to loading the website on a different computer but it always seems to be looking for f1e49bb84baa0b7dfb51. For example, it looks for vendor.f1e49bb84baa0b7dfb51.css when my current file is actually vendor.1b83476f9cb7f20c1b60.css.

offline-plugin uses file names from your webpack build. If you don't change file names post-build then everything should be fine as it's for me, for example. Maybe some of your plugins change file names after offline-plugin handles them.

That is what is loaded from the server. It is strange to me that offline-plugin would define as an asset those files with the same hash every time since if webpack were creating the hash, the hash should probably be different.

I commented out any of the plugins that could potentially affect the filename and am still getting the same issue with that same hash.

I have no idea. offline-plugin that what webpack gives to it. What verdion of webpack you're using?

"webpack": "^2.7.0"

Looks like a fine version. I have no idea tbh.

I'm closing this. If you have a repro I can take a look, otherwise I don't know how I can help here.


[FLOC-3138] Release Flocker 1.4.1

https://clusterhq.atlassian.net/browse/FLOC-3138
I used the branch naming from https://github.com/ClusterHQ/flocker/pull/1996 for this.

Note that this is based of master, since the relevant fix wasn't based of the last release. However, the only non-test change (diff) is FLOC-1292. That also seems reasonable to include in a release.

Thanks @tomprince . The changes here look good.
I will have a look through the release publishing code to see if there is any problem I can spot with the new branching. I think that in these cases where the old system is known to work then it is probably best to stick with them until the alternative branching system is accepted, but for now this can be continued.

I will have a look through the release publishing code to see if there is any problem I can spot with the new branching.

The only thing that cares about branching is the broken script to create branches (since it demands pre-releases which we aren't doing.

@tomprince sorry I stopped - as per the JIRA issue we aren't doing a release today.


Create Info

Why:
Closes:

What's being changed (if available, include any code snippets, screenshots, or gifs):

Check off the following:

[x] I have reviewed my changes in staging, available via the View deployment link in this PR's timeline.

For content changes, you will also see an automatically generated comment with links directly to pages you've modified. The comment won't appear if your PR only edits files in the data directory.

[x] For content changes, I have completed the self-review checklist.

From d3852868adcfd73de9863d29b612793ebb4aadfa Mon Sep 17 00:00:00 2001
From: Crystaleclipspawl<EMAIL_ADDRESS>Date: Tue, 3 Oct 2023 17:21:22 -0400
Subject: [PATCH] Create Info

Info | 1 +
1 file changed, 1 insertion(+)
create mode 100644 Info
diff --git a/Info b/Info
new file mode 100644
index<PHONE_NUMBER>00..8b137891791f
--- /dev/null
+++ b/Info
@@ -0,0 +1 @@
+


[python3] switch to vcpkg-msbuild

make 3fd use vcpkg-msbuild
make python use vcpkg-msbuild
fix python cross builds on windows

CI run failed:

Yeah I know. Something wrong with msbuild not selecting the right configuration for some reason. The command line has /p:Configuration=Release and /p:Platform=Win32 so I don't quite know why it is selecting x64 instead

hmm even E:\vcpkg\buildtrees\python3\x86-windows-rel>msbuild E:/vcpkg/buildtrees/python3/x86-windows-rel/PCbuild/pcbuild.proj -p:Platform=Win32 doesn't call the correct compiler from vcpkg env --triplet x86-windows

Hmm there is a bug in python3 which builds an executable for the host instead the target which is why the cross builds fail here (see https://github.com/microsoft/vcpkg/pull/31727#issuecomment-1669460897)

So the official python installation does not contain _freeze_module.exe. This tool is used only at build time thus can be removed from the installed tree. Is this bad that it's built with real host arch?

Is it bad that it's built with real host arch?

Yes since that is against vcpkg policy. vcpkg only builds for the target triplet nothing else.

This tool is used only at build time thus can be removed from the installed tree

No it cannot since it is required to run for cross builds to generate some headers/scripts if I understand what it is doing correctly. I moved it to manual-tools/python3 so that it won't get picked up by CMake or whatever else might go looking for .exe files.


Add API to decorate link with user/session info

This PR adds a method to the tracker to decorates a URL, provided by the user, with session/user info for cross-device/platform tracking.

It's quite weird, but it seems that the TestLinkDecorator is failing in the CI on iOS 15.2, do you have any idea why that might be? It is passing for me locally on iOS.
Tests.TestLinkDecorator
testMissingFields, failed - URL does not match pattern:
/Users/runner/work/snowplow-ios-tracker/snowplow-ios-tracker/Tests/TestLinkDecorator.swift:33
          if (fullMatch.count == 0) {
              XCTFail("URL does not match pattern:\n\(text)\n\(regex)")
          }

testMissingFields, XCTAssertEqual failed: ("0") is not equal to ("1")
/Users/runner/work/snowplow-ios-tracker/snowplow-ios-tracker/Tests/TestLinkDecorator.swift:35
          }
          XCTAssertEqual(fullMatch.count, 1)
      } catch let error {

 Executed 310 tests, with 2 failures (0 unexpected) in 310.616 (310.801) seconds

It seems that unrolling the loop that was in testParameterConfiguration has fixed the tests failing? They seem to be passing now.


Enable rbac for prometheus

you do no need to declare ca_file in config of prometheus?

Already declared here: https://github.com/microsoft/pai/blob/7953d59a4abd892e9fc878aa0e92a6a940988e83/src/prometheus/deploy/prometheus-configmap.yaml.template#L40-L42. :)

In reply to: 540995431 [](ancestors = 540995431)

Shoule be careful about that the doamin is bind with CA. So when you deployed your service in an RBAC enabled cluster, and you get the ca and token from k8s's mounting (default path), you should get api-servers' address through the env.
Please follow this source code. : https://github.com/microsoft/pai/blob/master/src/rest-server/src/config/kubernetes.js#L44

Thanks, fixed

In reply to: 541487859 [](ancestors = 541487859)


renames with new UI

Fixes #655
Related PRs: #885 and #1448
Please check this @satu0king.
Screenshots of the changes (If any) -

Note: Please check Allow edits from maintainers. if you would like us to assist in the PR.

Awesome, Thanks!


PublicKeyCredentialDescriptor sometimes encode string as Base64

Hi,
sometimes the DescriptorJson property takes values encoded in the same way as Convert.ToBase64(..) does. This means that the database saves a string containing the allowed Base64 characters, which Base64Url.Ecode transoforms in _ (=, +, /).
If as in the demo code, I use Base64Url.Encode to retrieve the credentials registered by the user, rightly, the code does not find matches and returns a null object that cause a fails in authentication process.
As for me, I introduced a horrible if in the code, which tries to retrieve the credentials using Convert.ToBase64() and with this I "solved".
For a clean solution, I've analyzed the library code, but I don't see any errors so I'll keep investigating.
As a proposal, the library could use the WebEncoders.Base64UrlEncode methods offered by the .Net5 framework (https://docs.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.webutilities.webencoders.base64urlencode?view=aspnetcore - 5.0)?
Samuele

Closed beacause the cose I uses is old


Microsoft.UI.Xaml no longer seems to be a package

Trying to follow the WebView2 guide for UWP, however Microsoft.UI.Xaml is not listed in the package manager. Suggest updating to valid steps

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

ID: d0042c10-cb18-e543-95ed-983f62afa37f
Version Independent ID: 6bc76779-2539-5538-241e-2a9727f52398
Content: Get started with WebView2 in WinUI 2 (UWP) apps - Microsoft Edge Development
Content Source: microsoft-edge/webview2/get-started/winui2.md
Product: microsoft-edge
Technology: webview
GitHub Login: @MSEdgeTeam
Microsoft Alias: msedgedevrel

Thank you for spotting this and creating an issue about it. Let me make sure this is tracked by our team.

I’ve actually been meaning to update this ticket – I realised I’d missed a step and once that was completed I was able to find the package as described
David Tynewydd
.Net Windows App Developer |<PHONE_NUMBER>0
Board Intelligence Ltd
Registered in England and Wales No. 4529306
Head Office: 24 Cornhill | London EC3V 3ND  | UK
From: Patrick Brosset @.>
Sent: 25 January 2023 08:59
To: MicrosoftDocs/edge-developer @.>
Cc: David Tynewydd @.>; Author @.>
Subject: External:-Re: [MicrosoftDocs/edge-developer] Microsoft.UI.Xaml no longer seems to be a package (Issue #2422)
CAUTION: This email originated from outside of Board Intelligence. Do not click links or open attachments unless you recognise the sender and know the content is safe.

Thank you for spotting this and creating an issue about it. Let me make sure this is tracked by our team.
—
Reply to this email directly, view it on GitHubhttps://github.com/MicrosoftDocs/edge-developer/issues/2422#issuecomment-1403282203, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AWTTRHILHT2AGMUASHNZCM3WUDTMHANCNFSM6AAAAAAUE6K34U.
You are receiving this because you authored the thread.Message ID<EMAIL_ADDRESS>EMAIL DISCLAIMER: The information contained in this email is private and confidential and may be legally privileged. It is intended solely for the addressee and any disclosure, copying or dissemination of it is prohibited, will be a breach of the writer's copyright and may be unlawful in other respects. If you are not the intended recipient(s), please do not read, print, re-transmit, store or act in reliance on it or any attachments. If you have received this email in error, please notify @.*** immediately and permanently delete and destroy any copies of it. It should be noted that, unless agreed otherwise in writing by Board Intelligence Ltd, it never enters into contracts via email nor email attachment and that no employee or representative of Board Intelligence Ltd. has the authority to override that policy. For information about how we process data and monitor communications please see our Privacy Policy at https://www.boardintelligence.com/privacypolicy and our Transparency Notice at https://www.boardintelligence.com/transparency-notice

l'honk...
On Jan 24, 2023 11:13 AM, "DavidTynewyddBI" @.***>
wrote:

Trying to follow the WebView2 guide for UWP, however Microsoft.UI.Xaml is
not listed in the package manager. Suggest updating to valid steps
Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com
http://learn.microsoft.com ➟ GitHub issue linking.

ID: d0042c10-cb18-e543-95ed-983f62afa37f
Version Independent ID: 6bc76779-2539-5538-241e-2a9727f52398
Content: Get started with WebView2 in WinUI 2 (UWP) apps - Microsoft
Edge Development
https://learn.microsoft.com/en-us/microsoft-edge/webview2/get-started/winui2
Content Source: microsoft-edge/webview2/get-started/winui2.md
https://github.com/MicrosoftDocs/edge-developer/blob/main/microsoft-edge/webview2/get-started/winui2.md
Product: microsoft-edge
Technology: webview
GitHub Login: @MSEdgeTeam https://github.com/MSEdgeTeam
Microsoft Alias: msedgedevrel

—
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftDocs/edge-developer/issues/2422, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/A2THH7B7VTUPKP3MTIECKDDWT62N5ANCNFSM6AAAAAAUE6K34U
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


fix vite env vars

the client upload doesn't work on SvelteKit as the process.env is not available on Vite (see https://vitejs.dev/guide/env-and-mode.html)
As the 2 variables requested by the client are optional (they are used for testing against staging or v1), we can simply wrap them using a try/catch, allowing SvelteKit to load their default hardcoded value
Adding a Blob SvelteKit example to this repo for testing purposes, we will add some integration tests on a separate PR

Do we need to add at least VERCEL_BLOB_READ_WRITE_TOKEN env to the vite/sveltekit project? How does it works otherwise?

the vite.config loads the variables
 const env = loadEnv(mode, process.cwd(), '')
    dotenvExpand.expand({ parsed: env })

but they are only accessible from within the server. VERCEL_BLOB_READ_WRITE_TOKEN can only be accessed from

Do we need to add at least VERCEL_BLOB_READ_WRITE_TOKEN env to the vite/sveltekit project? How does it works otherwise?

added .env.example

Good for me, but this is failing

I moved the sveltekit example to a separate PR and fixed the eslint issue

@tcc-sejohnson could you please have a look at this solution? Currently it is impossible for SvleteKit users to upload blob files using the client upload flow

@correttojs Is this PR similar to https://github.com/vercel/storage/issues/168 and https://github.com/vercel/storage/pull/169? cc @ffMathy

@correttojs Is this PR similar to #168 and #169? cc @ffMathy

You should be able to consume an env variable with Vite on edge functions (there may still be an issue reading the process.env though).
I would thread this PR as a separate case as Blob needs to work on the client too, and the 2 env we are currently accessing are optional

@correttojs Is this PR similar to #168 and #169? cc @ffMathy

Sorry, not the same at all


Update KFP tutorial content for version 3.3

This PR refreshes the content of the Kubeflow Pipelines tutorial.
Developer's Certificate of Origin 1.1
   By making a contribution to this project, I certify that:

   (a) The contribution was created in whole or in part by me and I
       have the right to submit it under the Apache License 2.0; or

   (b) The contribution is based upon previous work that, to the best
       of my knowledge, is covered under an appropriate open source
       license and I have the right under that license to submit that
       work with modifications, whether created in whole or in part
       by me, under the same open source license (unless I am
       permitted to submit under a different license), as indicated
       in the file; or

   (c) The contribution was provided directly to me by some other
       person who certified (a), (b) or (c) and I have not modified
       it.

   (d) I understand and agree that this project and the contribution
       are public and that a record of the contribution (including all
       personal information I submit with it, including my sign-off) is
       maintained indefinitely and may be redistributed consistent with
       this project or the open source license(s) involved.

I think elyra-ai/elyra#2350 will affect the look of some of these screenshots (and optionally some of the wording as well) with the selection of input value versus path

Agreed. We'll deal with that after 3.4  was released!


Validation loss vs Training loss in AudioSet training

Hi!
First of all i would like to thank you for sharing with everyone your amazing work! Truly inspiring and fascinating work you shard with us.
I have a question regarding the differences of the training loss and the validation loss. It seems that the validation loss is much higher than the training loss, is that make sense? isn't it overfitting?
I also tried to fine tune the Audioset trained model for my data and is showed the same differences (with and without augmentations).
Here is an example from the logs: test-full-f10-t10-pTrue-b12-lr1e-5/log_2090852.txt:
train_loss: 0.011128
valid_loss: 0.693989

I'm still new to deep learning so maybe I'm missing something.
Thank you!

After some investigation, it seems to be a logging bug. The train and eval loss difference is over-estimated in the code.
In traintest.py, the loss_meter is cleaned up every epoch, but the average is printed out every 1000 iterations. So the large loss value at early iterations accumulates.
Changing 'loss_meter.avg' to 'loss_meter.val' at here can alleviate this problem. But I would suggest doing an offline loss evaluation (i.e., check the training loss using the best checkpoint model after the training process finishes), that would be the most accurate solution.


making code compile for swift 2.0

First of all, thanks to provide this library for Swift.
I needed it to compile on Swift 2.0, so here are my changes that I had to do to fix the errors I had. I also fixed some of the warnings I had.

Hi, thank you for this contribution.
This looks like something I will definitely merge, but I do need to check everything again in more details these days, and I'll probably merge it on some other branch then master because Swift 2.0 is still in beta.
Cheers,
// T

Swift 2.0 support is now on master branch in AEXML 2.0.0.
I had to do a lot more stuff, so I didn't merge this, but thanks, it sure helped me!


h264

Can this suppert to play  *.h264 by hard decoder?
If not,how can i do it?

Ok, like to direct you to the following forum and post your question there.
https://groups.google.com/forum/#!forum/android-ndk
I am not able to help for it.


Is it possible to use a pretrained model on Classifier-baseline training?

Just out of curiosity, since my own dataset is quite small, with only 51 classes and each class has less than 100 examples. Do you think it is possible to use a pretrained model, say ResNet18, as the start point to engage the Classifier-Baseline training, then use the trained model for Meta-Baseline training and so on?
I've looked into the code and set the pretrained=True in def resnet18(pretrained=True, progress=True, **kwargs). However, the result did not seem to be any difference when pretrained=False. Base on the train_classifier_im800.yaml, the
model_args is

encoder: resnet18
encoder_args: {}
classifier: linear-classifier
classifier_args: {n_classes: 800}

It just enlists resnet18 as the backbone encoder. Can I set encoder_args like encoder_args: {pretrained: true} or so?

I am not sure what will the result be if training ResNet-18 from scratch with such a small dataset, data augmentation and proper lr decay may help.
The pretrained arg is from Pytorch's original implementation of ResNet, which is used for loading the official ImageNet-1K pretrained model (but not used in our code). If you want a pretrained model, you may need to download the pretrained model from Pytorch's website and load its parameters manually in the code.

Sure. Thanks for your help.


coral(fix): Fix Icon in PreviewBanner resizes with browser

About this change - What it does
Icon resized with browser size, see screenshot:

🐛 fix:

wrap icon in Typography component to get font sizing inherited
add fixed margin to Icon in order to equalize line-height and align icon properly with the font at top
use Typography.SmallText since variant body-small is deprecated

Resolves: #482

@mathieu-anderson  commented! I requested another review from you through github, let's see if your 🤖  wants to inform you about this 😅  ( 🤞 🤞 )


feature request: official open source tool to compile powershell script to EXE

Please create an official tool to "compile" and "obfuscate" powershell "script" to .exe
people have been asking about third party tools to do this since years.
http://stackoverflow.com/questions/3759456/create-a-executable-exe-file-from-powershell-script
we eagerly await to have an microsoft's official open source tool to compile powershell scripts to exe ??

Although it would be useful for some I think this functionality should exist outside of the core Powershell runtime. The desired functionality is already provided by several Windows Powershell IDEs such as PowerGUI and PowerShell Studio. If anything a community module could provide the same functionality. There is also the security concern with executables. Personally I prefer to review any script that I might run before hand which an executable cannot provide.

External tools simply wrap scripts, they don't actually compile anything.
Proper compilation support would require support from the engine.
It's certainly something that can be implemented as we do JIT compile code today, but there's still a lot of work to persist the IL we generate because the generated IL depends on live data structures. A compiled PowerShell script would need to recreate those live data structures to work properly.
Also note that a compiled PowerShell script would still require installing PowerShell and all of the modules the script depends on. Compilation still does eliminate the need for those dependencies.

@thezim : when i receive a powershell script as a senior system administrator, then i would like to myself review the script source code , and decide to get it executed on some systems.(as you suggested)
BUT once i decided on the script and gave it to very low tech-people/junior support staff for geographically remote - mostly disconnected networks, then i would like to give it in compiled exe format , so that the people i gave it to, do not change it knowingly/unknowingly; and hence (as a senior administrator) i am in total control of what is being executed there(on geographically remote - mostly disconnected networks) is not the modified script, but what is executed is my script without any modifiecation.

additionally, script compilation and obfuscation support  will give me another reason to push powershell in my company for shell scripting, as compared to bash/zsh etc shell scripting languages which do not support compilation.
This will be major selling point for CTOs, if they see that scripts can be powershell shell scripts can compiled and obfuscated, then they will see it as some form of IPR protection upto some extent

Hi @zaxebo1 a few quick thoughts!

Have you considered script signing, if your concern is modification of scripts?
Have you considered hiring, or training your team(s) to use a core tool that anyone (IMHO) in a Microsoft ecosystem should be familiar with?

No offense intended, just offering some alternatives that might work, given that this seems a (IMHO) very low priority.
Cheers!

Hello @zaxebo1,
I tend to agree with @RamblingCookieMonster , while I understand the challenges you have, I also see the threat of suddenly getting bad code put into compiled executables that will be more difficult to troubleshoot. In addition I feel that other people should be able to see the code, as it provides an excellent way for others to learn. Last but not least, believe me, I've been there back in the 90s when we used the WinBatch compiler all over the place, so much compiled executables, bad managed source code repositories, and there you go, the guy that wrote the executable no longer works for the company and you won't have access to the source anymore.
Just my 2 cents.
Alex

I was able to learn so much about how PowerShell works simply by reading other scripts/modules after using them. I'd hate to see the source code hidden inside of a .EXE when it seems like code signing and execution policies fit this scenario.

I remember the days of DOS and Clipper. It was great to be able to compile essentially scripts and run them directly. But in the modern world any "unknown" executables is a significant problem. Moreover modern OS is able to run scripts directly and security problem is solved by script signing. This gives admins and users the best experience.
... although the idea is beautiful at all times :blush:


HttpOnly on cookie in CookieCache

Any reason not to set HttpOnly to true in CookieCache?:
var cookie = httpContext.Request.Cookies[Name] ?? new HttpCookie(Name) {HttpOnly = true};

Sorry for the late reply @ThomasArdal
Um - nope. no reason besides ignorance. 😢

Is the repo dead or do you want a PR? (I've seen you argue that ASP.NET Identity and similar makes this library redundant. But in my opinion, there is still room for a simpler alternative like this)

Personally, I'm moving more over to the core stuff. Part of me does want to move this up to .NET Standard and then maybe leave it in maintenance mode after that.
Happy to accept a PR cause there's another bug reported yesterday so I might try and do another release into a .NS release.

Fixed in #219