Implement Schnorr-based signature of the block

As a node operator, I need blocks that has been accepted by the consensus protocol to be signed in a compact way. In the best case scenario, the signature should use O(1) space & time.
The first step is to come up with a definition of the data structure used, as well as the signature collection window. For example, can a signature be added to the block after another block has been appended to the chain ?
Also, the Schnorr signature algorithm currently depends on:

R (random number)
S (public key)
Hash(R || S || message)

In this case, message could simply be the hash of the block. There is currently no evidence that S being part of the Hash is more secure, so it could be removed. However
this scheme, having R as part of the Hash, does not allow arbitrarily adding signatures.
Schnorr multi-signature for the block signature.
More than half the validators must sign a block which has reached consensus before it will be externalized.
Validators "gossip" their block signatures after the block is externalized, which means that even after consensus is reached, and the block is externalised, more validators can add their signature to the block.
Each validator signs the block with (R, s) where
R = (r + c).G
where
c = Hash(Block)
r = r + c where r is the private (Scalar) key of R from signature of enrollment
s = r + (c * v)
where
c = Hash(Block)
r = r + c where r is the private (Scalar) key of R
v = private (Scalar) of validator Schnorr keyPair
To validate an individual signature:-
S == R + (c * V)
where
S = s.G (Scalar -> point)
V = public key of validator as Point
To validate combined block signature:-
S = R1 + R2 ... + c * (V1 + V2 ...)
where S is s.G from block signature (R, s)

For example, can a signature be added to the block after another block has been appended to the chain ?

I don't think so, otherwise the chain is not immutable?

However this scheme, having R as part of the Hash, does not allow arbitrarily adding signatures.

What did you mean by this, "arbitrarily"?

Ok, so I'm thinking we could have something like this in the block:
Bitfield bitfield;
Signature sig;

The bitfield would be a compact representation specifying which validators signed, and which did not. If for example there are 6 validators in total, and the bits at index 0, 2, 4 are 1, it means validators #0, #2, #4 signed the block, and validators #1, #3, and #5 did not.
Then, it should be simple to verify a block. Prototyping:
Point sum_keys =
    bitfield  // range over bits
        .enumerate  // we need the indices
        .filter!((idx, signed) => signed))  // validators which signed
        .map!((idx, _) => this.validator_keys[idx])  // get the keys
        .reduce!((a, b) => a + b));  // sum them via schnorr

if (verify(sum_keys, block.signature, block.hash))
{
   // ...
}

Is there any drawback to this approach?

What did you mean by this, "arbitrarily"?

They don't need another round of communication to exchange their R.

Is there any drawback to this approach?

I can't see any ATM.

For example, can a signature be added to the block after another block has been appended to the chain ?

Is this about validators which didn't sign in due time after the block was published? So it gives them time to "catch up" and sign the blocks they didn't sign while they were offline?

Yes

Is this about validators which didn't sign in due time after the block was published? So it gives them time to "catch up" and sign the blocks they didn't sign while they were offline?

Is it a block that is not connected to the chain yet or an undetermined block?

It's about the HEAD of the chain (and potentially, X blocks under HEAD): If a validator goes offline for, let's say 3 blocks, and come back, can they "catch up" on validation (add their signatures) or do they have to start validating from the current HEAD and forget about the 3 blocks they missed ?

If a validator goes offline for, let's say 3 blocks, and come back, can they "catch up" on validation
If they come back, they found the wrong block while proceeding with the "catch up" verification. Can they replace the block?

It depends on what you mean by "wrong block"

I'm having a somewhat convoluted unittest example (which I'll clean up when I have the time), but I think I am maybe/almost on track:

unittest
{
    Hash msg_1 = "Block #1".hashFull();

    // secret
    Scalar n1_r1;
    Scalar n2_r1;

    // keys
    Pair kp1 = Pair.random();
    Pair kp2 = Pair.random();

    // random points
    Pair N1_R = Pair.random();
    Pair N2_R = Pair.random();

    // these are derived from the previous block sig or previous enrollment
    Point N1_R1;
    Point N2_R1;

    // node #1
    {
        Hash[] n1_preimages;
        n1_preimages ~= N1_R.v.hashFull();
        n1_preimages ~= N1_R.v.hashFull().hashFull();

        Scalar r0 = N1_R.v;
        Scalar n1X0 = Scalar(n1_preimages[$ - 1]);
        n1_r1 = r0 + n1X0;
        N1_R1 = N1_R.V + n1X0.toPoint();
    }

    // node #2
    {
        Hash[] n2_preimages;
        n2_preimages ~= N2_R.v.hashFull();
        n2_preimages ~= N2_R.v.hashFull().hashFull();

        Scalar r0 = N2_R.v;
        Scalar n2X0 = Scalar(n2_preimages[$ - 1]);
        n2_r1 = r0 + n2X0;
        N2_R1 = N2_R.V + n2X0.toPoint();
    }

    auto R = N1_R1 + N2_R1;

    // all validator public keys
    Point PubKeys = kp1.V + kp2.V;

    // both sign on R and their own r points
    Signature N1_SIG1 = sign(kp1.v, PubKeys, R, n1_r1, msg_1);
    Signature N2_SIG1 = sign(kp2.v, PubKeys, R, n2_r1, msg_1);

    // multisig for block #1
    Signature multisig_1 = Signature(R, N1_SIG1.s + N2_SIG1.s);

    assert(verify(PubKeys, multisig_1, msg_1));
}

For example, can a signature be added to the block after another block has been appended to the chain ?
However
this scheme, having R as part of the Hash, does not allow arbitrarily adding signatures.

I'm working on a scheme where signatures can be arbitrarily added at a later point. Also, R being part of the hash can be OK, as long as validator nodes publish their preimages. Essentially, a node operator may send out multiple preimages (say next 10 blocks), go offline, and later when it comes back online it signs those blocks.
It's a pretty neat scheme, and I'm working on a PoC right now. I'm about 95% there with a working prototype.

First part done in #1196 but will carry over to the next sprint.

@Geod24 and @AndrejMitrovic I think we can close this issue now.
We can still decide in the future to update this scheme if we find a security weakness.
I think any updates are better done after we have a complete solution and have it security audited.

Congrats!

Congrats!

Thanks for all your help with this one.


⚠ Bofrost.de has degraded performance

In eff05af, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 958 ms

Resolved: Bofrost.de performance has improved in 4ec1d89 after 6 minutes.


Feature/spring boot 2 create example module

Fixes #54
A port of the sample application to the spring-boot-2 feature branch.
Could the label 'hacktoberfest' be added to this issue? (since my contribution is in the spirit of Hacktoberfest 2017).

Hi @robvanderleek thanks for your PR once more and sorry for the late response! In order to keep the amount of changed files as low as possible, I think we should first file a PR to merge changes from Master and another one for changes which are needed to create the port. What do you think?

Hi @MALPI, the current PR is quite bloated so I agree of splitting it up. I'm not exactly sure how to proper split it though. There are some changes to master before I restructured the codebase, then the restructuring, then some merges and more of my changes for the sample example and finally the port to SB2. Those last changes are needed to get the port working with SB2. Do you have a suggestion how to break up the PR?

I guess you created your branch from Master as base? Not sure, but probably we cannot simply merge master to this branch. But apply the changes step by step. Would need to check in detail in the next days.

IIRC I used feature/spring-boot-2 as a base for this branch. Then merged in master and made changes to get the sample app working with SB2. It's no problem for me to redo the branch, let me know what sequence of steps you would prefer.

Ok, going to review tonight probably.

:+1:

@mmodabber @coders-kitchen please review/approve

👍


Extension crashing when running the command auto-front-matter.createMdFromTemplate

can't create new .md files in the new update

I have frontmatter.json configured, Which worked fine with the prev version.
vscode version: 1.93.0-1

Please use version v6


default argument matches between g.shell.GGIR and subfunctions

g.shell.GGIR passes on it's defaults to other function. However, the documentation is mostly based on the defaults of those other functions. Therefore, it is important to find a way to standardise the default argument values across functions and documentation:
An automated check for consistency and redundancy in documentation would be good.
For example with a separate R script in this repository that helps to screen Rd files for argument explanations and default settings.

Closing, because this issue will be addressed by #481


Implement vPlus credential deletion when unsharing a public link

When a user clicks Unshare Public Link button, the wallet should send a DELETE request to the VerifierPlus api.

Implemented, closing.


Figure out python build setup

Goals of the build setup:

