Integrate safety

https://github.com/pyupio/safety
seems like a good thing to be using.  or something like it if there are other options.

Yeah these days I tend to generate tox.inis that run that, but mkenv came before I started using it.
Seems reasonable to add.

I don't think I was clear and I'm not sure if you got my intent.  I was thinking it would be nice to check against the envs that mkenv makes for installing programs.  So you could mkenv security or such to see if any of the envs have known security issues.
But sure also against mkenv itself so we can correct issues quickly. Though GitHub does some automatic checks.

Ah OK yeah I definitely didn't assume you meant something like that, although I guess you're coming from https://docs.pipenv.org/#pipenv-check which I had no idea was a thing -- to be honest that seems way out of the boundaries of a tool like this (or pipenv) but maybe I have to think about that more. My initial reaction though would tell me that tools like this should be providing ways to iterate over present virtualenvs, and then you just pass that into some other tool like safety that does the check.
I.e., mkenv list | parallel safety should be the way to do this.
But yeah who knows maybe it will grow on me.

I guess I see mkenv as a thing that's already wrapping virtualenv, why not safety as well.  And we definitely can't recommend using parallel given its lack of windows availability afaik.  It seems it would also be appropriately to (configurably) check after an update to an env.
Certainly I mean to use existing code like safety.  You don't feel good providing an integrated subcommand to trigger it or integrating it (configurably) into other activities?

And sure, pipenv made me think of it.  I don't use pipenv because it doesn't work for me (by design at this point and by bugs) but unlike some I don't see it as a totally broken concept.

And we definitely can't recommend using parallel given its lack of windows availability afaik.

paralell is just "for loop" -- so, for Windows (or Powershell) whatever the equivalent is there, potentially just literally a for loop.
What I mean to say is I didn't intend for mkenv to be "here is the One True Way to Do Python Development as a Whole". safety is a tool that you run to check if some Python environment is safe -- why should mkenv manage it other than by providing generic hooks to list what it's managing, unless it is going to dictate, in a very opinionated way, things like: "Everyone should use safety, and flake8, and X and Y and Z", etc. What's wrong with the existing way to run safety, combined with the existing way to loop over things? And if mkenv manages safety, should it also manage readme_renderer and ebb-lint and sphinx and sphinxcontrib-spelling, all being things I think every project should be using?
(All the above being an elaborated explanation of my initial response, so still happy to be convinced)

I don't use pipenv because it doesn't work for me (by design at this point and by bugs) but unlike some I don't see it as a totally broken concept.

I agree with all of this sentence :)

I'm mostly thinking about mkenv for managing global installs of twine, pipenv, tox, etc.  Basically as a package manager for 'programs' on PyPi.  I think of it helping people not sudo pip for those things, nor pip --user.  I haven't looked at applying it to my development environment creation yet.  Without it installing itself easily (the bootstrap stuff) and supporting py3 on both Linux and Windows it just isn't something that would be useful for my non-Python coworkers.
But back to safety...  I wouldn't expect to have to pipe the output of an apt command to check for security vulnerabilities.  The same expectation came to mind for mkenv.


Symbol are not supported

In a normal solidity file we would like to have the symbols working (really useful with telescope). However, got issue because seems not be supported for now:
Expected Results:
I took a codebase with golang code just as an example, how what is expected when symbols for LSP are showing up:
https://github.com/user-attachments/assets/c7b68a27-ca37-4d73-97be-636123198c8d
The cmd to reproduce is:
Telescope lsp_document_symbols

Produced Results:
This is a video on solidity files for example no symbol will appear:
https://github.com/user-attachments/assets/c88c764c-efcc-4c5a-b55a-b43e5011c2be
This command will produce:
[telescope.builtin.lsp_*]: server does not support textDocument/documentSymbol

Our documentSymbol support is currently behind a feature flag. We are rolling out full support over the next few weeks.

Oh thanks!
Do you have the flag to help to test before released haha?
Would love to make feedback about it!

Okay seems to be located in this on https://github.com/NomicFoundation/hardhat-vscode/pull/550

@Ethnical did you get this working with Telescope? We might need to do something extra to enable it, because even after upgrading the LSP server with :LspInstall solidity_ls_nomicfoundation I still can't get them to work.

@fvictorio I didn't tried yet! will try maybe this weekend!

