Recomended directory structure

Feedback:

During the Walkthrough a dev can find it confusing where the GI Clone, vi or cp actions need to be performed.  There is a considerable number of moving parts and disclosing a recommended layout (directory structure)  would go a long way to help in this issue.

Dupe


A potential null pointer dereference bug. Please confirm, much appreicated!

Hi,
We are developing a new static analysis tool for catching bugs in Java code. Upon scanning your codebase we find the following:
In Frame.java (stetho/src/main/java/com/facebook/stetho/websocket/Frame.java) line 41, if hasMask is false then maskingKey will be assigned null when passed to MaskingHelper.unmask(maskingKey, payloadData, 0, (int)payloadLen) the expression key[index++ % key.length] at line 14 in MaskingHelper.java will trigger a null pointer dereference.
Would you please take a look and confirm this is indeed a bug? Thanks a million!!!

Hi, can anyone please take a look at the issue and confirm this is indeed a bug? Thanks a million!


Additional Blank page in pdf at the end for Printing

Attached link to PDF file here:
PDF.js.pdf
Configuration:

Web browser: Chrome, Version 115.0.5790.110 (Official Build) (64-bit):
Operating system and its version: Windows 10 Enterprise, 22H2, 19045.3208
PDF.js version: pdfjs-3.8.162
Is a browser extension: NO

Steps to reproduce the problem:

Open online demo by link: https://mozilla.github.io/pdf.js/web/viewer.html
Download the file from the attachments (PDF.js.pdf) and open it using the PDF viewer
Click the Print icon-button

What is the expected behavior? (added a screenshot for printing from a native browser pdf viewer)
PDF contains only one page so print contains only 1 page:

What went wrong? (added a screenshot for printing from a pdfjs-3.8.162)
PDF contains only one page but on Print sends two pages where the last page is blank:

Additional notes:
In the browser Microsoft Edge, Version 115.0.1901.188 (Official build) (64-bit)
all works fine

WFM, using PDF.js PDF.js: 3.9.146 [48cc67f17] as built-in to Firefox Nightly 117.0a1 on Windows 11.
Also WFM, using PDF.js 3.9.169 [cfd179f23] (i.e. the demo viewer) in Google Chrome Beta 116.0.5845.49 on Windows 11.

In the browser Microsoft Edge, Version 115.0.1901.188 (Official build) (64-bit)
all works fine

Given that this apparently works in another Chromium-based browser, the fact that detailed control over printing output is still difficult to achieve in general (and with good cross-browser support), and finally that Firefox is the primary development target for this library; this most unfortunately doesn't really look easily actionable/fixable here.


schema: how to model a field which can be a URL or an object

In the Annotation schema, we have some fields (e.g. target) which are defined as a URL.
However, sometimes these urls refer to items which exist in the CE database. In this case, I think it makes sense that we represent this as a relation in the neo4j database.
In this case, we may have a MediaObject with the following fields:

id
url (repository that this file is on)
contentUrl (link to the raw MEI file)

we may want our target to refer to "measure 3 within the raw mei file represented by this node". In this case I'm thinking of modelling it like this:
interface AnnotationTargetInterface {
    "http://purl.org/dc/elements/1.1/identifier,https://schema.org/identifier"
    identifier: ID
}

type AnnotationURLTarget implements AnnotationTargetInterface {
    "http://purl.org/dc/elements/1.1/identifier,https://schema.org/identifier"
    identifier: ID
    url: URL!
}

type AnnotationCETarget implements AnnotationTargetInterface {
    "http://purl.org/dc/elements/1.1/identifier,https://schema.org/identifier"
    identifier: ID
    "the node in the database"
    target: Thing!
    "the field in the above target which contains the actual url"
    field: String!
    "an optional fragment to select an item in the target url, e.g. '#measure-3'"
    fragment: String
}

type Annotation {
    ...
    target: [AnnotationTargetInterface] @relation(name: "ANNOTATION_TARGET", direction: "OUT")
    ...
}

This has one downside - if I want the target to be a URL external to TROMPA, we still have to create a node (AnnotationURLTarget) for it. It may be possible to use a Union here, but I was unable to work out how to make a union of a base type and a relation.
Do you have any other suggestions as to how we could model this?

Related to this - is the preference to have a separate file in the schema directory for each type and interface, or can we combine related types together in a single file?

The proposed schema looks good to me.

Related to this - is the preference to have a separate file in the schema directory for each type and interface, or can we combine related types together in a single file?

We currently have a separate file for each type, but this probably because most of the types have a lot of properties. I don't mind defining multiple types in a single file.

This has one downside - if I want the target to be a URL external to TROMPA, we still have to create a node (AnnotationURLTarget) for it. It may be possible to use a Union here, but I was unable to work out how to make a union of a base type and a relation.

Interfaced relations is the prefered way for relations with multiple types. See the usage ofLegalPersonInterface for example. Before the update (relationship bug), all relationship properties were defined with unions like so:
union AnnotationTargetInterfaced = AnnotationURLTarget | AnnotationCETarget;

I also have two questions:

Since there are different properties for the URL and CE target, is it needed to make them two separate types?
If two separate types will be used; shouldn't the AnnotationURLTarget have the fragment property as well?

Interfaced relations is the prefered way for relations with multiple types. See the usage ofLegalPersonInterface for example.

Great. So the way which I'm doing it seems OK to you? (it's not clear to me if this was just a comment or if you were suggesting to do something slightly differently)

Since there are different properties for the URL and CE target, is it needed to make them two separate types?

I did think about that, but my preference is to use the type system to enforce these fields, instead of having all fields on a single type and then having a different behaviour depending on what field is set. Doing it like this makes it more difficult to validate the message before sending it

If two separate types will be used; shouldn't the AnnotationURLTarget have the fragment property as well?

My idea is that a url on AnnotationURLTarget could be a full url with fragment if necessary, e.g. http://example.com/audio.mp3#t=30.5
The only reason it's different on the AnnotationCETarget is because for example a contentUrl on a MediaObject will be to the full document, but an annotation needs an (optional) fragment as well.

Great. So the way which I'm doing it seems OK to you? (it's not clear to me if this was just a comment or if you were suggesting to do something slightly differently)

Yes, as discussed, I think this approach fits best with the current CE schema. Thanks for the explanation and examples.


Brackets [ ] cause 400 error when searching

For example, search "Texas A&M University [Parking Map]: 1998-1999" in collection https://library.tamu.edu/discovery/discovery-context/brazos-maps

This also happens when you use other characters such as '#'


send twice same message shortly

hello!
here is my web client log:
2019-08-18 14:50:07.641 <--- {
"type":"goodsOutComplete",
"info":{
"slotID": "2",
"serialNumber": "289"
}
}
2019-08-18 14:50:07.657 <--- {
"type":"goodsOutComplete",
"info":{
"slotID": "2",
"serialNumber": "289"
}
}
in c# side, we send the message once, but Fleck send this message twice to my html&js client

I think you'll need to provide more context so help can be given. what code is being used to send on c# side and what code is being used to recieve on client? Without more details it would be impossible to know if the issue is the Fleck lib or a mistake in client side code.


tabby: darwin sdk refactor; 0.18.0 -> 0.19.0

Things done
Updated to new dark sdk pattern and bumped version since it was just released.

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

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

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 352908

x86_64-linux

:x: 1 package failed to build:

tabby

aarch64-linux

:x: 1 package failed to build:

tabby

x86_64-darwin

:fast_forward: 1 package marked as broken and skipped:

tabby

aarch64-darwin

:white_check_mark: 1 package built:

tabby

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 352908

x86_64-linux

:white_check_mark: 1 package built:

tabby

aarch64-linux

:white_check_mark: 1 package built:

tabby

x86_64-darwin

:fast_forward: 1 package marked as broken and skipped:

tabby

aarch64-darwin

:white_check_mark: 1 package built:

tabby


Installing Aspire workload in Ubuntu installs 8.0 preview instead of 8.2 workload

Is there an existing issue for this?

[x] I have searched the existing issues

Describe the bug
I tried to install Aspire 8.2 on a fresh Ubuntu install, but can't get it to install 8.2 ... after installing Aspire workload, it shows 8.0-preview manifest to be installed. It even mentions there's an update available, but after running dotnet workoad update it remains on 8.0-preview and again informs me about an available update.
Here's shell output of my attempt to install and update:
bernhard@bernhard-Surface-Book-3:~/source/repos/Growatch/Growatch.AppHost$ dotnet workload install aspire

Skipping NuGet package signature verification.
Installing workload manifest microsoft.net.workload.mono.toolchain.current version 8.0.10...
Installing workload manifest microsoft.net.workload.emscripten.current version 8.0.10...
Installing workload manifest microsoft.net.workload.emscripten.net6 version 8.0.10...
Installing workload manifest microsoft.net.workload.emscripten.net7 version 8.0.10...
Installing workload manifest microsoft.net.workload.mono.toolchain.net6 version 8.0.10...
Installing workload manifest microsoft.net.workload.mono.toolchain.net7 version 8.0.10...
Installing workload manifest microsoft.net.sdk.aspire version 8.2.1...
Installing workload manifest microsoft.net.sdk.android version 34.0.143...
Installing workload manifest microsoft.net.sdk.ios version 18.0.8303...
Installing workload manifest microsoft.net.sdk.maccatalyst version 18.0.8303...
Installing workload manifest microsoft.net.sdk.macos version 15.0.8303...
Installing workload manifest microsoft.net.sdk.maui version 8.0.82...
Installing workload manifest microsoft.net.sdk.tvos version 18.0.8303...
Installing pack Aspire.Hosting.Sdk version 8.0.0-preview.1.23557.2...
Writing workload pack installation record for Aspire.Hosting.Sdk version 8.0.0-preview.1.23557.2...
Installing pack Aspire.ProjectTemplates version 8.0.0-preview.1.23557.2...
Writing workload pack installation record for Aspire.ProjectTemplates version 8.0.0-preview.1.23557.2...
Installing pack Aspire.Hosting.Orchestration.linux-x64 version 8.0.0-preview.1.23557.2...
Writing workload pack installation record for Aspire.Hosting.Orchestration version 8.0.0-preview.1.23557.2...
Installing pack Aspire.Hosting version 8.0.0-preview.1.23557.2...
Writing workload pack installation record for Aspire.Hosting version 8.0.0-preview.1.23557.2...
Garbage collecting for SDK feature band(s) 8.0.100...
Uninstalling workload manifest microsoft.net.workload.emscripten.net7 version 8.0.10/8.0.100...
Uninstalling workload manifest microsoft.net.sdk.macos version 15.0.8303/8.0.100...
Uninstalling workload manifest microsoft.net.workload.mono.toolchain.current version 8.0.10/8.0.100...
Uninstalling workload manifest microsoft.net.sdk.tvos version 18.0.8303/8.0.100...
Uninstalling workload manifest microsoft.net.sdk.android version 34.0.143/8.0.100...
Uninstalling workload manifest microsoft.net.sdk.maccatalyst version 18.0.8303/8.0.100...
Uninstalling workload manifest microsoft.net.workload.mono.toolchain.net7 version 8.0.10/8.0.100...
Uninstalling workload manifest microsoft.net.sdk.ios version 18.0.8303/8.0.100...
Uninstalling workload manifest microsoft.net.workload.emscripten.current version 8.0.10/8.0.100...
Uninstalling workload manifest microsoft.net.workload.mono.toolchain.net6 version 8.0.10/8.0.100...
Uninstalling workload manifest microsoft.net.sdk.maui version 8.0.82/8.0.100...
Uninstalling workload manifest microsoft.net.sdk.aspire version 8.2.1/8.0.100...
Uninstalling workload manifest microsoft.net.workload.emscripten.net6 version 8.0.10/8.0.100...

