Support for supplying ownership information

When I visit my sites that are secured with this (awesome) container, and view the certificate information in Firefox, it says
Owner:  This website does not supply ownership information.
Is there any way that we could set up a LETSENCRYPT_OWNER environment variable to be able to set, so that this field isn't simply left blank? If this feature already exists, could we include a brief entry about it in the README file?

Hi,
Providing ownership information requires either an OV (organization validated) or EV (extended validation) certificate.
Those two type of certificates are obtained through a manual validation process, you have to prove that you are the organization you claim to be, and not just prove that you own a certain domain or set of domains. So Let's Encrypt aim being to provide free certificates in an automated way, they only issue DV (domain validated) certificates.
https://community.letsencrypt.org/t/adding-ownership-information/20174


Feature/theme

Made new theme object inspired by some of the properties of the Material UI theme object.

Closes #27

I'm working on fixing the failed checks.

The failed tests have been addressed.
I have also configured storybook with typescript which closes #41

@FredrikAugust:  A lot of the stories you have written are broken. These are now commented out. They are not complying with the interfaces for the respective components, so TypeScript complains. It is adressed in #50 if you want to fix these yourself

I am aware that this is an issue, and sadly, that's the downside with introducing TypeScript. One of the only good things about JavaScript is that you can simply not give an otter about components not being satisfied with the props they receive.
I will however address this later this week, but for now I am busy implementing the authentication, which will require quite a bit of work.
Do you think you could resolve the merge conflict locally, and push the changes here? Thanks.
Other than that, looks good! :taco:


Implement sql.execution.Sort to spark 1.6.0

subtask #47 Only in ./generatedNashorn16/sql/execution: Sort.js

sql.execution/Sort not a documented API in SPark 1.6.x


Fix typo: replace "build-in" with "built-in"

@christianacca Hi, Chris! This is a very simple PR fixing a typo. Continous integration is failing because of sh: 1: karma: not found. Do you know what is going on here? I'm just changing a text inside comments.


Add missing classifier entries for supported python versions

Stated that we support 2.6, 2.7, 3.3+ and PyPy


Add promise to pending request

It would be helpful if I was able to track my request in promise
Resolve after all the requests sent to google have come back.

The underlying google voice recognition api that this depends upon is evented, so to return a promise would require some simplifying assumptions, such as single utterance.
If you come up with a connivence wrapper that has this API I'll consider a PR.
If you are talking about actual network requests you will have to dig into the underlying modules as this only deals with the the API that google provides with their voice recognition node module and doesn't have control over that.


Concurrency Minor Release Update: Issue #81

See #81 and #79
closes #81
closes #79
closes #85
closes #82

needs to be melded/squashed and re-based into staged-for-release.


Custom Field name results in edgecase

We currently provide the UI with the cache/namespace fields with the following api response:
{
    "name": "custom_fields.Boolean Field",
    "displayed_name": "Boolean Field",
    "type": "bool",
    "required": true,
    "options": [],
    "description": "Cool Boolean Description Required"
}

I am expected to POST/PATCH this via:
{
    custom_fields:
        "Boolean Field": <value>
}

Which begs the question what if I use Boolean.Field as my field name?
My preference is to get rid of the nesting and just check for name collisions. Easiest solution is likely escaping the . when you send them to me so I know what ones are distinguishing object structure and what ones are part of the name.

Actually, if I operate on the assumption that custom_fields will never be nested more then once I can determine the correct nesting.
I will keep this open because I am curious your thoughts as personally that feels a little dirty.

I finished the UI for this so lets keep it as is for now. Lets note for the future though.

First thing that I spotted is that "custom_fields.Boolean Field" is not a valid field name, nor Boolean.Field (but apparently I didn't check this in the code 😞, so this ticket can be a good place to enforce such rules), the filed name must be sneak case so that the displayed_name can be correctly converted
For the dot notation, I don't think we will support nested custom fields in the near future. The dot in the name was to distinguish between admin_metadata and custom_fields as they are both parent structure holding the fields.

oops, nvm I can open a new ticket for what I mentioned above


Different gradients in tf2 when eager mode is enabled compared to graph mode

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): Yes
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Ubuntu 18.04
TensorFlow installed from (source or binary): Binary
TensorFlow version (use command below):  v2.3.0
Python version:  v3.8.5
CUDA/cuDNN version: CUDA  v11.0/ cuDNN V9.1.85
GPU model and memory: GPU: NVIDIA Quadro P1000 / Intel UHD Graphics 630 - Memory: 2x Samsung M471A4G43MB1-CTD

You can collect some of this information using our environment capture:

tf_env.txt

Describe the current behaviour
I'm currently porting several TensorFlow v1.x legacy repositories over to tf2.3 with eager execution enabled. I used the steps in the documentation to do this. Unfortunately, one of the RL Agents which is based on the Lyapunov Actor-Critic  architecture of Han et al. 2019 is not training when eager execution is enabled. I did some debugging, and it looks like there is a problem with computing the gradients of the Squashed Gaussian Actor-network:
class SquashedGaussianActor(tf.keras.Model):
    def __init__(
        self, obs_dim, act_dim, hidden_sizes, name, seeds=None, **kwargs,
    ):
        """Squashed Gaussian actor network.

        Args:
            obs_dim (int): The dimension of the observation space.

            act_dim (int): The dimension of the action space.

            hidden_sizes (list): Array containing the sizes of the hidden layers.

            name (str): The keras module name.

            seeds (list, optional): The random seeds used for the weight initialization
                and the sampling ([weights_seed, sampling_seed]). Defaults to
                [None, None]
        """
        super().__init__(name=name, **kwargs)

        # Get class parameters
        self.s_dim = obs_dim
        self.a_dim = act_dim
        self._seed = seeds[0]
        self._initializer = tf.keras.initializers.GlorotUniform(
            seed=self._seed
        )  # Seed weights initializer
        self._tfp_seed = seeds[1]

        # Create fully connected layers
        self.net = tf.keras.Sequential(
            [
                tf.keras.layers.InputLayer(
                    dtype=tf.float32, input_shape=(self.s_dim), name=name + "/input"
                )
            ]
        )
        for i, hidden_size_i in enumerate(hidden_sizes):
            self.net.add(
                tf.keras.layers.Dense(
                    hidden_size_i,
                    activation="relu",
                    name=name + "/l{}".format(i + 1),
                    kernel_initializer=self._initializer,
                )
            )

        # Create Mu and log sigma output layers
        self.mu = tf.keras.Sequential(
            [
                tf.keras.layers.InputLayer(
                    dtype=tf.float32, input_shape=hidden_sizes[-1]
                ),
                tf.keras.layers.Dense(
                    act_dim,
                    activation=None,
                    name=name + "/mu",
                    kernel_initializer=self._initializer,
                ),
            ]
        )
        self.log_sigma = tf.keras.Sequential(
            [
                tf.keras.layers.InputLayer(
                    dtype=tf.float32, input_shape=hidden_sizes[-1]
                ),
                tf.keras.layers.Dense(
                    act_dim,
                    activation=None,
                    name=name + "/log_sigma",
                    kernel_initializer=self._initializer,
                ),
            ]
        )

    @tf.function
    def call(self, inputs):
        """Perform forward pass."""

        # Retrieve inputs
        obs = inputs

        # Perform forward pass through fully connected layers
        net_out = self.net(obs)

        # Calculate mu and log_sigma
        mu = self.mu(net_out)
        log_sigma = self.log_sigma(net_out)
        log_sigma = tf.clip_by_value(
            log_sigma, LOG_SIGMA_MIN_MAX[0], LOG_SIGMA_MIN_MAX[1]
        )

        # Perform re-parameterization trick
        sigma = tf.exp(log_sigma)

        # Create bijectors (Used in the re-parameterization trick)
        squash_bijector = SquashBijector()
        affine_bijector = tfp.bijectors.Shift(mu)(tfp.bijectors.Scale(sigma))

        # Sample from the normal distribution and calculate the action
        batch_size = tf.shape(input=obs)[0]
        base_distribution = tfp.distributions.MultivariateNormalDiag(
            loc=tf.zeros(self.a_dim), scale_diag=tf.ones(self.a_dim)
        )
        epsilon = base_distribution.sample(batch_size, seed=self._tfp_seed)
        raw_action = affine_bijector.forward(epsilon)
        clipped_a = squash_bijector.forward(raw_action)

        # Transform distribution back to the original policy distribution
        reparm_trick_bijector = tfp.bijectors.Chain((squash_bijector, affine_bijector))
        distribution = tfp.distributions.TransformedDistribution(
            distribution=base_distribution, bijector=reparm_trick_bijector
        )
        clipped_mu = squash_bijector.forward(mu)

        # Return network outputs and noise sample
        return clipped_a, clipped_mu, distribution.log_prob(clipped_a), epsilon

Although gradients are computed for this network, these are very different in eager mode as compared to when the tf.compat.v1.disable_eager_execution() flag is used. This is strange since the loss functions, random seeds, weights/biases and inputs are equal. Furthermore, also the outputs of a forward pass through the network are identical in both Eager and legacy Graph mode. This problem does not seem to exist for accompanying Lyapunov Critic (a modified version of a deep Q network). I first wanted to post it here before posting on StackOverflow as I am unsure whether this a translation issue or a bug. I tried searching for possible causes, but I did not find a possible solution to my problem.
Describe the expected behaviour
I expected the gradients to be equal in both the script in which Eager mode is enabled and the one in which Eager mode disabled. Instead, although the Actor loss is equal (-1084.2743) the gradients are different:
Results eager mode:
grad/l1/weights:
[[ 13.408794     2.178104   -11.570398   108.1129       0.      46.277092  ]
 [ 30.369755    -0.23067771 -16.505516    87.53128      0.      22.498222]]

grad/l1/bias:
[ 47.802944    0.4118477 -26.826544  185.92018     0.         60.14121]

grad/l2/weights:
[[-12.058103     0.          -0.33448434  14.862488     0.      -1.8673693 ]
 [ -0.30301327   0.           0.          18.134262     0.      0.        ]
 [-58.740616     0.          -1.113349   119.78081      0.      -2.120421  ]
 [-24.779123     0.          -0.4045168   66.25852      0.      -0.24545981]
 [  0.           0.           0.           0.           0.      0.        ]
 [ -3.3655543    0.           0.          41.697414     0.      0.]]

grad/l2/bias:
[-98.14556     0.          1.5422362 206.91672     0.         -4.5077815]

grad/mu/weights:
[[ 4.81568050e+00 -2.37027216e+00]
 [ 0.00000000e+00  0.00000000e+00]
 [-1.84061453e-01  1.09151885e-01]
 [ 3.29189644e+01 -2.93549042e+01]
 [ 0.00000000e+00  0.00000000e+00]
 [-4.64032125e-03  6.64837938e-03]]

grad/mu/bias:
[110.85972 -87.11501]

grad/log_sigma/weights:
[[5.8719816e+00 5.4135699e+00]
 [0.0000000e+00 0.0000000e+00]
 [2.2099029e-01 3.2953596e-01]
 [7.5656143e+01 6.9250507e+00]
 [0.0000000e+00 0.0000000e+00]
 [6.7091000e-04 9.1812750e-03]]

grad/log_sigma/bias:
[238.21657   47.906483]

Results graph mode:
grad/l1/weights:
[[  1.1570635   2.2042375 -11.598429   88.867676    0.         48.9553   ]
 [ 11.854488   -0.2453581 -16.115313   49.29876     0.         24.385675 ]]

grad/l1/bias:
[ 29.577682     0.16548407 -29.669703   144.31357      0.      64.56108   ]