Ok, found the issue on my side.
The symbols provider is behind a feature flag, which uses the machine id to enable it for some percentage of users. The latest version sets that percentage to 100%, so in practice it's not a feature flag anymore, but it still goes through that mechanism. This means that if the machine id is not available, then all features that are behind flags will be disabled.
For some neovim-configuration-hell reason in my setup, the solidity server doesn't receive a machine id, so it just disables symbols and semantic highlighting. The fix is to add init_options in... some place. In my case it's something like this (I'm using lsp-zero):
local lsp = require('lsp-zero').preset({})

local lspconfig = require("lspconfig")
local configs = require("lspconfig.configs")

-- ...

configs.solidity = {
  default_config = {
    cmd = {'nomicfoundation-solidity-language-server', '--stdio'},
    filetypes = { 'solidity' },
    root_dir = lspconfig.util.find_git_ancestor,
    single_file_support = true,
  },
}

lspconfig.solidity.setup {
  init_options  = {
    machineId = "machineId"
  }
}

I added those init_options in lspconfig.solidity.setup with an arbitrary value for the machine id, and it started working.
@kanej @OmarTawfik since we are setting this to 100% now and we are unlikely to set it back to a non-100% value, should we just change this so that they are always enabled without going through isFeatureEnabled?

@kanej @OmarTawfik since we are setting this to 100% now and we are unlikely to set it back to a non-100% value, should we just change this so that they are always enabled without going through isFeatureEnabled?

Thank you for the investigation. That would be the next step, yes, given that there are no issues/regressions found so far, and it has been rolled out to %100 for two weeks already (#597).


Local Supabase buckets not being shown in Studio UI?

Describe the bug
The Studio UI seems to get stuck on "loading" the storage buckets in the Storage tab.
To Reproduce
Steps to reproduce the behavior:

supabase init in a new directory. supabase start
Open the Studio URL and go to Storage tab (e.g. http://localhost:54323/project/default/storage/buckets)
See how the list of buckets under "All buckets" gets stuck on loading no matter how long you wait
Try creating a new bucket. It still doesn't appear under "All buckets" in the Storage tab. But the bucket does have an entry in storage.buckets table

Expected behavior
I expect to see a list of buckets under "All buckets", in the Storage tab
Screenshots
All buckets stuck "loading"

A newly created bucket exists in storage.buckets but not in the Storage tab

Desktop (please complete the following information):

OS: Mac Ventura 13.4.1
Browser: Chrome, Firefox
Version of CLI: 1.75.2
Version of supabase-js (if applicable): NA
Version of Node.js (if applicable): v18.14.2

Thank you very much @sweatybridge! This is working now. Loving supabase, really appreciate the great work


Chain Upgrade height API

Description

Added API to return a list of binary versions and upgrade heights for the chain
Remediated the Log4j vuln

closes: #246

Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.

[ ] Targeted PR against correct branch (see CONTRIBUTING.md)
[ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
[ ] Wrote unit and integration
[ ] Added a relevant changelog entry to the Unreleased section in CHANGELOG.md
[ ] Re-reviewed Files changed in the Github PR explorer
[ ] Review Codecov Report in the comment section below once CI passes

:+1: I'm so glad we are going to have a page with these listed finally!! :)


[VS Code] Could not join the collaboration session as it has already reached the maximum of 5 participants.

#317

Closing as a duplicate of #319


Rails 7 constantize change

Environment
Ruby 3.0.2p107
rails/main, after: c192feb
Devise 4.8.0 (or master)

Current behavior
Rails app won't boot. Error in lib/devise.rb:316:in get: undefined method constantize for ActiveSupport::Dependencies:Module (NoMethodError)
Explanation: https://github.com/rails/rails/pull/43058
Changing lib/devise.rb:316 as follows fixes the issue:
def get
  - ActiveSupport::Dependencies.constantize(@name)
  + @name.constantize
end

Thanks!

Fix in #5397.


Adaptive Parameterization Bsdf Implementation

Hi All,
This is more of an inquiry than an issue. I'm wondering if anyone is actively working on a MaterialX bsdf implementation of the Dupuy/Jakob Adaptive Material Parameterization. There are ILM-supplied materials in their database, so it seems reasonable that such an implementation may exist or is in progress.
Thanks, mitch

That's an idea that we've discussed internally at ILM, and I think it's a really compelling proposal for a MaterialX feature, but we haven't started development work on this functionality ourselves.  If your team would be interested in working on this feature, we'd definitely be open to supporting that work and ultimately merging the feature into MaterialX.

Okay, good to know Jonathan. We have been working with Wenzel for a while now on some unique materials used in our productions, but I haven't (yet) had the time to implement the bsdf.
I'll start digging through the EPFL resources again to re-familiarize myself (it's been a couple years), and report back here with a development outline.

Okay, it looks like the simplest/most expedient path toward an initial implementation will be to do this in PRMan/RIS (which is ultimately where we need it anyway), since the available source is in c++ and it conforms well to the integration system used by PRMan. Once that's done, we can take a look at how to propagate that into Lama (via Pixar?), and from there into MaterialX.

In particular, a MaterialX implementation will hinge on converting the material .bsdf data files and their render-time acquisition/processing into the texture map/cache domain of whatever rendering systems MaterialX supports.

For MaterialX, making a new BSDF available for rendering would mean making it available in the shading languages that MaterialX supports via code generation (OSL, GLSL, and MDL).  Support for RenderMan C++ seems like a logical first step for your team, and let us know if you run into production cases where generalization to open shading languages such as these would be valuable as well.

Right... so how does the process normally go: a new shading language capability first and then a MaterialX definition, or vice versa?
OSL (I don't know MDL at all) could be expanded with a new Material Closure. Glsl seems like somewhat of a special case though, since it is its own implementation. It's the glsl case in particular that made me think the material.bsdf files would have to be converted into textures so the glsl implementation could access the data.

This is a good question, and I can give you a sense of how we've proceeded with the implementation of other novel BSDFs in the past.
As one concrete example, we've gone through the process of implementing a prototype for the reparameterized Lazanyi-Schlick model, which is being considered as a potential MaterialX node one day.  For initial validation, we first implemented this in our production shading environment, allowing us to leverage all of our custom tools.  Then for validation in an open environment, we implemented the shading model in GLSL, allowing us to evaluate its behavior in real-time tools such as MaterialXView.  To take this the extra step of making it a MaterialX feature, we'll then need to present it in a context such as the MaterialX TSC, verifying that the developers of OSL, MDL, and other rendering environments support its inclusion in the standard.
For your example of the Dupuy/Jakob acquired BSDF, I think it makes sense to start with the production environment you're most familiar with (e.g. RenderMan C++).  For the next step of a first open environment, you might consider OSL, since it's straightforward to write new closures and validate them in open tools such as testrender.  As you've noted, there would be some additional research required to get the Dupuy/Jakob model up and running in GLSL, where the BSDF data would likely be stored as a combination of texture look-up tables and shader uniforms.  Additionally, you'd want to consider what the ideal interface for this shading model would look like in MaterialX, since it would be the first example of a BSDF defined by acquired data on disk, rather than a set of artist-tunable parameters.

Ah! Good - yes that all makes perfect sense - thanks for the explanation!
Clearly our first step is a PRMan/RIS implementation; and once that's done, we can circle back and decide where to go from there.

I'll close out this issue for now, @mprater, and I wanted to note that the MaterialX channel of the ASWF Slack is now the ideal place for this type of discussion of new ideas for MaterialX.  Feel free to join us there!
https://www.materialx.org/DiscForum.html


Add support for synchronized scrolling

Enable connecting the scroll offsets of two or more scrollables. Scrolling one of the scrollables will scroll them all.
The scrollables must be created with ScrollControllers that share a ScrollLeader.
    ScrollLeader leader = new ScrollLeader();
    ScrollController leftController = new ScrollController(leader: leader);
    ScrollController rightController = new ScrollController(leader: leader);

    ...

    new ListView(controller: leftController, ...)
    new ListView(controller: rightController, ...)

The implementation of this feature is imperfect and limited. Currently all of the scrollable's with a common ScrollLeader must have the same geometry.

I don't think we should add this functionality to ScrollPosition. I think that will lead us back to where we were before with an overloaded class that manages all the different ways to do scrolling but where adding a new mechanism means having to be on the Flutter team so you can edit the framework.
I think we'll get more a cleaner API on the long run if we embrace the same kind of composition model here as we do elsewhere. It should be possible to refactor the ScrollPosition logic so that someone can implement this leader/follower mechanism completely independently without the ViewportOffset/ScrollPosition/ScrollController base classes knowing anything about leader/follower patterns.

I've taken a different approach to synchronized scrolling for https://github.com/flutter/flutter/pull/8547. I made a tiny change to ScrollPosition to enable doing things with ScrollNotifications.
I will take another crack at refactoring ScrollPosition as well as dealing with syncing scrollables that have different extents.

Closing PR based on last comment, let me know if I misunderstood.

I'd meant to leave this open as a target for an updated synchronized scrolling approach. I can do that in a separate PR, so I'll reclose.


[Publisher] The url of Gateways tab is named as environment

The url of the Gateways tab in the Publisher portal is referred as "/environment", which should be named to "/gateways"

This issue no longer persists as the 'Gateways' tab has been renamed to 'Environments'.


Using cubeb as a dependency with the cubeb-coreaudio-rs backend?

I'm trying to use cubeb-rs with cubeb-coreaudio-rs as a backend. Currently, I'm doing so by adding cubeb to my Cargo.toml, but it appears that:

This doesn't pull in cubeb-coreaudio-rs (attempting to manually select the audiounit-rust backend fails; I just get the audiounit backend instead)
There is not anything in crates.io for cubeb-coreaudio-rs
The suggested steps for using cubeb-coreaudio-rs do not seem to integrate well into Cargo.toml files

Is there any recommended / supported way to use cubeb-coreaudio-rs as a backend without manually cloning the git repo?
If not, do you have any plans to make it available in crates.io?

That seem about right. cubeb-rs hasn't received much work, in part because it isn't used in Firefox and other large programs using cubeb, most users are using the C API, sometimes with Rust backends underneath.
I have a plan to merge all repos to make this a lot easier, but I haven't done it just now.

Thanks for the input! Created https://github.com/mozilla/cubeb-rs/pull/91 as a way to add this support to cubeb-rs.  This is n early draft still, so let me know what you think.

The submodule merge is very helpful, but now I'm running into https://github.com/rust-lang/cargo/issues/6745 (Fix tracked in https://github.com/rust-lang/cargo/issues/11405), which I think can only be worked around by adding empty [workspace] declarations to cubeb-coreaudio-rs and cubeb-pulse-rs's Cargo.toml files and then updating the submodules in cubeb.

Posted https://github.com/mozilla/cubeb-pulse-rs/pull/94 and https://github.com/mozilla/cubeb-coreaudio-rs/pull/236 to work around that issue.


lvm: use LXD pool name

For mountpoints we always use LXD's name for the storage pool and not the
on-disk name.
Signed-off-by: Christian Brauner<EMAIL_ADDRESS>

@stgraber, this needs to be backported, please.


support for google and facebook login

Is there a plan to support login via google and facebook?

At this time I don't plan to support it since I don't need it for my own projects.  However I did have a few functions for anonymous, google, and apple signup that I never fully implemented commented out in this auth project I did.  You may be able to use some of that as a starting point.  https://github.com/delay/flutter_firebase_auth_starter/blob/master/lib/services/auth_service.dart


Fix endianness detection in binary files

Currently our custom binary file format detects endianness from information stored in the header of the file. Sadly, this is an oversight as the header can not be read correctly when the endianness of the file and the architecture are different. As a result I suggest adding a byte to the very start of the file to represent endianness. This byte can be set to 0 for little-endian and 1 for big-endian when writing. When reading any value other than 0 would indicate big-endian. Furthermore, we can add a second byte after it to represent the size of the headers. Currently headers use a fixed 1kb which is plenty, however making this adjustable may be beneficial in the future.

I completely forgot that our headers are JSON strings encoded in ASCII (even though I designed it that way 😄) . As a result the header consists of individual bytes and as a result should be read correctly regardless of endianness. This is still quite hard to test as big-endian architectures are quite rare these days. But for now I am closing this issue.


Add support to get redirect_uri using par request_uri in OBIdentifierAuthenticator

Add support to get redirect_uri using par request_uri in OBIdentifierAuthenticator

This change is done to support the newly introduced AuthParameterFilter in IS-6.1 (ref mail: $Filtering the query params from default consent page redirection url) which consumes session data that is required by the OBIdentifierAuth flow in CDS. Although session data is added to the request by AuthParameterFilter, redirect_uri is not added since it resides in the par request object. A new method is added to get the redirect_uri by giving the request_uri which is available as a request parameter.

Issue link: https://github.com/wso2-enterprise/ob-compliance-toolkit-cds/issues/227
Doc Issue: Optional, link issue from documentation repository
Applicable Labels: Spec, product, version, type (specify requested labels)

Development Checklist

[ ] Built complete solution with pull request in place.
[ ] Ran checkstyle plugin with pull request in place.
[ ] Ran Findbugs plugin with pull request in place.
[ ] Formatted code according to WSO2 code style.
[ ] Migration scripts written (if applicable).

Secure Development Checklist

[ ] Ran FindSecurityBugs plugin and verified report.
[ ] Ran Dependency-check plugin and verified report for new dependencies added.
[ ] Ran Dependency-check plugin and verified report for dependency version changes.
[ ] Have you verify the PR does't commit any keys, passwords, tokens, usernames, or other secrets?
[ ] Have you followed secure coding standards in WSO2 Secure Engineering Guidelines?

Testing Checklist

[ ] Written unit tests.
[ ] Documented test scenarios(link available in guides).
[ ] Written automation tests (link available in guides).
[ ] Verified tests in multiple database environments (if applicable).
[ ] Verified tests in multiple deployed specifications (if applicable).
[ ] Tested with OBBI enabled  (if applicable).
[ ] Tested with specification regulatory conformance suites  (if applicable).

Automation Test Details

Test Suite
Test Script IDs

Integration Suite
TCXXXXX, TCXXXX

Conformance Tests Details

Test Suite Name
Test Suite Version
Scenarios
Result

Security Suite
VX.X
Foo, Bar
Passed

Resources
Knowledge Base: https://sites.google.com/wso2.com/open-banking/
Guides: https://sites.google.com/wso2.com/open-banking/developer-guides

Closing to resend since git build is not runnable


VisibilityEnabler2D does not take effect when it is added to scene tree.

Operating system or device - Godot version:
Godot 2.1.3
Issue description:

When a scene with a VisibilityEnabler2D  is add to the scene tree outside of the screen, VisibilityEnabler2D will not take effect, it only take effect when it enter screen and then exit screen.
Steps to reproduce:
Link to minimal example project:

NoBody care about this issue? Or am I using this node in a wrong way?

Also I have tried this in 3.0, it's the same.

Maybe I should not call set_fixed_process(true) or set_process(true) in _ready.
Just let the VisibilityEnabler2D call it.
If it's not bug, it can be closed

But it would be better to disabled it when added to screen tree outside of the screen, no matter whether it's on or off.

First of all thank you for your report and sorry for the delay.
We released Godot 3.0 in January 2018 after 18 months of work, fixing many old issues either directly, or by obsoleting/replacing the features they were referring to.
We still have hundreds of issues whose relevance/reproducibility needs to be checked against the current stable version, and that's where you can help us.
Could you check if the issue that you described initially is still relevant/reproducible in Godot 3.0 or any newer version, and comment about its current status here?
For bug reports, please also make sure that the issue contains detailed steps to reproduce the bug and, if possible, a zipped project that can be used to reproduce it right away. This greatly speeds up debugging and bugfixing tasks for our contributors.
Our Bugsquad will review this issue more in-depth in 15 days, and potentially close it if its relevance could not be confirmed.
Thanks in advance.
Note: This message is being copy-pasted to many "stale" issues (90+ days without activity). It might happen that it is not meaningful for this specific issue or appears oblivious of the issue's context, if so please comment to notify the Bugsquad about it.

Relevant code in scene/2d/visibility_notifier_2d.cpp if anyone wants to debug further.

I can confirm this still in 2019
Godot version:
Godot Engine v3.1.beta2.official
OS/device including version:
Sony VAIO SVE14A15FBW:

Windows 10 x64
Intel(R) Core(TM) i5-2450M @ 2.5GHz (4 CPUs)
6GB RAM
AMD Radeon HD 7600M
XBOX 360 wired gamepad

Issue description:
VisibilityEnabler2D doesn't disable elements that start off-screen until they (enter>>exit) the screen for the first time.

This behavior defeats the purpose of the node, since you must manually disable everything at start, which is already the scope of VisibilityNotifier2D.

Steps to reproduce:

Create a scene.
Set the root node to whatever type you like, even PhysicsBody2D or AnimationPlayer.
Create a child node of type VisibilityENABLER2D, mark all of its checkboxes.
Create a built-in script, print anything at process.
Instance one or many copies of it in another scene, position them OUT OF SCREEN.
Hit play. Print text will be displayed below at the output, even for elements out of screen.
Move the camera as to show the VisibilityEnabler2D's, then move away to hide them.
Print messages will stop.

Minimal reproduction project:
VisibilityNotifier2D Bug.zip
At very start:

After enter>>exit:


Add support for Python 3.12

And release Python 3.12.0.
The default Python version remains unchanged (at 3.11.x) for now.
Release announcement:
https://blog.python.org/2023/10/python-3120-final-now-available.html
https://www.python.org/downloads/release/python-3120/
Details on what's new in Python 3.12:
https://docs.python.org/3.12/whatsnew/3.12.html
Binary builds on GitHub Actions:
https://github.com/heroku/heroku-buildpack-python/actions/runs/6382585145
GUS-W-12345517.
GUS-W-12345519.

Updated versions on:
https://devcenter.heroku.com/articles/python-support#specifying-a-python-version
Published on changelog:
https://devcenter.heroku.com/changelog-items/2696


Handle same nicknames

handle somehow multiple people on matrix having the same nicknames on discord, e.g. embeds with server name or something

Why this is a problem:

comes out as

on Discord side.
So if there are multiple users with the same name on matrix you can't see on Discord side which one wrote. It treats all of them as one user and even combines their message like in the screenshot if two different users with the same name wrote after another on matrix.
What can Discord webhook do:

Icons
Have names up to 32 chars.
Set embed/message properties (embeds doesn't count to the 2000 char limit?)

What can't Discord do (but would be the best solution imo):

Colored names
Roles for webhook

This leads us to following workarounds:
1) Include domain name in webhook display name
But well 32 chars (https://discordapp.com/developers/docs/resources/webhook#create-webhook) are pretty limited..
2) Use different icons for different users
Well as you can see on the screenshot both of my accounts use the default icon. May be possible to distinguish between them by e.g. using the icon of the website where the account is registered at or something but I consider this as somewhat unpractical.
3) Change things in messages.
Seems to be the way to go at the moment.
3.1) Add domain in raw format to the message. May be the easiest thing but definitely counts to the 2000 char limit.
3.2) Put entire messages in an (colored) embed (with domain as title). Considered as ugly.
3.3) Send two messages if multiple users with the same name are on a channel.
So the first one would be a embed which has no content and just a title showing the domain and the second one would be the actual message that was sent by the user on matrix.
Those are my ideas so far; maybe you come up with something else or you know something important (e.g. that webhooks can do more than what I wrote).