Successfully installed workload(s) aspire.

bernhard@bernhard-Surface-Book-3:~/source/repos/Growatch/Growatch.AppHost$ dotnet workload list

Installed Workload Id      Manifest Version                     Installation Source
-----------------------------------------------------------------------------------
aspire                     8.0.0-preview.1.23557.2/8.0.100      SDK 8.0.100

Use `dotnet workload search` to find additional workloads to install.

Updates are available for the following workload(s): aspire. Run `dotnet workload update` to get the latest.

bernhard@bernhard-Surface-Book-3:~/source/repos/Growatch/Growatch.AppHost$ dotnet workload update

Skipping NuGet package signature verification.
Updated advertising manifest microsoft.net.sdk.aspire.
Updated advertising manifest microsoft.net.workload.emscripten.net7.
Updated advertising manifest microsoft.net.sdk.android.
Updated advertising manifest microsoft.net.sdk.maccatalyst.
Updated advertising manifest microsoft.net.sdk.tvos.
Updated advertising manifest microsoft.net.workload.emscripten.net6.
Updated advertising manifest microsoft.net.workload.emscripten.current.
Updated advertising manifest microsoft.net.workload.mono.toolchain.net6.
Updated advertising manifest microsoft.net.sdk.ios.
Updated advertising manifest microsoft.net.workload.mono.toolchain.current.
Updated advertising manifest microsoft.net.sdk.macos.
Updated advertising manifest microsoft.net.sdk.maui.
Updated advertising manifest microsoft.net.workload.mono.toolchain.net7.
Installing workload manifest microsoft.net.workload.mono.toolchain.current version 8.0.10...
Installing workload manifest microsoft.net.workload.emscripten.current version 8.0.10...
Installing workload manifest microsoft.net.workload.emscripten.net6 version 8.0.10...
Installing workload manifest microsoft.net.workload.emscripten.net7 version 8.0.10...
Installing workload manifest microsoft.net.workload.mono.toolchain.net6 version 8.0.10...
Installing workload manifest microsoft.net.workload.mono.toolchain.net7 version 8.0.10...
Installing workload manifest microsoft.net.sdk.aspire version 8.2.1...
Installing workload manifest microsoft.net.sdk.android version 34.0.143...
Installing workload manifest microsoft.net.sdk.ios version 18.0.8303...
Installing workload manifest microsoft.net.sdk.maccatalyst version 18.0.8303...
Installing workload manifest microsoft.net.sdk.macos version 15.0.8303...
Installing workload manifest microsoft.net.sdk.maui version 8.0.82...
Installing workload manifest microsoft.net.sdk.tvos version 18.0.8303...
Installing pack Aspire.Hosting.Sdk version 8.0.0-preview.1.23557.2...
Pack Aspire.Hosting.Sdk version 8.0.0-preview.1.23557.2 is already installed.
Writing workload pack installation record for Aspire.Hosting.Sdk version 8.0.0-preview.1.23557.2...
Installing pack Aspire.ProjectTemplates version 8.0.0-preview.1.23557.2...
Pack Aspire.ProjectTemplates version 8.0.0-preview.1.23557.2 is already installed.
Writing workload pack installation record for Aspire.ProjectTemplates version 8.0.0-preview.1.23557.2...
Installing pack Aspire.Hosting.Orchestration.linux-x64 version 8.0.0-preview.1.23557.2...
Pack Aspire.Hosting.Orchestration.linux-x64 version 8.0.0-preview.1.23557.2 is already installed.
Writing workload pack installation record for Aspire.Hosting.Orchestration version 8.0.0-preview.1.23557.2...
Installing pack Aspire.Hosting version 8.0.0-preview.1.23557.2...
Pack Aspire.Hosting version 8.0.0-preview.1.23557.2 is already installed.
Writing workload pack installation record for Aspire.Hosting version 8.0.0-preview.1.23557.2...
Garbage collecting for SDK feature band(s) 8.0.100...
Uninstalling workload manifest microsoft.net.workload.emscripten.net7 version 8.0.10/8.0.100...
Uninstalling workload manifest microsoft.net.sdk.macos version 15.0.8303/8.0.100...
Uninstalling workload manifest microsoft.net.workload.mono.toolchain.current version 8.0.10/8.0.100...
Uninstalling workload manifest microsoft.net.sdk.tvos version 18.0.8303/8.0.100...
Uninstalling workload manifest microsoft.net.sdk.android version 34.0.143/8.0.100...
Uninstalling workload manifest microsoft.net.sdk.maccatalyst version 18.0.8303/8.0.100...
Uninstalling workload manifest microsoft.net.workload.mono.toolchain.net7 version 8.0.10/8.0.100...
Uninstalling workload manifest microsoft.net.sdk.ios version 18.0.8303/8.0.100...
Uninstalling workload manifest microsoft.net.workload.emscripten.current version 8.0.10/8.0.100...
Uninstalling workload manifest microsoft.net.workload.mono.toolchain.net6 version 8.0.10/8.0.100...
Uninstalling workload manifest microsoft.net.sdk.maui version 8.0.82/8.0.100...
Uninstalling workload manifest microsoft.net.sdk.aspire version 8.2.1/8.0.100...
Uninstalling workload manifest microsoft.net.workload.emscripten.net6 version 8.0.10/8.0.100...

Successfully updated workload(s): aspire.

bernhard@bernhard-Surface-Book-3:~/source/repos/Growatch/Growatch.AppHost$ dotnet workload list

Installed Workload Id      Manifest Version                     Installation Source
-----------------------------------------------------------------------------------
aspire                     8.0.0-preview.1.23557.2/8.0.100      SDK 8.0.100

Use `dotnet workload search` to find additional workloads to install.

Updates are available for the following workload(s): aspire. Run `dotnet workload update` to get the latest.

Expected Behavior
Aspire 8.2 installed, but it remains on 8.0-preview
OR
Any mention in the documentation that 8.2 is not available/supported on Linux yet
Steps To Reproduce
On a fresh Ubuntu 24.04 installation:

Install .NET SDK 8.0 from Microsoft (or Ubuntu) apt sources
Install Aspire workload by execuintg dotnet workload install aspire
Execute dotnet workload list
Note that 8.0-preview is installed and an update notification text appears that there's an update available for Aspire
Run dotnet workload update
Run  dotnet workload list
Note that version is still 8.0-preview and the update available notification appears again

Exceptions (if any)
No response
.NET Version info
.NET SDK:
Version:           8.0.110
Commit:            87a66bb3d1
Workload version:  8.0.401-baseline.24412.2
Runtime Environment:
OS Name:     ubuntu
OS Version:  24.04
OS Platform: Linux
RID:         ubuntu.24.04-x64
Base Path:   /usr/lib/dotnet/sdk/8.0.110/
.NET workloads installed:
Workload version: 8.0.401-baseline.24412.2
[aspire]
Installation Source: SDK 8.0.100
Manifest Version:    8.0.0-preview.1.23557.2/8.0.100
Manifest Path:       /home/bernhard/.dotnet/sdk-manifests/8.0.100/microsoft.net.sdk.aspire/8.0.0-preview.1.23557.2/WorkloadManifest.json
Install Type:        FileBased
Host:
Version:      8.0.10
Architecture: x64
Commit:       81cabf2857
.NET SDKs installed:
8.0.110 [/usr/lib/dotnet/sdk]
.NET runtimes installed:
Microsoft.AspNetCore.App 8.0.10 [/usr/lib/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 8.0.10 [/usr/lib/dotnet/shared/Microsoft.NETCore.App]
Other architectures found:
None
Environment variables:
Not set
global.json file:
Not found
Anything else?
No response

After continued research, I'm thinking this has to do with the feature bands of the SDK. On Windows, he have .401 SDK, but on Linux it's .110 - both are to current ones in their band as I understand. The feature bands documentation although mentions that there should be compatibility and issues are not expected. But to me this is quite confusing.

Ok so after some more research and reading more documentation and blog posts on the whole topic of feature bands, the whole situation about Ubuntu & Microsoft feeds and what changed in Ubuntu 24.04 and so forth ...
... I understand that:

This is not a bug, and not directly related to Aspire
It's more about an unfortunate situation about how dotnet apt packages are handled by distros like Ubuntu and Microsoft before and this leads to a whole lot confusion, and feature bands contributing to that
What I did wrong:

I should not have installed dotnet in Ubuntu 24.04 from Microsoft sources but directly from Ubuntu
I need to have .401 SDK feature band installed also on Linux, the comments i found about theoretical parity between the latest feature bands do not seem to be what I understood
Even if I had installed from Ubuntu sources, I would still have got .110 feature band max and this would still not work with Aspire 8.2
So .401 SDK needs to be installed on Ubuntu from manual install scripts as distros won't upgrade to newer feature bands within a major .NET SDK release

I still would leave this open for now as I think Aspire's documentation or workload installation could be quite a bit optimized here to make this less painful for someone going into this underestimating the complexity that is dotnet on Ubuntu like me:

The direct dependency between specific SDK versions and specific Aspire workload versions is not at least obviously documented, for example here would be a good point to mention this: https://learn.microsoft.com/en-us/dotnet/aspire/fundamentals/setup-tooling?tabs=linux&pivots=dotnet-cli ... on Windows it's less a problem as you just download the SDK from the link and you get the latest and greatest. But for Linux it's bit of a trap as you won't get the latest feature band from the package managers
There could also be a info/warning for Linux that you won't get the latest SDKs needed for Aspire 8.2 without using manual install scripts
The workload install CLI output is misleading, as it mentions it installs a 8.2 mainfest and later even mentions hey, there's an update available, but executing the recommended update command does nothing despite the success message Successfully updated workload(s): aspire. - would be great if this would fail with some kind of error saying hey, with that old SDK Aspire 8.2 no bueno.

Hey @codekoenig, so sorry for not replying earlier. Thank you so much for all of the details that you have provided as well as all of the research that you have done. While you are correct that SDK bands in Ubuntu are a bit different (especially when installed from a package manager) I would still believe that you should be able to install the Aspire workload manually if needed. Doing dotnet workload update and then dotnet workload install aspire should be getting you 8.2.2 version of Aspire, as opposed to 8.0 preview 1 which is very old. Can you please confirm that this work for you? Also, you should be able to try Aspire 9 RC1 which no longer requires a workload to be installed, and that will ship GA next week when Aspire 9 ships, so this should no longer be an issue then.


Add config for python API docs moniker

Docs Build status updates of commit 8561a85:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

api/docfx.json
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Editing the allsky portal GUI webpages - Night time friendly colors

Hello,
Thank you all for this awesome software, your time and efforts are much appreciated.  This has been my first RPi project and its been fun!
I wanted to change the look and feel of the web portal GUI to something more night friendly.  I've dug around a little bit and found a few css and html files to edit, but im sure im missing some.  Would you mind telling me where and which files need to be edited to change the look and feel?  Or perhaps you already have a darker themed web portal?  My HTML and CSS skills are basic, but if i tinker for a while I can usually reverse engineer enough to make something look silly ;)
Thanks again.
Bill

Awesome!  I have had a few days and nights with the new GUI and its been great plus easier on the eyes!  Thanks for adding this feature.  Now i can sit outside and check on the pics or focus and still retain some night vision to admire the view.   I am using my only astro cam for this project so I do a lot of refocusing when switching between telelscope and allsky... getting the most of what i got ;) Thanks for the contribution!
One minor issue, the theme switcher only works on firefox, a mess on Chrome.  On Chrome the light dark mode isn't clickable and some other formatting is off.  Just FYI. Everything works in Firefox.

