FP32 RoPE kernel

This PR is essential for Code-Llama to generate correct code. Without FP32 RoPE, Code-Llama can't generate the correct indentation, leading to very low HumanEval scores.

Code-Llama 13B
HumanEval pass@1 greedy

vLLM
4.9

vLLM + FP32 RoPE
36.0

Example (vLLM):
from typing import List

def has_close_elements(numbers: List[float], threshold: float) -> bool:
    """ Check if in given list of numbers, are any two numbers closer to each other than
    given threshold.
    >>> has_close_elements([1.0, 2.0, 3.0], 0.5)
    False
    >>> has_close_elements([1.0, 2.8, 3.0, 4.0, 5.0, 2.0], 0.3)
    True
    """
   for i in range(len(numbers) - 1):   # wrong indentation in this line
        if abs(numbers[i] - numbers[i + 1]) <= threshold:
            return True
    return False

Example (vLLM + FP32 RoPE):
from typing import List

def has_close_elements(numbers: List[float], threshold: float) -> bool:
    """ Check if in given list of numbers, are any two numbers closer to each other than
    given threshold.
    >>> has_close_elements([1.0, 2.0, 3.0], 0.5)
    False
    >>> has_close_elements([1.0, 2.8, 3.0, 4.0, 5.0, 2.0], 0.3)
    True
    """
    for i in range(len(numbers) - 1):
        if abs(numbers[i] - numbers[i + 1]) <= threshold:
            return True
    return False

Hi @imoneoi, thanks for bringing this up. We discussed this issue in https://github.com/vllm-project/vllm/pull/998#issuecomment-1713353025, where we observed only using FP32 for initializing RoPE is enough to preserve the accuracy. It seems your evaluation result is not consistent with that. Could you provide a script for evaluation?

Hi @WoosukKwon my results were tested with Code-Llama weights and bfloat16 precision.
vLLM server:
python -m vllm.entrypoints.openai.api_server --model imone/CodeLlama_13B_with_EOT_token --host <IP_ADDRESS> --port 5000 --max-num-batched-tokens 16384 --worker-use-ray --engine-use-ray

EvalPlus
python -m codegen.generate --model codegen-16b --bs 1 --temperature 0 --greedy --n_samples 1 --root ./data/codellama_13b_fp32_rope
docker run -v $(pwd):/app ganler/evalplus:latest --dataset humaneval --samples ./data/codellama_13b_fp32_rope/humaneval/codegen-16b_temp_0.0/

@imoneoi Got it. Could you

Resolve the formatting error? You can use ./format.sh to make your code align with our format requirement.
Fix tests/kernels/test_pos_encoding.py to align with the change?

@imoneoi Got it. Could you

Resolve the formatting error? You can use ./format.sh to make your code align with our format requirement.
Fix tests/kernels/test_pos_encoding.py to align with the change?

@WoosukKwon Do you know the difference in rounding methods between PyTorch .to and CUDA type conversion? It seems that rounding differences caused some of the discrepancies in tests.

We also tested CodeLlama-Instruct 13B. FP32 RoPE has about 1% improvement on HumanEval+.
Before PR:
Base
{'pass@1': 0.42073170731707316}
Base + Extra
{'pass@1': 0.36585365853658536}

After PR:
Base
{'pass@1': 0.42073170731707316}
Base + Extra
{'pass@1': 0.3719512195121951}

@imoneoi

@WoosukKwon Do you know the difference in rounding methods between PyTorch .to and CUDA type conversion? It seems that rounding differences caused some of the discrepancies in tests.

While I believe this should not be the case, I also experience the weird precision error when applying this PR...

This PR is stuck because we found a weird error in the test. More specifically, in the branch rope-fp32, I've updated tes_pos_encoding according to the precision change, but it didn't pass the test; The difference from the reference implementation was quite large. I have no idea where the difference came from.

@imoneoi @WoosukKwon I test on same model: codellama-13b-instruct.
Before(latest main branch) and after PR, results are same.
Base
{'pass@1': 0.5121951219512195}
Base + Extra
{'pass@1': 0.4451219512195122}

I have spent some time trying out different rounding modes in the kernel and none of them makes all the tests pass. My assumption would be something in the reference implementation is most likely causing it.
Here are the max and min differences between kernel and reference for the first test case (tests/kernels/test_pos_encoding.py::test_rotary_embedding[0-dtype0-None-64-7-2048-True]) from the rope-fp32 branch with different rounding modes:
round to nearest-even (default):
q: tensor(7.6294e-06, device='cuda:0', dtype=torch.float16) tensor(-6.1035e-05, device='cuda:0', dtype=torch.float16)
k: tensor(0.0010, device='cuda:0', dtype=torch.float16) tensor(-0.0005, device='cuda:0', dtype=torch.float16)

round to zero:
q: tensor(0.0039, device='cuda:0', dtype=torch.float16) tensor(-0.0020, device='cuda:0', dtype=torch.float16)
k: tensor(0.0020, device='cuda:0', dtype=torch.float16) tensor(-0.0020, device='cuda:0', dtype=torch.float16)

round down:
q: tensor(0., device='cuda:0', dtype=torch.float16) tensor(-0.0039, device='cuda:0', dtype=torch.float16)
k: tensor(0., device='cuda:0', dtype=torch.float16) tensor(-0.0020, device='cuda:0', dtype=torch.float16)

round up:
q: tensor(0.0039, device='cuda:0', dtype=torch.float16) tensor(0., device='cuda:0', dtype=torch.float16)
k: tensor(0.0020, device='cuda:0', dtype=torch.float16) tensor(0., device='cuda:0', dtype=torch.float16)

@Yard1 Yeah, this one is really really weird. I've checked out both reference implementation and our kernel multiple times to find any potential source of the precision error, but totally failed.

@imoneoi @WoosukKwon I test on same model: codellama-13b-instruct.
Before(latest main branch) and after PR, results are same.
Base {'pass@1': 0.5121951219512195} Base + Extra {'pass@1': 0.4451219512195122}

What are your EvalPlus settings? The results seem much higher

@Yard1 I also cannot figure out the precision of the issue. Is it because of the non-associativity of floating-point computations?

@imoneoi I changed the system prompt. And some post processing.


fix(deps): pin zisi to 4.4.2

Replaces https://github.com/netlify/cli/pull/2758

Going to merge this since currently the CLI has 2 zisi versions:
├─┬<EMAIL_ADDRESS>│ ├─┬<EMAIL_ADDRESS>│ │ └──<EMAIL_ADDRESS>│ └──<EMAIL_ADDRESS>└──<EMAIL_ADDRESS>


Decoration types break when removing the first (original) folder from a multi-folder workspace

VSCode Version: Version 1.17.0-insider (1.17.0-insider) ac167c41bababe6c47180012723fa2bc52610ff4
OS Version: macOS 10.12

Steps to Reproduce:

Create a simple extension with the code below:

exports.activate = context => {

  const vscode = require('vscode');
  const red = window.createTextEditorDecorationType({
    isWholeLine: true,
    backgroundColor: 'red'
  });
  const green = window.createTextEditorDecorationType({
    isWholeLine: true,
    backgroundColor: 'green'
  });

  window.activeTextEditor.setDecorations(red, [new vscode.Range(0, 1, 0, 100)]);
  window.activeTextEditor.setDecorations(green, [new vscode.Range(1, 1, 1, 100)]);

  context.subscriptions.push({dispose: () => {
    window.activeTextEditor.setDecorations(red, []);
    window.activeTextEditor.setDecorations(green, []);
    red.dispose();
    green.dispose();
  }});
};

Open a folder, then add another folder to the workspace. Then remove the first (original) folder from the workspace. Decoration types will be broken. See the GIF below:

The issue is only reproduced when removing the first folder in the workspace (in this case teh extension is deactivate/activated back).

This seems to be a consequence of the extension host restart. Moving to @alexandrudima

Indeed, it appears the decorations are not correctly removed when the extension host is restarted.


Unused flag

There is no need for the ID_and_data_is_updated flag as it is always set to true and is not reset anywhere.

There is no need for the ID_and_data_is_updated flag as it is always set to true and is not reset anywhere.

Hi!
The reason why I have this flag is because I have used this flag in e.g C++ software when I want to read like "when did I got the latest update".
This a simple way to know if the data has been arrived or not.


add check for unsupported lambda runtimes

check lambda function runtimes for deprecated configurations based on the list published at https://docs.aws.amazon.com/lambda/latest/dg/runtime-support-policy.html
Include in the "extras" check group.

added region to output text.  I guess I use the region column in the CSV output too much ;-)

haha I knew you did it that way bc you use mostly CSV :)
Thanks for making that change!


update lot color inspection

Coverage remained the same at 65.282% when pulling 89080d44f3621b28c9ab3cf8e0a87518de40ffe8 on leslieaula:dev into d035fc771716f6d5f616ce73fc7fe27edd8a9270 on danliris:dev.


 Support ?

Do not see how the grouping configuration?

I've used optgroup, but notice it doesn't work. The model gets a value that's off-by-one on the 2nd selection.

You can actually build the options like this:
ng-options="sa.id as sa.name group by sa.group for sa in availableServicesApps"

but this doesn't solve the problem. There is still some kind of offset issue.
This should be marked as a bug
Here is how to reproduce it
// controller
$scope.list = [
  { name: 'value 1', id: 1, group: 'group 1' },
  { name: 'value 2', id: 2, group: 'group 2' }
];

// some html
<select chosen="chosen" ng-options="o.id as o.name group by o.group for o in list"></select>

Select value 1 then select value 2. You will get an error on console. The first selected options cannot be changed.
Also adding some information on the README.md migth help newcomers

I found that Angular1.4 seemed to solve this problem, but introduced other issues with our application due to the way option values are set. So, not clear this is totally a chosen-related.

Using chosen works well, it looks like the combination bring up this error :confused:

Even in angular 1.3, I see an off-by-1 error on the 2nd selection without optgroups, so maybe I'll open a separate bug.

Our workaround was adding a empty option field.

Duplicated of #47


Add UK and NZ

Howdy, any chance of getting the United Kingdom and New Zealand added?

Sure! They shouldn't take too long, stay tuned.

Possibly also Germany and France? Or Netherlands? Thanks!

Hi, any update on adding more countries?

@Orcamm I haven't had the time to get to it, I'll schedule some time in January

@Orcamm Added United Kingdom, New Zealand and France!
Germany can be done with 1 tab with 500km radius from Kassel, and Netherlands can be done with 1 tab with 500km radius from Amsterdam, but I'm considering adding them.


turn over a variable form global to private

maybe it's only me, but what do you mean by "turn over a variable from global to private" and where do we see it in the code?
who is this variable?
i feel like i need more explanations about this PR to review it

in the last version of the code there was a global variable that store the number of the conditions in the new policy that we create.
now I put it in the policy class, and make it private, and added two functions to control this variable, get function ans set function  :)

awesome! now i get it :)
also my recommend is to copy-past your answer to the description of the PR.
(I would do it myself but only you can)


U2F Server Api Implementation

