discord: fix updater script

Motivation for this change
The update script produced the wrong commit message. This should be fixed now.
Closes https://github.com/NixOS/nixpkgs/pull/128594
Things done
The download url is minimally modified but I tested it and it still works like before.

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

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

[x] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Relase notes)

[x] (Package updates) Added a release notes entry if the change is major or breaking
[x] (Module updates) Added a release notes entry if the change is significant
[x] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 128633 run on x86_64-linux 1

1 package built:

discord-canary

NIXPKGS_ALLOW_UNFREE=1 nix shell --impure github:mohe2015/nixpkgs/fix-discord-autoupdate#discord-canary seems to run. (Just logged in and read a chat)

Result of nixpkgs-review pr 128633 at 0e4318f2 run on x86_64-linux 1

1 package built successfully:

discord-canary

1 suggestion:

warning: missing-phase-hooks
installPhase should probably contain runHook preInstall and runHook postInstall.
Near pkgs/applications/networking/instant-messengers/discord/base.nix:44:3:
   |
44 |   installPhase = ''
   |   ^

Thanks @Artturin for your efforts.
As discord canary doesn't even seems to start any more (https://github.com/NixOS/nixpkgs/pull/130243) maybe merge soon?

So um how do we run the script now that it is deleted?

So um how do we run the script now that it is deleted?

nix-shell maintainers/scripts/update.nix --argstr package discord

Thanks! Worked perfectly :+1:
I learned about how to use this general purpose feature of NixOS in the process.


Update mill-contrib-docker, mill-main, ... to 0.11.7

About this PR
📦 Updates

com.lihaoyi:mill-contrib-docker
com.lihaoyi:mill-main
com.lihaoyi:mill-scalalib

from 0.11.1 to 0.11.7
📜 GitHub Release Notes - Release Notes - Version Diff
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.lihaoyi" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "com.lihaoyi" }
}]

labels: library-update, early-semver-minor, semver-spec-patch, commit-count:1

Superseded by #79.


pnpm lockfileVersion mismatch with renovate

diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index b04d358..46fac57 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -1,4 +1,4 @@
-lockfileVersion: '6.1'
+lockfileVersion: '6.0'
settings:
autoInstallPeers: true
Error: Process completed with exit code 1.

temporarily resolved via PUPPETEER_SKIP_DOWNLOAD


Narrowing discriminated unions with user-defined type guards

TypeScript Version:  2.0.3
Code
type Cheese = {
  type: 'brie';
  brieOnly: true,
} | {
   type: 'cheddar';
  cheddarOnly: true,
}

function narrows<Wide extends string, Narrow extends Wide>(w: Wide, n: Narrow): w is Narrow {
    return w === n;
}

function doSomethingWithCheese(cheeseSample: Cheese) {
    if (cheeseSample.type === 'cheddar') {
        cheeseSample.cheddarOnly // ok
    }

    if (narrows(cheeseSample.type, 'cheddar')) {
        const t: 'cheddar' = cheeseSample.type; // has narrowed
        cheeseSample.cheddarOnly // not ok, didn't narrow discriminated union
    }
}

Expected behavior:
Discriminated unions would work with type-guards in this way.
Actual behavior:
It doesn't, and I have to write a load of stuff like this in unit-tests:
    if (cheese.type === 'cheddar') {
          assert(/* some assertions using cheddar specific properties */);
    } else {
           throw Error("wrong type of cheese");
        }

rather than doing it in one step with an assertion throwing version of narrows:
    if (assert.narrows(cheese.type, 'cheddar')) {
          assert(/* some assertions using cheddar specific properties */);
    }

What is narrowsInUnion in your example? I cannot find it.

@aluanhaddad I think that's just a typo for narrows.

@timruffles It doesn't seem like what you're proposing generalizes well. Your narrows invocation is oblivious to the type of cheeseSample, you're just passing in an arbitrary expression of type string that you establish for the remainder of the function to be a particular string literal.
What you want to do can be accomplished, there just needs to be a way to do it less awkwardly:
type Cheese = {
    type: 'brie';
    brieOnly: true,
} |
{
    type: 'cheddar';
    cheddarOnly: true,
};

function narrows<Wide, Narrow extends Wide>(w: Wide, f: (w: Wide) => Narrow): w is Narrow {
    return f(w) !== undefined;
}

function doSomethingWithCheese(cheeseSample: Cheese) {
    if (cheeseSample.type === 'cheddar') {
        cheeseSample.cheddarOnly // ok
    }

    if (narrows(cheeseSample, c => c.type === 'cheddar' ? c : undefined)) {
        const t: 'cheddar' = cheeseSample.type;
        cheeseSample.cheddarOnly;
    }
}

Right now I'm relying on type inference to make this work, but the fact that you have to use undefined and return the actual type is a bit awkward.

This is still an issue in 3.x. I had a slightly simpler variant that didn't have a type-parameterized type guard, but I think it's the same basic issue:
interface Foo {
    type: "foo";
    foo: string;
}

interface Bar {
    type: "bar";
    bar: string;
}

type FooBar = Foo | Bar;

function isFooType(t: "foo" | "bar"): t is "foo" {
    return true;
}

const f: FooBar = null as any;

if (f.type === "foo") {
    f.foo; // works
}

if (isFooType(f.type)) {
    f.foo; // breaks
}

playground link
This is a bummer, cause it means that a user-defined type guard deep in the type hierarchy may get bubbled up with "wrapper" type guards for containing types in order to discriminate them:
function isFoo(foobar: Foo | Bar): foobar is Foo {
    return isFooType(foobar.type);
}

@masaeedu the narrows call is not attempting to narrow cheeseSample, it's narrowing its type field. I'm suggesting that the information we gain from that narrowing is used to infer the type of cheeseSample.
If you re-read my example you'll see it's the same narrowing & inference logic as is used in the primitive example .type === 'cheese I gave above it, just with user-defined type guards rather than ===.

Also running into this issue. Another simple example:
interface Square {
    kind: "square";
    size: number;
}

interface Rectangle {
    kind: "rectangle";
    width: number;
    height: number;
}

type Shape = Square | Rectangle;

Using a basic Shape discriminated union example.
Demonstrates expected discriminated union type inference:
const shape1: Shape = JSON.parse('{ "kind": "square", "size" : 10 }');

console.log(shape1.kind); // compiles, as expected
console.log(shape1.size); // compiler error, as expected
if (shape1.kind === "square") {
    console.log(shape1.size); // compiles, as expected
}

Demonstrates incorrect discriminated union type inference using type guard:
const isShape = (value: any): value is Shape => typeof value === 'object' && value !== null && typeof value.kind === 'string' /* && etc... */;

const shape2: unknown = JSON.parse('{ "kind": "square", "size" : 10 }');

if (isShape(shape2)) {
    console.log(shape2.kind); // compiles, as expected
    console.log(shape2.size); // compiler error, as expected
    if (shape2.kind === "square") {
        console.log(shape2.size); // compiler error, NOT expected
    }
}

playground

The narrows definition is not something that can narrow the outer type, as discussed above
Alternately, duplicate #30557


Handle fetch errors in components (Network errors)

Resolves #61

Please fix the URLs and API version numbers in the envs and in the corresponding API methods. :D

@AnandBaburajan done.


[Event Request] Page 392 "Phys. Inventory Journal" - OnDeleteRecord

Please add the following Event OnDeleteRecord Page 392 "Phys. Inventory Journal"
trigger OnDeleteRecord(): Boolean
    var
        ItemJnlLineReserve: Codeunit "Item Jnl. Line-Reserve";
    begin
        //>> Begin
        OnBeforeDeleteRecordOnPage(Rec);
        //>> End
        Commit();
        if not ItemJnlLineReserve.DeleteLineConfirm(Rec) then
            exit(false);
        ItemJnlLineReserve.DeleteLine(Rec);
    end;

    [IntegrationEvent(false, false)]
    local procedure OnBeforeDeleteRecordOnPage(var ItemJournalLine: Record "Item Journal Line")
    begin
    end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 12007.


feat: use thegraph-core alloy crate

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

2 of 2 (100.0%)  changed or added relevant lines in 2 files are covered.
6 unchanged lines in 3 files lost coverage.
Overall coverage increased (+0.06%) to 80.193%

Files with Coverage Reduction
New Missed Lines
%

crates/service/src/routes/static_subgraph.rs
1
0.0%

crates/tap-agent/src/main.rs
1
0.0%

crates/watcher/src/lib.rs
4
92.71%

Totals

Change from base Build<PHONE_NUMBER>4:
0.06%

Covered Lines:
6810

Relevant Lines:
8492

💛  - Coveralls


Unable to animate using AnimatedSprite

Expected Behavior
Player walking animation as in:
https://user-images.githubusercontent.com/12777564/104153882-7fc52f00-5409-11eb-83fd-a76aa05a7845.mp4
Current Behavior
Player switching animations but not changing frames in:
https://user-images.githubusercontent.com/12777564/104153966-aaaf8300-5409-11eb-8e3f-d6ca85736b4e.mp4
Often, if I change the frame using gotoAndPlay(), the frame is set to this index in spite of emptying the cache while refreshing.
https://user-images.githubusercontent.com/12777564/104154122-1eea2680-540a-11eb-8df4-257ef5902bbe.mp4
Possible Solution
https://gitlab.com/Vivraan/mario50-pixijs/-/blob/227a18672242d9c468274e6a50c53cff1adda7f2/player.js#L63-73
        const move = (dt) => {
            if (this._vx != 0) {
                this._anim.textures = animations.walking
                if (!this._anim.playing) {
                    this._anim.play()
                }
                this._anim.scale.x = Math.sign(this._vx)
            } else {
                this._anim.textures = animations.idle
            }
        }

Steps to Reproduce
I raised this issue as a question rather than a bug report. The commit I'm working from is this one, which summarises the repro steps.
 We have no editor for it, we accept easy changes if they dont ruin already coded games.
Even in my plugin https://github.com/gameofbombs/pixi-heaven I and @finscn moved Animation away so it can be changed and applied to Sprite/TilingSprite/Mesh/Rope/Whatever
Other members of pixijs team might feel different about this class

Usually I recommend people to copy AnimatedSprite and change it the way you want, because its very stupid basic animation for helloworlds. We have no editor for it, we accept easy changes if they dont ruin already coded games.
Even in my plugin https://github.com/gameofbombs/pixi-heaven I and @finscn moved Animation away so it can be changed and applied to Sprite/TilingSprite/Mesh/Rope/Whatever
Other members of pixijs team might feel different about this class

@Vivraan  I think your logic for move incorrectly calls every frame. This mean that it's constantly setting textures on your animation frame after frame. If you cache the previous direction to only handle changes, it's better.
Here's an isolated example (click on the character on the right and then use the left and right arrow keys to see the animation switch). https://jsfiddle.net/bigtimebuddy/qo12kdnj/
This is not a limitation of the AnimatedSprite. In your case, this is an appropriate use.
Also, for questions (not bugs) please post to the Discussion section Q&A instead. Thanks!

@Vivraan  I think your logic for move incorrectly calls every frame. This mean that it's constantly setting textures on your animation frame after frame. If you cache the previous direction to only handle changes, it's better.
Here's an isolated example (click on the character on the right and then use the left and right arrow keys to see the animation switch). https://jsfiddle.net/bigtimebuddy/qo12kdnj/
This is not a limitation of the AnimatedSprite. In your case, this is an appropriate use.
Also, for questions (not bugs) please post to the Discussion section Q&A instead. Thanks!

@Vivraan I think your logic for move incorrectly calls every frame. This mean that it's constantly setting textures on your animation frame after frame. If you cache the previous direction to only handle changes, it's better.
Here's an isolated example (click on the character on the right and then use the left and right arrow keys to see the animation switch). https://jsfiddle.net/bigtimebuddy/qo12kdnj/
This is not a limitation of the AnimatedSprite. In your case, this is an appropriate use.
Also, for questions (not bugs) please post to the Discussion section Q&A instead. Thanks!

Yeah, I just got acquainted with Discussions recently. Will keep this in mind. Thanks - I'll see if I can't get this working.

@Vivraan I think your logic for move incorrectly calls every frame. This mean that it's constantly setting textures on your animation frame after frame. If you cache the previous direction to only handle changes, it's better.
Here's an isolated example (click on the character on the right and then use the left and right arrow keys to see the animation switch). https://jsfiddle.net/bigtimebuddy/qo12kdnj/
This is not a limitation of the AnimatedSprite. In your case, this is an appropriate use.
Also, for questions (not bugs) please post to the Discussion section Q&A instead. Thanks!

Yeah, I just got acquainted with Discussions recently. Will keep this in mind. Thanks - I'll see if I can't get this working.

Awesome, will close this issue. Good luck with your project!

Awesome, will close this issue. Good luck with your project!

Awesome, will close this issue. Good luck with your project!

Hey I just tried your solution but I still can't get it to work.
Should I raise this in Discussions?

Awesome, will close this issue. Good luck with your project!

Hey I just tried your solution but I still can't get it to work.
Should I raise this in Discussions?

Yes, a discussion is good for this.

Yes, a discussion is good for this.

I've tagged you in the Q&A section. I suppose I need to do more work on this.

I've tagged you in the Q&A section. I suppose I need to do more work on this.

Please check out https://github.com/pixijs/pixi.js/discussions/7144! Haven't seen any responses there!

Please check out https://github.com/pixijs/pixi.js/discussions/7144! Haven't seen any responses there!

I see your tagging. I unfortunately cannot help you debug your project at the moment, sorry. Hopefully someone else will be able to chime in. Good luck and keep at it, I'm sure you'll figure it out.

I see your tagging. I unfortunately cannot help you debug your project at the moment, sorry. Hopefully someone else will be able to chime in. Good luck and keep at it, I'm sure you'll figure it out.


Can someone post an exmple of a pagination footer template with all the buttons

Hi,  I need to write a custom footer for my table, but on the few examples I have seen by browsing through different forums I can see only examples with a next and previous buttons. I would like to have one with all the buttons, including the one which direct to individual pages.
Could someone help on this?
BTW - This information does not exist on the ng-table examples  here : http://ng-table.com/#/demo/todo

Same, i would like an example.. I'm looking to put the pagination-footer in a panel-footer (BS3) and have no idea how to do this :/

Hi @jbeaudoin11 , Between the time I posted this yesterday and today I totally got it. I added some comments there so it can be used by others. Please let me know if I can help you. Its actually pretty easy.

@Matias-Barrios thanks! I did figure it out shortly after i asked but I am glad you replied. I am having a different issue. The pagination links do not do anything. Calls to params.page(page) dont do anything nor raise an error or anything. I even tried doing my own function for ng-click but because it's an ng-repeat, i think, it is in a different scope and wont call my custom functions. Do you know of any possible causes of this behavior? And/or do you know how to make the template use a custom function in $scope or defined in my controller.

@tvl83 no problem buddy. I don't know why it would not work for you. This footer template has worked for me with no issues.
Are you sure you have data? (Not only one single page )
Are you doing some custom filtering?
Are you sure your version of ng-table is same? If you follow the link I gave you you can actually find ng-table module somewhere and you might check the version there

Yes I know I have data, it's paginated from the api and there are 45000 records of which I get 10 or 25 at a time.
I do filtering, yes but at one time the pagination worked perfectly fine. I am using the getData parameter when initializing NgTableParams and I have a feeling that has something to do with it. I am console loging params.page() within that function and it always ever says 1 even when I click on the button to go to another page.
I found a template and hard coded params.page(2) (when i know that there are 2 pages of data) and it still does nothing from the custom template.
Even a custom function I define in the controller
vm.goPagePrev1 = function(page){
          console.log(`page ${page}`);
        };

        vm.goPageNext1 = function(page){
            console.log(`page ${page}`);
        };

        $scope.goPagePrev = function(page){
          console.log(`page ${page}`);
        };

        $scope.goPageNext = function(page){
            console.log(`page ${page}`);
        };

vm is an alias of this. I am working on this project for a client and the code was handed to me from the previous dev.
Neither of these versions of the functions work. Nothing gets printed to the console.

It seems to have something to do with the getData. Looking at the API docs http://ng-table.com/api-docs/classes/ngtableparams.html#page passing a number to params.page(number) will  Changing the page number will cause isDataReloadRequired to return true
$scope.goPageNext = function(page){
            console.log(`page ${page}`);
            let curPage = vm.tableParams.page();
            let nextPage = curPage+page;

            console.log(`curPage: ${curPage}... going to nextPage: ${nextPage}`);

            vm.tableParams.page(nextPage);
        };

I put the next and previous buttons outside of the template and it fires fine. When running this I am sending 2 to page() but when i print params.page() in getData it's still 1.
I am going to, in the goPageNext, function set a different variable to the next page number and then in getData set the params.page() to that variable.
It seems like a very convoluted way to do it but that should work.

Just did this and it works perfect as I thought it would.
I am just very confused as to why it does not work properly.
It seems I have to roll my own, outside of the template, per page buttons. it defaults to 10 and i can click 25, then 50 and then 100 and it changes. If I try to go down to 10 again i have to click the current perpage amount I am on then click the lower amount to have it actually change. Very strange.


Blog link fix

This pull request was created to fix an issue with the link of the blog directing to an XML document displaying source code instead of the actual page by directing the user to the correct page.
I already addressed this problem in an issue but I decided to stop being lazy and actually fix the problem.
Issue: https://github.com/official-stockfish/stockfish-web/issues/39

Sorry to disappoint, but this behavior is intended.
The button is not a redirection to the blog page, but rather a link to a RSS feed. RSS feeds such as this one takes the form of an xml document, and is not supported by browsers. If you are looking for a link to the blog, it is on the right side of the top bar.

I didn't realize this was RSS intentionally and not a blog redirect; my apologies.


Make GraphQL Enums Available at Runtime

Discussed in https://github.com/HoudiniGraphql/houdini/discussions/311

Originally posted by alexlafroscia June  3, 2022
What do you think about generating a JavaScript representation of each GraphQL enum in your schema, that can be imported for use by the client application?
I have a number of enums that are used as inputs to queries in my GraphQL schema. I can import a type definition for the enum from $houdini, but there is no runtime definition for this enum. This makes it a little harder than it should be to feed enums from your client into a GraphQL query as an argument.
For an example based on my application, I need to make a query based on an enum value. Assume ApplicationType is some enum in GraphQL
query ApplicationSummaryPage($appType: ApplicationType!) {
  application(appType: $appType) {
    ...Whatever
  }
}

To actually make this query, I need to do something like this:
import type { ApplicationType } from '$houdini';

function validateApplicationType(appType: unknown): ApplicationType {
  // Do some validation to ensure that the input is actually a valid `ApplicationType`
  // My code needs to manually keep a list of valid `ApplicationType` options because the app can't import it from anywhere
}

export function ApplicationSummaryPageVariables(page) {
  return {
    appType: validateApplicationType('SomeEnumValue')
  }
}

This ends up being kind of awkward; technically Houdini knows what the valid ApplicationType values are, since they are part of the TypeScript definition, but I can't actually import those at runtime in any way.
I would love for $houdini to make two changes to the enum handling:

Actually export the TypeScript enum in the type definition; right now I can import the type, but the TypeScript language server complains that it should actually be exported. Here's an example from my $houdini directory:

Create a representation of the enum that is actually import-able at runtime as well, so that enum options flow from GraphQL Schema -> Houdini -> my application code

If this feels like a reasonable idea, I'd love to take a crack at implementing this change!

I find this very instructive 👇
https://www.typescriptlang.org/docs/handbook/enums.html#const-enum-pitfalls
Maybe an option is to generate a type instead of an enum?

I think it might be confusing, as the consumer, to have defined an enum in GraphQL and then have it exposed as a union type like this. If I wrote an enum on the GraphQL side, I'd expect to import an enum on the TypeScript side as well.
As far as I know, the concerns there are specific to const enums, rather than enums in general. Am I mistaken about that? If not, Houdini could export a non-const enum in the generated TypeScript definition and the equivalent JavaScript code from the runtime files. I'm not sure if the code generator generates the TypeScript directly and then outputs .js and .d.ts files from that; if it doesn't, the JS output could look something like this:
var URLInstanceTestResultSummary;
(function (URLInstanceTestResultSummary) {
    URLInstanceTestResultSummary["Failing"] = "Failing";
    URLInstanceTestResultSummary["Mixed"] = "Mixed";
    URLInstanceTestResultSummary["Passing"] = "Passing";
    URLInstanceTestResultSummary["Unknown"] = "Unknown";
})(URLInstanceTestResultSummary || (URLInstanceTestResultSummary = {}));

export { URLInstanceTestResultSummary }

(which is just what the TypeScript compiler itself would have output for the runtime code)

One thing I'm unsure of is how having the same enum defined in multiple files would work. I suspect typescript will complain if the same type name is exported from multiple files. Do we need to centralize these kinds of things somewhere? If so, can we prevent every enum in the schema from getting bundled together for every route?

One thing I'm unsure of is how having the same enum defined in multiple files would work. I suspect typescript will complain if the same type name is exported from multiple files Do we need to centralize these kinds of things somewhere?

That's a good point... I think it probably would have an issue here. Maybe a single file should export all of the enums that Houdini comes across, de-duplicating ones that appear more than once?

If so, can we prevent every enum in the schema from getting bundled together for every route?

To me, that sounds more like the bundler's issue than anything; if they are never imported at runtime, I'd be surprised if the bundler includes them in the output code. I think that the bundlers should be smart enough to import just the code that's actually used in each route.

I wonder if we define an object like this in the artifact file:

That's interesting, and maybe good enough? I'd be a little leery of generating different enum output code than the TypeScript compiler, under the assumption that they are generating the code they are for good reason, even if it's more complicated.

Hey @alexlafroscia! I went ahead and put something together for this. Let me know what you think! Some really simple testing made me comfortable with the simple object approach but I agree that there probably is a reason typescript generates the code that it does. We'll just have to keep an eye out for potential issues.


Witai Agent

Wit.ai agent. Gets structured data from natural language.

Nice!

Thanks @rishabhjain!


Update to 2.6.2 OfflineInsiderEnroll.cmd

This code now have ability to bypass TPM requirement in Windows update
and This code has been improved

Thanks again for the suggestions


background: true setting not working

Installed using bower @ v0.2.2, I was having trouble getting the background image to set instead of filling the element with a new img tag.
I even copied and pasted the example directly off the github.io, and that is also adding an image tag instead of setting the background image.
Any ideas?

Idea is to go trough the options :-)
afkl-lazy-image-options="{"background": true}"
http://afklm.github.io/ng-lazy-image/sample-background.html

Thanks - I did that, but it turned out the bower version of the package was old without the background options. I had to copy the dist file from this repo to get it working properly :) Pls update the bower package!


private repo can be cloned with empty user/password

I'm running Gogs Version: <IP_ADDRESS>3 on Ubuntu. I changed a previously public repo to a private one and can still clone if I know the URL (using the http scheme). Git will prompt me for a username/password but by simply hitting "enter" twice the request passes through and I can clone the repository.

changed title

<IP_ADDRESS>8 same problem, this is serious.

I have the same behavior, if my account has an access token. After deleting this, cloning with empty username and password doesn't work any more.

I found the source for this behavior and will submit a pull request later today

This is claimed to be fixed by merging #3136, please help test on develop branch or https://try.gogs.io.


Add SignalR websocket support to CCJ Tumbler and client

The clients must know when the tumbler changes states. One solution would be polling through http, but that's inefficient.
The correct solution would be implementing Tor circuit control in .net tor: https://github.com/nopara73/HiddenWallet/issues/56
And implementing a websocket notification support to DotNetTor, so only one circuit gets the websocket notifications and yet the software could communicate different ones with the tumbler.
This is a bigger breath work, but we can do this:
When a wallet fires up, it register for tumbler websocket notification, even if the user is not intending to use the tumbling. so timing attacks will not be possible. This does not happen over Tor: But everything else tumbling related does, so the state monitoring identity is separated, so privacy loss won't happen.

@wintercooled We need a notification something like this:
https://github.com/nopara73/HiddenWallet/blob/zerolink/HiddenWallet.Documentation/TumblerApiSpecs.md
Please update it when you finished.
You can find phases here: https://github.com/nopara73/HiddenWallet/blob/zerolink/HiddenWallet/ChaumianCoinJoin/TumblerPhase.cs

I have added code that will form the CCJ server. Will merge when tests are written.
For information - this includes:
CCJ tumbler SignalR broadcasting of state changes to clients.
MVC code that accepts the actions defined in the TumblerAPISpecs.
The actual CCJ code itself (in template form at present).
Design is:
A single instance of a CCJ class is created and made available to the MVC and SignalR code.
On start up the client needs to connect to the CCJHub (SignalR). I have example code for this that can be added to HiddenWallet.
From this point onward the client will receive broadcasts from CCJ and via the hub when a phase change occurs. For example - when all inputs have been received and the next phase (output submission) needs to be actioned.
The MVC service accepts data via the api defined here: https://github.com/nopara73/HiddenWallet/blob/zerolink/HiddenWallet.Documentation/TumblerApiSpecs.md
It also has access to the single instance CCJ class and submits data received for processing. When certain criteria are hit the CCJ class will inform the SignalR server to issue a broadcast message to the connected clients which will move on to using MVC to action the next step.

Status report: This issue is half implemented. The client side is needed.

Working on the client now...
When changing the circuit for unblinded submission we may encounter issues as the circuit change might break the original connection. Will check when adding client code and try and keep original connection alive.

Sample C# code here: https://github.com/wintercooled/HiddenWalletSignalRClient
Connects to HiddenWallet.ChaumianTumbler SignalR Hub and receives broadcasts.
(work in progress but it currently connects and receives broadcasts - need to add disconnect handling etc)

Awesome! Closing the issue.


Detecting latest Extension and Platform versions

A common use case in the registry is knowing what is the latest version of a platform or an extension. Since versions cannot be compared as Strings (eg. 1.9.0 would be higher than 1.13.0), it would be nice to have some sort of comparison in the DB, which can be further reordered in the application if necessary.
After chatting with the team, it was decided that the best approach is to have a non-unique indexed semver column (using the pg-semver extension) containing a major.minor.micro representation of the actual platform/extension release (which the original value is kept in a separate version column).
Since dealing with version qualifiers (CR, SP and productized RedHat versions) can be a nightmare, it was recommended that if more than one result is returned from the query, the ordering would happen in the application layer.

Since dealing with version qualifiers (CR, SP and productized RedHat versions) can be a nightmare, it was recommended that if more than one result is returned from the query, the ordering would happen in the application layer.

About ordering in the application layer, io.smallrye.common.version.VersionScheme extends Comparator so you can directly sort the result strings using VersionScheme#MAVEN

what does "latest" mean here? do you want latest supported version or latest published maven version ? they aren't necessarily the same.

like, I assume you are after just being able to sort a list of versions and wouldn't actually use the "top one" as the latest ?

By latest, I mean the greatest. Eg. If there are 1.9.0.Final, 1.10.Final and 1.11.0.Final platform or extension releases, the latest will be 1.11.0.Final

Using versioned columns formatted as %05d.%05d.%05d%s


Less lines written to the file after python program executed

Less no. of lines where written to file after executing python file in debugging mode, which was running in visual studio code in Linux.
But complete file was written after running the same python file in Linux Terminal.
Output of running .py file in Visual Studio Code in Debug Mode

Output of running .py file in Linux Terminal

/extPython


Infinitton device not recognized

Infinitton keypads are not recognized, whereas they do work properly in the local version of Companion.
Thanks!
-Jeremy

Infinitton devices arent supported currently, as I do not have one to test with so couldnt be sure I was doing something that would work..
If you are willing to test it I can give it a try

I’d be happy to test it. Thanks!

I have pushed some changes to allow this.
The minimum companion version required has changed to 2.2.0.
I suspect I have gotten the key order wrong, could you confirm that is the case? Other than that I think everything should be fine

@jermg77 have you been able to test this?

Hi Julian,
I’m terribly sorry, I’ve been so slammed with traveling work that this got put on the back burner… I will try to have a look at it this week.
Thanks!
-Jeremy

On Mar 1, 2022, at 6:56 AM, Julian Waller @.***> wrote:
@jermg77 https://github.com/jermg77 have you been able to test this?
—
Reply to this email directly, view it on GitHub https://github.com/bitfocus/companion-satellite/issues/34#issuecomment-1055353732, or unsubscribe https://github.com/notifications/unsubscribe-auth/AKBS3B5DRKXXMYNANVQ6K33U5YAWRANCNFSM5LSLITJA.
Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.

just started testing satellite and it worked for one day then stopped companion will not see device, have restarted both software and still wont connect, I updated companion to 2.2.1 and still wont see it, am I missing something?

@Tdocwhowar is that satellite worked for one day, or the infinitton with satellite? are you able to test if streamdecks are working?
is anything shown on the infinitton, or is it the default (black or infinitton logo? I have no idea what they do) when it is should be working?

I believe this is now working. It is probably a bit buggy on arm based macos, but that is a different issue that is being looked at elsewhere


Test Kitchen Config Refactor

All tests green, except for:

Dokken

nextcloud-almalinux-8 fails to converge due to attempting to modify SELinux.

Changed the integration test for nextcloud to look for the latest version.
Removed centos-7 from running the nextcloud suite

Nextcloud fixes are available upstream, on osl-nextcloud.

!bump patch ~

Jenkins has merged this PR into main and has automatically performed a patch-level version bump to v1.2.1.  Have a nice day!


Support full records without pub_date or id

Why are these changes being introduced:

Some records don't have publication date information (which is expected)

Relevant ticket(s):

https://mitlibraries.atlassian.net/browse/TIMX-108

How does this address that need:

Adds nil protection for publication dates

Document any side effects to this change:

After handling the publication date nil, an error occurred for identifier not being present. I believe this is unexpected and is a result of incomplete Alma mappings in dev1 at this time. Handling nils for identifers seemed fine to include even if the data will likely all include at least one identifier per record.

Sample record to verify the change:
https://timdex-ui-pi-timx-108-p-nalqak.herokuapp.com/record/alma:9935254843506761
If you'd like to see the change locally, make sure you are connected to dev1 graphql and are using the all-current alias as your TIMDEX_INDEX and then searching for any alma record should work. Doing the same on the main branch should throw errors.
Developer

[x] All new ENV is documented in README
[x] All new ENV has been added to Heroku Pipeline, Staging and Prod
[ ] ANDI or Wave has been run in accordance to
our guide and
all issues introduced by these changes have been resolved or opened as new
issues (link to those issues in the Pull Request details above)
[x] Stakeholder approval has been confirmed (or is not needed)

Code Reviewer

[ ] The commit message is clear and follows our guidelines
(not just this pull request message)
[ ] There are appropriate tests covering any new functionality
[ ] The documentation has been updated or is unnecessary
[x] The changes have been verified
[ ] New dependencies are appropriate or there were no changes

Requires database migrations?
NO
Includes new or updated dependencies?
NO

Pull Request Test Coverage Report for Build 05d3c849dd60ca0725eb8cdf7866935962c1dd6d-PR-79

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 99.427%

Totals

Change from base Build 3e87c8764366bc746a73036552e6d1507f24d432:
0.0%

Covered Lines:
347

Relevant Lines:
349

💛  - Coveralls

This looks good from my perspective (I didn't review the code, just verified it works as I would expect). I agree handling nil identifiers is also a good idea since, although we do expect each records to have at least one, they are not technically required.


MySQL library error. PLEASE HELP ME FAST!!!

Hello.
Im' getting this error:
C:\project\node_modules\mysql\lib\protocol\Parser.js:82
        throw err;
        ^

TypeError: Cannot read property 'value' of undefined
    at Query._callback (C:\project\bot.js:574:23)
    at Query.Sequence.end (C:\project\node_modules\mysql\lib\protocol\sequences\Sequence.js:96:24)
    at Query._handleFinalResultPacket (C:\project\node_modules\mysql\lib\protocol\sequences\Query.js:144:8)
    at Query.EofPacket (C:\project\node_modules\mysql\lib\protocol\sequences\Query.js:128:8)
    at Protocol._parsePacket (C:\project\node_modules\mysql\lib\protocol\Protocol.js:271:23)
    at Parser.write (C:\project\node_modules\mysql\lib\protocol\Parser.js:77:12)
    at Protocol.write (C:\project\node_modules\mysql\lib\protocol\Protocol.js:39:16)
    at Socket.<anonymous> (C:\project\node_modules\mysql\lib\Connection.js:96:28)
    at emitOne (events.js:96:13)
    at Socket.emit (events.js:188:7)

@aIgor100
Could you show me what your query and parameters are?
I'm afraid it's hard to find out a clue with your error messages alone.

Ok. It's it:
var maxprice=0; 									mysqlConnection.query('SELECTvalueFROMinfoWHEREname`='maxprice'', function(err, row, fields) {
maxbet=row[0].value;
								if(sum > row[0].value) {
									num = 0;
									offers.declineOffer({tradeOfferId: offer.tradeofferid});
									mysqlConnection.query('INSERT INTO `messages` (`userid`,`msg`,`from`, `win`, `system`, `time`) VALUES (\''+offer.steamid_other+'\',\'Value is too high.\',\'System\', \'0\', \'1\', \''+unixtime+'\')', function(err, row, fields) {});
									console.log('[SERVER] Declined offer #'+offer.tradeofferid+' - Sent by: '+offer.steamid_other+' - Reason: Exceeds the maximum skin value');

									return;
								}
							});

`

Since the error is TypeError: Cannot read property 'value' of undefined and your code has maxbet=row[0].value as the first statement within the callback, it would mean that the error is happening because your SELECT query is returning zero rows, thus rows[0] is undefined, as rows.length === 0.


Cleanup ./install_build_tools.sh

Right now:

there is stuff to support mac that has not been tested in ages.  Is it time to remove it?
the stuff to build on CentOS 7 (yum package manager) needs work.  (See https://github.com/criblio/appscope/pull/547 for specifics of what I know). There are additional issues with CentOS 8.  Should we put work into this?
@pdugas mentioned that the even for ubuntu, the use of sudo in the script made it unsuitable for configuring our builder container.  I'm not positive that I understand the details here, but I think the suggestion included that we could improve the script to check for user privileges and adapt whether sudo is used throughout?
When the script is run, there are interactive prompts that require user feedback.  This is not ideal.  Worth fixing?

We should also add the buildx dependency. See steps here: https://github.com/criblio/appscope/issues/448#issuecomment-1421709475


NOON-284 ⁃ non-producers are forking off

Good news I have a fix for this issue.
Bad news is this impacts all non-producing nodes, they will sync up to the current last irreversible block, but then no further. This is due to a math error introduced when I added a fix for other sync related issues.
Second, I found the cause for a flood of request messages with the mode of "none." This is due to a response timer set to detect slow peers was never getting cleared when a response is received.
Third, Brian A pointed out that a lot of "max clients exceeded" error messages were being logged. I suspect this is the result of how client counts are managed, not due to a flood of connections.

➤ Corey Lederer commented:
Closed by STAT-2017-12-21 release


Problem Linker os-x and DECLARE

Hello,
I use gflags via ortools, but recently I have made an update of ortools and I have problem of linker with the library gflags.
The version used of gflags is 2.1.1 and I have tested on windows and mac.
On mac, with the example :
#include <gflags/gflags.h>
DECLARE_int64(myInt);
DEFINE_int64(deu, 64, "test");
int main(int argc, char ** argv) {
    gflags::ParseCommandLineFlags( &argc, &argv, true);
    std::cout << FLAGS_myInt << std::endl;
    std::cout << FLAGS_deu << std::endl;
    return 0;
}

I have the following error :
Undefined symbols for architecture x86_64:
"fLI64::FLAGS_myInt", referenced from:
_main in main.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Sorry for the inconvenience, especially as I didn't know gflags without ortools.
Thank you in advance,
--
Sylvain Ducomman

Hi Sylvain,
the linker correctly indicates the problem. You have only declared the global FLAGS_myint variable via DECLARE_int64, but not defined it in this compilation unit (.cc/.cxx/.cpp file). The DECLARE_int64 macro should enable you to use a flag in a compilation unit which is defined in another compilation unit or library. If you replace DECLARE_int64 by DEFINE_int64 the linker error should go away for this example.
If you encounter such linker error with a more complicated actual application set up, you need to check whether and where (i.e., in which .cc file or library) the flag is DEFINE'd. Then you must ensure that the respective object file or library is part of the linker command.
Best,
Andreas


range="13,23" doesn't work, nor does range="[13,23]" in markup

Hi guys,
When using range="[13,23]" or range="13,23" - the validation fails unless the number inputted is 1 - 3.
I think the line below is the culprit (doesn't seem to listen to the array or series of numbers correctly):
rules[this] = [Number(rules[this][0]), Number(rules[this][1])];

I'm sorry for the lack of activity on this issue. Instead of leaving it open any longer, I decided to close old issues without trying to address them, to longer give the false impression that it will get addressed eventually.
To the reporter (or anyone else interested in this issue): If you're affected by the same issue, consider opening a new issue, with a testpage that shows the issue. Even better, try to fix the issue yourself, and improve the project by sending a pull request. This may seem daunting at first, but you'll likely learn some useful skills that you can apply elsewhere as well. And you can help keep this project alive. We've documented how to do these things, too. A patch is worth a thousand issues!


board: add support for VCC-GND STM32H750VB

YD-STM23H750VB board has 128 Kbytes of flash memory, 1 Mbytes of SRAM and 16 Mbytes onboard SPI norflash.

The above issue has been resolved.

Ping @erwango


Register sizeof for numpy zero-strided arrays

Use code written by jrbourbeau in a private thread. Add tests.
Related to dask/distributed#3180

[x] Tests added / passed
[x] Passes black dask / flake8 dask

cc @jrbourbeau

Thanks!


Import e31109c2db: Changed max fps for web entities and tablet (by Maki)

This is an automated proposal to look at a commit made by Maki and import it into Overte

Commit:
e31109c2db38a6eab9341d6183814cc4cbb32b17

Author:
Maki

Date:
Mon, 20 Jan 2020 21:38

Changed max fps for web entities and tablet

Stats:

Filename
Stats
Lines
Added
Removed
Lines in blame

interface/src/Application.cpp

6
4
2
⚠ 0

libraries/entities/src/EntityItemProperties.cpp

2
1
1
1

libraries/entities/src/WebEntityItem.cpp

2
1
1
⚠ 0

scripts/system/create/edit.js

3
2
1
⚠ 0

tests-manual/qml/src/StressWeb.cpp

2
1
1
1

5 files
-
15
9
6
2

To work on this, please assign the issue to yourself, then look at the commit and decide whether this would be a good addition to Overte.

If the commit is useful, tag it with "Tivoli: Keep", and keep it open until it's merged.
If the commit is not useful, tag it with "Tivoli: Discard", and close it.
If the commit is not useful right now, but might be later, tag it with "Tivoli: Maybe later", and close it.
If it's hard to decide, tag it with "Tivoli: Discuss", and keep it open.

Useful commits should be submitted as a PR against Overte. Tag this issue in PR, so that it's automatically closed once the PR is merged.
You can cherry-pick this issue with this command:
git cherry-pick e31109c2db38a6eab9341d6183814cc4cbb32b17

This changes the default framerate of web entities.
While I think increasing the default is generally a good idea, we should test what kind of performance impact it would have.
The commit also changes what appears to be a stress test made specifically to test this sort of performance impact.


Update model:core to 1.4.14

Updates com.softwaremill.sttp.model:core from 1.3.4 to 1.4.14.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.softwaremill.sttp.model", artifactId = "core" } ]

labels: library-update, semver-minor

Superseded by #117.


comfyui was updated, which makes WNS unsuitable for it

https://github.com/comfyanonymous/ComfyUI/blob/eb0407e80657ab603a1251a653ad8b2e9e89c83c/comfy/model_management.py#L241C27-L241C33
by invoking the method, the following error would raised:
Error occurred when executing Text Multiline:

get_torch_device_name() missing 1 required positional argument: 'device'

File "/ComfyUI/execution.py", line 153, in recursive_execute
output_data, output_ui = get_output_data(obj, input_data_all)
File "/ComfyUI/execution.py", line 83, in get_output_data
return_values = map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True)
File "/ComfyUI/execution.py", line 76, in map_node_over_list
results.append(getattr(obj, func)(**slice_dict(input_data_all, i)))
File "/ComfyUI/custom_nodes/was-node-suite-comfyui/WAS_Node_Suite.py", line 9444, in text_multiline
tokens = TextTokens()
File "/ComfyUI/custom_nodes/was-node-suite-comfyui/WAS_Node_Suite.py", line 835, in __init__
'[cuda_name]': comfy.model_management.get_torch_device_name(),

Just checked in to report the same problem.

same issue here

This was a WAS suite change, not a ComfyUI one.
https://github.com/WASasquatch/was-node-suite-comfyui/commit/75396f76af68f501d703ff1c0ecde95c983af684

Im getting the same error

Can confirm, all goes boom.

This should have already been patched moments after the initial patch. Weird. I guess git failed to push (I had sat net)

Confirming patch here: https://github.com/WASasquatch/was-node-suite-comfyui/commit/4e53775e650a7e2d2d1d73056bb914d7edc57f69

thank you!


Update composer.json

cannot install in higher version, looks like the galleries is compatible

Hello, there are other things to do to make it compatible with latest TypiCMS, for example remove the eloquent repository, change the way translations are stored, etc.


Add option in documentation for wildcard DNS record

Proposed Changes
Add option in documentation for wildcard DNS record as described here.

In my opinion, the documentation is rather misleading. CNAME records are created automatically by the add-on and do not need to be created manually. Also, using wildcard in combination with additional_hosts is difficult, because there can be overlaps.
I think this is a use case we should not promote via the CLI version of the add-on (local managed tunnel). As in my opinion further testing is needed to ensure the function.

The information I added is meant for the catch_all_service and nginx_proxy_manager where you have to manually add CNAME records in Cloudflare. This can be skipped when using the wildcard DNS record.
And if you enter an individual CNAME record in Cloudflare than that overrules the wildcard record. I have tested that.

Understood, thanks for the clarification. For me the change fits. Thanks for the contribution. 👍🏼