browser versions:
Chrome 71.0.3578.98 x64
Firefox Quantum 65.0  x64

Hey Bill,
Thanks for the feedback. I am using Chrome at home and it seems to work fine. Can you try clearing your browser's cache? Ctrl+Shit+delete is the shortcut I think.
I'm guessing some of the old CSS is still cached in Chrome.

That did it, cleared out the cache. Works great, even on mobile too!
Thanks again for the update.  Love this project, Ive been getting some great images and star trails.


gitlab: Handle token refresh

Summary
Gitlab uses shorter lived tokens than github, this adds the logic to
handle a token refresh.
At the moment this is done within the gitlab provider manager. While
this works for now, we might want to determine whether we make this a
more general pattern, or keep handling this within each provider.
Closes: #4605
Change Type
Mark the type of change your PR introduces:

[ ] Bug fix (resolves an issue without affecting existing features)
[x] Feature (adds new functionality without breaking changes)
[ ] Breaking change (may impact existing functionalities or require documentation updates)
[ ] Documentation (updates or additions to documentation)
[ ] Refactoring or test improvements (no bug fixes or new functionality)

Testing
Outline how the changes were tested, including steps to reproduce and any relevant configurations.
Attach screenshots if helpful.
Review Checklist:

[x] Reviewed my own code for quality and clarity.
[ ] Added comments to complex or tricky code sections.
[ ] Updated any affected documentation.
[ ] Included tests that validate the fix or feature.
[ ] Checked that related changes are merged.

coverage: 52.974% (-0.1%) from 53.105%
when pulling 8ba2659c0c8e1fb1f87c2c2928af3e13e9a2ed31 on gitlab-refresh
into 1312eb6c67a50e239251d2c242064001728750a3 on main.


changed timeout to variable. added newline

Looks good @nik-wendt! Thanks for making the verbal changes. :)


Line information

@GuillaumeGomez can you retarget this patch at the rust-2015-09-21-do-not-delete branch? That's the branch that we're currently using.

Done.


it got an error？

status: 403,
headers: {
'cf-ray': '8de2cf14682c20dc-HKG',
connection: 'keep-alive',
'content-encoding': 'gzip',
'content-type': 'application/json',
date: 'Wed, 06 Nov 2024 05:50:56 GMT',
server: 'cloudflare',
'transfer-encoding': 'chunked',
vary: 'Accept-Encoding',
'x-robots-tag': 'none'
},
request_id: undefined,
error: { error: { type: 'forbidden', message: 'Request not allowed' } }
}

Hi @ChenRenHu can you submit a minimum node project for us to recreate this bug?

i just change my api key ，and run npx tsx example/google.ts  ，and it got an error

It appears that Anthropic is rejecting your API key.

It's strange, when I call the SDK separately, it works fine.

Can you try passing in the key explicitly into the AnthropicPlanner constructor?


Can not get contact payload

refer to https://github.com/Chatie/wechaty/issues/1396

@windmemory is this issue fixed?

This issue was opened many days ago, I already lost the context of this issue. Let's close this one. If anything related was found, we could create new ones.


Propose Median blur feature in Python OpenCV module

Expected behaviour & Actual behaviour
Write here how did you expect the library to function.
System information (version)

OpenCV => <IP_ADDRESS>
Operating System / Platform => OSX 10.15.3(19D76)
Compiler => Python 3.7.3

Detailed description
Unlike other languages(e.g. C#) opencv, Python opencv can only be specified as a square by entering only one value of the Blur mask as an argument to the Median Blur function.
So in Python I wrote my own code to make the blur mask rectangular with two arguments of the opencv Median Blur function.
If possible, please check and add module.
thank you.
def fixed_MedianBlur(mask):
    mask_rows, mask_cols = mask.shape
    q = []
    for r in range(mask_rows):
        for c in range(mask_cols):
            q.append(mask[r][c])

    q.sort()
    return q[len(q) // 2]

def fixed_MedianBlur_Setup(src, KsizeX, KsizeY):
    dst = src
    src_rows, src_cols = src.shape
    Xr = KsizeX // 2
    Yr = KsizeY // 2

    for r in range(Yr, src_rows - Yr):
        for c in range(Xr, src_cols - Xr):
            mask = src[r - Yr:(r - Yr) + KsizeY, c - Xr:(c - Xr) + KsizeX]
            dst[r, c] = fixed_MedianBlur(mask)

    return dst

This is an unofficial OpenCV packaging repository. OpenCV is coded in C++ and there is no OpenCV related code here. Please submit your feature request to the OpenCV repository: https://github.com/opencv/opencv/issues


Feature request: option to display advanced biome name, add config for position

Now that there are a few new biome mods for Fabric, it would be nice if you could include the mod name to the biome name, for example:
Now: Dense Woodlands
Alternative1: Terrestria: Dense Woodlands
Alternative2: terrestria:dense_woodlands
This could be a config option, or depend on the status of F3+h advanced tooltips.
Also, config for position: Top/Bottom Left/Right, x/y margins would be nice.

I'm not maintaining the fabric version of this mod.

Addendum: If someone else wants to pull request these features, they're more than welcome to do that - I will release a new version with those.


Fix SNMP interface creation on Zabbix API v5.

The details parameter is required for SNMP interfaces in v5.  When creating an SNMP interface and no details are passed, default to a SNMPv2c interface utilizing the {$SNMP_COMMUNITY} macro.

It's been a while since I've had a look at any of this, but..
A interface will never contain "details" since it's not asked for?
https://github.com/unioslo/zabbix-auto-config/blob/6bd5b36f460a97d28b262e825accdfbec736e2a2/zabbix_auto_config/processing.py#L515
Are there any reason to support older Zabbix versions? Just make it support the newest LTS?
Or at least: Make it support the newest LTS by default and add logic to handle cases where older versions e.g. need other params? That way we can easily remove old code in the future.
Also, just to state the obvious: If Zabbix is upgraded (changes version) while zabbix-auto-config is running you might get weird results (since API version is kept in the service). I think this is totally acceptable. You shouldn't run this service while upgrading Zabbix.

It's been a while since I've had a look at any of this, but..
A interface will never contain "details" since it's not asked for?
https://github.com/unioslo/zabbix-auto-config/blob/6bd5b36f460a97d28b262e825accdfbec736e2a2/zabbix_auto_config/processing.py#L515
Are there any reason to support older Zabbix versions? Just make it support the newest LTS?
Or at least: Make it support the newest LTS by default and add logic to handle cases where older versions e.g. need other params? That way we can easily remove old code in the future.
Also, just to state the obvious: If Zabbix is upgraded (changes version) while zabbix-auto-config is running you might get weird results (since API version is kept in the service). I think this is totally acceptable. You shouldn't run this service while upgrading Zabbix.

Nevermind. That interface is from the db?
The validator should probably be updated if new structure is added?
https://github.com/unioslo/zabbix-auto-config/blob/6bd5b36f460a97d28b262e825accdfbec736e2a2/zabbix_auto_config/utils.py#L61-L69

Nevermind. That interface is from the db?
The validator should probably be updated if new structure is added?
https://github.com/unioslo/zabbix-auto-config/blob/6bd5b36f460a97d28b262e825accdfbec736e2a2/zabbix_auto_config/utils.py#L61-L69

I'm fairly sure that this could be moved to the validator rather than creating a default.
If a SNMP/type 2 interface is input it should be considered invalid if the details are missing.
When a SNMP interface is set as input the updater should check if the interface is set correctly.

I'm fairly sure that this could be moved to the validator rather than creating a default.
If a SNMP/type 2 interface is input it should be considered invalid if the details are missing.
When a SNMP interface is set as input the updater should check if the interface is set correctly.

Thanks for the feedback.  I have updated the code to only verify the details parameter and send it when applicable, and assume Zabbix 5.0.
See also corresponding internal PR for updates to the source collectors and host modifiers.

Thanks for the feedback.  I have updated the code to only verify the details parameter and send it when applicable, and assume Zabbix 5.0.
See also corresponding internal PR for updates to the source collectors and host modifiers.

Looks better to me. Some points though:

Maybe assert that no other interface types has a "details" attribute? I'm not sure how the API will behave if it gets details for e.g. a normal agent interface? Might be a good idea to assert that a interface is a dict and assert that it only has the correct/wanted attributes

https://github.com/unioslo/zabbix-auto-config/blob/f22a4dd3d2e59e9543a8deff9f50a8638abd8a3a/zabbix_auto_config/utils.py#L63-L75
... or wait and do a bigger refactor related to https://github.com/unioslo/zabbix-auto-config/issues/4

No checks are added to the updater. If someone chooses to input a SNMP interface with a "foo" community, nothing makes sure that this persists (some other checks might fail at some point and suddenly update the interface).

Additional checks should be added to the current ones:
https://github.com/unioslo/zabbix-auto-config/blob/f22a4dd3d2e59e9543a8deff9f50a8638abd8a3a/zabbix_auto_config/processing.py#L609-L617

Looks better to me. Some points though:

Maybe assert that no other interface types has a "details" attribute? I'm not sure how the API will behave if it gets details for e.g. a normal agent interface? Might be a good idea to assert that a interface is a dict and assert that it only has the correct/wanted attributes

https://github.com/unioslo/zabbix-auto-config/blob/f22a4dd3d2e59e9543a8deff9f50a8638abd8a3a/zabbix_auto_config/utils.py#L63-L75
... or wait and do a bigger refactor related to https://github.com/unioslo/zabbix-auto-config/issues/4

No checks are added to the updater. If someone chooses to input a SNMP interface with a "foo" community, nothing makes sure that this persists (some other checks might fail at some point and suddenly update the interface).

Additional checks should be added to the current ones:
https://github.com/unioslo/zabbix-auto-config/blob/f22a4dd3d2e59e9543a8deff9f50a8638abd8a3a/zabbix_auto_config/processing.py#L609-L617

Pydantic looks neat, I did not know about it.
I tried adding a check like this:
+                        if interface["type"] == 2:
+                            if zabbix_interface["details"] != interface["details"]:
+                                # This SNMP interface is configured wrong, set it.
+                                self.set_interface(zabbix_host, interface, useip, zabbix_interface["interfaceid"])

...but there is a problem: all dict values in the API response are quoted, but using native types in Python.  Pydantic would really help here.
time passes
I have started to define a pydantic model for the interface type.  But it will take a little while.
In the mean time, I came up with the following for comparing interface details:
+                        if interface["type"] == 2:
+                            # Check that the interface details are correct.  Note
+                            # that responses from the Zabbix API are quoted, so we
+                            # need to convert our natively typed values.
+                            # TODO: this is terrible and should be implemented
+                            # using dataclasses for the interface and host types.
+                            zd = zabbix_interface["details"]
+                            cd = interface["details"]
+                            zv = set(zd.values())
+                            cv = set([str(v) for v in cd.values()])
+                            if zv != cv or set(zd.keys()) != set(cd.keys()):
+                                # This SNMP interface is configured wrong, set it.
+                                self.set_interface(zabbix_host, interface, useip, zabbix_interface["interfaceid"])

WDYT?

Pydantic looks neat, I did not know about it.
I tried adding a check like this:
+                        if interface["type"] == 2:
+                            if zabbix_interface["details"] != interface["details"]:
+                                # This SNMP interface is configured wrong, set it.
+                                self.set_interface(zabbix_host, interface, useip, zabbix_interface["interfaceid"])

...but there is a problem: all dict values in the API response are quoted, but using native types in Python.  Pydantic would really help here.
time passes
I have started to define a pydantic model for the interface type.  But it will take a little while.
In the mean time, I came up with the following for comparing interface details:
+                        if interface["type"] == 2:
+                            # Check that the interface details are correct.  Note
+                            # that responses from the Zabbix API are quoted, so we
+                            # need to convert our natively typed values.
+                            # TODO: this is terrible and should be implemented
+                            # using dataclasses for the interface and host types.
+                            zd = zabbix_interface["details"]
+                            cd = interface["details"]
+                            zv = set(zd.values())
+                            cv = set([str(v) for v in cd.values()])
+                            if zv != cv or set(zd.keys()) != set(cd.keys()):
+                                # This SNMP interface is configured wrong, set it.
+                                self.set_interface(zabbix_host, interface, useip, zabbix_interface["interfaceid"])

WDYT?

Yes, the API has errors/doesn't conform to the documentation. It's a sad story.
I don't think the current code works? The API will give you extra attributes. This means that SNMP interfaces always will be "fixed", AKA extra/unnecessary HTTP requests are made.
Example:
# These two should be considered equal (the database has the same info as Zabbix)
zabbix_details = {"version": "2", "bulk": "1", "community": "public"}
database_details = {"community": "public", "version": 2}

zd = zabbix_details
cd = database_details
zv = set(zd.values())
cv = set([str(v) for v in cd.values()])
not(zv != cv or set(zd.keys()) != set(cd.keys()))
# False

I believe e.g. this will work though:
all(zabbix_details.get(k, None) == str(v) for k,v in database_details.items())
# True

There are some fixing of other broken return values done here. Maybe fix all API values at the same location?
https://github.com/unioslo/zabbix-auto-config/blob/d24b48cab453b223df789a2d74c6779d4cada11e/zabbix_auto_config/processing.py#L596-L601
We could also strip the zabbix_details down to only the keys that are required in a database_details dict. Then we could do a simple dict comparison zabbix_details == database_details. This might be the best solution?

Yes, the API has errors/doesn't conform to the documentation. It's a sad story.
I don't think the current code works? The API will give you extra attributes. This means that SNMP interfaces always will be "fixed", AKA extra/unnecessary HTTP requests are made.
Example:
# These two should be considered equal (the database has the same info as Zabbix)
zabbix_details = {"version": "2", "bulk": "1", "community": "public"}
database_details = {"community": "public", "version": 2}

zd = zabbix_details
cd = database_details
zv = set(zd.values())
cv = set([str(v) for v in cd.values()])
not(zv != cv or set(zd.keys()) != set(cd.keys()))
# False

I believe e.g. this will work though:
all(zabbix_details.get(k, None) == str(v) for k,v in database_details.items())
# True

There are some fixing of other broken return values done here. Maybe fix all API values at the same location?
https://github.com/unioslo/zabbix-auto-config/blob/d24b48cab453b223df789a2d74c6779d4cada11e/zabbix_auto_config/processing.py#L596-L601
We could also strip the zabbix_details down to only the keys that are required in a database_details dict. Then we could do a simple dict comparison zabbix_details == database_details. This might be the best solution?

Yes, the API has errors/doesn't conform to the documentation. It's a sad story.
I don't think the current code works? The API will give you extra attributes. This means that SNMP interfaces always will be "fixed", AKA extra/unnecessary HTTP requests are made.
Example:
# These two should be considered equal (the database has the same info as Zabbix)
zabbix_details = {"version": "2", "bulk": "1", "community": "public"}
database_details = {"community": "public", "version": 2}

zd = zabbix_details
cd = database_details
zv = set(zd.values())
cv = set([str(v) for v in cd.values()])
not(zv != cv or set(zd.keys()) != set(cd.keys()))
# False

I believe e.g. this will work though:
all(zabbix_details.get(k, None) == str(v) for k,v in database_details.items())
# True

I "fixed" this initially by sending {"bulk": 1} from the back-end.  But ignoring keys that don't exist in the backend makes a lot of sense.  I took that approach in the latest rebase.

There are some fixing of other broken return values done here. Maybe fix all API values at the same location?
https://github.com/unioslo/zabbix-auto-config/blob/d24b48cab453b223df789a2d74c6779d4cada11e/zabbix_auto_config/processing.py#L596-L601
We could also strip the zabbix_details down to only the keys that are required in a database_details dict. Then we could do a simple dict comparison zabbix_details == database_details. This might be the best solution?

That will likely simplify the code, but is somewhat outside the scope of this PR as it requires a bigger refactor. :)
I suspect using pydantic or similar will get us half-way there "for free".

Yes, the API has errors/doesn't conform to the documentation. It's a sad story.
I don't think the current code works? The API will give you extra attributes. This means that SNMP interfaces always will be "fixed", AKA extra/unnecessary HTTP requests are made.
Example:
# These two should be considered equal (the database has the same info as Zabbix)
zabbix_details = {"version": "2", "bulk": "1", "community": "public"}
database_details = {"community": "public", "version": 2}

zd = zabbix_details
cd = database_details
zv = set(zd.values())
cv = set([str(v) for v in cd.values()])
not(zv != cv or set(zd.keys()) != set(cd.keys()))
# False

I believe e.g. this will work though:
all(zabbix_details.get(k, None) == str(v) for k,v in database_details.items())
# True

I "fixed" this initially by sending {"bulk": 1} from the back-end.  But ignoring keys that don't exist in the backend makes a lot of sense.  I took that approach in the latest rebase.

There are some fixing of other broken return values done here. Maybe fix all API values at the same location?
https://github.com/unioslo/zabbix-auto-config/blob/d24b48cab453b223df789a2d74c6779d4cada11e/zabbix_auto_config/processing.py#L596-L601
We could also strip the zabbix_details down to only the keys that are required in a database_details dict. Then we could do a simple dict comparison zabbix_details == database_details. This might be the best solution?

That will likely simplify the code, but is somewhat outside the scope of this PR as it requires a bigger refactor. :)
I suspect using pydantic or similar will get us half-way there "for free".