[P1] easily share code across Cloud Run services
[P1] clear, reliable, reproducible, and up-to-date dependency management (eg avoid breaking when a dependency is updated, keep deps up to date, and make it difficult to deploy code that's missing a dependency or using an incompatible one)
[P2] avoid pulling in unnecessary dependencies (I think this is less relevant unless somehow our codebase/dependency tree becomes very large, but it could help with reliability)
[P2] standardize dependency management for local setup and testing without polluting prod environments

Current setup at time of writing is:

All shared python is in /python directory at the root of the repository. This includes a setup.py file which declares the /python directory as a package. Shared code is placed in sub-packages with an __init__.py file. Each Cloud Run service has a Dockerfile that copies the /python directory to the container image and installs it with pip install. Each Cloud Run service has its own requirements.in file that is used to generate a requirements.txt file. It is up to each service to make sure that if any shared code in /python requires dependency X, that its requirements.in file is updated to specify dependency X and pip-compile is run to generate the correct requirements.txt file

Pros: easy to share code. Requirements are version-pinned (this helps standardize environments and avoid weird breakages)
Cons: all code from ./python is installed in all Cloud Run services, deps required from ./python/some_package must be added to the requirements.in file for every service that uses some_package.
I think ideally we should move to a model where:

each sub-package of /python specifies its own dependencies either via a requirements.in file or setup.py file
each Cloud Run service specifies a requirements.in file that references the requirements.in files for the shared packages being used.
we have some form of automation that ensures pinned versions are updated regularly (no idea how to do this, maybe something like Github Dependabot?)
some presubmit check that ensures that when new dependencies are added to a package, all services that rely on it have their requirements.txt files updated

This model may or may not require using pip-compile-multi, needs some investigation.
One way to solve the whole requirements.txt going out of date is to run pip-compile to generate the requirements.txt file from within the Dockerfile for each service. This would keep things up to date but I'm guessing it's a bad idea because it makes dependency versions really opaque and means that every time new code is deployed it also updates all versions which could lead to reliability issues.
Other random open question: should we use setuptools instead of distutils.core.setup? context

Another option to consider is pipreqs which generates requirements files based on actual imported modules, which eliminates the need to remember which things are needed and add them to requirements.in

I updated the setup as follows:
Shared code:
python
  -> ingestion
    -> setup.py
    -> __init__.py
    -> requirements.in
    -> source_file1.py
    -> ... more source files ...
  -> other_package
    -> ...

Each cloud run service:
run_ingestion
  -> Dockerfile
  -> main.py
  -> requirements.in
  -> requirements.txt

Each cloud run service dockerfile copies all shared code but only installs the actually required dependencies. Eg for run_ingestion
COPY ./run_ingestion ./run_ingestion
COPY ./python ./python
RUN pip install -r run_ingestion/requirements.txt
RUN pip install ./python/<some_package>

Each cloud run service requirements.in file contains the line -r ../python/<some_package>/requirements.in for each package being used.
This accomplishes:

easily sharing code between services
only pulling in required dependencies
ensures that external dependencies only need to be specified once, in the shared package they're used in, and get automatically pulled into any cloud services that use that package
it's easy to tell where dependencies came from. By having the cloud run services contain -r ../python/<some_package>/requirements.in, the requirements.txt file will reference that the dep came from <some_package>
no conflicting dependency versions between different shared packages, since shared packages don't specify versions, only cloud run services do

I think the only remaining things are:

keeping external dependencies up to date (currently requires someone manually running pip-compile to update requirements.txt files)
make it difficult to deploy code that's missing a dependency or using an incompatible one
standardize dependency management for local setup and testing without polluting prod environments

Oh another nice-to-have feature would be warning for unused imports or deps. Not sure how to accomplish this, needs more research


Wiki to MSC categorization mapping

I have just completed the first ever Wikipedia indexing run, using my categorization heuristics. The process retrieved near ~13,000 flat concepts from traversing ~10,000 URLs.
To be able to use these concepts fully in the disambiguation process, we need to create a map connecting the custom Wikipedia classification to the MSC scheme. That is not a big task, given that there are just over 200 relevant Wikipedia categories. The full list can be found at this Gist.

If anyone finds value in the wiki<->msc alignment years later, they're welcome to take it up onto themselves, but I think it has lost some relevance for the nnexus project and our short term interests for now, closing here.


how to use google oauth to access view id ?

how to use google oauth to access view id ?
my website --> user login with google analytics account (OAUTH 2) --> get user google analytics view id --> report ( for ex: get pageviews)

I do not know what you exactly mean. Do you have a link for me for the manual providing this feature for analytics? If you can set it as an option for the javascript we have a method for this. But I think you want something different.


Unable to connect to QMP socket

While using transient for spanning several instances 2 failed with the error below.
transient version: transient==0.4
The rest of the 10+ instances worked fine so this seems like a edge case issue:
time transient run -name 445554fa-773e-4a4e-a711-80e18fa36bb6 -image af4bc317-20ba-4fa3-bded-82ee224ac26c-0-XXXXX-test:0.3.2 -sshs -ssh-timeout 180 -image-frontend /home/transient/build/transient -image-backend /home/transient/build/transient -- -enable-kvm -m 1G -smp 2 -nographic -cpu max

Finished preparation. Starting virtual machine
Traceback (most recent call last):
  File "/home/transient/.local/bin/transient", line 11, in <module>
    sys.exit(main())
  File "/home/transient/.local/lib/python3.6/site-packages/transient/cli.py", line 205, in main
    returncode = trans.run()
  File "/home/transient/.local/lib/python3.6/site-packages/transient/transient.py", line 182, in run
    self.qemu_runner.qmp_client.connect()
  File "/home/transient/.local/lib/python3.6/site-packages/transient/qemu.py", line 79, in connect
    "Unable to connect to QMP socket at localhost:{}".format(self.port))
ConnectionRefusedError: Unable to connect to QMP socket at localhost:56107
Command exited with non-zero status 1
0.59user 0.09system 0:39.46elapsed 1%CPU (0avgtext+0avgdata 40960maxresident)k
12304inputs+8outputs (23major+17881minor)pagefaults 0swaps

Interesting. Can you try to reproduce this with verbose flags? Also what version of transient is this on?

Maybe 4 seconds isn't enough time for qemu to start up if you're under heavy load? That doesn't seem likely though

Interesting. Can you try to reproduce this with verbose flags? Also what version of transient is this on?

Ok Just tried and I am able to reproduce it!
Will get the logs and post it once the run is complete.

I believe this has now been resolved by the configurable qmp connection timeout.


MSAL Node's Managed Identity Api Implementation

This PR covers the API for the new (MSAL-Node specific) Managed Identity Client. Only the App Service source has been implemented for now. The Azure Arc, CloudShell, IMDS and Service Fabric sources will be in another PR.
A lot of properties in msal-common's BaseClient can not be used in the new ManagedIdentityClient, such as: authority, serverTelemetryManager, etc. My initial approach was to move these properties to a new class called AuthorityClient (which would extend BaseClient), and have all existing clients extend AuthorityClient instead of BaseClient. ManagedIdentityClient would then extend BaseClient; BaseClient would be comprised of everything in common between AuthorityClient and ManagedIdentityClient.
After exploring this option thoroughly, I chose not to implement this because I would then need to make further changes to /src/config/ClientConfiguration.ts, specifically the buildClientConfiguration method.
I don't think it makes sense to make all these changes to a Base class for a client that will only exist in MSAL-Node. Therefore, in my implementation, the ManagedIdentityClient does not extend BaseClient; it's its own standalone class.

The following is how a developer will create a new managed identity client and acquire a token
import * as msal from "@azure/msal-node";

// optional
const appConfig: msal.ManagedIdentityConfiguration = {
    system: { // optional
        loggerOptions: msal.LoggerOptions; // optional
        networkClient: msal.INetworkModule; // optional
        proxyUrl: string; // optional
        customAgentOptions: http.AgentOptions | https.AgentOption; // optional
    },
};

// required
const request: msal.ManagedIdentityRequest = {
    forceRefresh: true, // optional, defaults to false
    resourceUri: "URI_of_the_managed_identity_assigned_to_the_azure_resource" // required
};

// required
const managedIdentityType: msal.ManagedIdentityIdType = msal.ManagedIdentityIdType.USER_ASSIGNED_CLIENT_ID;
const managedIdentityId: msal.ManagedIdentityId = msal.ManagedIdentityId.createUserAssignedClientId(managedIdentityType, "client_id");

..................

try {
    const managedIdentityClient = new msal.ManagedIdentityClient(managedIdentityId, appConfig);
    const response = await managedIdentityClient.acquireToken(request); // not yet implemented
    console.log(response);
} catch (error) {
    console.log(error);
}

CC @pmaytak and @neha-bhargava on API proposal

Codecov Report

:exclamation: No coverage uploaded for pull request base (msi_feature_branch@6eaf83f). Click here to learn what that means.
The diff coverage is n/a.

Flag
Coverage Δ

msal-common
83.50% <0.00%> (?)

msal-node-extensions
40.61% <0.00%> (?)

msal-react
94.24% <0.00%> (?)


Stop exposing real account tokens in plaintext

After I rotated the Gemfury/Hex.PM tokens, these unit tests started failing, which made us realize we've been exposing the account tokens in the clear.
Historically this was fine because:

These private registries were used solely for test accounts, it didn't matter if they were compromised.
Dependabot was a startup manned by a small team, so everyone knew these registries were publicly exposed and shouldn't be re-used for anything private.