grad/l2/weights:
[[ -9.905338     0.           4.7838783    3.8737621    0.      -3.4614413 ]
 [ -0.30002874   0.           0.          18.411116     0.      0.]
 [-53.221275     0.           5.242466    79.01278      0.      -3.936808]
 [-23.196867     0.           0.53559065  51.048943     0.      -0.45809162]
 [  0.           0.           0.           0.           0.      0. ]
 [ -4.0506964    0.           0.          42.10633      0.      0.]]

grad/l2/bias:
[-98.10234    0.        16.95784  155.67645    0.        -8.705088]

grad/mu/weights:
[[ 1.62482891e+01  1.15455017e+01]
 [ 0.00000000e+00  0.00000000e+00]
 [ 2.01459303e-01  6.31435871e-01]
 [ 1.06661575e+02  4.60808792e+01]
 [ 0.00000000e+00  0.00000000e+00]
 [-3.92461056e-03  9.14150383e-03]]

grad/mu/bias:
[372.89713 178.99115]

grad/log_sigma/weights:
[[7.4654112e+00 1.1838960e+01]
 [0.0000000e+00 0.0000000e+00]
 [3.2749507e-01 6.5140498e-01]
 [8.7392433e+01 4.8770226e+01]
 [0.0000000e+00 0.0000000e+00]
 [1.4014873e-03 9.9075940e-03]]

grad/log_sigma/bias:
[289.77673 198.32103]

Code to reproduce the problem
I placed two small stand-alone example scripts tf2_val_grad.py and tf2_val_grad_eager.py in my repository that can be used to reproduce the problem. The repository also contains a small README.md which explains how to run the code examples.
Other info / logs
tf2_val_grad_eager_terminal_output.txt
tf2_val_grad_terminal_output.txt
Possible related issues

#27827
https://github.com/tensorflow/probability/issues/345

Further debug steps

Trim the call function down to see where the gradients converge.

In the meantime, I will do some further debugging to see what parts of the call methods might cause problems with computing the gradients.

Closing this issue for now as. This might be a StackOverflow question after all. I just found out that when I change the loss function from:
a_loss = GRAD_SCALE_FACTOR * (
        labda * l_delta + alpha * tf.reduce_mean(input_tensor=log_pis)
    )

To:
a_loss = GRAD_SCALE_FACTOR * (alpha * tf.reduce_mean(input_tensor=log_pis))

The gradients become equal. Meaning there is a difference in how the gradient is computed when the second actor copy is added.

For future reference: One of the required gradients was None in the tf2 eager version. This was caused by one of the forward passes that was required to compute these gradients not being taped. I used the tensorboard debugger to find this out.


Decodable' is ambiguous for type lookup in this context (Swift4)