I haven't run the code, but I think this is good enough for now. There isn't a need to make this perfect in this PR. LGTM.
A bigger refactor should probably be discussed in https://github.com/unioslo/zabbix-auto-config/issues/4

I haven't run the code, but I think this is good enough for now. There isn't a need to make this perfect in this PR. LGTM.
A bigger refactor should probably be discussed in https://github.com/unioslo/zabbix-auto-config/issues/4


QSM not yet included

I think QSM is currently not covered in our draft. I think this should definitely be added.

@Gilles86 is going to draft something before next week.

@agahkarakuzu will upload some QSM data.

QSM has now been incorporated
https://github.com/bids-bep001/bids-specification/pull/27
@agahkarakuzu , any news on open QSM data?

@Gilles86 I'm on it, I'll just upload a chimap

Has been addressed in pull #27, also, OSF now includes a QSM dataset.


feat(test): support grouping set for sql-smith

I hereby agree to the terms of the RisingWave Labs, Inc. Contributor License Agreement.
What's changed and what's your intention?

Checklist

[ ] I have written necessary rustdoc comments
[ ] I have added necessary unit tests and integration tests
[ ] I have added fuzzing tests or opened an issue to track them. (Optional, recommended for new SQL features #7934).
[ ] My PR contains breaking changes. (If it deprecates some features, please create a tracking issue to remove them in the future).
[ ] All checks passed in ./risedev check (or alias, ./risedev c)
[ ] My PR changes performance-critical code. (Please run macro/micro-benchmarks and show the results.)

[ ] My PR contains critical fixes that are necessary to be merged into the latest release. (Please check out the details)

Documentation

[ ] My PR contains user-facing changes.

Click here for Documentation
Types of user-facing changes
Please keep the types that apply to your changes, and remove the others.

Installation and deployment
Connector (sources & sinks)
SQL commands, functions, and operators
RisingWave cluster configuration changes
Other (please specify in the release note below)

Release note

LGTM thanks! Seems like CI triggered an unrelated error. Have pushed a fix.


🔨 Move lint to GitHub action

Move PR linting to GitHub action
Benifits of this

Seperate from build
Can see the error without going to DevOps
Simplifies overall architecture

https://github.com/SSWConsulting/SSW.Rules/issues/993
Tested on my fork

Merging while staging is failing as my fork doesn't have all the environment variables to run the build. I haven't changed any code, so no need to run the build.


Make ipympl dependency optional?

Hi @m-albert!
I hope you are well. We are going to give your new stitching project a try. However, adding the ipympl dependency makes it a somewhat heavyweight installation because of iPython, Jupyter, etc...
Would it be possible to make that optional for examples or testing? Alternatively, we can fork and remove the dependence.
Thanks,
Doug

Hi @dpshepherd, thanks for writing here!
I think you're completely right that ipympl (also jupyter for that matter) shouldn't be part of the install requirements. I've removed ipympl completely and moved jupyter to the testing extras, where it's needed for testing the example notebooks. Thanks for pointing this out!

I guess you've seen that the repository is under development and there hasn't been a release yet, so please keep in mind that things will change and mature and functionality is still very limited. With that in mind, I'm very happy to help out with anything if needed and to quickly incorporate feedback you might have!

I guess you've seen that the repository is under development and there hasn't been a release yet, so please keep in mind that things will change and mature and functionality is still very limited. With that in mind, I'm very happy to help out with anything if needed and to quickly incorporate feedback you might have!

Yup! We wanted to test it out for stitching 3D epifluorescence images acquired in a grid as part of a much larger project. Thanks for the change, we are getting our data into the right format and should have the initial trial done this week.


Update README.md

This closes #72

Makrand,
I was in progress of modifying the README.md with new requirements with our latest development. I therefore used most of your changes, but not all. Please refer to #74 for these changes. These changes are applicable to our dev branch only, but I will strip it down for our master branch.
I will close this pull request.


App: baked reflection probes

Testing using https://webaverse.com/assets/60  How it looks in Webaverse vs VRChat

Steps: add reflection probe, click it, bake it using the render tab, reflection change on the materials based on it in blender

I talked to jin about it.

We need to get our hands on a .blend file that has this.
We make our Blender plugin handle the light probe setup in that .blend and encode that into the GLB on Webaverse export.
We need to load that extra data on the Webaverse frontend.

Our blender plugin: https://github.com/webaverse/blender-plugin
THREE.js Light probe: https://threejs.org/examples/#webgl_lightprobe_cubecamera

bakedreflprobetest.zip
please see attached, stripped the skybox to make it look like i would have expected it to look in webaverse with the baked reflection probe.

I think we can source this cache from the blender script for our plugin.

Apparently this cannot be exported right now?
https://blender.community/c/rightclickselect/2Sbbbc/

If we could get that light bake cache we could put it into the material's envMaps. The envmaps could be generated with this: https://threejs.org/docs/#api/en/extras/PMREMGenerator


increase timeout on findByText

Hoping that this fixes the failing tests

This feels a bit iffy - as we're saying that we're okay with 5 second response times?

Jest uses jsdom to simulate the DOM environment, so not sure how reliable it is as a test of performance, we're really only testing that what we expect to happen is happening

doesn't look like it worked anyway


Update RefreshAsync to not ignore exceptions when optional parameter is set in AddAzureAppConfiguration

This pull request contains changes to update RefreshAsync to not ignore exceptions when optional parameter is set in AddAzureAppConfiguration.

This change seems good to me. The optional parameter is  used to control the behavior of startup rather than the behavior of individual refresh calls. However, this change affects those who are currently using optional. Their code will now be able to throw when they call RefreshAsync whereas it would never throw before. This is a noticable behavioral change. Will this be taken into account for release versioning?

This change seems good to me. The optional parameter is used to control the behavior of startup rather than the behavior of individual refresh calls. However, this change affects those who are currently using optional. Their code will now be able to throw when they call RefreshAsync whereas it would never throw before. This is a noticable behavioral change. Will this be taken into account for release versioning?

@jimmyca15 I don't quite agree with Their code will now be able to throw when they call RefreshAsync whereas it would never throw before. Even when the optional parameter is set, the current behavior is that RefreshAsync throws the documented exceptions. This change fixes the inconsistent behavior where RefreshAsync would hide exceptions that were thrown in a subset of the cases, specifically when refreshAll was set and the corresponding LoadAll had failed, which is a bug in the current code.
With this bug fix, the public interface and the documented behavior remains unchanged, so I consider it a non-breaking change.

@abhilasharora good point. This is only for refreshAll, and since the error could have happened in the initial check for etag change then it was possible for the exception to occur before. No breaking change then.


-local-address flag does not work

Expected Behavior
I wanted to run program only on interface/device wlan1 from Raspberry Pi 2B.
HTTP Requests should be sent just like in curl:
$ curl --interface wlan1 'https://api.ipify.org'
<IP_ADDRESS>

Similar problem fixed in Rust: https://github.com/hyperium/hyper/pull/2823
Actual Behavior
Running:
./db1000n -local-address wlan1
sends requests over eth0
$ vnstat -l -i eth0
Monitoring eth0...

   rx:     1.26 Mbit/s   214 p/s          tx:   220.41 kbit/s   324 p/s

$ vnstat -l -i wlan1
Monitoring wlan1...

   rx:         0 bit/s     0 p/s          tx:         0 bit/s     0 p/s

Also, choosing address given by DHCP on wlan1 does not solve the problem.
Note: On raspberry pi 1 choosing IP of wlan1 completely disables the program [0 bit/s].
Steps to Reproduce the Problem

Find interface IPs with ip a s
Run ./db1000n -local-address <IP_ADDRESS>
Observe network interfaces with nload or vnstat -i wlan1

Specifications

Version: v0.8.33
Platform: ARM, Cortex-A53
Subsystem: Raspberry Pi OS / Debian

Looks like Golang is just a lot more retarded than Rust...
https://github.com/golang/go/issues/39293
I can't believe they didn't add this functionality for so many years.
There should be also a field for device/interface
https://cs.opensource.google/go/go/+/refs/tags/go1.18.1:src/net/dial.go;l=52

LocalAddress is called that way because it expects an address, not an interface name. Golang has features that would allow working with interface names (it would just fetch interface address under the hood) but I feel like exposing address gives user more control (i.e. an interface can have multiple addresses attached, especially in case of ipv6)

Ah, wait, I see that you're using IP in repro steps, can you clarify that it's not working that way as your actual behavior showcases usage with interface name?

I feel like exposing address gives user more control (i.e. an interface can have multiple addresses attached, especially in case of ipv6)

Well, DHCP is a ducktape. Local IP changes on WiFi. Especially on public networks.

can you clarify [...]

[Spoiler] Raspberry pi 1B froze...
Let's use raspberry pi 1B with USB wlan0 adapter.
pi@pi1:~/db1000n $ ip a s
105: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    inet <IP_ADDRESS>/24 brd <IP_ADDRESS> scope global dynamic noprefixroute eth0

106: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    inet <IP_ADDRESS>/16 brd <IP_ADDRESS> scope global dynamic noprefixroute wlan0

pi@pi1:~/db1000n $ ./db1000n -local-address <IP_ADDRESS>
...

pi@pi1:~ $ vnstat -l
Monitoring eth0...    (press CTRL-C to stop)

   rx:        0 kbit/s     0 p/s          tx:      209 kbit/s   303 p/s^C

pi@pi1:~ $ vnstat -l -i wlan0
Monitoring wlan0...    (press CTRL-C to stop)

   rx:         0 bit/s     0 p/s          tx:         0 bit/s     0 p/s

pi@pi1:~ $ then raspberry pi 1B froze because of 512 MB ram...

[Spoiler] Raspberry pi 2B
Let's use raspberry pi 2B with USB wlan1 adapter. (wlan0 is built-in)

pi@pi2:~/db1000n $ ip a s
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    inet <IP_ADDRESS>/24 brd <IP_ADDRESS> scope global dynamic noprefixroute eth0

4: wlan1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    inet <IP_ADDRESS>/16 brd <IP_ADDRESS> scope global dynamic noprefixroute wlan1

pi@pi2:~/db1000n $ ./db1000n -local-address <IP_ADDRESS>
...

pi@pi2:~ $ vnstat -l
Monitoring eth0...    (press CTRL-C to stop)

   rx:       560 bit/s     1 p/s          tx:    59.92 kbit/s    87 p/s

pi@pi2:~ $ vnstat -l -i wlan1
Monitoring wlan1...    (press CTRL-C to stop)

   rx:         0 bit/s     0 p/s          tx:         0 bit/s     0 p/s

Note: CURL does not work either [on both PI's] with local IP address. I had to specify --interface wlan0

Should work in go:

    dialer := &net.Dialer{
        Control: func(network, address string, conn syscall.RawConn) error {
            var operr error
            if err := conn.Control(func(fd uintptr) {
                operr = syscall.BindToDevice(fd, "wlan1")
            }); err != nil {
                return err
            }
            return operr
        },
    }

Temprorary solution
while true; do sudo route del default gw <IP_ADDRESS> eth0; sleep 5; done

Ok, another thing. How to limit resources on raspberry pi 1B ?

-scale 1 argument seems to be the lowest already.
-enable-primitive false eats too much RAM.

In stoppropaganda, i've already optimized fasthttp so it doesn't store response bytes in memory.
https://github.com/deputinizer/fasthttp/commits/master
https://github.com/erkexzcx/stoppropaganda/pull/103#issuecomment-1059579413

Woooow thanks! https://github.com/Arriven/db1000n/commit/a7edd0071ee129712fe3ebdf643a75e24c3f1a0a

Nice. It actually works.
pi@pi2:~ $ ./db1000n -interface wlan1
...
pi@pi2:~ $ vnstat -l -i wlan1
Monitoring wlan1...

   rx:     3.24 Mbit/s   296 p/s          tx:   165.98 kbit/s   221 p/s

I'm a bit sad that it only works for linux as other systems don't have that particular syscall. I feel like there should be a way to hack around that by dynamically querying for the ip address of an interface in that particular function but I don't have time to check that theory yet
As for limiting the resource usage you can try using --min-interval which would introduce artificial rate limiting to the app. It's a bit hacky way but for historical reasons it works that way


Upmerge v1.8.x branch (at v1.8.3) into master

@apolcyn I have resolved the merge to bazel changes basically by picking the master copy and discarding your changes on 1.8.x. I assume that was the intent, i.e. the changes to 1.8.x version were specific to that branch. Please take a look and confirm that none of your changes on 1.8.x that are actually supposed to get to master are lost.

bazel-related merge lgtm, thanks; looks like nothing affecting the bazel build is modified here, as intended (the bazel build, and other builds, do appear caught on a c-core compilation issue though).

****************************************************************

libgrpc.so

     VM SIZE                                           FILE SIZE
 ++++++++++++++ GROWING                             ++++++++++++++
  +0.0%     +16 [None]                                 +144  +0.0%
  +0.9%    +112 src/core/lib/iomgr/ev_poll_posix.cc    +112  +0.9%
      +2.2%     +64 pollset_work                            +64  +2.2%
      +9.6%     +32 fd_orphan                               +32  +9.6%
      +4.6%     +11 fd_create                               +11  +4.6%
      +1.6%      +5 [Unmapped]                               +5  +1.6%

  +0.0%    +128 TOTAL                                  +256  +0.0%

****************************************************************

libgrpc++.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

@apolcyn Yup, fixed the C compile issue. I think the issue I was alluding to was #13468 which was "backported" to 1.8.x, but was never merged to master. I think we're fine then. :)

[trickle] No significant performance differences

[microbenchmarks] No significant performance differences


Prettier Output

Hello
Again Thank you for this code and your quick replies and fixes.
After showing the result to the end-user, I received some suggestions just to make the output video look prettier to the end-user eyes:
1- Adding some margin from top-right-bottom-left. (especially for the chat part)
2- Adding some sort of separation lines to distinguish between whiteboard and chat

Hi, unfortunately I won't have the time to work on visual enhancements, since the focus is currently on the functionality.
Nonetheless, PRs are more than welcome.
Regards
Daniel

Hi @danielpetri1 and @soheilrahsaz ,
I fully vote for that changes in the layout.
What has to be done to include the lines?
What can we do to help?

Hello @gschwed
Unfortunately, I don't know Ruby.  So It takes a bit longer for me to actually figure it out.


About Windows RT

Is there a browser version for Windows 10 RT (MS Surface RT - ARM32)?

No, That's not what Supermium is targeted to.

,,, See also #244 ...

ARM32 is probably on the verge of abandonment if it's not already there.

Supermium is not built for non-x86 platforms, and there are no current plans to do so.


Investigate coinselection bug

As reported it seems that our coin selection is picking more inputs than needed to cover the target amount, as shown in tx, the asset 2d253e2 is picked two times creating unnecessary change output
https://liquid.network/testnet/tx/42c7f572803299feb71d85ac5cc29f671d1225f1f97184dec876feff7df7c3ce

https://github.com/bit-matrix/bitmatrix-lib/blob/44fc2ab6bdfd859c03572cabae2996bf3ddda3f7/src/ldk.ts#L38-L45


[Accessibility] Unable to access Status bar controls using keyboard

VS Code Version: 1.54.3  stable
OS Version: Windows

Steps to Reproduce:

open Vs code
select any tree item ( "search" or "explorer" etc.)
try to navigate via "tab" key
actual : keyboard only users cannot use status bar items.

Does this issue occur when all extensions are disabled?: Yes/

@isidorn , this is another issue that is opened by accessibility test team for Live Share

#94677 indicates this is intentional.
#94921 covers F6 being added as a way to navigate to the statusbar.

@gjsjohnmurray thanks for answering.
@setaskin yes, as @gjsjohnmurray pointed out this is intentional and based on user feedback.
Status bar can be focused via F6 and the status bar can be read out using the special read status bar commands.
Just to be sure I have raised this question one more time with our screen reader community but for now no plans to change this

After discussing with the community we decided to make the status bar a tab stop and to add a command to focus on the status bar.

I have pushed a fix for this after discussing with the community:

Status bar is now a tab stop
introduced a command "Focus Status Bar"
Pressing Esc while focus is on status bar moves focus back to editor

fyi @jvesouza @webczat @MarcoZehe

I have heard from the community in our gitter channel that this works nicely.
However please let me know if there is additional feedback.

Works ok for me.
Thanks.


Does this snipe ugc limiteds?

Does this snipe ugc limiteds?

Yes, just put in the id set the price to 1 and buyagain on.

what should i put in "Amount of limiteds you want to snipe"

is the asset id the item id?

IT does not snipe UGC limiteds as it uses a different API one that does is currently in the works


Platform::Random C++ rewrite

Should we keep the RandomHelpers.h file? It has only one namespace and one variable, we can place it in another file


[stable/wordpress] Add 'none' to SMTP protocol accepted values

What this PR does / why we need it:
Adds 'none' to SMTP protocol accepted values in the WordPress README.md.
Which issue this PR fixes

fixes https://github.com/bitnami/bitnami-docker-wordpress/issues/171

Checklist

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md
[x] title of the PR contains starts with chart name e.g. [stable/chart]

/assign @juan131 @carrodher

/ok-to-test
/lgtm


Add 1.20.x compatibility

Is your feature request related to a problem? Please describe.
Nope. However, it's hard to use mods require this mod and Minecraft 1.20.2 (E.g. Better Combat)
Describe the solution you'd like
Add backport for 1.20.2, or add compatibility for all 1.20 versions
Describe alternatives you've considered
No?
Additional context
No.

1.20.4 versions should work on 1.20.2

Thanks. I'm closing this issue on my own.


ModuleNotFoundError: No module named 'prim3d'

using scene_id: 0616_00 train_suffix: 0616_00_pretrained vis_suffix: 0616_00_pretrained mvs_suffix: mvs **kwargs: --casting
Traceback (most recent call last):
File "scripts/train_pretrained.py", line 17, in
from scripts.generate_normal import ray_casting_depth_normal
File "/mnt/dataset/zengjing/HelixSurf/scripts/generate_normal.py", line 9, in
import prim3d
ModuleNotFoundError: No module named 'prim3d'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "scripts/train_pretrained.py", line 19, in
from generate_normal import ray_casting_depth_normal
File "/mnt/dataset/zengjing/HelixSurf/scripts/generate_normal.py", line 9, in
import prim3d
ModuleNotFoundError: No module named 'prim3d'

When I run this code, the error occur, how to fix it?


Chatterbot error on windows

Hi,
Facing an issue as below. Please help.
C:>python
Python 3.6.0 |Anaconda 4.3.1 (64-bit)| (default, Dec 23 2016, 11:57:41) [MSC v.1
900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.

import ChatBot from chatterbot
File "", line 1
import ChatBot from chatterbot
^
SyntaxError: invalid syntax
from chatterbot import ChatBot
chatbot = ChatBot('Ujbuk')
C:\Users\eparsen\AppData\Local\Continuum\Anaconda3\lib\site-packages\chatterbot
storage\jsonfile.py:26: UnsuitableForProductionWarning: The JsonFileStorageAdapt
er is not recommended for production environments.
self.UnsuitableForProductionWarning
Traceback (most recent call last):
File "", line 1, in
File "C:\Users\eparsen\AppData\Local\Continuum\Anaconda3\lib\site-packages\cha
tterbot\chatterbot.py", line 37, in init
self.storage = utils.initialize_class(storage_adapter, **kwargs)
File "C:\Users\eparsen\AppData\Local\Continuum\Anaconda3\lib\site-packages\cha
tterbot\utils.py", line 33, in initialize_class
return Class(**kwargs)
File "C:\Users\eparsen\AppData\Local\Continuum\Anaconda3\lib\site-packages\cha
tterbot\storage\jsonfile.py", line 30, in init
self.database = Database(database_path)
File "C:\Users\eparsen\AppData\Local\Continuum\Anaconda3\lib\site-packages\jso
ndb\db.py", line 22, in init
self.set_path(file_path)
File "C:\Users\eparsen\AppData\Local\Continuum\Anaconda3\lib\site-packages\jso
ndb\db.py", line 47, in set_path
self.write_data(file_path, {})
File "C:\Users\eparsen\AppData\Local\Continuum\Anaconda3\lib\site-packages\jso
ndb\file_writer.py", line 25, in write_data
with open_file_for_writing(path) as db:
File "C:\Users\eparsen\AppData\Local\Continuum\Anaconda3\lib\site-packages\jso
ndb\compat.py", line 70, in open_file_for_writing
return io.open(*args, **kwargs)
PermissionError: [Errno 13] Permission denied: 'database.db'

I think the last line of this stack trace might be the best clue as to what is going wrong.

PermissionError: [Errno 13] Permission denied: 'database.db'

For some reason ChatterBot can't create a new database file in whatever directory the chat bot is being executed in. The reason, as specified in the stack trace is that it doesn't have permission to do this.
One way you may be able to fix this is to create a new file called database.db in the directory that you want to execute your chat bot from.

Hi,
Thanks for your reply.
I have tried changing permission to all directories and sub-directories of the location where it's installed and also tried creating a blank file names 'database.db' in most of the directories under chatterbot, however it didn't work.


[DDW-92] Improve error messages on connecting screen

This PR improves the handling of CERT_NOT_YET_VALID error that is sent by the api if the Daedalus tls cert is invalid (e.g: when the system time was changed)
Todo

[x] Japenese translation for the error message

How to Test
it's easiest if you run Daedalus against staging network and set your system time back ~20 minutes. You should see the connecting screen with the following message:

When you correct the system time it should recover after ~10 seconds.
Basics

[ ] PR is updated to the most recent version of target branch (and there are no conflicts)
[ ] PR has good description that summarizes all changes and shows some screenshots or animated GIFs of important UI changes
[ ] CHANGELOG entry has been added and is linked to the correct PR on GitHub
[ ] Automated tests: All acceptance tests are passing (yarn run test)
[ ] Manual tests (minimum tests should cover newly added feature/fix): App works correctly in development build (yarn run dev)
[ ] Manual tests (minimum tests should cover newly added feature/fix): App works correctly in production build (yarn run package / CI builds)
[ ] There are no flow errors or warnings (yarn run flow:test)
[ ] There are no lint errors or warnings (yarn run lint)
[ ] Text changes are proofread and approved (Jane Wild)
[ ] There are no missing translations (running yarn run manage:translations produces no changes)
[ ] UI changes look good in all themes (Alexander Rukin)
[ ] Storybook works and no stories are broken (yarn run storybook)
[ ] In case of dependency changes yarn.lock file is updated

Code Quality

[ ] Important parts of the code are properly documented and commented
[ ] Code is properly typed with flow
[ ] React components are split-up enough to avoid unnecessary re-rendering
[ ] Any code that only works in Electron is neatly separated from components

Testing

[ ] New feature / change is covered by acceptance tests
[ ] All existing acceptance tests are still up-to-date
[ ] New feature / change is covered by Daedalus Testing scenario
[ ] All existing Daedalus Testing scenarios are still up-to-date

After Review:

[ ] Merge PR
[ ] Delete source branch
[ ] Move ticket to done on the Youtrack board

@DominikGuzei translations are ready: https://docs.google.com/document/d/1on0xcRBOcciucI7D2Td5iADA2L4iVoH_SicqnsSmifU/edit

@nikolaglumac @DmitriiGaico all issues should be sorted out now!
Note: I also improved our code formatting setup in this PR so that it works without trouble.

@DominikGuzei may I kindly ask you to resolve the package.json conflict? It is a tricky one :(

@DominikGuzei disregard my last comment. I have resolved the conflict.


Addtion of Perl 6 support

Hi,
This PR adds Perl 6 support to syntastic. In my tests,  the implementation seems to correctly catch errors and highlight the cultpit. The reaction from the Perl 6 community has been very positive.
If you accept the PR, I have a few question regarding future additions to the linter. While this syntax checker has been done very similarly as the one for Perl 5 (that I used as an example), this may  change in the future. I talked to Perl 6 core devs, and we may add error output in JSONto simplify the job of linters and other tools. I also would like to keep the Perl 6 support in line with the development of the language, it self very recent and the development very active. Do I just send new PR for future additions/bug fixes?
If there is something that need to be changed or if you have questions, feel free to contact me.
Regards,
Claudio

Did you read the checker guide, and in particular the section about duplicate checkers?
Can you please squash your 16 commits into a single one and re-send your PR?

Hi lcd047,
I did see that section, but this is not a duplicate checker. I took the structure of the perl5 checker as a starting point, but they don't have much in common (the run an other binary and the errors are not related at all).
I will gladly squash the commits.
Regards,
Claudio

Please leave out the changes to the FAQ when you do.  Syntastic never had a checker for Perl 6, so there can't be any question about it no longer working. :)

Ok, I'll do that on the other PR (with a cleaner commit history as asked).


implement Inspectable for more UI things

This seems to work.
I'm not really sure about aspect_ratio. Changing its value does seem to do... something. Sometimes. But I think that's on bevy.

Thanks!


[FLINK-16866] nonblocking job submission: request for early feedback

tests are not really passing on Azure

Thanks a lot. I'll incorporate your feedback & post comments if I have questions.


Update README to demonstrate passing an interpolation string to processing_image_url

It wasn't immediately obvious to me (and maybe some others, see #118) that the string given to processing_image_url would be passed through the interpolator based on the previous example. This should make it clearer that you can include interpolation placeholders, making it easy to have per-style processing images.

:+1:

Thanks!


Tune Aldebaran BF16 NN TN NT GEMM sizes

Aldebaran BF16 NN, NT, TN Gemm sizes tuned , approximately 16% improvement done.

The logic yaml's file name should contain 'UserArgs'. Please check why it is missing.
Now I have added back "UserArgs".  Earlier I removed that to match with existing library names. but looks it was generated a very long time back. but even without *UserArgs correct kernel was picked.

Have you verified hipblaslt-test on gfx90a?

Have you verified hipblaslt-test on gfx90a?
Yes. This has been verified in gfx90a and average of 14.75% improvement for 9 shapes.


Support for Cognito Authorizers on Api endpoints

Is your feature request related to a problem? Please describe.
Currently, Amplify allows you to restrict apis to authenticated users through IAM credentials. Some of my use cases require me to get the userId associated with a specific request. This is impossible to do with IAM creds. Why not allow Cognito Authorizers as well ? This way I can get the user id through the request context.
Describe the solution you'd like
When specifying auth during api creation, add an option for cognito-based auth for the api. At the very least, export the UserPoolId and Lambda Arn so that I can use them in customResources.json to set this up on my own.
Describe alternatives you've considered
Currently, I go to the APIG console and set the authorizer manually. This would be trivial to do in a cloudformation template and I've considered adding it as a custom resource in the customResources.json template, but there is no UserPoolId export that I can use as a parameter for the template, which introduces hardcoding - at which point I might as well modify everything manually.

@nibab Are you using GraphQL or Rest?

Rest

Hi @nibab,
We don't have this in the CLI yet out of the box but it is being prioritized for release as of now.
Yes you could either do it through the console but also manage it in the cloudformation here. You would need to export the userPoolArn from the auth file to use it. Let me know if this helps

@nibab I am closing this issue since it's a duplicate you can follow #3390 for updates of the release


Support Bundler 2.0 gemfile names 'gems.rb' and 'gems.locked'

Issue description
Since Bundler 1.6 (Ruby), and will be enforced starting with Bundler 2.x, the Gemfile and Gemfile.lock can been named gems.rb and gems.lock respectively.
What needs to be done
Allow both filenames to work with bundlerEnv function

This is still an ongoing issue. By default bundlerEnv will not understand the new gems.rb and gems.lock files (new since bundle v2+)


Bookings with me wont consider all my calendars

My Outlook is subscribed to several personal calendars I use. Still my personal Bookings page ignores them, allowing people to book unavailable time.
- Is there a way to fix this?

@noAlvaro Please indicate which document you are referring to.  What is your feedback to improve it. Thanks

@noAlvaro We appreciate any feedback that improves the content in the Microsoft docs but we haven't had any response from you so we are going to close this issue.
Please feel free to re-open this issue if you see an improvement is required in the specific area of this documentation. We will certainly update this documentation with that valuable information. Thanks again, for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.

Hi, sorry which document are you referring to?
My issue is about Outlook calendars (subscriptions and non-Exchange accounts), and availability issues in personal "Bookings" page in Microsoft 365.
The problem is that busy time of such calendars is becoming available for people to book, which sounds incorrect.

@noAlvaro Thank you for your feedback. You are correct, busy times of other calendars should block your booking calendar and users should not be able to book. If you are still facing this issue, I'd recommend contacting support via the need help option in the M365 admin center.
Hope this helps!
Thanks
Sri


Don't Merge! PR real time test for webhook case

Docs Build status updates of commit 226b7fc:
:clock10: Full build: the average full build time is 7 min(s) 33 sec(s), this is based on the last 30 build(s) for this repository.

Docs Build status updates of commit 226b7fc:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs-ref-conceptual/testing.md
:white_check_mark:Succeeded
View (azure-cli-latest) View (azure-cli-2017-03-09-profile) View (azure-cli-2018-03-01-hybrid)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


not able to authorize resources on azure devops

I am practicing the "Add the deployment stage to the pipeline" exercise as per ESI self learning "https://docs.microsoft.com/en-us/learn/modules/create-release-pipeline/5-deploy-to-appservice".
I have created the service connection and created all the necessary environment for the pipeline to run however I get this error on azure devops portal where the 'azurepipeline' fails with error as given below.
There was a resource authorization issue: "The pipeline is not valid. Job Deploy: Step input azureSubscription references service connection Resource Manager - Tailspin - Space Game which could not be found. The service connection does not exist or has not been authorized for use. For authorization details, refer to https://aka.ms/yamlauthz."
No matter how many times I tried to authorize the resources it wont work.
The app service is created on portal in westus2 region.
I am using the same accounts to login on Azure devops and Azure portal.

hmmh


structure arrays imported as cell arrays

In demo_jsonlab_basic.m, lines 133-141, the demo creates a 3 element structure array, exports it to json, and then imports it back to a MATLAB variable (json2data).  However, it does not work as intended.  json2data is a cell array with three structures instead of a three-element structure array.  It is easily transformed by:
json2data = cell2mat(json2data);
_assuming _ the structures all have the same fields.  Unfortunately, I do not have the time to chase down the root cause of the issue, but I thought you should know.
Thanks for a very handy utility!
-Nathaniel

This is not a bug. The results are expected because savejson added a root to the struct. If you want generate a 3-element struct array, you should use the following code instead:
data2json=struct('name','Nexus Prime','rank',9);
data2json(2)=struct('name','Sentinel Prime','rank',9);
data2json(3)=struct('name','Optimus Prime','rank',9);
savejson('',data2json)
json2data=loadjson(ans,'SimplifyCell',1)

Feel free to reopen this issue if you find additional problems.

Thank you, your comment answered the issue I raised.  This is an excellent utility, and I appreciate your prompt attention.
-Nathaniel
From: Qianqian Fang<EMAIL_ADDRESS>Sent: Wednesday, March 02, 2016 11:07 PM
To: fangq/jsonlab
Cc: Hollingsworth, Nathaniel
Subject: Re: [jsonlab] structure arrays imported as cell arrays (#22)
This is not a bug. The results are expected because savejson added a root to the struct. If you want generate a 3-element struct array, you should use the following code instead:
data2json=struct('name','Nexus Prime','rank',9);
data2json(2)=struct('name','Sentinel Prime','rank',9);
data2json(3)=struct('name','Optimus Prime','rank',9);
savejson('',data2json)
json2data=loadjson(ans,'SimplifyCell',1)
Feel free to reopen this issue if you find additional problems.
—
Reply to this email directly or view it on GitHubhttps://github.com/fangq/jsonlab/issues/22#issuecomment-191586574.

This e-mail is intended for the use of the addressee(s) only and may contain privileged, confidential, or proprietary information that is exempt from disclosure under law. If you have received this message in error, please inform us promptly by reply e-mail, then delete the e-mail and destroy any printed copy. Thank you.


test: added script for running tests in infinite loop

Purpose

How does the solution address the problem

Changes made

prnet cleaned-up successfully


Add new endUserIds in experienceEvents

What are the schemas that are affected by the issue
experienceEvent
What are examples of products that are impacted by the issue
Campaign
The current experienceEvent schema allows for 4 types fo enduserIds(identities).
In Campaign, there are cases when the recipient is not known as a record in the database, but their information comes through a payload. The only identifier in this case is their email.
Similar case is for SMS where phone number is the identifier.
There is a need to add at least these 2 new endUserIds in the experienceEvent schema to support this.
Mention: @cdegroot-adobe

Sounds reasonable.

@kstreeter - This needs to be in the June 15th milestone. Internally we already have standard namespaces defined for the two requested endUserIds.

@cdegroot-adobe, when can we expect the PR?

@kstreeter - in now as #381


JIRA - SSO plugin Support version updated

@sanketPere : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off


Go through Apache Project Maturity Model and evaluate our status.

@Xuanwo @suyanhanx @ClSlaid @sundy-li @PsiACE @silver-ymz
This is how Kvrocks writes its maturity report - https://github.com/apache/kvrocks-website/blob/main/maturity.md
We can put one under our website folder also.

I'll add this

Published at https://opendal.apache.org/community/maturity

I think we can close this as finished now.


Loading of session_types json file

Actual Behaviour
Currently we are not loading the session_types json file from the assets folder and api.
Expected Behaviour
Loading the file along with other files.
Steps to reproduce it

LogCat for the issue

Screenshots of the issue

Would you like to work on the issue?

Target Milestone to solve the issue
https://github.com/fossasia/open-event-android/milestone/30

@arp95 From API too

@iamareebjamal is it fine now?


How do I make a recursive binary parse tree using lalr?

What is your question?
I understand how the python operator parsing works using the * strategy, but this makes an operator node have any number of children. I want to make a tree where each operator only has a left and right child...but because of  the lalr collision issue, I cannot. Is there a strategy for this? The reason I cannot use earley parser is because it won't work when using the Indenter for postlex (due to some parsing issue with this grammar).
grammar:
%import common.CNAME -> CNAME
%import common.WORD
%import common.WS_INLINE

%declare _INDENT _DEDENT
%ignore WS_INLINE

_NL: /(\r?\n[\t ]*)+/

start: expr

variable: /z\d+/
predicate: CNAME "(" variable  ")"

?expr: or_expr
?or_expr: and_expr ("|" and_expr)?
?and_expr: atom ("&" atom)?
?atom: CNAME | "(" expr ")" | predicate

string
a & b & c

expected parse:
▶ start
  ▶ and_expr
  a
    ▶ and_expr
    b
    c

If you're having trouble with your code or grammar
Provide a small script that encapsulates your issue.
Explain what you're trying to do, and what is obstructing your progress.

Ok, this actually works with lalr, but IDK why:
%import common.CNAME -> CNAME
%import common.WORD
%import common.WS_INLINE

%declare _INDENT _DEDENT
%ignore WS_INLINE

_NL: /(\r?\n[\t ]*)+/

start: bool_e

variable: /z\d+/
predicate: CNAME "(" variable  ")"

bool_e: or_e | and_e
or_e: left "|" right
and_e: left "&" right
left: CNAME
right: bool_e | CNAME

I was expecting it to fail due to bool_e being referenced in right

oh nvm, the reason that strategy might be bad is due to operator precedence:
this would produce an incorrect parse
bool_e: or_e | xor_e | and_e
or_e: left "|" right
xor_e: left "XOR" right
and_e: left "&" right
left: CNAME
right: bool_e | CNAME

a | b & c & e XOR d

Update, I ended up just using the larl parser and sticking to the * decoding strategy where I get a list of all vars in the expression...so a & b & c will return and_expr(a, b, c), and I just use a transformer to make this into a binary tree via
@dataclass
class LCExpression:
  op: str
  left: Any
  right: Any

class MyTransformer(Transformer):
    def _process_LC_expression(self, op, items):
        if len(items) < 2:
          raise ValueError
        elif len(items) == 2:
          right_items = items[1]
        elif len(items) > 2:
          right_items = self._process_LC_expression(op, items[1:])
        return LCExpression(op= op, left=items[0], right=right_items)

    def or_expr(self, items):
        return self._process_LC_expression('OR', items)

    ...

Glad you figured it out!


How to get octocatalog to work with puppet enterprise 2016.1.1

Description of problem

What did you do?
installed octocatalog but had a bit of trouble getting it to work
What happened?
In the end I triumphed
What did you expect to happen?
I would get bored and give up
How can someone reproduce the problem?
Using Centos 6.8, rvm with various versions (2.18, 2.1.9, 2.3.1) of ruby, gem versions of octocatalog or git clone and the documentation on github I attempted to get octocatalog to work.   Initially it did not.
I fixed a couple of things like whitelisting the SSL puppetdb connection on the puppetdb server that aren't in the docs but that are clearly described on puppetlabs.com

However with the following two changes to the documentation, octocatalog-diff did eventually work

The puppetdb_ssl_client_key and puppet_ssl_client_cert in .octocatalog.cfg.rb should both be left unset.  Instead do this:
settings[:puppetdb_ssl_client_pem] = File.open("/etc/puppetlabs/puppet/ssl/private_keys/#{fqdn}.pem").read + File.open("/etc/puppetlabs/puppet/ssl/certs/#{fqdn}.pem").read

I didn't notice this anywhere in the docs but it is necessary to do this install if you are running on a puppet agent node

sudo /opt/puppetlabs/puppet/bin/puppet  resource package puppetdb-termini ensure=latest
Command used and debugging output
If you set it up "by the book" (with paths to puppetdb_ssl_client_key and puppetdb_ssl_client_cert) then this sort of thing happens
[jan@succi puppetmaster_np]$ octocatalog-diff -n 'c1.content-service.cld.iop.org-i-f83c0172'  -d  --no-parallel --catalog-only -f cloudlive -t cloudlive
D, [2016-10-28T16:44:36.387100 #26758] DEBUG -- : Running octocatalog-diff 0.5.1 with ruby 2.1.8
D, [2016-10-28T16:44:36.387248 #26758] DEBUG -- : Command line arguments: ["-n", "c1.content-service.cld.iop.org-i-f83c0172", "-d", "--no-parallel", "--catalog-only", "-f", "cloudlive", "-t", "cloudlive"]
D, [2016-10-28T16:44:36.387293 #26758] DEBUG -- : Running on host succi.ioppublishing.com (x86_64-linux)
D, [2016-10-28T16:44:36.387345 #26758] DEBUG -- : Compiling catalog --catalog-only for c1.content-service.cld.iop.org-i-f83c0172
D, [2016-10-28T16:44:36.387766 #26758] DEBUG -- : Initialized OctocatalogDiff::Catalog::Noop for from-catalog
D, [2016-10-28T16:44:36.387835 #26758] DEBUG -- : Initialized OctocatalogDiff::Catalog::Computed for to-catalog
D, [2016-10-28T16:44:36.387942 #26758] DEBUG -- : Begin build_catalog for cloudlive
D, [2016-10-28T16:44:36.387982 #26758] DEBUG -- : Setting up Puppet catalog build for cloudlive
D, [2016-10-28T16:44:36.388013 #26758] DEBUG -- : Catalog for cloudlive will be built with OctocatalogDiff::Catalog::Noop
D, [2016-10-28T16:44:36.388136 #26758] DEBUG -- : Catalog for cloudlive successfully built with OctocatalogDiff::Catalog::Noop in 2.944e-06 seconds
D, [2016-10-28T16:44:36.388191 #26758] DEBUG -- : Success build_catalog for cloudlive
D, [2016-10-28T16:44:36.388223 #26758] DEBUG -- : Begin build_catalog for cloudlive
D, [2016-10-28T16:44:36.388251 #26758] DEBUG -- : Setting up Puppet catalog build for cloudlive
D, [2016-10-28T16:44:36.388279 #26758] DEBUG -- : Catalog for cloudlive will be built with OctocatalogDiff::Catalog::Computed
D, [2016-10-28T16:44:36.388310 #26758] DEBUG -- : Calling build for object OctocatalogDiff::Catalog::Computed
D, [2016-10-28T16:44:36.388360 #26758] DEBUG -- : Start retrieving facts for c1.content-service.cld.iop.org-i-f83c0172 from OctocatalogDiff::Catalog::Computed
D, [2016-10-28T16:44:36.388395 #26758] DEBUG -- : Retrieving facts from PuppetDB
D, [2016-10-28T16:44:36.389692 #26758] DEBUG -- : Failed build_catalog for cloudlive: OpenSSL::PKey::RSAError Neither PUB key nor PRIV key: nested asn1 error
W, [2016-10-28T16:44:36.389795 #26758]  WARN -- : Failed build_catalog for cloudlive
/home/jan/.rvm/gems/ruby-2.1.8/gems/octocatalog-diff-0.5.1/lib/octocatalog-diff/catalog-diff/cli/catalogs.rb:209:in add_parallel_result': Catalog for 'to' (cloudlive) failed to compile with OpenSSL::PKey::RSAError: Neither PUB key nor PRIV key: nested asn1 error (OctocatalogDiff::CatalogDiff::Cli::Catalogs::CatalogError)    /home/jan/.rvm/gems/ruby-2.1.8/gems/octocatalog-diff-0.5.1/lib/octocatalog-diff/util/httparty.rb:124:ininitialize'
/home/jan/.rvm/gems/ruby-2.1.8/gems/octocatalog-diff-0.5.1/lib/octocatalog-diff/util/httparty.rb:124:in new'    /home/jan/.rvm/gems/ruby-2.1.8/gems/octocatalog-diff-0.5.1/lib/octocatalog-diff/util/httparty.rb:124:inssl_options'
/home/jan/.rvm/gems/ruby-2.1.8/gems/octocatalog-diff-0.5.1/lib/octocatalog-diff/util/httparty.rb:81:in wrap_ssl_options'    /home/jan/.rvm/gems/ruby-2.1.8/gems/octocatalog-diff-0.5.1/lib/octocatalog-diff/util/httparty.rb:16:inget'
/home/jan/.rvm/gems/ruby-2.1.8/gems/octocatalog-diff-0.5.1/lib/octocatalog-diff/puppetdb.rb:117:in block in _get'    /home/jan/.rvm/gems/ruby-2.1.8/gems/octocatalog-diff-0.5.1/lib/octocatalog-diff/puppetdb.rb:106:ineach'
/home/jan/.rvm/gems/ruby-2.1.8/gems/octocatalog-diff-0.5.1/lib/octocatalog-diff/puppetdb.rb:106:in _get'    /home/jan/.rvm/gems/ruby-2.1.8/gems/octocatalog-diff-0.5.1/lib/octocatalog-diff/puppetdb.rb:86:inget'
/home/jan/.rvm/gems/ruby-2.1.8/gems/octocatalog-diff-0.5.1/lib/octocatalog-diff/facts/puppetdb.rb:31:in block in fact_retriever'    /home/jan/.rvm/gems/ruby-2.1.8/gems/octocatalog-diff-0.5.1/lib/octocatalog-diff/facts/puppetdb.rb:29:intimes'
/home/jan/.rvm/gems/ruby-2.1.8/gems/octocatalog-diff-0.5.1/lib/octocatalog-diff/facts/puppetdb.rb:29:in fact_retriever'    /home/jan/.rvm/gems/ruby-2.1.8/gems/octocatalog-diff-0.5.1/lib/octocatalog-diff/facts.rb:28:ininitialize'
/home/jan/.rvm/gems/ruby-2.1.8/gems/octocatalog-diff-0.5.1/lib/octocatalog-diff/catalog-util/facts.rb:48:in new'    /home/jan/.rvm/gems/ruby-2.1.8/gems/octocatalog-diff-0.5.1/lib/octocatalog-diff/catalog-util/facts.rb:48:infacts_from_puppetdb'
/home/jan/.rvm/gems/ruby-2.1.8/gems/octocatalog-diff-0.5.1/lib/octocatalog-diff/catalog-util/facts.rb:81:in compute_facts'    /home/jan/.rvm/gems/ruby-2.1.8/gems/octocatalog-diff-0.5.1/lib/octocatalog-diff/catalog-util/facts.rb:25:infacts'
/home/jan/.rvm/gems/ruby-2.1.8/gems/octocatalog-diff-0.5.1/lib/octocatalog-diff/catalog/computed.rb:57:in build'    /home/jan/.rvm/gems/ruby-2.1.8/gems/octocatalog-diff-0.5.1/lib/octocatalog-diff/catalog.rb:60:inbuild'
/home/jan/.rvm/gems/ruby-2.1.8/gems/octocatalog-diff-0.5.1/lib/octocatalog-diff/catalog-diff/cli/catalogs.rb:221:in build_catalog'    /home/jan/.rvm/gems/ruby-2.1.8/gems/octocatalog-diff-0.5.1/lib/octocatalog-diff/util/parallel.rb:26:incall'
/home/jan/.rvm/gems/ruby-2.1.8/gems/octocatalog-diff-0.5.1/lib/octocatalog-diff/util/parallel.rb:26:in execute'    /home/jan/.rvm/gems/ruby-2.1.8/gems/octocatalog-diff-0.5.1/lib/octocatalog-diff/util/parallel.rb:147:inblock in run_tasks_serial'
/home/jan/.rvm/gems/ruby-2.1.8/gems/octocatalog-diff-0.5.1/lib/octocatalog-diff/util/parallel.rb:144:in each'    /home/jan/.rvm/gems/ruby-2.1.8/gems/octocatalog-diff-0.5.1/lib/octocatalog-diff/util/parallel.rb:144:inrun_tasks_serial'
/home/jan/.rvm/gems/ruby-2.1.8/gems/octocatalog-diff-0.5.1/lib/octocatalog-diff/util/parallel.rb:72:in run_tasks'    /home/jan/.rvm/gems/ruby-2.1.8/gems/octocatalog-diff-0.5.1/lib/octocatalog-diff/catalog-diff/cli/catalogs.rb:98:inbuild_catalog_parallelizer'
/home/jan/.rvm/gems/ruby-2.1.8/gems/octocatalog-diff-0.5.1/lib/octocatalog-diff/catalog-diff/cli/catalogs.rb:32:in catalogs'    /home/jan/.rvm/gems/ruby-2.1.8/gems/octocatalog-diff-0.5.1/lib/octocatalog-diff/catalog-diff/cli.rb:180:incatalog_only'
/home/jan/.rvm/gems/ruby-2.1.8/gems/octocatalog-diff-0.5.1/lib/octocatalog-diff/catalog-diff/cli.rb:88:in cli'    /home/jan/.rvm/gems/ruby-2.1.8/gems/octocatalog-diff-0.5.1/bin/octocatalog-diff:74:in<top (required)>'
/home/jan/.rvm/gems/ruby-2.1.8/bin/octocatalog-diff:23:in load'    /home/jan/.rvm/gems/ruby-2.1.8/bin/octocatalog-diff:23:in'
/home/jan/.rvm/gems/ruby-2.1.8/bin/ruby_executable_hooks:15:in eval'    /home/jan/.rvm/gems/ruby-2.1.8/bin/ruby_executable_hooks:15:in'
from /home/jan/.rvm/gems/ruby-2.1.8/gems/octocatalog-diff-0.5.1/lib/octocatalog-diff/catalog-diff/cli/catalogs.rb:118:in block in build_catalog_parallelizer'     from /home/jan/.rvm/gems/ruby-2.1.8/gems/octocatalog-diff-0.5.1/lib/octocatalog-diff/catalog-diff/cli/catalogs.rb:112:ineach'
from /home/jan/.rvm/gems/ruby-2.1.8/gems/octocatalog-diff-0.5.1/lib/octocatalog-diff/catalog-diff/cli/catalogs.rb:112:in build_catalog_parallelizer'     from /home/jan/.rvm/gems/ruby-2.1.8/gems/octocatalog-diff-0.5.1/lib/octocatalog-diff/catalog-diff/cli/catalogs.rb:32:incatalogs'
from /home/jan/.rvm/gems/ruby-2.1.8/gems/octocatalog-diff-0.5.1/lib/octocatalog-diff/catalog-diff/cli.rb:180:in catalog_only'     from /home/jan/.rvm/gems/ruby-2.1.8/gems/octocatalog-diff-0.5.1/lib/octocatalog-diff/catalog-diff/cli.rb:88:incli'
from /home/jan/.rvm/gems/ruby-2.1.8/gems/octocatalog-diff-0.5.1/bin/octocatalog-diff:74:in <top (required)>'     from /home/jan/.rvm/gems/ruby-2.1.8/bin/octocatalog-diff:23:inload'
from /home/jan/.rvm/gems/ruby-2.1.8/bin/octocatalog-diff:23:in <main>'     from /home/jan/.rvm/gems/ruby-2.1.8/bin/ruby_executable_hooks:15:ineval'
from /home/jan/.rvm/gems/ruby-2.1.8/bin/ruby_executable_hooks:15:in `'
fixing the keys using the concatenated certs trick then leads to a baffling terminus puppetdb not found for indirection facts.  This is solved by installing the puppetdb-terminus stuff on the host that is running octocatalog-diff
Platform and version information

Your OS: Centos 6.8

Your Ruby version: 2.19, 2.1.8 and 2.3.1

Your version of Puppet:  4.4.1 ( puppet enterprise 2016.1.1)

Your version of octocatalog-diff: 0.5.1
Do the tests pass from a clean checkout?
Yes

Anything else to add that you think will be helpful?
thank you for this wondrous  looking tool.  I am hoping to be able to simply the over complex puppet hiera config we have here at IOPP

Hey @jamesandrews-iopp ,
Thanks for the report. I've identified a couple clear opportunities for improvement in the documentation.

In the example file, I believe we are currently missing a File.read() around the SSL client certificate details. The underlying code around puppetdb_ssl_client_(key|cert|pem) is just this. What you did with puppetdb_ssl_client_pem is legitimate, but could have been accomplished with the missing File.read() around the key and certificate settings. I'll fix up the example file to reflect this.

Thanks for the hint about puppetdb-termini. We just had that in our Gemfile (probably from before I ever started :octocat:alog-diff) and so I didn't explicitly put it in the docs. I'll make sure to add a hint in an appropriate place, as well as direct links to puppet documents on the SSL whitelisting you described.

Pull request with these fixes forthcoming.


Fix BeamWriter output Parquet file

Since now, the BeamWriter saved a Parquet file with a simplified schema, where each field value was serialized to JSON. That resulted in Parquet files larger than Arrow files.
This PR:

writes Parquet file preserving original schema and without serialization, thus avoiding serialization overhead and resulting in a smaller output file size.
fixes parquet_to_arrow function

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.