[x] Revert Stepup dependency feature branches to dev-develop
[x] fixup commits

please don't call branches "u2f-monster".

is this WiP or ready for review?

@DRvanR This is now ready for review

@DRvanR Please review.

That all? @DRvanR

:+1:


Add timezone conversion

CEST was the first instance I saw of a short name that didn't
work, leading to mass problems.  +02:00 seems the best compromise
for now.

For me this renders as:
The workshop consists of four sessions every Tuesday between August
13th and September 3rd 2024, 10:00 GMT+3/Eastern European Summer
Time:

Looking ...


Download for windows runtime is down

indeed, all of the runtimes are gone. Google decided to delete them even they were supposed to remain there indefinitely...
Sorry about that, I will try to restore that during the weekend.

So I was trying to create a new one but got discouraged in a meanwhile.  There is no good way how to make the portable versions of java and mongodb. With the introduction of docker for windows I think I will rather start publishing kanbanik as a docker container instead of the runtime.
In meanwhile, you will need to install the dependencies by hand - explained here: https://github.com/kanbanik/kanbanik/wiki/Installation-Guide
I will keep this issue opened for a while - in case you would have any issues installing anything, let me know here so I can assist.

Made some changes so kanbanik is now working well inside of a docker container. Available here:
https://hub.docker.com/r/jelkosz/kanbanik/
Also enriched the documentation on how to run it together with mongodb as docker container:
https://github.com/kanbanik/kanbanik/wiki/Installation-Guide#install-from-docker
It is only for linux so far mostly because I have not tested it at all on windows. Will try to add also the description for windows soon.


bool_comparison rule may report false positives

Consider the following fake module:
{
  config,
  lib,
  ...
}: let
  cfg = config.foo;
in {
  options.foo.start = lib.mkOption {
    type = with lib.types; either bool (enum ["graphical" "non-graphical"]);
    default = false;
    example = "graphical";
    description = ''
      Whether to launch the foo service with the systemd user session.
    '';
  };
  config = {
    systemd.user.services.foo = {
      Unit.After = lib.optional (cfg.start == "graphical") "graphical-session.target";
    } // lib.optionalAttrs (cfg.start != false) {
      Install.WantedBy = [(
        if (cfg.start == true || cfg.start == "non-graphical")
        then "default.target"
        else "graphical-session.target"
      )];
    };
  };
}

Note the type of foo.start can be either boolean or a string -- not my decision, this was simplified from a home-manager module [source], where changing the option types could potentially be a breaking change for users.
And here is the result of running statix check:
[W01] Warning: Unnecessary comparison with boolean
    ╭─[modules/homeModules/services/test-thing.nix:21:29]
    │
 21 │       // lib.optionalAttrs (cfg.start != false) {
    ·                             ─────────┬────────
    ·                                      ╰────────── Comparing cfg.start with boolean literal false
────╯
[W01] Warning: Unnecessary comparison with boolean
    ╭─[modules/homeModules/services/test-thing.nix:24:17]
    │
 24 │             if (cfg.start == true || cfg.start == "non-graphical")
    ·                 ────────┬────────
    ·                         ╰────────── Comparing cfg.start with boolean literal true

statix fix would change both of those conditions to omit the boolean comparison. But I'm pretty sure that "fixing" either of these would result in an error, at least without further implementing some type checking. Since the value might be a string, using cfg.start alone in the second case (L24) would result in a "error: value is a string while a Boolean was expected".
I also cited this example in #61, which would be a nice solution for the situation if I didn't want to disable the bool_comparison rule entirely.

I've also just ran into this.
In my example I have an attrset of (package-derivation, null, bool).
While mapping the attr values, I wanted to check (val != false), but I've had to do (isBool val -> val) instead to avoid the lint.
nnix-repl> vals = { null = null; true = true; false = false; str = "str"; num = 42; }

nix-repl> builtins.mapAttrs (n: v: builtins.isBool v -> v) vals
{ false = false; null = true; num = true; str = true; true = true; }


Psalm fatal error

Since: v.2.4.3
At @Sylius, we are using psalm pretty extensively. Recently, we have experienced some strange errors connected to your library. Psalm is reporting that you have some Unterminated bracket (ref. https://travis-ci.org/github/Sylius/SyliusResourceBundle/jobs/681382237).
I don't have time to dig into it right now, so I cannot determine where the problem lays. However, I'm sure that limiting your library below 2.4.3 solves the issue for us. We do not have a direct dependency on you, so I've decided to temporary conflict with the newest releases, which fixed our builds: https://github.com/Sylius/SyliusResourceBundle/pull/163 and https://github.com/Sylius/SyliusResourceBundle/pull/161
If you would be interested, here are some logs:
Registering autoloaded files
Parsing /Users/chrustu/Sites/Sylius/SyliusResourceBundle/vendor/amphp/amp/lib/functions.php
Deep scanning /Users/chrustu/Sites/Sylius/SyliusResourceBundle/vendor/amphp/amp/lib/functions.php
Uncaught Psalm\Exception\TypeParseTreeException: Unterminated bracket in /Users/chrustu/Sites/Sylius/SyliusResourceBundle/vendor/vimeo/psalm/src/Psalm/Internal/Type/ParseTree.php:604
Stack trace:
#0 /Users/chrustu/Sites/Sylius/SyliusResourceBundle/vendor/vimeo/psalm/src/Psalm/Type.php(175): Psalm\Internal\Type\ParseTree::createFromTokens(Array)
#1 /Users/chrustu/Sites/Sylius/SyliusResourceBundle/vendor/vimeo/psalm/src/Psalm/Internal/Visitor/ReflectorVisitor.php(2680): Psalm\Type::parseTokens(Array)
#2 /Users/chrustu/Sites/Sylius/SyliusResourceBundle/vendor/vimeo/psalm/src/Psalm/Internal/Visitor/ReflectorVisitor.php(2213): Psalm\Internal\Visitor\ReflectorVisitor->getAssertionParts('array<array-key...', Object(PhpParser\Node\Stmt\Function_))
#3 /Users/chrustu/Sites/Sylius/SyliusResourceBundle/vendor/vimeo/psalm/src/Psalm/Internal/Visitor/ReflectorVisitor.php(323): Psalm\Internal\Visitor\ReflectorVisitor->registerFunctionLike(Object(PhpParser\Node\Stmt\Function_))
#4 /Users/chrustu/Sites/Sylius/SyliusResourceBundle/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(200): Psalm\Internal\Visitor\ReflectorVisitor->enterNode(Object(PhpParser\Node\Stmt\Function_))
#5 /Users/chrustu/Sites/Sylius/SyliusResourceBundle/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(114): PhpParser\NodeTraverser->traverseArray(Array)
#6 /Users/chrustu/Sites/Sylius/SyliusResourceBundle/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(223): PhpParser\NodeTraverser->traverseNode(Object(PhpParser\Node\Stmt\Namespace_))
#7 /Users/chrustu/Sites/Sylius/SyliusResourceBundle/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(91): PhpParser\NodeTraverser->traverseArray(Array)
#8 /Users/chrustu/Sites/Sylius/SyliusResourceBundle/vendor/vimeo/psalm/src/Psalm/Internal/Scanner/FileScanner.php(96): PhpParser\NodeTraverser->traverse(Array)
#9 /Users/chrustu/Sites/Sylius/SyliusResourceBundle/vendor/vimeo/psalm/src/Psalm/Internal/Codebase/Scanner.php(606): Psalm\Internal\Scanner\FileScanner->scan(Object(Psalm\Codebase), Object(Psalm\Storage\FileStorage), false, Object(Psalm\Progress\DebugProgress))
#10 /Users/chrustu/Sites/Sylius/SyliusResourceBundle/vendor/vimeo/psalm/src/Psalm/Internal/Codebase/Scanner.php(389): Psalm\Internal\Codebase\Scanner->scanFile('/Users/chrustu/...', Array, true)
#11 /Users/chrustu/Sites/Sylius/SyliusResourceBundle/vendor/vimeo/psalm/src/Psalm/Internal/Codebase/Scanner.php(497): Psalm\Internal\Codebase\Scanner->Psalm\Internal\Codebase\{closure}(0, '/Users/chrustu/...')
#12 /Users/chrustu/Sites/Sylius/SyliusResourceBundle/vendor/vimeo/psalm/src/Psalm/Internal/Codebase/Scanner.php(347): Psalm\Internal\Codebase\Scanner->scanFilePaths(1)
#13 /Users/chrustu/Sites/Sylius/SyliusResourceBundle/vendor/vimeo/psalm/src/Psalm/Config.php(1707): Psalm\Internal\Codebase\Scanner->scanFiles(Object(Psalm\Internal\Codebase\ClassLikes))
#14 /Users/chrustu/Sites/Sylius/SyliusResourceBundle/vendor/vimeo/psalm/src/psalm.php(506): Psalm\Config->visitComposerAutoloadFiles(Object(Psalm\Internal\Analyzer\ProjectAnalyzer), Object(Psalm\Progress\DebugProgress))
#15 /Users/chrustu/Sites/Sylius/SyliusResourceBundle/vendor/vimeo/psalm/psalm(2): require_once('/Users/chrustu/...')
#16 {main}
(Psalm 3.8.1@8e54e3aa060fc490d86d0e2abbf62750516d40fd crashed due to an uncaught Throwable)

I just wanted to keep you informed. Maybe some have a similar issue.
Have a good day :)

amphp/amp currently requires psalm 3.11; you could try upgrading your psalm version - psalm 3.8 still has a few issues with templating and generics.

@kelunik Perhaps it would make sense to explicitly add a conflicts "vimeo/psalm" rule to composer.json for <=3.11 so that this won't happen.


Autocompletion triggers on all semi-colons in the php scope

The AngularJS package is presenting some rather out-of-context completions for me. This screenshot was taken in a php file (scope: source.php) and the autocompletions suggestions appeared right efter I typed the semi-colon.
This behavior gets kind of in the way of writing multiple lines of php code since instead of getting a new line I get a snippet of an angular attribute.

I just came across the same issue. You should be able to solve it by customising the settings under Preferences -> Package Settings -> AngularJS -> Settings – User as follows:
{
    "attribute_avoided_scopes": [
        "source.php"
    ]
}

You can find all customisable properties in Preferences -> Package Settings -> AngularJS -> Settings – Default.

Thank you @edbentinck, that's a nice workaround. I'll definitely check out the other settings as well. Customization is the best 😎


AADSTS700084: The refresh token was issued to a single page app (SPA) - invalid_grant error in Safari

Core Library
MSAL.js (@azure/msal-browser)
Core Library Version
3.0.2
Wrapper Library
MSAL Angular (@azure/msal-angular)
Wrapper Library Version
3.0.2
Public or Confidential Client?
Public
Description
After logging in to the application, if 24 hours or more have passed without any transactions, at the first action MSAL make  a token request and its return 400 Bad Request with invalid_grant error. If that action was made via Chrome MSAL making new token request and application continue the work if that action was made via Safari MSAL did not make any another token request and application is stay with invalid state.
Request URL:  URL: https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/token
Response: 👇
{
    "error": "invalid_grant",
    "error_description": "AADSTS700084: The refresh token was issued to a single page app (SPA), and therefore has a fixed, limited lifetime of 1.00:00:00, which cannot be extended. It is now expired and a new sign in request must be sent by the SPA to the sign in page. The token was issued on 2023-12-11T12:31:44.1947275Z. Trace ID: 3464627b-53b7-4eeb-8111-3a1b1c759a00 Correlation ID: c28f6a3f-b0f7-493b-a965-2b08925e09b3 Timestamp: 2023-12-12 13:10:49Z",
    "error_codes": [
        700084
    ],
    "timestamp": "2023-12-12 13:10:49Z",
    "trace_id": "3464627b-53b7-4eeb-8111-3a1b1c759a00",
    "correlation_id": "c28f6a3f-b0f7-493b-a965-2b08925e09b3",
    "error_uri": "https://login.microsoftonline.com/error?code=700084",
    "suberror": "bad_token"
}

I'm using MsalInterceptor and MsalGuard from @azure/msal-angular library.
MSAL Configuration
platformBrowserDynamic([
    {
        provide: MSAL_INSTANCE,
        useValue: new PublicClientApplication({
            auth: {
                clientId: identity.clientId,
                authority: identity.instanceUri + identity.tenantId,
                redirectUri: redirectUrl,
                postLogoutRedirectUri: redirectUrl,
            },
            cache: {
                cacheLocation: BrowserCacheLocation.LocalStorage,
                storeAuthStateInCookie: isIE, // set to true for IE 11
            },
        }),
    },
    {
        provide: MSAL_GUARD_CONFIG,
        useValue: { interactionType: InteractionType.Redirect },
    },
    {
        provide: MSAL_INTERCEPTOR_CONFIG,
        useValue: {
            interactionType: InteractionType.Redirect,
            protectedResourceMap,
        },
    },
])

Relevant Code Snippets
[AppModule] 👇
@NgModule({
    declarations: [
        AppComponent,
        ForbiddenComponent,
        UnauthorizedComponent,
        ContainerComponent,
        LoginComponent,
    ],
    imports: [
        BrowserModule,
        AppRoutingModule,
        BrowserAnimationsModule,
        HttpClientModule,
        MsalModule,
        ...
    ],
    providers: [
        {
            provide: HTTP_INTERCEPTORS,
            useClass: MsalInterceptor,
            multi: true,
        },
        MsalGuard,
        MsalService,
        MsalBroadcastService,
    ],
    schemas: [CUSTOM_ELEMENTS_SCHEMA],
    bootstrap: [AppComponent, MsalRedirectComponent],
})
export class AppModule {}

[AppRoutingModule] 👇
export const appRoutes: Routes = [
    { component: ForbiddenComponent, path: "forbidden" },
    { component: UnauthorizedComponent, path: "unauthorized" },
    { component: LoginComponent, path: "login" },
    {
        canActivate: [CanActivateGuard, MsalGuard],
        path: "foo",
        loadChildren: () =>
            import("./components/foo/foo.module").then(
                (m) => m.FooModule,
            ),
    },
    {
        canActivate: [CanActivateGuard, MsalGuard],
        path: "bar",
        loadChildren: () =>
            import("./components/bar/bar.module").then(
                (m) => m.BarModule,
            ),
    },
    {
        canActivate: [CanActivateGuard],
        component: ContainerComponent,
        path: "",
    },
    { path: "**", pathMatch: "full", redirectTo: "" },
];

const isIframe = window !== window.parent && !window.opener;

@NgModule({
    imports: [
        RouterModule.forRoot(appRoutes, {
            initialNavigation: !isIframe ? "enabledBlocking" : "disabled",
        }),
    ],
    exports: [RouterModule],
})
export class AppRoutingModule {}

Identity Provider
Azure AD / MSA
Source
External (Customer)

Refresh tokens have a 24 hour lifetime. Once expired MSAL will attempt to silently acquire a a new auth code and then redeem for a fresh set of access, id and refresh tokens. This fallback fails in Safari as it depends on 3P cookies which are blocked by default. 3P cookies are not blocked by default in Chrome, yet, which is why it may succeed there.
Given that silent calls are not ever guaranteed you should always have a backup plan, e.g. invoke acquireTokenRedirect or acquireTokenPopup in the event the silent call fails.

@sametcelikbicak  How did you resolve this issue ? could you please let me know I am also facing the same issue..

@brahmaiahthota I wrote a custom interceptor base on msal interceptor(https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-angular/src/msal.interceptor.ts). just change exception handling part for below call with calling this.acquireTokenInteractively(authRequest, scopes); method.
 return this.authService
      .acquireTokenSilent({ ...authRequest, scopes, account })


About h36m.zip

Sorry to bother you!!
I want to download the h36m.zip from the DropBox link which you offer,but the link was not alive.
Can you offer me the new link to get h36m.zip? Please, I really this to study my research.
Thank you!!

@er778899789 sorry but i can’t help you with that one. The link is not more valid since commit ea8bb79836e5c4f9afe33f4b9dfd4cab072f11c3


Some CSP directives that appear to be supported are not documented

E.g.: Current README.md: https://github.com/twitter/secureheaders/blob/140d29eaffb30a970162c50473d59ddff37a874d/README.md#content-security-policy-csp
This file does not mention the child-src CSP directive. I believe it is in fact supported, though, because of this bit of code: https://github.com/twitter/secureheaders/blob/a2664d32f458e2d1119c0bfd04300376993a66ee/lib/secure_headers/headers/content_security_policy.rb#L26
I believe that in fact none of the directives listed in NON_DEFAULT_SOURCES are documented.

I think that child_src should actually be part of DIRECTIVES, since according to https://developer.mozilla.org/en-US/docs/Web/Security/CSP/CSP_policy_directives#default-src it falls back to the default_src directive. But the truth is I've just started reading about this stuff recently and I'm not really sure. I also think that child-src is a CSP Level 2 directive (and I believe that the most recent browsers supporting CSP at all support level 2, but again, not sure) and that might explain why it wasn't there to begin with.
Furthermore I believe that the default CSP should change it's frame-src directive to child-src since I believe that frame-src is now deprecated in favor of child-src.
See also: http://www.w3.org/TR/CSP2/#directive-child-src

I believe there's a bit more than I thought to this issue. If I specify a child_src directive and don't specify frame_src, then frame_src will use the default_src directive (because of the fill in missing directives thing, I think). Specifying an empty frame_src string does not seem to work either; I think that disallows every frame entirely. I was hoping frame_src: nil would work but it seems to be the same as if I had not specified the frame_src at all (uses default_src instead).

@nchelluri nice analysis. Interesting in making a pull request for at least the undocumented behavior?
I agree that child_src chould move from NON_DEFAULT_SOURCES to DIRECTIVES.
I'm wondering if the "fill all empty directives" functionality is really useful anymore. The spec says browsers should send an effective-directive value, but it wasn't implemented at the time that functionality was added. Removing this would help clear up any confusion.

WRT to the filling of empty directives, I just checked chrome/firefox (nightly) to see if the effective-directive is sent but only Chrome sends it.
Sigh.
That being said, I'm still willing to kill the feature. People who want the granularity provided by Chrome/the spec can manually set the values. Since this is slightly orthogonal to your issue, I'm glad to tackle this on my own. It will make tackling this issue much clearer.

OK I've done the initial legwork removing the confusing filling of empty directives. The concept of NON_DEFAULT_SOURCES can go away now.


Gap at left side of screen

There is a gap at the left side of the screen on ipad.
On the an post article page.
The issue is not present on other article pages.
Link to page where issue is present:
https://flidude.github.io/Green-Policy-Decoder/an-post.html

Problem Solved
The problem was the image size was set too big.
max-width:%20600px;

-Closing issue-


Add AppConstants

Add the AppConstants.dart file and move all the strings used in the Dart files to that file. Define the strings in AppConstants.dart as follows:
class AppConstants {
  static const String nose = "Nose";
  static const String noseDescription = "This is nose description";
}

Then, access them from other files like this:
Text(AppConstants.noseDescription)

It is important for clean, organized, and easily maintainable codebase,

Hi @sapatevaibhav, I am a contributor under GSSoC'24. Can you assign this issue to me??

@sapatevaibhav I would like to work on this issue under GSSOC'24. Please assign it to me.

@sapatevaibhav I would like to contribute on this issue.... Can you please assign it to me? i have some experience on this... you can look on to this repo ..

Hey @sapatevaibhav can you please assign this to me ? its my first time in gssoc and I am intermediate in fluter

I can address the UI issue in Alphabet section #28. Please assign it to me. I am participating in GSSoC'24.

Hey @sapatevaibhav  can you assign this issue to me ? I have 1 year experience  in flutter

@sapatevaibhav hii I want to be contributer to this particular task plz assign this to me

Should I move the common or constant functions to the AppConstants file too??

Should I move the common or constant functions to the AppConstants file too?? @sapatevaibhav

Just make a separate file for functions..


Github actions results doesn't match manual equivalent.

I have spent a few days troubleshooting this issue, and it seems to be an issue with the GitHub runner.
The action involves

Pull code
Build docker images (frontend and backend)
Run docker images (frontend and backend)
Run RPA script to virtually interact with the full-stack application.

The following is a simplification of the code. Many packages are pre-installed in the AMI image (docker, database client e.t.c.)
name: RPA deep test
on:
  push:
    branches:
      - dev
jobs:
  start-runner:
    name: Instanciate temporary EC2 instance
    runs-on: ubuntu-latest
    outputs:
      label: ${{ steps.start-ec2-runner.outputs.label }}
      ec2-instance-id: ${{ steps.start-ec2-runner.outputs.ec2-instance-id }}
    steps:
      - name: Configure AWS credentials
        uses: aws-actions/configure-aws-credentials@v1
        with:
          aws-access-key-id: ${{ secrets.RPA_ACCESS_KEY_ID }}
          aws-secret-access-key: ${{ secrets.RPA_SECRET_ACCESS_KEY }}
          aws-region: ${{ secrets.RPA_REGION }}
      - name: Start EC2 runner
        id: start-ec2-runner
        uses: machulav/ec2-github-runner@v2
        with:
          mode: start
          github-token: ${{ secrets.RPA_PERSONAL_ACCESS_TOKEN }}
          ec2-image-id: ${{ secrets.AMI_IMAGE }}
          ec2-instance-type: ${{ secrets.INSTANCE_TYPE }}
          subnet-id: ${{ secrets.SUBNET }}
          security-group-id: ${{ secrets.SECURITY_GROUP }}
  do-the-job:
    name: Perform tests
    needs: start-runner # required to start the main job when the runner is ready
    runs-on: ${{ needs.start-runner.outputs.label }} # run the job on the newly created runner
    steps:
      - name: Enable docker permissions
        id: docker-permission
        run: sudo chmod 666 /var/run/docker.sock

      - name: Clone repo
        id: git-clone-repo
        run: git clone https://${{secrets.GH_USER}}:${{ secrets.GH_PERSONAL_ACCESS_TOKEN<EMAIL_ADDRESS>--branch=${GITHUB_REF##*/}

      - name: Build frontend image
        id: build-frontend-image
        run: cd foo && docker build -t frontend-test:latest frontend/.

      - name: Build backend image
        id: build-backend-image
        run: cd sq-web-app && docker build -t backend-test:latest backend/.

      - name: Run frontend image
        id: run-frontend-image
        run: docker run --name frontend -p 3000:80 --env BACKEND=http://localhost:8080/api -d frontend-test:latest

      - name: Run backend image
        id: run-backend-image
        run: docker run --name backend -d -p 8080:8080  backend-test:latest

      - name: Run tests
        id: robot-test
        run: |
          cd sq-web-app
          sudo apt install -y python3-pip
          pip3 install robotframework
          pip3 install robotframework-browser
          python3 -m Browser.entry init
          python3 -m robot test/0*.robot

  stop-runner:
    name: Terminate EC2 Instance
    needs:
      - start-runner # required to get output from the start-runner job
      - do-the-job # required to wait when the main job is done
    runs-on: ubuntu-latest
    if: ${{ always() }} # required to stop the runner even if the error happened in the previous jobs
    steps:
      - name: Configure AWS credentials
        uses: aws-actions/configure-aws-credentials@v1
        with:
          aws-access-key-id: ${{ secrets.RPA_ACCESS_KEY_ID }}
          aws-secret-access-key: ${{ secrets.RPA_SECRET_ACCESS_KEY }}
          aws-region: ${{ secrets.RPA_REGION }}
      - name: Stop EC2 runner
        uses: machulav/ec2-github-runner@v2
        with:
          mode: stop
          github-token: ${{ secrets.RPA_PERSONAL_ACCESS_TOKEN }}
          label: ${{ needs.start-runner.outputs.label }}
          ec2-instance-id: ${{ needs.start-runner.outputs.ec2-instance-id }}

When this is executed in GitHub actions, the robot script cannot find the backend server.
When I manually execute these commands with identical settings, everything works flawlessly.
Why does the GitHub runner not execute commands the same way as if I were to SSH into an instance and execute the commands manually? (as you would expect)

Note that the steps in do-the-job are being run as root. Few other things to check:

Is this correct run: cd foo && docker build -t frontend-test:latest frontend/.? (the foo bit)
Is there a reason you are not using the checkout action in the Clone repo step?
Does the backend take some time to initialize?

It is all correct. The checkout was there to make the GitHub actions identical to manual steps.
I ended up finding the source of the issue, the backend server was forcing a redirect which failed the tests.
It is still strange that the GitHub actions and the manual steps behaved differently. I don't know if if has anything to do with ec2-github-runner. In my environment, that was the only thing that caused the bug to show up.


Link statically with libgcc and libstdc++ #46

Will this cause issues if we load any shared libraries?  If we load a .so and it uses the c++ lib .so, are file handles etc going to work between them?

it ONLY links libgcc and libstdc++ statically, any other library is dynamic
On Thu, Feb 2, 2017 at 11:20 PM, clemahieu<EMAIL_ADDRESS>wrote:

Will this cause issues if we load any shared libraries? If we load a .so
and it uses the c++ lib .so, are file handles etc going to work between
them?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/clemahieu/raiblocks/pull/47#issuecomment-277103168,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAM5dOP04cDnCeqzFolPN2-t0ohVab4mks5rYlacgaJpZM4LwdQ7
.

Ok sounds good, I guess those all build on libc.


problem on /usr/local/opnsense/scripts/openvpn/ovpn_event.py

good morning,
I experience a problem with openvpn OTP:
the problem is when this file is executed:
/usr/local/opnsense/scripts/openvpn/ovpn_event.py
specifically this routine:
elif params.script_type == 'learn-address':
if os.fork() == 0:
sys.exit(subprocess.run(
['/usr/local/opnsense/scripts/filter/update_tables.py', '--types', 'authgroup']
).returncode)
That procedure is called from this file
/usr/local/opnsense/scripts/filter/update_tables.py
when executed the cpu is saturated, with the python process running at 100% and packet loss is experienced making the vpn unusable.
For now I solved it by changing the name "learn-address" to something that doesn't exist.
I would like to know how I can solve the problem
Thank you

usually /usr/local/opnsense/scripts/filter/update_tables.py --types authgroup shouldn't take very long and 'learn-address' should only be invoked when addresses are being added to the internal routing table (https://openvpn.net/community-resources/reference-manual-for-openvpn-2-6/).
The function itself is responsible for populating these aliases https://docs.opnsense.org/manual/aliases.html#openvpn-group
You can always run the script in a console and see if it does take long on your end for some unforseen reason.

The problem is that when this script runs, the CPU goes to 100% on all cores, making the VPN unusable due to packet loss. I use openvpn with 300 users. is it possible to somehow delete the __openvpn_network alias considering that pf is turned off?

it's not that alias, but if the functionality isn't used, we might consider being able to toggle this. it is a bit odd though, pythin itself can only use a single core (which can't cause any disruption on a multicore machine)

with old versions of opnsense this didn't happen, I experimented with 200 users 4% packet loss. It's not an internet connection problem. I was thinking of increasing the number of udp datagrams in sysctl? it's a good idea?

well, openvpn is single core as well, so with a lot of users, it sometimes makes sense to use different servers to split the load. If you run time /usr/local/opnsense/scripts/filter/update_tables.py --types authgroup , what does it return?

root@sii-opnsense04:~ # time /usr/local/opnsense/scripts/filter/update_tables.py --types authgroup
{"status": "ok"}
0.692u 0.063s 0:01.41 53.1%     437+172k 0+1io 0pf+0w
as a workaround I changed the code, putting "elif params.script_type == 'XX-learn-address':
if os.fork() == 0:
sys.exit(subprocess.run(
['/usr/local/opnsense/scripts/filter/update_tables.py', '--types', 'authgroup']
).returncode)
in this way the problem does not occur. naturally the check you asked me to do was done with the original file

the problem seems to be " elif params.script_type == 'learn-address':"

Hi AdSchellevis, do you have anything else to suggest? Do you have any best practices to suggest for minimizing packet loss? I'll summarize by saying that I've been using the openvpn OTP implementation with active directory for about 2 years with two redundant servers and that the old versions of opnsense didn't have these problems. I currently use: 1 dec480, 2 virtual machines to distribute the load, with a percentage of 130 users on the dec and 40 on the VMs, with a total of 3 WAN. with the modification of "elif params.script_type == 'learn-address':" of the file "/usr/local/opnsense/scripts/openvpn/ovpn_event.py" the situation improves drastically even if it still presents packet loss problems which with I didn't have the old versions. I got a DEC480 hoping it would improve performance.
openvpn --version
OpenVPN 2.6.6 amd64-portbld-freebsd13.2 [SSL (OpenSSL)] [LZO] [LZ4] [PKCS11] [MH/RECVDA] [AEAD]
library versions: OpenSSL 1.1.1w 11 Sep 2023, LZO 2.10

not really, no, because I don't know the cause of your issues. my assumption is that your problem is similar when the event isn't there, which might mean you're at the maximum a single openvpn server can handle (for being single threaded) or there's some other configuration issue. Unfortunately this lies a bit out of community support scope.


build failed (Could not resolve project :firebase_core_web.) after upgrading 1.2.13+hotfix 5

FAILURE: Build failed with an exception.

* What went wrong:
Could not determine the dependencies of task ':firebase_core:compileDebugJavaWithJavac'.
> Could not resolve all task dependencies for configuration ':firebase_core:debugCompileClasspath'.
   > Could not resolve project :firebase_core_web.
     Required by:
         project :firebase_core
      > Unable to find a matching configuration of project :firebase_core_web:
          - None of the consumable configurations have attributes.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

why firebase_core_web is required anyway it is mobile app project.
* Get more help at https://help.gradle.org

BUILD FAILED in 1s
Gradle task assembleDebug failed with exit code 1
Exited (sigterm)

we are using lates available firebase_core plugin firebase_core: ^0.4.3+1
[flutter] flutter doctor -v
[✓] Flutter (Channel stable, v1.12.13+hotfix.5, on Mac OS X 10.14.6 18G103, locale en-TR)
    • Flutter version 1.12.13+hotfix.5 at /Users/fersmart/SDK_all/flutter
    • Framework revision 27321ebbad (7 days ago), 2019-12-10 18:15:01 -0800
    • Engine revision 2994f7e1e6
    • Dart version 2.7.0

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at /Users/fersmart/Library/Android/sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-29, build-tools 29.0.2
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.3, Build version 11C29
    • CocoaPods version 1.7.5

[✓] Android Studio (version 3.5)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 42.1.1
    • Dart plugin version 191.8593
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)

[✓] VS Code (version 1.41.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.7.1

[✓] Connected device (3 available)
    • SM G965F        • 24194f98b60c7ece          • android-arm64 • Android 9 (API 28)
    • SM J415FN       • 4c22d384                  • android-arm   • Android 9 (API 28)
    • iPhone Fersmart • 00008020-000E49DA0CD8003A • ios           • iOS 13.2.2

• No issues found!
exit code 0

until this issue is resolved you can add this into your pubspec.yaml dependencies to fix build errors:
firebase_core_web: ^0.1.1+1


Add a Sentry subplugin for alerting and notification

Feature description
API reference: https://docs.sentry.io/api/alerts/
How to create API token: https://docs.sentry.io/api/guides/create-auth-token/
Docs about Sentry Alerts: https://docs.sentry.io/product/alerts/

Done in https://github.com/kestra-io/plugin-notifications/pull/100


Cant stream original xbox games

When i load a og xbox and 360 game i get the error code 0x87e10004

This message is coming from the Xbox itself. Microsoft may have limited streaming of some xbox og / xbox 360 games.


Exit code != 0 if any check fails

Hi, I would like to periodically run this application on my CI, but currently, no matter the result, it always returns a 0 exit code. This means I would need to manually check every time for problems. Maybe it can be made configurable (a --fail flag) so it returns an exit code != 0 when any of the checks are not fully passed. This way the CI will fail, alerting that something is not compliant in the cluster.

@jadolg , you are right, we are looking into how to do it. Your --fail proposal sounds interesting, however we are considering something like setting a threshold of failure to make it more flexible.
Example:
kubescape scan framework nsa --fail-threshold=80
This will mean that bellow 80% success, we will give exit code -1.
What do you think?

I'd love to have that

Just tried this, and I do not see it working as expected, unless I'm missing something
Version info
$ kubescape version
Your current version is: v1.0.132

Test scenario
$ kubectl create deployment tester --image nginx:latest -o yaml --dry-run=client > deployment.yaml

Test run - just including the bottom of the output
$ kubescape scan framework nsa --fail-threshold=80 ./deployment.yaml
....
NSA FRAMEWORK
+-----------------------------------------------------------------------+------------------+--------------------+---------------+-----------+
|                             CONTROL NAME                              | FAILED RESOURCES | EXCLUDED RESOURCES | ALL RESOURCES | % SUCCESS |
+-----------------------------------------------------------------------+------------------+--------------------+---------------+-----------+
| Allow privilege escalation                                            |        1         |         0          |       1       |    0%     |
| Allowed hostPath                                                      |        0         |         0          |       1       |   100%    |
| Applications credentials in configuration files                       |        0         |         0          |       1       |   100%    |
| Automatic mapping of service account                                  |        0         |         0          |       0       |    NaN    |
| CVE-2021-25741 - Using symlink for arbitrary host file system access. |        0         |         0          |       1       |   100%    |
| CVE-2021-25742-nginx-ingress-snippet-annotation-vulnerability         |        0         |         0          |       1       |   100%    |
| Cluster-admin binding                                                 |        0         |         0          |       0       |    NaN    |
| Container hostPort                                                    |        0         |         0          |       1       |   100%    |
| Control plane hardening                                               |        0         |         0          |       0       |    NaN    |
| Dangerous capabilities                                                |        0         |         0          |       1       |   100%    |
| Exec into container                                                   |        0         |         0          |       0       |    NaN    |
| Exposed dashboard                                                     |        0         |         0          |       1       |   100%    |
| Host PID/IPC privileges                                               |        0         |         0          |       1       |   100%    |
| Immutable container filesystem                                        |        1         |         0          |       1       |    0%     |
| Ingress and Egress blocked                                            |        1         |         0          |       1       |    0%     |
| Insecure capabilities                                                 |        0         |         0          |       1       |   100%    |
| Linux hardening                                                       |        1         |         0          |       1       |    0%     |
| Network policies                                                      |        0         |         0          |       0       |    NaN    |
| Non-root containers                                                   |        0         |         0          |       1       |   100%    |
| Privileged container                                                  |        0         |         0          |       1       |   100%    |
| Resource policies                                                     |        0         |         0          |       1       |   100%    |
| hostNetwork access                                                    |        0         |         0          |       1       |   100%    |
+-----------------------------------------------------------------------+------------------+--------------------+---------------+-----------+
|                           RESOURCE SUMMARY                            |        1         |         0          |       1       |    0%     |
+-----------------------------------------------------------------------+------------------+--------------------+---------------+-----------+

You can see the results in a user-friendly UI, choose your preferred compliance framework, check risk results history and trends, manage exceptions, get remediation recommendations and much more by registering here: https://portal.armo.cloud

Error: Scan score is below threshold
Usage:
  kubescape scan framework <framework names list> [`<glob pattern>`/`-`] [flags]
Examples:
$ kubescape scan framework nsa [flags]
$ kubescape scan framework mitre,nsa [flags]
$ kubescape scan framework 'nsa, mitre' [flags]
Supported frameworks: [nsa mitre armobest]

Flags:
  -h, --help   help for framework

Global Flags:
      --account string              Armo portal account ID. Default will load account ID from configMap or config file
      --controls-config string      Path to an controls-config obj. If not set will download controls-config from ARMO management portal
      --exceptions string           Path to an exceptions obj. If not set will download exceptions from ARMO management portal
  -e, --exclude-namespaces string   Namespaces to exclude from scanning. Recommended: kube-system,kube-public
  -t, --fail-threshold uint16       Failure threshold is the percent below which the command fails and returns exit code 1
  -f, --format string               Output format. Supported formats: "pretty-printer"/"json"/"junit"/"prometheus" (default "pretty-printer")
      --include-namespaces string   scan specific namespaces. e.g: --include-namespaces ns-a,ns-b
      --keep-local                  If you do not want your Kubescape results reported to Armo backend. Use this flag if you ran with the '--submit' flag in the past and you do not want to submit your current scan results
  -o, --output string               Output file. Print output to file and not stdout
  -s, --silent                      Silent progress messages
      --submit                      Send the scan results to Armo management portal where you can see the results in a user-friendly UI, choose your preferred compliance framework, check risk results history and trends, manage exceptions, get remediation recommendations and much more. By default the results are not submitted
      --use-default                 Load local policy object from default path. If not used will download latest
      --use-from strings            Load local policy object from specified path. If not used will download latest

Lets check the exit code
$ echo $?
0

So seeing a few things here, I did not expect

Indicates, I failed the threshold as expected, but also outputs the usage text
Exit code is still 0


is it possible to train multiple pairs of reference images target image at once?

Let's say i have 20 reference images, target image pairs, can i pass all of them as reference images? so that i only need to train the LoRA one time, and it is able to generate consistent images for all the target image. Sorry for asking unreasonable question.

I guess you mean 20 images for at least two different scenes, right ? If so, I dont think RealFill can perform well. However, you should try and see what interesting results come out

You can try like one LoRA but multiples special tokens for all 20 images. Currently, like DreamBooth, RealFIll only use one special token "sks". However, you could try multiple special tokens for multiple scenes

That's an interesting idea! I'll give it a try. Grateful for the quick and high-quality response!

Please keep me updated because I'm also very curious about this too 😄


/etc/bash_completion.d/python-argcomplete.py should be removed on uninstall

Probably not possible in general but maybe print a message asking the user to do that manually.

At least provide a deactivate-global-python-argcomplete script to take care of remaining cleanup tasks.  I  was surprised to find that after uninstalling, argcomplete was still lingering around and that I had to manually remove it.

A deactivate script would have a hard time knowing where you told it to install. Perhaps the activate script should print a message about what it did and what your responsibility is if you wish to undo it.


IDA stub is not in a working state?

After installing the IDA plugin, I'm getting the following error:
[!] libbs is not installed, please `pip install libbs` for THIS python interpreter

libbs is installed, and I can import it from the IDAPython console.  The problem, as far as I can tell, is that LibBSPlugin doesn't exist in the project.
https://sourcegraph.com/github.com/binsync/libbs@16ebaf61c6318e7a15d035cb91fe268e8a07d929/-/blob/libbs/decompiler_stubs/ida_libbs.py?L3:43-3:54
Maybe something went wrong when the code was transitioned from binsync?

Hi @edmcman, you are right in that the stub does not work, but that is also because it should be removed. In PR https://github.com/binsync/libbs/pull/25, the installers for Binja, angr, and IDA are removed. In all but the case of Ghidra, you don't need to install a plugin file into the decompiler. Your decompiler will already be able to import libbs as a library once you pip install it. Then, in the decompiler, you can do stuff like:
from libbs.api import DecompilerInterface
deci = DecompilerInterface.discover()
print(deci.functions)

This would also work if you wrote a script than loaded it in IDA.
If you're looking for more examples of how this can be used to make generic plugins, see the Artifact Change Watcher plugin, or take a look at DAILA.
Lastly, I'm a big fan of your work! If you intend to use LibBS for more complicated things, I'm always happy to collaborate over email<EMAIL_ADDRESS>


Add Unit Tests for Todo CLI Commands

Is your feature request related to a problem? Please describe.
The current Todo CLI application lacks unit tests for its core commands, which can lead to undetected bugs and regressions in functionality.
Describe the solution you'd like
Implement unit tests for each command in the Todo CLI application (add, delete, mark complete, view). Use a testing framework like Jest to ensure that each command functions as expected and to catch any potential issues early in the development process.
Code Example
// add.test.js
const addTodo = require('./commands/add');
describe('Add Todo Command', () => {
    test('should add a new todo', async () => {
        const todoText = 'Test Todo';
        const result = await addTodo(todoText);
        expect(result).toHaveProperty('id');
        expect(result.text).toBe(todoText);
    });
});

Describe alternatives you've considered
Manual testing of each command, but this is time-consuming and prone to human error.
Additional context
Unit tests will help maintain code quality and ensure that future changes do not break existing functionality. It will also improve developer confidence when making modifications to the codebase.
Related Issues
None

I appreciate the proposal for implementing unit tests in the Todo CLI application. This enhancement is crucial for improving code quality and maintaining functionality over time. Utilizing a testing framework like Jest will not only help in catching bugs early but also instill confidence in future development efforts. I fully support this initiative and look forward to seeing the tests in action!


Return exit code from goss verifier

Fixes: #559

👍 pending tests

👍

  py27-ansible19-unit: commands succeeded
  py27-ansible20-unit: commands succeeded
  py27-ansible21-unit: commands succeeded
  congratulations :)


Fixed build breaking at 7.10.2

It caused
/home/kir/git/work/haskell/hs-gchart/Graphics/GChart/ChartItems.hs:62:1:
    Non type-variable argument in the constraint: MonadState Chart m
    (Use FlexibleContexts to permit this)
    When checking that ‘getDataSetIdx’ has the inferred type
      getDataSetIdx :: forall (m :: * -> *). MonadState Chart m => m Int

and after the patch it builds.

I will merge the pull request (and any code changes you wish to make). But please do note that I stopped maintaining this package a long time ago. So I am not able to do any additional checking.


Renderer class

Generate Renderer class with some implementations:

JackRenderer
RandomRenderer

So far in test_renderer, I  have to make the user start a thread on rendering, searching for a way to push this inside the class instead.


Release/v3.2.2

Codecov Report

:exclamation: No coverage uploaded for pull request base (develop@d8cbd2d). Click here to learn what that means.
Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff             @@
##             develop      #15   +/-   ##
==========================================
  Coverage           ?   98.39%
==========================================
  Files              ?       16
  Lines              ?      747
  Branches           ?       62
==========================================
  Hits               ?      735
  Misses             ?        9
  Partials           ?        3

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


--no-overwrites option doesn't work when one uses --convert-thumbnails jpg

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I remove or skip any mandatory* field

Checklist

[X] I'm reporting a bug unrelated to a specific site
[X] I've verified that I'm running yt-dlp version 2023.01.06 (update instructions) or later (specify commit)
[X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
[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. DO NOT post duplicates
[X] I've read the guidelines for opening an issue

Provide a description that is worded well enough to be understood
The --no-overwrites option doesn't work when one uses --convert-thumbnails jpg. (Of course, the extension could be anything eg png, jpg).
Example - We will download the description and thumbnail (and convert the thumbnail to jpg) for two different video IDs with the exact same title and upload-date:

yt-dlp -vU --no-overwrites --ignore-errors --compat-options filename-sanitization --write-description --write-thumbnail --convert-thumbnails jpg --abort-on-unavailable-fragment --skip-download -o "%(upload_date>%Y.%m.%d)s - %(title)s.%(ext)s" "TQqpfNIZ-rc"

yt-dlp -vU --no-overwrites --ignore-errors --compat-options filename-sanitization --write-description --write-thumbnail --convert-thumbnails jpg --abort-on-unavailable-fragment --skip-download -o "%(upload_date>%Y.%m.%d)s - %(title)s.%(ext)s" "dCRAcRp8SQg"

For both, the downloaded thumbnail is in webp format, which will then be converted to jpg. When downloading the second video ID, the first thumbnail should not be overwritten. Yet it is. The description file however is NOT overwritten. So this problem is exclusive to thumbnails, and to cases where the --convert-thumbnails option is used to convert the thumbnail to another format. Of course, if yt-dlp selects a thumbnail in jpg format from the list of available thumbnails, then the existing thumbnail will not be overwritten, assuming it too is in jpg format.
Provide verbose output that clearly demonstrates the problem

[X] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
[debug] Command-line config: ['-vU', '--no-overwrites', '--ignore-errors', '--compat-options', 'filename-sanitization', '--write-description', '--write-thumbnail', '--convert-thumbnails', 'jpg', '--abort-on-unavailable-fragment', '--skip-download', '-o', '%(upload_date>%Y.%m.%d)s - %(title)s.%(ext)s', 'TQqpfNIZ-rc']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version 2023.01.06 [6becd25] (zip)
[debug] Compatibility options: filename-sanitization
[debug] Python 3.8.10 (CPython x86_64 64bit) - Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-glibc2.29 (OpenSSL 1.1.1f  31 Mar 2020, glibc 2.31)
[debug] exe versions: ffmpeg n4.4-154-g79c114e1b2-20210923 (setts)
[debug] Optional libraries: certifi-2019.11.28, secretstorage-2.3.1, sqlite3-2.6.0, websockets-10.3
[debug] Proxy map: {}
[debug] Loaded 1760 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Latest version: 2023.01.06, Current version: 2023.01.06
yt-dlp is up to date (2023.01.06)
[youtube] Extracting URL: TQqpfNIZ-rc
[youtube] TQqpfNIZ-rc: Downloading webpage
[youtube] TQqpfNIZ-rc: Downloading android player API JSON
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, vcodec:vp9.2, channels, acodec, lang, proto
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec:vp9.2(10), channels, acodec, lang, proto, filesize, fs_approx, tbr, vbr, abr, asr, vext, aext, hasaud, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] TQqpfNIZ-rc: Downloading 1 format(s): 248+251
[info] Writing video description to: 2021.02.04 - Depression Signs Symptoms and Causes Part 3 of 4.description
[info] Downloading video thumbnail 41 ...
[info] Writing video thumbnail 41 to: 2021.02.04 - Depression Signs Symptoms and Causes Part 3 of 4.webp
[ThumbnailsConvertor] Converting thumbnail "2021.02.04 - Depression Signs Symptoms and Causes Part 3 of 4.webp" to jpg
[debug] ffmpeg command line: ffmpeg -y -loglevel repeat+info -f image2 -pattern_type none -i 'file:2021.02.04 - Depression Signs Symptoms and Causes Part 3 of 4.webp' -update 1 -bsf:v mjpeg2jpeg -movflags +faststart 'file:2021.02.04 - Depression Signs Symptoms and Causes Part 3 of 4.jpg'
Deleting original file 2021.02.04 - Depression Signs Symptoms and Causes Part 3 of 4.webp (pass -k to keep)

[debug] Command-line config: ['-vU', '--no-overwrites', '--ignore-errors', '--compat-options', 'filename-sanitization', '--write-description', '--write-thumbnail', '--convert-thumbnails', 'jpg', '--abort-on-unavailable-fragment', '--skip-download', '-o', '%(upload_date>%Y.%m.%d)s - %(title)s.%(ext)s', 'dCRAcRp8SQg']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version 2023.01.06 [6becd25] (zip)
[debug] Compatibility options: filename-sanitization
[debug] Python 3.8.10 (CPython x86_64 64bit) - Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-glibc2.29 (OpenSSL 1.1.1f  31 Mar 2020, glibc 2.31)
[debug] exe versions: ffmpeg n4.4-154-g79c114e1b2-20210923 (setts)
[debug] Optional libraries: certifi-2019.11.28, secretstorage-2.3.1, sqlite3-2.6.0, websockets-10.3
[debug] Proxy map: {}
[debug] Loaded 1760 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Latest version: 2023.01.06, Current version: 2023.01.06
yt-dlp is up to date (2023.01.06)
[youtube] Extracting URL: dCRAcRp8SQg
[youtube] dCRAcRp8SQg: Downloading webpage
[youtube] dCRAcRp8SQg: Downloading android player API JSON
[debug] Loading youtube-nsig.97ea7458 from cache
WARNING: [youtube] dCRAcRp8SQg: nsig extraction failed: You may experience throttling for some formats
         Install PhantomJS to workaround the issue. Please download it from https://phantomjs.org/download.html
         n = 3DDdmlQqOZdXrS ; player = https://www.youtube.com/s/player/97ea7458/player_ias.vflset/en_US/base.js
[debug] [youtube] Signature function returned an exception; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, vcodec:vp9.2, channels, acodec, lang, proto
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec:vp9.2(10), channels, acodec, lang, proto, filesize, fs_approx, tbr, vbr, abr, asr, vext, aext, hasaud, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] dCRAcRp8SQg: Downloading 1 format(s): 136+251
[info] Video description is already present
[info] Downloading video thumbnail 45 ...
[info] Writing video thumbnail 45 to: 2021.02.04 - Depression Signs Symptoms and Causes Part 3 of 4.webp
[ThumbnailsConvertor] Converting thumbnail "2021.02.04 - Depression Signs Symptoms and Causes Part 3 of 4.webp" to jpg
[debug] ffmpeg command line: ffmpeg -y -loglevel repeat+info -f image2 -pattern_type none -i 'file:2021.02.04 - Depression Signs Symptoms and Causes Part 3 of 4.webp' -update 1 -bsf:v mjpeg2jpeg -movflags +faststart 'file:2021.02.04 - Depression Signs Symptoms and Causes Part 3 of 4.jpg'
Deleting original file 2021.02.04 - Depression Signs Symptoms and Causes Part 3 of 4.webp (pass -k to keep)

--no-overwrites wrote the new webp file since there was no existing webp to overwrite. And the webp>jpg conversion, like all other PPs, is not covered by this option. "Fixing" this would be difficult due to the internal separation of core and PP code

--no-overwrites wrote the new webp file since there was no existing webp to overwrite. And the webp>jpg conversion, like all other PPs, is not covered by this option. So it's technically working as expected.
What you want is for the download to look for the jpg file in addition to the webp before writing anything. While I understand the usefulness of this, "Fixing" it would be difficult due to the internal separation of core and PP code.
--download-archive should be a good workaround for now

Thanks for the clarification. I guess I'll have to rewrite my scripts to accommodate this quirk. Shall I close this issue?

--no-overwrites wrote the new webp file since there was no existing webp to overwrite. And the webp>jpg conversion, like all other PPs, is not covered by this option. So it's technically working as expected.
[…]
"Fixing" it would be difficult due to the internal separation of core and PP code.

Doesn't --no-overwrites --no-post-overwrites cover both ?


Remedy intermittent failures of test__ssl

Hopefully it will reduce a few false negatives from CI tests.

Thanks!


Screen sharing demo does not work in chrome

I tried to run the code of screen sharing demo  in localhost server. but it does not work. I have given the write path of socket.io.js also.

First Step:

Make sure you're using HTTPs

Second Step:

Make sure following chrome extension is installed:
https://chrome.google.com/webstore/detail/screen-capturing/ajhifddimkapgcifgcodmmfdlknahffk

Last step:

Use latest screen-sharing.html file.
Recently update file now automatically supports cross-domain screen capturing.

Thanks alot. Actually I didn't have the latest screen-sharing.html file.


Posting items fails serverside with "err: 1: invalid or missing instance"" when using checkignore

We added a simple checkIgnore to prevent reporting errors for older IE versions from the browser, what we didn't notice was that our backend items failed.
It works perfectly in the browser, it is parsed as a function and properly ignores by our rules and let the other messages through.

With a this simplified config it's still a problem, so it doesn't seem like it's a problem with the function itself.
require 'rollbar/rails'
require 'rollbar/middleware/js/json_value'
require 'socket'

Rollbar.configure do |config|
  config.access_token = '*****'
  config.enabled = true
  config.js_enabled = true
  config.js_options = {
    accessToken: "*****",
    enabled: config.enabled,
    checkIgnore: Rollbar::JSON::Value.new('function(isUncaught, args, payload){}'),
  }
end

Here's the rails trace:
irb(main):001:0> Rollbar.error("test")
[2022-02-25T19:14:23] INFO  Rails : [Rollbar] Scheduling item
[2022-02-25T19:14:23] INFO  Rails : [Rollbar] Sending item
[2022-02-25T19:14:23] INFO  Rails : [Rollbar] Sending json
[2022-02-25T19:14:23] WARN  Rails : [Rollbar] Got unexpected status code from Rollbar api: 400
[2022-02-25T19:14:23] INFO  Rails : [Rollbar] Response: {
  "err": 1,
  "message": "invalid or missing instance"
}
[2022-02-25T19:14:23] INFO  Rails : [Rollbar] Details: https://rollbar.com/instance/uuid?uuid=bf23b2de-6448-4cb0-916b-b57a80ec5e59 (only available if report was successful)
=>
{:timestamp=>1645812863,
 :environment=>"development",
 :level=>"error",
 :language=>"ruby",
 :framework=>"Rails: <IP_ADDRESS>",
 :server=>{:host=>"2992ed881226", :root=>"/usr/src/app", :pid=>1},
 :notifier=>
  {:name=>"rollbar-gem",
   :version=>"3.3.0",
   :configured_options=>
    {:access_token=>"******",
     :enabled=>true,
     :js_enabled=>true,
     :js_options=>
      {:accessToken=>"******",
       :enabled=>true,
       :checkIgnore=>#<Rollbar::JSON::Value:0x000055985900c4a8 @value="function(isUncaught, args, payload){}">},
     :default_logger=>#<Proc:0x0000559859ece0e0@/usr/local/bundle/ruby/2.5.0/gems/rollbar-3.3.0/lib/rollbar/plugins/rails/railtie_mixin.rb:13>,
     :environment=>"development",
     :root=>#<Pathname:/usr/src/app>,
     :framework=>"Rails: <IP_ADDRESS>",
     :filepath=>"******"}},
 :body=>{:message=>{:body=>"test"}},
 :uuid=>"bf23b2de-6448-4cb0-916b-b57a80ec5e59"}

If I replace the checkIgnore: Rollbar::JSON::Value.new('function(isUncaught, args, payload){}'), with a regular string, like checkIgnore: 'function(isUncaught, args, payload){}',, then the backend will properly send reports, but the frontend will not parse the string into a function to be executed.

I've based this on this page: https://docs.rollbar.com/docs/integration-with-rollbarjs
Ruby: 2.5.5 (also tried with Ruby 2.7.5)
Rails: <IP_ADDRESS>
rollbar-gem: 3.3.0

We've run into this too. Our workaround was a monkeypatch like this:
module FixedRollbarItem
  def initial_data
    {
      :timestamp => Time.now.to_i,
      :environment => build_environment,
      :level => level,
      :language => 'ruby',
      :framework => configuration.framework,
      :server => server_data,
      :notifier => {
        :name => 'rollbar-gem',
        :version => '3.3.0-monkeypatched',
        :configured_options => configured_options.delete_if{|k, _| k.match(/js_.*/)}
      },
      :body => build_body
    }
  end
end

Rollbar::Item.prepend(FixedRollbarItem)

Ruby 2.7.4
Rails: <IP_ADDRESS>
rollbar-gem: 3.3.0

@waltjones thanks for the initial fix. I don't think this fixed all issues.
We had a checkIgnore function with double quotes in it and that was breaking the ruby logging.

+1 to @pcothenet.
We also have just run into the same issue.


Compatibility with tiptap ?

Tiptap use prosemirror under the hood.
I tried to use your lib with tiptap. It seems that the output of pmu.parse(sourceMarkdown) differ from the editor.getJSON() of a tiptap instance. Do you know if this library is compatible with tiptap ?

Hi, I have honestly never heard about it, will investigate.

Hi,
looking at it a little bit, it seems there's no simple way of making it work. Tiptap seems to be built on top of ProseMirror, but configures it with its own node types (text, image, bold...), prosemirror-unified and prosemirror-remark largely do the same thing. If you want to use markdown, I'd advise running prosemirror with prosemirror-remark directly, without tiptap.

Thank you for your investigations and suggestions !


remove deployment tool automation for onecert

will do this step manually during pre-deployment.

@mjudeikis fyi

@jim-minter why? What is the background?


PP-4779: Update and get gateway merchant id successfully

We could have used the PATCH /v1/frontend/accounts/{accountId} method to
update the credentials but operationally curling PATCH /v1/frontend/accounts/{accountId}/gateway-merchant-id/{gatewayMerchantId} manually is
simpler and will be deprecated once the functionality in self service to update
a gateway account with the gateway merchant id is in place.
@oswaldquek @gidsg

Do not merge. I think the requirements around this story need to be slightly updated.


[IMPROVEMENT] Add excude pokemon to config

Can you add exclude pokemon to config.. When i want to use ngrok to host outside, I get new link and i need to retype all those pokemon i dont want to see again..
Thanks

We save the excluded pokemon on the client side. So you need to hide them once on every device. This is not much of an issue imo.
Unless ngrok is changing urls all the time?
Closing this for now.

Yes everytime you relaunch ngrok you get a new link.. is there file edits i can do this manually then?  thanks


[fr] translate task run-application/horizontal-pod-autoscale-walkthrough.md

Hi,
This adds the French translation for the task 'HorizontalPodAutoscaler Walkthrough', from the "Run Applications" section. This is the reference document.
I also added the missing example file for the task.

/lgtm

Hey @perriea , I just realised that one of the glossary reference (quantity at the very end of the page) isn't translated in French. I pushed the translation to the same branch but as it's already merged, how should I proceed ? Do I open a new PR just for this change ?

@k0rventen open a new PR and assign me :)

opened #41911 but I don't have the permission to assign it. Thx !

@k0rventen if you want assign, type this command /assign <user>
https://prow.k8s.io/command-help?repo=kubernetes%2Fwebsite

opened #41911 but I don't have the permission to assign it. Thx !

@k0rventen if you want assign, type this command /assign <user> https://prow.k8s.io/command-help?repo=kubernetes%2Fwebsite

Wasn't aware of such command, thx for the tip !


Get error message from AGOL

If we get an odd error 500, create something that grabs the token and job id and returns the error automatically rather than requiring the end user to do it manually.

Will you elaborate on this a bit @stdavis or @jacobdadams since I'm unfamiliar with the issue? What error messages are we having trouble accessing? What actions are the job ids linked to? What is the manual process for getting the error message?

Yeah, it's pretty well spelled out near the bottom of the readme

I would be great if this was generic enough to be useable in other projects such as forklift.

Agreed. Spitballing here, I wonder if writing it as a decorator makes sense. I'll look into that when I've got some prof dev time.
Also, again spitballing, I wonder if we could modify forklift to use the classes from palletjack for any AGOL work? Bring all our "foo to AGOL" workflows under one codebase?

Thought: get token programmatically from arcgis.auth module

Hey @jacobdadams, I was the one who was talking about grabbing a token from the GIS object today!
from arcgis.gis import GIS
gis = GIS("https://www.arcgis.com", "your_username", "********")
token = gis._con.token
print(token)

This is how I will sometimes access the token via the GIS object. Alternatively, I'll access it with requests and a call to the REST API.

Awesome, thanks Cole!
On Wed, Mar 13, 2024 at 10:00 PM Cole Rosner @.***>
wrote:

Hey @jacobdadams https://github.com/jacobdadams, I was the one who was
talking about grabbing a token from the GIS object today!
from arcgis.gis import GIS
gis = GIS("https://www.arcgis.com", "your_username", "********")
token = gis._con.token
print(token)
This is how I will sometimes access the token via the GIS object.
Alternatively, I'll access it with requests and a call to the REST API.
—
Reply to this email directly, view it on GitHub
https://github.com/agrc/palletjack/issues/77#issuecomment-1996354816,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AJDGLXUSO4KQCYSR5MLTUZ3YYEOE3AVCNFSM6AAAAAA76EIFWCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOJWGM2TIOBRGY
.
You are receiving this because you were mentioned.Message ID:
@.***>


Documentation: config/initializers/react_on_rails.rb

The generated initializer has this comment:
# See docs/basics/configuration.md for many more options

Why not just update the generated initializer to be the document of all possible configuration values?
There are currently actually three sources (all of which are different) of this documentation:

The generated initializer.
The tutorial's initializer.
The configuration.md file (which is nothing more than the content of ReactOnRails configuration initializer).

I'm open to your PR ideas!

Generated file contains:
# See https://github.com/shakacode/react_on_rails/blob/master/docs/basics/configuration.md
# for many more options.


Bug: No Home Assistant Integration Entry

Describe the bug
After Installing via HACS and Manually,
There is no "Tapo" entry in the Configuration>Integration-UI Dropdown

To Reproduce
Steps to reproduce the behavior:

Follow the Installation from HomeAssistant-Tapo-Control
Restart Home Assistant Service
Go to Configuration>Integrations
Try to find "Tapo" in the choices

Expected behavior
There is a "Tapo" integration.
Log
No Error logs, just warning
2020-12-06 03:15:16 WARNING (MainThread) [homeassistant.loader] You are using a custom integration for tapo_control which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant.

Camera (please complete the following information):

Device Model: TP Link Tapo C200

Using stream component
The Camera has a Stream out of the box but not in HA
Camera works through onvif component OR different cameras work in general
The Camera Works out of the box but not in HA
Camera has all attributes filled out properly in developer tools
Not sure where I can find this
HASS Environment

Key
Value

Raspberry Pi 4
Model B 8GB RAM

Version
0.118.5

Installation Type
Home Assistant OS

Development
false

Supervisor
true

Docker
true

Virtual Environment
false

Python Version
3.8.6

Operating System Family
Linux

Operating System Version
4.19.127-v8

CPU Architecture
aarch64

Host Operating System
HassOS 4.17

Update Channel
stable

Supervisor Version
2020.12.6

Docker Version
19.03.12

Disk Total
28.6 GB

Disk Used
3.9 GB

Healthy
true

Supported
true

Board
rpi4-64

Supervisor API
ok

Version API
ok

Additional context
There was no error upon installation. There is just now Tapo entry as stated in the documentation.

Add cameras via Integrations (search for Tapo) in Home Assistant UI.

1.) Restart Home Assistant after installing integration
2.) Hard refresh your browser (clear cache)

good evening to everyone, same issue here even after having reinstalled, restarted many times and cleared the cache. what else can be done?


Spam clicking remote while using nether portal can lead to client world desync

Patch 1.12-0.8.1 made it more difficult but full spam clicking can still sometimes cause problems.
Players may suffer suffocation damage and/or have the loading screen hang on their client when teleporting until restart.

Update: all the worst problems no longer happen when re-tested in 0.9.0.
However, the teleport may still cancel leaving you stuck in the nether until client re-log.

Fixed in 1.12-0.9.5! :)


Support a list of python platforms

To fit the space between --python-platform supporting a single platform at a time, and --universal which supports all platforms, I suggest allowing a list of platforms (perhaps a rename to --python-platforms) so lockfiles can be created that support only the supported/required runtime platforms. This would also reduce the surface area of issues, and speed up dependency resolution.
Examples (modifications to what I see in the docs today):

uv pip compile --python-platforms macos,linux requirements.in

[tool.uv.pip]
python-platforms = "x86_64-unknown-linux-gnu,aaarch64-apple-darwin"

Sorry if some of the uv details above aren't accurate; I am a rye user but this appears to be a uv feature that rye could then adopt.

@konstin - I wonder if there's a way that we could leverage the "record fork markers" to support something like this (e.g., a list of markers as input, resolve both, reconcile...). Wishlist though.

With the branch i'm working on atm we get the ability to feed to markers we want to resolve for in manually. We'd need to wire it up to pyproject.toml configuration, deactivate any full-universe checks, add a new check when installing that we're in one of the supported envs and write docs explaining how solving for a subset of environments works.

This would also reduce the surface area of issues, and speed up dependency resolution.

Are you having a case where the universal resolution is noticeable slower than a single-platform one? If so and you have an example you can share it would be great, then we can optimize the universal resolver better.


Redundancy in ontology annotation display follow up (gene page)

[ ]  1. position "directly inhibits" at front of row (same precedence as "has substrate")
(otherwise it is difficult to see the target gene , as it is buried further down the row)

[ ]  2. Although I think this display is useful (grouping targets with the same extensions)
has substrate cdc18 , orc2  involved in negative regulation of mitotic DNA replication initiation during mitotic G2 phase
(this works really well)

I'm not sure about grouping targets with multiple processes for a phase:
involved in negative regulation of anaphase-promoting complex-dependent catabolic process involved in regulation of mitotic G1 cell cycle arrest in response to nitrogen starvation directly inhibits srw1  during mitotic G1 phase
Note that when 1.  is done this will be
directly inhibits srw1 involved in negative regulation of anaphase-promoting complex-dependent catabolic process involved in regulation of mitotic G1 cell cycle arrest in response to nitrogen starvation  during mitotic G1 phase
It does make sense, but its harder to process the information, it might be better like
directly inhibits srw1 involved in negative regulation of anaphase-promoting complex-dependent catabolic process  during mitotic G1 phase
directly inhibits srw1  involved in regulation of mitotic G1 cell cycle arrest in response to nitrogen starvation  during mitotic G1 phase
we should discuss this today

Also the examples for 2 probably are connected.
srw1 inhibits the APC as part_of anaphase-promoting complex-dependent catabolic process during mitotic G1 phase
and it is likely that cdc2 regulates chromosome condensation by regulating cut3 transfer into the nucleus. So eventually we might have these connections explicitly.
If we group them like this
has substrate cut3  involved in positive regulation of mitotic chromosome condensation involved in positive regulation of protein import into nucleus during mitotic metaphase
It might prevent
has substrate cut3, geneB, geneC  involved in positive regulation of mitotic chromosome condensation  during mitotic metaphase which is probably a more useful grouping?

OK in the 2 examples in 2 above, these ARE compound annotations.
I am going to fix them up a bit, because they aren't quite right.
1 is not done


[WIP] feat(generic): print a warning if the package manager used is not a known good version

[x] I have read the contribution documentation for this project.
[x] I agree to follow the code of conduct that this project follows, as appropriate.
[x] The changes are appropriately documented (if applicable).
[x] The changes have sufficient test coverage (if applicable).
[x] The testsuite passes successfully on my local machine (if applicable).

Summarize your changes:
The version whitelists need to be updated and audited.
Fixes #269.

I take it we should just add NPM/yarn versions as we move forward, then?


RISC-V code generation

Per the request of @lazyparser, shecc would support RISC-V code generation and still self-host.

Thanks ;-)
is there any guidelines for new backends contribution?
I'd like to contribute

I'd also comment that ARM 64 bit support would be useful.  The Pi4 is much more efficient on 64bit and some processors are already 64 bit only

Hi, I try to contribute this feature recently. Before started, I want to make sure that my modification is under your expectation and approval. Following is high level description about what I'll do:

Add parameter (argc/argv) to decide target (RISC-V or ARM)
Modify code in codegen.c to support emitting ARM or RISC-V instruction
Add new file riscv.c to mapping instruction emit by codegen.c into RISC-V bytecode

Also, I've some question about how to verify result compiled in RISC-V bytecode? Is it as same as how to verify ARM-based result? Are there any RISC-V simulator you like me to use as we run ARM bytecode on qemu.
Any suggestion is appreciated!

Hi, I try to contribute this feature recently. Before started, I want to make sure that my modification is under your expectation and approval. Following is high level description about what I'll do:
* Add parameter (argc/argv) to decide target (RISC-V or ARM)

* Modify code in `codegen.c` to support emitting ARM or RISC-V instruction

* Add new file `riscv.c` to mapping instruction emit by `codegen.c` into RISC-V bytecode

Also, I've some question about how to verify result compiled in RISC-V bytecode? Is it as same as how to verify ARM-based result? Are there any RISC-V simulator you like me to use as we run ARM bytecode on qemu.
Any suggestion is appreciated!

Fantastic!
Spike and QEMU are both the emulator we daily use.
https://github.com/riscv/riscv-isa-sim is the repo of spike.
The easiest way to deploly QEMU on linux/ubuntu can ref:
https://github.com/isrc-cas/PLCT-Toolbox/blob/master/deploy_riscv64fedora_qemu.sh
for a user-level binary, the user mode QEMU is very handy. the usage of qemu-riscv64/qemu-riscv32 is much like the QEMU-arm shecc used.
For the RISC-V, currently RV64G is more mature than the RV32G platform. But for an educational compiler, RV32I might be good & precise enough.

Following is high level description about what I'll do:

Add parameter (argc/argv) to decide target (RISC-V or ARM)
Modify code in codegen.c to support emitting ARM or RISC-V instruction
Add new file riscv.c to mapping instruction emit by codegen.c into RISC-V bytecode

No runtime options are required to switch between Arm and RISC-V targets. Instead, let's use build-time options for selecting the requested target.
The current src/codegen.c can be renamed to src/arm-codegen.c and the build system can prepare symbolic link src/codegen.c to it, which minimizes the changes against the existing codebase.
I have written partial src/riscv.c for generic RISC-V opcode encoding. It will appear in some dedicated branch later.

RISC-V port of shecc is work in process: https://github.com/jserv/shecc/tree/wip/riscv-backend
At present, RISC-V instruction encoding, preliminary RISC-V code generation, and ELF writer are implemented. Use qemu-riscv32 to execute the generated ELF file.
@eecheng87, please rework on top of this branch.

RISC-V port of shecc is work in process: https://github.com/jserv/shecc/tree/wip/riscv-backend
At present, RISC-V instruction encoding, preliminary RISC-V code generation, and ELF writer are implemented. Use qemu-riscv32 to execute the generated ELF file.
@eecheng87, please rework on top of this branch.

@jserv , thanks for your update. Is it normal that get segmentation fault while using qemu-riscv32 to execute generated ELF file?

@jserv , thanks for your update. Is it normal that get segmentation fault while using qemu-riscv32 to execute generated ELF file?

@jserv , thanks for your update. Is it normal that get segmentation fault while using qemu-riscv32 to execute generated ELF file?

Yes, it was an expected result.

@jserv , thanks for your update. Is it normal that get segmentation fault while using qemu-riscv32 to execute generated ELF file?

Yes, it was an expected result.

@jserv , thanks for your update. Is it normal that get segmentation fault while using qemu-riscv32 to execute generated ELF file?

Yes, it was an expected result.

I don't think it cause by more code need to implement because the code you have written seems enough to generate simple ELF file.
It seems to me that there're some bugs in code you given. Have you suspected any possible about fail to generate ELF file?
Thanks!

@jserv , thanks for your update. Is it normal that get segmentation fault while using qemu-riscv32 to execute generated ELF file?

Yes, it was an expected result.

I don't think it cause by more code need to implement because the code you have written seems enough to generate simple ELF file.
It seems to me that there're some bugs in code you given. Have you suspected any possible about fail to generate ELF file?
Thanks!

It seems to me that there're some bugs in code you given. Have you suspected any possible about fail to generate ELF file?

You have to validate the code generator by touching simple programs. That is the reason why we prepared the test suite.

It seems to me that there're some bugs in code you given. Have you suspected any possible about fail to generate ELF file?

You have to validate the code generator by touching simple programs. That is the reason why we prepared the test suite.

RISC-V port of shecc is work in process: https://github.com/jserv/shecc/tree/wip/riscv-backend
At present, RISC-V instruction encoding, preliminary RISC-V code generation, and ELF writer are implemented. Use qemu-riscv32 to execute the generated ELF file.

@eecheng87 is reworking the RISC-V code generation and runtime support. See #40

RISC-V port of shecc is work in process: https://github.com/jserv/shecc/tree/wip/riscv-backend
At present, RISC-V instruction encoding, preliminary RISC-V code generation, and ELF writer are implemented. Use qemu-riscv32 to execute the generated ELF file.

@eecheng87 is reworking the RISC-V code generation and runtime support. See #40

@lazyparser, Finally, shecc supports RISC-V code generation along with self-hosting! Please check out the latest master branch.

@lazyparser, Finally, shecc supports RISC-V code generation along with self-hosting! Please check out the latest master branch.


[Improvement] Mutiprocess Evaluation time Bug

Prerequisite

[X] I have searched Issues and Discussions but cannot get the expected help.
[X] The bug has not been fixed in the latest version.

Type
I'm evaluating with the officially supported tasks/models/datasets.
Environment
this is my cpu and gpu, I used the following machine for the test, max-works=32
CPU Info :     255  AMD EPYC 7713 64-Core Processor
GPU Info : NVIDIA H800-SXM4-80GB x 8

Reproduces the problem - code/configuration sample
office code
Reproduces the problem - command or script

I used a 2B model (for example qwen1.5 1.8B) to test 13 datasets, and the model was loaded using Huggingface.
I recoeded the time token for each section, and found that the infer task took about 20minutes and the evaluation task took about 12 minutes.
I  found the file to calculate ppl and gen scores (predictions dir), about 500M of memory, so, why does it take 12 minutes in multipreocess? Shouldn't a calculation of 500M be done in about a minute?
I found the code to run the evaluation task (opencompass/runners/local.py  line 61 ~ 210 ),  and found that the most time-consuming part of the evaluation was the serialization and deserialization of the configuration file (disk landing and loading). The code looks like this :

# opencompass/runners/local.py  line 180 ~ 188
        # Dump task config to file
        mmengine.mkdir_or_exist('tmp/')
        param_file = f'tmp/{os.getpid()}_{index}_params.py'
        try:
            task.cfg.dump(param_file)     # **************  the most time-consuming
            tmpl = get_command_template(gpu_ids)
            get_cmd = partial(task.get_command,
                              cfg_path=param_file,
                              template=tmpl)

When the task was started, I divided the evaluation task and the inference task. The inference task did not change, and the evaluation task eliminated the multi-process operation:

step 1 : Modify the submit function (opencompass/runners/local.py lines 133)

def submit(task, index):
    # ...

    if num_gpus > 0:
        tqdm.write(f'launch {task.name} on GPU ' +
                    ','.join(map(str, gpu_ids)))
    else:
        tqdm.write(f'launch {task.name} on CPU ')

    # Modify  Modify  Modify
    if "OpenICLEvalTask" in self.task_cfg['type']:
        res = self._launch_eval(task, gpu_ids, index)
    else:
        res = self._launch_infer(task, gpu_ids, index)   # old self._launch

    pbar.update()

    with lock:
        gpus[gpu_ids] += 1
    return res

step 2: new add self._launch_eval function

def _launch_eval(self, task, gpu_ids, index):
    logger = get_logger()
    task_name = task.name
    out_path = task.get_log_path(file_extension='out')
    mmengine.mkdir_or_exist(osp.split(out_path)[0])

    from opencompass.tasks.openicl_eval import OpenICLEvalTask

    start_time = time.time()
    exitcode = 0
    try:
        inferencer = OpenICLEvalTask(task.cfg)
        inferencer.run()
    except Exception as e:
        print("except: ", e)
        exitcode = 1

    end_time = time.time()
    get_logger().info(f'time elapsed: {end_time - start_time:.2f}s')

    if exitcode != 0:
        logger.error(f'exitcode {exitcode}, task {task_name} failed, see\n{out_path}')

    return task_name, exitcode

It took me 40 seconds to run the 13 datasets before the revised code evaluation.
so, i hope the authorities can improve this bug. And I am now modifying the code so that logs cannot be written to the evaluated datasets logs, so PR is not created!

Reproduces the problem - error message
Evaluation time improvement
Other information
No response

Thanks for the report. We will look into this issue and update soon.


make status-check job to work with its comment

There are some cases that status-check job doesn't run, so the job is not fitting with a branch protection rule.
This PR try to do following:

status-check job will run even terraform-plan or tfmigrate-plan is skipped.
status-check job will fail only when at least one of [terraform-plan, tfmigrate-plan, setup] jobs.

@suzuki-shunsuke Sorry, it's my misunderstanding. Thank you for confirming.


Adding the ability to send messages via chat

Description
Users in connection can now send messages to one another via chat,
and navigate through chats in the chat interface.
Also, added the feature which organizes chats by most recent activity.
Of course adding tests on the matter.
Manual Tests
Tried to send proper and faulty messages, good results.
Also, watched new messages pop up first.
Issues closed by this PR
fix #220

Hold on this is a chant that actually works?

Hold on this is a chant that actually works?

@nadavsu
100%
do you think I'm a Fryer?

King.


In Stock error & Default Pincode

I have added products URL of 4 different categories
Temporarily unavailable,
Coming soon,
Not deliverable,
In stock.
As Not Deliverable does not show Notify me button , script recognise it as "In Stock"
Maybe this issue can be solved by input of multiple pincodes verifying that if its in stock and then send message.

Fixed with new update


it doesn't work well

When I type the /wordcount in Logsql，it always becomes the journal symbol

Could you provide a screenshot please?

I am so sorry, I am not sure what you mean by the journal symbol?