Indicator for links opening in new page

Feature Description

Could we add an indicator next to links that open on a new tab/window to show that they are external links?
For example, the "support" link here, could have a little indicator that lets the user know this will open on a new page.

Alternatives Considered

Additional Context

Do not alter or remove anything below. The following sections will be managed by moderators only.
Acceptance Criteria

Implementation Brief

hey @o-fernandez - wanted to revisit this, what do you think the 'indicator' should be? This is otherwise really straight forward to implement. Are you thinking like an asterisk?

I was thinking an icon like this: https://commons.wikimedia.org/wiki/File:External_link_font_awesome.svg
WDYT? @BrittanyIRL

Does this apply to editor as well? (e.g. links in help center)

That works for me! We don't have an icon like that yet so we will need design help to get an SVG.

(+1 to Pascal's ask)

Material Design has an icon for this: https://fonts.google.com/icons?selected=Material Icons Outlined%3Alaunch

@o-fernandez  circling back to this.
Re pascal's ask - do we want this same indicator on the editor or just the dashboard?
Do we want to proceed with this using Material Design's icon or should this remain in the icebox until we get designated design that can assist with the icon creation?

I'd use the Material Design icon Pascal suggested, and ideally everywhere with links that go to an external page (which should all hopefully open in a new window?)
Let me know if that works! If we find tricky ones where adding the icon would break the UI, LMK and we can rethink it. @BrittanyIRL

Verified in QA


3.2.x backport of GH-2485: Improvements in Kafka Binder Metrics

Backporting #2485 to 3.2.x

Thanks, @roookeee - backported to 3.2.x.


[Bug] jdbc / beeline client can not exit when engine error

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Search before asking

[X] I have searched in the issues and found no similar issues.

Describe the bug
jdbc or beeline client can not exit when engine error，because the OperationState state is not set
Affects Version(s)
master
Kyuubi Server Log Output
jdbc/beeline client can not exit when engine error, OperationState

Kyuubi Engine Log Output
No response
Kyuubi Server Configurations
No response
Kyuubi Engine Configurations
No response
Additional context
No response
Are you willing to submit PR?

[X] Yes I am willing to submit a PR!

related to this one?
https://github.com/apache/incubator-kyuubi/pull/3315

are you using kyuubi hive jdbc?

no, we use hive2.3.4 jdbc to connect kyuubi server
------------------ 原始邮件 ------------------
发件人: "Kent @.>;
发送时间: 2022年9月1日(星期四) 中午11:45
收件人: @.>;
抄送: @.>; @.>;
主题: Re: [apache/incubator-kyuubi] [Bug] jdbc / beeline client can not exit when engine error (Issue #3389)
are you using kyuubi hive jdbc?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were assigned.Message ID: @.***>

ok, if you use the hive jdbc, it rely on the engine initialization timeout.
Kyuubi hive jdbc is recommended.


UIViewController toolbarItems -based (non- Interface Builder) toolbars never show

Given a programatically created (non- Interface Builder) view controller:
- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

    //
    MyViewController* viewController = [[MyViewController alloc] init];

    UINavigationController* navigationController =
        [[UINavigationController alloc] initWithRootViewController:viewController];

    self.window.rootViewController = navigationController;
}

A toolbar definition:
- (void)viewDidLoad
{
    // MyViewController

    [super viewDidLoad];

    // broken: shows a different (empty, undefined) toolbar
    self.navigationController.toolbarHidden = NO;

    // broken: without "toolbarHidden = NO" never shows up
    self.toolbarItems = /* buttons */;
}

App display mode:
@implementation UIApplication (UIApplicationInitialStartupMode)
+ (void)setStartupDisplayMode:(WOCDisplayMode*)mode
{
    mode.autoMagnification = FALSE;
    mode.sizeUIWindowToFit = TRUE;
    mode.clampScaleToClosestExpected = FALSE;
    mode.fixedWidth = 0;
    mode.fixedHeight = 0;
    mode.fixedAspectRatio = 0;
    mode.magnification = 1.0;
}
@end

A toolbar defined through self.toolbarItems in a view controller does not show up at all (the view controller runs all the way to the bottom of the app window).
This might be some kind of layout-related issue, since pushing and popping multiple modeless view controllers sometimes DOES reveal a properly created toolbar on that same view controller.
Moreover, forcing toolbar visibility through the toolbarHidden property of its navigation controller works, but displays an empty (undefined) toolbar.
As of: WinObjC version 0.2.160927 (September 27, 2016).

@gary17, do you know if this same code used to work with a previous version of the bridge?
Thanks.

Unfortunately, no idea - the first version I tested against was 0.2.160927 (September 27, 2016).

ok, thanks for the quick answer.


Fix/alert icons

Fixed wrong Alert icons

[IMPORTANT] PR Checklist

[x] I am aware of standards and conventions adopted in this repository, defined in the CONTRIBUTING.md file

PR conventions
Please make sure your PR complies with the following rules before submitting it.

[x] PR title follows the <type>(<scope>): <subject> structure

[x] The PR has been labeled according to the type of changes (e.g. enhancement, new component, bug).

NOTE
Some labels are used to generate release note entries: you can find the complete mapping between PR labels and release note categories here.
For a more detailed overview of PR labels, please refer to the dedicated CONTRIBUTING section.

Additional code checks
Based on your changes, some of these checks may not apply. Please make sure to check the relevant items in the list.

[x] Changes are covered by tests
[x] Changes to components are accessible and documented in the Storybook
[x] Typings have been updated
[x] New components are exported from the src/index.ts file
[x] New files include the Apache 2.0 License disclaimer
[x] The browser console does not contain errors

If this is an enhancement please change the PR title to be more expressive of the improvement, remember that the PR title is used to generate the release note


postgresql::server::version is only partially used

There are a number of places where $postgresql::server::version is used, but things like $postgresql::server::install::package_name use $postgresql::server::package_name, which comes from $postgresql::params::server_package_name, which uses (at least in the case of debian) $postgresql::params::version which defaults to $postgresql::globals::globals_version which does not look at $postgresql::server::version
So, either the package name for server should be figured out in postgresql::server class, or the things using $postgresql::server::version should be changed to look at $postgresql::params::version, maybe, and the $postgresql::server::version parameter should just go away entirely (it's not actually used within the $postgresql::server class.

Hello! We are doing some house keeping and noticed that this issue has been open for a long time.\n\nWe're going to close it but please do raise another issue if the issue still persists. 😄


Update bin/dwhich.dart?

Hey there @bsutton -- getting into all of this.
Could you confirm that dwhich.dart needs to be updated?
It seems to be still using an old Args class from an earlier version of DCLI (3.x.x?)
It also seems that the new ExitException in DCLI 4.x found here:
https://github.com/onepub-dev/dcli/blob/master/dcli_sdk/lib/src/util/exit.dart
or here:
https://github.com/onepub-dev/dcli/blob/master/dcli_sdk/lib/src/util/exceptions.dart
And perhaps a related class here:
https://github.com/onepub-dev/dcli/blob/master/dcli_core/lib/src/util/dcli_exception.dart
and here:
https://github.com/onepub-dev/dcli/blob/master/dcli_core/lib/src/util/run_exception.dart
Let me know if this is relevant/related, happy to get this updated with a bit of direction!
Cheers,
-Tsavo

I've just released dcli-scripts 3.3.0 - see if that fixes your problem.
On Tue, Mar 12, 2024 at 3:17 AM Tsavo Knott @.***>
wrote:

Hey there @bsutton https://github.com/bsutton -- getting into all of
this.
Could you confirm that dwhich.dart
https://github.com/onepub-dev/dcli_scripts/blob/master/bin/dwhich.dart
needs to be updated?
It seems to be still using an old Args class from an earlier version of
DCLI (3.x.x?)
It also seems that the new ExitException in DCLI 4.x found here:
https://github.com/onepub-dev/dcli/blob/master/dcli_sdk/lib/src/util/exit.dart
or here:
https://github.com/onepub-dev/dcli/blob/master/dcli_sdk/lib/src/util/exceptions.dart
And perhaps a related class here:
https://github.com/onepub-dev/dcli/blob/master/dcli_core/lib/src/util/dcli_exception.dart
and here:
https://github.com/onepub-dev/dcli/blob/master/dcli_core/lib/src/util/run_exception.dart
Let me know if this is relevant/related, happy to get this updated with a
bit of direction!
Cheers,
-Tsavo
—
Reply to this email directly, view it on GitHub
https://github.com/onepub-dev/dcli_scripts/issues/3, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAG32OGK73P5G4OPTIZN423YXXKKZAVCNFSM6AAAAABEQT2WNKVHI2DSMVQWIX3LMV43ASLTON2WKOZSGE3TSNJUGQ2DONA
.
You are receiving this because you were mentioned.Message ID:
@.***>

Just got it all updated with the 3.3.0 source code.
It seems that the dwhich.dart is one of the only files thats looking for a args.dart file at package path import 'package:dcli_scripts/src/dwhich/args.dart';  and a exit_exception.dart at package path import 'package:dcli_scripts/src/dwhich/exit_exception.dart';
I'm looking at it in this file specifically: packages/dcli_scripts/bin/dwhich.dart could it be accidentally .gitignored here?


Add instructions for connecting to dandi-publish

Should be merged alongside https://github.com/dandi/dandi-publish/pull/61
I changed the docker-compose ports for the girder and dandiarchive web clients to be consistent with the ports used in the "Developing Locally" instructions so the instructions can be a little simpler. Is there any specific reason why they differed to begin with/reason not to make this change?

@dchiquit @mvandenburgh I didn't set up any of the Docker Compose functionality here in dandiarchive. I have no feelings either way about this PR.

There's actually another step to setting up dandiarchive that you might have missed. Not only does dandi-publish need an API key from dandiarchive, dandiarchive needs an API key from dandi-publish.

log in to the django admin console (http://localhost:8000/admin/, probably) for dandi-publish as an admin user
Go to Auth Token > Tokens > Add
Create a new auth token and copy it
Go to the girder API page for dandiarchive (probably http://localhost:8080/api/v1)
Using System>PUT /system/setting, set dandi.publish_api_url to the publish API endpoint (include /api on the end) and set dandi.publish_api_key to the key you created. You can verify with the GET endpoint

You can see the settings in the code at girder_dandi_archive/settings.py.

I believe that is described here -
https://github.com/dandi/dandiarchive/tree/document-env-vars#publish
I also just now changed the wording a little to make it a little clearer.
Would it be better to include the API auth steps in the dandiarchive readme instead of linking to the dandi-publish one? I was thinking it would be better to not have the same instructions in two places, but in doing so the dandiarchive readme is dependent on the dandi-publish readme.

@dchiquit I made a small change and it looks like Github isn't let me merge until it is approved again.

@mvandenburgh Can you double check this branch after I merged in master, and if it looks good, go ahead and merge.


fix(select.lua): Fix condition for 'visual_mode' selection

The value of config.selection_modes is only considered when we are in operation pending mode. The example below describes the issue that this PR can solve.

Set<EMAIL_ADDRESS>= "V"
Type "vaf" in normal mode.
We get pure "v" mode enabled instead of "V"

In my opinion, we should also consider the value of config.selection_modes in the case of {"v", "V", "<C-v>"}. Please kindly review the description, and I would really appreciate it if I could get any feedback.
Fixes #515

Is there any reason why you'd want to enforce "v" mode and not use selection_mode in normal mode?
To me, it seems more logical to use the selection_mode which is "v" by default, and if it ever happens to be "n" we can set it to "v" by default, so you shouldn't remove that statement.
I don't know when that would occur but I think it is there for a reason.

Ah, okay i agree with you too. Let me add it back.

I'd like to merge this, and it does fix the problem. However, the required check loading of syntax files test must pass before I can merge. You need to rebase it to the master branch and force update, then it will pass.

I see Tests / Run tests (ubuntu-latest, gcc, stable) (pull_request) is still failing. Is there any problem with my commit?

This commit causes a regression. We can no longer force a mode for selection, i.e. yVaf to yank a function in linewise fasion only yanks it charwise.

Does not respect either Vaf...

@phgz Thanks for the feedback. I will revert it and good to know such test cases for future reference.
@xvzc I think we need to use the selection mode only when the current mode is a v mode and a default operator-pending mode (not something like yV). If you can address this, I'll review it.


Incorrect link for Virtual IPs and service proxies

This is a Bug Report
Problem:
The Link for  Virtual IPs and service proxies  under Defining a Service is wrong. It doesn't redirect anywhere.
It is redirected to the following link: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxiesinstead of that, it should redirect to https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ip-addressing-mechanism. Virtual IP addressing mechanism contains the context of Virtual IPs and service proxies.
Proposed Solution:
Virtual IPs and service proxies should redirect to https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ip-addressing-mechanism instead of https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
Page to Update:
https://kubernetes.io/docs/concepts/services-networking/service/

/assign
/sig network
/sig docs

Fixed it here: #38189

/triage accepted


Add Comment Capability

Motivation
If a surveyor has a comment on a design, he needs a way to transfer his remarks back to the design.
The comment should contain the following information:

who was making the comment
when was the comment made
what is the content of the comment
which item was commented
where to look at

Proposal
There are two ways possible:

encapsulate the Comment into the EntityBase

Pro: direct association without links
Con: Same remark on multiple entities is not possible, separate items are more easy to identify and sign

add a separate remark part below Vessel

Pro: easier to find, easier to sign
Con: need to follow id/idrefs

A simple comment in EntityBase may look like this, using the wording from OpenGL for the camera position
 <ocxPanel ocx:GUIDRef="...">
    <Comments>
       <Comment ocx:GUIDRef="..." creator="..." timestamp="2022-10-20T15:53:16.63" >
            <Content>
           Lorem Ipsum ...</Content>
           <Viewport>
                  <Position>
			<ocx:Point3D>
  	          <Target>
			<ocx:Point3D>
  	          <UpVector>
			<ocx:Vector3D>

@CarstenZerbst: We can quite easily add a comment or review concept with a standardised set of  attributes to the schema. I can make a proposal.

Yes, that is welcome, pleas do so.


Stop sending addresses of outdated peers to other peers

Motivation
Currently, Zebra gossips all of its peer addresses to other peers, regardless of the last seen protocol version.
If we stop gossiping addresses of outdated peers, it will help network convergence.
Specifications
Original specification: ZIP 201: Network Peer Management for Overwinter
Since this is a network protocol specification, Zebra is free to adopt any compatible design.
Solution
Address Book:

[ ] Track the most recent protocol version in MetaAddr, and update it every time we do a handshake

Inbound service:

[ ] Query the state for the best tip height
[ ] Find the minimum acceptable network protocol version (#1334)
[ ] Stop sending addresses of outdated peers to other peers

but keep them in the address book until they expire normally (#1867 and #1865), so we can find them if they upgrade

Property testing:

[ ] Generate some random MetaAddrs
[ ] Put them in an AddressBook
[ ] Create an inbound service using fake Zebra services
[ ] Ask the inbound service for some peers
[ ] Make sure that protocol versions are handled correctly

Manual Testing:

[ ] Set the testnet activation height lower than specified, and check Zebra's behaviour
[ ] Run and monitor Zebra nodes on testnet during activation
[ ] TODO: what other tests can we do here, without too much effort?

Alternatives
We don't have to make this change, but it's useful for the network.
What does zcashd do here?

I've marked this ticket as optional - we should check if zcashd does this kind of check, so we know if it's necessary for Zebra.

We've decided to not do this, because we might not have the latest version of the peer's protocol version in the MetaAddr stored in the AddressBook.


Inherit shell type and invoke interactive shells

Fixes https://github.com/KaranveerB/srun/issues/2 and allows for access to other aliases, making it closer to
shell aliases.

Pseudo-tty is likley not an option becuase we're not invoking the commands directly, but via a shell (which is the equivalent of -i which makes pseudo-tty unnecessary complexity).
This style is desireable for other reasons as well (e.g., access to things like zplug for zsh), but introduces startup time to invoke a secondary shell. This is worse than direct shell aliases.
Perhaps create an issue and work on something so srun can be invoked like function srun... { "$(command srun --passthrough ...) }" (maybe return return exit_code on failure), or function srun... { _output=$(command srun --passthrough ...)  && $output}. Need to consider how easy/complex the interface becomes.

Issue for shell reinitialization in #3. Can be merged now.


module request: smbios-thermal-ctl

see: https://wiki.archlinux.org/title/Dell_XPS_13_(9370)#Thermal_Modes_/_Fan_profiles
It would be nice to have a little module that sets this on boot to a pre-set value. (I use a screen-less XPS 9370 as a battery-backup unifi+home-assistant "server" and would like to always go into performance mode.)

@colemickens
FYI:, As long as there isn't such a module: I install libsmbios and create a systemd service:
[…]
  environment.systemPackages = with pkgs; [
    libsmbios
  ];

  systemd = {
    services = {
      dell-thermal-mode = {
        after = [ "post-resume.target" ];
        serviceConfig = {
          Type = "oneshot";
          Restart = "no";
          ExecStart = "${pkgs.libsmbios}/bin/smbios-thermal-ctl --set-thermal-mode=quiet";
        };
        wantedBy = [ "multi-user.target" "post-resume.target" ];
      };
    };
  };
[…]

All creds are going to: https://github.com/jpas/etc-nixos/blob/88abdbf34bc2dc57c92a8f6fe26501156d9bc04e/profiles/hardware/laptop-dell-xps-13-9300.nix#L83-L98

FYI, there is a soon to be mainlined module in the kernel for controlling this interface via platform_profiles.
Please see:
https://www.phoronix.com/news/Dell-PC-Driver-For-Linux-6.11
https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/patch/?id=996ad412981024a9bb90991ab195685d37187bbd

If you use software the changes platform_profile, such as power-profiles-demon, this will affect you.
This patch will also block smbios-thermal-ctl from working, as the kernel is now in control of the fan modes, via platform_profile.

Huh, interesting. Better late than never, I suppose.


Bump ktor from 2.0.3 to 2.1.0

This PR updates ktor from 2.0.3 to 2.1.0 to remediate a Snyk detected vulnerability.
If you are suggesting a fix for a currently exploitable issue, please disclose the issue to the prime-reportstream team directly outside of GitHub instead of filing a PR, so we may immediately patch the affected systems before a disclosure. See SECURITY.md/Reporting a Vulnerability for more information.
Test Steps:

Include steps to test these changes

Changes

Ktor release notes

Checklist
Testing

[x] Tested locally?
[x] Ran ./prime test or ./gradlew testSmoke against local Docker ReportStream container?
[ ] (For Changes to /frontend-react/...) Ran npm run lint:write?
[ ] Added tests?

Process

[ ] Are there licensing issues with any new dependencies introduced?
[ ] Includes a summary of what a code reviewer should test/verify?
[ ] Updated the release notes?
[ ] Database changes are submitted as a separate PR?
[ ] DevOps team has been notified if PR requires ops support?

Linked Issues

Fixes #issue

To Be Done
Create GitHub issues to track the work remaining, if any

#issue

Specific Security-related subjects a reviewer should pay specific attention to

Does this PR introduce new endpoints?

new endpoint A
new endpoint B

Does this PR include changes in authentication and/or authorization of existing endpoints?
Does this change introduce new dependencies that need vetting?
Does this change require changes to our infrastructure?
Does logging contain sensitive data?
Does this PR include or remove any sensitive information itself?

If you answered 'yes' to any of the questions above, conduct a detailed Review that addresses at least:

What are the potential security threats and mitigations? Please list the STRIDE threats and how they are mitigated

Spoofing (faking authenticity)

Threat T, which could be achieved by A, is mitigated by M

Tampering (influence or sabotage the integrity of information, data, or system)
Repudiation (the ability to dispute the origin or originator of an action)
Information disclosure (data made available to entities who should not have it)
Denial of service (make a resource unavailable)
Elevation of Privilege (reduce restrictions that apply or gain privileges one should not have)

Have you ensured logging does not contain sensitive data?
Have you received any additional approvals needed for this change?

dependabot duplicate


Lack of documentation

What happens if git is not installed or that perhaps you are in a directory where git doesn't exist? What happens? What happens if the user isn't setup yet? etc.etc.etc.

Would love help documenting where you see things are missing.
RE: your specific questions:

What happens if git is not installed

This library does not rely on git executable, and git does not need to be installed at all.

you are in a directory where git doesn't exist?

I think if you execute in a directory that doesn't contain a .git subdirectory, it will error.

What happens if the user isn't setup yet?

Since we don't execute git at all, I don't think the user setup matters at all.

@rwjblue Ah ok, so it comes with it nice! Yea these things would be good to add to the documentation!
Ah yes true, if you use a username/password when pushing git will obviously use that account in the repo!

@basickarl this does not use git to my knowledge, this uses the metadata stored in the files under the .git directory. Simple file parsing can be used to extract the state & information without the system needing to have git installed. It is also not included as a dependency in this package to my knowledge either.

ya, exactly


Completed orthogonal words clues are not being accounted for

When player completes an orthogonal word with their answer, the clue number is not being pushed into the array of completed clues.

Fixed 10/28


Remove LFS objects from the repository

The repository currently holds a number of lfs objects (2 videos and a number of images) that need to be removed from the repository. They have been untracked from the main branch but I believe this doesn't solve the problem. I think we need to remove all references form all references in the repository in order to properly remove them. We will need to find alternative hosting for these if we want to keep them in the documentation.

I suspect these should be on github pages.
https://tomcam.github.io/least-github-pages/adding-images-github-pages-site.html
Adding images to your GitHub Pages sitehttps://tomcam.github.io/least-github-pages/adding-images-github-pages-site.html
tomcam.github.iohttps://tomcam.github.io/least-github-pages/adding-images-github-pages-site.html
[X]https://tomcam.github.io/least-github-pages/adding-images-github-pages-site.html
Best
Terry
On 6 Nov 2024, at 19:08, Sam Morley @.***> wrote:

The repository currently holds a number of lfs objects (2 videos and a number of images) that need to be removed from the repository. They have been untracked from the main branch but I believe this doesn't solve the problem. I think we need to remove all references form all references in the repository in order to properly remove them. We will need to find alternative hosting for these if we want to keep them in the documentation.
—
Reply to this email directly, view it on GitHubhttps://github.com/datasig-ac-uk/RoughPy/issues/140, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABQWN64HTSMU5ZSVFN3HKZ3Z7JLJ7AVCNFSM6AAAAABRJNNWDKVHI2DSMVQWIX3LMV43ASLTON2WKOZSGYZTQOBVGI2TOMQ.
You are receiving this because you are subscribed to this thread.Message ID: @.***>


feat: add GoogleCloudPlatform/cloud-sql-proxy

https://github.com/aquaproj/aqua-registry/pull/7096 GoogleCloudPlatform/cloud-sql-proxy: A utility for connecting securely to your Cloud SQL instances
$ aqua g -i GoogleCloudPlatform/cloud-sql-proxy

How to confirm if this package works well
Reviewers aren't necessarily familiar with this package, so please describe how to confirm if this package works well. Please confirm if this package works well yourself as much as possible.
Command and output
$ cloud-sql-proxy --help

The Cloud SQL Auth proxy allows simple, secure connectivity to Google Cloud SQL. It
is a long-running process that opens local sockets (either TCP or Unix sockets)
according to the parameters passed to it. A local application connects to a
Cloud SQL instance by using the corresponding socket.

Authorization:
  * On Google Compute Engine, the default service account is used.
    The Cloud SQL API must be enabled for the VM.

  * When the gcloud command-line tool is installed on the local machine, the
    "active account" is used for authentication. Run 'gcloud auth list' to see
    which accounts are installed on your local machine and
    'gcloud config list account' to view the active account.

  * To configure the proxy using a service account, pass the -credential_file
    parameter or set the GOOGLE_APPLICATION_CREDENTIALS environment variable.
    This will override gcloud or GCE (Google Compute Engine) credentials,
    if they exist.

  * To configure the proxy using IAM authentication, pass the -enable_iam_login
    flag. This will cause the proxy to use IAM account credentials for
    database user authentication.

General:
  -quiet
    Disable log messages (e.g. when new connections are established).
    WARNING: this option disables ALL logging output (including connection
    errors), which will likely make debugging difficult. The -quiet flag takes
    precedence over the -verbose flag.

  -log_debug_stdout
    When explicitly set to true, verbose and info log messages will be directed
    to stdout as opposed to the default stderr.

  -verbose
    When explicitly set to false, disable log messages that are not errors nor
    first-time startup messages (e.g. when new connections are established).

  -structured_logs
    When set to true, all log messages are written out as JSON.

  -term_timeout
        How long to wait for connections to close after receiving a SIGTERM before
        shutting down the proxy. Defaults to 0. If all connections close before the
        duration, the proxy will shutdown early.

Connection:
  -instances
    To connect to a specific list of instances, set the instances parameter
    to a comma-separated list of instance connection strings. For example:

        -instances=my-project:my-region:my-instance

    For convenience, this flag may be specified multiple times.

    For connectivity over TCP, you must specify a tcp port as part of the
    instance string. For example, the following example opens a loopback TCP
    socket on port 3306, which will be proxied to connect to the instance
    'my-instance' in project 'my-project'. To listen on other interfaces than
    localhost, a custom bind address (e.g., <IP_ADDRESS>) may be provided. For
    example:

        -instances=my-project:my-region:my-instance=tcp:3306
    or
        -instances=my-project:my-region:my-instance=tcp:<IP_ADDRESS>:3306

    When connecting over TCP, the -instances parameter is required.

    To set a custom socket name, you can specify it as part of the instance
    string.  The following example opens a unix socket in the directory
    specified by -dir, which will be proxied to connect to the instance
    'my-instance' in project 'my-project':

        -instances=my-project:my-region:my-instance=unix:custom-socket-name

    Note: The directory specified by -dir must exist and the socket file path
    (i.e., dir plus INSTANCE_CONNECTION_NAME) must be under your platform's
    limit (typically 108 characters on many Unix systems, but varies by platform).

    To override the -dir parameter, specify an absolute path as shown in the
    following example:

        -instances=my-project:my-region:my-instance=unix:/my/custom/sql-socket

     Supplying INSTANCES environment variable achieves the same effect.  One can
     use that to keep k8s manifest files constant across multiple environments

  -instances_metadata
     When running on GCE (Google Compute Engine) you can avoid the need to
     specify the list of instances on the command line by using the Metadata
     server. This parameter specifies a path to a metadata value which is then
     interpreted as a list of instances in the exact same way as the -instances
     parameter. Updates to the metadata value will be observed and acted on by
     the Proxy.

  -projects
    To direct the proxy to allow connections to all instances in specific
    projects, set the projects parameter:

        -projects=my-project

  -fuse
    If your local environment has FUSE installed, you can specify the -fuse
    flag to avoid the requirement to specify instances in advance. With FUSE,
    any attempts to open a Unix socket in the directory specified by -dir
    automatically creates that socket and connects to the corresponding
    instance.

  -dir
    When using Unix sockets (the default for systems which support them), the
    Proxy places the sockets in the directory specified by the -dir parameter.

Automatic instance discovery:
   If the Google Cloud SQL is installed on the local machine and no instance
   connection flags are specified, the proxy connects to all instances in the
   gcloud tool's active project. Run 'gcloud config list project' to
   display the active project.

Information for all flags:
  -check_region
    If specified, the 'region' portion of the connection string is required for
    Unix socket-based connections.

  -credential_file
    If provided, this json file will be used to retrieve Service Account
    credentials.  You may set the GOOGLE_APPLICATION_CREDENTIALS environment
    variable for the same effect.

  -dir
    Directory to use for placing Unix sockets representing database instances

  -enable_iam_login
    Enables database user authentication using Cloud SQL's IAM DB Authentication (Postgres only).

  -fd_rlimit
    Sets the rlimit on the number of open file descriptors for the proxy to
    the provided value. If set to zero, disables attempts to set the rlimit.
    Defaults to a value which can support 4K connections to one instance

  -fuse
    Mount a directory at 'dir' using FUSE for accessing instances. Note that the
    directory at 'dir' must be empty before this program is started.

  -fuse_tmp
    Used as a temporary directory if -fuse is set. Note that files in this directory
    can be removed automatically by this program.

  -health_check_port
    When applicable, health checks take place on this port number. Defaults to 8090.

  -host
    When set, the proxy uses this host as the base API path. Example:
    https://sqladmin.googleapis.com

  -instances
    Comma-separated list of fully qualified instances (project:region:name)
    to connect to. If the name has the suffix '=tcp:port', a TCP server is opened
    on the specified port on localhost to proxy to that instance. It is also possible
    to listen on a custom address by providing a host, e.g., '=tcp:<IP_ADDRESS>:port'. If
    no value is provided for 'tcp', one socket file per instance is opened in 'dir'.
    For convenience, this flag may be specified multiple times.
    You may use the INSTANCES environment variable for the same effect. Using both will
    use the value from the flag, Not compatible with -fuse.

  -instances_metadata
    If provided, it is treated as a path to a metadata value which
    is polled for a comma-separated list of instances to connect to. For example,
    to use the instance metadata value named 'cloud-sql-instances' you would
    provide 'instance/attributes/cloud-sql-instances'. Not compatible with -fuse

  -ip_address_types
    Default to be 'PUBLIC,PRIVATE'. Options: a list of strings separated by
    ',', e.g. 'PUBLIC,PRIVATE'

  -log_debug_stdout
    If true, log messages that are not errors will output to stdout instead of stderr

  -max_connections
    If provided, the maximum number of connections to establish before refusing
    new connections. Defaults to 0 (no limit)

  -projects
    Open sockets for each Cloud SQL Instance in the projects specified
    (comma-separated list)

  -quiet
    Disable log messages

  -quota_project
    Specifies the project to use for Cloud SQL Admin API quota tracking.

  -refresh_config_throttle
    If set, this flag specifies the amount of forced sleep between successive
    API calls in order to protect client API quota. Minimum allowed value is
        1s

  -skip_failed_instance_config
    Setting this flag will allow you to prevent the proxy from terminating
    when some instance configurations could not be parsed and/or are
    unavailable.

  -structured_logs
    Configures all log messages to be emitted as JSON.

  -term_timeout
    When set, the proxy will wait for existing connections to close before
    terminating. Any connections that haven't closed after the timeout will be
    dropped

  -token
    When set, the proxy uses this Bearer token for authorization.

  -use_http_health_check
    When set, creates an HTTP server that checks and communicates the health of the proxy client.

  -verbose
    If false, verbose output such as information about when connections are
    created/closed without error are suppressed

  -version
    Print the version of the proxy and exit

If files such as configuration file are needed, please share them.
$ cloud-sql-proxy --port 6000 <INSTANCE_CONNECTION_NAME>

Reference

README.md (Usage)

https://github.com/GoogleCloudPlatform/cloud-sql-proxy#usage

Thanks!

Released. https://github.com/aquaproj/aqua-registry/releases/tag/v3.76.0


Get paths to files working too

Currently only passing -a URL works.

Code at fault: https://github.com/simonw/llm-smolvlm/blob/42962cd72a32f2d17c17e175c0f39d339d60db3c/llm_smolvlm.py#L50


(PUP-4195) Update node configuration for release

Updates the node configuration to use rhel7 for all masters - other
master platforms are tested as part of puppetserver testing - and ensure
all 32-bit and 64-bit platforms for release are tested.
Dropping testing for Fedora 18 and 19.

Acceptance results at: https://gist.github.com/MikaelSmith/44b2670c8d77fc2a97c7

The common failures were

env missing on Solaris
package conflicts on centos5, rhel5

	Running rpm_check_debug
	ERROR with rpm_check_debug vs depsolve:
	puppet conflicts with puppet-agent-<IP_ADDRESS>.g924a559-1.el5.x86_64
	facter conflicts with puppet-agent-<IP_ADDRESS>.g924a559-1.el5.x86_64
	hiera conflicts with puppet-agent-<IP_ADDRESS>.g924a559-1.el5.x86_64
	mcollective conflicts with puppet-agent-<IP_ADDRESS>.g924a559-1.el5.x86_64
	mcollective-common conflicts with puppet-agent-<IP_ADDRESS>.g924a559-1.el5.x86_64
	mcollective-client conflicts with puppet-agent-<IP_ADDRESS>.g924a559-1.el5.x86_64
	Complete!

Thanks @MikaelSmith, the rhel5 issue is https://tickets.puppetlabs.com/browse/RE-4159

Some comments:

I think that some configs are obsolete and can now be deleted: all* foss* standalone
We could move the solaris nodes to pe. (Or just delete pe until we get to the point of doing tests against PE-only packages.)
If we don't need the master host to include the agent role (and I think we fixed this), then we should consider where we want to test agent-on-master functionality. I'd suggest only doing so on the server platforms we test against, i.e. for now rhel7.
Re file naming conventions, could we match those in the puppet-agent repo (or v-v)? That way, less ad hoc translation is required.

I created a Ruby script at https://gist.github.com/MikaelSmith/b8c4a25a1869907fb0a4 to create the updated versions. I'm half tempted to put that in Rake and just generate configs on the fly.

I don't see a reason for foss* or standalone* anymore. all* is kind of convenient to smoke test all platforms, but not hard to create manually.
Moving solaris to pe or dropping pe sounds fine. Who would have a stake in that?
Dropping agent role for the master host sounds great; the rhel7.yaml covers agent role for rhel7, and that would potentially speed up tests.
Matching naming sounds good and is easy to do... is there automation that uses these right now?

/cc @johnduarte and @justinstoller on this PR.

CLA signed by all contributors.

please do not generate configs from rake.  most of us don't run from rake to bring up environments or locally running acceptance when developing tests.
agreed that we need a better config file generator, but that's for outside of the Rakefiles, IMO, and can be used across projects, etc, etc

Manually running acceptance to test that removing the agent role works.

acceptance run on el-7-x86_64 passed.

In terms of naming conventions, I think that:

BUILD_TARGETS in the Jenkins job matches the platform names found in puppet-agent's config/platforms
TEST_TARGETS in the Jenkins job matches the config file names in puppet's acceptance/config/nodes

And then in the latter config files:

platform is arbitrary but must match confines in puppet's acceptance tests
'template` matches the names used in vmpooler

Also note that puppet-agent has to map its naming convention to the pooler's with lines like: https://github.com/puppetlabs/puppet-agent/blob/215aaf7e13191c2d7af2309148c68f0eb91adb24/configs/platforms/debian-6-i386.rb#L10
It seems like we could make this all simpler if we consolidated on one naming convention. I nominate the pooler's because it's probably most ubiquitous. So what if:
a) puppet-agent used vmpooler's naming for its own platforms (it could then generate vcloud_name from the platform filename rather than mapping it per-file)
b) puppet (and other projects) switches to beaker config file names following the same convention - the template field would then always match the file name
c) puppet (and other projects) could make the platform field match the same naming convention (which would require touching some acceptance tests as well)
Thoughts? /cc @haus @joshcooper @mikaelsmith

That sounds fine. Separating platform and template allows some flexibility if we have to use funny template names, like minor version bumps, so I'm not sure I'd drop one of the fields.

Agreed on flexibility: how about we keep both platform and template but default to having them match? (I don't think the flexibility has come up often - in fact I can't remember an instance. Knock on wood.)

Platform use is scattered around, so I'm going to handle changing the platform entries for a new ticket.

+1 on the change to platform being another ticket. It's all intra puppet so more self-contained in any event.
@haus, thoughts on making puppet-agent platform names match pooler platform names?

@kylog i'm not in favor of that. i really don't like that part of the pooler. I'd rather add some sort of linking to the pooler so that the more correct platform name would also work in addition to the name the pooler expects today.
amd64 is what debian and ubuntu use, x64 is what windows uses, and x86_64 is what el and fedora use. I'd rather be consistent with the OS in public packaging (or soon to be public).

Okay so I'm going to have to throw some of my dreams of standardizing in the dream incinerator, but that's okay.
But I think there still might be benefit to having puppet's acceptance/config/node filenames match with puppet-agent's config/platform filenames. This would allow BUILD_TARGETS == TEST_TARGETS (so maybe we could toss one and just have TARGETS).
There would still be 3 or 4 naming conventions to be aware of:

beaker
pooler
puppet-agent
package names (it might be that nothing in the puppet repo has this knowledge)

Thoughts on this?

@kylog I love having 1 standard and using it everywhere. There are more places than just that, but that is a good list to start with (PE has more places, but lets leave that can on the shelf for now).

windows breaks the BUILD_TARGETS == TEST_TARGETS because we only build 32 and 64 bit packages (win-x64 & win-x86), but then test on a number of different variations (on 64-bit OS, test 32-bit and 64-bit puppet).

—
Reply to this email directly or view it on GitHub
https://github.com/puppetlabs/puppet/pull/3723#issuecomment-83213270.

--
Eric Thompson
<EMAIL_ADDRESS><EMAIL_ADDRESS>Senior Software Quality Assurance Engineer

One further note to add: having consistency between Beaker config and Puppet-Agent would allow us to have a simpler command to build a package and run acceptance tests against it.

Okay so we need to retain BUILD_TARGETS and TEST_TARGETS in general b/c of (at least) Windows. But for the unixes, any downside to a match between puppet/acceptance/config/nodes and puppet-agent/config/platforms?

pretty happy about the filenames considering all the options and trade-offs.  thanks!


Fix text ner

Hi,
The text NER pipelines had a few bugs. For the command bash baselines/ner/nlp_scripts/ft-deberta.sh deberta-base raw
I have described them below and also provided the fix -

It was using transformers and datasets library by hugging face, which I added to setup.py. Also added seqeval which was being used by datasets.
Since datasets is the folder where the data was being downloaded. I have now renamed it to dataset because it conflicts with the library that the text NER uses.
def train_module only uses train and val dataset but inside the function it was using eval_dataset which is not defined. I have fixed it to dev dataset.
def align_labels has a bug. As the tag2id dictionary is created using the training data, but the validation data actually has tags which are not there. I have now mapped them as 'O'.

I would highly recommend to test other parts of the toolkit! There seems to be many minor mistakes.
Thanks
Sid

@fwu-asapp I have mentioned the reasons here.

Hi @siddalmia , I guess these changes have been included in #7, so I close this. Please feel free to reopen it.


Add Mobility to UserPresenter

At one point, while testing a number of roles, I encountered an unpleasant error, I think the screenshot below will demonstrate it better than words.
Also ran into this in tables.
Decided to fix it for myself and maybe it will be useful.

Actually my solution:
    /**
     * @param int $numberRoles number of output roles
     * @return string
     * @throws \Throwable
     */
    public function subTitle(int $numberRoles = 2): string
    {
        $roles = $this->entity->roles->pluck('name');

        /** @var $roles Collection */
        if ($roles->isNotEmpty()) {
            return $roles = Label::make()
                ->title($roles
                    ->take($numberRoles)
                    ->implode(' / ')
                )
                ->popover(($roles->count() > $numberRoles)
                    ? $roles->implode(' / ')
                    : false)
                ->__toString();
        }

        return __('Regular user');
    }

In the case of UserPresenter, where we know that the "subTitle()" method gives us a string of roles, we can now control how many roles should be displayed and which should be hidden in the popover
Result:

Hi @Augen2203. I don't want to complicate the stand for new users. But you have an interesting solution to the problem. To prevent this from happening again, a limit on the number of characters was added


Opportunity: intro ∇ ratio

Add the ∇ ratio to Opportunity with a customizable multiplier. It assigns weight to the choices of participants so that someone who select all possible answers puts less weight on each answer, and someone who choses a single answer puts her full weight on it.
It can be used to count the number of pizzas to order (with a multiplier of 0.4) and to give more importances to the available times of busy people when scheduling a meeting.

+1

what about maybe (?) options? how are they counted in the ∇ ratio?

Maybe options counts as half a check option.

As much as I would have loved to have a real pizza slice character, :shipit: !


Error creating CentOS 7 Image with v0.4.0 on AWS

I'm using version 0.4.0. I've tried creating a CentOS Machine in both AWS and Digital Ocean. For some reason, it continually fails on AWS.
It's failing at sudo systemctl restart docker. Entire output is on this gist. https://gist.github.com/kacole2/378aac80a671ed8b76e5
However, it works fine on Digital Ocean.
I just changed the Docker-Machine binary to v 0.3.1 and the deployment worked fine with CentOS 7 to AWS

This looks related to #1705.  We will need to handle certain distros that enable vs. ones that don't.

I attempted the workaround described by @kacole2, but it failed, too. I'm not sure if it's the same error because I never logged into the machine.
First, I downgraded docker-machine to 0.3.1:
$ docker-machine -v
docker-machine version 0.3.1 (40ee236)

Then, I attempted to create my machine:
$ docker-machine create -d amazonec2 --amazonec2-access-key 'MY_ACCESS_KEY' --amazonec2-secret-key 'MY_SECRET_KEY' --amazonec2-vpc-id MY_VPC_ID --amazonec2-region "us-west-2" --engine-storage-driver devicemapper --amazonec2-ami 'ami-c7d092f7' centos-machine-1

And I received the following error after:
Error creating machine: Too many retries.  Last error: Maximum number of retries (60) exceeded
You will want to check the provider to make sure the machine and associated resources were properly removed.

The machine exists in the list, which is good so that I can remove it:
$ docker-machine ls
NAME               ACTIVE   DRIVER       STATE     URL                         SWARM
centos-machine-1            amazonec2    Running   tcp://<IP_ADDRESS>:2376
dev                *        virtualbox   Running   tcp://<IP_ADDRESS>:2376

But, I can't SSH to it:
$ docker-machine ssh centos-machine-1
exit status 255

Hi @kacole2, have you tried version 0.5.1?

@dgageot sorry i have not yet. will attempt it at some point in the next week

in 0.5.6 the AWS driver has been significantly rewritten.
Sounds like this is working.
Please re-open if I missed something


There is a problem with the exported canvas with this property linear-gradient background-clip: text

Please make sure you are testing with the latest release of html2canvas.
Old versions are not supported and issues reported for them will be closed.
Please follow the general troubleshooting steps first:

[x] You are using the latest version
[ ] You are testing using the non-minified version of html2canvas and checked any potential issues reported in the console

Bug reports:
Please replace this line with a brief summary of your issue AND if possible an example on jsfiddle.
the HTMLElement

canvas generater

And the generated cannot generate SVG content, and an error will be reported
Specifications:

html2canvas version tested with: 1.4.1
Browser & version: Chrome 版本 108.0.5359.124（正式版本） (arm64)
Operating system: Mac os

As mentioned in the documentation background-clip for text is not supported.
background-clip (Does not support text)

You can try https://github.com/qq15725/modern-screenshot
testcase:
https://github.com/qq15725/modern-screenshot/blob/master/test/fixtures/css.-webkit-background-clip.html
https://github.com/qq15725/modern-screenshot/blob/master/test/fixtures/css.-webkit-background-clip.png


Javascript - create presentation

@Dzmitry-Klokau I suppose we can close this issue due to our discussions.


Release/upstream v0.12.0

👍

👍

@dan

@danpe ready for review.

Perfect! Can you add a task to your list to implement the SQLite interface?
It can be a nice practice I did it for the notifications back than
On Wed, Mar 15, 2023 at 8:25 PM Daniel Aloni @.***>
wrote:

@danpe https://github.com/danpe
TL;DR

Pipelines for adminas pass with this current Dendrite as HS.
Dendrite pipelines pass (including Integration tests, Sytest,
Complement and unit tests).
I disabled the pinecone relay server, and relayapi components of
Dendrite (we need to implement multiroom for SQLite DB if we want it, since
it only works with SQLite and not with PostgreSQL).

—
Reply to this email directly, view it on GitHub
https://github.com/globekeeper/dendrite/pull/66#issuecomment-1470008740,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAQKRIYEQDWV6HPMYIYDQ5TW4G7NFANCNFSM6AAAAAAV3TM7QQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

--
<+16789367824> <+972547458753>
http://www.globekeeper.com/


update to DuckDB 0.7.1

Hi there,
is it possible to push an update to Nuget that references DuckDB 0.7.1?
Thanks

@thengineer I just published new version to NuGet.


Don't attempt to insert points into degenerate triangles when creating CSG shapes.

Fixes a separate bug I found while testing #41199 for regressions:

Thanks!

Cherry-picked for 3.2.4.


Sharing pre-built PKG graph

Hi,
Thanks for the very interesting work and sharing the code! I am wondering if it is convenient for you to also share the pre-computed edges of PKG graph (edges computed on the whole HowTo100M dataset) as it is very difficult to download and process the whole dataset. I guess it can also help other people who are interested in the work.
Thanks again!

Hi, did you get any updates on this? The processed graph would be a very useful starting point for all of us!


Request credentials for an os-climate bucket

Requesting credentials for github user: feredj-judith
Requesting credentials for the bucket: https://github.com/os-climate/physrisk
Email address to send a credential download link<EMAIL_ADDRESS>Request checklist:

[x] User can establish connection with the bucket
[x] User can read files from the bucket
[ ] User can write files to the bucket

@ryanaslett please grant Judith access.  She is from BCG.  @judith-feredj I invited you to os-climate's github and Physical Risk Project Team.  Please let me know if you would like to meet for an on-boarding session.
Thanks,
Heather


Release notes for <IP_ADDRESS>-win82 (Edge) cc @gbarr01

Deploy preview for docsdocker ready!
Built with commit 4dbaf35bf681dc1d58eeeaa7df8ec97515f4ab74
https://deploy-preview-7816--docsdocker.netlify.com

edits done. GTG


Add tests for import with errors, for export with querystring

Pull Request Test Coverage Report for Build<PHONE_NUMBER>6
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+1.1%) to 84.443%

Totals

Change from base Build<PHONE_NUMBER>6:
1.1%

Covered Lines:
1243

Relevant Lines:
1472

💛  - Coveralls


sf command cannot be ran when a user profile has a space in it on Windows

Summary
If there is a space in the user profile / path, sf will not execute and generate the following error:
:: User path is C:\Users\Matt Work\...
> 'C:\Users\Matt' is not recognized as an internal or external command, operable program or batch file.

Steps To Reproduce:
Repository to reproduce:

Create a Windows user with a space in the path
Login as that user
Attempt to run sf (arguments do not matter)

Expected result
sf command executes
Actual result
:: User path is C:\Users\Matt Work\...
> 'C:\Users\Matt' is not recognized as an internal or external command, operable program or batch file.

System Information
{
        "cliVersion": "sfdx-cli/7.121.8",
        "architecture": "win32-x64",
        "nodeVersion": "node-v14.18.0",
        "pluginVersions": [
                "@oclif/plugin-autocomplete 0.3.0 (core)",
                "@oclif/plugin-commands 1.3.0 (core)",
                "@oclif/plugin-help 3.2.3 (core)",
                "@oclif/plugin-not-found 1.2.4 (core)",
                "@oclif/plugin-plugins 1.10.1 (core)",
                "@oclif/plugin-update 1.5.0 (core)",
                "@oclif/plugin-warn-if-update-available 1.7.0 (core)",
                "@oclif/plugin-which 1.0.3 (core)",
                "alias 1.1.21 (core)",
                "auth 1.7.2 (core)",
                "config 1.2.40 (core)",
                "data 0.6.2 (core)",
                "generator 1.2.0 (core)",
                "org 1.8.1 (core)",
                "salesforcedx 51.0.2 (pre-release)",
                "├─ schema 1.0.3",
                "├─ user 1.1.0",
                "├─ limits 1.0.3",
                "├─ apex 0.1.4",
                "├─ salesforce-alm 51.0.1",
                "├─ custom-metadata 1.0.11",
                "├─ templates 51.1.0",
                "└─ @salesforce/sfdx-plugin-lwc-test 0.1.7",
                "sfdx-cli 7.121.8 (core)",
                "source 1.2.2",
                "telemetry 1.2.6 (core)",
                "trust 1.0.8 (core)"
        ],
        "osVersion": "Windows_NT 10.0.22000"
}

Can confirm the plugin salesforcedx was not a contributing factor and have removed it. It appears I couldn't installed sfdx-cli@latest-rc globally, Volta couldn't find the executable.
+<EMAIL_ADDRESS>added 1599 packages from 738 contributors in 230.412s
Volta error: Could not determine the name of the package that was just installed.

I guess I'll wait until the stable release on Thursday and update this issue accordingly.

This is still an issue in 7.123 when installed via Windows Installer package sadly :(
> sfdx update
sfdx-cli: Updating CLI from 7.122.1-5e1c7e6 to 7.123.0-ebc9b0f... done
sfdx-cli: Updating CLI... done
sfdx-cli: Updating plugins... done
> sf
'C:\Users\Matt' is not recognized as an internal or external command,
operable program or batch file.


DOM based XSS in /dashboard

It's possible to execute arbitrary Javascript in a user's browser by sending them a link such as:
https://localhost/dashboard/#"><img src=x onerror=alert(1)>
This seems to be a a DOM based XSS that is reflected to the server when it tries to load the dashboard. It seems to be the error message that results when the dashboard is not found that is not filtering the input and escaping the output properly.
This code produces the error message:
https://github.com/graphite-project/graphite-web/blob/master/webapp/graphite/dashboard/views.py#L258
And this code parses the error message:
https://github.com/graphite-project/graphite-web/blob/master/webapp/content/js/dashboard.js#L2801
Finally, this line passes the unescaped error message to Ext.Msg.Alert:
var result = Ext.decode(response.responseText);
if (result.error) {
  Ext.Msg.alert("Error Loading Template", result.error);

Recommended fix:

Do some filtering e.g. allow only something like[A-Za-z0-9-] for the dashboard name before sending a request to look up the dashboard.

Do HTML output encoding (remember to encode according to the appropriate context if other instances are found)

Wouldn't it make sense to drop all the dasboarding features in favor of Grafana (and just keep the composer)? I guess there is a dozen more XSS bugs.

The biggest thing missing in Grafana today is a tree-style explorer for finding metrics, but if that can be added then I think it makes sense.

Yes, I still use the "composer" tree based view. I really miss that in Grafana, it is really usefull if you are browsing metrics when you don't know what you are looking for. The dashboarding part always felt clumsy and buggy in Graphite.

Yes, @piotr1212 says about http:/<GRAPHITE>/dashboard/ (https://github.com/graphite-project/graphite-web/tree/master/webapp/graphite/dashboard in sources), not about tree view, right?
I also not used that, but I think we have a some users who still using that. Probably, some "dashboard-to-grafana" migration script could help.

IIRC for example @cbowman0 using dashboards.

Yes.  I think it would be wrong to remove the dashboard.  We also use grafana but the use cases are different.
Of course I also patch back in graphlot support since that's used here, too.

This vulnerability is still active.
Even if you do not use the dashboard features, they are enabled by default in Graphite-web.
If you have it as datasource in your grafana dashboards, then you can trace it to Graphite-web and perform malicious actions.

Yes, this is need to be addressed.

Closed in favor of https://github.com/graphite-project/graphite-web/issues/2520

Ah, no, it's a different one.

Fixed in #2785


fix: handle Gitlab token expiry

/deploy #persist renku-gateway=feat-get-gitlab-oauth-token-modified
This (unlike #1335) receives the refresh token in each session. Then the renku refresh token is used to keep the access token continuously valid and to exchange it for a valid gitlab token when needed.

You can access the deployment of this PR at https://renku-ci-nb-1338.dev.renku.ch


state set inside serverPrefetch isn't transferred from server to client

Main issue: https://github.com/nuxt/nuxt.js/issues/8620

What do you mean? can you elaborate...

What do you mean? can you elaborate...

@posva sorry if it wasn't clear, there is a description and link to a repro in the linked issue. I've identified the issue to be a Nuxt issue rather than Pinia issue. I just thought creating an issue also here might be useful.

@posva sorry if it wasn't clear, there is a description and link to a repro in the linked issue. I've identified the issue to be a Nuxt issue rather than Pinia issue. I just thought creating an issue also here might be useful.

Thanks, now it's clear

Thanks, now it's clear

If anyone is looking for a workaround, this works for my particular version of Nuxt (2.12).
export function usePiniaPrefetch(cb: () => Promise<any>) {
  const root = useRoot() as any;
  onServerPrefetch(async () => {
    await cb();
    const ssrContext = root.context.ssrContext;
    ssrContext.nuxt.pinia = getRootState(root.context.req);
  });
}

It's a patch function over onServerPrefetch that also passes latest state to nuxtState. Unfortunately nuxtState seems to be present on different places in different versions of nuxt. It took me some time to find it:))

If anyone is looking for a workaround, this works for my particular version of Nuxt (2.12).
export function usePiniaPrefetch(cb: () => Promise<any>) {
  const root = useRoot() as any;
  onServerPrefetch(async () => {
    await cb();
    const ssrContext = root.context.ssrContext;
    ssrContext.nuxt.pinia = getRootState(root.context.req);
  });
}

It's a patch function over onServerPrefetch that also passes latest state to nuxtState. Unfortunately nuxtState seems to be present on different places in different versions of nuxt. It took me some time to find it:))

I tested with the current version of pinia, adding @nuxt-composition api and it works. I'm sending you a PR so you can check it but this should work now.


Crates which use a specific rustc version fail to build

Crate name
rustc-tools
Build failure link
https://docs.rs/crate/rustc-tools/0.3.1/builds/1050150
Additional details
No response

@GuillaumeGomez
I'm likely missing something, but where is the rustc version defined in rustc-tools?
Also, how would you imagine this to work? In the end, we only can work with nightly versions, and at the very least we always have to have a "minimum nightly" with the features / fixes we need, so a crate needing a specific nightly will never work reliably. Apart from the complexity to manage the different toolchains on the buildserver.

The version is in https://github.com/GuillaumeGomez/rustc-tools/blob/master/rust-toolchain. When this file exists, cargo downloads the related version automatically and use it.

Also, how would you imagine this to work? In the end, we only can work with nightly versions, and at the very least we always have to have a "minimum nightly" with the features / fixes we need, so a crate needing a specific nightly will never work reliably. Apart from the complexity to manage the different toolchains on the buildserver.

Isn't it possible to download and use a specific version if one is specified? No need to keep the compiler around, we can remove it as soon as the crate was documented. Unfortunately, for rustc plugins, you always need a specific compiler version otherwise it simply doesn't compile.

Isn't it possible to download and use a specific version if one is specified?

theoretically yes, but since we rely on specific docs.rs functionality in the nightly rustc version, you might break the build when rust-toolchain defines a nightly that is too old.
Also stable or beta would not have our features .

Can't we use it and if it fails, we consider it's ok?

Can't we use it and if it fails, we consider it's ok?

We had bugs in nightly versions that lead to silent failures, like #2351 or this issue.
So IMO this would only work if we define a "minimum" nightly that we can work with.


Create good defaults for the demo

Let's create good samples that are easy to understand, maybe funny

Fixed in https://github.com/dfuse-io/ice/commit/90161e59b60f9a2a61278a093a2e05a4fc067f1b


"ReferenceError: ResizeObserver is not defined" in lower Android devices(Android 9, Android 5.1, Android 7.1.1, Android 8.1.0)

https://github.com/floating-ui/floating-ui/blob/6b12fdef95d7b09f276816ce9aead601be55204d/packages/dom/src/autoUpdate.ts#L168
some browser don't support "ResizeObserver" API, so we need to add if( window.ResizeObserver){ // do something }

Already fixed since<EMAIL_ADDRESS>


[dy] Add git sync

Summary
Add git sync functionality so that users can sync their data with a remote git repo. I added a .preferences.yaml file to store the sync preferences, and will add it to the gitignore so that it doesn't get overwritten when performing a sync.

Tests
tested locally, will add unit tests

cc: @wangxiaoyou1993

@wangxiaoyou1993 PTAL


Is it possible to make the accessKeyId & secret optional?

Is there any update on this? please. We would like to use only iam roles with lambda rather than injecting accesskey and secrets. This will be really useful feature.


Indexer-cli: only print identifier for offchain subgraphs

For offchain subgraphs, indexing rules fields like allocationAmount doesn't really matter, so the table view is more than enough. For a clearer output, we simply print out offchain subgraphs' list of identifiers.

Are there other places that we display offchain syncing subgraphs that should also be updated similarly? indexer status?

I think indexer status is going to call printIndexingRules here and follow the same format there, so it should be taken care of. I couldn't think of anywhere else that prints offchain subgraphs:)


Incorect feature-detect (gated flag) for multiple identical features with different sub-features

Identical feature-detect (when using the gated flag) blocks wraped repeatedly for sub-features after block parent feature . It is necessary to combine it into a single feature-detect block for identical features with different sub-features.
Example URL: https://cdn.polyfill.io/v2/polyfill.js?flags=always,gated&features=Intl.~locale.en,Intl.~locale.en-GB,Intl.~locale.ru-RU,Intl.~locale.ru
Feature-detect if (!('Intl' in this)) { … } multiple wraped for Intl, locale.en, locale.en-GB, locale.ru-RU and locale.ru.

Just stumbled upon this myself, this prevents all subsequent Intl locale polyfills to load, effectively making flags=gated unusable. Using |gated individually for each feature except for Intl works in the meantine.

Thanks for this.  I think our options here are, in order of preference:

(best) find a way of detecting that a locale is available, and use that instead of the current detect.js for locale directories
Remove the detect files from the locales, so they are not subject to feature detection

This is the update task for Intl, by the way, where the change would be needed:
https://github.com/Financial-Times/polyfill-service/blob/master/polyfills/Intl/update.task.js

PR for this -- https://github.com/Financial-Times/polyfill-service/pull/1027


Ability to add custom holidays that may differ from year to year

Hi there! This is a very useful tool and I would like to implement it on a project for my work. Our office has a few "extra" holidays for professional development during the year and currently we create these as entries in a database table every year (along with all the other holidays too, but I'm hoping we can replace that with this project).
My question is, the example for the NYSE adding goodFriday -- it seems like good friday is a thing that the code already knows about and you are just adding it into the class you are calling. But what about holidays which are completely and totally new and which may not exist in USA or otherwise? Is there an example for how to add completely arbitrary holidays which may differ year to year?

Hi! My apologies for the late response as I have been occupied with some other projects lately.
If you create your own custom Holiday Provider class, you can add non existing holidays as easy as removing them :) Instead of add an existing holiday like Good Friday, add a method in your custom holiday class that adds the new, custom holiday. That's it!
Cheers! Sacha


New 'uv' toggle

I'd like to request a new toggle.
Name: uv
Synonyms: UV, UV mode
This toggle name is already appeared in an example in your Smart Home Air Purifier Guide.
But we can't actually use it.
Please add it.
Thanks.

Thanks for reporting this! Please submit your request using the official mode/toggle request form so we can track it properly.


Installation instructions

It appears at the moment that the intended way to use V-EZ as a dependency for a CMake project is to have it as a subdirectory and use add_subdirectory in the CMakeLists.txt. It would be nice if this was documented somewhere.
For use with non-CMake projects, it would perhaps be better if an install step was included that put headers and binaries in the appropriate places. Then for ease of use with CMake projects using find_package, an appropriate "FindV-EZ.cmake" file could be placed in a directory in CMake's global module search path.

Here is the function I make to use V-EZ in a CMake project. Hope it helps.
function(buildVEZ)
  if(NOT EXISTS "${CMAKE_BINARY_DIR}/v-ez")
    message(STATUS "Cloning V-EZ (master branch)")

    execute_process(COMMAND
      git clone git@github.com:GPUOpen-LibrariesAndSDKs/V-EZ.git v-ez
      WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
    )

    execute_process(COMMAND
      git submodule init WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/v-ez
    )

    execute_process(COMMAND
      git submodule update WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/v-ez
    )
  endif()

  if(NOT EXISTS "${CMAKE_BINARY_DIR}/V-EZ-master/build")
    file(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/v-ez/build")

    execute_process(COMMAND ${CMAKE_COMMAND}
      ..
      -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
      WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/v-ez/build
    )

    execute_process(COMMAND ${CMAKE_COMMAND}
      --build
      ${CMAKE_BINARY_DIR}/v-ez/build
    )
  endif()
  set(V_EZ_INCLUDE_DIR "${CMAKE_BINARY_DIR}/v-ez/Source" PARENT_SCOPE)
  set(V_EZ_LIB_DIR "${CMAKE_BINARY_DIR}/v-ez/Bin/x86_64/" PARENT_SCOPE)
  set(V_EZ_LIBS vulkan VEZ PARENT_SCOPE)
endfunction()

Is there a way to use this library without going through cmake? Ive tried building it, but get a lot of C1083 errors in visual studio


Browser bundling

From README:

Portable Code: Written purely in JavaScript which means it can be used in Node environment and browser environment (via bundlers like browserify/JSPM/Webpack).

It cannot be fully bundled for browsers because SAX requires Node's built-in packages 'Stream' and 'string_decoder' (https://github.com/isaacs/sax-js/blob/master/lib/sax.js#L233)

Thanks Vlad for this important feedback.
I based my assumption on this line on sax project "Designed with node in mind, but should work fine in the browser or other CommonJS implementations."
Any idea how overcome this?

You're welcome. And thank you for this project.
I use rollup for bundling, and have just found rollup-plugin-node-builtins to resove it. It replaces all node builtins. Maybe it's good solution, expect for Stream, that has really big implementation. But I think, that Stream's require can be ignored for replacing, because it's located in try/catch statement https://github.com/isaacs/sax-js/blob/master/lib/sax.js#L161-L166 and can work w/o it.

These are great findings to share! Thanks.
I wonder if there is also a way I can require sax in a fully browser-compatible way so that I don't force the user to manually replace node built-ins.

emmm, how about React Native bundling?
i have to decode xml on my React Native App, what should i do?

ooops, i found https://www.npmjs.com/package/react-native-xml2js to resolve my problem. 😂

any progress?

Please can this bulletin of the README be amended to reflect this issue as to not mislead anyone else?

Portable Code: Written purely in JavaScript which means it can be used in Node environment and browser environment (via bundlers like browserify/JSPM/Webpack).

just install npm i stream ✅  https://www.npmjs.com/package/stream
And works

@herberthobregon
this package is too old，could error。

@types/node npm install @types/node --save-dev it works.
I guess the cause is here:

Vite does not support require.


feat(wal): reenables wal mode for litefs after resolution of issue

It looks like the issue that were preventing the Epic Stack from using WAL mode has been resolved. This PR updates the version of LiteFS used to 0.5.11 and un-comments the lines that enable WAL mode.
Enables WAL mode for the local db per this comment. Not sure if this is correct. 👀
I started looking into this because the call to prisma.verification.upsert in the function prepareVerification started failing for me locally with the following error: Invalid 'prisma.verification.upsert()' invocation: internal error: entered unreachable code. I started investigating WAL mode because of this GH issue.
Test Plan
I believe the existing tests cover this change.
Checklist

[ ] Tests updated
[ ] Docs updated

Screenshots
No visual changes

Also, thanks for working on this!

Have you verified that this issue no longer exists with the latest version of LiteFS? #598 (comment)

I hadn't looked at this issue yet actually 😅 just read through it. I will go through the steps to reproduce the error with this branch and report back. Thank you for this amazing resource!

@kentcdodds - I was able to deploy, make a change (similar to the change you made in your tests) and deploy the template app without an issue.
Here is the successful GH action run: https://github.com/NGimbal/epic-stack/actions/runs/7981017813/job/21791913762
Here is the change: https://github.com/NGimbal/epic-stack/commit/913a43463afbe37f1fb995fa6b7f32c53ef8f20d
The deployment also worked in production: https://github.com/NGimbal/epic-stack/actions/runs/7981106705
Let me know if this confirms that this issue has been resolved or if further testing is needed.

Ok I know I said I would stop noodling... but I didn't.
Per the most recent comments I realized that we really only need to be setting journal_mode for the local db and for the test db. So that led me to realize that seed.ts and global-setup.ts were the most appropriate locations.
I can confirm that tests pass, it deploys in CI, and that the test database and local database do in fact have journal_mode=WAL. I will (for real 😅) leave this for now. Thanks for your patience 🙏.

Ok yeah this might be a bad idea - I just tried creating a migration and re-deploying my app with these changes applied and the deployment failed.
The logs showed this message:
2024-02-21T21:28:14.793 app[784e734a231618] ewr [info] level=INFO msg="fuse: write(): wal error: wal header: cannot write to WAL header without WRITE lock, exclusive locking not allowed"
Looks like the underlying issue might not be fixed yet.
Full logs:
Monitoring
All regions
All instances
$ fly logs -a build-plus-26bf-staging
Waiting for logs...
2024-02-21T21:28:06.074 app[784e734a231618] ewr [info] level=INFO msg="wal-sync: short wal file exists on \"cache.db\", skipping sync with ltx"
2024-02-21T21:28:06.076 app[784e734a231618] ewr [info] level=INFO msg="wal-sync: short wal file exists on \"sqlite.db\", skipping sync with ltx"
2024-02-21T21:28:06.079 app[784e734a231618] ewr [info] level=INFO msg="using existing cluster id: \"LFSC628AAEC93495D628\""
2024-02-21T21:28:06.085 app[784e734a231618] ewr [info] level=INFO msg="LiteFS mounted to: /litefs/data"
2024-02-21T21:28:06.085 app[784e734a231618] ewr [info] level=INFO msg="http server listening on: http://localhost:20202"
2024-02-21T21:28:06.085 app[784e734a231618] ewr [info] level=INFO msg="waiting to connect to cluster"
2024-02-21T21:28:06.150 app[784e734a231618] ewr [info] level=INFO msg="923D5B0B11EC9704: primary lease acquired, advertising as http://784e734a231618.vm.build-plus-26bf-staging.internal:20202"
2024-02-21T21:28:06.161 app[784e734a231618] ewr [info] level=INFO msg="connected to cluster, ready"
2024-02-21T21:28:06.161 app[784e734a231618] ewr [info] level=INFO msg="node is a candidate, automatically promoting to primary"
2024-02-21T21:28:06.162 app[784e734a231618] ewr [info] level=INFO msg="node is already primary, skipping promotion"
2024-02-21T21:28:06.162 app[784e734a231618] ewr [info] level=INFO msg="proxy server listening on: http://localhost:8080"
2024-02-21T21:28:06.162 app[784e734a231618] ewr [info] level=INFO msg="executing command: node [./other/setup-swap.js]"
2024-02-21T21:28:06.418 app[784e734a231618] ewr [info] setting up swapfile...
2024-02-21T21:28:06.459 app[784e734a231618] ewr [info] swapfile setup complete
2024-02-21T21:28:06.463 app[784e734a231618] ewr [info] level=INFO msg="executing command: npx [prisma migrate deploy]"
2024-02-21T21:28:08.989 app[784e734a231618] ewr [info] npm WARN exec The following package was not found and will be installed<EMAIL_ADDRESS>2024-02-21T21:28:11.205 app[784e734a231618] ewr [info] level=INFO msg="cannot set environment metadata" reason="retries exceeded" err="cannot set machine metadata: code=412"
2024-02-21T21:28:14.617 app[784e734a231618] ewr [info] Prisma schema loaded from prisma/schema.prisma
2024-02-21T21:28:14.640 app[784e734a231618] ewr [info] Datasource "db": SQLite database "sqlite.db" at "file:/litefs/data/sqlite.db"
2024-02-21T21:28:14.772 app[784e734a231618] ewr [info] 4 migrations found in prisma/migrations
2024-02-21T21:28:14.793 app[784e734a231618] ewr [info] level=INFO msg="fuse: write(): wal error: wal header: cannot write to WAL header without WRITE lock, exclusive locking not allowed"
2024-02-21T21:28:14.796 app[784e734a231618] ewr [info] Error: SQLite database error
2024-02-21T21:28:14.796 app[784e734a231618] ewr [info] disk I/O error
2024-02-21T21:28:14.796 app[784e734a231618] ewr [info] 0: schema_core::commands::apply_migrations::Applying migration
2024-02-21T21:28:14.796 app[784e734a231618] ewr [info] with migration_name="20240221211329_project_org_invites"
2024-02-21T21:28:14.796 app[784e734a231618] ewr [info] at schema-engine/core/src/commands/apply_migrations.rs:91
2024-02-21T21:28:14.796 app[784e734a231618] ewr [info] 1: schema_core::state::ApplyMigrations
2024-02-21T21:28:14.796 app[784e734a231618] ewr [info] at schema-engine/core/src/state.rs:201
2024-02-21T21:28:14.817 app[784e734a231618] ewr [info] npm notice
2024-02-21T21:28:14.818 app[784e734a231618] ewr [info] npm notice New minor version of npm available! 10.2.4 -> 10.4.0
2024-02-21T21:28:14.818 app[784e734a231618] ewr [info] npm notice Changelog: <https://github.com/npm/cli/releases/tag/v10.4.0>
2024-02-21T21:28:14.818 app[784e734a231618] ewr [info] npm notice Run `npm install -g<EMAIL_ADDRESS>to update!
2024-02-21T21:28:14.819 app[784e734a231618] ewr [info] npm notice
2024-02-21T21:28:14.852 app[784e734a231618] ewr [info] ERROR: cannot exec: sync cmd: cannot run command: exit status 1
2024-02-21T21:28:14.857 app[784e734a231618] ewr [info] level=INFO msg="923D5B0B11EC9704: exiting primary, destroying lease"
2024-02-21T21:28:14.963 app[784e734a231618] ewr [info] INFO Main child exited normally with code: 1
2024-02-21T21:28:14.965 app[784e734a231618] ewr [info] WARN Reaped child process with pid: 390 and signal: SIGTERM, core dumped? false
2024-02-21T21:28:14.966 app[784e734a231618] ewr [info] INFO Starting clean up.
2024-02-21T21:28:14.967 app[784e734a231618] ewr [info] INFO Umounting /dev/vdb from /data
2024-02-21T21:28:14.971 app[784e734a231618] ewr [info] WARN hallpass exited, pid: 314, status: signal: 15 (SIGTERM)
2024-02-21T21:28:14.983 app[784e734a231618] ewr [info] 2024/02/21 21:28:14 listening on [fdaa:5:80ea:a7b:15e:1c74:74ee:2]:22 (DNS: [fdaa::3]:53)
2024-02-21T21:28:15.971 app[784e734a231618] ewr [info] [ 10.329453] reboot: Restarting system
2024-02-21T21:28:17.040 runner[784e734a231618] ewr [info] machine did not have a restart policy, defaulting to restart
2024-02-21T21:28:52.233 app[784e734a231618] ewr [info] [ 0.037409] PCI: Fatal: No config space access function found
2024-02-21T21:28:52.453 app[784e734a231618] ewr [info] INFO Starting init (commit: 93e3fc8d)...
2024-02-21T21:28:52.469 app[784e734a231618] ewr [info] INFO Mounting /dev/vdb at /data w/ uid: 0, gid: 0 and chmod 0755
2024-02-21T21:28:52.472 app[784e734a231618] ewr [info] INFO Resized /data to<PHONE_NUMBER> bytes
2024-02-21T21:28:52.473 app[784e734a231618] ewr [info] INFO Preparing to run: `docker-entrypoint.sh litefs mount` as root
2024-02-21T21:28:52.484 app[784e734a231618] ewr [info] INFO [fly api proxy] listening at /.fly/api
2024-02-21T21:28:52.493 app[784e734a231618] ewr [info] 2024/02/21 21:28:52 listening on [fdaa:5:80ea:a7b:15e:1c74:74ee:2]:22 (DNS: [fdaa::3]:53)
2024-02-21T21:28:52.536 runner[784e734a231618] ewr [info] Machine started in 504ms
2024-02-21T21:28:52.537 app[784e734a231618] ewr [info] config file read from /etc/litefs.yml
2024-02-21T21:28:52.537 app[784e734a231618] ewr [info] LiteFS v0.5.11, commit=63eab529dc3353e8d159e097ffc4caa7badb8cb3
2024-02-21T21:28:52.537 app[784e734a231618] ewr [info] level=INFO msg="host environment detected" type=fly.io
2024-02-21T21:28:52.537 app[784e734a231618] ewr [info] level=INFO msg="no backup client configured, skipping"
2024-02-21T21:28:52.537 app[784e734a231618] ewr [info] level=INFO msg="Using Consul to determine primary"
2024-02-21T21:28:52.623 app[784e734a231618] ewr [info] level=INFO msg="initializing consul: key=epic-stack-litefs/build-plus-26bf-staging<EMAIL_ADDRESS>hostname=784e734a231618 advertise-url=http://784e734a231618.vm.build-plus-26bf-staging.internal:20202"
2024-02-21T21:28:52.626 app[784e734a231618] ewr [info] level=INFO msg="wal-sync: short wal file exists on \"cache.db\", skipping sync with ltx"
2024-02-21T21:28:52.629 app[784e734a231618] ewr [info] level=INFO msg="wal-sync: short wal file exists on \"sqlite.db\", skipping sync with ltx"
2024-02-21T21:28:52.633 app[784e734a231618] ewr [info] level=INFO msg="using existing cluster id: \"LFSC628AAEC93495D628\""
2024-02-21T21:28:52.639 app[784e734a231618] ewr [info] level=INFO msg="LiteFS mounted to: /litefs/data"
2024-02-21T21:28:52.639 app[784e734a231618] ewr [info] level=INFO msg="http server listening on: http://localhost:20202"
2024-02-21T21:28:52.639 app[784e734a231618] ewr [info] level=INFO msg="waiting to connect to cluster"
2024-02-21T21:28:52.691 app[784e734a231618] ewr [info] level=INFO msg="708EA8C184699DCC: primary lease acquired, advertising as http://784e734a231618.vm.build-plus-26bf-staging.internal:20202"
2024-02-21T21:28:52.702 app[784e734a231618] ewr [info] level=INFO msg="connected to cluster, ready"
2024-02-21T21:28:52.702 app[784e734a231618] ewr [info] level=INFO msg="node is a candidate, automatically promoting to primary"
2024-02-21T21:28:52.702 app[784e734a231618] ewr [info] level=INFO msg="node is already primary, skipping promotion"
2024-02-21T21:28:52.702 app[784e734a231618] ewr [info] level=INFO msg="proxy server listening on: http://localhost:8080"
2024-02-21T21:28:52.702 app[784e734a231618] ewr [info] level=INFO msg="executing command: node [./other/setup-swap.js]"
2024-02-21T21:28:52.979 app[784e734a231618] ewr [info] setting up swapfile...
2024-02-21T21:28:53.024 app[784e734a231618] ewr [info] swapfile setup complete
2024-02-21T21:28:53.030 app[784e734a231618] ewr [info] level=INFO msg="executing command: npx [prisma migrate deploy]"
2024-02-21T21:28:55.667 app[784e734a231618] ewr [info] npm WARN exec The following package was not found and will be installed<EMAIL_ADDRESS>2024-02-21T21:28:57.748 app[784e734a231618] ewr [info] level=INFO msg="cannot set environment metadata" reason="retries exceeded" err="cannot set machine metadata: code=412"
2024-02-21T21:29:01.783 app[784e734a231618] ewr [info] Prisma schema loaded from prisma/schema.prisma
2024-02-21T21:29:01.811 app[784e734a231618] ewr [info] Datasource "db": SQLite database "sqlite.db" at "file:/litefs/data/sqlite.db"
2024-02-21T21:29:01.934 app[784e734a231618] ewr [info] 4 migrations found in prisma/migrations
2024-02-21T21:29:01.951 app[784e734a231618] ewr [info] level=INFO msg="fuse: write(): wal error: wal header: cannot write to WAL header without WRITE lock, exclusive locking not allowed"
2024-02-21T21:29:01.956 app[784e734a231618] ewr [info] Error: SQLite database error
2024-02-21T21:29:01.956 app[784e734a231618] ewr [info] disk I/O error
2024-02-21T21:29:01.956 app[784e734a231618] ewr [info] 0: schema_core::commands::apply_migrations::Applying migration
2024-02-21T21:29:01.956 app[784e734a231618] ewr [info] with migration_name="20240221211329_project_org_invites"
2024-02-21T21:29:01.956 app[784e734a231618] ewr [info] at schema-engine/core/src/commands/apply_migrations.rs:91
2024-02-21T21:29:01.956 app[784e734a231618] ewr [info] 1: schema_core::state::ApplyMigrations
2024-02-21T21:29:01.956 app[784e734a231618] ewr [info] at schema-engine/core/src/state.rs:201
2024-02-21T21:29:01.980 app[784e734a231618] ewr [info] npm notice
2024-02-21T21:29:01.980 app[784e734a231618] ewr [info] npm notice New minor version of npm available! 10.2.4 -> 10.4.0
2024-02-21T21:29:01.981 app[784e734a231618] ewr [info] npm notice Changelog: <https://github.com/npm/cli/releases/tag/v10.4.0>
2024-02-21T21:29:01.981 app[784e734a231618] ewr [info] npm notice Run `npm install -g<EMAIL_ADDRESS>to update!
2024-02-21T21:29:01.981 app[784e734a231618] ewr [info] npm notice
2024-02-21T21:29:02.007 app[784e734a231618] ewr [info] ERROR: cannot exec: sync cmd: cannot run command: exit status 1
2024-02-21T21:29:02.014 app[784e734a231618] ewr [info] level=INFO msg="708EA8C184699DCC: exiting primary, destroying lease"
2024-02-21T21:29:02.500 app[784e734a231618] ewr [info] INFO Main child exited normally with code: 1
2024-02-21T21:29:02.502 app[784e734a231618] ewr [info] WARN Reaped child process with pid: 389 and signal: SIGTERM, core dumped? false
2024-02-21T21:29:02.504 app[784e734a231618] ewr [info] INFO Starting clean up.
2024-02-21T21:29:02.504 app[784e734a231618] ewr [info] INFO Umounting /dev/vdb from /data
2024-02-21T21:29:02.509 app[784e734a231618] ewr [info] WARN hallpass exited, pid: 314, status: signal: 15 (SIGTERM)
2024-02-21T21:29:02.520 app[784e734a231618] ewr [info] 2024/02/21 21:29:02 listening on [fdaa:5:80ea:a7b:15e:1c74:74ee:2]:22 (DNS: [fdaa::3]:53)
2024-02-21T21:29:03.509 app[784e734a231618] ewr [info] [ 11.309680] reboot: Restarting system
2024-02-21T21:29:03.797 runner[784e734a231618] ewr [info] machine has reached its max restart count (10)

Sorry for the slow reply. I think all you need to do to fix the WAL issue with Prisma is to disable advisory locking by setting an environment variable. It probably makes sense to set it in the [env] section of fly.toml:
[env]
PRISMA_SCHEMA_DISABLE_ADVISORY_LOCK = "1"

Very interesting! @NGimbal let me know when you've tried this out and then we can look into re-enabling WAL in the Epic Stack 🎉

Ok so looks like this works 🥳 Thanks @benbjohnson for the direction here!
Succcessful deploy after taking @benbjohnson's suggestion:
https://github.com/NGimbal/epic-stack/actions/runs/8013571034
Successful deploy after making a subsequent change:
https://github.com/NGimbal/epic-stack/actions/runs/8013627275
Successful deploy after a migration:
https://github.com/NGimbal/epic-stack/actions/runs/8013660785
Successful deploy after making another change... for good measure:
https://github.com/NGimbal/epic-stack/actions/runs/8013694713
Looks like it's working!


[FIX]Ignore cache requests & no track incognito host Issue #15

Merge of Jolg42's work with recent evolution for Chrome + add testing.
Some of his work list adding "const" for the declaration of functions has not been added because of problems not solved about testability of the code.

Thanks for the code review @Jolg42 , code smells better like that. I played automated test to verify that everything is OK.

@cguignol why this PR is closed?

Becaue it was "Merged" somehow 🤷♂
https://github.com/cguignol/Carbonalyser/blob/master/script.js

@Jolg42 it's the forked repo

Oh yes indeed 😅

Smells like a mistake from me, I apologize and reopen the Pull Request ;)


Sub-application Design

Document how Fusion subapps will:

[x] be developed

[x] be deployed

[ ] and sketch out an API Fusion can expose to them

Please follow the design doc here (protected): https://docs.google.com/document/d/1vivgZRmIbMAxa37i6xgRlgC2mck3nIdvovoTocnvXOM/edit


feat(ipv6Cluster): add ipv6Cluster value for galera (bool)

Hi,
So, here a PR to implement the Galera's value ipv6Cluster  (bool) in the Galera spec, in the CRD, to pass this value to the init container to modify the galera configuration if ipv6 is enabled.
I'm pretty new in CRD and Go Object development, so please if I can improve something, let me know.
And it seem difficult to test that, on my side (with new crd and go links between two repos).
If you have any idea how I can test that ?
Thanks !

Hey thanks for the PR!
It would be great if we could test all the IPv6 changes together before merging. For doing so, you can:

Setup a development environment following this guide
In init:

Bump the init image here
make docker-build: This will build the init docker image locally
make docker-load: This will load the init image in your KIND cluster

In mariadb-operator repository:

make gen:  to generate the new CRDs. Make sure you commit the changes so the CI can pass.
make install: Install the new CRDs on the cluster.
Refer to the previous dev guide to know how to run locally and test
When you apply an example, make sure to bump the init image here

This will enable you to test IPv6 changes locally. Once you are done, I will release a new version of init so you can refer to it in the defaults and raise another PR in mariadb-operator

Hey,
I made some tests,
=== RUN   TestAPIs
Running Suite: Webhook Suite
============================
Random Seed:<PHONE_NUMBER>
Will run 16 of 16 specs

••••••••••••••••

Ran 16 of 16 Specs in 7.291 seconds
SUCCESS! -- 16 Passed | 0 Failed | 0 Pending | 0 Skipped

--- FAIL: TestAPIs (183.21s)
FAIL
coverage: 46.8% of statements
FAIL    github.com/mariadb-operator/mariadb-operator/controllers        183.224s
=== RUN   TestRecoveryStatusGetSet
--- PASS: TestRecoveryStatusGetSet (0.00s)
=== RUN   TestRecoveryStatusBootstrap
--- PASS: TestRecoveryStatusBootstrap (3.00s)
=== RUN   TestRecoveryStatusSafeToBootstrap
=== RUN   TestRecoveryStatusSafeToBootstrap/no_status
=== RUN   TestRecoveryStatusSafeToBootstrap/no_pods
=== RUN   TestRecoveryStatusSafeToBootstrap/negative_seqno
=== RUN   TestRecoveryStatusSafeToBootstrap/no_source
=== RUN   TestRecoveryStatusSafeToBootstrap/safe_to_bootstrap_source
--- PASS: TestRecoveryStatusSafeToBootstrap (0.00s)
    --- PASS: TestRecoveryStatusSafeToBootstrap/no_status (0.00s)
    --- PASS: TestRecoveryStatusSafeToBootstrap/no_pods (0.00s)
    --- PASS: TestRecoveryStatusSafeToBootstrap/negative_seqno (0.00s)
    --- PASS: TestRecoveryStatusSafeToBootstrap/no_source (0.00s)
    --- PASS: TestRecoveryStatusSafeToBootstrap/safe_to_bootstrap_source (0.00s)
=== RUN   TestRecoveryStatusIsComplete
=== RUN   TestRecoveryStatusIsComplete/no_status
=== RUN   TestRecoveryStatusIsComplete/no_pods
=== RUN   TestRecoveryStatusIsComplete/partial_state
=== RUN   TestRecoveryStatusIsComplete/full_state
=== RUN   TestRecoveryStatusIsComplete/partially_recovered
=== RUN   TestRecoveryStatusIsComplete/fully_recovered
=== RUN   TestRecoveryStatusIsComplete/incomplete
=== RUN   TestRecoveryStatusIsComplete/incomplete_seqnos
=== RUN   TestRecoveryStatusIsComplete/complete
=== RUN   TestRecoveryStatusIsComplete/complete_with_intersection
=== RUN   TestRecoveryStatusIsComplete/fully_complete
--- PASS: TestRecoveryStatusIsComplete (0.00s)
    --- PASS: TestRecoveryStatusIsComplete/no_status (0.00s)
    --- PASS: TestRecoveryStatusIsComplete/no_pods (0.00s)
    --- PASS: TestRecoveryStatusIsComplete/partial_state (0.00s)
    --- PASS: TestRecoveryStatusIsComplete/full_state (0.00s)
    --- PASS: TestRecoveryStatusIsComplete/partially_recovered (0.00s)
    --- PASS: TestRecoveryStatusIsComplete/fully_recovered (0.00s)
    --- PASS: TestRecoveryStatusIsComplete/incomplete (0.00s)
    --- PASS: TestRecoveryStatusIsComplete/incomplete_seqnos (0.00s)
    --- PASS: TestRecoveryStatusIsComplete/complete (0.00s)
    --- PASS: TestRecoveryStatusIsComplete/complete_with_intersection (0.00s)
    --- PASS: TestRecoveryStatusIsComplete/fully_complete (0.00s)
=== RUN   TestRecoveryStatusBootstrapSource
=== RUN   TestRecoveryStatusBootstrapSource/no_status
=== RUN   TestRecoveryStatusBootstrapSource/missing_pods
=== RUN   TestRecoveryStatusBootstrapSource/safe_to_bootstrap
=== RUN   TestRecoveryStatusBootstrapSource/incomplete_recovery
=== RUN   TestRecoveryStatusBootstrapSource/partially_recovered
=== RUN   TestRecoveryStatusBootstrapSource/partially_recovered_with_different_seqnos
=== RUN   TestRecoveryStatusBootstrapSource/partially_recovered_with_different_seqnos_and_safe_to_bootstrap
=== RUN   TestRecoveryStatusBootstrapSource/fully_recovered
=== RUN   TestRecoveryStatusBootstrapSource/fully_recovered_with_different_seqnos
=== RUN   TestRecoveryStatusBootstrapSource/fully_recovered_with_different_seqnos_and_safe_to_bootstrap
--- PASS: TestRecoveryStatusBootstrapSource (0.00s)
    --- PASS: TestRecoveryStatusBootstrapSource/no_status (0.00s)
    --- PASS: TestRecoveryStatusBootstrapSource/missing_pods (0.00s)
    --- PASS: TestRecoveryStatusBootstrapSource/safe_to_bootstrap (0.00s)
    --- PASS: TestRecoveryStatusBootstrapSource/incomplete_recovery (0.00s)
    --- PASS: TestRecoveryStatusBootstrapSource/partially_recovered (0.00s)
    --- PASS: TestRecoveryStatusBootstrapSource/partially_recovered_with_different_seqnos (0.00s)
    --- PASS: TestRecoveryStatusBootstrapSource/partially_recovered_with_different_seqnos_and_safe_to_bootstrap (0.00s)
    --- PASS: TestRecoveryStatusBootstrapSource/fully_recovered (0.00s)
    --- PASS: TestRecoveryStatusBootstrapSource/fully_recovered_with_different_seqnos (0.00s)
    --- PASS: TestRecoveryStatusBootstrapSource/fully_recovered_with_different_seqnos_and_safe_to_bootstrap (0.00s)
PASS
coverage: 20.3% of statements
ok      github.com/mariadb-operator/mariadb-operator/pkg/controller/galera      3.019s  coverage: 20.3% of statements
=== RUN   TestInmutableWebhook
=== RUN   TestInmutableWebhook/update_mutable_field
=== RUN   TestInmutableWebhook/update_inmutable_field
=== RUN   TestInmutableWebhook/update_inmutableinit_field
=== RUN   TestInmutableWebhook/init_inmutableinit_field
=== RUN   TestInmutableWebhook/restore_init
=== RUN   TestInmutableWebhook/complex_update
--- PASS: TestInmutableWebhook (0.00s)
    --- PASS: TestInmutableWebhook/update_mutable_field (0.00s)
    --- PASS: TestInmutableWebhook/update_inmutable_field (0.00s)
    --- PASS: TestInmutableWebhook/update_inmutableinit_field (0.00s)
    --- PASS: TestInmutableWebhook/init_inmutableinit_field (0.00s)
    --- PASS: TestInmutableWebhook/restore_init (0.00s)
    --- PASS: TestInmutableWebhook/complex_update (0.00s)
PASS
coverage: 94.1% of statements
ok      github.com/mariadb-operator/mariadb-operator/pkg/webhook        0.033s  coverage: 94.1% of statements
FAIL
make: *** [make/dev.mk:23: test] Error 1

❯ sudo kubectl get po
NAME               READY   STATUS                  RESTARTS        AGE
mariadb-galera-0   0/2     Init:ErrImagePull       0               85s
mariadb-galera-1   0/2     Init:ImagePullBackOff   0               73m
mariadb-galera-2   0/2     Init:ImagePullBackOff   0               73m
mariadb-repl-0     1/1     Running                 0               67m
mariadb-repl-1     1/1     Running                 1 (8m17s ago)   67m
mariadb-repl-2     1/1     Running                 0               67m

 Failed to pull image "ghcr.io/mariadb-operator/init:v0.0.5": rpc error: code = Unknown desc = failed to pull and unpack image "ghcr.io/mariadb-operator/init:v0.0.5": failed to resolve reference "ghcr.io/mariadb-operator/init:v0.0.5": failed to do request: Head "https://ghcr.io/v2/mariadb-operator/init/manifests/v0.0.5": net/http: TLS handshake timeout

I got some issue on the mariadb-galera side. I don't know why. The Kind is pretty obscure, I can't ping my pods or reach services.
My CRD field seem be working ipv6Cluster :
❯ sudo kubectl get mariadb mariadb-galera -o yaml
apiVersion: mariadb.mmontes.io/v1alpha1
kind: MariaDB
metadata:
  creationTimestamp: "2023-08-22T23:32:34Z"
  generation: 3
  name: mariadb-galera
  namespace: default
  resourceVersion: "49462"
  uid: 1b670aa2-6b86-46c6-9d2d-646db1b68d26
spec:
  connection:
    secretName: conn-mdb-galera
    secretTemplate:
      key: dsn
  database: test
  galera:
    enabled: true
    ipv6Cluster: false
    recovery:
      clusterBootstrapTimeout: 5m0s

I'm a bit stuck to find what I need to do.

Hi @mmontes11 ,
It's probably nothing but I'm not able to build init,
------
 > [builder 4/6] RUN go mod download:
12.20 go<EMAIL_ADDRESS>parsing go.mod:
12.20   module declares its path as: github.com/mariadb-operator/mariadb-operator
12.20           but was required as: github.com/valentin2105/mariadb-operator
------

I had to create a tag on my repo to point to it in go.mod because the @feat/ipv6Cluster  didn't worked.
And If I change the mariadb-operator module with my github name, (I don't know how) it will update that on this current PR.
So I'm a bit stuck.  Sorry about that

Hey there @valentin2105 !
I think you are facing this problem because you are working in a fork, something that I haven't tested TBH. This seems to be a recurrent problem:

https://stackoverflow.com/questions/61311436/how-to-fix-parsing-go-mod-module-declares-its-path-as-x-but-was-required-as-y

Let me know if this helps so we can create a procedure to develop init and agent images to be tested locally by future contributors. Sorry for the inconvenience 🙏🏻