we are updating our app from swift3 to swift4.
Error Messages
Decodable' is ambiguous for type lookup in this context. Cannot convert value of type '([DiaryDecodable.MeetingType]?) -> DiaryDecodable' (aka '(Optional<Array>) -> DiaryDecodable'
Sample JSON
{
    "_links": [],
    "resource": [
        {
            "keyName": "key1",
            "value": "Meeting Location"
        },
        {
            "keyName": "key2",
            "value": "Meeting Details"
        }
}

Models
All models involved, including their Decodable implementations.
struct DiaryDecodable: Diary {
  typealias MeetingType = MeetingDecodable
  var meetings: [MeetingType]? = nil
}

extension DiaryDecodable: Decodable {

  static func decode(_ j: JSON) -> Decoded<DiaryDecodable> {
    let diary = curry(DiaryDecodable.init(meetings:))
    return diary
      <^> j <||? "resource"
  }

}

import Foundation
import Argo
import Runes
import ReactiveSwift
import Curry

Argo Version
Argo 4.1.2
Dependency Manager
Carthage

Resolved it using below code
struct DiaryDecodable: Diary {
  typealias MeetingType = MeetingDecodable
  var meetings: [MeetingType]? = nil
}

extension DiaryDecodable: Argo.Decodable {

  static func decode(_ j: JSON) -> Decoded<DiaryDecodable> {
    return curry(DiaryDecodable.init(meetings:))
      <^> j <||? "resource"
  }

}


Dismiss notifications when opening app through launcher icon

When tapping a received notification, it opens the app and dismisses the notification. However if a notification is received and the user opens the app through the launcher icon, I'd like to dismiss all notifications to avoid confusion later. How to do this?

Browsing the source, it seems to me these lines are used to clear all notifications:
https://github.com/arnesson/cordova-plugin-firebase/blob/master/src/android/FirebasePlugin.java#L181
https://github.com/arnesson/cordova-plugin-firebase/blob/master/src/ios/FirebasePlugin.m#L232
To achieve the above, it would be nice to have a method to call these directly from the plugin API.

Hey, any update on this? Would be nice if we have this basic feature.

@m6246 @piyushkantm No one has contributed this functionality.  Since there are no full time developers on the project, the project relies on the community to contribute code.  Please check out the Contributing Guidelines to find out how easy it is to contribute.


doc: Add manual test for volume backup and restore by AWS IAM role

https://github.com/longhorn/longhorn/issues/1526

Are we not going ahead with AWS_IAM_ARN solution?
For google backup store also, is it applicable?
I'm assuming the doc https://longhorn.io/docs/1.1.0/snapshots-and-backups/backup-and-restore/set-backup-target/ will be updated this.

Are we not going ahead with AWS_IAM_ARN solution?

Thank u, I have updated all PRs to use AWS_IAM_ROLE_ARN.

For google backup store also, is it applicable?

I'm not 100% sure, but I guess it no.
Since the solution needs AWS STS API to provide a temporary credential to the IAM role, we have to check if the GCP supports the same kind of service.

I'm assuming the doc https://longhorn.io/docs/1.1.0/snapshots-and-backups/backup-and-restore/set-backup-target/ will be updated with this.

Yes, the PR is at https://github.com/longhorn/website/pull/271


Add a code of conduct

Objective: Foster an inclusive environment and lower the barrier to entry in participating to the project.
Concerns

Some past attempts at this have either been derailed by "controversy" or been drowned in equivocations. Needless to say, we should probably avoid this. :smirk:
We MUST have a contact email address.
It'd be great if the community could be empowered to self-police (i.e. little to no formal moderation).

Prior art

MINASWAN

More of a motto than a COD, per se, but likely the most effective thing I've ever seen.

The Rust Code of Conduct

Simple, clear and concise
Amazing work by the Rust team

Citizen Code of Conduct

A strong template, great definitions

Node.js's Inclusivity Working Group

Early days but it's definitely a novel approach (there have been similar attempts but not quite like this, it seems)
We have no need for this level of formalism but their focus on specificity and actionability is worth paying attention to (see: https://github.com/nodejs/inclusivity/pull/22)

@bertrandk Atom uses this: http://contributor-covenant.org/version/1/2/0/

Ohhh...I'll take a look. Thanks.

resolved by #200


Print commands by group

Similar to Laravel, command signatures in Confetti use a colon to denote
that a command is a logical part of a group. For example, both app:info
and app:serve use the app: namespace. Two commands share a group if
they have the same top-level namespace, i.e. until the first colon.
Laravel’s Artisan visualizes these groups when executing
php artisan tinker by printing a header per group and listing all
commands (indented by a single space) below it.
This aims to provide a similar visual categorization to developers by
printing commands per group.

Before
After
Laravel inspiration

I love it


feat(app): app Settings for unified app

fix #8885 #8884 #8886 #8882 #8880 #8879

Overview

This PR contains the majority of the App Settings work for the unified app.
Changelog

General Tab
Software Update Available Banner
Restore Previous Version Software modal
Privacy Tab
Advanced Settings Tab
Feature Flags Tab

Review requests

Most of this logic is copied from the old app settings work. Should I extract the toggle & button logic into hooks? I'm currently calling useSelector and useDispatch within the components, but noticed that they are extracted into hooks in the Robot Card work.
Risk assessment

Low

Here's a screenshot of my review, you can also check out the designs side by side here in figma.

Made this follow on ticket for UI updates https://app.zenhub.com/workspaces/app--ui-5f6248dba845b000139aa767/issues/opentrons/opentrons/9528


fixing problem with != python2.7.6

Turns out that the behavior that @tanaes reported is the default and only works fine on 2.7.6. Thus, changing so we don't have to be dependent on a specific version.

test this please

test this please

test this please

@antgonza can you change the import from the configure script? Thanks!

Note that the tests are passing but the failure is from the env, can someone take a look?

test this please

@antgonza there is a flake8 error:
$ flake8 qp_shotgun setup.py scripts
qp_shotgun/humann2/init.py:78:51: W291 trailing whitespace

tests are passing, @tanaes could you review?


Staff and alumni: remove alumni

As the list of alumni has grown, Jenn Moran would like to remove the alumni section to focus on the current staff. This means:

Removing the alumni list
Renaming the page (draft name is Meet the team)
Updating the site menu
Putting a redirect in place for the old URL

I wonder if any of our alumni have value as social proof of a world-class
govtech team?
On Mon, Jun 6, 2022 at 4:03 PM Michael Sullivan @.***>
wrote:

As the list of alumni has grown, Jenn Moran would like to remove the
alumni section to focus on the current staff. This means:

Removing the alumni list
Renaming the page (draft name is Meet the team)
Updating the site menu
Putting a redirect in place for the old URL

—
Reply to this email directly, view it on GitHub
https://github.com/cagov/digital.ca.gov/issues/108, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAYT54WFLYF6RRIRYPVC473VNZ7VHANCNFSM5YA6XRAQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

--
Christian Crumlish
Product Manager | Office of Digital Innovation
covid19.ca.gov . cannabis.ca.gov . digital.ca.gov
415-672-5759 | @.***

I mentioned that to @JennMoran. I'll let her share her thoughts on the matter.

Page updated, including menu and URL.


I want to record particular screen area not full screen

Hi, i see your library it's very nice work.
But i want to record perticular area not full screen , can you please hemp me with this.
my email<EMAIL_ADDRESS>

did you find a way?


Error installing

root@WebServer:/var/www/html# npm install express
npm WARN package.json<EMAIL_ADDRESS>No README.md file found!
npm http GET https://registry.npmjs.org/express
npm http 304 https://registry.npmjs.org/express
npm ERR! Error: No compatible version found<EMAIL_ADDRESS>npm ERR! Valid install targets:
npm ERR! ["0.14.0","0.14.1","1.0.0","1.0.1","1.0.2","1.0.3","1.0.4","1.0.5","1.0.6","1.0.7","1.0.8","2.0.0","2.1.0","2.1.1","2.2.0","2.2.1","2.2.2","2.3.0","2.3.1","2.3.2","2.3.3","2.3.4","2.3.5","2.3.6","2.3.7","2.3.8","2.3.9","2.3.10","2.3.11","2.3.12","2.4.0","2.4.1","2.4.2","2.4.3","2.4.4","2.4.5","2.4.6","2.4.7","2.5.0","2.5.1","2.5.2","2.5.3","2.5.4","2.5.5","2.5.6","2.5.7","2.5.8","2.5.9","2.5.10","2.5.11","3.0.0","3.0.1","3.0.2","3.0.3","3.0.4","3.0.5","3.0.6","3.1.0","3.1.1","3.1.2","3.2.0","3.2.1","3.2.2","3.2.3","3.2.4","3.2.5","3.2.6","3.3.0","3.3.1","3.3.2","3.3.3","3.3.4","3.3.5","3.3.6","1.0.0-beta","1.0.0-beta2","1.0.0-rc","1.0.0-rc2","1.0.0-rc3","1.0.0-rc4","2.0.0-beta","2.0.0-beta2","2.0.0-beta3","2.0.0-rc","2.0.0-rc2","2.0.0-rc3","3.0.0-alpha1","3.0.0-alpha2","3.0.0-alpha3","3.0.0-alpha4","3.0.0-alpha5","3.0.0-beta1","3.0.0-beta2","3.0.0-beta3","3.0.0-beta4","3.0.0-beta6","3.0.0-beta7","3.0.0-rc1","3.0.0-rc2","3.0.0-rc3","3.0.0-rc4","3.0.0-rc5","3.3.7","3.3.8","3.4.0","3.4.1","3.4.2","3.4.3","3.4.4","3.4.5","3.4.6","3.4.7","3.4.8","4.0.0-rc1","4.0.0-rc2","3.5.0","4.0.0-rc3","4.0.0-rc4","3.5.1","4.0.0","3.5.2","4.1.0","4.1.1","3.5.3","4.1.2","3.6.0","4.2.0","3.7.0","3.8.0","4.3.0","4.3.1","3.8.1","4.3.2","3.9.0","4.4.0","4.4.1","3.10.0","3.10.1","3.10.2","3.10.3","3.10.4","4.4.2","3.10.5","4.4.3","3.11.0","4.4.4","3.12.0","3.12.1","4.4.5","3.13.0","4.5.0","4.5.1","3.14.0","4.6.0","4.6.1","3.15.0","4.7.0","3.15.1","4.7.1","3.15.2","4.7.2","4.7.3","3.15.3","4.7.4","3.16.0","4.8.0","3.16.1","4.8.1","3.16.2","4.8.2","3.16.3","3.16.4","4.8.3","3.16.5","3.16.6","4.8.4","3.16.7","4.8.5","3.16.8","4.8.6","3.16.9","4.8.7","3.16.10","4.8.8","3.17.0","3.17.1","4.9.0","3.17.2","4.9.1","4.9.2","3.17.3","4.9.3","3.17.4","4.9.4","3.17.5","4.9.5","3.17.6","3.17.7","4.9.6","4.9.7","3.17.8","4.9.8","3.18.0","3.18.1","4.10.0","3.18.2","4.10.1","5.0.0-alpha.1","3.18.3","4.10.2","3.18.4","4.10.3","4.10.4","4.10.5","3.18.5","3.18.6","4.10.6","4.10.7","3.19.0","4.10.8","4.11.0","3.19.1","4.11.1","3.19.2","4.11.2","3.20.0","4.12.0","3.20.1","4.12.1","4.12.2","3.20.2","4.12.3","3.20.3","4.12.4","3.21.0","4.13.0","3.21.1","4.13.1","5.0.0-alpha.2","3.21.2","4.13.2","4.13.3","4.13.4"]
npm ERR!     at installTargetsError (/usr/local/lib/node_modules/npm/lib/cache.js:563:10)
npm ERR!     at /usr/local/lib/node_modules/npm/lib/cache.js:478:10
npm ERR!     at saved (/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/lib/get.js:138:7)
npm ERR!     at /usr/local/lib/node_modules/npm/node_modules/graceful-fs/graceful-fs.js:218:7
npm ERR!     at Object.oncomplete (fs.js:297:15)
npm ERR! If you need help, you may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR<EMAIL_ADDRESS>
npm ERR! System Linux 3.19.0-56-generic
npm ERR! command "/usr/local/bin/node" "/usr/local/bin/npm" "install" "express"
npm ERR! cwd /var/www/html
npm ERR! node -v v0.8.15
npm ERR! npm -v 1.1.66
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     /var/www/html/npm-debug.log
npm ERR! not ok code 0

Hi @justin170055, the error from your log above is an error in the tossup library. It uses syntax in the package.json file that requires a newer version of npm that the one you are uisng (1.1.66). You will need to upgrade your npm. In addition, Express 4.x does not work on Node.js 0.8, which you are also using there. You'll need to upgrade that as well or use Express 3.x


Deployment

Deployment
User Story
As a boot camp student,
I want the prework notes to be structured on a webpage,
So that I can easily find and read the information.
Acceptance Criteria
GIVEN a Prework Study Guide website,
WHEN I visit the website using the URL,
THEN I can access my website from any browser

My basic website has been deployed through GitHub.


Fix Java System properties example

Changed the example for Java properties to env vars (it referred to a deprecated varname).

Can you add an entry to a changelog for this change?

@MrAlias Assuming we're on 1.2.0, done (as patch 1.2.1).


Create Load JSON logs into DB table.md

I think this trick with loading JSON into DB can be useful for logs analysis. Not sure whether it should go to Dev_Tools or some other section though.

Hi @staticlibs, I like the idea! I'd add that there is an option to use csvlog as well. It's a smaller and can be directly linked to PostgreSQL using the log FDW. Here is what Claude 3.5 Sonnet chat provided with the following prompt.
Provide detailed instructions on how to my DBA team can use the PostgreSQL LOG Foreign data wrapper to create foreign tables against the logs and then query them.

I did something similar with Aurora PostgreSQL with Babelfish using the Aurora version of log_fdw. I have not tested this out yet.
Claude 3.5 Sonnet - Configuring and testing the log_fdw
Here are detailed instructions for your DBA team to use the PostgreSQL LOG Foreign Data Wrapper (FDW) to create foreign tables against logs and query them:

Install the LOG FDW extension - Note from Bill: you need to do this in the default postgres database since Babelfish added a restriction on being able to change one of the settings if you try to create the extension in babelfish_db or in WiltonDB's case the wilton database>.

First, ensure the log_fdw extension is installed on your PostgreSQL server. If it's not already available, you may need to install it from the PostgreSQL contrib packages.
CREATE EXTENSION log_fdw;

Create a foreign server:

Create a foreign server that points to the log files you want to query. You'll need to specify the log file format and location.
CREATE SERVER log_server
FOREIGN DATA WRAPPER log_fdw
OPTIONS (
    program 'pglog',
    log_file_path '/path/to/your/postgresql/log/directory/*.log'
);

Replace /path/to/your/postgresql/log/directory/*.log with the actual path to your PostgreSQL log files.

Create a user mapping:

Create a user mapping for the role that will be querying the logs:
CREATE USER MAPPING FOR CURRENT_USER
SERVER log_server;

Create foreign tables:

Now, create foreign tables that correspond to the log file structure. The exact columns will depend on your log_line_prefix setting and the information you want to extract. Here's an example:
CREATE FOREIGN TABLE postgres_logs (
    log_time timestamp with time zone,
    user_name text,
    database_name text,
    process_id integer,
    connection_from text,
    session_id text,
    session_line_num bigint,
    command_tag text,
    session_start_time timestamp with time zone,
    virtual_transaction_id text,
    transaction_id bigint,
    error_severity text,
    sql_state_code text,
    message text,
    detail text,
    hint text,
    internal_query text,
    internal_query_pos integer,
    context text,
    query text,
    query_pos integer,
    location text,
    application_name text
)
SERVER log_server
OPTIONS (
    filename_pattern '*.log'
);

Adjust the columns as necessary to match your log format.

Query the logs:

You can now query the foreign table as if it were a regular table:
SELECT log_time, user_name, database_name, message
FROM postgres_logs
WHERE error_severity = 'ERROR'
  AND log_time > NOW() - INTERVAL '1 day'
ORDER BY log_time DESC;

This query retrieves all error messages from the last 24 hours.

Performance considerations:

The LOG FDW reads log files directly, which can be slow for large log files or frequent queries.
Consider creating materialized views or summary tables that are refreshed periodically for frequently accessed log data.
Use appropriate WHERE clauses to limit the amount of data scanned.

Maintenance:

Regularly archive old log files to prevent the foreign table from becoming too large.
Update the foreign table definition if you change your log_line_prefix or add new log file locations.

Security:

Ensure that only authorized users have access to the foreign server and user mappings.
Be cautious about exposing sensitive information that may be present in log files.

By following these steps, you should be able to effectively use the PostgreSQL LOG FDW to query log data directly from within PostgreSQL. This approach can be particularly useful for real-time log analysis and integrating log data with other database information.

Added log_fdw description for CSV logs as a separate page. Also extended JSON page including an example.


Two improvements to the development workflow

Configure rust-analyzer to target wasm32-unknown-unknown
Watch changes to core rust files

The readme also says that typescript files aren't watched, but the few files I tested it with are watched for me. Maybe you were hitting
Error from chokidar (/home/bjorn/Projects/Graphite/client/web/src/components/window/title-bar): Error: ENOSPC: System limit for number of file watchers reached, watch '/home/bjorn/Projects/Graphite/client/web/src/components/window/title-bar/WindowButtonsWindows.vue'

? (You need to scroll up to see it) This happened for me while the tsserver of vscode was running. When I forcefully killed it because it used too much cpu, this error got fixed.

This change is

Thank you! Also just for my curiosity, what does "rust-analyzer.cargo.target": "wasm32-unknown-unknown", do?

Thank you! Also just for my curiosity, what does "rust-analyzer.cargo.target": "wasm32-unknown-unknown", do?

By default rust-analyzer will for example ignore code paths that use the #[cfg(target_arch="wasm32")] and not provide any support for it. That might be part o

Actually I'll just merge this now and then update the readme directly.


capitalization fixed

In Gentoo, there is only OpenNI, not OpenNi. I don't know if that changed only recently or the spelling here was a typo.

Thanks for the attention. Is there a link you can share to show the correct package for reference?

https://packages.gentoo.org/packages/dev-libs/OpenNI

Thanks for the attention. Is there a link you can share to show the correct package for reference?

Sorry for the missed out reply. Somehow I didn't notice the e-mail...


command error if there's a colon in a string argument

After upgrading my server to Lamp https://github.com/Revxrsal/Lamp/commit/3c22956096618cc8247e540c50568332ffd99968 (from Lamp 3.1.3), I noticed one of my commands, that frequently takes inputs with multiple colons in it, no longer works.
Here's the source of the offending command, as well as examples of before (working) and after (broken since upgrading):

I haven't found a way to fix this on my end as of yet.

+1 reporting the same thing.

I see. This must have to do with the name space stripping (Strings#stripNamespace). I'll see when I get the chance

This should have been fixed in https://github.com/Revxrsal/Lamp/commit/98d75dc7ecfd8b2c1b2b61ce806c6a33b22cf7f9. Thanks for the report


Added social image to page generation for blogs

Similar to #8, this pr aims to provide social images for articles and blog posts.

Thank you!


PeerTaskCacheHitCount should be added in 'first check'

Bug report:
PeerTaskCacheHitCount should be added in 'first check'
position: client/daemon/peer/peertask_manager.go
at the begging of function getOrCreatePeerTaskConductor

Fix by #3145


Properties for Pulp are missing in version 3.0.0

The use case is designed for Paper, Pulp and Board business.' according to md-files.
What product properties are needed for Board business?

Or we change the text: "This use case is designed for Paper, Pulp and Board business." in our .md files...

Done, see commit ec855b4.


Excluding data on Multiple Contacts

I have a lookup with sales and order data. Here is the path it takes
Account-Contact-Campaignmember-Campaign
My Issue is:
When multiple contacts on the same account are members of the same campaign the sales and order data rolls up with each contact giving me a higher than actual figures.
Is there a way to have data rollup to only one campaign member but still letting multiple campaign members from the same account be in a campaign.

@JozoTClown it might be better to post this one on the Chatter Community Group linked on the README file for this repo.


Is there any exemple or tutorial ?

I'm currently working on an app that use websocket with ws module and I would like to stream data easily, so this module seems to do that.
I read the readme but I can't figure out how to send the stream to an other client or multiple one or how to send it to a specific one.
Is there any documentation or exemples out there?

Hmm just have to dig more in node stream api, and test it on my own. Sorry for the issue


implicit conversion loses integer precision leveldb-library

Getting 31 warning about Implicit conversion loses integer precision: 'unsigned long' to 'uint32_t'.  Please advise.

I'm clear that the problem happens because the code seems to be written for 32bit compilation... however, I'm unclear how to fix the problem for 64bit compilation, other than changing the code.

Can you paste in the warning in question, just so I know which file you're referring to?

I see 31 warnings in total which I have pasted below. Most of them are for "Implicit conversion loses integer precision". There is one for an unused function. Can you address that one as well?
Thanks.
/Pods/leveldb-library/table/block.cc:35:31: Implicit conversion loses integer precision: 'unsigned long' to 'uint32_t' (aka 'unsigned int')
/Pods/leveldb-library/table/block.cc:96:44: Implicit conversion loses integer precision: 'long' to 'uint32_t' (aka 'unsigned int')
/Pods/leveldb-library/table/block_builder.cc:68:24: Implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int')
/Pods/leveldb-library/table/block_builder.cc:88:25: Implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'value_type' (aka 'unsigned int')
/Pods/leveldb-library/table/block_builder.cc:94:25: Implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int')
/Pods/leveldb-library/table/block_builder.cc:95:25: Implicit conversion loses integer precision: 'const size_t' (aka 'const unsigned long') to 'uint32_t' (aka 'unsigned int')
/Pods/leveldb-library/table/block_builder.cc:96:25: Implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int')
/Pods/leveldb-library/util/coding.cc:99:20: Implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int')
/Pods/leveldb-library/db/version_set.h:111:42: Implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int'
/Pods/leveldb-library/db/version_set.h:335:49: Implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int'
/Pods/leveldb-library/db/db_bench.cc:926:48: Implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int'
/Pods/leveldb-library/db/db_bench.cc:141:14: Unused function 'TrimSpace'
/Pods/leveldb-library/db/db_impl.cc:1052:59: Implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int'
/Pods/leveldb-library/db/dbformat.cc:131:35: Implicit conversion loses integer precision: 'unsigned long' to 'uint32_t' (aka 'unsigned int')
/Pods/leveldb-library/table/filter_block.cc:42:33: Implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'const uint32_t' (aka 'const unsigned int')
/Pods/leveldb-library/table/filter_block.cc:56:31: Implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'value_type' (aka 'unsigned int')
/Pods/leveldb-library/table/filter_block.cc:70:29: Implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'value_type' (aka 'unsigned int')
/Pods/leveldb-library/table/filter_block.cc:71:40: Implicit conversion loses integer precision: 'const size_t' (aka 'const unsigned long') to 'int'
/Pods/leveldb-library/util/hash.cc:23:21: Implicit conversion loses integer precision: 'unsigned long' to 'uint32_t' (aka 'unsigned int')
/Pods/leveldb-library/db/memtable.cc:46:24: Implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int')
/Pods/leveldb-library/db/memtable.cc:97:33: Implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int')
/Pods/leveldb-library/db/memtable.cc:102:25: Implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int')
/Pods/leveldb-library/util/status.cc:21:25: Implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'const uint32_t' (aka 'const unsigned int')
/Pods/leveldb-library/util/status.cc:22:25: Implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'const uint32_t' (aka 'const unsigned int')
/Pods/leveldb-library/db/version_set.cc:81:20: Implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int')
/Pods/leveldb-library/db/version_set.cc:160:16: Implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int')
/Pods/leveldb-library/db/version_set.cc:170:51: Implicit conversion loses integer precision: 'unsigned long' to 'uint32_t' (aka 'unsigned int')
/Pods/leveldb-library/db/version_set.cc:179:16: Implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int')
/Pods/leveldb-library/db/version_set.cc:693:40: Implicit conversion loses integer precision: 'unsigned long long' to 'int'
/Pods/leveldb-library/db/version_set.cc:1087:10: Implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int'
/Pods/leveldb-library/db/version_set.cc:1218:61: Implicit conversion loses integer precision: 'unsigned long' to 'const int'

These are issues with the leveldb-library dependency that's used by Objective-LevelDB. We don't have control over it, and we don't want to either, since it's under development over at Google. Closing now, but if anyone has an idea as to how we could fix that using build settings, I'd be open to fix it.


Loading existing resource broken

I have managed to mess up that Project, Subsystem and Datapoint forms are not filled in with existing P/S/D when edited.
(Feel free to invoice me this fix, or add it to a work log and invoice later)

The problem is on the datasource backend.


Group metadata API endpoints

Extension group functions will trigger http requests to the editor in order to sync metadata changes. Editor should only change groups metadata through this API (that should be secured in order to be requested only from database triggers).

Closing this as CartoDB/cartodb#5077 branch will contain group basic needs.


Add Chainguard OIDC provider.

Summary
This adds support for Chainguard issued tokens, so that users can sign with their Chainguard-issued identity, and so that we can explore signing our own content with our internal service principal construct (see issue).
Related: https://github.com/sigstore/fulcio/issues/1702
Release Note
Add support for signing with Chainguard-issued tokens.
Documentation
This is mostly intended for our own use, but I'd be happy to document how folks can make use of this with chainctl auth token --audience sigstore if someone points me in the right direction.

Is this a provider you would want enabled in the public instance as well? If so, do you have an estimated QPS we should expect?

Is this a provider you would want enabled in the public instance as well? If so, do you have an estimated QPS we should expect?

Yes.  No real estimation, but I would expect that if anything this would cannibalize QPS we are currently sending with github actions tokens.  I could work with someone on the rotation to try and figure out what that might look like, if it's important.

Rebased on @cpanato go change

... and fixed merge conflict that drops CompactSerialize() method.

I'd say we land this as-is and we can make additive changes as the need for enriching things under our own OID arises. 👍

Let me know if there are instructions to test against staging (and when I can expect that to work!) 🙏

I queued up the change in staging, I'll update here once it's rolled out. https://docs.sigstore.dev/system_config/public_deployment/#usage has instructions on how to test.

@haydentherapper this seems out of date:
curl -O https://raw.githubusercontent.com/sigstore/root-signing/main/staging/repository/1.root.json

I poked around in the repo, and I don't see an obvious replacement for the staging root.

https://github.com/sigstore/docs/pull/315 for the doc fix

If I use a token without an embedded email claim:
# cosign sign --oidc-issuer "https://oauth2.sigstage.dev/auth" --fulcio-url "https://fulcio.sigstage.dev" --rekor-url "https://rekor.sigstage.dev" ttl.sh/mattmoor/static --identity-token "$(chainctl auth token --audience sigstore)"
Generating ephemeral keys...
Retrieving signed certificate...
Successfully verified SCT...
WARNING: Image reference ttl.sh/mattmoor/static uses a tag, not a digest, to identify the image to sign.
    This can lead you to sign a different image than the intended one. Please use a
    digest (example.com/ubuntu@sha256:abc123...) rather than tag
    (example.com/ubuntu:latest) for the input to cosign. The ability to refer to
    images by tag will be removed in a future release.

        The sigstore service, hosted by sigstore a Series of LF Projects, LLC, is provided pursuant to the Hosted Project Tools Terms of Use, available at https://lfprojects.org/policies/hosted-project-tools-terms-of-use/.
        Note that if your submission includes personal data associated with this signed artifact, it will be part of an immutable record.
        This may include the email address associated with the account with which you authenticate your contractual Agreement.
        This information will be used for signing this artifact and will be stored in public transparency logs and cannot be removed later, and is subject to the Immutable Record notice at https://lfprojects.org/policies/hosted-project-tools-immutable-records/.

By typing 'y', you attest that (1) you are not submitting the personal data of any other person; and (2) you understand and agree to the statement and the Agreement terms at the URLs listed above.
Are you sure you would like to continue? [y/N] y
tlog entry created with index: 29985605
Pushing signature to: ttl.sh/mattmoor/static

# cosign verify --rekor-url "https://rekor.sigstage.dev" --certificate-identity=https://issuer.enforce.dev/720909c9f5279097d847ad02a2f24ba8f59de36a/a033a6fabe0bfa0d --certificate-oidc-issuer=https://issuer.enforce.dev ttl.sh/mattmoor/static

Verification for ttl.sh/mattmoor/static:latest --
The following checks were performed on each of these signatures:
  - The cosign claims were validated
  - Existence of the claims in the transparency log was verified offline
  - The code-signing certificate was verified using trusted certificate authority certificates

[{"critical":{"identity":{"docker-reference":"ttl.sh/mattmoor/static"},"image":{"docker-manifest-digest":"sha256:e78eb21f59f52446a23f7d45e78805c4f26406a6e9c4b21ec50dfdf07e6bec57"},"type":"cosign container image signature"},"optional":{"<IP_ADDRESS>.4.1.57264.1.1":"https://issuer.enforce.dev","Bundle":{"SignedEntryTimestamp":"MEQCIEuot42CKdxsUA42w2pIBNgvyK0zoUf8s5loJ6JEZQIPAiBV1MMN6FTginw5xJUEehZNj9meIFp+eVyzLJJQ1A/L/A==","Payload":{"body":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiJlOWE2MWFhZjE3YmYyZmI1NjM2M2U5YmU0ZGQzMjk0MWE2MzE3OTBjZDVjNzZlNDJlZWU2ZWM2OGMzZmZiNjQ2In19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FVUNJUURIaWt3VlkrQ0RJeGEzNXg2Y3FmTi9RL0xEdkNhcU9JN0F2TlY1d0c0WmtRSWdlTGFxaTM5amMwSFplZXIyQitYcFM0OE1tNFhCaHNnZVczNjBIUHF5a05nPSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVUkVWRU5EUVhCTFowRjNTVUpCWjBsVlNUQTVRMnN6V0hSWmNFVTBZWEl6YjJSWGQyWm1kRkJUY25jNGQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFJkMDU2UlhkTlZHZDVUVVJKTkZkb1kwNU5hbEYzVG5wRmQwMVVaM3BOUkVrMFYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVY0VldkNWRFc3ZTbk5TVTFKNWVXUXhjU3RIVXpKeFVFTnhTRWMyWWxKUU1XNUthRVVLTTFWQ1RuZHdSREJoVFdKMWQzcGhRWE14TWtadVJFMXhjMjVEVkVZMGVrMUdkV2h5TkM4eGN6aFRNbFY2TlVob1kzRlBRMEZpUlhkblowZDBUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlZqSzJOR0NtczNPRnB3U0hKd2NIaGpTemgyTTBSbFdGRkVNVGRCZDBoM1dVUldVakJxUWtKbmQwWnZRVlZqV1ZsM2NHaFNPRmx0THpVNU9XSXdRbEp3TDFndkwzSUtZalozZDFsbldVUldVakJTUVZGSUwwSkdaM2RXYjFwVllVaFNNR05JVFRaTWVUbHdZek5PTVZwWVNYVmFWelZ0WWpOS2FscFROV3RhV0ZsMlRucEpkd3BQVkVFMVdYcHNiVTVVU1ROUFZFRTFUakpSTkU1RVpHaGFSRUY1V1ZSS2JVMXFVbWxaVkdodFRsUnNhMXBVVFRKWlV6bG9UVVJOZWxsVVdtMVpWMHBzQ2sxSFNtMVpWRUpyVFVOblIwTnBjMGRCVVZGQ1p6YzRkMEZSUlVWSGJXZ3daRWhDZWs5cE9IWmhXRTU2WkZkV2VVeHRWblZhYlRsNVdUSlZkVnBIVmpJS1RVTnZSME5wYzBkQlVWRkNaemM0ZDBGUlowVklRWGRoWVVoU01HTklUVFpNZVRsd1l6Tk9NVnBZU1hWYVZ6VnRZak5LYWxwVE5XdGFXRmwzWjFselJ3cERhWE5IUVZGUlFqRnVhME5DUVVsRlpsRlNOMEZJYTBGa2QwRnlUVXg2WTJGSmFrbzBkVWhaU21sc1pXUkNPVWxQVkVkWFFYWkxZMDA0ZEdWUk1FUXJDbk54ZVVkbFowRkJRVnBEWkRSQ2RIVkJRVUZGUVhkQ1NVMUZXVU5KVVVSSldYRXphVkZ3UVdKbVFsTkhWa3BHVEd4VmRrRnlNVzVJZDI5Tk5IRmtWR0lLVWpaWE5IZElWamxIWjBsb1FVcEpiV3BzV2l0NlRIZFRhWGd3YkVGTFNVWkhRMkozVTBWM2FqTjNUbk5YVGs1cFJFMTZZMnREVkU5TlFXOUhRME54UndwVFRUUTVRa0ZOUkVFeWEwRk5SMWxEVFZGRGRFRkxlRWwzUzFreFVUWnRiek15U0haUFYwRjNiRVpGSzFGblZGaHVkVk5ZY2pGTFJFRlNPQ3RHT0dsd0NuVjJkRmhoU2s1b01IWmFhMVJaWVVObWNFMURUVkZFZG14VldVTmFiVWxZVkUwNVZtTTVhRXMzVTA5R2NEUnhaRkpzZUZOT1MwbHRNM2hLV2tkR1IzQUtUSEZzSzB0aWJuZHRaM0pvU1ZNNGQyeE5aMnBJZEhjOUNpMHRMUzB0UlU1RUlFTkZVbFJKUmtsRFFWUkZMUzB0TFMwSyJ9fX19","integratedTime":1720635631,"logIndex":29985515,"logID":"d32f30a3c32d639c2b762205a21c7bb07788e68283a4ae6f42118723a1bea496"}},"Issuer":"https://issuer.enforce.dev","Subject":"https://issuer.enforce.dev/720909c9f5279097d847ad02a2f24ba8f59de36a/a033a6fabe0bfa0d"}},{"critical":{"identity":{"docker-reference":"ttl.sh/mattmoor/static"},"image":{"docker-manifest-digest":"sha256:e78eb21f59f52446a23f7d45e78805c4f26406a6e9c4b21ec50dfdf07e6bec57"},"type":"cosign container image signature"},"optional":{"<IP_ADDRESS>.4.1.57264.1.1":"https://issuer.enforce.dev","Bundle":{"SignedEntryTimestamp":"MEUCIGFV48y76LM8ljQJWzhIuZP3XjoJENxHpn0/7Rcx3kqRAiEAjSYfw7qay1Iw81bQjiubQZHW+eVpVIQcGLCpxsct6sU=","Payload":{"body":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiJlOWE2MWFhZjE3YmYyZmI1NjM2M2U5YmU0ZGQzMjk0MWE2MzE3OTBjZDVjNzZlNDJlZWU2ZWM2OGMzZmZiNjQ2In19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FWUNJUURWSWE5K015dUcrTTlkYjRvT0l0d3N2WmdhaGtmL3I3dC9DV0ZvOXJwU2FBSWhBTERaQkxvQW1WVzRGUElnb1RCNTlsY1ZGdG1rcVRDMkF5VUgrekhldkpMUiIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVUkVSRU5EUVhCTFowRjNTVUpCWjBsVlpYUkhhbFlyVlRGcmNHSXZNRGxtWTJKeFZUUTJXVk5hWWxOWmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFJkMDU2UlhkTlZHZDVUWHBCZUZkb1kwNU5hbEYzVG5wRmQwMVVaM3BOZWtGNFYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZFVFd0Nk1YZGxhVXhsVTJ4cVZrTXZVRkV4WkVOVE9YVlpWM0pvVUdzck4wc3dUa0lLZGsxdGJGZEhSV05UTVdsclIwRTBibTUxVjBzMlYwbEJPSEEyWTNSc1FrMHZNMjloZFhoMk5rOUxXbUZPWjA1Q1FuRlBRMEZpUlhkblowZDBUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlZsY0RkdENpdHBZMWhuYlVaMVVVTlJUell3VmxaVmIwSlhiVzQwZDBoM1dVUldVakJxUWtKbmQwWnZRVlZqV1ZsM2NHaFNPRmx0THpVNU9XSXdRbEp3TDFndkwzSUtZalozZDFsbldVUldVakJTUVZGSUwwSkdaM2RXYjFwVllVaFNNR05JVFRaTWVUbHdZek5PTVZwWVNYVmFWelZ0WWpOS2FscFROV3RhV0ZsMlRucEpkd3BQVkVFMVdYcHNiVTVVU1ROUFZFRTFUakpSTkU1RVpHaGFSRUY1V1ZSS2JVMXFVbWxaVkdodFRsUnNhMXBVVFRKWlV6bG9UVVJOZWxsVVdtMVpWMHBzQ2sxSFNtMVpWRUpyVFVOblIwTnBjMGRCVVZGQ1p6YzRkMEZSUlVWSGJXZ3daRWhDZWs5cE9IWmhXRTU2WkZkV2VVeHRWblZhYlRsNVdUSlZkVnBIVmpJS1RVTnZSME5wYzBkQlVWRkNaemM0ZDBGUlowVklRWGRoWVVoU01HTklUVFpNZVRsd1l6Tk9NVnBZU1hWYVZ6VnRZak5LYWxwVE5XdGFXRmwzWjFselJ3cERhWE5IUVZGUlFqRnVhME5DUVVsRlpsRlNOMEZJYTBGa2QwRnlUVXg2WTJGSmFrbzBkVWhaU21sc1pXUkNPVWxQVkVkWFFYWkxZMDA0ZEdWUk1FUXJDbk54ZVVkbFowRkJRVnBEWkRSdVFWbEJRVUZGUVhkQ1NVMUZXVU5KVVVRek9YZFZMeXRuUVROMGJtZFdha0ZWUW1OQ1draHNOV2gwTkRodmNEbGxObU1LUzFkTVFVMDNSamhHZDBsb1FWQjJkak40TjNaQlIydzNhVGczVG5GWlVISlZjblpXUTFOWGFtcDBPWGhKUkVsYWN6TXJhM1ZJT1ZCTlFXOUhRME54UndwVFRUUTVRa0ZOUkVFeVowRk5SMVZEVFZGRFExcG1jR0V3VmtOS2FYbHNTbEpDT0RrMlpHMXlUME5XYlZselpXaEdWRE0zWVVOQmJHWnZhMmxhVTJkTkNtTk1SVXMwT1c1eVprVllieTlvZWtGaWFtTkRUVVEwWTFWWlYyRkVPR2R5YTFWa2JVTmhVbUZFWm5sU1kwcEljV2RLTUZGc1REVm5SbUZ2U0hBeWFrTUtOVlJGUm1nNVdsb3lSRlEwVTFOUE5XcEthVWg1UVQwOUNpMHRMUzB0UlU1RUlFTkZVbFJKUmtsRFFWUkZMUzB0TFMwSyJ9fX19","integratedTime":1720635783,"logIndex":29985605,"logID":"d32f30a3c32d639c2b762205a21c7bb07788e68283a4ae6f42118723a1bea496"}},"Issuer":"https://issuer.enforce.dev","Subject":"https://issuer.enforce.dev/720909c9f5279097d847ad02a2f24ba8f59de36a/a033a6fabe0bfa0d"}}]


Use async/await and futures 0.3

Async/await is on the path to stable, and is much clearer to read and write than raw futures. Tokio is also working on futures 0.3 native support, so it would be great to use async/await and futures 0.3 in Raft.

Hey @nrc! I would love to work on it. I haven't had any first-hand experience with Async/Await in rust but have been reading about it a little. Could you give me some pointers where to begin?

@psinghal20 A good place to start would be to look at the TiKV Rust client - if you look through the commits, you should find a few which move from 0.1 futures to 0.3 futures and from 0.3 futures to async/await (the latter step is usually fairly straightforward). You can read about the 0.1 to 0.3 migration in this blog post: https://tikv.org/blog/client-futures/ For Raft, you should go straight from 0.1 futures to async/await. The interesting bit is that you will need to use the compatability layer because upstream crates are still using 0.1 futures.
You can convert one future at a time, you don't need to do everything at once.
Once you've had a look at those links, let me know if you have more questions!

@psinghal20 it might be easier by starting with the migration in grpc-rs (https://github.com/pingcap/grpc-rs/issues/237) since that is upstream of Raft.

Seems in raft-rs futures is not used directly. :)

Is this issue still relevant?

As @hicqu suggested, raft-rs doesn't use futures at all, so there is no work need to do in raft-rs.


Execution program in JS

Description 📜
Documentation for JS program execution and call stack.
Fixes #259

Type of change 📝

[x] Documentation (Content Creation in the form of codes or tutorials)

Domain of Contribution 📊

[x] JavaScript

Checklist ✅

[x] I follow Contributing Guidelines & Code of conduct of this project.
[x] I have performed a self-review of my own code or work.
[x] My changes generates no new warnings.
[x] I'm GWOC'21 contributor

Hey Aakanksha! I think your PR was missed due to improper formatting. Sorry about that, please try to use the format specified in the contribution guide here: https://github.com/girlscript/winter-of-contributing/blob/Javascript/JavaScript/CONTRIBUTING.md
Please look for another issue or create your own! Thank you so much for the contribution!
P. S. Are you joining our weekly acknowledgement sessions on Discord?


Redirect personas plus add-on to documentation on installing themes.

If you try to install a LWT right now, you get redirected to the personas plus addon which was deleted since it does not support Thunderbird.
Instead, we should probably redirect this to a support article explaining how to install themes in Thunderbird, since there is no way to make LWTs installable from the website.

This was fixed some time ago by a server side redirect. Attempts to install themes using applications other than TB/Firefox go to https://support.mozilla.org/en-US/kb/install-themes-change-look-thunderbird instead of 404ing.


timestamping

Another solution to timestamping of all-or-nothing lifts like in MyCHIPs might be if everybody timestamps everybody else's promise. So then you get something like a three-phase commit:
phase 1:  promises
phase 2: timestamping of the promises
phase 3: commit
My gut feeling says this cannot be a solution to the two generals problem, although maybe we can use eventual execution to still make it work.
Suppose the messages between nodes are guaranteed to eventually arrive, if you just keep resending them often enough.
Then if everybody wants the lift to go ahead, eventually the nodes will all know that (even though none of the nodes will know when this state will have been reached).
And if everybody receives all signatures before the timeout, and they all send out a message about that, then eventually that message will also reach every node.
Also, if one node hasn't seen all promises  before the deadline, then they can roll back and get on with their lives.
The biggest hassle would be if some nodes receive all promises before the deadline, phase 2 can take a long time.
So in phase 1 it's enough if nodes only send a "yes", leaving the "no" to timeout, although a "no" message can obviously be useful to speed up rejection before the deadline.
But in phase 2 it's important that each nodes sends either a "yes" or a "no". If you were to only send "yes" messages in phase 2, then if one node doesn't, the other nodes would not know how long to wait.

This algorithm would help speed up successful cases, but for cases where one node gets disconnected, it could take a long time before that is detected. So you would need some sort of no-news-is-bad-news mechanism, with regular ping-pong messages maybe...

Something that could work is if all nodes broadcast / gossip their intent to participate, and then keep track of network failures. If any link in the network fails before completion was communicated over it in both directions, call of the deal.

Achieving common knowledge in the face of arbitrary communication failiures is impossible, but assuming communication failures are always temporary, we could have a system where n nodes

each vote yes or no
send their vote to each other node, and repeat it until they get an ACK
eventually, all nodes will know if there was an all-yes or there was a veto

I though about this some more. The trouble with collaboratively detecting communication breakdown is that a malicious or malfunctioning node could forward the ping messages but drop the payload messages. So to mitigate that, message forwarding should use encryption. The version I came up with now does reveal the loop length, maybe that can be fixed in a next version. It would work as follows:

nodes broadcast their signatures for their hops, and regularly ping all their neighbours asking for news
once a node has collected a fully signed contract, that spreads across the network, and everybody stops talking about it
if anyone vetos the contract before they sign it, that veto spreads across the network, and everybdy stops talking about it

Two possible remedies:

only send messages in one direction, so that one of the two contradicting messages would be first and valid, and the other one would be later and invalid
bring the contradicting messages together, and confront and punish the offending node

Single-Direction Lift Execution
The contracts keeps being sent along the ring, with signatures or vetoes being added.
As soon as there is either 1 veto or all signatures, send back a signed ACK
When you received a signed ACK from each participating node, stop sending.
Still, this relies on multi-hop messaging, which means one node's money can be tied up by another node's failure to forward messages.
And so you would need a timeout
And so you would get stuck in Byzantine Generals

mesh comms
A simpler situation is what MyCHIPs are working on, which is one-hop communication between all nodes.
Then each node can just broadcast their hop signature to each other node until they get an ACK,
and punish a node who contradicts themselves.
In case of communication failure, the majority decides.
But then if the group is split into 3 small groups, none of them will reach a majority. Hm, how would you solve that?

OK, so here's another idea (I think):
What if everybody keeps sending short-lived promises to everybody, and then maybe gradually increases their validity as the outcome becomes clear. I think this would be similar to how rounds of blockchain confirmation work.

Hm, I think a perfect solution doesn't exist. There are always uncertainties and failure modes, and all-or-nothing finality in the sense of common knowledge is probably fundamentally unachievable.
Another compromise might be to say that nodes that get separated from the initiator will have their money tied up until that communication is re-established.
In that sense it's all not really different from the please-revert messages I came up with in 2016.
If a link is just after a link that is down, it can send out please-revert messages, and if it's just before one it can step up and volunteer to take the hit, risking that the other side of the network split did a final commit.
Then, at least, the risk stays local.
This thought process does highlight that ring communication is brittle and easy to attack. Mesh communication is better, and it really only reveals the number of participants in a cycle, which is not such a big deal to reveal probably.
So I do see the point of MyCHIPs opting for mesh communication, and then just majority commit. The communication network damage needs to be pretty severe before it then stops a lift from getting to finality.

So I think communication failure before one node sees a fully signed contract can still be dealt with (just roll back on both sides of the network split) but if one side already reached finality, and the network splits preventing common knowledge, there is no good way to deal with that. So the best remedy, to get all-or-nothing finality, is to have mesh communication instead of ring communication. I'll explore this in #29


fix: trim whitespace in repo list

Easy to work around but sometimes yaml is annoying. This catches some of those cases.

Thanks!

:tada: This PR is included in version 1.13.4 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Getting Fatal Error: Cannot connect to database

Been trying for hours to get docker to start but at this point I'm going to start looking into running shynet directly instead of with docker since I can't seem to get the container to initialize properly and nothing's better than a good ol' sudo service shynet start. To be clear, I am using the latest docker image and can't get past a first run.
First I was getting a lot of:
django.db.utils.OperationalError: could not connect to server: Connection refused
	Is the server running on host "localhost" (<IP_ADDRESS>) and accepting
	TCP/IP connections on port 5432?
could not connect to server: Address not available
	Is the server running on host "localhost" (::1) and accepting
	TCP/IP connections on port 5432?

Migrations failed, exiting
Launching Shynet web server...
[2020-05-19 05:29:42 +0000] [11] [INFO] Starting gunicorn 20.0.4
[2020-05-19 05:29:42 +0000] [11] [INFO] Listening at: http://<IP_ADDRESS>:8080 (11)
[2020-05-19 05:29:42 +0000] [11] [INFO] Using worker: sync
[2020-05-19 05:29:42 +0000] [13] [INFO] Booting worker with pid: 13

...which would throw my terminal into a frozen state, forcing me to have to open a new session on my VPS just to get my prompt back by shutting down the docker container and then try again. After a bit, this comment gave me the idea that the container couldn't see my database at all since 'localhost' to it was itself and not the server it was on. I then tried using my VPS's public IP which didn't work:
File "/usr/local/lib/python3.8/site-packages/psycopg2/__init__.py", line 127, in connect
    conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
django.db.utils.OperationalError: could not connect to server: Connection refused
	Is the server running on host "<my_ip_address>" and accepting
	TCP/IP connections on port 5432?

Tried adjusting postgresql settings to watch that IP instead of localhost, even thought that dashes in my db name were throwing it off, or that postgres might be looking for a socket connection instead— nothing.
Unless I can get help diagnosing the problem, I'm going to start looking into running shynet as a linux service since I think that will probably help uncomplicate a lot of the connection issues I'm having. Tool looks promising though!

This is an odd issue. Could you post a redacted version of your environment file?
Shynet leans on Django for essentially all of its database work, so it’s unlikely that this is an issue with Shynet itself. Still, I’m curious about the root cause here—it’ll probably be helpful to add an NB to the usage guide for others once we figure out what it is.

I was able to get the container started but it required trusting my private IP in pg_hba.conf as well as ensuring that postgresql was listening on the same address. Then had issues getting the container to set a whitelabel correctly as it was having issues parsing the spaces.
Finally got it up, but as some feedback I'd say there are way too many variables that need to fall into alignment and be documented to those that aren't well-initiated with docker which is already an opinionated way of managing software. Definitely going to keep an eye on this project but I'm probably better off looking elsewhere for a solution for now. Thanks for your help!
My .env file if it helps but I left a lot of the settings at their defaults.
# This file shows all of the environment variables you can
# set to configure Shynet, as well as information about their
# effects. Make a copy of this file to configure your deployment.

# Database settings (PostgreSQL)
DB_NAME=<my_db_name>
DB_USER=<my_db_user>
DB_PASSWORD=<my_db_password>
DB_HOST=<my_db_host ('localhost' does not work, must be a real, reachable IP)
DB_PORT=5432

# Email settings (optional)
EMAIL_HOST_USER=example
EMAIL_HOST_PASSWORD=example_password
EMAIL_HOST=smtp.example.com
SERVER_EMAIL=<Shynet><EMAIL_ADDRESS>
# General Django settings
DJANGO_SECRET_KEY=<random_hash>

# For better security, set this to your deployment's domain. Comma separated.
ALLOWED_HOSTS=*

# Set to True (capitalized) if you want people to be able to sign up for your Shynet instance (not recommended)
SIGNUPS_ENABLED=False

# The timezone of the admin panel. Affects how dates are displayed.
TIME_ZONE=America/New_York

# Set to "False" if you will not be serving content over HTTPS
SCRIPT_USE_HTTPS=True

# How frequently should the monitoring script "phone home" (in ms)?
SCRIPT_HEARTBEAT_FREQUENCY=5000

# How much time can elapse between requests from the same user before a new
# session is created, in seconds?
SESSION_MEMORY_TIMEOUT=1800

# Should only superusers (admins) be able to create services? This is helpful
# when you'd like to invite others to your Shynet instance but don't want
# them to be able to create services of their own.
ONLY_SUPERUSERS_CREATE=True

# Whether to perform checks and setup at startup, including applying unapplied
# migrations. For most setups, the recommended value is True. Defaults to True.
# Will skip only if value is False.
PERFORM_CHECKS_AND_SETUP=True

# Your admin user's email. A temporary password will be printed
# to the console on first run.
<EMAIL_ADDRESS>
# The domain on which you'll be hosting Shynet.
SHYNET_HOST=shynet.example.com

# What you'd like to call your Shynet instance.
SHYNET_WHITELABEL=My Shynet Instance

# Redis, queue, and parellization settings; not necessary for single-instance deployments.
# Don't uncomment these unless you know what you are doing!
# NUM_WORKERS=1
# Make sure you set a REDIS_CACHE_LOCATION if you have more than one frontend worker/instance.
# REDIS_CACHE_LOCATION=redis://redis.default.svc.cluster.local/0
# If CELERY_BROKER_URL is set, make sure CELERY_TASK_ALWAYS_EAGER is False and
# that you have a separate queue consumer running somewhere via `celeryworker.sh`.
# CELERY_TASK_ALWAYS_EAGER=False
# CELERY_BROKER_URL=redis://redis.default.svc.cluster.local/1


Check all fields and types in schema version 1.2.0 are supported.

Caught a couple of missed fields 😬 ...

Coverage remained the same at 100.0% when pulling 647b90e21ba08d2d3cc3212566e2c8e6e7f1a9b0 on check-120 into feb957c3c38be7ae347c8b593c35a8136060011f on main.


Add some cool snapchat filters which are not already present in repo

Please assign this issue to me

Hi @akshitagupta15june , iam a SSOC23 contributer and I would like to resolve this issue
Can you assign me this issue? Or any other issues you might have?
Heres My Resume which you might find useful: Resume
Here is my background in ML:

6 months plus experience in working under college professors for research project on medical image classification.
Got 228 global rank in Amazon ML Challenge 2023 out of 30000+ teams participating.
Experienced with trainig machine Learning Models. Including image preprocessing techniues such as histrogram equilization, augmentation, stationary wavelet transformation, image segmentation. Along with feature extraction from models like resnet50 inceptionv3 vgg16 etc

Looking forward to hear from you.

Hello! I'm really excited about this project. I would love to contribute and work on it. Could you kindly assign the project to me? I'm confident that I can make a valuable contribution.

Hey @akshitagupta15june  i would like to contribute under GSSOC Contributor.

Hello @akshitagupta15june  please assign this issue to me as a GSSOC contributor. I am very much willing to contribute on this issue.

hey @akshitagupta15june I want to explore this field and thats why would love to contribute in this portion

hey @akshitagupta15june i love to work on this project can you assign me

Hey @akshitagupta15june I would love to contribute and work on this under SSOC'23. I am a beginner to open source, and this would be a good issue apply what i learned in python and face detection.

Hey @akshitagupta15june I am interested in contributing on this issue under SSOC 2.0.  I would love to add some coolest Snapchat filters in the project.

Hello @akshitagupta15june
I am Shubhi Singh a technology enthusiast and first time participating in SSOC with the wish to be contributing towards 'Face-X'.
I have participated in Snap AR Hackathon and also have huge interest in making new and unique snapchat filter.
Kindly Assign this issue to me.

Hello @akshitagupta15june
I am a participant in SSOC 2.0 and I would very much like to get my hands in contributing to open source by starting with this issue. I am a beginner but I do have a clear knowledge in python and I am sure that I can learn whatever is required for developing snapchat filters and bring to you with the best outcome. So kindly please assign me with this task.
Thank you

Hey @akshitagupta15june, I would like to add a "Comic Book Speech Bubbles" snapchat filter that would Place comic-style speech bubbles with popular phrases like "Wow!" or "OMG!" near the user's face. Hoping you will assign me this task.
Thank you!

Hello @akshitagupta15june  I would like to contribute to this issue being a SSOC'23 contributor, Please assign me this issue as it is very interesting to learn more about this


Close connection to ollama when stop button is pressed

Bug Report
Description
Bug Summary:
Stop button (#48) does not really work, because WebUI backend keeps streaming the response from ollama. This also causes #444 and the same problem contributes to poor UX in #452. WebUI backend should close connection to ollama to stop generation.
Steps to Reproduce:

Ask a slower model to write something longer.
Press stop button.

Expected Behavior:
CPU usage drops immediately. New question can be asked immediately.
Actual Behavior:
While the client indeed stops receiving tokens immediately, ollama apparently continues to generate the whole response in the background, which blocks other chat requests. The only way to stop the generation is to restart ollama process.
Reproduction Details
Confirmation:

[x] I have read and followed all the instructions provided in the README.md.
[x] I have reviewed the troubleshooting.md document.
[ ] I have included the browser console logs.
[ ] I have included the Docker container logs.

Additional Information
The root cause of the issue is that WebUI backend fails to close connection to ollama. My experiments with ollama API show that closing the connection cancels generation immediately with no further CPU usage. Ollama's built-in CLI client apparently does this when you press Ctrl+C.
As I understand it, there's a connection chain:
WebUI frontend <-> WebUI backend <-> ollama
Frontend-backend connection is closed/cancelled properly, judging by browser console messages. But backend-ollama connection apparently stays open.

Yeah, this can be very problematic if you are using a model that sometimes goes wrongs and gives out and infinite repeating response. I had to ssh into the host machine and do a kill - 9 on the ollama process to get it working again.

Might be relevant: https://github.com/tiangolo/fastapi/discussions/8805

@tjbck This mostly works. Thanks! One issue though: Why does it take 15 seconds for ollama to go quiet after cancelling the response in UI? My experiments on API level show that ollama CPU usage should drop in under 3 seconds after connection is closed.

PS: It takes much longer with larger models. Do you have a buffer somewhere that needs to process a certain number of tokens before it can close the connection?

This is broken again. Ollama WebUI keeps streaming the rest of the response after I press stop button.

@robertvazan Hmm, AFAIK there hasn't been any changes from the webui side. Could you verify that the issue is from the webui? Thanks!


Find/Replace Preselect "selected line"

In sql editor, if some text are selected, scope option "Selected lines" should be selected when Find/Replace dialog box is displayed.

Thank you for the future request!

apparently in 24.0.4 the "Selected lines" radio button is now selected in your use case,
unfortunately while text is selected it not Find/Replace selected, so if you do a replace all expecting only the selected text to be effected, you will be in for a rude awakening.
the contents of the entire SQL Editor will be effected.
if instead you switch the Scope from "Selected lines" to "All" (and it doesn't clear your selection, which happens sometimes) and then switch it back to "Selected lines", the color of the selection will change to a lighter blue, and only now will operations be limited to the selected lines.
I hope that helps.
I've entered this bug over this issue  #29886.


test: fix flaky test should get metadata for an HMAC key

deleteHmacKeys is deleting all the keys available in project. While multiple build runs concurrently on CI there is a possibility that one is trying to get metadata at the same time another build deleted all the keys from project.
Fixes #1287

An issue with this approach is that if this test run fails for some reason, or the delete operation fails, those resources will continue to exist and never be picked up by another test run for removal. The usual approach we do is to get the resources that are stale (generally, were created one hour ago or more), and delete those. That way, we don't worry about deleting the ones we just created-- they will be caught and deleted in a future test run.
Is a structure like that possible for HMAC keys?

Maybe can try getting a list of all keys and then filter by both hmacKey.metadata!.state and hmacKey.metadata!.timeCreated

@stephenplusplus @AVaksman implemented delete stale HMAC key logic, it will delete all the keys that has been created before one hour.


Enhance abilities of Image class

Description:

wxPython also supports embedded images, however if the images are used in more than one form, they will be duplicated unless they are added to the Images class. That makes the functionality of the Images class more valuable. However, currently it's a bit awkward to use -- namely because if you add an image to a control, you have to know that you have to add the same image to the Images class to have it created there instead of in the current form.
Possible improvements:

Add property to automatically add images to this class whenever they are created in any control belonging to a form. This could also be form-specific instead.
Add function to sort the images
Add property to maintain list sorted
Add ability to create a folder with a specific type, and and move all images of that type into that folder.

I already tried having an auto feature that would automatically add the bitmaps, but it turned out very problematic. Undo was a significant problem, and enabling/disabling the property also created problems. It can be done but will take a fair amount of time to implement fully and test. It's not worth holding up the 1.3 release for.

Incoming PR will have a new auto_add property to automatically add images to the Image list whenever they are created in any control.
Images are always added in sorted order.
I'm dubious folders will ever work given the auto_add functionality.


Added the ec2_run policy

Type of change
Note: Fill x in []

[ ] bug
[x] enhancement
[ ] documentation
[ ] dependencies

Description

Added the ec2_run policy.
Created the ADR for the changes
For security reasons, all pull requests need to be approved first before running any automated CI

The best practice is to split this PR to 2:

Add ADR
Add ec2 run policy
When you are mixing between 2 functions its difficult to debug it in case of errors and also difficult to review it.

The best practice is to split this PR to 2:

Add ADR
Add ec2 run policy
When you are mixing between 2 functions its difficult to debug it in case of errors and also difficult to review it.

I added ADR for the ec2_run policy. It's not the two separate PRs. It was the better time to have the ADR.  Thats why I added the major change.


Generic Writer/Reader

r? @ryankurte
(rust_highfive has picked a reviewer for you, use r? to override)

It works fine and the file size is vastly reduced though the compile time stays almost the same (cargo check on the pac itself). I haven't quite figured out why but the dev binary size is also larger; maybe a missed inline somewhere. But to be honest, I'm no fan of all that macro_rule macros, like not at all.
If we want to go "all macro" I'd crate a procedural macro crate and have either derive or attribute macros for everything; basically just rewrite the SVD file into fully annotated structures and a bit of fairy dust.

It works not fine.
I can't to set different offsets for derived fields as they have same type.
Looks like I need const generics to solve the problem.

Close in favour of #331 .


Spanish + other small improvements

Added Spanish support
Bootstrap Classes selector now ensure no duplicates & remove extra spaces
Form labels now act as... you know, labels (clickable to focus field)
Default icon update to latest Summernote

Nice work, as you could see I was too lazy to make a proper onchange event for adding classes, lol. I like your solution, nice, and elegant.

Every big opportunity starts with a little conversation. I only took the time for this because you started it :)
I'm going to send nother another PR with my take into Shapes implementation + a couple bugfixes

So true, and why I love Open Source.

PR sent as https://github.com/StudioJunkyard/summernote-image-attributes/pull/4
General changes:

Optionally adds a dropdown to choose from Bootstrap image shapes (imageShape plugin alias)
Fixed fields with name attributes creating unwanted extra form fields being posted when dialogsInBody:false
Fixed typo that was storing a "ref" attribute instead of the correct "rel" ( f / l )
Now First field is focused (and it's content selected) on popup opening, so you can use the keyboard to tab-fill all form fields

Related to new feature "Image shapes":

Moved image shapes as an option, so it can be extended easily
Now both bar dropdown & popup dropdown selector uses the same shapes collection
Now everything respect language (even dropdown empty option + shapes)
Shapes are now mutually exclusive in the popup too

If you decide to merge it, it would be nice to update your repo screenshots as well ( I just kept your old ones linked in mine )


Gradient layer

I like this idea! It would be nice to have an example of it in action in the examples directory

@brentvatne there you go :)


Support platform_common and ToolchainInfo

Hi!
I'm trying to use skydoc in some rules I'm writing for ReasonML but I'm having trouble with platform_common being undefined.
  File "external/com_github_ostera_rules_reason/reason/private/bs_module.bzl", line 127, in <module>
    providers = [platform_common.ToolchainInfo],
NameError: name 'platform_common' is not defined

From looking around I saw the fix for provider and I think I can add to the rule_extractor.py another stub for platform_common so that I can generate docs.
What do you think? :)

Yes, feel free to add more stubs.
We know it's brittle, so Skydoc is going to be rewritten in a much more robust way (cc @c-parsons).

Closing. Use Stardoc :)


feat: upgrade grpc to 1.46

remove the deprecated grpc.WithBalancerName

I'll keep an eye on this proposal.
https://github.com/grpc/proposal/blob/master/A24-lb-policy-config.md


How to use this

Hi, I'm trying to use this package for simulation..

Is this package required cost map such as 2d gridmap?
I typed

in my steer_bot_sim.lauch file, but it does not work.
May I ask for a help?

It does require a costmap. It works like any other global planner, so if your setup works with e.g. global_planner it should work with waypoing_global_planner.
You didn't specify what exact error are your facing?


Changed to always calculating transient members on the fly... :(

Data is reused by trees to save time.
our flags become useless in this mode.
I have left the relevant code commented out in case we do want to use it in the future
Maybe we can convince the rooters that this is a good idea?

Also I should comment (as if I haven't done enough of that already today), that this is a significant bug which was introduced sometime in the last 2 weeks. It will only affect data on the script level, and not what is actually in the analysis tree. Therefore, if you have a newer version of LeanGrsi...RERUN YOUR SCRIPTS!!!!


making style simpler for reading

@anhou @yyscamper this should make it easier (albeit still terribly small) to read


Support user-auth service principal

This PR updates the SDK to support a service principal credential when using user-authentication methods. This will allow us to support backend functionality via the service principal credentials which will always be present.
This is an initial PR and further work may be done here.

We need to have design discussion regarding this


Make transaction API pluggable

The semantics of tx! are designed to be pluggable, but the internals need to be cleaned up a bit to make that possible.

I made the entry point configurable, and the elements of processing are just functions...so, you can either replace the whole thing, or sub out parts...I don't know if I want to make algorithm plugins for each stage...punting on this for now.


feat(esl-toggleale/esl-popup): focus management cleanup (v2)

Merge to simplify proces of #2753 review

:tada: This PR is included in version 5.0.0-beta.40 :tada:
The release is available on:

npm package (@beta dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Add dockerlized PCCS and QGS service

Add the Dockerfile of PCCS and QGS, also fix the build script bugs.
Note: move PCCS and QGS from tdx-tools to ccnp.

LGTM. @kenplusplus Do you have any comments on which folders to locate pccs and qgs?

container directory is OK, since it is the centralized place for potential container.


Missing packages

I did an npm install but it didn't install the packages needed. I had to add these manually:

promise
handlebars
object-assign

Missing from packages.json?

No these are not direct dependencies of adminMongo. This could be related to your other issue #137. What version of Nodejs are you running?

Stable (packaged) version for Ubuntu 14.04 LTS, 0.10.25. I realise this is probably old, but the OS will be supported until April 2019. If adminMongo needs a later version of Node.js, could there be a mention of that in the README.md? Thanks.

See #137.


Can you add two-layer authentication examples?

Hi Justin,
I found this on dev.to, not many people have discussed this and it really helps me a beginner.
Your example worked fine.
I have several separate layouts,

LayoutApp => withAuth(LayoutApp)
LayoutAuth => withoutAuth(LayoutAuth)

Can you add an example of two-layer authentication, before the user is redirected to the main application:

Login with email and password.
Call it the second verification, this page is under the LayoutApp.

Thank you in advance,

@renomureza Could you clarify what you mean by two-layer authentication? The only thing I can think of is enforcing both auth and permissions. For example, I have an app where I have to check whether a user has an active subscription. Is that what you mean?

@renomureza Could you clarify what you mean by two-layer authentication? The only thing I can think of is enforcing both auth and permissions. For example, I have an app where I have to check whether a user has an active subscription. Is that what you mean?

@justincy  yes that's exactly right,
Users with an expired subscription cannot access the application. However, he can still log in and access the profile/account page, let's just say that the page uses LayoutAccount.

@justincy  yes that's exactly right,
Users with an expired subscription cannot access the application. However, he can still log in and access the profile/account page, let's just say that the page uses LayoutAccount.

@renomureza HOCs can be wrapped so you'd do something like this: withAuth(withSubscription(LayoutApp)). withSubscription() would be setup similar to withAuth in that it'd have to create a wrapper component, define getInitialProps, and call the page component's getInitialProps (if it exists).
Does that make sense?

@renomureza HOCs can be wrapped so you'd do something like this: withAuth(withSubscription(LayoutApp)). withSubscription() would be setup similar to withAuth in that it'd have to create a wrapper component, define getInitialProps, and call the page component's getInitialProps (if it exists).
Does that make sense?

@justincy  thanks, it worked fine.

@justincy  thanks, it worked fine.


feat: add strict to Field

Chipping away at #4664.

are you going to add more here?

Nope! I was planning on trying to make small incremental changes and this seems like a good isolated change that we can merge as is.

@samuelcolvin do you want me to add more here or can we merge this and iterate?

thanks so much.


Silence Xcode 8.3 warnings

For the first time, in a very long time, we have zero warnings!

🙈

Executed 2568 tests, with 0 failures (0 unexpected) in 235.203 (236.236) seconds

The no Buildtime Issues image is a LIE. But, we're back to the known ones related to yap nullability specifiers and the one setStatusBarHidden warning in the specs.


CX Trust_Boundary_Violation_in_Session_Variables @ projects/Todo_app/app.py [master]

Trust_Boundary_Violation_in_Session_Variables issue exists @ projects/Todo_app/app.py in branch master
*Method index at line 24 of projects\Todo_app\app.py gets user input from element form. This element’s value flows through the code without being properly sanitized or validated and is eventually stored in the server-side Session object, in index at line 28 of projects\Todo_app\app.py. This constitutes a Trust Boundary Violation.Similarity ID: -1779236197
Method index at line 24 of projects\Todo_app\app.py gets user input from element form. This element’s value flows through the code without being properly sanitized or validated and is eventually stored in the server-side Session object, in index at line 27 of projects\Todo_app\app.py. This constitutes a Trust Boundary Violation.Similarity ID: 383118991*
Severity: Low
CWE:501
Vulnerability details and guidance
Internal Guidance
Checkmarx
Training
Recommended Fix
Lines: 24

Code (Line #24):
task_content = request.form["task"]

Issue still exists.


Send user agent that tells Opbeat that this is Ruby

We should change the user agent to follow the convention started by the node agent (opbeat-nodejs/version). Today it just looks like: (opbeat/version). Ideally. we'd include the framework too, e.g.: opbeat-ruby/version; rails/4.2 if the rails integration is in effect.

In master 3133cb4b64b86c2b60c1925c5207b84455744bfd the user-agent is now called upbeat-ruby/version. Good idea about adding rails/version as well - I'll see what I can do.

I think the rails version is better logged under the "extra" pane for each error. I've added that + the Ruby version as well in 5f33bbc1e009268bc0e63a7f4e94b36e958873c9


slow performance nuget restore

I would like to know if there's a way to improve the performance for a nuget restore using a private repo. It's taking several minutes to restore my packages, while restoring from nuget.org only take a few seconds. Is there something that I could do to decrease the amount of time spent in this task?

@thdotnet your problem might not scope to the agent, and you might want to seek help from https://developercommunity.visualstudio.com/spaces/21/index.html
I think you are using the Hosted agent, since it's fresh VM for every build.
I think the restore speed might depends on where your private nuget feed is located and where the Hosted agent machine is located.
The public nuget.org might have CDN all around the world.

This seems like a persistent problem especially for .NET Core/.NET Standard projects that have tons of dependencies. I'm frequently seeing "100000" timeouts in my NuGet restore tasks for very basic .NET Core solutions.

please open a ticket at the developer community since this is not scoped to the pipeline agent itself.
https://developercommunity.visualstudio.com/spaces/21/index.html


Explictly name shards in sh_addshard - allows for "standalone shards"

Currently mongodb_shard will only work properly if the shards are replicasets (and the mongodb_shard resources are correctly named).
The reason for this is that when adding a shard puppet calls sh.addShard.  This function lets MongoDB automatically assign the _id field to each shard.  If the shard is a replicaset the _id will be of the form replset1/address:port, however when the shard is a standalone mongodb server instance the _id will be something like shard0001.  When puppet agent runs and checks the status of mongo sharding it runs sh.status(), it looks for shards where the _id matches the mongodb_shard resource name, and if it doesn't find them it tries to add the shard again, which fails.
This fix explicitly sets the _id field for each shard according to the mongodb_shard resource name.
Seem reasonable? @Spredzy

It does sound in theory ok. I haven't used MongoDB in a while so I would expect another yay or nay from someone who can actually run it. Also I would suggest you create a functional beaker test so its easy to see it working and being backward compatible.

Hey @Spredzy
I updated the create shard test, and now everything is passing, clean bill of health :-).  Any chance of getting this merged?

ping @hunner

@hunner is it possible to get this in?  As far as I can tell the module still doesn't support standalone/non-replica set shards.  This adds some support for this

I don't have that much experience with mongodb. It'd help me a lot to see this used in an acceptance test but https://github.com/voxpupuli/puppet-mongodb/pull/397 provides the infra that would make it easier to write such a test.

Due to its age I'm closing this PR. Feel free to open a new one with more recent code.


Skipping not working on bitbucket server (stash)

We are using drone together with Bitbucket Server and https://docs.drone.io/pipeline/skipping/ is not working properly.
The stash hook does not provide the message of the commit but this could be solve as drone fill those fields after the hook is received.

thanks @pedroparraortega for your contribution, the team usually reviews community contributions on Tuesday but we are a little backed up at the moment!


Jupyter Notebook suddenly required to run python script??

@ronnies007 commented on Wed Mar 27 2019
Issue Type: Bug
Yesterday everything worked fine. Today I cant start a single script. tried it on two seperate computers. it didnt work.
thants the error message: 'Executing code failed : Error: Running cells requires Jupyter notebooks to be installed.'
VS Code version: Code 1.32.3 (a3db5be9b5c6ba46bb7555ec5d60178ecc2eaae4, 2019-03-14T23:43:35.476Z)
OS version: Windows_NT x64 10.0.17134

System Info

Item
Value

CPUs
Intel(R) Core(TM) i5-8600K CPU @ 3.60GHz (6 x 3600)

GPU Status
2d_canvas: enabledchecker_imaging: disabled_offflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onnative_gpu_memory_buffers: disabled_softwarerasterization: enabledsurface_synchronization: enabled_onvideo_decode: enabledwebgl: enabledwebgl2: enabled

Memory (System)
14.93GB (7.81GB free)

Process Argv

Screen Reader
no

VM
0%

Extensions (4)

Extension
Author (truncated)
Version

vscode-django
bat
0.19.0

py-paste-indent
hye
0.1.1

python
ms-
2019.3.6139

jinja
who
0.0.8

@vscodebot[bot] commented on Wed Mar 27 2019
(Experimental duplicate detection)
Thanks for submitting this issue. Please also check if it is already covered by an existing one, like:

Support Jupyter Notebook Interactive Computing paradigm (#34739)

@ronnies007 commented on Wed Mar 27 2019
I fixed it by right clicking on the python extension and selecting 'install another version'
then I chose the version right below the active one.

How are you running a script? Shift+Enter? one of these commands:

@ronnies007, How are you trying to run your script? A context menu? The command-palette?

Closing for now. @ronnies007, please feel free to comment if you have more information.

@rchiodo
I use to start scripts by right clicking on the file inside explorer window, and select the option on the bottom just like in your screenshot. sry, I didnt check this post anymore cause as I mentioned I fixed it for me. disabled auto-update, and using the older version >20 days now. I tried using the play-button right top corner but it wont use the "\r\n" inside a print statement as I like it.

@ronnies007 It's likely you have this setting set (or did when you got the newer bits):

If you ever move to a newer python extension again, you can toggle this setting to off so that Shift+Enter again goes to the terminal.
This setting should have defaulted to off, so we were curious how it got set.

thanks I will have a look tomorrow.. gn.

no. the option is not checked. now when I update to the newest python extension the script just wont run when I start it as mentioned. the play button top-right corner also is gone. : (

What extensions do you have installed? We don't have a play button anywhere.


212.3116.29-EAP-SNAPSHOT can be resolved when used for intellij.version, but not in runPluginVerifier

gradle-intellij-plugin version: 0.7.3
I'm successfully building the project against 212.3116.29-EAP-SNAPSHOT, but plugin verifier can't resolve it when I include this version among runPluginVerifier.ideVersions:
$ ./gradlew runPluginVerifier

> Task :runPluginVerifier
Download https://cache-redirector.jetbrains.com/download.jetbrains.com/idea/ideaIC-2020.3.4.tar.gz
Download https://data.services.jetbrains.com/products/download?code=IC&platform=linux&type=release&build=212.3116.29
Download https://data.services.jetbrains.com/products/download?code=IC&platform=linux&type=rc&build=212.3116.29
Download https://data.services.jetbrains.com/products/download?code=IC&platform=linux&type=eap&build=212.3116.29
Download https://data.services.jetbrains.com/products/download?code=IC&platform=linux&type=beta&build=212.3116.29

> Task :runPluginVerifier FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':runPluginVerifier'.
> IDE '212.3116.29' cannot be downloaded. Please verify the specified IDE version against the products available for testing: https://jb.gg/intellij-platform-builds-list

EAP for 2021.2 has not started yet.

Ok... so if you could clarify:

the 212-EAP is available at https://www.jetbrains.com/intellij-repository/snapshots/
as I direct consequence of (1.) I can build against this 212-EAP
but as for now the event of EAP start (?) has not happened? how is the moment of EAP start determined/is it only after a blogpost (like this one: https://blog.jetbrains.com/idea/2021/01/intellij-idea-2021-1-eap-1/) is published on JetBrains blog?

Official start of EAPs are announced for each product on Twitter and Blog separately.
All released versions are available here https://jb.gg/intellij-platform-builds-list


Add method to check if a Scenario exists

Description
Took me awhile to realise that I could do tp.exists(scenario.id), because I was looking through the members of Scenario to find how to check if it had been deleted.
Might be helpful if Scenario (and other relevant entities) had a method to check if it has been deleted.
Acceptance Criteria

[ ] Ensure new code is unit tested, and check code coverage is at least 90%
[ ] Propagate any change on the demos and run all of them to ensure there is no breaking change
[ ] Ensure any change is well documented

Do you mean exposing new methods like:
scenario.exists()
task.exists()

Do you mean exposing new methods like:
scenario.exists()
task.exists()

Yup, that's what I mean

hello! I am a first time contributor ,do you think I could work on this issue?

Yes absolutely. The tp.exists() API is already implemented. All we need to do is exposing the exists() API in the DataNode, Task, Scenario, ... classes.
Please let us know if you have any question.

Hello @ioannastantzou, this issue is currently under discussion by the Taipy team as shown in the label. It was my mistake to assign an under discussion issue to you. I'm really sorry about that.
We will continue the discussion to see whether this new feature should be a part of Taipy package or not. Please be patient with us.
In the meantime, you can find issues with the label "Help wanted" or "good first issue" since those are the features or bugs that we want to include / fix in the Taipy package.

okay no worries! Could you please check out issue #375 , i have asked to be assigned for this one! thank you!


[WFLY-10997] Fixing remoting endpoint inconsistency.

https://issues.jboss.org/browse/WFLY-10997

Please review @dmlloyd and @fl4via .