However, :two: is no longer true... now that :dependabot: is part of GitHub, the team has grown so there's a risk that someone could upload something that should stay private to these orgs.
Unfortunately, neither Gemfury nor Hex.PM support limiting the scope of a token to particular package(s). So while they're read-only, they still expose everything on the account.
After discussing further, we decided that we no longer want to expose these tokens, so flipping them to use Env Vars.
Furthermore, these tests exercise private registry auth code in dependabot-core, but we don't use that in production at GitHub. Instead, we use a private credential
proxy.
Long term, we've batted around the idea of open sourcing that, in which case we'd remove all the private registry auth code from dependabot-core.
So this PR removes the plain text tokens (and I will also delete them from the registry side to ensure they aren't usable). And wires up env var support so that if we do need to run these tests, we can still do that. But it does not go to the trouble of wiring up setting the env var using GitHub actions because there is a reasonable chance this code will all be deleted in the not-too-distant future. And until then, it's not even used by GitHub production, only by folks running dependabot-core standalone. So the impact if this does break is fairly small and in that case we'd happily accept a contribution to fix things, but we're unlikely to invest the engineering efforts ourselves to fix it.
This supersedes the approach I took in:

https://github.com/dependabot/dependabot-core/pull/7532

Looking into the CI failure...

I have revoked the tokens that were previously exposed here in plain text.


Fix runtime API calls

Description

updated polymesh-types package to 5.12.3
regenerated types - added missing count paramater to Authorization type to fix decoding of identityApi.getFilteredAuthorizations responses
removed conversion of portfolio custodian did to PolymeshPrimitiveIdentityId for assetApi.canTransferGranular calls as it required type for per the schema was Option<IdentityId> and did not accept PolymeshPrimitiveIdentityId as an acceptable type. The explicit conversion to a Codec type is not required.

Breaking Changes
N/A
JIRA Link
N/A
Checklist

[ ] Updated the Readme.md (if required) ?

Can you make PRs from this branch into beta and alpha as well?
The branches are synced so all should be OK to do that way.

closing for alpha PR


Multiple font face attribs

Some variations of multiple font face tags are not handled properly in the editor or in pre parse
http://www.elkarte.net/community/index.php?topic=2754

Is this commit 017c815b10e783278051f09043f76ab03e6b62fc the fix for this?

It should be, one hopes

/me closes


"Error in connection establishment" when nginx points to another server

Hello!
I'm stuck in situation how to pass websockets requests in situation when I've 2 servers in chain.
Here is it

A domain name (domain.dev), with A record
intranet server #1, which has external IP and nginx with SSL installed that proxifying requests from external IP to internal, depending on domain name
intranet server #2, which contains service with websocket on standart port, this server has no direct access to internet

So sheme is
Domain.dev (A record points to Server #1 ) => Server #1 (with nginx and SSL for domain.dev) => Server #2 (with websocket server on standart port 6001)
I tried lots of variants and always get errors like
WebSocket connection to 'wss://******' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED
WebSocket connection to 'wss://********' failed: WebSocket is closed before the connection is established.

As I mentioned problem is that my service is configured for accepting http connections, but connections is sending via https (wss:).
I read official manual https://docs.beyondco.de/laravel-websockets/1.0/basic-usage/ssl.html#usage-with-a-reverse-proxy-like-nginx but can't understand how handle same 'location' for http and websockets requests
So this config  part from example
location / {
    proxy_pass             http://<IP_ADDRESS>:6001;

is for websockets only? But how I can forward normal requests?
My Configs
app.js
 window.Echo = new Echo({
     broadcaster: 'pusher',
     key: process.env.MIX_PUSHER_APP_KEY,
     cluster: process.env.MIX_PUSHER_APP_CLUSTER,
     wsHost: window.location.hostname,
     disableStats: true,
     wsPort: 6001,
     wssPort: 6001 //HTTPS only
 });

broadcasting.php
 'options' => [
                'cluster' => env('PUSHER_APP_CLUSTER'),
                'host' => '<IP_ADDRESS>',
                'port' => 6001,
                'encrypted' => false, //# for HTTP
                'scheme' => 'http', //# for HTTP
                //'scheme' => 'https', //#for HTTPS
                'curl_options' => [
                    CURLOPT_SSL_VERIFYHOST => 0,
                    CURLOPT_SSL_VERIFYPEER => 0,
                ]
            ],

websockets.php
[
            'id' => env('PUSHER_APP_ID'),
            'name' => env('APP_NAME'),
            'key' => env('PUSHER_APP_KEY'),
            'secret' => env('PUSHER_APP_SECRET'),
            'path' => env('PUSHER_APP_PATH'),
            'capacity' => null,
            'enable_client_messages' => true,
            'enable_statistics' => false,
        ],

nginx config is total trash now :) so please point me to right direction.

Same here?...
I'm trying something like that in the nginx.conf:
upstream websocket {
  server <IP_ADDRESS>:6001;
  keepalive 256;
}

map $http_upgrade $connection_upgrade {
  default "upgrade";
  websocket "ws";
}

..
..
# and then inside the server {}

location /app {
            proxy_pass             http://websocket;
            proxy_set_header Host  $host;
            proxy_read_timeout     60;
            proxy_connect_timeout  60;
            proxy_redirect         off;

            # Allow the use of websockets
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection 'upgrade';
            proxy_set_header Host $host;
            proxy_cache_bypass $http_upgrade;
    }

Still same errir


feat: support passing consistency parameter

Description
This is an initial attempt at introducing support for the experimental consistency option in the relevant APIs, this is supported on the following APIs:

Check
List Users
List Objects + Streamed List Objects
Expand
Read

It was decided that as this is more of a general request option similar to model id, when using the OpenFGAClient it should be provided via the options object so usage is as follows:
response = await fga_client.check(
	ClientCheckRequest(
		user="user:anne", relation="viewer", object="document:roadmap"
	),
	{ "consistency": ConsistencyPreference.HIGHER_CONSISTENCY },
)

References

Review Checklist

[x] I have clicked on "allow edits by maintainers".
[ ] I have added documentation for new/changed functionality in this PR or in a PR to openfga.dev [Provide a link to any relevant PRs in the references section above]
[x] The correct base branch is being used, if not main
[ ] I have added tests to validate that the change in functionality is working as expected

Codecov Report
Attention: Patch coverage is 70.47619% with 31 lines in your changes missing coverage. Please review.

Project coverage is 68.74%. Comparing base (360c2e0) to head (ead3dc1).

Files
Patch %
Lines

openfga_sdk/models/consistency_preference.py
38.00%
31 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #113      +/-   ##
==========================================
+ Coverage   68.72%   68.74%   +0.01%
==========================================
  Files         119      120       +1
  Lines        9665     9770     +105
==========================================
+ Hits         6642     6716      +74
- Misses       3023     3054      +31

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Sync Attributes

Laravel Version: 5.4
Adldap2-Laravel Version: 3.0.*
PHP Version: 7.0

I have a problem when I add attributes to synchronize AD users with login, there are some that insert null values even though in Active Directory contain values, attach my array.
'sync_attributes' => [
'apellido'=>'sn',  (it works)
'compania'=>'company', (it doesn't works)
'departamento'=>'department', (it doesn't works)
'email'=>'mail', (it works)
'telefono_ip'=>'ipphone', (it works)
'nombre_completo'=>'displayname', (it works)
'nombre_corto'=>'samaccountname', (it works)
'opciones_cuenta'=>'msds-user-account-control-computed', (it doesn't works)
'puesto'=>'description',  (it works)
'script_path'=>'scriptpath', (it doesn't works)
'telefono'=>'telephonenumber', (it works)
'username' => 'samaccountname', (it works)
'name' => 'cn',  (it works)
],

I hope you have some idea.
Thank you

Hi @AlbertoRobles, apologies for the long response.
Are you able to debug and see if the user contains these attributes on their LDAP model?
You can do so like this:
$user = \Adldap::search()->users()->find('jdoe');

dd($user->getAttributes());

Thanks @stevebauman , I already did the tests and print an array with 62 attributes, but I do not have the ones I need, how can I add the attributes that I need?
for example:
'department'
'company'
'msds-user-account-control-computed'
'scriptpath'

@AlbertoRobles if the user object in the Active Directory doesn't have the values to the attribute set, you can change so by opening up the Users & Groups Management Console, navigate to the user you want and click on Properties, then go to the Attribute Editor tab, and locate the attributes that you require. If you don't see them, you may have it filtered to only show attributes with values. If so, just click on the Filter button and uncheck the Show only attributes that have values

Thanks @hightekjonathan, I believe this is correct.
Adldap doesn't remove or filter any of your users attributes. By default, when your LDAP server is queried all attributes are returned.


Сhoose a specific table to generate

Can I choose a specific table for generating?
For example: phinx-migrations generate --table OnlyOneTable

Hi! Currently this parameter is not supportet. In this case it would be better to make small changes instead of on big change. I would suggest to change just one table and generate a new migration for it.


[stable/aws-alb-ingress-controller] Adding priority class support 🔺

Summoning @bigkraig and/or @M00nF1sh  per the PR template. Thanks for taking the time to review this, it's much appreciated!
####Special notes for your reviewer:
I installed this change on an EKS cluster and the  priority class appeared as expected.
What this PR does / why we need it:
Adding priorityClassName support for aws-alb-ingress-controller.
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

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

/ok-to-test

Hey @komljen could you run the ok-to-test on this please. @M00nF1sh tried but didn't have permissions

I can try, but it will not work as I'm not in the owners list of this chart. @M00nF1sh Should be able to do it, not sure why it didn't work.

/ok-to-test

Ah, actually it worked :)

@komljen could you also give it a /lgtm

/lgtm

Hey @M00nF1sh your in the owners file do you want to try /lgtm if you approve ?

Hey @bigkraig your in the owners file do you want to try /lgtm if you approve ?

Hey @bigkraig I think I have addressed your concerns can you please review ?

/lgtm
/approve


Failed to build and run tutorial publisher.cc

I followed the tutorial and ran into the following issues while making the publisher.cc script.
https://github.com/gazebosim/gz-transport/blob/ign-transport11/tutorials/04_messages.md

I installed the ign transport library from the binary as described here

sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'
wget https://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
sudo apt-get update
sudo apt-get install libignition-transport11-dev

Create the ign_transport_tutorial folder
Add the publisher.cc file from the /examples/publisher.cc from the ign-transport11 branch
Add the CMakeLists.txt file
Run cmake and make:

mkdir build
cd build
cmake ..
make publisher   # it crashes here

The make publisher command fails with the following error message:

[ 50%] Building CXX object CMakeFiles/publisher.dir/publisher.cc.o
In file included from /usr/include/ignition/msgs8/ignition/msgs/detail/PointCloudPackedUtils.hh:24,
                 from /usr/include/ignition/msgs8/ignition/msgs.hh:23,
                 from /home/mwittwer/ign_transport_tutorial/publisher.cc:7:
/usr/include/ignition/msgs8/ignition/msgs/pointcloud_packed.pb.h:17:2: error: #error This file was generated by an older version of protoc which is
   17 | #error This file was generated by an older version of protoc which is
      |  ^~~~~
/usr/include/ignition/msgs8/ignition/msgs/pointcloud_packed.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please
   18 | #error incompatible with your Protocol Buffer headers.  Please
      |  ^~~~~
/usr/include/ignition/msgs8/ignition/msgs/pointcloud_packed.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.
   19 | #error regenerate this file with a newer version of protoc.
      |  ^~~~~
In file included from /usr/include/ignition/msgs8/ignition/msgs/pointcloud_packed.pb.h:34,
                 from /usr/include/ignition/msgs8/ignition/msgs/detail/PointCloudPackedUtils.hh:24,
                 from /usr/include/ignition/msgs8/ignition/msgs.hh:23,
                 from /home/mwittwer/ign_transport_tutorial/publisher.cc:7:
/usr/include/ignition/msgs8/ignition/msgs/header.pb.h:17:2: error: #error This file was generated by an older version of protoc which is
   17 | #error This file was generated by an older version of protoc which is
      |  ^~~~~
/usr/include/ignition/msgs8/ignition/msgs/header.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please
   18 | #error incompatible with your Protocol Buffer headers.  Please
      |  ^~~~~
/usr/include/ignition/msgs8/ignition/msgs/header.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.
   19 | #error regenerate this file with a newer version of protoc.
      |  ^~~~~
In file included from /usr/include/ignition/msgs8/ignition/msgs/header.pb.h:33,
                 from /usr/include/ignition/msgs8/ignition/msgs/pointcloud_packed.pb.h:34,
                 from /usr/include/ignition/msgs8/ignition/msgs/detail/PointCloudPackedUtils.hh:24,
                 from /usr/include/ignition/msgs8/ignition/msgs.hh:23,
                 from /home/mwittwer/ign_transport_tutorial/publisher.cc:7:
/usr/include/ignition/msgs8/ignition/msgs/time.pb.h:17:2: error: #error This file was generated by an older version of protoc which is
   17 | #error This file was generated by an older version of protoc which is
      |  ^~~~~
/usr/include/ignition/msgs8/ignition/msgs/time.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please
   18 | #error incompatible with your Protocol Buffer headers.  Please
      |  ^~~~~
/usr/include/ignition/msgs8/ignition/msgs/time.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.
   19 | #error regenerate this file with a newer version of protoc.
...
...

My system: Ubuntu 20.04 in a VM
Thanks for any hints in advance.

If you have changed the version of protobuf, then you will need to rebuild msgs and transport (along with all packages above) in order for it to work.  msgs contains compiled protobuf-generated code, so if anything changes in the generation/compilation, a rebuild is necessary.

@mjcarroll Thanks for your reply.
The msgs were compiled with protobuf v3.6.1 (which corresponds to 3006001). https://github.com/protocolbuffers/protobuf/releases/tag/v3.6.1
Downgrading to this protobuf version solved the error.
I can finally call services such as setting the pose in gazebo :tada:
Here is the script that I used:
#include <iostream>
#include <ignition/msgs.hh>
#include <ignition/transport.hh>

//////////////////////////////////////////////////
int main(int argc, char **argv)
{
  // Create a transport node.
  ignition::transport::Node node;

  // Prepare the input parameters.
  ignition::msgs::Pose req;

  ignition::msgs::Vector3d vec3;
  vec3.set_x(0.0);
  vec3.set_y(0.0);
  vec3.set_z(5.0);

  req.set_name("throwing_object");
  req.set_allocated_position(&vec3);

  ignition::msgs::Boolean rep;
  bool result;
  unsigned int timeout = 5000;

while (true)
  {
      // Request the "/echo" service.
      bool executed = node.Request("/world/my_world/set_pose", req, timeout, rep, result);

  if (executed)
  {
    if (result)
      std::cout << "Response: [" << rep.data() << "]" << std::endl;
    else
      std::cout << "Service call failed" << std::endl;
  }
  else
    std::cerr << "Service call timed out" << std::endl;

    std::this_thread::sleep_for(std::chrono::milliseconds(100));
  }

}


fix drop image to load image not creates new workflow

https://github.com/11cafe/comfyui-workspace-manager/issues/213


better stream timeout logging

The Issue
When a stream times out right now, all you see is 2019-02-07 08:04:28,568 INFO     lbrynet.stream.stream_manager:247: stream timeout
We need to show the URL that timed out, and if it was the sd blob or data blobs.
The get response does show:
"error": "Failed to download sd blob lbry://tst1112#1c88db3c86555e25d6c399c81e0b1c8048b4a93a within timeout"
System Configuration

LBRY Daemon version:
LBRY App version:
LBRY Installation ID:
Operating system:

Anything Else

Screenshots

Internal Use
Acceptance Criteria

Definition of Done

[ ]  Tested against acceptance criteria
[ ] Tested against the assumptions of user story
[ ] The project builds without errors
[ ] Unit tests are written and passing
[ ] Tests on devices/browsers listed in the issue have passed
[ ] QA performed & issues resolved
[ ] Refactoring completed
[ ] Any configuration or build changes documented
[ ] Documentation updated
[ ] Peer Code Review performed

Fixed and tested in https://github.com/lbryio/lbry/pull/1908


Packaging setup

Description
This PR setups up:

esbuild to bundle @andersonmancini/lens-flare and eventually ship it to NPM (version script still need to be done)
A new example using Next.js that uses @andersonmancini/lens-flare as a package
A small monorepo using Turborepo so we can easily:

Spin up a dev environment: this will start the example in dev mode along with @andersonmancini/lens-flare so it's easy to update the package against a real life example
Build both the example and the package to deploy it to Vercel
Extend the pipeline in the future if we want to add other tools (eslint, prettier, tests, etc.)

Remaining tasks to do:

[x] Add versioning and publish script to @andersonmancini/lens-flare
[x] Fix issues with wrapEffect not being defined in the bundled code
[x] Add deploy script for example: add vercel back as a dev dependency
[x] Set up esbuild watcher for dev
[x] Update README with new instructions

How to test?

Pull this branch
Make sure to remove any previously installed node_module (I recommend running sudo rm -rf node_modules)
Install the dependencies from the root of the project with npm install. This will install the dependency for both @andersonmancini/lens-flare and the example project
Run turbo dev to start both @andersonmancini/lens-flare and the example project in dev mode. Head to http://localhost:3000 and verify that everything is working.
Run turbo start to build both @anderson/lens-flare and the example and serve the resulting build at http://localhost:3000. Verify that everything is working as expected.

I can jam with you to run through how to publish all this on NPM and do a final walk through/release next week!
🙂

Proposal for next steps: ensure code quality/consistency for contributors/maintainers

setup eslint
setup prettier
have some simple checks on PRs


Css simplification

Wrap all displayed elements in a single wrapper div with an id, so that we have an easier time being more specific than the site's rules.
Also adjust the scss to make sure it profits from that change.

@Ardenian would you be interesting in and willing to work on this?

It sounds a tad heavy, from my perspective. I am going to read it up and decide then.

You could look at the BEM css methodology (http://getbem.com/introduction/).

I think the required renaming is a slight step too far for now and should be a ticket of it's own, I am more concerned about reducing issues with Specificity .
BEM is not an option, it just needlessly makes css harder to understand by splitting apart structures and forcing them all to be put at top-level. From what it does it is similar to defining every method and property we have as idrinth_{module}_{name} and filling up the global space with it.
What I do agree on is sensible naming, if there are classes or ids that we didn't name well so far, I do support sensible adjustments to their names.

I am going to give it a try, but not promising to finish it any time soon, as final exams coming close in a couple of weeks


Allow build not to fail on producer side when no contracts were found

Enhancement
If SCC maven(did not test gradle) plugin does not find contracts in remote(i.e. Pact Broker) - build fails.
It would be good to introduce plugin property to allow build to pass if no contracts were found.

@MoOFueL Can you please present the logs with the exception you're seeing?


GDEF/GPOS output different depending on source format

git clone -b convert-to-ufo --depth 1 https://github.com/madig/cantarell-fonts
Generate fonts with Glyphs from src/Cantarell.glyphs, ttx -t GDEF Cantarell-Regular.otf
Generate fonts with fontmake -g Cantarell.glyphs -i -o otf --output-dir /tmp/fm-g, ttx the GDEF table
Generate fonts with glyphs2ufo Cantarell.glyphs && fontmake -m Cantarell.designspace -i -o otf --output-dir /tmp/fm-d, ttx the GDEF table

fontmake/ufo2fts' generated table differs depending on the source format. I'm attaching all three ttx'ed GDEF table dumps.
The same diff occurs in the GPOS table (<BaseCoverage Format="2">, etc.).
gdef-tables.zip

Also, in the name table, going from the .glyphs file I get nameID1="Cantarell", going from .designspace I get nameID1="Cantarell Regular" plus nameID16="Cantarell". Not sure if that may be something in glyphsLib, though.

glyphsLib decides on GDEF inclusion here: https://github.com/googlei18n/glyphsLib/blob/master/Lib/glyphsLib/builder/features.py#L92
Jany says:

Yes, I did that because I don't parse/preserve any existing GDEF from the UFOs so after roundtrip it would be changed, and because if the source UFO didn't have a GDEF to begin with, then it would get one from the roundtrip (which I thought was not expected)

What Jany says makes sense. Still, the fact that it is controlled by an option called --no-preserve-glyphsapp-metadata kind of hides it from the user. Maybe it's enough that we add a few lines in the glyphs2ufo help message for that option?

We had the idea that maybe we can make writing the table independant of a switch and instead only write the table if we think we need to.
@moyogo @belluzj in what situations does one need to write their own table?

The GDEF of e.g. Cantarell exported by Glyphs is also much larger than the one generated by glyphsLib.

glyphsLib should probably insert
<key>com.github.googlei18n.ufo2ft.filters</key>
<array>
  <dict>
    <key>name</key>
    <string>propagateAnchors</key>
    <key>pre</key>
    <true />
  </dict>
</array>

on round-tripping back to UFOs. Or at least tell the user to consider it.


please include the min sdk version, where the operator can be used

Currently, LIKE operator can be used in Data Explorer but it fails if you use it with 3.16 SDK. Assuming this one will be included with the next SKD release (eg: 3.17 that is currently in preview)

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

ID: 531c6fcf-6cb8-f229-d15e-d26111b5ff85
Version Independent ID: e77c5aa5-6201-ee8d-12bc-e706b1e06b9c
Content: SQL keywords for Azure Cosmos DB
Content Source: articles/cosmos-db/sql-query-keywords.md
Service: cosmos-db
Sub-service: cosmosdb-sql
GitHub Login: @timsander1
Microsoft Alias: tisande

Hi @hora7ce , LIKE is supported in 3.16, the current version. It will be in 3.17 as well though. Could you share the error that you see?

@hora7ce Please share the error screenshot to take this forward.

@hora7ce We are going ahead and closing this for now. Please get back to us with more info and we can take it forward.


[FancyZones] Dragging to edge of screen could bring up the FancyZones overlay, instead of default Windows snap overlay

Summary of the new feature/enhancement
Currently when dragging a window to an edge of a monitor, the window will snap to Windows' default snap positions.

It would be pretty cool if FancyZones could override this interaction to snap to a FancyZone

Tracked in https://github.com/microsoft/PowerToys/issues/6611

It does not work. If I push my window against the screen edge, it still snaps it to the built-in 50% area :(

For the screen edge do snap into the Windows built-in zone, the linking issue is #13644 and this is a suggested enhancement for FanzyZones.
For Visual Studio compatibility, please raise a new issue for this. Thank you and be safe!


How can I remove the toolbar?

You can disable it by adding the following to your user settings.json file:
    "notebook.globalToolbar": false,

thx )


Fix generics usage (for compilation in Eclipse)

Fixes generics compilation errors that the Eclipse compiler reports, with Java 8 (in Eclipse 4.6.3).

Thanks @geomacy - I've deleted that comment. Merging now.


Query parallelization

It seems that we may not be optimally parallelizing our queries. In other words, a long-running query seems to be blocking simpler queries from finishing.
I tested this with some customer data by running a quick (~100ms) query repeatedly. Then, I ran a longer-running query (~10m) and re-ran the quicker query at the same time. They both finished at approximately the same time, which leads me to believe that the second wasn't executed until the first finished.

+1, ran into this today where a runaway query wouldn't stop and new queries weren't able to be processed. I ended up manually restarting influxdb to get out of the broken state. In addition to parallelization, I'd also like a way to manually kill a long running query, either via the CLI or through the data interface.

@ecables can you give me a little bit more information about how you caused this to happen and also what version it happened on?
using RC30, i'm no longer able to replicate this issue as i originally observed it. i've tested it locally with both a single node and a 3-node cluster and can't cause it to happen. i also went back to the original data source (now running RC29) and also couldn't make it happen again.
i am seeing some query delays that seem to be based on some sort of resource contention, but i don't believe it's really due to a lock in the query execution. i'm going to deprioritize this for now until we get a clearer grasp on an actual issue.

I am using rc29.
I can reproduce this problem when the dataset returned is very large and/or takes a long time to process (I'm not sure which is the cause). I've reproduced this with both select value and select sum(value) queries, against results that are >150k rows. I've generated this output by simply matching more patterns in a =~ query or by extending the time > now() - ... time period to 12h, 1d, 1w, and so on.
Here's an example of a very large query, which returned 1.69 million rows and completed in 5m 12s:
Returned rows: 1692882

real	5m12.955s
user	0m18.473s
sys	0m9.025s

Another query run against the same node, while the above query was running, and normally returns in 0.047s but instead returned in 1m 36s, and returns only 6 rows:
Returned rows: 6

real	1m36.127s
user	0m0.008s
sys	0m0.004s

Here's the same query run when the system is not processing a large query:
Returned rows: 6

real	0m0.045s
user	0m0.004s
sys	0m0.004s

The above simple query, which returns 6 rows, is basically:
SELECT sum(value) FROM <measurement> WHERE time > now() - 1m AND <tag1> =~ /regexhere/ GROUP BY time(60s) fill(0)
The complex query, which returns 1.6 million rows, is similar, but without the sum function and more complex/longer duration:
SELECT value FROM <measurement> WHERE time > now() - 12h AND <tag1> =~ /regexhere|regexhere2/ fill(0)

I'll add that re-creation seems to be hit or miss. Sometimes I'll see one query get delayed, while the prior and subsequent query return normally, and sometimes I won't see any delay on any queries. I've increased the results returned by the query with varying results, but things mostly work... except when they don't.

@ecables thanks for the additional info! when you get a chance, could you also try it against rc30?

@toddboom -- I don't think this is an issue anymore, since our query engine is almost completely changing.


DBZ-3326 Allow only JMX port setup

https://debezium.io/documentation/reference/operations/monitoring.html#kafka-connect-jmx-environment-variables-docker
And by why I found, forcing the host do not let me reach the jmx metrics outside of the docker-compose network AND as the same time acces it from an another docker in the compose.
if I set JMXHOST=localhost -> I can access outside of compose network
if I set JMXHOST=name_of_my_compose_service -> I can access it from another container in the compose network

I don't think this PR is correct as you can see the JMXHOST is still used in the rest of the code.
But what if you set the JMXHOST to <IP_ADDRESS> that should listen on all intefaces?

Hello
JMXHOST to <IP_ADDRESS> that should listen on all intefaces
does not let a localhost jconsole acces the jmx.
We could do as is doing confluent ->
https://github.com/confluentinc/schema-registry-images/blob/master/schema-registry/include/etc/confluent/docker/launch

I am still not sure about this PR functionality. You've just made the JMXHOST optional but that env var is still required in the condiiton branch.
Still I don't undertsnad what do you miss
I set
 - JMXHOST=<IP_ADDRESS>
 - JMXPORT=5005

and I can use jconsoleand I cann connect both to loclahost and Docker network

Going to close this one, as it seems not really useful as is.


Cannot open clipboard panel

I followed the instructions in the README and installed and enabled the clipboard gnome extension successfully. But the shortcut Super+shift+V doesn't seem to open the clipboard panel. So basically I cannot use the extension. I tried looking through the files to see if I can change/look at the keybindings to try and fix it, but I cannot find where the keybindings are stored.
I ran the following commands to get debugging info and have pasted the output below:
$ gnome-shell --version
** (process:51121): WARNING **: 16:58:02.002: Failed to set RT scheduler: Operation not permitted
GNOME Shell 42.5
$ echo - "GCH"

GCH
$ gnome-extensions show<EMAIL_ADDRESS>| grep Version
Version: 34
$ gsettings --schemadir ~/.local/share/gnome-shell/extensions/clipboard-histro^[^[[D^[[A^C
$ ^[[A^[[A^C
$ gsettings --schemadir<EMAIL_ADDRESS>list-recursively org.gnome.shell.extensions.clipboard-history
org.gnome.shell.extensions.clipboard-history cache-only-favorites false
org.gnome.shell.extensions.clipboard-history cache-size 100
org.gnome.shell.extensions.clipboard-history clear-history @as []
org.gnome.shell.extensions.clipboard-history confirm-clear true
org.gnome.shell.extensions.clipboard-history disable-down-arrow true
org.gnome.shell.extensions.clipboard-history display-mode 0
org.gnome.shell.extensions.clipboard-history enable-keybindings true
org.gnome.shell.extensions.clipboard-history history-size 1000
org.gnome.shell.extensions.clipboard-history move-item-first true
org.gnome.shell.extensions.clipboard-history next-entry @as []
org.gnome.shell.extensions.clipboard-history notify-on-copy false
org.gnome.shell.extensions.clipboard-history paste-on-selection true
org.gnome.shell.extensions.clipboard-history prev-entry @as []
org.gnome.shell.extensions.clipboard-history private-mode false
org.gnome.shell.extensions.clipboard-history process-primary-selection false
org.gnome.shell.extensions.clipboard-history strip-text false
org.gnome.shell.extensions.clipboard-history toggle-menu ['V']
org.gnome.shell.extensions.clipboard-history toggle-private-mode ['P']
org.gnome.shell.extensions.clipboard-history topbar-preview-size 10
org.gnome.shell.extensions.clipboard-history window-width-percentage 33

$ journalctl -n 1000000 | grep -B 10 -A 10 'clipboard-history'
Dec 08 00:32:49 pop-os PackageKit[1092]: get-updates transaction /438_ceadbeed from uid 1000 finished with success after 529ms
Dec 08 00:33:09 pop-os io.elementary.a[3125]: Child name 'updates' not found in GtkStack
Dec 08 00:33:10 pop-os PackageKit[1092]: get-packages transaction /439_aadbdbbb from uid 1000 finished with success after 633ms
Dec 08 00:33:11 pop-os PackageKit[1092]: get-updates transaction /440_ecbaddda from uid 1000 finished with success after 880ms
Dec 08 00:34:09 pop-os wpa_supplicant[673]: wlp0s20f3: CTRL-EVENT-SIGNAL-CHANGE above=0 signal=-62 noise=9999 txrate=26000
Dec 08 00:34:34 pop-os wpa_supplicant[673]: wlp0s20f3: CTRL-EVENT-SIGNAL-CHANGE above=1 signal=-60 noise=9999 txrate=26000
Dec 08 00:34:35 pop-os rtkit-daemon[911]: Supervising 7 threads of 4 processes of 1 users.
Dec 08 00:34:35 pop-os rtkit-daemon[911]: Supervising 7 threads of 4 processes of 1 users.
Dec 08 00:34:42 pop-os rtkit-daemon[911]: Supervising 7 threads of 4 processes of 1 users.
Dec 08 00:34:42 pop-os rtkit-daemon[911]: Supervising 7 threads of 4 processes of 1 users.
Dec 08 00:35:31 pop-os sudo[22621]: rishabhs1711 : TTY=pts/0<EMAIL_ADDRESS>; USER=root ; COMMAND=/usr/bin/apt install gettext
Dec 08 00:35:31 pop-os sudo[22621]: pam_unix(sudo:session): session opened for user root(uid=0) by (uid=1000)
Dec 08 00:35:40 pop-os sudo[22621]: pam_unix(sudo:session): session closed for user root
Dec 08 00:35:42 pop-os PackageKit[1092]: uid 1000 is trying to obtain org.freedesktop.packagekit.system-sources-refresh auth (only_trusted:0)
Dec 08 00:35:42 pop-os PackageKit[1092]: uid 1000 obtained auth for org.freedesktop.packagekit.system-sources-refresh
Dec 08 00:35:48 pop-os NetworkManager[631]:   [1701975948.3674] dhcp4 (wlp0s20f3): state changed new lease, address=<IP_ADDRESS>
Dec 08 00:35:53 pop-os rtkit-daemon[911]: Supervising 7 threads of 4 processes of 1 users.
Dec 08 00:35:53 pop-os rtkit-daemon[911]: Supervising 7 threads of 4 processes of 1 users.
Dec 08 00:35:53 pop-os rtkit-daemon[911]: Supervising 7 threads of 4 processes of 1 users.
Dec 08 00:35:53 pop-os rtkit-daemon[911]: Supervising 7 threads of 4 processes of 1 users.
Dec 08 00:36:07 pop-os rtkit-daemon[911]: Supervising 7 threads of 4 processes of 1 users.
Can anyone help?

The icon will appear in your toolbar. Click that and then go to settings.

I do not think the icon is being displayed in the toolbar. However I tried opening the preferences through the terminal with the command:
gnome-extensions prefs<EMAIL_ADDRESS>It opened a window with the following error message:
The settings of extension<EMAIL_ADDRESS>had an error:
SyntaxError: import declarations may only appear at top level of a module

Stack trace:
_init@resource:///org/gnome/Shell/Extensions/js/extensionPrefsDialog.js:23:33
ExtensionPrefsDialog@resource:///org/gnome/Shell/Extensions/js/extensionPrefsDialog.js:10:4
OpenExtensionPrefsAsync/<@resource:///org/gnome/Shell/Extensions/js/extensionsService.js:129:33
asyncCallback@resource:///org/gnome/gjs/modules/core/overrides/Gio.js:115:22
run@resource:///org/gnome/Shell/Extensions/js/dbusService.js:186:20
main@resource:///org/gnome/Shell/Extensions/js/main.js:22:13
run@resource:///org/gnome/gjs/modules/script/package.js:206:19
start@resource:///org/gnome/gjs/modules/script/package.js:190:8
@/usr/share/gnome-shell/org.gnome.Shell.Extensions:1:17

Oh, did you install from source? Master doesn't support gnome 42 you to look at the pre-45 branch.

Okay so I removed this version and installed the correct version from the gnome extensions website and it works like a charm now. Thanks a lot for the help!


Dynamic tooltip html content

i think its a bug.
i have some fields there are shown when the user interact over them.

content to show or hide

<template v-if="mycondition"> teste </template> <template v-else> teste </template>
but the dom node  should be cloned
please replace this:
         if (_content !== wrapper.children[0]) {                 wrapper.innerHTML = '';                 wrapper.appendChild(_content);             }
for:
            if (_content !== wrapper.children[0]) {                 wrapper.innerHTML = '';                                 var cln = _content.cloneNode(true)                 wrapper.appendChild(cln);             }
line 2621

Please have a look into this.
I also encountered this bug wherein I have a dynamic component with v-if to only render in a specified condition. But the v-tooltip-directive moved the original node and appended it to the wrapper tooltip element as the content, now the original HTML element doesn't get re-rendered, therefore broke the tooltip element since it don't have any html element to reference.
I managed to fix this by applying @leonardotessaroalves's answer:
var cln = _content.cloneNode(true); cln.setAttribute('class', 'cloned-node'); wrapper.appendChild(cln);
but there is a problem: Texts will show up on your page because you only passed the cloned node on the tooltip and retained the original html element itself. But with Vue's reactive functionality, adding a display:none on the original node will also hide the tooltip content which is the cloned-node. My fix is adding a classname 'cloned-node'.
.cloned-node {         display: block!important; }
So basically I added a style="display: none;" to all of my original HTML elements for tooltip because the texts will show up on your page if you do not do this, and then cloned-node class: for tooltip content to show up like normal since it will override the style="display:none;.
I can't make a PR because this fix can introduce a breaking change.

@leonardotessaroalves
Hi, sorry to be so late to reply.
A new version is out and it also addresses your problem.
first of all i'd like to point out a few mistakes:

in your example, you are writing:  v-tooltip.html.top =>  v-tooltip.top
The .html option does not exist.
You could have used the visible argument to switch the visibility of the tooltip <span v-tooltip.html.top="{ html: 'tooltip', visible: mycondition }"
both your conditions display the same tooltip, so obviously it will show up either way

And last point that I would like to address is that from this new version, you should use ref instead of html. It's the more Vue way of doing things to refer to an element in a component.
I wrote a simple example below for you:
https://jsfiddle.net/hekigan/cf9z48t2/
I hope that I have been clear enough in my explanation, sorry again for the delay.


feat: add ERC5564Announcer contract and tests

See ERC-5564 for the spec. The contract is super simple so we really only have one test, if you have ideas for more tests let me know.
This PR also turns off the metadata hash, that way the resulting bytecode is independent of the machine it's compiled on.

Current dependencies on/for this PR:

main

PR #2   👈

This comment was auto-generated by Graphite.

@mds1 started a stack merge that includes this pull request via Graphite.

@mds1 merged this pull request with Graphite.


1link.vip broken bypass

Domain
1link.vip
Link
https://1link.vip/3ZG1szB
Version
0.2157.0
What browsers are you seeing the problem on?
Opera
What OS are you seeing the problem on?
Windows
Anything else?

Issue solved by disable crowd bypass

duplicate of #923


Update SLA and ToU to clarify expectations and responsibilities

Emerging updates to GC Forms agreements

Service-level agreement

Terms of use

#3897


[BUGFIX] Fix DNNL requantize operator overflow error

Description
It fixes overflow issue which sometimes happenes giving negative scales.
Checklist
Essentials

[x] PR's title starts with a category (e.g. [BUGFIX], [MODEL], [TUTORIAL], [FEATURE], [DOC], etc)
[x] Changes are complete (i.e. I finished coding on this PR)
[x] All changes have test coverage
[x] Code is well-documented

Note
Simple way to reproduce the bug:
MXNET_TEST_SEED=970044477 pytest tests/python/dnnl/subgraphs/test_fc_subgraph.py::test_add_quantized[ele_add-no_broadc-nore-full-none-int8]
but with modyfied shape to
 data_shape = (4,6)

@mxnet-bot run ci [edge, website,windows-gpu]

@mxnet-bot run ci [website]

@mxnet-bot run ci [centos-gpu, unix-cpu, unix-gpu, windows-gpu]

@mxnet-bot run ci [centos-gpu, unix-cpu, windows-gpu]

@mxnet-bot run ci [centos-gpu]


Pronoun extension

There is an extension of pronouns that they created, where several people use it, but the chatterino doesn’t appear, would you like to add this extension to the chatterino to appear?
https://twitter.com/Marielitai/status/1331778028012232704
Thank you very much from now,

In my opinion, a similar reasoning as with #2289 is applicable here. The extension is "too niche" to spent time on implementing and maintaining it over an indefinite amount of time.
Also, as mentioned in https://github.com/Chatterino/chatterino2/issues/2289#issuecomment-747997401, adding support for one niche extension makes it harder to argue against supporting another niche extension. Now, if the pronoun extension gained popularity on the levels of BTTV and FFZ, it would make sense to reconsider this at a later point in time.
(Note that this is just my personal opinion and does not reflect the views of the project maintainers.)

Chatterino was designed as an enhanced twitch chat experience. Pronouns are not apart of twitch chat and I certainly don't think they should be added to chatterino.
Related: https://github.com/Chatterino/chatterino2/issues/2227

Chatterino was designed as an enhanced twitch chat experience. Pronouns are not apart of twitch chat and I certainly don't think they should be added to chatterino.
Related: #2227

okay well there IS a chrome extension where people can view each other's pronouns. and i would also like to see that on chatterino. so i don't think you stating how you haven't seen pronouns in your personal twitch bubble would help the forward development of chatterino.

I don't understand why I have to clarify this when I was extremely clear in my last message.
If there IS a chrome extension, then USE the chrome extension. I (and about 99% of the people who contribute to Chatterino) don't care about someone's pronouns. When I am speaking to them I am referring to their username (you know, the unique alias people set online for themselves?). I don't care if their preferred pronouns are: He, She, It, They, Alien, Helicopter
I'll put it to you simply:
This is a waste of development resources
Related comments:
https://github.com/Chatterino/chatterino2/issues/292#issuecomment-699082970
https://github.com/Chatterino/chatterino2/issues/2162#issuecomment-728876557
https://github.com/Chatterino/chatterino2/issues/2091#issuecomment-712711821
https://github.com/Chatterino/chatterino2/issues/1950#issuecomment-699085426
https://github.com/Chatterino/chatterino2/issues/1841#issuecomment-699097399
https://github.com/Chatterino/chatterino2/issues/1837#issuecomment-699088867
https://github.com/Chatterino/chatterino2/issues/1737#issuecomment-699077140
https://github.com/Chatterino/chatterino2/issues/1501#issuecomment-699082549
https://github.com/Chatterino/chatterino2/issues/1461#issuecomment-569513526
https://github.com/Chatterino/chatterino2/issues/1400#issuecomment-699154430
https://github.com/Chatterino/chatterino2/issues/1359#issuecomment-699172698
https://github.com/Chatterino/chatterino2/issues/1356#issuecomment-699173472
https://github.com/Chatterino/chatterino2/issues/1307#issuecomment-699143950
https://github.com/Chatterino/chatterino2/issues/1301#issuecomment-699139127
https://github.com/Chatterino/chatterino2/issues/1300#issuecomment-699139265
https://github.com/Chatterino/chatterino2/issues/1290#issuecomment-699140308

Duplicate of #2227

In my opinion, a similar reasoning as with #2289 is applicable here. The extension is "too niche" to spent time on implementing and maintaining it over an indefinite amount of time.
Also, as mentioned in #2289 (comment), adding support for one niche extension makes it harder to argue against supporting other niche extensions. Now, if the pronoun extension gained popularity on the levels of BTTV and FFZ, it would make sense to reconsider this at a later point in time.
(Note that this is just my personal opinion and may not reflect the views of the project maintainers.)

Pronoun support has been added into FFZ. So now that it has "gained popularity on the levels of BTTV and FFZ" please add it into Chatterino. It's also in Chatty.

#3346

@shirizaan While we appreciate your enthusiasm for the issue, it's not a technically simple feature to implement, at least not for us. The comment Felanbird linked to contains some of the information that holds us back.
I'm happy to discuss the feature if anyone has implementation ideas, but as it stands in its current state the only implementations discussed/contributed have been subpar.

@shirizaan While we appreciate your enthusiasm for the issue, it's not a technically simple feature to implement, at least not for us. The comment Felanbird linked to contains some of the information that holds us back.
I'm happy to discuss the feature if anyone has implementation ideas, but as it stands in its current state the only implementations discussed/contributed have been subpar.

If I or someone else were wanting to build a test version with this capability where within the source would be the first place to look for username values and where would it be possible to append a text badge to the end of them. I already tested some code that can curl the https://pr.alejo.io/ api and return a user's pronoun_id as well as cache recent results within a matrix to prevent spamming them.
I don't have a lot of experience contributing to projects so any assistance or tips would be appreciated.
#include <curl/curl.h>
#include <glib.h>
#include <map>
#include <stdlib.h>
#include <string>

// Helper function to write data from curl
static size_t write_callback(void *contents, size_t size, size_t nmemb,
                             std::string *userp) {
  size_t realsize = size * nmemb;
  userp->append(static_cast<char *>(contents), realsize);
  return realsize;
}

// Function to get pronouns for a given username
bool get_user_pronouns(const gchar *username, std::string &response) {
  CURL *curl;
  CURLcode res;
  bool success = false;

  gchar *url =
      g_strdup_printf("https://pronouns.alejo.io/api/users/%s", username);
  curl = curl_easy_init();

  if (curl) {
    curl_easy_setopt(curl, CURLOPT_URL, url);
    curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_callback);
    curl_easy_setopt(curl, CURLOPT_WRITEDATA, &response);
    res = curl_easy_perform(curl);
    if (res == CURLE_OK) {
      success = true;
    }

    curl_easy_cleanup(curl);
  }

  g_free(url);
  return success;
}

// Function to extract the pronoun_id from the JSON response
const gchar *extract_pronoun_id(const std::string &json_response) {
  const gchar *key = "\"pronoun_id\":";
  const gchar *start = g_strstr_len(json_response.c_str(), -1, key);
  if (start) {
    start += strlen(key);
    while (*start == ' ' || *start == '"')
      start++;
    const gchar *end = g_strstr_len(start, -1, "\"");
    if (end) {
      gsize length = end - start;
      gchar *pronoun_id = g_strndup(start, length);
      return pronoun_id;
    }
  }
  return NULL;
}

// Function to check pronoun_id, caching results
const gchar *
check_pronoun_id(const gchar *username,
                 std::map<std::string, std::string> &pronoun_cache) {
  // Check if the username is in the cache
  auto it = pronoun_cache.find(username);
  if (it != pronoun_cache.end()) {
    return it->second.empty() ? NULL
                              : it->second.c_str(); // Return cached ID or NULL
  }

  // If not in cache, fetch from API
  std::string response;
  if (get_user_pronouns(username, response)) {
    const gchar *pronoun_id = extract_pronoun_id(response);
    if (pronoun_id) {
      pronoun_cache[username] = pronoun_id; // Cache the result
      g_free((gchar *)pronoun_id);          // Free allocated memory
    } else {
      pronoun_cache[username] = ""; // Cache empty ID if not found
    }
  }
  return pronoun_cache[username].empty() ? NULL
                                         : pronoun_cache[username].c_str();
}

@emi-rose initial pronoun support has already been implemented in #5442 - you can run a nightly build to get access to the feature before the upcoming release


Merge leo's contexts addon into the monorepo

Issue: https://github.com/leoyli/addon-contexts
What I did
I merged his repo into the monorepo

@leoyli Here's the merger, do you think you can help get it green and tested, and get some usage of it in the official example?

@ndelangen please, let's give this a label! :trollface:

Thank you all guys!  I just gave it a quick look now~
I will test as if it is working as expected when I back home...  Hope to merge it soon!

@ndelangen,  I found found several typing and minor issues here.  I think it would be reasonable for me just append several commits after this PR.  Any concerns?!

Also, in the current API setting, the parameter and setting object is not an object but an array...  Should I reshape it into object, or is it valid to accept an array?!

@ndelangen, I have found several typing and minor issues here. I think it would be reasonable for me just append several commits on this PR. Any concerns?!

Updated: I've made several fixes to make the build working (ensure prettier, type-check, ts-lint) get green.  I have also manually tested the build version from the mono repo on my local machine: both React, and Vue are correctly functioned. The code is not push to this branch but a side branch (wait to get responded before I push it here or somewhere).
Depends on the scope of this PR, I see 2 related works: (1) add several stories to show case this addon in both official React and Vue; (2) add unit tests (<- this may take couple days..).

@leoyli Awesome work! I think adding usage to the official example is what's needed before merging.

@leoyli Awesome work! I think adding usage to the official example is what's needed before merging.

Okay!  I will add the example into both the official React and Vue later today into this PR.

Voilà!  I think it is ready to be reviewed!
What I did

Fix typing, prettier, linting errors to make a green build.
Add some useful code WHY comments for people interested in the source code.
Add 2 stories under Addon | Contexts in our official Storybook (React).

@ndelangen, @shilman, @danielduan, @UsulPro : Please let me know if you have any feedback!
P.S. I was attempting to add new stories into Vue kitchen sink, but dev script throws me errors... any idea?!

I have rebase the branch to resolve merge conflicts :)

Voilà! I think it is ready to be reviewed!
What I did

Fix some bugs (storybook tab switches / story-level configs).
Fix typing, prettier, linting errors, example story snapshots to get a green build.
Add some WHY comments for people interested in the source code.
Add 2 stories under Addon | Contexts in our official Storybook (React).

Please let me know if you have any feedback!

Uh... it seems something mess up with my force rebasing. I will close it and reopen another PR.  Sorry about that!


Text Que out of order

Occasionally, the text que will get out of order.  For example, out of 100 messages sent in a row, two neighbouring messages will be swapped with each other once.  This happens consistently.

If you mean this is happening when sending messages - Discord uses snowflakes which is a distributed system which means order within couple tens milliseconds is not guaranteed.
See more here: https://github.com/twitter/snowflake/tree/b3f6a3c6ca8e1b6847baa6ff42bf72201e2c2231

We have a number of API resources that assume an ordering (they let you look things up "since this id").
However, as a result of a large number of asynchronous operations, we already don't guarantee in-order delivery.
We can guarantee, however, that the id numbers will be k-sorted (references: http://portal.acm.org/citation.cfm?id=70413.70419 and http://portal.acm.org/citation.cfm?id=110778.110783) within a reasonable bound (we're promising 1s, but shooting for 10's of ms).

Is there a way to fix it like put a required delay between every message sent to lower the probability/stop this from happening?

@Ryu945 if it's imperative it does not happen you could always manually add a setTimeout to your 2nd message or send it on the callback of the first message. These could both become harder to implement in a more complex system though.

Thanks for the information.  I might have to add that.  I posted here because I thought achieving correct message order in synchronus code was something the API would be interested in programming in.


"System.Xml.XmlException: Root element is missing" when trying to run the application

Hi.
I just cloned the repo and followed the steps to run the HelloMaui project, but always ends up with the following error:
You are using a preview version of .NET. See: https://aka.ms/dotnet-core-preview
/usr/local/share/dotnet/packs/Microsoft.Android.Sdk.osx-x64/11.0.200-ci.main.148/tools/Xamarin.Android.Tooling.targets(64,5): error XARSD7000: System.Xml.XmlException: Root element is missing.

My setup:

macOS Big Sur 11.2.1
Visual Studio Code 1.54.3
.NET Version 6.0.100-preview.2.21155.3

I´ve also installed the iOS and android workloads
Steps to reproduce:

Clone the repository
Open the workspace in VSCode code net6-mobile-samples.code-workspace
Open the Command Palette for Run Build Task and select Build
Select HelloMaui/HelloMaui.csproj
Select Build
Select Debug

This also occured when trying to build it from the terminal by writing:
dotnet build HelloMaui -t:Run -f net6.0-android --no-restore
Removing the --no-restore results in:
error MSB4057: The target "Run" does not exist in the project.
Any suggestions that might get this example up and running?

You might need VSMac installed for now in the previews.
Could you update to the latest (P3) and try again please?


SDK version

Motivation
The version of the android-sdk modules is currently 5.0.0. Is there a reason for this? I would expect it to be something closer to '1.0.0-SNAPSHOT'
ping @secondsun @danielpassos

@pb82 I don't know the history but I think it's because of most of the actual AeroGear Android version is 4.0.
Feel free to change it.

5.0.0 is a total placeholder :).  When we first spun up the libraries it was called 5.x because that was how we had been describing the project.  I'm fine with changing it.
I think that we could use 0.1.0-SNAPSHOT for the current in github and then do releases as 0.1.0-yyyy-ww (week in year) and setup a job to do a release every Friday.  wdyt?

@secondsun I wanna investigate a way to release (SNAPSHOT) for every commit/PR merged ;)

@secondsun @danielpassos  0.1.0 sounds good to me. We can start with the timestamping once we publish the releases somewhere.

@pb82 Right.  The SNAPSHOT is from github self built.  Timstamps are for preview releases.

Fixed by https://github.com/aerogear/aerogear-android-sdk/pull/101


generate_md  update

Removing windows support import files from generate_md.py file for Jenkins build
jira ticket : https://ccp.sys.comcast.net/browse/RDK-37117

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.svenka471 seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Tests update

This PR updates tests to be less flaky, fixes some typos and adds a new changelog entry.
After my previous PR merge I saw that tests failed https://github.com/dinko-pehar/mock_data/runs/2619656817
In logs we can see that it was due to one of mockLocation tests having some conditions which aren't really guaranteed to always get the same result. So I fixed it.
Along with that I found a few small typos in tests names, etc.
@dinko-pehar Could you also let me know if you plan to release a null-safety update to pub.dev? Would be good to have it sort of officially available to projects, like the one I am currently working on.

Hey @vbuberen
Thank you again for contributing. Yeah, I saw some tests failed but didnt find time to explore mockLocation since it isn't a feature I created.
I will try to release it tomorrow I hope.
Has everything set up for v2 by the looks of it ?

I don't really know about your roadmap, but I think that yes, everything is ready for v2, since the main reason for major version bump is null safety migration.
I would improve tests as you suggested in #7, but it can be done later as not really influences the package at the moment.

Tests pass and it's merged into master . I'll release this tomorrow and notify you here.

It's released :tada: :rocket:
Thank you for your help and for using it in first place. If you have any questions, feel free to ask.

Thank you as well for creating it in the first place.


Add manage_scl boolean to control managing SCL

Pull Request (PR) description
This adds a manage_scl boolean which can be set to false to stop managing the various SCL packages in the case some other module is doing that already.
This Pull Request (PR) fixes the following issues
Fixes #463

Test failures appear unrelated to the change.

thanks!

If we can get a release with this change in, that would be awesome.

I'm working on a new release. That depends on https://github.com/voxpupuli/puppet-python/pull/467

Any chance of that release now that #467 has been merged?

Actually, scratch that for now, this module is still broken WRT to using SCL versions. I'll raise another issue.


implement get_range

for https://github.com/sparks-baird/xtal2png/issues/80

given a list of elements, provide a range of the given encoding

I interpreted this as "encode the elements and then take the min and max as lower and upper bounds, respectively." Is that correct?

yea, it would follow the way matminer does it: Look at a bunch of structures, extract the elements you have in there, and then for the selected element encoding return the range.


WIP: Adds custom-input atomic components

Updates custom radio and checkbox inputs and input groups to support multi-line labels and small helper text in the label.
Changes

Adds flexbox with table-layout fallback to .m-form-field.
Increases radio/checkbox size to 20px to match latest spec.
Uses box-shadow in place of outline so size of button doesn't increase when clicked.

@anselmbradford do you think it's better to duplicate what we're about to release in ver4 so that there's no need to make any changes later?

@anselmbradford what ever happened with this? Are you still looking to make changes to the current large target behavior or can we close this PR?

@nataliafitzgerald Yeah, unfortunately as you can see I haven't had a chance to circle around back to it. Currently the big inputs don't support what is in use in the Mosaic project.

Closed in favor of https://github.com/cfpb/capital-framework/pull/631


[feature] [nodejs] Publish npm packages to npmjs.com

We need to publish packages to npmjs.com with the SLSA attestations created by BYOB. npm publish currently only allows for generating the SLSA provenance itself.
This means

we need logic to upload to npmjs.com ourselves, or
we need to add support for attaching separately generated provenance (sigstore bundle) to the uploaded package to npm publish. Maybe something like npm publish --provenance-bundle bundle.sigstore.

Publishing is now partially supported via a fork of the npm cli. We will eventually get this merged upstream.

Created #1897 to track merging support for uploading provenance in the upstream npm cli and using that for publishing.


bug: fix Conn.Next not safe (#648)

1. Are you opening this pull request for bug-fixes, optimizations or new feature?
bug-fixes
2. Please describe how these code changes achieve your intention.

The code was modified at the suggestion of the author。
3. Please link to the relevant issues (if any).

https://github.com/panjf2000/gnet/issues/648
4. Which documentation changes (if any) need to be made/updated because of this PR?

nothing
4. Checklist

[x] I have squashed all insignificant commits.
[x] I have commented my code for explaining package types, values, functions, and non-obvious lines.
[ ] I have written unit tests and verified that all tests passes (if needed).
[ ] I have documented feature info on the README (only when this PR is adding a new feature).
[x] (optional) I am willing to help maintain this change if there are issues with it later.

Thanks!


Feature Request: Integrating AI capabilities and vector similarity search into PocketBase

Integrating AI capabilities and vector similarity search into PocketBase can enhance its functionality. Here are concise feature requests to consider:

Vector Data Type Support: Introduce a native vector data type to store AI-generated embeddings, facilitating efficient handling of high-dimensional data.
Vector Similarity Search: Implement vector similarity search to enable operations like nearest neighbor searches, supporting applications such as semantic search and recommendation systems.
Enhanced Query Language: Extend PocketBase's query language to support vector operations, allowing for complex computations like cosine similarity or Euclidean distance directly within queries.

By incorporating these features, PocketBase would become a more powerful platform for AI-driven applications, offering native support for embeddings and vector similarity search functionalities.
Possible Solution
libSQL (A fork of SQLite that maintains compatibility while offering additional features and optimizations) Including native vector support and enhanced extensibility.
Docs: https://docs.turso.tech/libsql
Repo: https://github.com/tursodatabase/libsql
libSQL API for Go: https://github.com/tursodatabase/go-libsql
SQLite Compatibility

libSQL will remain SQLite compatible by providing the same API and file format, but with additional features and optimizations.

It is not clear what you are asking but there are no plans for builtin "AI integartion".
For using Turso, please see https://pocketbase.io/docs/go-overview/#custom-sqlite-driver.


Captcha Solver

Curious on what kinda dataset and process was used to train the YOLO model. It works well with over 90% accuracy.
Creating an issue because I have no other way to reach out to the repo owners.

Curious on what kinda dataset and process was used to train the YOLO model. It works well with over 90% accuracy.
Creating an issue because I have no other way to reach out to the repo owners.

It was trained on a dataset of 1.9k images. I first labelled about 200-300 captchas myself and trained a model using those images. Then I used that model to label the rest of the images, making corrections myself wherever necessary. Then I trained a final model with all the 1.9k captchas labelled.
The model was trained using the YOLOv8x (68,162,238 params) model with a batch size of 16 for 224 epochs and with all the images resized to 320x320 pixels.

Thanks for the reply. I was attempting something like this because I had tried template matching with openCV without much luck.
Were the images grayscaled or any other image processing done before training the model?

Curious on what kinda dataset and process was used to train the YOLO model. It works well with over 90% accuracy.
Creating an issue because I have no other way to reach out to the repo owners.

It was trained on a dataset of 1.9k images. I first labelled about 200-300 captchas myself and trained a model using those images. Then I used that model to label the rest of the images, making corrections myself wherever necessary. Then I trained a final model with all the 1.9k captchas labelled.
The model was trained using the YOLOv8x (68,162,238 params) model with a batch size of 16 for 224 epochs and with all the images resized to 320x320 pixels.

How is your model well over 500MB but the yolov8x is 131MB only? I trained one based on captcha too (3.4k images~) but it just a little over 134MB.

Curious on what kinda dataset and process was used to train the YOLO model. It works well with over 90% accuracy.
Creating an issue because I have no other way to reach out to the repo owners.

It was trained on a dataset of 1.9k images. I first labelled about 200-300 captchas myself and trained a model using those images. Then I used that model to label the rest of the images, making corrections myself wherever necessary. Then I trained a final model with all the 1.9k captchas labelled.
The model was trained using the YOLOv8x (68,162,238 params) model with a batch size of 16 for 224 epochs and with all the images resized to 320x320 pixels.

How is your model well over 500MB but the yolov8x is 131MB only? I trained one based on captcha too (3.4k images~) but it just a little over 134MB.

What kinda accuracy were you able to obtain with your model. Also any chance you have a link to the dataset and model you trained?

Curious on what kinda dataset and process was used to train the YOLO model. It works well with over 90% accuracy.
Creating an issue because I have no other way to reach out to the repo owners.

It was trained on a dataset of 1.9k images. I first labelled about 200-300 captchas myself and trained a model using those images. Then I used that model to label the rest of the images, making corrections myself wherever necessary. Then I trained a final model with all the 1.9k captchas labelled.
The model was trained using the YOLOv8x (68,162,238 params) model with a batch size of 16 for 224 epochs and with all the images resized to 320x320 pixels.

How is your model well over 500MB but the yolov8x is 131MB only? I trained one based on captcha too (3.4k images~) but it just a little over 134MB.

What kinda accuracy were you able to obtain with your model. Also any chance you have a link to the dataset and model you trained?

94-95% accuracy. Dataset link https://drive.google.com/drive/folders/1--rPnwhIIn6zMyR3Trl5Z6aUoenp0Px7

Curious on what kinda dataset and process was used to train the YOLO model. It works well with over 90% accuracy.
Creating an issue because I have no other way to reach out to the repo owners.

It was trained on a dataset of 1.9k images. I first labelled about 200-300 captchas myself and trained a model using those images. Then I used that model to label the rest of the images, making corrections myself wherever necessary. Then I trained a final model with all the 1.9k captchas labelled.
The model was trained using the YOLOv8x (68,162,238 params) model with a batch size of 16 for 224 epochs and with all the images resized to 320x320 pixels.

How is your model well over 500MB but the yolov8x is 131MB only? I trained one based on captcha too (3.4k images~) but it just a little over 134MB.

What kinda accuracy were you able to obtain with your model. Also any chance you have a link to the dataset and model you trained?

94-95% accuracy. Dataset link https://drive.google.com/drive/folders/1--rPnwhIIn6zMyR3Trl5Z6aUoenp0Px7

Thanks for the dataset. I did already get it from lufy who I contacted through discord and I trained my own version of the model as well. I trained a nano model because I wanted to see how small I can go without losing performance and it's performing surprisingly well. I was able to obtain over 95% accuracy with the yolov8n model and it's only 6MB in size. It was trained with 3.2k images.
Maybe you can test the model and let me know how it goes. I have uploaded my dataset and the nano model in that same gdrive link. Also please do check your email, I have contacted you there as well.


swift 5.2.2 images

Given that swift 5.2.2 has been released, there should be images available for the release.

closing as these have been pushed


net/http: ResponseWriter render an avif image always set the content-type to "application/octet-stream" instead of the right one "image/avif"

What version of Go are you using (go version)?

$ go version
go 1.17.x
go 1.18.x
linux or mac

What did you do?
here is the test code:
package main

import (
	"bytes"
	"net/http"
	"os"
	"strconv"
	"time"
)

func work(w http.ResponseWriter, req *http.Request) {
	imgBytes, _ := os.ReadFile("test.avif")

	http.ServeContent(w, req, "test.avif", time.Now(), bytes.NewReader(imgBytes))
	return
}

//not work with image/avif, but works with image/png image/jpg image/webp
func notwork(w http.ResponseWriter, req *http.Request) {
	imgBytes, _ := os.ReadFile("test.avif")

	w.WriteHeader(http.StatusOK)
	w.Header().Set("Content-Type", "image/avif")
	w.Header().Set("Content-Length", strconv.Itoa(len(imgBytes)))
	w.Header().Set("Content-Disposition", `inline;filename="test.avif"`)
	w.Write(imgBytes)
	return
}

func main() {
	http.HandleFunc("/work", work)
	http.HandleFunc("/notwork", notwork)

	http.ListenAndServe(":8090", nil)
}

here is the test result output:
(base) leedeMacBook-Pro:~ lee$ curl -v http://localhost:8090/work
*   Trying ::1:8090...
* TCP_NODELAY set
* Connected to localhost (::1) port 8090 (#0)
> GET /work HTTP/1.1
> Host: localhost:8090
> User-Agent: curl/7.65.3
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Accept-Ranges: bytes
< Content-Length: 72291
< Content-Type: image/avif
< Last-Modified: Thu, 14 Jul 2022 13:58:34 GMT
< Date: Thu, 14 Jul 2022 13:58:34 GMT
<

(base) leedeMacBook-Pro:~ lee$ curl -v http://localhost:8090/notwork
*   Trying ::1:8090...
* TCP_NODELAY set
* Connected to localhost (::1) port 8090 (#0)
> GET /notwork HTTP/1.1
> Host: localhost:8090
> User-Agent: curl/7.65.3
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Date: Thu, 14 Jul 2022 13:58:44 GMT
< Content-Type: application/octet-stream
< Transfer-Encoding: chunked
<

What did you expect to see?
both "work" and "notwork" methods give the client browser content-type: "image/avif"
What did you see instead?
"notwork" method give the client browser content-type:  "application/octet-stream"

CC @neild

working as intended. headers must be set before WriteHeader

Thanks, but the method name WriteHeader and Header.Set() misleading


Feat/civ 2691

JIRA link (if applicable)
https://tools.hmcts.net/jira/browse/CIV-2691
Change description
Changes for notification sent
Does this PR introduce a breaking change? (check one with "x")
[ ] Yes
[x] No

All changes until this moment have been already approved. See: https://github.com/hmcts/civil-service/pull/1722
Subsequent changes will require re-approval.


Add JerryScript logo.

JerryScript-DCO-1.0-Signed-off-by: Sung-Jae Lee<EMAIL_ADDRESS>

LGTM (informally)

LGTM

@egavrin @sand1k @ruben-ayrapetyan How about you?

LGTM.

Landed (41f6cbb3aca8260c6cc7eef064ec45946041252f)


Add {to,from}_hex_string convenience functions

Currently nocrypto has debug functions that are helpful for debugging. However many protocols use hex encoding to share encrypted objects. Eg AWS authorization http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-auth-using-authorization-header.html
I don't know if this should go here or in Cstruct, but I think it would be very useful. Something like:
val cstruct_of_hex_string : string -> Cstruct.t
val hex_string_of_cstruct : Cstruct.t -> string
Happy to submit a pull request if there is a consensus on including an idea like this.

Note that Uncommon.Cs.of_hex is already there...
On Sunday, March 29, 2015, Trevor Summers Smith<EMAIL_ADDRESS>wrote:

Currently nocrypto has debug functions that are helpful for debugging.
However many protocols use hex encoding to share encrypted objects. Eg AWS
authorization
http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-auth-using-authorization-header.html
I don't know if this should go here or in Cstruct, but I think it would be
very useful. Something like:
val cstruct_of_hex_string : string -> Cstruct.t
val hex_string_of_cstruct : Cstruct.t -> string
Happy to submit a pull request if there is a consensus on including an
idea like this.
—
Reply to this email directly or view it on GitHub
https://github.com/mirleft/ocaml-nocrypto/issues/50.

Could also extend ocaml-hex to add Cstruct related functions.

@nojb oops I missed that. Sorry!
@samoht I'm open to either/both. Given that of_hex is already in Nocrypto it seems natural to add to_hex. Unless, of course, it is really there as a workaround and it should lie in ocaml-hex or elsewhere.

I personally would prefer to have of_hex / to_hex directly in cstruct. maybe also dotted_hex!?
The reasoning is that cstruct already has a hexdump utility, and it sounds wrong to reimplement hex conversions all over (maybe merge it with ocaml-hex, which does string -> hexstring conversions)...

I think putting to/from hex into Cstruct is reasonable, given that it's a major usecase of that library.

And could we please add some of the other functions of
Nocrypto.Uncommon.Cs (notably concat and equal) while we are at it?
On Friday, April 3, 2015, Anil Madhavapeddy<EMAIL_ADDRESS>wrote:

I think putting to/from hex into Cstruct is reasonable, given that it's a
major usecase of that library.
—
Reply to this email directly or view it on GitHub
https://github.com/mirleft/ocaml-nocrypto/issues/50#issuecomment-89374682
.

@nojb Basic equal is there since 1.6.0; constant-time version (~mask:true) is perhaps misplaced in the general library.
As for the other functions, honestly, I find the number of utilities I need for working with cstructs to be ever-growing. Not sure where to draw the line, exactly.
But concat and append would probably make sense in the core.
@avsm Want me to cut them out of nocrypto and PR cstruct?

Concur about concat and append in cstruct -- pr would be great.

On 4 Apr 2015, at 03:10, David Kaloper<EMAIL_ADDRESS>wrote:
@nojb Basic equal is there since 1.6.0; constant-time version (~mask:true) is perhaps misplaced in the general library.
As for the other functions, honestly, I find the number of utilities I need for working with cstructs to be ever-growing. Not sure where to draw the line, exactly.
But concat and append would probably make sense in the core.
@avsm Want me to cut them out of nocrypto and PR cstruct?
—
Reply to this email directly or view it on GitHub.

@pqwy are you also taking care of a pr for the hex stuff or would you like me to do that? Thanks

Which PR, in the end?
Hex decoding in nocrypto is used for storing large published vectors. I don't think a crypto library is quite the place to keep general hex converters because you could obviously want to use that kind of encoding for cstructs without crypto.
I'm also not sure cstruct proper is a place for various codecs. sexplib is an exception as it travels with the type.
@trevorsummerssmith What I would like to see is what @samoht suggested: ocaml-hex extended with cstruct support, ideally with an optional parameter to describe which kinds of characters to ignore, which would make all of pretty-printed hex, dotted hex and strict hex special cases. I would probably reuse that and remove the version here.

It seems that now ocaml-hex is taking care of this.


Crash on startup

Version of Advanced Rocketry
1.16.5-2.0.0-16-universal
Have you verified this is an issue in the latest unstable build
This is the only build available for 1.16.5 to my knowledge
Version of LibVulpes
1.16.5-1.0.2-31
Version of Minecraft
1.16.5
Does this occur without other mods installed
I currently don't know, and if so, I can't test each mod currently.
Crash report or log or visualVM (if applicable)
https://pastebin.com/s505CF06
Description of the problem
Open Minecraft and crash.

Downgrade LibVulpes


Mention TrueCharts in README

:tada: This issue has been resolved in version 2.4.4-rc.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket: