Optimization PR#1 - Featured competitions

@ mention of reviewers
@Didayolo
A brief description of the purpose of the changes contained in this PR.

is_featured field added in competition modal (default = False)
This field is now used to show featured competitions on the home page

NOTE: participants count is still missing here, that will be handled by PR#2
How to make a competition featured?
There are two ways to do it

User Django admin -> click the competition -> scroll down to is featured filed -> Check/Uncheck it
Use competition id in the django bash to feature/unfeature a competitions

docker compose exec django ./manage.py shell_plus
>>> comp = Competition.objects.get(id=<ID>)  # replace <ID> with competition id
>>> comp.is_featured = True  # set to False if you want to unfeature a competition
>>> comp.save()

Issues this PR resolves

#1327 -> Featured Competitions on home page

Checklist

[x] Code review by me
[x] Hand tested by me
[x] I'm proud of my work
[ ] Code review by reviewer
[ ] Hand tested by reviewer
[ ] CircleCi tests are passing
[ ] Ready to merge

I guess it makes sense that featured competitions are manually selected. We need to remember to update it regularly.


Add GLB loader

This PR
This PR adds a simple GLB loader. Expects 1 json chunk and then optionally, 1 bin chunk.
Note: the .editorconfig file is set to remove trailing whitespaces, so that's what my IDE did on all the files I edited.
Testing
This has been tested and correctly loads a simple .glb file containing a cube. This has also been tested loading a very complicated .vrm file and did not error.

Looks like a bunch of stuff in my VRM file that is not getting loaded yet is part of the GLB specification. I think I'll convert this to a draft for the time-being.

Ok, I think the GLB and GLTF additions are pretty solid now.

Next I'm going to start working on the VRM extensions, but those will be in a different PR which depends on this one.


Product filter

I managed to filter the products, and to show only the ones from the right store. How would I show only the right categories?

Add categories you want to the search criteria of request.

where is that?

I managed to filter the products,
where did you filter products?

in the getSearchCreteriaForCategoryAndChild function

src/magento/lib/admin/index.js
getSearchCreteriaForCategoryAndChild: (category, pageSize = 10, offset = 1, sortOrder, filter)

it takes category as a parameter

could you give me an example of how you would filter categories?

@sidneylopes
check src/actions/RestActions.js
export const getProductsForCategoryOrChild = (category, offset, sortOrder, filter) => async (dispatch) => {
  if (offset) {
    dispatch({ type: MAGENTO_LOAD_MORE_CATEGORY_PRODUCTS, payload: true });
  }

  if (!offset && (typeof sortOrder === 'number' || typeof filter !== 'undefined')) {
    dispatch({ type: MAGENTO_RESET_CATEGORY_PRODUCTS });
  }

  try {
    const payload = await magento.admin
      .getSearchCreteriaForCategoryAndChild(category, 10, offset, sortOrder, filter);
    dispatch({ type: MAGENTO_GET_CATEGORY_PRODUCTS, payload });
    dispatch({ type: MAGENTO_LOAD_MORE_CATEGORY_PRODUCTS, payload: false });
    updateConfigurableProductsPrices(payload.items, dispatch);
  } catch (e) {
    logError(e);
  }
};

but isn't that function for filtering products? I need to filter categories.
let's suppose that I only want a category that has an Id of 20. How would I filter that?

Ok, this issue about product filter, isn't it? so I supposed you are asking about filter products by categories.
Also, you are asking a lot of questions I don't have in my mind I need to find an answer for you. So probably you can do it yourself. What did you try and where you stuck with it?

I already managed to filter the products, and the categories work, but I have 2 sites and in one of them, some categories aren't supposed to show up. I tried to filter them using a searchCriteria for their Ids, but it didn't work. I have no idea on how to do this.

Please share what you tried.


Error of png picture uploading and adding to the code

Describe the bug
I tried to insert just normal png picture and the bolt started somehow converting to its own png and messed with the code.
Link to the Bolt URL that caused the error
https://bolt.new/~/sb1-uisajf
Steps to reproduce
Insert the picture and ask to place the picture to some place on the page.
Expected behavior
I expect normal picture display.
Screen Recording / Screenshot

Platform
Browser name = Chrome
Full version = <IP_ADDRESS>
Major version = 130
navigator.appName = Netscape
navigator.userAgent = Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36 Edg/<IP_ADDRESS>
performance.memory = {
  "totalJSHeapSize": 74497087,
  "usedJSHeapSize": 68575847,
  "jsHeapSizeLimit":<PHONE_NUMBER>
}
Username = davson007
Chat ID = 73ae873b470a

Additional context
Error:
You cancelled this message.

Appreciate the feedback! We are aware of this issue and are tracking it here: #1809


Database secret engine root credentials rotation is overwritten by resource reconciliation and credentials are lost

Hi,
It looks like the root credential rotation is failing - not because it fails to invoke the Vault root-rotation endpoint (this works fine), but because it updates the connection right after the rotation including the original-but-now-outdated root credentials.
As a result the root credentials are lost, and Vault cannot connect to the database engine any more, leading to failure for any database-related operation: dynamic or static secrets creation / revocation, another root credential rotation...
Environment

Kubernetes cluster 1.24.8 (GKE)
vault 1.12.1 (deployed using helm)
vault-config-operator version 0.8.10 (deployed using Helm)

Configuration
Initial root credentials are set into a Kubernetes secret:
apiVersion: v1
kind: Secret
metadata:
  name: postgres-vault-initialpassword
  namespace: postgres-test
type: Opaque
data:
  password: "<REDACTED>"

Note: this also happens with RandomSecret as well (but is more noisy to troubleshoot because more requests are sent to vault)
The database secret engine config is as below:
apiVersion: redhatcop.redhat.io/v1alpha1
kind: DatabaseSecretEngineConfig
metadata:
  name: postgres-alpha
  namespace: postgres-test
spec:
  authentication:
    path: kubernetes
    role: database-admin
    serviceAccount:
      name: sa-vault-database-admin
  pluginName: postgresql-database-plugin
  allowedRoles:
    - "*"
  connectionURL: postgresql://{{username}}:{{password}}@postgres-alpha-headless.postgres-test.svc:5432/postgres
  path: database/postgres-test/postgres-alpha
  username: vault
  rootCredentials:
    passwordKey: password
    secret:
      name: postgres-vault-initialpassword
  rootPasswordRotation:
    enable: true
    rotationPeriod: 10m
  passwordPolicy: alphanum-with-special-chars
  databaseSpecificConfig:
    username_template: '{{.RoleName | truncate 47}}-{{random 4}}-{{unix_time}}'

When attempting to drive vault to interact with the database, database authentication errors show up:
URL: PUT https://vault-active.vault:8200/v1/database/postgres-test/postgres-alpha/rotate-root/postgres-alpha
Code: 500. Errors:

* 1 error occurred:
    * error verifying connection: failed to connect to `host=postgres-alpha-headless.postgres-test.svc user=vault database=postgres`: failed SASL auth (FATAL: password authentication failed for user "vault" (SQLSTATE 28P01))

Analysis
This requires enabling vault audit capability:
kubectl exec -it -n vault vault-0 -- sh -c 'vault audit enable file file_path=stdout'

Audit log generated by the sequence above is attached to this issue for completeness:
vault-database-root-rotation-failure.log
Scenario:

before audit logging is enabled

the DatabaseSecretEngineConfig object is set without root rotation enabled
database dynamic credential generation is checked and works OK

then:

the DatabaseSecretEngineConfig object is modified to enable root rotation
database dynamic credential generation is attempted and fails

Observed interactions with vault
The sequence which can be seen from the audit log goes as below:

kubernetes authentication to acquire a vault token
read the existing database secret engine config from vault
database secret engine config is updated into vault
database engine root credentials rotation is performed
(yet another kubernetes authentication happens here)
read the existing database secret engine config from vault
database secret engine config is updated into vault again
dynamic credentials is requested and fail with database authentication failure

It looks like the DatabaseSecretEngineConfig CR object is updated in Kubernetes after the root rotation (status update, probably), which triggers yet another reconciliation.
Problem here is that step 6 does NOT retrieve the rotated password (that's the all point).
But the reconciliation logic DOES set the password attribute in the config update request:
{
  "time": "2023-03-02T16:16:32.398233309Z",
  "type": "request",
  "auth": {
     ...
  },
  "request": {
    ...
    "data": {
      "allowed_roles": [
        "hmac-sha256:f25198ddce0c77d0eda570ea020978e3a18df0501bd489bdc1aceca5c444cd4c"
      ],
      "connection_url": "hmac-sha256:d6b9d82a62842b12071400c04f68f63dd34b9c25e5e5cbbce646c8a48fdfaa5b",
      "disable_escaping": false,
      "password": "hmac-sha256:2dc1b3be5d50abac97a24cd80e36f03851a21d214bc30d925a698bd9b15bbed4",
      "password_policy": "hmac-sha256:472c8a83a618bdd6ab035c5d6a4448a2604e15fa4f9af8db96d0c7ce6e998ff0",
      "plugin_name": "hmac-sha256:4c61ac7aac21902d25e0745cd36c81201e1e2305dc79b0a4ae7b029d90237bdd",
      "plugin_version": "hmac-sha256:7a648518ff4e63b78309be7cbc2e599e1a523363dd9ee4d1617a39f70d318808",
      "root_credentials_rotate_statements": [],
      "username": "hmac-sha256:026ea08099d4c8771183494ea38015248974c226ac1bf1e5ca9bf286bc81e115",
      "username_template": "hmac-sha256:375858b438ca5069cd20bb8a55753e2d378f2ed4adea219970bf8f41a0c0c39d",
      "verify_connection": false
    },
    "remote_address": "<IP_ADDRESS>",
    "remote_port": 58672
  }
}

As far as I understand, this config update request will overwrite the root credentials that was just generated in Vault's config, which is now out-of-sync with the database credentials.

I confirm that this is the root cause of the root credentials loss, see below.
How to reproduce in a simple manner
Using the same mounts and configuration as above:

Setup the DatabaseSecretEngineConfig custom resource
Verify that credentials can be generated successfully:
kubectl exec -it -n vault vault-0 -- sh -c 'vault read database/postgres-test/postgres-alpha/creds/test'
Rotate the root credentials using either vault UI or CLI:
kubectl exec -it -n vault vault-0 -- sh -c 'database/postgres-test/postgres-alpha/rotate-root/postgres-alpha'
Verify that credentials are still generated successfully
Update the DatabaseSecretEngineConfig custom resource (-> operator pushes the change to vault)
Attempt to generate credentials generates the database authentication error

Confirming the root cause
Instead of using the operator to update the database secret engine's configuration at step 5, use the following job below:
apiVersion: batch/v1
kind: Job
metadata:
  name: rotate-root-and-update-config
  namespace: postgres-test
spec:
  template:
    metadata:
      annotations:
        vault.hashicorp.com/agent-inject: 'true'
        vault.hashicorp.com/role: 'database-admin'
        vault.hashicorp.com/agent-inject-token: 'true'
        vault.hashicorp.com/agent-pre-populate-only: 'true'
        vault.hashicorp.com/agent-cache-enable: 'false'
        vault.hashicorp.com/ca-cert: '/var/run/secrets/kubernetes.io/serviceaccount/ca.crt'
    spec:
      serviceAccountName: sa-vault-database-admin
      containers:
      - name: console
        image: alpine:3.17
        env:
          - name: VAULT_ADDR
            value: "https://vault-active.vault:8200"
        command:
        - /bin/sh
        - -c
        - |
          set -euo pipefail
          apk --no-cache add curl jq
          VAULT_TOKEN=$(cat /vault/secrets/token)

          curl -vvv --fail -L -X POST -H "X-Vault-Token: $VAULT_TOKEN" \
            --cacert /var/run/secrets/kubernetes.io/serviceaccount/ca.crt \
            ${VAULT_ADDR}/v1/database/postgres-test/postgres-alpha/config/postgres-alpha \
            -H "Content-Type: application/json" \
            -d '{"username_template": "{{.RoleName | truncate 39}}-{{random 4}}-{{unix_time}}"}'

      restartPolicy: Never
  backoffLimit: 4

=> the payload of this Vault API request is a partial update: the JSON only contains what has changed, and does not contain the passwordattribute.
This is what the Vault UI is doing.
You can then confirm that the update was properly taken into account by checking the database connection details using Vault CLI (truncate is set to 39 chars instead of the original 47).
Then generate credentials again as step 6: this is successfully performed.

ok, so basically the database secret engine config must not overwrite the credentials. That update at  # 7 is need because of the way this operator is written. So I see two options to solve this problem

we find a way to make that update such that it does not overwrite the credentials
we make the database secret engine config read only after the first password rotation.

I'd like to do # 1, do you know if it is possible?

Hi @raffaelespazzoli

we find a way to make that update such that it does not overwrite the credentials

I'd like to do # 1, do you know if it is possible?

Yes, this is what I proposed in PR #132 .
Let me know what you think.


Fallback osx iterm

Hi, sorry i do not understand what i have to do on this instruction:

source the font maps (source ~/.fonts/*.sh) in your shell startup script (eg. ~/.bashrc or ~/.zshrc)
Can you help me? thanks.

+1

Write source~/.fonts/*.sh in your .zshrc or .bashrc if you use bash

zsh: no matches found: source~/.fonts/*.sh
I do the same but got the error above


InteractiveService throws for no reason when using DeferredUpdateMessage.

The interactionType that uses a call to ModifyOriginalResponseAsync (DeferredUpdateMessage) throws an ArgumentException for an unknown reason in InteractiveService.SendOrModifyMessageAsync for slash commands. Unlike the exception suggests, ModifyOriginalResponseAsync can be used in slash commands.
The only alternative is using GetOriginalResponseAsync and passing that in, which, depending on the permissions/context the bot is in, Discord complains about and it doesn't work. (Discord is more picky about messages being edited in that way)

Can you please send a stack trace and sample code?

using Discord.Interactions;
using Fergun.Interactive;
using Fergun.Interactive.Pagination;

namespace Asahi.Modules;

public class TestModule(InteractiveService interactive) : BotModule
{
    [SlashCommand("test", "hello!")]
    public async Task TestSlash()
    {
        await DeferAsync();

        var paginator = new StaticPaginatorBuilder()
            .WithPages([new PageBuilder().WithText("hello!")])
            .WithDefaultEmotes();

        await interactive.SendPaginatorAsync(paginator.Build(), Context.Interaction, TimeSpan.FromMinutes(1),
            InteractionResponseType.DeferredUpdateMessage);
    }
}

System.ArgumentException: Interaction response type DeferredUpdateMessage can only be used on component interactions. (Parameter 'responseType')
   at Fergun.Interactive.InteractiveGuards.ValidResponseType(InteractionResponseType responseType, IDiscordInteraction interaction, String parameterName)
   at Fergun.Interactive.InteractiveService.SendOrModifyMessageAsync[TOption](IInteractiveElement`1 element, IDiscordInteraction interaction, InteractionResponseType responseType, Boolean ephemeral)
   at Fergun.Interactive.InteractiveService.SendPaginatorAsync(Paginator paginator, IDiscordInteraction interaction, Nullable`1 timeout, InteractionResponseType responseType, Boolean ephemeral, Action`1 messageAction, Boolean resetTimeoutOnInput, CancellationToken cancellationToken)
   at Asahi.Modules.TestModule.TestSlash()
   at Discord.Interactions.Builders.ModuleClassBuilder.<>c__DisplayClass11_0.<<CreateCallback>g__ExecuteCallback|1>d.MoveNext()
   --- End of inner exception stack trace ---

The value that is passed into the responseType is either the response type the library should use or the one that was already used (for deferred interactions). The exception occurs because the library expects a component interaction when InteractionResponseType.DeferredUpdateMessage is passed (Discord says it's only valid for component interactions).
The response type that should be passed is InteractionResponseType.DeferredChannelMessageWithSource (the one DeferAsync() uses).

Apologies, sent this report at 4am my time and sent the wrong codeblock haha
using Discord.Interactions;
using Fergun.Interactive;
using Fergun.Interactive.Pagination;

namespace Asahi.Modules;

public class TestModule(InteractiveService interactive) : BotModule
{
    [SlashCommand("test", "hello!")]
    public async Task TestSlash()
    {
        await DeferAsync();

        await FollowupAsync("hi!");

        var paginator = new StaticPaginatorBuilder()
            .WithPages([new PageBuilder().WithText("hello!")])
            .WithDefaultEmotes();

        await interactive.SendPaginatorAsync(paginator.Build(), Context.Interaction, TimeSpan.FromMinutes(1),
            InteractionResponseType.DeferredUpdateMessage);
    }
}

I see. You need to get the return value of FollowupAsync() and pass it to the overload of SendPaginatorAsync() that accepts a message.
For ephemeral interactions, I don't think it's currently supported because modifying an ephemeral message without an interaction was not possible at the time I was writing the library/API, and it's not really common to defer and send a followup before sending a paginator.

iirc editing an interaction's message using the message edit stuff (passing in the return value of FollowupAsync) instead of ModifyOriginalResponseAsync causes issues in some situations because of the permissions that Discord grants. Think user apps are one of them?

I've tried to use it in a user app and there seems to be a bug in Discord.Net (I get a NRE on ModifyAsync()) so I can't really test it.
Anyways, I've removed the restriction on InteractionResponseType.DeferredUpdateMessage and limited it to InteractionResponseType.UpdateMessage, which actually requires a component interaction. I'll release a new version soon.


FileNotFoundError for dataset with multiple builder config

Describe the bug
When there is only one config and only the dataset name is entered when using datasets.load_dataset(), it works fine. But if I create a second builder_config for my dataset and enter the config name when using datasets.load_dataset(), the following error will happen.
FileNotFoundError: [Errno 2] No such file or directory: 'C:/Users/chenx/.cache/huggingface/datasets/my_dataset/0_shot_multiple_choice/1.0.0/97c3854a012cfd6b045e3be4c864739902af2d818bb9235b047baa94c302e9a2.incomplete/my_dataset-test-00000-00000-of-NNNNN.arrow'
The "XXX.incomplete folder" in the cache folder of my dataset will disappear before "generating test split", which does not happen when config name is not entered and the config name is "default"
C:\Users\chenx.cache\huggingface\datasets\my_dataset\0_shot_multiple_choice\1.0.0
The folder that is supposed to remain under the above directory will disappear, and the data generator will not have a place to generate data into.
Steps to reproduce the bug
test = load_dataset('my_dataset', '0_shot_multiple_choice')
Expected behavior
FileNotFoundError: [Errno 2] No such file or directory: 'C:/Users/chenx/.cache/huggingface/datasets/my_dataset/0_shot_multiple_choice/1.0.0/97c3854a012cfd6b045e3be4c864739902af2d818bb9235b047baa94c302e9a2.incomplete/my_dataset-test-00000-00000-of-NNNNN.arrow'
Environment info
datasets                  2.14.5
python                    3.8.18

Please tell me if the above info is not enough for solving the problem. I will then make my dataset public temporarily so that you can really reproduce the bug.

Hi!
could you share how to solve this problem?
I faced this same error.


[anime-on-demand.de] can't download sub-version if dub-version is available

Checklist

[X] I'm reporting a broken site support
[X] I've verified that I'm running youtube-dl version 2020.03.24
[X] I've checked that all provided URLs are alive and playable in a browser
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched the bugtracker for similar issues including closed ones

Verbose log

root@share# youtube-dl https://www.anime-on-demand.de/anime/208 -v
[debug] System config: [u'-o', u'/media/myCloudDrive/dl/%(title)s-%(id)s.%(ext)s', u'--netrc']
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'https://www.anime-on-demand.de/anime/208', u'-v']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2020.03.24
[debug] Python version 2.7.16 (CPython) - Linux-4.19.97-v7+-armv7l-with-debian-10.3
[debug] exe versions: ffmpeg 4.1.4-1, ffprobe 4.1.4-1
[debug] Proxy map: {}
[debug] Using fake IP <IP_ADDRESS> (LI) as X-Forwarded-For.
 So it's impossible to get the sub version.

Read FAQ on format selection.


sudo: log4jscanner: command not found

With go version go1.17.5 darwin/amd64 on Mac OS.
I did this command : go install github.com/google/log4jscanner@latest
But when i type sudo log4jscanner /System/Volumes/Data it keeps saying sudo: log4jscanner: command not found
First time using go, maybe there is an extra step that i am missing ?

You could simply download the bin from the release page; no go required

sudo overrides the PATH environment variable before running your command, you can see that by running
sudo env

Since you've installed log4jscanner in a local user path, it's likely not in a root PATH directory. Either move it to one of those directories or running from a relative path
sudo ./log4jscanner


Typos fixed on strings 35 & 111

Closing this issue as *.rd files are not edited directly. The corresponding spec file was edited a while ago, so this is no longer an issue.


libtensorflow-bin: unmark as broken

Motivation for this change
Accidentally marked it broken when marking the tensorflow python packages as broken
context: https://github.com/NixOS/nixpkgs/issues/101863#issuecomment-718031291
Things done

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

[x] NixOS
[ ] macOS
[ ] other Linux distributions

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

Nit: libtensorflow-bin is the right package name for the commit message.
Thank you for doing this. Was about to open this PR myself :)

just waiting on ofborg


Plans to add point scale models?

Hi All,
Thanks for the interesting initiative! I just learned about it from the EGU abstract.
This is not a "code" issue (yet), more a question. I was wondering if you are planning to facilitate point scale models (e.g., models simulating a single time series) on the future? I could think of submitting a few of such models, potentially even with data.
Cheers,
Raoul

Hi Raoul! That's a great question and one we should ponder. We had initially focused our scope on spatially discretized numerical groundwater models for v1.0 and data collection efforts. However, I don't think we have a need to constrain ourselves to that.
A "hacky" way to do this in the current framework would be to just set the lat/long for the upper left and lower right corner of the bounding box the same. I'm not sure how this would show up on the map, though.
If you are able to stop by the GroMoPo PICO, try to discuss with @dzamrsky ! I think this could be really cool!
Hope you have fun at EGU, wish I was going to be there!
-Sam


Handle QuicError.AlpnInUse

Fix #2155

Failures seem unrelated to the PR. We should probably rename Listen_twice_on_the_same_address_fails_with_a_transport_exception there are no transport exceptions anymore.


Cashier Integration (or even just help with relationships would do the trick)

I may be overlooking something in documentation or have just spun my wheels to the point where I've mentally blocked out the solution but has anyone integrated this with cashier? I originally wanted to set the billable attribute up on a customer table (in the central app) then do a check once tenancy kicks in to verify subscription, bounce to a landing/payment page if not active. I added the custom column to the Tenants table for customer_id then tried to reference it via a relationship once I proceed into tenancy yet I'm getting a null on the relationship. I know the relationships are working fine as I can load the relation via web routes just fine. When I kicked the Billable attribute over to the Tenant model I got the following error going through the basic setting up of a Stripe customer and adding a paymentMethod
Stripe\Exception\UnexpectedValueException {#1059 ▼   #message: "Could not determine which URL to request: Stripe\PaymentMethod instance has invalid ID: "   #code: 0   #file: "/Applications/MAMP/htdocs/phonesaas/vendor/stripe/stripe-php/lib/ApiResource.php"   #line: 99   trace: {▶} }
Thanks in advance for any input!

Hi,
How does your Tenant model look?

Hi,
How does your Tenant model look?

Originally I didn't create a separate Tenant model instead simply used the default set up, then I created the following recently in hopes it'd do the trick to no avail
`
namespace App;
use Illuminate\Database\Eloquent\Model;
use Laravel\Cashier\Billable;
class Tenant extends Model
{
//
use Billable;
 public function domain(){
	return $this->hasOne(Domain::class);
}

 public function customer(){
	return $this->hasOne(Customer::class,'id','customer_id');
}

}`

I have no experience with Cashier and that error message is not really helpful, so I'm not sure how I can help. Maybe sharing the full stack trace, giving more info (when does this happen, what are you doing, how are you doing it) would help.

As it stands I'd like to associate one of the central app's customers with a tenant, then do a simple check via the $model->subscribed() built into cashier. However I can't retrieve the relationship between Tenant and Customer models once I'm in Tenant routes.

retrieve the relationship between Tenant and Customer models once I'm in Tenant routes.

You can use the Stancl\Tenancy\StorageDrivers\Database\CentralConnection trait on your models to force them to use the central DB connection even in the tenant app.

Apologies for posting in a closed issue. This has come up for me though, and I think I may have found a solution to using Cashier on the central DB tenants column.
Cashier allows you to set the model that will be the "billable" model. That is usually the User model. However, since the User model should be in the tenant db (in the above described scenario), and Cashier allows you the change the model used, the billable model could theoretically be set to the Tenant model.
I've already modified the DB migration for Cashier to add the customer columns to the tenant migration. But the question is, is there some clean way to update the Tenant model to include the billable trait? Like this:
use Laravel\Cashier\Billable;

class Tenant implements ArrayAccess
{
    use Billable;
}

Yes, you need to create a custom model and no, the latter would not work, because Stancl\Tenancy\Tenant is not a model in v2.

Makes complete sense. Any tips on how to create a custom model?  I tried this:
namespace App;

use Laravel\Cashier\Billable;
use Illuminate\Database\Eloquent\Model;
use Stancl\Tenancy\Tenant;

class Customer extends Model
{
    use Billable;
    use Tenant;
    //
}

and got this error message.
Symfony\Component\ErrorHandler\Error\FatalError
App\Customer cannot use **Stancl\Tenancy\Tenant - it is not a trait**

No need to use Tenant. As long as you're using the model only for subscription management, it should work.
Anyway, v3 will have a dedicated Tenant model for this.

Yep, I have added a custom data column to the Tenant database to track customer_id's from this Customer model. Any suggestions on how to get data from the customer table from within a tenant? I imagine I'll have to switch database connections, is there some way I can do that from the Customer model?
A dedicated Tenant model sounds good. Any idea how far out v3 is?

A few weeks

And no clue how to do the customer_id stuff, haven't used Cashier yet.

Awesome. Looking forward to v3. Should make it easier to integrate with Cashier.

Figured I'd share for anyone that stumbles on this thread (also may help @stancl with putting a dedicated Tenant model together). Here's my Eloquent Tenant model that allows me to use Cashier:
<?php

namespace App;

use Illuminate\Database\Eloquent\Model;
use Laravel\Cashier\Billable;
use Illuminate\Database\Eloquent\Builder;
use Stancl\Tenancy\StorageDrivers\Database\CentralConnection;

class Tenant extends Model
{
    use Billable;
    use CentralConnection;

    /**
     * The "booted" method of the model.
     *
     * @return void
     */
    protected static function booted()
    {
        static::addGlobalScope('id', function (Builder $builder) {
            $builder->where('id', tenant()->id);
        });
    }

    /**
     * Returns us the Eloquent model of the current tenant.
     *
     * @return Tenant $tenant
     */
    public static function current() {
        return static::first();
    }

}

The table underlying this Model is the tenant table created by the stancl/tenancy package. This model definition uses a global scope to limit only tenants with the matching tenant_id. The current() method returns the first match (there should only be one). Importantly, this Model will always use the central DB connection since it uses the stancl\tenancy CentralConnection class.
Hopefully this helps anyone struggling with the Tenancy model.

If someone is coming to this thread  looking how to make it work for V3 you just need to add
    use \Illuminate\Auth\Authenticatable;

To the Tenant Model.
I hope this helps you.

Why do you need to make them authenticable? Doesn't Cashier simply require the billable trait?

@stancl  Previous to add

I was getting this error
BadMethodCallException with message 'Call to undefined method App/Tenant::getAuthIdentifier()'

I don't think billable models need to be authenticable. This seems hacky. Exception disappearing doesn't mean this is the right solution.

You are right, how did you make it work with cashier?

@techguydev with version ^2.3.X you should define your own User/Subscriber/Customer/Tenant model and add the billable trait to that. See example above.

@hackerESQ  I am using V3.


Bump Node.js to v8.3.0

Thanks, @KevinF15 !

You are welcome @icflorescu , I'll help every time I can :nerd_face:


[NT-1140] Add-Ons Phase 1

📲 What
Feature branch containing all of the phase 1 add-ons related work.
[NT-1296, NT-1297] Manage Pledge view info bugfixes #1241
Bugfixes from UAT testing on Manage Pledge View:

Some summary data was not correctly displayed when viewing the pledge as a creator.
Add-on rewards were shown twice in the list.

NT-1405 Use bonus support as total for No Reward #1240

Before 🐛
After 🦋

NT-1330 Fix bonus support behaviour and validation #1236
Fixes a regression introduced in #1233 that prevented us from backing projects.
[NT-1329, NT-1330] Bonus Support UI #1233

Before 🐛
After 🦋

NT-1341 Rewards header expand/collapse animation #1230

[NT-1342] Updated Pledge View Header for No Reward #1229

Before 🐛
After 🦋

[NT-1340] Expandable Rewards Pledge View Header #1226

Before 🐛
After 🦋

[NT-1297] Add bonus support #1218

Before 🐛
Before 🐛
After 🦋

[NT-1298] Manage Pledge Shipping Disclaimer View #1217

Before 🐛
After 🦋

[NT-1223, NT-1296] Reward Add-Ons GraphQL integration #1216

Adds reward add-ons GraphQL integration to ManagePledgeViewModel.
Displays the selected quantity in the title of add-ons where more than 1 was selected of that add-on.

[NT-1295] Add UITableView and data source to ManagePledgeViewController #1213
Converts ManagePledgeViewController from a regular view using a root UIStackView to using a root UITableView with a header view and cells for rewards.

          1 Warning

:warning:
Big PR

  Generated by :no_entry_sign: Danger


Require Project id in TestRunExecutionCreate schema, once UI support project management

From chip-certification-tool created by mikaelhm: CHIP-Specifications/chip-certification-tool#818
null

Waiting to make sure Frontend and CLI can use this.

I think it is still applicable:
https://github.com/project-chip/certification-tool-backend/blob/f60cf491ff0b1d19a4c115891bb9a321c97e7b64/app/schemas/test_run_execution.py#L52C1-L52C2


Addressing meta-reviewer comments for unit_interpretation task

Pursuant to the @vedant's suggestions in #419, we have added the task prefix "Please select the option that best replaces '()' in each text input given the choices presented." to each of the 4 subtasks.

@chiafullo Is it possible to merge this PR and #497 so that the book on these tasks can be closed?

Thank you for making this improvement! I am merging now.


nasal cartilage

Add new term:
abnormal nasal cartilage morphology (a child of abnormal hyaline cartilage morphology MP:0006429 AND abnormal nose morphology MP:0002233 )
DEF: any structural abnormality of any of the cartilaginous elements formed from hyaline cartilage that provide form and support to the nose
SOURCE: https://en.wikipedia.org/wiki/Nasal_cartilages
Child terms include:
abnormal nasal septum cartilage morphology MP:0030200
abnormal nasal capsule morphology MP:0004726
Also, need nasal cartilage hypoplasia J:304767

Added new terms:
abnormal nasal cartilage morphology MP:0031449
nasal cartilage hypoplasia MP:0031450


I don't have fusionhelper.exe in my Win_x64 folder

I am a quest 2 user and this is my first time doing anything like this, i've never modded a code mode into a game and im not great at file managing. But one thing I know for sure is that I can't run fusion because I can't use fusionhelper.exe. Please help me!

It's in there. You aren't looking hard enough.


The active class triggers for NavLinks using the / path, regardless of what path you visit.

Summary: The active class triggers for NavLinks using the / path, regardless of what path you visit.
Steps to reproduce:

Run the following code
Navigate to the "list" page

Expected result: Only the list NavLink has an active class
Actual result: Boththe NavLinks have an active class
import { MountableElement, render } from "solid-js/web";
import { Router, useRoutes, NavLink } from "solid-app-router";

const routes = [
	{
		path: "/",
		component: () =>
Home

	},
	{
		path: "/list",
		component: () =>
List
,
	},
];

function App() {
	const Routes = useRoutes(routes);
	return (
		<>
			<NavLink href="/">
				Home
			</NavLink>
			<NavLink href="/list">
				List
			</NavLink>
			<Routes />
		</>
	);
}

render(
	() => (
		<Router>
			<App />
		</Router>
	),
	document.getElementById("app") as MountableElement
);

Commentary
I get the logic behind this, in that if you are visiting product/<some id here> you might want to match against a /product NavLink. But I think there still should be a way to get an active class on your root directory without it always having to be active.
Also, thanks for all the hard work you guys have done on this router, and solidjs in general!

I just found the end property, which solves for this use case.
<NavLink end={true} href="/">
	Home
</NavLink>

I need to work on the docs a bit I see. I am also interested in what React Router does here. I guess I care most about React Router 6 which I'm not sure people are really using yet.

They use end as well.

Ok I've made mention in the docs.

@ryansolid I didn't see this in the docs. Should I add it? Or am I just missing it.


UN WPP checksum mismatch in Walden

owid.walden.files.ChecksumDoesNotMatch: for file downloaded from https://walden.nyc3.digitaloceanspaces.com/un/2022-07-11/un_wpp.zip:
	walden index checksum = ae621fc20f6eec9d18fe3d78b752d0b7
	downloaded checksum = d27da7eec76bbda7e093fc3d95926d5c

Hmm... just redownloaded the file, the checksum has changed, it might be ok now. Trying again...

hi @larsyencken,
how can I recreate this error?
I was just checking, and my bad. I added this line, which removed some files from the zipped file in Walden and did not update the hash...
On it!

Should be fixed in d4417bf87407e2aaa5a1f43c9a739d84ce9754bc

Works for me

It also might have been this issue #420


:bug: #2203: Allow client management layer to recover after a reconnection

Depends on https://github.com/Terracotta-OSS/terracotta-platform/pull/442
The idea is to lazily construct the NmsAgent entity (actually in ehcache it is not lazy since data is sent once CM is initialized).
But also, the goal is to make the management service of Ehcache aware when there is a reconnection, so that the management layer can send its states back to the server.

@henri-tremblay : This PR was to show @AbfrmBlr the changes required for this issue. Since he needs to complete the PR, he planned on abandon this one and create another one. So I guess your comments will have to be applied in the next PR.

@henri-tremblay : UPDATE: release of tc-platform is done and I applied your comments here. So @AbfrmBlr will be able to start on this and add his test with the leas stuff.

test this please


Fixes #679: @specialize with invalid attribute

This closes #679.
The solution suggests that the @_specialize parameter is missing a colon (i.e. Expected ':' in attribute argument). This is only true for parameters of SpecializeParameter enum.
However, I believe this behaviour is incorrect in case of supplying a type as a parameter (E.g. @_specialize(T == Int)), because it won't have a colon.
The previous example is from @_specialize attribute pitch, where it seems it's possible to define a parameter with a type only, as opposed to the current unit tests in SwiftParserTest where the type parameters are only defined with a where clause (E.g. @_specialize(where T.Element == Int)).
So I'm not 100% sure about the possibility of supplying the type only without a where clause.

@swift-ci test


Support validating api keys in auth.require_user

Currently the require_user middleware is only able to check Auth Tokens and not API keys. It would be convenient to either create a separate FastAPI middleware to check validate against an API key that could be used in conjunction with the current require_user or integrate this check into the existing middleware.

That's a great idea! We'll add it to our roadmap and make sure it gets into the library officially. That being said, here's a quick example if you want to do this in your product now:
from fastapi import Depends, HTTPException
from fastapi.security import HTTPBearer, HTTPAuthorizationCredentials
from propelauth_fastapi import Auth
from propelauth_py.errors import EndUserApiKeyException

security = HTTPBearer(auto_error=False)

class RequiresApiKeyDependency:
    def __init__(self, auth: Auth):
        self.auth = auth

    def __call__(self, credentials: HTTPAuthorizationCredentials = Depends(security)):
        try:
            if credentials is None:
                raise HTTPException(status_code=401)

            # Alternatively use validate_api_key or validate_org_api_key
            personal_api_key = self.auth.validate_personal_api_key(credentials.credentials)
            return personal_api_key
        except EndUserApiKeyException as e:
            raise HTTPException(status_code=401)

and then in your routes:
require_api_key = RequiresApiKeyDependency(auth)

@app.get("/api/api_key_info")
async def api_key_info(api_key=Depends(require_api_key)):
    return api_key

Awesome, thanks!


Troubleshooting GPS Spoofing with HackRF on Android

Hi everyone. My name is Petros, and I am learning at NPUA (in Armenia).
I have been working on GPS spoofing using HackRF for over 6 months, specifically focusing on GPS spoofing with noise and without noise. I have successfully spoofed two GPS receivers (BE 880 GPS and RY836AI) using the latest version of gps-sdr-sim. However, when I tried to spoof my Samsung S22 phone, I encountered inconsistent results. Sometimes the spoofing worked, but other times it did not. I initially suspected the issue might be with hackrf_transfer and attempted to use GNU Radio to transfer gpssim.bin with various configurations. Unfortunately, I haven't found the correct configuration for GPS spoofing that consistently works on my Samsung S22 phone. I have already disabled Wi-Fi and Bluetooth scanning on the phone. Could you please help me troubleshoot this problem, or let me know what could be causing the spoofing to not work on my Samsung S22 phone?
bin genereating example:  [sudo ./gps-sdr-sim -b 8 -s 2600000 -e brdc0230.24n -l 40.48721406299335,44.51516122914086,100 -T 2024/01/23,15:07:07 -d 400 -p]

I use bandwith 500kHz,1MHz,2MHz...10MHz
Now i buy external clock (GPSDO) but nothing changed.

You probably need to change the "Scale Factor" in the "IChar to Complex" block to 128. This will take the complex char IQ sample values (currently ranging from -128 to 127) and map them into the normal range for complex float IQ samples (-1.0 to 1.0). I can't say that will solve your problem with the Samsung phone though

also I'm not familiar with the oscomocom blocks, but the actual GPS L1 A/C signal bandwidth is something like 2 MHz (not 500 KHz as you have)

Same here, failed to spoof multiple android devices.
(both hackRF and USRP B210)

yeah i have also been failure of transmiting spoofing GPS signal

Same here, failed to spoof multiple android devices. (both hackRF and USRP B210)

Same here

the location on Androin devices can not change. I think AGPS can not be spoofing


"Pull to refresh" issue with ListItem

Problem description
I am integrating a "pull to refresh" feature in a web app using this library: https://github.com/yusukeshibata/react-pullrefresh .  This library is a simple wrapper around the touch events (start, move, end) and I used it in a previous project without any issues.
The issue I have is Material-UI components seems to be stop the propagation of touch events, meaning if you started pulling on a Material-UI component, such as a ListItem, the touch start event is never send to the "pull to refresh" library.
It looks like this is fixed in v1-beta (#6311) but I would like to know if there is a workaround I can use until v1 is officially released/stable.
Steps to reproduce
<List onTouchStart={() => console.warn("starting to touch")}>
   <ListItem primaryText="Some text" />
</List>

Versions

Material-UI: 0.19
React: 15.5
Browser: Desktop Chrome using touch device dev tool, iOS Safari

I would like to know if there is a workaround I can use until v1 is officially released/stable.

Not I'm aware of. It's unlikely we will fix the issue on the master branch given the potentiel breaking change behavior of removing the prevent default could have. I can't see a better path going forward than using the v1-beta branch. Sorry. I'm closing.

Is it possible to use the 0.19 branch and the v1-beta branch side by side?

Yes, you can. #7195 might help.


Enable insecureSkipVerify handling for ovirt providers

Use the same field processing as vmware to enable insecureSkipVerify handling for ovirt providers.
Follow up #215
Adding ovirt provider:

@bkhizgiy merged for testing


Copied from TeamRainbowDevs/Discord-experiment-access

Copied 🤡 https://github.com/TeamRainbowDevs/Discord-experiment-access

oh i see
well according to the commit history my commits are first
wanna say that again?

haha lol


[WIP] Add script to make rosdep rule

This adds a script to make a rosdep rule. I think we could make this into a standalone tool, but it requires the rosdep key suggestion code. In the meantime I'll put it here for feedback.
@cottsay Thoughts on this? Would you be interested in releasing the code used to create suggestions to PyPI so a tool like this could depend on it?
I renamed yaml.py to yaml_tools.py because python complained about a circular import when rosdistro tried to import yaml.
To use:
cd rosdistro/test
python3 -m rosdep_repo_check.make_rule ubuntu jammy cmake

Example output for python3-pytest-benchmark
$ python3 -m rosdep_repo_check.make_rule ubuntu jammy python3-pytest-benchmark
Reading debian package metadata from http://archive.ubuntu.com/ubuntu/dists/jammy/main/binary-amd64/Packages.gz
Reading debian package metadata from http://archive.ubuntu.com/ubuntu/dists/jammy/universe/binary-amd64/Packages.gz
Reading apk package metadata from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz
Reading apk package metadata from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
Reading apk package metadata from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz
No 'python3-pytest-benchmark' package for alpine edge (x86_64). Looking for variants...
Reading debian package metadata from http://deb.debian.org/debian/dists/bullseye/main/binary-amd64/Packages.gz
Suggesting 'python3-pytest-benchmark' package for debian
Reading debian package metadata from http://deb.debian.org/debian/dists/buster/main/binary-amd64/Packages.gz
Reading RPM repository metadata from https://dl.fedoraproject.org/pub/fedora/linux/releases/36/Everything/x86_64/os/repodata/repomd.xml
Reading RPM primary metadata from https://dl.fedoraproject.org/pub/fedora/linux/releases/36/Everything/x86_64/os/repodata/6640d8a2d8cbd680183050ef5c06aaccfe0dc3abd0bff8cba1bdcbe8fe6f64a6-primary.xml.gz
Suggesting 'python3-pytest-benchmark' package for fedora
Reading RPM repository metadata from https://dl.fedoraproject.org/pub/fedora/linux/releases/35/Everything/x86_64/os/repodata/repomd.xml
Reading RPM primary metadata from https://dl.fedoraproject.org/pub/fedora/linux/releases/35/Everything/x86_64/os/repodata/d31d1b5437e070244de5fbc01ad2f21a0a4eaedf0c364748ab9c72a90da82b05-primary.xml.gz
Reading RPM repository metadata from http://download.opensuse.org/distribution/leap/15.2/repo/oss/repodata/repomd.xml
Reading RPM primary metadata from http://download.opensuse.org/distribution/leap/15.2/repo/oss/repodata/ee17b27ef91d0fb16ac7311f04afe362fe2efeb1a90ff4d97811237ff14e7bec-primary.xml.gz
Suggesting 'python3-pytest-benchmark' package for opensuse
Reading RPM repository metadata from https://dl.fedoraproject.org/pub/epel/8/Everything/x86_64/repodata/repomd.xml
Reading RPM primary metadata from https://dl.fedoraproject.org/pub/epel/8/Everything/x86_64/repodata/4f321caf3be5e9965c07d2ac87e7b02990795ed6b39865123898fa77aeb0a0fd-primary.xml.gz
Suggesting 'python3-pytest-benchmark' package for rhel
Reading RPM repository metadata from https://dl.fedoraproject.org/pub/epel/7/x86_64/repodata/repomd.xml
Reading RPM primary metadata from https://dl.fedoraproject.org/pub/epel/7/x86_64/repodata/f1c5aebac7346cb23bd5c3da0cc8ae20d92c32f90789ef06e880516ba299b89d-primary.xml.gz
Reading RPM repository metadata from http://mirror.centos.org/centos-7/7/os/x86_64/repodata/repomd.xml
Reading RPM primary metadata from http://mirror.centos.org/centos-7/7/os/x86_64/repodata/2b479c0f3efa73f75b7fb76c82687744275fff78e4a138b5b3efba95f91e099e-primary.xml.gz
Reading RPM repository metadata from http://mirror.centos.org/centos-7/7/updates/x86_64/repodata/repomd.xml
Reading RPM primary metadata from http://mirror.centos.org/centos-7/7/updates/x86_64/repodata/07ee74b4d5a5820b727ae472e4c30c56f3ba3a4535b428dd7d40ba161c9450ce-primary.xml.gz
Reading RPM repository metadata from http://mirror.centos.org/centos-7/7/extras/x86_64/repodata/repomd.xml
Reading RPM primary metadata from http://mirror.centos.org/centos-7/7/extras/x86_64/repodata/9d971c0ccf7d6654a829f05d4754e776650d35f6ea63ac6c3e5be12387fdbbf1-primary.xml.gz
Reading RPM repository metadata from http://mirror.centos.org/centos-7/7/sclo/x86_64/rh/repodata/repomd.xml
Reading RPM primary metadata from http://mirror.centos.org/centos-7/7/sclo/x86_64/rh/repodata/cab2d8b82a7f35d87b5a57c0789b7a116825ea033e61dd23e8b2ae551bbf3235-primary.xml.gz
Reading RPM repository metadata from https://download1.rpmfusion.org/free/el/updates/7/x86_64/repodata/repomd.xml
Reading RPM primary metadata from https://download1.rpmfusion.org/free/el/updates/7/x86_64/repodata/8a3e3aee6f4ee2e8bd59b51fbc304663c6d199f239522de21f4dd3815f2fd19f-primary.xml.gz
Suggesting 'python3-pytest-benchmark' package for ubuntu
Reading debian package metadata from http://archive.ubuntu.com/ubuntu/dists/bionic/main/binary-amd64/Packages.gz
Reading debian package metadata from http://archive.ubuntu.com/ubuntu/dists/bionic/universe/binary-amd64/Packages.gz
Reading debian package metadata from http://archive.ubuntu.com/ubuntu/dists/focal/main/binary-amd64/Packages.gz
Reading debian package metadata from http://archive.ubuntu.com/ubuntu/dists/focal/universe/binary-amd64/Packages.gz
-------------------------
# URLs  for packages
* debian
  * [bullseye](http://deb.debian.org/debian/pool/main/p/python-pytest-benchmark/python3-pytest-benchmark_3.2.2-2_all.deb)
  * [buster](http://deb.debian.org/debian/pool/main/p/python-pytest-benchmark/python3-pytest-benchmark_3.2.2-1_all.deb)
* fedora
  * [35](https://dl.fedoraproject.org/pub/fedora/linux/releases/35/Everything/x86_64/os/Packages/p/python3-pytest-benchmark-3.4.1-3.fc35.noarch.rpm)
  * [36](https://dl.fedoraproject.org/pub/fedora/linux/releases/36/Everything/x86_64/os/Packages/p/python3-pytest-benchmark-3.4.1-4.fc36.noarch.rpm)
* opensuse
  * [15.2](http://download.opensuse.org/distribution/leap/15.2/repo/oss/noarch/python3-pytest-benchmark-3.2.3-lp152.2.1.noarch.rpm)
* rhel
  * [8](https://dl.fedoraproject.org/pub/epel/8/Everything/x86_64/Packages/p/python3-pytest-benchmark-3.1.1-8.el8.noarch.rpm)
* ubuntu
  * [bionic](http://archive.ubuntu.com/ubuntu/pool/universe/p/python-pytest-benchmark/python3-pytest-benchmark_3.0.0-1_all.deb)
  * [focal](http://archive.ubuntu.com/ubuntu/pool/universe/p/python-pytest-benchmark/python3-pytest-benchmark_3.2.2-2_all.deb)
  * [jammy](http://archive.ubuntu.com/ubuntu/pool/universe/p/python-pytest-benchmark/python3-pytest-benchmark_3.2.2-2_all.deb)
-------------------------
# Non-minimized rule
python3-pytest-benchmark:
  debian:
    bullseye: [python3-pytest-benchmark]
    buster: [python3-pytest-benchmark]
  fedora:
    '35': [python3-pytest-benchmark]
    '36': [python3-pytest-benchmark]
  opensuse:
    '15.2': [python3-pytest-benchmark]
  rhel:
    '8': [python3-pytest-benchmark]
  ubuntu:
    bionic: [python3-pytest-benchmark]
    focal: [python3-pytest-benchmark]
    jammy: [python3-pytest-benchmark]

-------------------------
# Minimized rule
python3-pytest-benchmark:
  debian: [python3-pytest-benchmark]
  fedora: [python3-pytest-benchmark]
  opensuse: [python3-pytest-benchmark]
  rhel: [python3-pytest-benchmark]
  ubuntu: [python3-pytest-benchmark]

A couple of thoughts:

In general, I've always considered a single "rule" to be a package list which corresponds to one or more versions of an OS. So there are typically multiple rules which correspond to a key, and one or more rules which correspond to each OS listed under that key. I'm not sure what to call the group of rules under a key - maybe a "rule set"? In any case, I don't want to bikeshed about the nomenclature here, just thought I'd mention that I was a little confused by the class named Rule, which stores all of the information under a single key.
Can you talk about why the platform list for all ROS distros is involved? Is it to explicitly add null entries for those platforms?

I've always considered a single "rule" to be a package list which corresponds to one or more versions of an OS. So there are typically multiple rules which correspond to a key, and one or more rules which correspond to each OS listed under that key. I'm not sure what to call the group of rules under a key - maybe a "rule set"?

I think when I talk about rosdep keys I sometimes call them rules, and other times keys. I don't have a clear separation between the two in my mind. It sounds like Key might be an okay name for the class, where set_package_for_platform could be add_rule() with that definition.

Can you talk about why the platform list for all ROS distros is involved? Is it to explicitly add null entries for those platforms?

Yeah, it's to add null entries for those platforms. I think it matters most when there's a null for one of the supported platforms, but I suppose an os with no rules doesn't need a null.

Would you be interested in releasing the code used to create suggestions to PyPI so a tool like this could depend on it?

Sure, I think that sounds like a good idea. We're doing a lot of stuff in the test directory of this repo that I think should really be moved into a separate repo, especially if we want to start doing more complicated automation here that isn't supported very well in GitHub Actions. If it's alright with you, I think we should wait until @nuclearsandwich is back from vacation to have that discussion. Putting the script where you have it sounds fine for the time being.

@sloretz friendly ping

@sloretz friendly ping

Closing, as it has been inactive for more than one month.
@sloretz feel free to reopen when it's ready.


feat: Workflow to publish the docker image on a release

@robvanmieghem can you rebase. I think your branch is a bit behind and it is lacking some changes made to the TfChainClient.py. That should fix CI.

@brandonpille The pull request is towards the master branch, not development

Alright, can you cherry pick d396d5654b4119231487aac30b5c3b5eea3c5627 into your branch. That's the commit with the fix for the failing tests.


Issue 246 memory

Cherry picked some commits from #285 that are useful in and of themselves.
Namely:

Pass the open netCDF4.Dataset directly to update_timeinfo to avoid opening the file twice
Index only nfiles at a time (default 1000). This keeps memory use capped and makes indexing more fault tolerant

Memory is currently an issue. See https://github.com/COSIMA/master_index/commit/9c446ec33e0c42001ba588274cce4b356cc6c2ce

Gawd, what a dog's breakfast of a PR, got there in the end.

Bit of a dog's breakfast of a git history, but got there in the end! :)
Note that this still passes the sqalchemy 1.4 tests because it still has Scott's changes.

@aidanheerdegen I probably don't know the cookbook well enough to provide a meaningful review, but I wanted to tell you to not be afraid of interactively rebasing the branch to cleanup the git history. As long as you don't rewrite the history of master, all should be fine ;)

Thanks @micaeljtoliveira. I usually do squash+merge but I can see the merits of cleaning the history with interactive rebasing, just not something I do a lot.
I asked for a review because it seemed polite, and the changes here are somewhat  removed from the sqlalchemy inner workings, so thought another set of eyes is always helpful.
Also I haven't added any tests for the specific changes I've made. ~Probably~ Definitely should.


Add more multipleOf tests

There were already some tests for fractional multipleOf values, but while writing an implementation I discovered that those were
not enough to catch a certain kind of poor implementations.
As JSON encodes arbitrary numbers in decimal form, the correct implementation should either use lossless decimal presentation, or at least operate in "shortest decimal which is presented as A is multiple of shortest decimal which is presented as B"  to be conforming.
With these small numbers, that is definitely possible even for systems where numbers are presented as half-precision floating-point values.

I don't think this is actually the case -- definitely the spec doesn't mandate using decimals.
And "shortest decimal which is presented as A is multiple of shortest decimal which is presented as B" -- an implementation isn't required to assume so either as far as I know. There's not really any way to assume if you give me 0.6 that you meant 0.6 and return true and not in fact 0.09999999999999995 originally and return false once that float has been consumed by the JSON parser.
To be specific, my implementation fails these under the default behavior. My response to users is always "JSON Schema generally sits downstream of your JSON parser. If you want decimals, then parse into decimals and things will work as you expect, otherwise you get float division behavior, which some folks may very well want".
I suspect many if not most implementations are in the same boat.
Adding these to optional seems reasonable for implementations that want to test decimal behavior (certainly seems useful) -- but yeah what makes you say this behavior is required?

JSON spec:

@Julian Why are tests for 0.0075 is multiple of 0.0001 in non-optional then? How is 0.3 is multiple of 0.1 worse than that?

If JSON Schema Validators should not be expected to work reliably with non-integer values, then my take would be that the spec should be amended to allow only integer multipleOf values. Otherwise consumers can't expect a consistent behavior.

There's not really any way to assume if you give me 0.6 that you meant 0.6 and return true and not in fact 0.09999999999999995 originally and return false once that float has been consumed by the JSON parser.

That is not correct, there is a way and I described it, which will pass here even if numbers are parsed as half-precision floats:
convert both values back to decimal, divide them.

Will review your comments, but just since I already see the first one:

Why are tests for 0.0075 is multiple of 0.0001 in non-optional then?

Good question :) -- probably indeed a mistake (according to my interpretation)!

0.09999999999999995

That is a question of which numbers are representable in the system, which is a completely different issue from this test.
I.e.: 0.6 is always representable if fraction numbers are supported, 0.0999999999999999995 might not be.
This test does not include numbers that might be non representable.

I.e.: 0.6 is always representable if fraction numbers are supported, 0.0999999999999999995 might not be.
This test does not include numbers that might be non representable.

My point was a JSON Schema implementation being used alongside a JSON parser that parses into floats will see the float 0.0999999999999999995 -- how does it know whether the original schema contained 0.6 and was parsed into the closest float, or whether the original schema actually contained the exact number 0.0999999999999999995?

As an demonstration: you won't be opposed to tests for { "const": 0.1 } on the basis that { "const": 0.0999999999999999995 } might not work if 0.0999999999999999995 is not representable? But, if so, what's the reason to be opposed to this test?
Those are entirely similar in my point of view, this operation is well-defined for representable numbers, because JSON deals with decimal strings and we expect that the number came in as a decimal.

I'm not sure I'm following you, so we may need to chat quickly on Slack just so I fundamentally understand what you're saying, because yeah I'm having difficulties (which is likely me being misinformed, or not giving enough attention yet).
But I don't understand a sentence like:

Those are entirely similar in my point of view, this operation is well-defined for representable numbers, because JSON deals with decimal strings and we can expect that the number came in as a decimal.

JSON allows implementations to parse both into decimals or into floats, yes?
And JSON Schema implementations in general in practical places deal with language level objects, not the original strings, yes? So an arbitrary JSON Schema implementation does not know that you wrote the string "0.6" in the schema, which isn't representable as a float, if the JSON parser gives it something else, right?

"0.6" in the schema, which isn't representable as a float

That's incorrect. 0.6 is representable as a float. String "0.6" converts to float 0.6 and vice versa.
Let's go to Slack.

If JSON Schema validators should not be expected to work reliably with even trivial non-integer values like 0.1...

Floats are not trivial, no matter how simple the number appears in base 10 :)

FWIW, 3.1 / 1.1 =  2.99999999999999956 on my system (x86_64 darwin)

My current inclination is to move all non-integer multipleOf tests into the optional directory, because real-world implementations may experience limitations in the same vein as the optional/bigNum.json tests.

I made all these tests much more easily -- by checking if rounding the quotient to 16 decimal places was an integer.  i.e. in perl: return 1 if sprintf("%0.16f", $quotient) !~ /\./'

There is a difference between the 0.0075|0.0001  and the 0.3|0.1 test that I consider relevant:
Number.isSafeInteger(0.0075 / 0.0001)  // is `true` <-- !!!
0.0075 % 0.0001 === 0 // is `false`

Number.isSafeInteger(0.3 / 0.1) // is `false`
0.3 % 0.1 === 0 // is `false`

Seeing how much confusion (and actual interoperability problems) is caused by the "multipleOf" keyword (many issues in the specification repository, the test suit repository and implementation repositories) and seeing how easily I could come up with a naive incorrect implementation that would still pass the test, as a schema author I would not want to use the "multipleOf" keyword with anything else then a small-ish integer.
We need as many tests for this keywords as we can get!

0.0075 % 0.0001 === 0 // is false

The modulo operator is not valid for non-integers on the RHS. Attempts to implement the multipleOf keyword using solely the modulo operator are incorrect.

Number.isSafeInteger(a / b) is also an incorrect implementation of "multipleOf". The problem is that it passes the test!


mapbox/node-sqlite3 redirect

package fails to install as mapbox seems to be redirecting to ghost repo now
https://github.com/TryGhost/node-sqlite3#593c9d

Thanks a lot for bringing this up. Fixed in the latest version. Let me know if this continues to be an issue for you


Remove References to Test-MgCommandPrerequisites -APIVersion beta / Get-MsIdInactiveSignInUser Fix Timespan Error when lastNonInteractiveSignInDateTime is NULL

Changes proposed in this pull request

Removed references that call Test-MgCommandPrerequisites with parameter -APIVersion beta
Reference: APIVersion Beta is not supported anymore: https://github.com/microsoftgraph/msgraph-sdk-powershell/issues/2582
Get-MsIdInactiveSignInUser.ps1: Fix Timespan Error when lastNonInteractiveSignInDateTime is NULL

Testing
Manual Testing
Documentation

[X ] All exported commands have Synopsis, Parameter Descriptions, and at least one Example.

@microsoft-github-policy-service agree
From: microsoft-github-policy-service[bot] @.>
Sent: Sunday, 26 May 2024 15:36
To: AzureAD/MSIdentityTools @.>
Cc: Bohren, Andres @.>; Mention @.>
Subject: Re: [AzureAD/MSIdentityTools] Remove References to Test-MgCommandPrerequisites -APIVersion beta / Get-MsIdInactiveSignInUser Fix Timespan Error when lastNonInteractiveSignInDateTime is NULL (PR #50)
@BohrenAnhttps://github.com/BohrenAn please read the following Contributor License Agreement(CLA). If you agree with the CLA, please reply with the following information.
@microsoft-github-policy-service agree [company="{your company}"]
Options:

(default - no company specified) I have sole ownership of intellectual property rights to my Submissions and I am not making Submissions in the course of work for my employer.

@microsoft-github-policy-service agree

(when company given) I am making Submissions in the course of work for my employer (or my employer has intellectual property rights in my Submissions by contract or applicable law). I have permission from my employer to make Submissions and enter into this Agreement on behalf of my employer. By signing below, the defined term "You" includes me and my employer.

@microsoft-github-policy-service agree company="Microsoft"
Contributor License Agreement
Contribution License Agreement
This Contribution License Agreement ("Agreement") is agreed to by the party signing below ("You"),
and conveys certain license rights to Microsoft Corporation and its affiliates ("Microsoft") for Your
contributions to Microsoft open source projects. This Agreement is effective as of the latest signature
date below.

Definitions.
"Code" means the computer software code, whether in human-readable or machine-executable form,
that is delivered by You to Microsoft under this Agreement.
"Project" means any of the projects owned or managed by Microsoft and offered under a license
approved by the Open Source Initiative (www.opensource.orghttp://www.opensource.org/).
"Submit" is the act of uploading, submitting, transmitting, or distributing code or other content to any
Project, including but not limited to communication on electronic mailing lists, source code control
systems, and issue tracking systems that are managed by, or on behalf of, the Project for the purpose of
discussing and improving that Project, but excluding communication that is conspicuously marked or
otherwise designated in writing by You as "Not a Submission."
"Submission" means the Code and any other copyrightable material Submitted by You, including any
associated comments and documentation.
Your Submission. You must agree to the terms of this Agreement before making a Submission to any
Project. This Agreement covers any and all Submissions that You, now or in the future (except as
described in Section 4 below), Submit to any Project.
Originality of Work. You represent that each of Your Submissions is entirely Your original work.
Should You wish to Submit materials that are not Your original work, You may Submit them separately
to the Project if You (a) retain all copyright and license information that was in the materials as You
received them, (b) in the description accompanying Your Submission, include the phrase "Submission
containing materials of a third party:" followed by the names of the third party and any licenses or other
restrictions of which You are aware, and (c) follow any other instructions in the Project's written
guidelines concerning Submissions.
Your Employer. References to "employer" in this Agreement include Your employer or anyone else
for whom You are acting in making Your Submission, e.g. as a contractor, vendor, or agent. If Your
Submission is made in the course of Your work for an employer or Your employer has intellectual
property rights in Your Submission by contract or applicable law, You must secure permission from Your
employer to make the Submission before signing this Agreement. In that case, the term "You" in this
Agreement will refer to You and the employer collectively. If You change employers in the future and
desire to Submit additional Submissions for the new employer, then You agree to sign a new Agreement
and secure permission from the new employer before Submitting those Submissions.
Licenses.

Copyright License. You grant Microsoft, and those who receive the Submission directly or
indirectly from Microsoft, a perpetual, worldwide, non-exclusive, royalty-free, irrevocable license in the
Submission to reproduce, prepare derivative works of, publicly display, publicly perform, and distribute
the Submission and such derivative works, and to sublicense any or all of the foregoing rights to third
parties.
Patent License. You grant Microsoft, and those who receive the Submission directly or
indirectly from Microsoft, a perpetual, worldwide, non-exclusive, royalty-free, irrevocable license under
Your patent claims that are necessarily infringed by the Submission or the combination of the
Submission with the Project to which it was Submitted to make, have made, use, offer to sell, sell and
import or otherwise dispose of the Submission alone or with the Project.
Other Rights Reserved. Each party reserves all rights not expressly granted in this Agreement.
No additional licenses or rights whatsoever (including, without limitation, any implied licenses) are
granted by implication, exhaustion, estoppel or otherwise.

Representations and Warranties. You represent that You are legally entitled to grant the above
licenses. You represent that each of Your Submissions is entirely Your original work (except as You may
have disclosed under Section 3). You represent that You have secured permission from Your employer to
make the Submission in cases where Your Submission is made in the course of Your work for Your
employer or Your employer has intellectual property rights in Your Submission by contract or applicable
law. If You are signing this Agreement on behalf of Your employer, You represent and warrant that You
have the necessary authority to bind the listed employer to the obligations contained in this Agreement.
You are not expected to provide support for Your Submission, unless You choose to do so. UNLESS
REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING, AND EXCEPT FOR THE WARRANTIES
EXPRESSLY STATED IN SECTIONS 3, 4, AND 6, THE SUBMISSION PROVIDED UNDER THIS AGREEMENT IS
PROVIDED WITHOUT WARRANTY OF ANY KIND, INCLUDING, BUT NOT LIMITED TO, ANY WARRANTY OF
NONINFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
Notice to Microsoft. You agree to notify Microsoft in writing of any facts or circumstances of which
You later become aware that would make Your representations in this Agreement inaccurate in any
respect.
Information about Submissions. You agree that contributions to Projects and information about
contributions may be maintained indefinitely and disclosed publicly, including Your name and other
information that You submit with Your Submission.
Governing Law/Jurisdiction. This Agreement is governed by the laws of the State of Washington, and
the parties consent to exclusive jurisdiction and venue in the federal courts sitting in King County,
Washington, unless no federal subject matter jurisdiction exists, in which case the parties consent to
exclusive jurisdiction and venue in the Superior Court of King County, Washington. The parties waive all
defenses of lack of personal jurisdiction and forum non-conveniens.
Entire Agreement/Assignment. This Agreement is the entire agreement between the parties, and
supersedes any and all prior agreements, understandings or communications, written or oral, between
the parties relating to the subject matter hereof. This Agreement may be assigned by Microsoft.

Reply to this email directly, view it on GitHubhttps://github.com/AzureAD/MSIdentityTools/pull/50#issuecomment-2132226668, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AKX6RRVSQ7J6LTDWHLA2FQ3ZEHQKFAVCNFSM6AAAAABIJZ7CRCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMZSGIZDMNRWHA.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>

@merill Can you please have a look at this

Thanks a lot for this PR @BohrenAn! Much appreciated.


Add login.protocol support

Adding login.protocol flag support instead of uaa.no_ssl flag

@fhanik @ajackson was there ever a resolution about what to use for this property? We have a story to respect the protocol when we connect to UAA. Per #35, it seems like the only way to accomplish this now would be to use login.protocol or uaa.no_ssl (which you advise against), but that neither are satisfactory.
Does that mean we need to agree upon a new property to govern all three use cases?

Sorry for my absence, no we never came to an agreement
We're looking for a property that would denote what protocol the loggregator is using to access the UAA.
uaa.no_ssl

I advised against the use of this property because of how it is used in the UAA. It has two meanings in the UAA. And it really only matters in one use case when we return JSON code for different locations.
In the UAA the issuer URI gets set to either the property uaa.url or it uses the uaa.no_ssl to generate the URL. In cf-properties it explicitly sets the URL
However, it appears as this flag has become widely used: for example we see this code
<% scheme = p("uaa.no_ssl") ? "http" : "https"
   domain = p("domain") %>

<% if p("login.enabled") %>
login:
  url: <%= p("login.url", "#{scheme}://login.#{domain}") %>
<% end %>
uaa:
  url: <%= p("uaa.url", "#{scheme}://uaa.#{domain}") %>

But even here, it get's overwritten.
Therefor, I still advise against this flag, cause I'm not sure you would get what you want unless you implemented it like the code above
The
login.protocol

flag is going away as far as the UAA is concerned. We will not be maintaining it in our spec files anymore, and will remove it from all templates when we merge the UAA and Login Server
So I would either recommend using the uaa.no_ssl flag as the other components do, or create a separate flag of how you wish to access certain components.

Closing since functionality was achieved in 29c1ffc.


Integrate RTE staking functionality

Conversion contracts should charge a smaller fee if Ethereum address requesting to convert or receiving converted tokens if user holds X amount of RTE ERC20 tokens.

Implementing for IOST ConversionReceiver contract.


setCurrentItem func bug - java

Hi,
the carousel view works very well, unfortunately I tried using the setCurrentItem() I found a really weird bug about it even though I can't tell something specific.
So what I have created is just the carousel view and each time the user clicks a button it keeps going to the next item.
THE BUG:
When i'm on the first item and setting current item to the next one (index:1) it doesn't respond.
only when I "treat" the index as normal page number it scrolls to the next item.
but, the problem doesn't solve here, when im clicking to move on to the third item it sometimes responds and sometimes not. If I'm lucky and it went to the third item when im clicking the button again it jumps to the sevenths item.
By the way, I have checked my counter multiple times and it's not the problem.
BASIC CODE:
button_next.setOnClickListener(new View.OnClickListener() {             @Override             public void onClick(View v) {                 Log.e("clicked","next");                 if(carouselView!=null) {                     index++;                     carouselView.setCurrentItem(index);                 }             }         });
Thanks.

@galgistmd I think, that on some screen sizes do not respond well, but not very sure. I will investigate more and experiment on different screen sizes if that is the case


Justifying container orchestration

The original intro to this section read:
When you use .NET Framework console app projects, the option to add Docker support without orchestration isn't supported. You can still use the following procedure, even if you're using only a single Docker project.
There text to guide the reader as to what is orchestration and how it relates to debugging a .NET Framework console app in a local Docker container. The reader is not told that if they add orchestration, it also enables Docker support for the project which allows the project to be debugged in a local Docker container (the title of this help topic).
The other thing that should be reinforced is that this approach applies to .NET Framework console app projects. VS2022 supports adding Docker support to .NET Core console app project for example. Adding docker support by adding support for orchestration applies to a very small number scenarios.

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

@ghogen
Can you review the proposed changes? IMPORTANT: When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"

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

@softwarepronto
Thanks, I just added some slight clarifications and grammatical fixes.
#sign-off

@softwarepronto Thanks, I just added some slight clarifications and grammatical fixes. #sign-off

@ghogen thanks... I make a lot of simple changes (backwards compatible to backward compatible). This was my "daring change" but I'm glad someone felt the same way.

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


feat(PageHead): add noBorder prop

[FX-NNNN]
Description
closes #2955
Users needs to be more flexible and hide bottom border of PageHead when directly followed by bordered section. Details and design approval is in the issue (#2955)
How to test

Check storybook
Check new screenshot in Happo 🙇

Screenshots

Development checks

[x] Add changeset according to guidelines (if needed)
[x] Read CONTRIBUTING.md and Component API principles
[x] Make sure that additions and changes on design follow Toptal's BASE design, and it's been already discussed with designers at #-base-core
[x] Annotate all props in component with documentation
[x] Create examples for component
[x] Ensure that deployed demo has expected results and good examples
[x] Ensure the changed/created components have not caused accessibility issues. How to use accessibility plugin in storybook.
[x] Self reviewed
[x] Covered with tests

All development checks should be done and set checked to pass the
GitHub Bot: TODOLess action

PR commands

List of available commands:

@toptal-bot run package:alpha-release - Release alpha version
@toptal-anvil ping reviewers - Ping FX team for review

PR Review Guidelines

When to approve? ✅
You are OK with merging this PR and

You have no extra requests.
You have optional requests.

Add nit: to your comment. (ex. nit: I'd rename this variable from makeCircle to getCircle)

When to request changes? ❌
You are not OK with merging this PR because

Something is broken after the changes.
Acceptance criteria is not reached.
Code is dirty.

When to comment (neither ✅ nor ❌)
You want your comments to be addressed before merging this PR in cases like:

There are leftovers like unnecessary logs, comments, etc.
You have an opinionated comment regarding the code that requires a discussion.
You have questions.

How to handle the comments?

An owner of a comment is the only one who can resolve it.
An owner of a comment must resolve it when it's addressed.
A PR owner must reply with ✅ when a comment is addressed.

@toptal-anvil ping reviewers


use StringSifter to order strings

StringSifter is a machine learning utility to recognize which strings are probably interesting to malware analysts. Per string, it provides a score for "interesting-ness". We can pass each recovered string through StringSifter and collect the scores. Then, we can output strings such that the most relevant show up at the top.
There might be other ways of grouping strings, such as "by decoding routine", "location in file", etc. I think StringSifter will be a good default, though.

ugh

StringSifter explains how to use both tools in tandem to achieve this.


Update README to include details about Slack and the WG meeting

closes #110
depends on https://github.com/tektoncd/community/pull/453 to merge first

/lgtm

/approve


feat: add cri-dockerd flavor to disallow-cri-sock-mount policy

Related Issue(s)
N/A
Description
During implementation in our environment, we noted that cri-dockerd was missing from the disallow-cri-sock-mount policy. So adding that simple use case in to the existing policy and updating associated test files.
Checklist

[X] I have read the policy contribution guidelines.
[X] I have added test manifests and resources covering both positive and negative tests that prove this policy works as intended.
[X] I have added the artifacthub-pkg.yml file and have verified it is complete and correct.

Hi and thanks for this! Glad to accept it, only please also update the Artifact Hub metadata file as indicated here.

Also, please sign off on your git commits. This is a requirement of all CNCF projects.

Hopefully that'll do it, sorry for the ignorance on Artifact Hub manipulation.


Add a C FFI

Refs #258.

nice, just run cbindgen to get c header.

Just added cbindgen support, if you run cargo build --release, the header file will be at mistralrs-ffi/mistralrs.h:
#include <stdarg.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>

typedef struct MistralRsHandle {
    uint32_t _0;
} MistralRsHandle;

typedef struct ResponseMessage {
    const int8_t *content;
    const int8_t *role;
} ResponseMessage;

typedef struct Choice {
    const int8_t *finish_reason;
    uint32_t index;
    struct ResponseMessage message;
} Choice;

typedef struct Usage {
    uint32_t completion_tokens;
    uint32_t prompt_tokens;
    uint32_t total_tokens;
    float avg_tok_per_sec;
    float avg_prompt_tok_per_sec;
    float avg_compl_tok_per_sec;
    float total_time_sec;
    float total_prompt_time_sec;
    float total_completion_time_sec;
} Usage;

typedef struct ChatCompletionResponse {
    const int8_t *id;
    const struct Choice *choices;
    uint32_t n_choices;
    uint64_t created;
    const int8_t *model;
    const int8_t *system_fingerprint;
    const int8_t *object;
    struct Usage usage;
} ChatCompletionResponse;

/**
 * An object representing an input message.
 * The following arguments are optional and may be null:
 * - name
 */
typedef struct Message {
    const int8_t *content;
    const int8_t *role;
    const int8_t *name;
} Message;

/**
 * An object representing a chat completion request
 * The following arguments are optional and may be null:
 * - max_tokens
 * - temperature
 * - top_p
 * - top_k
 * - freq_penalty
 * - presence_penalty
 */
typedef struct ChatCompletionRequest {
    const struct Message *messages;
    uint32_t n_messages;
    const uint32_t *max_tokens;
    uint32_t n;
    const float *temperature;
    const float *top_p;
    const uint32_t *top_k;
    const float *freq_penalty;
    const float *presence_penalty;
} ChatCompletionRequest;

/**
 * Construct a MistralRS instance. See the other API docs.
 * The following arguments are optional and may be null:
 * - chat_template
 * - num_device_layers
 * - token_source
 * - tokenizer_json
 * - repeat_last_n
 *
 * # Safety
 * C is unsafe.
 */
struct MistralRsHandle create_mistralrs_plain_model(const int8_t *log_file,
                                                    bool truncate_sequence,
                                                    bool no_kv_cache,
                                                    bool no_prefix_cache,
                                                    uintptr_t prefix_cache_n,
                                                    bool disable_eos_stop,
                                                    bool gemm_full_precision_f16,
                                                    uint32_t max_seqs,
                                                    const int8_t *chat_template,
                                                    const uint32_t *num_device_layers,
                                                    const int8_t *token_source,
                                                    const int8_t *model_id,
                                                    const int8_t *tokenizer_json,
                                                    uint32_t repeat_last_n,
                                                    const int8_t *arch,
                                                    const int8_t *isq,
                                                    bool use_flash_attn);

/**
 * Make a chat completion request.
 *
 * The user *must* call `drop_chat_completion_response` or memory will leak.
 * Do not deallocate returned pointers with C `free`, that is unsound.
 * # Safety
 * C is unsafe.
 */
struct ChatCompletionResponse send_chat_completion(struct ChatCompletionRequest chat_completion,
                                                   struct MistralRsHandle handle);

/**
 * Free the chat completion response object properly.
 *
 * This function *must* be called on all chat completion response objects before they go out of scope.
 * Otherwise, memory will leak. Do not deallocate pointers with C `free`, that is unsound.
 * # Safety
 * C is unsafe.
 */
void drop_chat_completion_response(struct ChatCompletionResponse object);


searching i-d-annouce archive returns 500

https://mailarchive.ietf.org/arch/browse/i-d-announce/?q=DNS
returns a 500

This appears to have been transient, but thanks for the report - we're looking into it.


Docker SDK update

This should theoretically close: #64
I updated the Docker SDK used in lazydocker from v1.13.1 (which was released in Feb 8, 2017) to v0.7.3-0.20190307005417-54dddadc7d5d. Also specified the minimum Docker API version supported to 1.20.
Why not a normal tag, but a commit?
Well, cause when one would have a look at https://github.com/moby/moby then one would see that the latest tag was pushed on Jun 28, 2017.
So, this PR is simply bumping Docker dependency to 54dddadc7d5d commit.
Why this commit specifically?
I just use it in my project and it works well, so thought it might be okay to use it here as well.

Codecov Report

Merging #102 into master will not change coverage.
The diff coverage is 0%.

@@           Coverage Diff           @@
##           master     #102   +/-   ##
=======================================
  Coverage   23.68%   23.68%
=======================================
  Files          13       13
  Lines        1081     1081
=======================================
  Hits          256      256
  Misses        813      813
  Partials       12       12

Impacted Files
Coverage Δ

pkg/commands/image.go
0% <ø> (ø)
:arrow_up:

pkg/commands/container.go
0% <0%> (ø)
:arrow_up:

pkg/commands/service.go
0% <0%> (ø)
:arrow_up:

pkg/commands/docker.go
0% <0%> (ø)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 71acacb...bb319dd. Read the comment docs.

LGTM. I'm guessing all those extra lines are just a reflection of how that package has grown over time? Also have you done a quick test of lazydocker's basic functionality to check that nothing was broken by this change?

That's right, they must have changed something.
Yes, I did some testing, seems to be ok.

sounds good :)

So, I roughly tested it with Docker in Docker image, cause I couldn't find a better way to install older version of Docker and it seems to work, but I think we can wait for @warmchang to test it on his machine.

FYI: https://github.com/jesseduffield/lazydocker/issues/64#issuecomment-509049007

Looks like we can merge this then, you just need to resolve conflicts @dawidd6

Yep. Will do later today.


cached cast fix

Cherry-picked the fix from upstream: https://github.com/NVIDIA/apex/pull/1282/commits/01802f623c9b54199566871b49f94b2d07c3f047
Un-skipped the related unit tests which were raised in https://github.com/ROCmSoftwarePlatform/apex/issues/62

We can close the issue once this PR has been merged.

jenkins: retest this please

I'm good with this. There is also a hot fix that's less change if that is desired?
https://github.com/NVIDIA/apex/issues/694#issuecomment-918833904

jenkins: retest this please


fix: assets loading blocking UI

closes https://github.com/decentraland/sdk/issues/863

Builder tab is loaded once now, though subcategories are still being loaded every time one enters. Nevertheless, it is out of scope for this PR, so no problem. On the code side: there's console.log left in the code.


Unable to create a Wyre account using Home > Buy option.

[Only on Android device.Tested on SAMSUNG Galaxy A50].
-Unable to open Accout details page by clicking on Buy>Buy using ApplePay or Debit Card.
[Able to create Wyre account by using Add New option.]

Sometimes it opens on clicking multiple times(8/10 times), or I have to long press it.
-Tested on Dev app v1.4.2(210)

Sometimes it opens on clicking multiple times(8/10 times), or I have to long press it.
-Tested on Dev app v1.4.2(210)

Closing this as the issue is related to the buy menu item not being clicked. Tracking this issue here https://github.com/bithyve/hexa/issues/2599

Closing this as the issue is related to the buy menu item not being clicked. Tracking this issue here https://github.com/bithyve/hexa/issues/2599

Closing this as the issue is related to the buy menu item not being clicked. Tracking this issue here https://github.com/bithyve/hexa/issues/2599

Closing this as the issue is related to the buy menu item not being clicked. Tracking this issue here https://github.com/bithyve/hexa/issues/2599

Closing this as the issue is related to the buy menu item not being clicked. Tracking this issue here https://github.com/bithyve/hexa/issues/2599

Closing this as the issue is related to the buy menu item not being clicked. Tracking this issue here https://github.com/bithyve/hexa/issues/2599


kexec is redefined as an alias

I know it is rarely used, but kexec will be redefined as an alias when people use this plugin.

Hey Peter, what do you mean by that?

https://en.wikipedia.org/wiki/Kexec
kexec is the command that does this, which will be in your path - if you have it installed -, but it will be overwritten with an alias if you use this plugin.

Interesting. Do you think it's worth changing the function name to kcexec instead?

Changed to kcexec


Fix SyntaxWarning for unescaped backslashes due to Python upgrade

The warning appeared after upgrading to a newer version of python.
Fix it by changing  \ to \\ in the affected string.

Thanks for the PR, why did you removed the space after the bash group?

Oh. Just have it fixed.
Apologize for the oversight. It is ok if you reject this one. My bad.

I don't like to mix changes, nothing personal.
Thanks for the PR!


[Feature]: hover/mouse over effects

Is your feature request related to a problem?

No mouseover/hover effects cause double clicks for impatient marital units.
Describe the solution you'd like

I would like feedback when the user clicks the button, some sort of color change of the icon, to indicate a press.
The reason I'm keen on this is, on my PC/Tablet, there is a slight delay between the button state updating, causing multiple "double" clicks :).
The original entity card avoids this by clearly indicating to the user through the mouseover/onclick that the button has been pressed.
Describe alternatives you've considered
No response
Additional context
No response

+1

Did you find a universal solution to this?

No mouseover/hover effects cause double clicks for impatient marital units.

I am also having this problem. Tapping a Mushroom card shows no interaction feedback, so if there's even the slightest lag in Home Assistant reflecting the updated state...the WAF goes down the drain.
Kind of hard to believe at least a visual feedback on tap hasn't been added yet, I've found threads going back years with people asking for it. Could this be done somewhere with some kind of global CSS rule?


Fix for issue #895 reduce ping request

As stated in the issue #895 this pull request reduces the number of ping calls to 1 min when the robot is not connected and to 5 sec when the robot is connected. It is basically checking whether the isRobotConnected() function is returning true or false wich depends on the socket connection. Although because of not having a robot I could not test its working when it is connected. But it is working perfectly by pinging after every 1 min as you can see from the image below (2 pings in 2 mins).

Codecov Report

Merging #902 into develop will decrease coverage by 0.02%.
The diff coverage is n/a.

@@              Coverage Diff              @@
##             develop     #902      +/-   ##
=============================================
- Coverage      36.62%   36.59%   -0.03%
- Complexity      4260     4261       +1
=============================================
  Files            710      710
  Lines          37627    37674      +47
  Branches        4076     4089      +13
=============================================
+ Hits           13780    13788       +8
- Misses         22600    22635      +35
- Partials        1247     1251       +4

Impacted Files
Coverage Δ
Complexity Δ

...fhg/iais/roberta/syntax/lang/stmt/DebugAction.java
76.47% <0.00%> (-4.78%)
6.00% <0.00%> (ø%)

...e/fhg/iais/roberta/persistence/util/DbSession.java
63.15% <0.00%> (-0.81%)
16.00% <0.00%> (ø%)

...itor/collect/MbedUsedHardwareCollectorVisitor.java
73.77% <0.00%> (-0.59%)
40.00% <0.00%> (ø%)

...is/roberta/visitor/codegen/CalliopeCppVisitor.java
61.09% <0.00%> (-0.33%)
128.00% <0.00%> (ø%)

...fhg/iais/roberta/persistence/ProgramProcessor.java
31.85% <0.00%> (-0.24%)
28.00% <0.00%> (ø%)

...itor/validate/AbstractProgramValidatorVisitor.java
3.53% <0.00%> (-0.07%)
4.00% <0.00%> (ø%)

...berta/generated/restEntities/SetRobotResponse.java
0.00% <0.00%> (ø)
0.00% <0.00%> (ø%)

...ta/javaServer/provider/RuntimeExceptionMapper.java
0.00% <0.00%> (ø)
0.00% <0.00%> (ø%)

...erver/restServices/all/controller/ClientAdmin.java
0.00% <0.00%> (ø)
0.00% <0.00%> (ø%)

...roberta/worker/MbedTwo2ThreeTransformerHelper.java
99.77% <0.00%> (+<0.01%)
17.00% <0.00%> (+1.00%)

... and 1 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 0daf033...1087254. Read the comment docs.

Codecov Report

Merging #902 (a7d0706) into develop (5b00c9c) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             develop     #902   +/-   ##
==========================================
  Coverage      36.37%   36.37%
  Complexity      4393     4393
==========================================
  Files            722      722
  Lines          38902    38902
  Branches        4262     4262
==========================================
  Hits           14150    14150
  Misses         23395    23395
  Partials        1357     1357

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 5b00c9c...a7d0706. Read the comment docs.


Chore adjust some check and error msg on runtime filter

Proposed changes
adjust some check and error msg on runtime filter
Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall

run buildall

run buildall