soru would be leaning against 3.3, only to trigger if on the matrix side are two users of the same name, though

Yes please. Discord's current bad handling of profile pictures for webhook messages is adding even more confusion (icons are sometimes swapped).


Added  logging for basicExample

Description
This PR adds some logging options for basicExample.
[] It needs and includes Unit Tests
Changes in Client or Server public APIs

[] It includes documentation for these changes in /doc.

@jcague I've decided to go with your suggestion and now it uses log4js.


Pod Lifecycle

Machine-readable, UpperCamelCase text indicating the reason for the condition's last transition.
UpperCamelCase is a made up thing. It is properly called PascalCase.

I looked on the web and the term “upper camel case” seems used quite widely - eg see https://www.google.com/search?q=upper+camel+case
We avoid listing specific vendors and products if they are not part of Kubernetes.
/triage invalid

/triage not-reproducible


Backend: Error in starting

Starting the Backend image of ModelDB failed with following logs. FrontEnd and MongoDB containers are running fine. What could be the issue?
MongoDB is up -
executing command cp: cannot create regular file 'target/classes/reference.conf': No such file or directory

Found the problem in dockerbuild/wait_for_mongodb.sh .
Added
mkdir target
mkdir target/classes

above
cp src/main/resources/reference-docker.conf target/classes/reference.conf


Sidebar Categories Appear Open With No Content

Description
Occasionally upon starting the application the sidebar will indicate, via the arrow on the right, that the sidebar categories are expanded however no content is displayed within the category. Clicking the category to condense the category then clicking again to re-expand it will reveal the contents within
Steps To Reproduce

Have single or multiple sidebar categories expanded.
Close the Files application.
Re-open the Files application.

Expected behavior
It is expected that categories within the sidebar that were previously left open would remain upon reopening the application.
Files Version
Version: <IP_ADDRESS> OS Version: 10.0.22000.376
Windows Version
Windows 11 Pro 21H2 (OS Build 22000.376)
Relevant Assets/Logs

Merging with #6469


support on && removeListener event for vsys

VSYS New Event

[x] Support accounts changed event
[x] Support chain changed event
[x] Provide changed address
[x] Test

Related Issue
#30 Account or chain change event

$vsys scammed team!
2018-2019 scammed only
2020 xlumi PPT only
2021  coming soon only
where's the fuckkkk xlumi defi ecosystems dapps  three year?

$vsys
还重构区块链？玛丽个币！
@sunnyking9999
学习抄袭别的项目能力都没有！
$vsys 几个菜鸟磨洋工三年，一地鸡毛！
$XPM $PPC 几个菜鸟磨洋工六年，两地鸡毛！
一万个草泥马！！！


Is it possible to display validation error messages from previous steps?

If I encounter a validation error from a previous step, I see an error message such as:
"The form for step 2 is invalid. Please go back and try to submit it again."
This is of course triggered by an actual validation constraint on a field in the previous step.
Is is possible to access the error message of the specific constraint itself, rather than the generic message saying there is some unspecified error in the previous step?

Apologies I've since realised that my validation groups were not set up correctly, so no validation was happening at all.
This of course was then the reason that no specific validation errors were being shown.


Camunda Modeler Keyboard Shortcuts shown in Help are incorrect

Hi,
From what I can see in both Camunda Modeler V2.0.3 as well as in V2.2.1, the referenced Keyboard Shortcuts in Camunda Modeler Help are incorrect!
From what I experience:

the “Control” key should NOT be used for scrolling, it manages the Zooming (not listed)
instead “Control + Mouse Drag” it should be “Shift + Mouse Drag”

As mentioned, I frst noticed it using Camunda Modeler v2.0.3 (on Windows 10) but after upgrading to Camunda Modeler V2.2.1, the issue still exists.
Steps to Reproduce
Steps to reproduce the behavior:

Click on "Help" from the menu
Click on "Keyboard Shortcuts" from the drop-down Help menu.`

The pop-up screen shown above is presented but the keys listed do not work as mentioned

Expected Behavior
Instead of using the Control key in three different shortcuts, I need to use the keys as displayed here:

Environment

OS: Windows 10
Camunda Modeler Version: 2.0.3 as well as 2.2.1

Thanks for reporting.
It is indeed a bug, as the keybindings changed with v2.0.0.


highlight tagged metrics breaking change

cc @chancefeick

I don't think this version actually does introduce any breaking changes for this gem, although this is true for lib-rack and lib-rails. @chancefeick ?


@nestia/fetcher can't get response http status 2xx, not 200 or 201

The "@nestia/fetcher" library classifies only the HTTP status codes 200 and 201 as successful responses. However, there are more 2xx responses in the HttpStatus, and they should also be considered as successful responses. Therefore, it would be better to modify the conditional statement as follows.
source code

my solution
        // CHECK THE STATUS CODE
        if (
            (encrypted.status !== undefined &&
                response.status !== encrypted.status) ||
            (encrypted.status === undefined &&
                response.status < 200 &&
                response.status > 299)
        )
            throw new HttpError(method, path, response.status, text);

If you want to use another status code instead of 200 or 201, use @Status(Number) function of NestJS.
Then, nestia will generate SDK following the Numer value.

 I'm using for naver sens api.

and it work successfully!! by adding status in Encrypted obj.


Support other body parts and multi-layer skins.

Other layers don't work on pre-1.8 skins, and transparency isn't handled exactly the same way that it is in the game yet.
Part of the skin format is specified here: https://github.com/minotar/skin-spec

Still interested in working on this further @Penple03?

Now that I've got some motivation to work on this, I plan to use your work and I'm going to figure out a solution for skins designed for the older dimensions...

I've got transparency corrected implemented now. I now have refactoring and full 1.8 support now, then I can hopefully move on to the other features planned.


Upload ruff binaries to GitHub release

Closes #2330
Closes #2355

Example run: https://github.com/messense/ruff/actions/runs/4185930263
Only the last release step isn't tested yet.

BTW, added the aarch64-pc-windows-msvc target.

Amazing!


RemoteServer code cleanup and logcat cleanup.

This fixes two different logcat messages that would occur when scrubbing
a slider in the UI:

"Discarding message, message queue overflow."
"Downloading model..." would repeat itself needlessly

rendertarget and hellotriangle are both broken with OpenGL too, not just Metal.


pull request for e2e test at 01/17/2017 03:45:13

:white_check_mark: Validation status: passed
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.


Post a PURGE Request, when do we expect actual disk Object to be deleted?

So, we're using ATS v8.1.1 as a caching server. Due to compliance purposes, we need to routinely purge certain objects out of the disks - per terms of license agreements with the owners of the HTTP objects.
It is mission critical for us to reclaim space from the disks - as soon as we PURGE certain objects, but as per the documentation for PURGE - it is clear that the objects are not deleted from the disks after a PURGE request,  exact excerpt from ATS docs -
This procedure only removes the index to the object from a specific Traffic Server cache. While the object remains on disk, Traffic Server will no longer able to find the object. The next request for that object will result in a fresh copy of the object fetched. Users may still see the old (removed) content if it was cached by intermediary caches or by the end-users’ web browser.
Available at - https://docs.trafficserver.apache.org/en/8.1.x/admin-guide/storage/index.en.html#removing-an-object-from-the-cache
How do we delete from disk effectively? Is there a ready-made way? Or is there a way using the TS CacheRead or TS CacheRemove APIs in C/C++?

Do your license agreements force you to overwrite the disk for removed files (like secure remove)? As I understand it, removing the object's index is very similar to how a file system rm/empty trash works -- that the file is still there, just need to go to more severe lengths to recover. The hurdle for ATS would be much more severe as significant tool engineering development would be required.

Well, no, the agreements simply need us to ensure that objects that shouldn't exist with us, are deleted. If you're saying that a PURGE request does an rm - similar to one on an ext4 file system over Linux - I think that should satisfy my use case.
But in any case - do you think it is worthwhile to explore any C/C++ APIs for TS Find and Delete - or is it going to be too painful to implement due to the way ATS is supposed to function conceptually?
If it is possible - I would write a C/C++ plugin that would accept a Regular Expression string - try to search the cache index for the object(s) and invoke a TS Delete API (if one exists - and I'd appreciate your inputs here).
P.S. - Appreciate you taking out the time for answering this.

My understanding is that it would very painful. As I understand it (here is a good doc about the cache), the objects are not stored in contiguous blocks. They are intertwined with the other objects that are being written at the same time -- the index gives the locations. Once the index is gone, the locations are gone (like the rm). So, I'd think you'd need to go walk the disk -- if you still know the bytes of the original file (and any alternates), then its probably a straightforward block by block search. If you just know the original hash, its a lot worse -- you need to gather all the fragments and start concatenating and testing (but, you don't know which fragment is the start -- so the combinations grow). Problem gets worse if the disk is in use -- the cache continues to change. So, probably it'd be better to encrypt the disk, and cycle the key (thus making the entire disk complete gibberish) every time there is purge, or (much slower), do the equivalent of the shred command to the disk, or go the hardware method, and exclusively use RAM disk, and just reboot the machine instead of purging.

Makes sense, closing this, thank you so much @mlibbey!


Transactions history visibility on some resolutions

On medium screens (ex. 1440x900) app header and send widget fills the full screen size:

Some users may not notice transactions history (some browsers/systems don't show scrolls).

This is an inevitable part of the fold but I think most users know how to scroll. Still, there can be things to help the user.
Below fold indicator branch: below-fold-indicator

We can have this indicator to show that there is more under the fold.

Once the Transaction History is visible, then the indicator goes away.
When the user clicks it, the screen will scroll down to the correct place.
Not visible in narrow screens since they will have to scroll a lot anyways (see the other improvement below)

Scroll after transaction success
After the user successfully sends a transaction, we scroll them to the Transaction History section and highlight the transaction they just sent.

Helpful for users on narrow screens

Closing this as outdated


fixing error in closing peer

Taipei-Torrent should close peer when err != io.EOF, otherwise, as in the original codes, it will close peer when err ==io.EOF. But this will happen every time when it can not receive a piece by  function "err = ts.RequestBlock2(p, k, false)". Because this function will return io.EOF when its peers do not have the pieces it needs. After closing, it can not download pieces from the peer because there is no connection between them anymore, even though the peer have the pieces it need again. I have tested this for one day to find the reasons that Taipei-Torrent can not receive pieces after it do not get piece one time and set to "UNINTERESTED" to the peer.

won't this cause the connection to remain open when you hit the actual end of the file?


Can I create multiple lines of row without any HTML/Markdown tags?

Hello,
When I was using the Multiple lines of row option, I found this feature can only be used with HTML/Markdown tags:
| A   | B     |
| --- | ----- |
| 1   | - 2   | \
|     | - 3   |

But when I was using it without any HTML/Markdown tags like #2:
| A   | B   |
| --- | --- |
| 1   | 2   | \
|     | 3   |

The parsed HTML is:

      A
      B

      1

2 3

There is only one
  tag but I think it should be two
 like this:

      A
      B

      1

2

3

Is this a designed feature or just a bug? Thank you.

Thanks for the report. Multi-line rows intend to call markdown-it API, having ParserBlock parse the cells for simplicity. Thus it cannot generate multi-line row without tags inside.
And, because single line-break doesn't split the paragraph in native markdown-it, the example you given above should be parsed as:

A
B

1

2
3

No colspan and one paragraph only. To create two paragraphs with colspan 2, it should be:
| A   | B        ||
| --- | --- | --- |
| 1   | 2        || \
|     |          || \
|     | 3        ||

Multi-line line-breaks are badly handled in current version (v3.2.3), and I may not fix this version since develop branch (will be v4.0.0) has this issue solved. You can test if it works as expected.

Thanks for your reply. I just found that I need to turn on the breaks option of markdown-it to create multiple lines of row without any tags or blank rows.
Also, although the colspan="2" situation cannot pass the test case, it does not cause any visual side effects if the border-collapse: collapse; style is added to the bordered table.
So my problem solved in current version (v3.2.3). Thank you very much!


Feature request: Add "--branch" option to cli.

User story
As a developer, I would like the cli option --branch that would set the --name to the name of the current git branch I'm on.
Reasoning
I produce many zeit deploys, normally of a feature or a bugfix in a branch, I normally attach these links to pull requests for review. It would be nice to have a --branch cli option that would name the deploy with the current branch I'm currently in.
example:
on my hypothetical CLI I'm in the current branch: origin/feature/ZNC-456-new-component
When I run:
now --branch
it returns the url:
https://znc-456-new-component-wtuasd3tr.now.sh

If this could somehow integrate to also rm the instance when the PR is closed, this could be a really valuable feature.

Thank you so much for the effort you have put into this issue! 😊
However, since we completely re-worked the entire codebase of Now CLI and this issue does not apply to the new code anymore, I'm closing it now.
You can read more about our biggest release yet here: https://zeit.co/blog/now-2

@leo are you certain this doesn't apply anymore? I had subscribed to this issue, because it was something I was hoping to see. I'm excited to see the secrets y'all have in store with Now v2+, but I dont believe anything in the announcement or version release precludes, prevents, or discusses the original issue.


Fix bwcVersions after bumping version 1.3.1

This version needed to be added after bumping 1.3 branch to 1.3.1 in #2509

@nknize we need to add 1.3.1 to Version.java as well:
public static final Version V_1_3_1 = new Version(1030199, org.apache.lucene.util.Version.LUCENE_8_10_1);

@nknize we need to add 1.3.1 to Version.java as well:
public static final Version V_1_3_1 = new Version(1030199, org.apache.lucene.util.Version.LUCENE_8_10_1);

I just saw that! Pushed the constant. thx!

Not related to this PR, but a thought regarding the adding BWC versions in main branch, after adding version in branches of lower versions.
The same negligence occurred just 10 days ago, and fixed by PR https://github.com/opensearch-project/OpenSearch/pull/2430. Maybe some documentation needs to be added, and remind people who adding BWC versions in branches other than main.

#2430

I think it wouldn't hurt to have a test that runs part of a gradle precommit / check that all these versions are in sync.

I think it wouldn't hurt to have a test that runs part of a gradle precommit / check that all these versions are in sync.

Sounds like a great first issue or something for the Infra / Build team to pick up!

I think it wouldn't hurt to have a test that runs part of a gradle precommit / check that all these versions are in sync.

Sounds like a great first issue or something for the Infra / Build team to pick up!

https://github.com/opensearch-project/OpenSearch/issues/2533


psci won't start

[Enter steps to reproduce below:]

use psci open command

Atom Version: 1.4.2
System: Mac OS X 10.10.5
Thrown From: ide-purescript package, v0.8.1
Stack Trace
Uncaught Error: This socket is closed.
At events.js:141

Error: This socket is closed.
    at Socket._writeGeneric (net.js:640:19)
    at Socket._write (net.js:694:8)
    at doWrite (_stream_writable.js:292:12)
    at writeOrBuffer (_stream_writable.js:278:5)
    at Socket.Writable.write (_stream_writable.js:207:11)
    at Socket.write (net.js:618:40)
    at PsciProcess.kill (/Users/jon/.atom/packages/ide-purescript/lib/psci.coffee:13:17)
    at Psci.killProc (/Users/jon/.atom/packages/ide-purescript/lib/psci.coffee:56:11)
    at Psci.startPsci (/Users/jon/.atom/packages/ide-purescript/lib/psci.coffee:69:6)
    at Psci.startPsci (/Users/jon/.atom/packages/ide-purescript/lib/psci.coffee:1:1)
    at Psci.openPsciCommand (/Users/jon/.atom/packages/ide-purescript/lib/psci.coffee:66:6)
    at atom-workspace.<anonymous> (/Users/jon/.atom/packages/ide-purescript/lib/psci.coffee:1:1)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:260:29)
    at /Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:3:61
    at CommandPaletteView.module.exports.CommandPaletteView.confirmed (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/command-palette/lib/command-palette-view.js:183:32)
    at CommandPaletteView.module.exports.SelectListView.confirmSelection (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-space-pen-views/lib/select-list-view.js:338:21)
    at space-pen-div.atom.commands.add.core:confirm (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-space-pen-views/lib/select-list-view.js:109:19)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:260:29)
    at /Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:3:61
    at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:536:16)
    at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:359:22)
    at WindowEventHandler.module.exports.WindowEventHandler.handleDocumentKeydown (/Applications/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:97:36)
    at HTMLDocument.<anonymous> (/Applications/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:3:61)

Commands
     -0:16.5.0 command-palette:toggle (atom-text-editor.editor.is-focused)
     -0:12.7.0 core:confirm (atom-text-editor.editor.mini.is-focused)
     -0:12.7.0 psci:open (atom-text-editor.editor)
     -0:06.1.0 core:select-all (atom-text-editor.editor.is-focused)
     -0:05.6.0 core:backspace (atom-text-editor.editor.is-focused)
     -0:04.2.0 command-palette:toggle (atom-text-editor.editor.is-focused)
     -0:01.7.0 core:move-down (atom-text-editor.editor.mini.is-focused)
     -0:00.8.0 core:move-up (atom-text-editor.editor.mini.is-focused)
     -0:00.5.0 core:confirm (atom-text-editor.editor.mini.is-focused)
     -0:00.5.0 psci:open (atom-text-editor.editor)

Config
{
  "core": {}
}

Installed Packages
# User
ide-purescript, v0.8.1
language-elm, v1.3.0
language-purescript, v0.6.1

# Dev
No dev packages

Hmm, this is still working for me with the same atom and ide-purescript versions, also on OSX. What version of pulp and psci do you have, and is the psci via npm or direct?
Is this error from a 2nd/more attempt or the first time opened?

Wrong issue link.

ps was installed using brew. I uninstalled and reinstalled latest using npm. pulp also upgraded to latest.
Problem still exsists.

So hopefully this is no longer an issue, at least everything is different.

Closing this as the code has been entirely rewritten and certainly the crash above cannot possibly occur. Of course there may still be other issues.


Support for _routing field in SQL queries

Here is the relevant documentation for _routing field: https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-routing-field.html
This is extremely useful for optimizing query performance for large ElasticSearch cluster.
Requesting to please provide support for _routing field for SQL queries. We really appreciate your help!
Thanks!

Thanks for raising this!
Currently, only field defined in index mapping is used as identifier in sql query.  _routing is a metafield which is not defined in  index mapping, so _routing could not been used as identifier in sql query.
For example, following query will throw SemanticCheckException _routing is not defined.
SELECT age, balance
FROM accounts
WHERE _routing = 'user1'

I think one solution is to borrow pseudo columns concept to expose metadata field like _routing.
@newUserForTesting Can you elaborate on your use case to provide us some insights?


[19.03] gitea: 1.7.6 -> 1.8.0

Motivation for this change
Backport of #60014 and #60197.
Things done

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

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

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

@GrahamcOfBorg build gitea nixosTests.gitea

I threw #60669 in there as well...


Creating a baseline performance profile

Create a baseline for performance, after a quick analysis of the performance of the game on a pixel book, I saw the following performance characteristics on 40x40 grid with 100 bombs
I set a baseline of how long it takes to iterate across an entire array of 1600 elements and also 1600 * 8 because the current algorithm potentially iterates across each grid item 8 times.
test = (count) => {
  let c = new Array(count).fill({ test: true, test1: 4 },0, count);
  performance.mark('start')
  for(let i of c) {
    let d = i;
  }
  performance.mark('end');
  performance.measure('test', 'start','end');
}

It took roughly 6ms on a pixelbook - yes, it's not ideal, but it indicates a possible fastest performance in the worst possible case, and it took 31ms including a GC in the middle on the Alcatel.
Pixelbook

[Current Algorithm] General incremental reveal algorithm took between 50-80ms on a Pixelbook and incremental reveal took another 70ms - currently counting 135ms from Worker receiving message to full board reveal. The reveal feels jaring and inconsistent across devices.
[No Generator, incremental reveal] took incremental reveal out by removing generator code and saw the reveal algorithm take consistently 30ms with the Worker message passing taking, closer to 26ms baseline, and then it took another 70ms to complete the game board reveal
[No Generator, full reveal] I removed the incremental reveal just passed the game state at the end and it took 30ms for algorithm in worker, and 15ms for the full game state to reveal.

Alcatel Android Go

[Current Algorithm] General incremental reveal with iterators takes 400ms-700ms and then 500ms to complete the DOM updates and reveal. The reveal feels generally slow and the UI update doesn't feel like an animation. I would expect if we are animating then we would get a similar speed to pixelbook, but it just feels off. :\
[No Generator, incremental reveal] about 300ms to do the reveal logic and again a consistent 500ms to get all the DOM updates out.
I removed the incremental reveal just passed the game state at the end and it took 140ms for algorithm in worker, and 140ms for the full game state to reveal. It generally felt faster in all aspects.

General analysis

Remove the generators
My reading of the algorithm in the worst case is reading each cell roughly 8 times to check to see if it should reveal or not. It does feel like this is a variant of the flood fill algorithm and we should be able to massively optimise this across all devices - I wouldn't be surprised if you can get this to be sub 30ms across all devices in the worker.
The chatty interface for updating the DOM is causing a huge performance penalty that I believe will make it impossible to get consistent animations and performance across all devices. On Alcatel phones the way you send updates is 350ms penalty (3.5x penalty on what I could get), on Pixel book its a 50ms penalty (although it's really a 4x penalty on this device)
If you are persistent on incremental update of the UI, it only might make a difference on the low-end phones. For pixelbooks (and even some light testing on pixelphone), even for large boards full reveal is far far below all 100ms budgets for response and UI update is consistently sub-frame 16ms. My initial feel is that you can do the full analysis on all devices in the worker in under 100ms in nearly all cases, and then animate your UI however you want without the forced performance penalties that we are seeing with sending chunks of updates through.

I've removed the iterator from https://github.com/GoogleChromeLabs/graviton/compare/ui-work...optimise-game-logic. Going to do more optimisation work there

Time based chunking breaking at 60ms intervals

Closing as this I believe is being handled in Jake's branch.


Add historical data into the disease spread graph

The simulations give a slightly misleading picture in countries which have already taken very drastic measures, like South Korea:

Since historical case load data is available, it would be good to add that into the graphs. We could then initialize the SIR models from these variables, which I don't think we do right now:
https://github.com/archydeberker/corona-calculator/blob/ea07bd8638a8f992e74a25f801eb27c49c545175/models.py#L21
There are other and perhaps better ways to incorporate this too...

Do you mean just adding an initial value for R? Or something else

It would be good to superimpose the actual data onto the SIR models

We only forecast into the future right now (every refresh we pull the latest data in and any past predictions are lost). Adding real historical data would be a pretty big change

Closed by https://github.com/archydeberker/corona-calculator/pull/55


Fixes: 'webview_flutter/WebviewFlutterPlugin.h' file not found

When integrating the webview_flutter plugin and running the app on iOS the build fails. This is true also for the webview_flutter example app:
Failed to build iOS app
Error output from Xcode build:
↳
    ** BUILD FAILED **

Xcode's output:
↳
    [...]webview_flutter/example/ios/Runner/GeneratedPluginRegistrant.m:6:9: fatal error:
    'webview_flutter/WebviewFlutterPlugin.h' file not found
    #import <webview_flutter/WebviewFlutterPlugin.h>
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1 error generated.

The problem is in the wrong spelling of the plugin class:
WebviewFlutterPlugin -> WebViewFlutterPlugin
This commit fixes the problem. After applying these changes the plugin example runs on iOS as well.
I executed flutter run in the plugin's example for iOS and Android. Both apps run.

Cirrus fails when trying to build for Android, though I don't see anything useful in the logs...
It looks like it dumps the last 20 lines from the gradle log, but the commit message takes most of them...
Would you mind amending the commit message to be shorter, hopefully that will give us a better idea of what's failing...

Did you get some more info from the log?


Fix invalid branch in smart-edge-open/opendek

https://jira.devtools.intel.com/browse/ESS-16838

I opened this change on innersource so we can get it merged there first.  I added you as a reviewer, would you mind closing this PR and just approving the changes there?


WebSocket: keep-alive mechanism as a Sub

closes #67
Not sure if this is what you had in mind, but I went for it anyway 😄 In addition, I added a graceful shutdown example.
👍🏽 re-using the Sub.every mechanism.
🤔 the heartbeat message needs to be sent by the user.
I think it would be great if we could re-use Sub.every but the heartbeat message was sent internally, as this is client-server communication that has nothing to do with user messages.
I'd love to hear what you think! 😃

I think it looks great! ...and it's pretty much what I had in mind. 😄
My feeling is that we could safely merge it. It's possible that once people try using it they may have feedback about whether or not they like the pattern... but that's ok! I'm sort of finding that sooner or later, everything is a Sub or a Cmd, and as a user you tend to see everything... and I kinda don't mind. 🤷
Are you happy with it? The way it works / how it feels? If so I'll hit the merge button. 👍
Thanks!

Great! I'm willing to give it a try. I felt it a bit awkward at first, but after a while I think I could get used to it. The heartbeat / keep-alive mechanism is not a standard in WebSockets, so it's okay it needs to live in user land.
This implementation also simplifies the KeepAliveSettings as we no longer need the enabled: Boolean and message: String. Instead, we can handle these two cases directly in the updates.
// to disable
case WebSocketEvent.Heartbeat =>
  model -> Cmd.Empty

// to enable
case WebSocketEvent.Heartbeat =>
  model -> model.ws.map(_.publish("<heartbeat>").getOrElse(Cmd.Empty)

Go ahead with the merge! 💪🏽


Inconsistent usage of arn attribute

Problem
The Performance Insights source asks the user to enter an ARN, but this ARN isn't used in the source code. Its only purpose is to carry a region which is used to initialize an API client.
Even more confusing: it's possible to pass an ARN for any AWS service (really any) and the source would still work, casually ignoring the value entered by the user.
Not only this is a bug, but it also provides a poor user experience, because people are left wondering whether they need to use a PI ARN, a RDS ARN... and the answer is none of them. 🤔
Proposed solution
I see 2 possible ways to fix this:
1. Using an actual Performance Insights ARN
The following page suggests that Performance Insights actually uses ARNs to identify real resources (metrics):

arn:${Partition}:pi:${Region}:${Account}:metrics/${ServiceType}/${Identifier}
-- https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsperformanceinsights.html

Pros:

Consistent with the rest of our AWS sources
Contains both the serviceType and identifier, which are currently separate attributes

Cons:

Not particularly user friendly because such ARN can't be obtained via the web console, unlike other AWS products.

2. Replacing the ARN with a "region" attribute
As mentioned in the problem description, even if we don't currently do anything with the provided ARN, we still need users to provide a region.
Tackling this issue could be as easy as renaming "arn" to "region" without any further code change.
Pros:

Minimal change in the code
No unfamiliar ARN format to look up in a doc in order to use the source

Cons:

We use ARNs for almost everything else (which doesn't mean we must be religious about it)

I've recreated this issue, this time putting extra care into the description of the issue and the reason why the current API is problematic.
I would be grateful if anyone willing to comment could carefully read the description in its entirety 🙏

I think the issue was addressed by Jeff. thanks for raising it


Dev instruction problems

Running the requested lines to setup a dev environment (https://github.com/jupyter-xeus/xeus-sql/blob/master/CONTRIBUTING.md) on a mac osx install (with micromamba instead of conda/mamba) results in this:
~/external/xeus-sql/build on master (conda:xeus-sql)
[22:14:01] λ  cmake -D CMAKE_INSTALL_PREFIX=$CONDA_PREFIX ..
-- Building xeus-sql v0.0.3
-- Found nlohmann_json: /Users/jan.katins/.local/micromamba/envs/xeus-sql/lib/cmake/nlohmann_json/nlohmann_jsonConfig.cmake (found suitable version "3.9.1", minimum required is "3.2.0")
-- Found nlohmann_json: /Users/jan.katins/.local/micromamba/envs/xeus-sql/lib/cmake/nlohmann_json/nlohmann_jsonConfig.cmake (found suitable version "3.9.1", minimum required is "3.7.3")
-- Soci found: Looking for plugins
--     * Plugin mysql not found.
--     * Plugin odbc not found.
--     * Plugin postgresql not found.
--     * Plugin sqlite3 found /Users/jan.katins/.local/micromamba/envs/xeus-sql/lib/libsoci_sqlite3.dylib.
CMake Error at CMakeLists.txt:141 (message):
  Unsupported compiler -- xeus-sql requires C++14 support!
Call Stack (most recent call first):
  CMakeLists.txt:198 (xsql_set_common_options)
  CMakeLists.txt:239 (xsql_create_target)

-- Configuring incomplete, errors occurred!
See also "/Users/jan.katins/external/xeus-sql/build/CMakeFiles/CMakeOutput.log".
See also "/Users/jan.katins/external/xeus-sql/build/CMakeFiles/CMakeError.log".

I tried to work around that check (assuming my clang supports c++14) by
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 09bc890..0738e8a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -134,12 +134,7 @@ macro(xsql_set_common_options target_name)
         endif ()

         # C++14 flag
-        CHECK_CXX_COMPILER_FLAG("-std=c++14" HAS_CPP14_FLAG)
-        if (HAS_CPP14_FLAG)
-            target_compile_features(${target_name} PRIVATE cxx_std_14)
-        else ()
-            message(FATAL_ERROR "Unsupported compiler -- xeus-sql requires C++14 support!")
-        endif ()
+        target_compile_features(${target_name} PRIVATE cxx_std_14)

         # Enable link time optimization and set the default symbol
         # visibility to hidden (very important to obtain small binaries)

But this failed then in make:
...
Scanning dependencies of target xeus-sql
[ 50%] Building CXX object CMakeFiles/xeus-sql.dir/src/xeus_sql_interpreter.cpp.o
In file included from /Users/jan.katins/external/xeus-sql/src/xeus_sql_interpreter.cpp:24:
/Users/jan.katins/external/xeus-sql/include/xeus-sql/soci_handler.hpp:31:27: warning: comparison of integers of different signs: 'int' and 'std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::size_type' (aka 'unsigned long') [-Wsign-compare]
        for (int i = 2; i < tokenized_input.size(); i++)
                        ~ ^ ~~~~~~~~~~~~~~~~~~~~~~
/Users/jan.katins/external/xeus-sql/src/xeus_sql_interpreter.cpp:70:24: warning: enumeration values 'dt_blob' and 'dt_xml' not handled in switch [-Wswitch]
                switch(props.get_data_type())
                       ^
2 warnings generated.
[ 66%] Linking CXX shared library libxeus-sql.dylib
ld: warning: -pie being ignored. It is only used when linking a main executable
[ 66%] Built target xeus-sql
Scanning dependencies of target xsql
[ 83%] Building CXX object CMakeFiles/xsql.dir/src/main.cpp.o
[100%] Linking CXX executable xsql
ld: unknown option: --disable-new-dtags
clang-11: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [xsql] Error 1
make[1]: *** [CMakeFiles/xsql.dir/all] Error 2
make: *** [all] Error 2

Ok, got it running: by also removing the --disable-new-dtags flag:
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 09bc890..e703ac9 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -116,7 +116,7 @@ set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib:${CMAKE_INSTALL_PREFIX}/${C
 # E.g. without this option libpq fails to be loaded by libsoci_postgresql, which is loaded
 # by libsoci_core, which is loaded by us.
 # source: https://github.com/chenxiaolong/DualBootPatcher/pull/548
-set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--disable-new-dtags")
+set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl")

I copied the kernel spec to my virtualenv which hosts my jupyter lab, restarted, created a kernel and with %LOAD postgresql dbname=bi_dwh I got it running, nice :-)
(Now running into the problem that the soci sessions seems to error because it does not understand postgresql ENUM data types, but thats a different problem :-))

Regarding the C++14 error, are you running this on an OSX?
And thanks for the fix, will try it right away in our CI :) haven't thought about it

But this failed then in make:

I don't think this was the problem because it only showed a few warnings... I'll fix it now.
If you can reproduce the problem again I'd be interested in the complete log, please.
Hum!

(Now running into the problem that the soci sessions seems to error because it does not understand postgresql ENUM data types, but thats a different problem :-))

Could you paste the error here? Or in a new issue?
I encountered a problem with NULL types while doing some tests before, but I didn't fix it yet. It doesn't seem to be a problem with my side, but with SOCI. I'll probably open an issue there.
Thanks for testing so early! :)
Out of curiosity, how did you find out about the project?

I just saw the error with the types now.
It's only happening in clang, apparently. Thanks for the catch! Will also have a look on them now =)

Actually it's just a warning, not super straightforward to fix it, will open an issue for it, thanks again for opening the issue
The OSX issue was fixed by #10
Soon we should have a conda-forge package =)

Error re ENUM:
Error: unknown data type with typelem: 26976010 for colNum: 36 with name: yyyy_column while executing "select * from os_dim.xxxx limit 10".

The table contains a column which is an ENUM, similar to this (untested):
CREATE TYPE public.enum_name AS ENUM ('aaaa','bbbb');
CREATE TABLE public.test AS (
SELECT
'aaaa' :: public.enum_name as enum_col,
1 as int_col,
'blabla' as text_col
);

It also seems that there is still something wrong, I don't get any output, only the column names:

Out of curiosity, how did you find out about the project?

I searched for SQL notebook, saw the sqlite kernel, followed it to github and snooped around... More or less on a hunch of "if there is a sqlite kernel, why not a generic sql kernel"... :-)
(my dream: a kernel for each database I have access to as defined in my jetbrains editor, so I don't have to remember to delete the connection string/PW in the notebook before converting to html/pdf)

Seems soci is also not able to take arrays: https://github.com/SOCI/soci/issues/776 :-(

It also seems that there is still something wrong, I don't get any output, only the column names:

Isn't it right? It should show one value, bla because you asked for 1?

(my dream: a kernel for each database I have access to as defined in my jetbrains editor, so I don't have to remember to delete the connection string/PW in the notebook before converting to html/pdf)

Hmmm idk how your environment works, but if you make different environments, you can have different SOCI implementations. You know? Like one with postgres, another with SQLite...

I searched for SQL notebook, saw the sqlite kernel, followed it to github and snooped around... More or less on a hunch of "if there is a sqlite kernel, why not a generic sql kernel"... :-)

hehe awesome! :)

Select 1 as bla should give a table:
+---+
|bla|
+---+
|1  |
+---+

Hmmm idk how your environment works, but if you make different environments, you can have different SOCI implementations. You know? Like one with postgres, another with SQLite...

I have like 5 different postgresql DBs I want to connect to :-) So it's more about to pass in the connection string in the kernel config instead of writing it in the first line. E.g. I'm still using https://github.com/Cadair/jupyter_environment_kernels for my virtualenvs and I can imagine adding something similar to add multiple DB connection kernels... Or some script to generate kernel configs in the virtualenv which hosts my jupyter lab :-)


TransferPolicy.sol is locked to solidity 0.8.9.

I'm trying to import the contracts to another project which is locked to pragma solidity 0.8.4;.
All the libraries seem to be okay except one file:
https://github.com/limitbreakinc/creator-token-contracts/blob/fc541eec2f062cf26eab942e015db54b84dec834/contracts/utils/TransferPolicy.sol#L2
Which is the only file of the entire project locked to a specific solidity version, whereas the rest of the protocol is allowing solidity 0.8.4 or above.
It breaks the compilation on my part, unless I update the TransferPolicy file manually with pragma solidity ^0.8.4;.
It should probably be updated in the official repo.

Apologies!  We will get that fixed ASAP.

Fixed!  Update to version 1.1.2.


Simplify ThresholdedCodeSmell

These values aren't necessary.

No, The property that this type introduces is val metric: Metric. And that's what we use on the tests. The properties that I remove are just sintax sugar that only expands the api. If someone needs them can create extension properties.

Ok. I still think the name is a little confusing.

We can rename it in other PR. Also if we end up merging this set of PRs this class will be an implementation detail inside detekt-rules-complexity instead of part of our public API so it will be a big win.


default scope name don't work on Keycloak V11

Could you change it on src/Provider/Keycloak.php ?
example that works :
protected function getDefaultScopes()
{
return ['profile', 'email'];
}

Tomorrow I will look at

Released as version 2.2.1


Resolved conflicts for PR flutter#4587

Hi @misos1 .
I really appreciate your contribution to Flutter packages.
And I strongly hope that your PR will be merged soon.
Since the PR said "This branch has conflicts that must be resolved",
I have created a PR for you that resolves this.
I run a git merge and ,
I just modified a few lines in packages/camera/camera_avfoundation/CHANGELOG.md.
Of course, there is no problem to close this PR and modify it yourself.
I look forward to hearing from you.

Thanks for your great contribution.


WIP feat: replace crisp api integration with crisp form

Simplification technique et Correction d'un bug.
Zones impactées : FeedbackModal.
Détails :

Suppression de l'intégration api crisp
Utilisation du form crisp

TODO :

[ ] autofill form with name and email
[ ] look if possible to not use a public env variable
[ ] add custom CSS to the form
[ ]  tag to distinguish agent and public

Coulod not make it work in local. But sounds great. Do you plan on completing this todo before merging ?

Coulod not make it work in local. But sounds great. Do you plan on completing this todo before merging ?

Yes, I plan to finish the to do today.
I wonder if we can deploy to staging to test the crisp form ?
(we have to allow domains and localhost:3000 is not accepted)

We must move from a continuous deployment to an auto deploy to staging followed with a manual deployment to production ?


Create your settings and extensions with extension Settings Sync

Hi,
This is not a bug but its a suggestion. You can share your customized code settings including extensions with users and users can download those settings, anytime you change the settings. Users code environment will be updated in terms of extensions and settings.
Try with Code "Settings Sync" extension
Share the settings with giving customized Gist of  extensions for designers , developers etc.
http://shanalikhan.github.io/2016/09/02/how-to-Share-visual-studio-code-settings.html

Hi, thanks. I'll take a look. However, I think, that this idea is a bit outside of this curated list's scope.


Use prettier

I would like to implement the use of prettier, so when I'm working with the code, I don't need to run commands like yarn standard --fix and just use Format on save in VSCode
I'm interested to create a PR for that

Hi @Shinigami92  thanks a lot for all your feedbacks on poolifier.
So, prettier is only code formatting where standard is also about best( or I should say standard ) practices into the code.
I would like to keep standard on the repo, I Will keep this issue open so we can discuss further :)
Thanks again

Current problem was, I forked the repo and pressed Ctrl+S and this auto-formatted the code in my VSCode and completely destroys the current wanted format
If prettier is configured, this wont happen
Prettier can be configured to produce standard formatted code
Also standard can still be used further alongside prettier

Got It , seems that something like https://www.npmjs.com/package/prettier-config-standard can help us?
So we can keep standard and use prettier without impact

Mh today I tried a run with prettier
But especially the space-before-function-paren is not really possible with prettier
Maybe I could try prettierx, but maybe it would be better to just setup your repo with a .vscode/settings.json + extension recommendation for vscode standardjs
Then we need to configure ts-standard for TS later on
I personally really like prettier, but if you want standard in your repo, prettier seems not a good choice for this repo 😕
Yes, prettier needs some more config setup as standard, but I prefer it cause IMO it's more human readable and stronger :man_shrugging:
Also prettier is much more used out there: https://www.npmtrends.com/prettier-vs-standard

Hi @Shinigami92, standard and prettier are two different things with two different targets.
Prettier is a code formatter, standard is a style guide.
This project https://github.com/sheerun/prettier-standard , seems to be what we need and I see that different node projects use both prettier and standard, we just need to figure out how.
I will take a look as fast as I can :)

😜
This tool just wraps the things I would configure manually ^^
At least for me: the TypeScript support is much more important to work with the code, then the formatting and style-guide

I am going to try something on this next week

Dear @Shinigami92,
hope you are doing well and you year started well. I take a lot of time for this small thing and I apologies for that :)
On this new branch https://github.com/pioardi/poolifier/tree/feature/prettier , you should be able to use prettier and standard together :) Could you take a test and let me know?

Dear @Shinigami92,
hope you are doing well and you year started well. I take a lot of time for this small thing and I apologies for that :)
On this new branch https://github.com/pioardi/poolifier/tree/feature/prettier , you should be able to use prettier and standard together :) Could you take a test and let me know?

Hi @pioardi, thanks, hope you doing well also.
I will try it tomorrow :slightly_smiling_face:

Hi @pioardi, thanks, hope you doing well also.
I will try it tomorrow :slightly_smiling_face:

So I checked out the branch and made safe that I reloaded VSCode and have installed everything with yarn correctly
Then I went into a file like dynamic.js and pressed Ctrl+S
The auto-formatted result differs in using:

double quotes instead of single
adding semicolons
removing the space between method-name and brace

Example:

But I already find the code more readable than before :sweat_smile: (I mean branch feature/prettier vs master)

I added a file .prettierrc.json in the root and configured it with:
{
  "arrowParens": "avoid",
  "semi": false,
  "singleQuote": true,
  "spaceBeforeFunctionParen": true, // <-- doesn't work :(
  "trailingComma": "none"
}

After that only the spaces between method-name and opening braces are removed and the rest was okay.
~So maybe you only need prettierx now to get benefit of space-before-function-paren?~
:thinking: prettier-standard already uses prettierx
So maybe prettierx doesn't get correctly called because the VS Code extension doesn't support it?
Also this extension is by far the most downloaded prettier extension for VS Code :eyes:
Maybe it would be okay for you not to insist on spaceBeforeFunctionParen? Would this be an option for you?
Or we could open an issue in the repo of this extension... -> Look what I have found :laughing: https://github.com/prettier/prettier-vscode/issues?q=prettierx

So I checked out the branch and made safe that I reloaded VSCode and have installed everything with yarn correctly
Then I went into a file like dynamic.js and pressed Ctrl+S
The auto-formatted result differs in using:

double quotes instead of single
adding semicolons
removing the space between method-name and brace

Example:

But I already find the code more readable than before :sweat_smile: (I mean branch feature/prettier vs master)

I added a file .prettierrc.json in the root and configured it with:
{
  "arrowParens": "avoid",
  "semi": false,
  "singleQuote": true,
  "spaceBeforeFunctionParen": true, // <-- doesn't work :(
  "trailingComma": "none"
}

After that only the spaces between method-name and opening braces are removed and the rest was okay.
~So maybe you only need prettierx now to get benefit of space-before-function-paren?~
:thinking: prettier-standard already uses prettierx
So maybe prettierx doesn't get correctly called because the VS Code extension doesn't support it?
Also this extension is by far the most downloaded prettier extension for VS Code :eyes:
Maybe it would be okay for you not to insist on spaceBeforeFunctionParen? Would this be an option for you?
Or we could open an issue in the repo of this extension... -> Look what I have found :laughing: https://github.com/prettier/prettier-vscode/issues?q=prettierx

Oh wow, nice job @Shinigami92  , so we now just need  to figure out how to   "spaceBeforeFunctionParen": true.
I will check if standard task will fail in case there is no space, if it does not fail we can also go ahead in this way

Oh wow, nice job @Shinigami92  , so we now just need  to figure out how to   "spaceBeforeFunctionParen": true.
I will check if standard task will fail in case there is no space, if it does not fail we can also go ahead in this way

@Shinigami92  I was thinking that we can just write to run "npm run lint" that will format(with prettier) and lint the code(with standard) in our contribution guidelines and we should be ok, what you think about this ?
Please let me know I feel this could be a great way that will enable contributors to use both prettier and standard and we have done.

@Shinigami92  I was thinking that we can just write to run "npm run lint" that will format(with prettier) and lint the code(with standard) in our contribution guidelines and we should be ok, what you think about this ?
Please let me know I feel this could be a great way that will enable contributors to use both prettier and standard and we have done.

This should be fine for the first step.
But maybe in the future we can improve this with something like commit hooks.
But I'm not familiar with installing hookes, and if it's set up incorrectly it can break PRs and fear contributors :slightly_frowning_face:

This should be fine for the first step.
But maybe in the future we can improve this with something like commit hooks.
But I'm not familiar with installing hookes, and if it's set up incorrectly it can break PRs and fear contributors :slightly_frowning_face:

Yes so currently any commit on any branch will run a GitHub action with this command "npm run tests".
For some reason this is not fully working when the branch is a fork ( but is another story, I will look into that soon ).
So let's close the issue and merge the branch :)

Yes so currently any commit on any branch will run a GitHub action with this command "npm run tests".
For some reason this is not fully working when the branch is a fork ( but is another story, I will look into that soon ).
So let's close the issue and merge the branch :)


MongoDd: fixed expiration support and removed duplicated tests

with an edge case in MongoDb::internalGetItem()

Any possibility of add a test?

I have seen a test failure in the develop branch. I'll  check if the test fails also in master else I add it.

@Maks3w I found out that the test MongoDbTest::testCachedItemsExpire only failed sometimes (see https://travis-ci.org/marc-mabe/zend-cache/jobs/87353080) and noticed that the expiration feature wasn't correctly defined in capabilities. It was minTtl=0 which means this adapter doesn't support expiration of items. So I fixed the capabilities and also removed all capabilities that are not needed to define because of default.
I also noticed that MongoDB natively supports expiration of items by an index but this index wasn't defined -> so I added this index.

MongoDB 3.0 https://docs.mongodb.org/manual/tutorial/expire-data/#expire-documents-at-a-specific-clock-time
MongoDb 2.2 https://docs.mongodb.org/v2.2/tutorial/expire-data/
https://github.com/marc-mabe/zend-cache/blob/hotfix/MongoDb_fixed_undef_var_key/src/Storage/Adapter/MongoDbResourceManager.php#L106

-> Because this index will only be defined if the collection wasn't pushed into the resource manager I leave the logic in the adapter intact so it will also work with the index.
At this point I also removed the duplicated tests:

MongoDbTest::testCachedItemsExpire() already done by CommonAdapterTest::testGetItemReturnsNullOnExpiredItem()
MongoDbTest::testFlush() already done by CommonAdapterTest::testFlush()

I've doubts about what expire strategy is tested then. I think we need two test cases for test when MongDb is who expire or when the defined logic

mh I don't know why but if I remove the adapter logic to handle expired items all TTL tests fails even with this index set : https://travis-ci.org/marc-mabe/zend-cache/jobs/88634000
So the logic for handling of expired items needs to be in the adapter even with this index and the logic gets covered with the current tests.

Ok. Seems the expires index is a new feature and its not related with the original issue.
If it is correct could you split the PR and propose the index feature as enhancement?

@Maks3w I removed the line enabling the special index

mh caverage for the Storage/Adapter/MongoDb.php increased from 82.0 to 82.29 but APC related caverage get reported as 0 -> I have no idea why as I didn't change something related to it.

merged with 5cda3242d1902528123423fec0643580476aba7f and d2cf8dd81a9a7022de037c568e9e20b1b766ebb6


安装成功后，点击左侧任意菜单都是直接跳转到admin路由

环境
laravel  5.8.17
laravel-admin  1.7
PHP           7.2.1
laravel-adminlte3  1.2
laravel-adminlte3 安装成功后，点击左侧任意菜单都是直接跳转到/admin路由(首页),麻烦作者看下是什么原因，谢谢
@wenxuanjun

Thanks for your issue.
I'm not sure if the problem is caused by the update of the laravel-admin.You can try finding the way to solve it by yourself or use laravel-admin v1.6.12.😅
Sorry to tell you that it won't be fixed until the week after next because of the final exam!😂

get it !

Works well now.


Update flannel to v0.12.0-k3s1

How much larger does pulling in the AWS SDK make the binary?

Where is it pulling in the aws sdk?
I see a that go modules had examined an older version of the library, probably do to flannel being changed to use go modules instead of glide, but it looks like the vendored aws sdk or the use of it has not actually changed.
This update should not have an appreciable difference on the file size, we should probably report the file size as part of the build process tho.

Right you are - I was on mobile and it looked like it was actually pulling in the sdk, but I see now that's not the case. My apologies.

@erikwilson I just rebased this. Trying to get some of these aging version-bump PRs cleared through.


Add CertificateRefresher

What this PR does / why we need it:
Adds the RefreshingCertificateManager to handle certificate rotation
in the Azure Keyvault.
To achieve atomicity uses atomic.Value to keep safe from race conditions.
There is single write, multiple reads, this scenario works well with atomic.Value
more info https://golang.org/pkg/sync/atomic/#Value on the topic.
TODO:

[x] get early feedback
[ ] check locally it works as expected
[ ] add documentation
[ ] add additional doc explaining where fpAuthorizer is used and how

Signed-off-by: Petr Kotas<EMAIL_ADDRESS>Which issue this PR addresses:
Fixes https://msazure.visualstudio.com/AzureRedHatOpenShift/_workitems/edit/9881925/
Test plan for issue:
Added unit test covering refreshing functionality. Also testing locally.
Is there any documentation that needs to be updated for this PR?
TODO

Apart of naming I think it can merge

It's looking good. Mikalai has some good suggestions.


Pull latest repo in exp

Resolves #42

Thanks, LGTM!
I will update GKE with it and test running it there this afternoon.
We can merge after that : )


Color legend for map coloring

This PR adds the color legend support to Minerva.

@manthey Thank for reviewing and catching that one bug 👍


LeanInfer could not build when tested on Github Codespace

The issues were posted on Zulip, please check there for more context.
TL;DR

Github Codespace can only compile after -stdlib=libc++ is removed
lake build hangs indefinitely in linking, and it's not using much CPU

Issue Details
I've tried out lean4-example in Github Codespace, I got the following issues:

lake build fails to compile C++ with Clang++, resolved by removing all -stdlib=libc++from the lakefile of LeanInfer

lean4-example (improve-installation) $ lake build
[23/197] Compiling ffi.cpp
error: > clang++ -c -o ./lake-packages/LeanInfer/build/ffi.o ./lake-packages/LeanInfer/ffi.cpp -fPIC -std=c++11 -stdlib=libc++ -O3 -I /home/codespace/.elan/toolchains/leanprover--lean4---v4.0.0/include
error: stderr:
In file included from ./lake-packages/LeanInfer/ffi.cpp:1:
/home/codespace/.elan/toolchains/leanprover--lean4---v4.0.0/include/lean/lean.h:14:10: fatal error: 'atomic' file not found
#include <atomic>
         ^~~~~~~~
1 error generated.
error: external command `clang++` exited with code 1

I ran bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" from https://apt.llvm.org/ to fix it, no change.
Then I test the clang++ command with extra options -E -x c++ -v at the end, it showed the following search path:
ignoring nonexistent directory "/include"
#include "..." search starts here:
#include <...> search starts here:
 /home/codespace/.elan/toolchains/leanprover--lean4---v4.0.0/include
 /usr/local/include
 /usr/lib/llvm-10/lib/clang/10.0.0/include
 /usr/include/x86_64-linux-gnu
 /usr/include
End of search list.

which is shorter than a raw clang++  -E -x c++ - -v < /dev/null 2>&1 which shows
ignoring nonexistent directory "/include"
ignoring duplicate directory "/usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/x86_64-linux-gnu/c++/9"
#include "..." search starts here:
#include <...> search starts here:
 /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9
 /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/x86_64-linux-gnu/c++/9
 /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/backward
 /usr/local/include
 /usr/lib/llvm-10/lib/clang/10.0.0/include
 /usr/include/x86_64-linux-gnu
 /usr/include
End of search list.

Clearly Clang++ stop looking for the GNU C++ headers if  -stdlib=libc++ is present. If Github Codespace misses it I guess it would be missed in the environments of many end-users.

After resolved issue 1, I end up having the same issue fatal error: 'onnxruntime_cxx_api.h' file not found, resolved by

( cd /workspace/ && wget https://github.com/microsoft/onnxruntime/releases/download/v1.15.1/onnxruntime-linux-x64-1.15.1.tgz && tar xzvf  onnxruntime-linux-x64-1.15.1.tgz)

Then add "-I", "/workspaces/onnxruntime-linux-x64-1.15.1/include" to flags in LeanInfer lakefile or just add CPATH environment variable as instructed.

Run lake build after step 2, I have the same linker error libc++abi: terminating due to uncaught exception of type lean::exception: error loading library, libonnxruntime.so.1.15.1: cannot open shared object file: No such file or directory, I tried to fix it by adding "-L", "/workspace/onnxruntime-linux-x64-1.15.1/lib/" to moreLinkArgs then

LD_LIBRARY_PATH=/workspaces/onnxruntime-linux-x64-1.15.1/lib/ lake build

But the build hangs indefinitely, and it's not using much CPU (<3%). So far, I'm stuck here.

Thanks for the solution for issue 1. The cause is actually not "When running lake build, it automatically uses GNU's version and causes the problem.", the cause is that it's trying to use libc++ and found none. My ad hoc solution is just to tell clang++ to use GNU's version and so it compiles. Which could be a potential issue for other users so I consider it an issue to be handled so that end users could have a smooth experience despite environment differences.
As for issue 2, I'm having this for both on Code Space (Ubuntu) and a CentOS server. Can you shed any light on this one? Thanks. It hangs on linking LeanInfer FrontEnd after successfully compiled all other components.

We encountered issue 2 during development. It's likely related to GNU's standard libraries. That was why we only worked with Clang and added the flag -stdlib=libc++ to prevent it from using GNu's standard libraries. So you probably shouldn't tell clang++ to use GNU's version.
It's not clear to me why GCC cannot compile LeanInfer while Clang can. The compilation process is too tricky for the end-users to get right, and I think the ultimate solution should be cloud build.

Thanks, so they could be caused by the same reason!
Unfortunately, it still hangs with Clang++ and libc++:
/workspaces/lean4-example (improve-installation) $ CPATH=/workspaces/onnxruntime-linux-x64-1.15.1/include/ LD_LIBRARY_PATH=/workspaces/onnxruntime-linux-x64-1.15.1/lib/:/workspaces/clang+llvm-16.0.0-x86_64-linux-gnu-ubuntu-18.04/lib/x86_64-unknown-linux-gnu/ lake build
[60/197] Linking libleanffi.so
[184/197] Building LeanInfer.Frontend

I just added a script for building LeanInfer in GitHub Codespace. The following steps works for me:

Launch a codespace on the main branch of LeanInfer.
Run source scripts/build.sh.

Alternatively, you can try build_example.sh, which builds lean4-example instead of LeanInfer.

The scripts work great, the build is successful without hassle.
Then I try to use the built LeanInfer in lean4-example, even after I set
LD_LIBRARY_PATH and LIBRARY_PATH to /workspaces/onnxruntime-linux-x64-1.15.1/lib in Lean 4 Server Env then restart Lean server, Lean InfoView still shows:
error loading library, libonnxruntime.so.1.15.1: cannot open shared object file: No such file or directory

The only way I succeeded to get around this is to manually run
cp /workspaces/onnxruntime-linux-x64-1.15.1/lib/*.so* ~/.elan/toolchains/leanprover--lean4---v4.0.0/lib/

And wait a while, then I can successfully use suggest_tactics. 🎉

Some more debugging:
Given

For the following Lean code (Lean InfoView output shown in comments):
open System

#eval IO.getEnv "LIBRARY_PATH" -- none
#eval IO.getEnv "LD_LIBRARY_PATH"  -- some "./build/lib:./lake-packages/LeanInfer/build/lib:./lake-packages/aesop/build/lib:./lake-packages/std/build/lib:/home/codespace/.elan/toolchains/leanprover--lean4---v4.0.0/lib/lean:/home/codespace/.elan/toolchains/leanprover--lean4---v4.0.0/lib"
#eval IO.getEnv "LEAN_PATH" -- some "./build/lib:./lake-packages/LeanInfer/build/lib:./lake-packages/aesop/build/lib:./lake-packages/std/build/lib:/home/codespace/.elan/toolchains/leanprover--lean4---v4.0.0/lib/lean"

It seems that the Server Env are not effective.

@utensil Would you like to try the simplified installation process?
https://github.com/yangky11/lean4-example/tree/LeanInfer-demo

@yangky11
Thanks for your quick response and hard work!
I had previously tried out the previous version, but I ran into the issue of the missing libonnxruntime.so.1.15.1 library. However, the new and simplified version fixed the bug and can now correctly display the list of suggested tactics in my VS code.

@samminweng Thanks! May I know what platform you're using (Linux, Intel macOS, M1/M2 macOS)?

The platform is Ubuntu 20.04 (which was installed on Windows for Linux), and CPU is Intel i5 CPU. Thanks.

That's great to hear! So it may even work for WSL. We didn't test it though..

@utensil Would you like to try the simplified installation process? https://github.com/yangky11/lean4-example/tree/LeanInfer-demo

I've just tested on Codespace and it works smoothly. All I ever need is only the line:
git lfs install && git clone https://huggingface.co/kaiyuy/onnx-leandojo-lean4-tacgen-byt5-small

for downloading the model, the rest is handled by VSCode Lean 4 extension.
There are some observations:

lake update doesn't seem to required. It works without it and on Zulip this is usually disencouraged due to it might update some other dependencies (like Mathlib4) accidentally then make a mess.

There's still a building process and it takes a while. Mostly it builds Std, and it also builds and links LeanInfer, as shown below:

Finally, celebration!

Thanks!  The building process is expected, and I'll remove lake update.


Top_agent.Chat method does not exist

https://github.com/hasakiXie123/Human-Simulacra/blob/ad6f8b3cac3693205f4d2ba431eded76b2bd2fc6/LLMP/bandwagon_effect.py#L77
Should critical_subject.Chat be critical_subject.bandwagon_chat?

Hello! Thank you for your attention to our work. We apologize for the errors that occurred while integrating the code. We have uploaded the latest version of the code (the results are shown in the image). The changes made include: 1. Fixing bugs in the relevant code. 2. Adding color to the model's output text for easier identification. If you encounter any other issues while running the code, please continue to contact us directly via GitHub or email (qiujie_xie@126.com). We are more than happy to assist you!


Add hash links to headings in heading_id plugin

Type of Change

Markdown-It Plugins: heading_id - add hash link option

What issue does this relate to?
n/a
What should this PR do?
Add an option to add hash links next to headings 1-3
What are the acceptance criteria?
Turning on option in plugin will generate an anchor next to the heading and clicking it will scroll the page to that section

And one question rather than a change request, how do you feel about enabling this by default? Generally speaking, everything we ship in this plugin is enabled by default, and I think we could do the same for this?

And one question rather than a change request, how do you feel about enabling this by default? Generally speaking, everything we ship in this plugin is enabled by default, and I think we could do the same for this?

I think as a minor release it should be turned off but if we do a major release we can turn it on by default. While I can't see this breaking anything it does change functionality and we shouldn't force that onto a user unless they opted in.

With the additional options being added do you think the options structure should look like this?
hashLink: {
  class: 'custom-hash-anchor',
  enabled: true,
  maxLevel: 6,
},

Hm, maybe { class: string, maxLevel: number }|false? I think just setting it to false would be a better way to disable it, rather than a nested flag within the object with other settings?

I think as a minor release it should be turned off but if we do a major release we can turn it on by default. While I can't see this breaking anything it does change functionality and we shouldn't force that onto a user unless they opted in.

I would generally agree with that, in that turning on new features in most contexts would be considered breaking and a major release, but historically this plugin has operated under the assumption that new plugins/features will be shipped as minor and enabled by default. Unless we feel that adding a new plugin is different than adding a new feature to an existing plugin?

I would generally agree with that, in that turning on new features in most contexts would be considered breaking and a major release, but historically this plugin has operated under the assumption that new plugins/features will be shipped as minor and enabled by default. Unless we feel that adding a new plugin is different than adding a new feature to an existing plugin?

Sounds good, I'll enable it by default. I'd much follow the history of how the plugin operated than deviate here.

One other question, do you think it'd make sense to have any other default styling for this? I'd played around with this locally which I thought looked pretty clean:
    border-bottom: none;
    color: $gray5;
    margin-right: 0.5em;
    text-decoration: none;

    &:hover,
    &:focus {
        color: $gray3;
    }

Initially I was trying to keep it simple as possible but I think this styling is good


Design enhancements

What: Design enhancements.
Why: The height of the sections and the text size are not in the right proportion, we are dedicating a lot of vertical space just to show an image an a bit of text. The idea is to reduce this because it will affect both Desktop devices that have a big screen and small mobile devices.
How:

Reduce the height of the sections, we don't need to make all sections to have 100vh of height.
Improve "Where is your money going?" and "What are we fighting for?" readability by making text bigger and changing the backdrop to be dark instead of white.
Make the shop section more appealing for users to click on

@orlando are we adding photos from the actual store into the store then?
Could you send me the link to the current store and 3 articles that would be nice to feature?

@castrolem this is the store https://teespring.com/stores/debt-collective. You can either have photos or the products embedded, whatever works best


Bug: Yeelight UPnP discovery doesn't work on Linux

Resolved:
YeelightAPI looks for available multicast addresses directly on network interfaces. This is completely unreliable on most Linux devices.
Yeelight SSDP discovery is very set up very explicitly and hasn't changed in years, so this sort of scan on the interface isn't necessary. Ripping it out and binding directly to <IP_ADDRESS> for discovery as per Yeelight's operational specs resolves the issue.


RE8 Grenade Launcher Bug

When i try to shoot with the grenade launcher, the grenade launcher shoots, but after that, everytime you shoot, is going to shoot in the same location, no matter where you point, the explosion happens until you switch back and forth with the weapon, to reset the aim ?

Fixed in #319