[Bug]: Telegram do not send any sound notifications on Windows10

Preflight Checklist

[X] I have read the Contributing Guidelines for this project.
[X] I agree to follow the Code of Conduct that this project adheres to.
[X] I have searched the issue tracker for a feature request that matches the one I want to file, without success.

Ferdium Version
6.0.0
Recipe Name
telegram
Recipe Version
3.3.4
Last Known working version of the recipe
No response
Steps to reproduce
Telegram web do not send any sound notifications in Ferdium
Do not work both for K and Z versions
Why it is not working guys?
Expected Behavior
Need to have sound notifications
Actual Behavior
Dont have any sound notifications
Screenshots
No response
Additional Information
No response

They same problem! Waiting for a fix for a long time :(

Please fit it! Very inportant thing 🙏🙏🙏🙏🙏🙏

Today after update K version started to send sound notifications!
It was not Ferdium problem
In Z version the same problem. No sound notifications. I will use K version and no problem
PROBLEM IS SOLVED GUYS!!!!!!!

As per the last comment, this issue seems solved. Please reopen it if the problem is still present :smile:


Circle modifying interaction doesn't work constantly

If you try this CodePen, changing the radius multiple times, you'll notice that sometime it fails.
And here is a test that fails: tchandelle@0764be77c4544c9f181215865a3baf23cdd2201a

Confirmed. I can constistently reproduce when I move the pointer slowly from the center of the circle to a bit beyond the right edge of the circle, and then try to modify. It fails.
A pull request with a fix would be welcome.


test: Make it easier to override tested image name

When testing with make image-test, it was not possible to override the image tag,
as it was hardcoded as latest.
With this change, it's possible to override the image name and its tag, with e.g.:
make image-test IMAGE_NAME=fluentd:custom

Related PR in v1.3: https://github.com/SumoLogic/sumologic-kubernetes-collection/pull/1390


Some files should be added to .gitignore

I have opened the project in DataFlex 2023 studio and run a test with the Unused Source Files function. I also had a look at the settings dialog for the project.
This changes and adds some files in the AppSrc and Data folder. Git reports this and it should not be part of the source repository.
AppSrc/config/classlist.xml has changed. This file should not be part of the .git repostitory as it changes depending on the DataFlex studio used. It also changes depending on the local date settings.
An example would be this patch:
diff --git a/AppSrc/config/classlist.xml b/AppSrc/config/classlist.xml
index c1e9f26..31d6e0b 100644
--- a/AppSrc/config/classlist.xml
+++ b/AppSrc/config/classlist.xml
@@ -1,31 +1,30 @@
 <?xml version="1.0"?>
 <classList xmlns="http://www.dataaccess.com/VisualDataFlex/2006/classlist/">
-       <VDFLibraryTimeStamp>2024-01-12T14:00:36</VDFLibraryTimeStamp>
-       <DFLibraryVersion>1</DFLibraryVersion>
+       <VDFLibraryTimeStamp>2023-07-24T17:47:23</VDFLibraryTimeStamp>
        <libraries>
                <library>
-                       <libraryPath>Libraries\vwin32fh\StudioLibrary\vWin32fh-Library-DF24.0.sws</libraryPath>
-                       <libraryTimeStamp>2023-04-30T09:36:03</libraryTimeStamp>
+                       <libraryPath>Libraries\vwin32fh\StudioLibrary\vWin32fh-Library-DF23.0.sws</libraryPath>
+                       <libraryTimeStamp>2024-03-26T15:24:26</libraryTimeStamp>
                        <libraryID>Lib1</libraryID>
                </library>
                <library>
-                       <libraryPath>Libraries\SciControlLib\SciControlLib24.0.sws</libraryPath>
-                       <libraryTimeStamp>2023-04-28T16:23:31</libraryTimeStamp>
+                       <libraryPath>Libraries\SciControlLib\SciControlLib23.0.sws</libraryPath>
+                       <libraryTimeStamp>2024-03-26T15:24:26</libraryTimeStamp>
                        <libraryID>Lib2</libraryID>
                </library>

The Data/ScintillaEdit.ini has been edited and a copy is made. This is also reflected in the git workspace like this:
$ git status Data
On branch users/age/feature/unusedsourcefilesfix
Your branch is up to date with 'origin/users/age/feature/unusedsourcefilesfix'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   Data/ScintillaEdit.ini

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        Data/DUFUpdateLog.txt
        Data/ScintillaEdit - Copy.ini

no changes added to commit (use "git add" and/or "git commit -a")

The Data/DUFUpdateLog.txt was added when running the dfrefactor application for the first time. This file should also be ignored by git.
However I am not sure if the settings should have been changed? There are a lot of changes in the ini file. The Alpha test info DFrefactor project.txt file states something like this:

Leave all project settings as they are (most importantly the 32-bit and manifest settings)
Do not use the DFRefactor program at this stage.

What does this mean? Can I use the settings dialog or is it causing issues? Does the Data/ScintillaEdit.ini file has anything to do with the above disclamer?

I'll reset the project and download the DataFlex Studio 2024 to see if it is still the same problem.

Excellent. I'll checkout the new commit and close this if they are present.

Files has been added. I have removed the classlist in my upcomming PR.

OK, I'm now closing this issue as it seems to have been fixed.


[bug] Paste doesn't work if configured directory contains "." (dot)

I'm trying to configure the name starting from "." (dot). It's standard for hidden files/directories on Linux.
Steps to reproduce:

Configure as follow

E.g. make screenshot
Try to paste

Expected result:

Directory  created with file inside
image pasted into note

Actual result:

nothing happens

dot-folders such as .images are not supported by the plugin because they are not tracked by Obsidian.
The settings will show an error if you try to use them starting from https://github.com/RainCat1998/obsidian-custom-attachment-location/releases/tag/1.0.1


Avoid extension URNs get caught as paths

Refs #2.
This way we can create (also if there is not yet a straightforward extension mechanism already built in) an extension - eg., the canonical enterprise user extension (also represented in the RFC).
And submit a body like the following one.
{
  "schemas": [
    "urn:ietf:params:scim:schemas:core:2.0:User",
    "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"
  ],
  "userName": "qwerty",
  "name":{
    "familyName":"qwerty",
    "givenName":"uiop"
  },
  "emails": [
    {
      "value"<EMAIL_ADDRESS>      "type": "work",
      "primary": true
    }
  ],
 "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
	"employeeNumber": "2B"
  }
}

Please note that current PR only ensures that the key "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User" (and keys following this typical format) does not get broken on the dot by the path component.

Hmm, doesn't seem to work correctly. I have uploaded a test case in this commit
Given: urn:ietf:params:scim:schemas:extension:enterprise:2.0:User.employeeNumber
Expect: urn:ietf:params:scim:schemas:extension:enterprise:2.0:User and employeeNumber
Got: urn:ietf:params:scim:schemas:extension:enterprise:2.0:User.employeeNumber
Will be looking into this tonight.


github-learning

I learn a lot in this web.

Sometimes I respond too fast for the page to update! If you perform an expected action and don't see a response from me, wait a few seconds and refresh the page for your next steps.

Sometimes I respond too fast for the page to update! If you perform an expected action and don't see a response from me, wait a few seconds and refresh the page for your next steps.


Negative variables under media queries

Hello,
I was having some issues with some styles not being compiled from my .styl file to .css and I think I narrowed it down to being Rupture. If you don't feel this is a Rupture issue, feel free to close.
I'm using Rupture with Gulp and have inside one of my .style files something along these lines:
.menu-desktop
    display none
    +above("md")
        display block
        margin-left - $col-gutter
        margin-right - $col-gutter

When nested under the "+above" statement, the margin-left/-right don't get ouput to CSS. The CSS is output correctly in the follow scenarios:

When they are removed from under the "+above" statement and placed under "display none", for example
If I remove the negative sign from the variables
If I wrap the entire (- $col-gutter) in parenthesis
If I put a colon after "margin-left" or "margin-right"

Hi @Dylan-Chapman,
The issue you are experiencing here is not related to Rupture. It's a Stylus gotcha - When you have a left operand, followed by a space, followed by an operator, followed by a space and finally a right operand, Stylus will treat the line as a mathematical expression. The parser thinks your intension is to subtract $col-gutter from a variable called margin-left.
You can get around this as you've described above, as well as by leaving out the space between the minus sign and the variable. (-$col-gutter) This is probably the most ideal solution, since negative integers pretty much always never include whitespace.


feat: auto gen jsconfig in js project

Checklist

[x] npm test passes
[x] tests and/or benchmarks are included
[ ] documentation is changed or added
[ ] commit message follows commit guidelines

Affected core subsystem(s)

Description of change

Auto generate jsconfig.json in project if egg-ts-helper/register was running in js project, It will not generate file if jsconfig.json has already exists.
Why?
Because the IntelliSense only works in js project which has jsconfig.json or tsconfig.json in vscode.

Codecov Report

Merging #31 into master will decrease coverage by 1.82%.
The diff coverage is 77.77%.

@@            Coverage Diff             @@
##           master      #31      +/-   ##
==========================================
- Coverage   97.47%   95.64%   -1.83%
==========================================
  Files          16       13       -3
  Lines         633      482     -151
  Branches      149       58      -91
==========================================
- Hits          617      461     -156
- Misses          4       11       +7
+ Partials       12       10       -2

Impacted Files
Coverage Δ

src/register.ts
100% <100%> (ø)
:arrow_up:

src/utils.ts
89.6% <71.42%> (-6.62%)
:arrow_down:

src/generators/class.ts
97.72% <0%> (-0.39%)
:arrow_down:

src/index.ts
97.19% <0%> (-0.37%)
:arrow_down:

src/generators/auto.ts
100% <0%> (ø)
:arrow_up:

src/watcher.ts
100% <0%> (ø)
:arrow_up:

src/generators/config.ts
100% <0%> (ø)
:arrow_up:

src/generators/extend.ts
100% <0%> (ø)
:arrow_up:

... and 3 more

Continue to review full report at Codecov.

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


Update 1036.json (French) for 0.16

Update 1036.json (French) for 0.16

I've added a suggestion to fix a missing comma (,). Otherwise it looks good! Run it through a JSON validator just to be sure.

JSON validator is OK thought !


Autodetect type by assignment if possible

Instead this
let array: Array< float > = new Array< float >(1);

will be great write simpler:
let array = new Array< float >(1);

The same for plain literal types:
var _num = 1.0; // type = float64
var _int = 1; // type = int32
var _boolean = true // type = bool
...

What you thinking about this? How much effort need to make this working?

Detecting types implicitly could become a bit problematic, especially when wasm32/64 is both feasible. Haven't decided anything yet, still have to see how things play out once people start using them, but once thing we could do already would allow omitting the type parameter on Array<int> if the left hand side already defines the type as Array<int>, like:
let array: int[] = new Array(10);

Thoughts?

Hmm, in many languages implicitly typing resolved, for example swift and C#. Both have got 32/64 types. But I agree typescript has some gap to figure out how interpret type implicitly. I think it can be resolved by special compiler option. Thoughts?

One issue I see there is that other languages have special postfixes to mark literals to be of a specific type. C# for example has the L postfix to mark a numeric literal as a long type. TypeScript doesn't have these, and that bothers me because implicit types would be limited to just some types, and that doesn't feel right to me.

How about this?
let longType = 123 as int32;
let floatType = 1e-5 as double;

Yeah, that would work, but these are actually more characters to type than just specifying the type.

I agree with you. Without short literal suffixes this no make sense.

One alternative here is using type assertion expressions for that, like let longType = <long>123;. Haven't yet though this through fully.

What about about implicit typing when assignment from one variable to another variable?
let a: float = 2.0;

let b = a;

This might require specific code at this time, because, currently, the contextual type is always determined by evaluating the lhs expression.

Ok, this not very important feature. May in some day


Vague information

There are three options for configuring an existing workspace from the Azure portal. Not explained good. The steps are vague
[Enter feedback here]

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

ID: 00343476-cbb4-2f94-a164-e094fece7a6d
Version Independent ID: 8cbbab0d-a0f2-fe64-bb5a-1e280c5332b2
Content: Configure Log Analytics workspace for Azure Monitor for VMs - Azure Monitor
Content Source: articles/azure-monitor/insights/vminsights-configure-workspace.md
Service: azure-monitor
Sub-service: ****
GitHub Login: @bwren
Microsoft Alias: bwren

@taromielnaz Thanks for your comment! We will review and provide an update as appropriate.

Assigning to content author @bwren for review.

Sentence isn't needed. I'll pull it.
#please-close


Choose model via Shortcut.

In your last blog post , you talked about the costs of using GPT-4 vs GPT-3.5-turbo. I'd love to see this in the plugin, allowing me to choose the model via the shortcut or the command palette.

Bump to this, there are significant differences between the models, and they have different use cases - https://platform.openai.com/docs/models. Preferably, the model used to generate it would be annotated in a property of the block inserted


Fix @implements emit for namespaced base types

Fixes #38640
Couple of outstanding questions:

Whether an inaccessible base type is possible -- currently we only allow type references here, which is fine for chrome-devtools, but doesn't work for the pure JS case where somebody wants to declare that they implement a class that they acquired via require -- require doesn't create a real alias today, but a value, which cannot be used for implements.
serializeImplementedType contains a duplicate of trySerializeTypeReference, except that it calls isTypeSymbolAccessible instead of getSymbolAccessibilityChain. Both should call the same function, and then the code should be de-duped. But I'm not at all sure whether getSymbolAccessibilityChain should be expanded or whether both should call of isSymbolAccessible.

If (1) is impossible, then I can delete a lot of error reporting machinery that I currently haven't found a way to test.
Here's some more detail:
Inaccessible base type
@implements' type reference doesn't seem to add Value to name lookup the way the rest of jsdoc lookups do. I'm not sure why yet. However, chrome-devtools is referring to types from a .d.ts or global classes, as far as I know. However, the following code should probably work too:
const C = require('m')
/** @implements {C} */
class D { }

I just don't think there's much demand for that, considering that I didn't observe much usage of @implements outside closure codebases, and if people write new jsdoc, they can work around the limitation for now by creating a type alias for the type of the class: @typedef C {typeof import('m').C}.
Duplication in serializeImplementedType
I'm going to try switching trySerializeTypeReference to isValueSymbolAccessible, and pass allowModules: false.

@weswigham I decided to try isSymbolAccessible for everything, and it passes all of suite 0. What additional tests even use d.ts emit? We don't have good coverage here.

What additional tests even use d.ts emit?

JS .d.ts emit is just the relevant conformance folder, mostly. It has a fair quantity of tests in it; but the area to cover is massive.

This PR appears to be approved, but not merged yet. Is there anything I could help out with to get this over the line? Not sure how best we could test this in our repository, I assume we need it packed for that?

Sorry, casualty of some urgent internal work that came up. I'll see if I can address @weswigham's comment about undefined t.symbol.


Textual TUI underlines any section/test that is hovered over

Was not happening in last release.

Opened discussion at Textual: https://github.com/Textualize/textual/discussions/405

This is a bug in Textual's implementation of the render_node method in _tree_control.py. I have fixed it and included a local copy with the package until such a time as there is a new release of Textual. Fix is included with pytest-tui 0.9.3.


aepx template

Hey man, i do really appreciate your work. The potential of it is huge and since i'm working in automatisation development field, this is a really good piece of code. Anyways, i'm not itself super familiar with AE. Could you please explain how to properly create .aepx template in order to make "variables" and how to connect them. I have deeply analysed the package itself, but there is nothing about the project file itself. Thank you!
P.s. I'm trying to use this code i made accordingly to your boilerplate, but i'm getting 1mb files which are not able to open (used your template and it worked).
'use strict';

let background  = '2016-aug-deep.jpg';
let duration    = 600; //video duration in secs.

let aepxfile  = 'test.aepx';

const aebinary  = '/Applications/Adobe\ After\ Effects\ CC\ 2017/aerender';
const port      = 23234;

const http      = require('http');
const url       = require('url');
const path      = require('path');
const fs        = require('fs');

const Project   = require('nexrender').Project;
const renderer  = require('nexrender').renderer;

let server = http.createServer((req, res) => {

    let uri         = url.parse(req.url).pathname;
    let filename    = path.join(process.cwd(), uri);

    fs.exists(filename, (exists) => {
        if(!exists) {
            res.writeHead(404, {"Content-Type": "text/plain"});
            res.write("404 Not Found\n");

            return res.end();
        }

        fs.readFile(filename, "binary", function(err, file) {
            if(err) {
                res.writeHead(500, {"Content-Type": "text/plain"});
                res.write(err + "\n");
                return res.end();
            }

            // send 200
            res.writeHead(200);
            res.write(file, "binary");
            return res.end();
        });
    });
});

server.listen(port, () => {

    console.log('Started local static server at port:', port);

    // addtional info about configuring project can be found at:
    // https://github.com/Inlife/nexrender/wiki/Project-model
    let project = new Project(
        {
        "template": "test.aepx",
        "composition": "main",
        "type": "default",
        "settings": {
            // dont forget to setup the right output module; info:
            // https://helpx.adobe.com/after-effects/using/basics-rendering-exporting.html#output_modules_and_output_module_settings
            "outputModule": "Lossless", //h264
            "startFrame": 0, //this option let's us to cut the whole project in smaller pieces, like time based sprites.
            "endFrame": duration
        },
        "assets": [
            { "type": "project", "name": "project.aepx",  "src": `http://localhost:${port}/assets/${aepxfile}`},
            { "type": "image",   "name": "testas.jpg",  "src": `http://localhost:${port}/assets/${background}`, "filters": [ {"name":"cover", "params": [1280, 720] }] } //for more info about customization: https://github.com/oliver-moran/jimp
        ]
    }
);

    console.log(project);

    // start rendering
    renderer.render(aebinary, project).then(() => {
        // success
        server.close();
        console.log('rendering finished');
    }).catch((err) => {
        // error
        console.error(err);
        server.close();
    });

});

hello,
first of all try to change the name of project asset in the assets part of project, so they all will be same:
    "assets": [
            { "type": "project", "name": "test.aepx"

About the aepx file:
Aepx is after effects project template file, which can be created via after effects itself.
When you save the project, you have an option in the File menu (iirc) to save it as template.
It will be an XML file. You can later open any project template file via text editor and check what is inside 😃
Variables can be made quite simple way, it was even described there: #7

You are a savior, man! Thanks! Will try that tomorrow and will let you know how it goes. I truly wish you luck with your MMO networking project for now!

Okay, so I have tried to tweak a bit according your suggestions since I couldn't wait until tomorrow. I still somehow can't manage to make it work. I have made some pictures.  Thanks for your help!
This is my template i've made:

It renders:

And I get this:

`
'use strict';
let background  = '2016-aug-deep.jpg';
let duration    = 600; //video duration in secs.
let aepxfile  = 'GG.aepx';
const aebinary  = '/Applications/Adobe\ After\ Effects\ CC\ 2017/aerender';
const port      = 23234;
const http      = require('http');
const url       = require('url');
const path      = require('path');
const fs        = require('fs');
const Project   = require('nexrender').Project;
const renderer  = require('nexrender').renderer;
let server = http.createServer((req, res) => {
let uri         = url.parse(req.url).pathname;
let filename    = path.join(process.cwd(), uri);

fs.exists(filename, (exists) => {
    if(!exists) {
        res.writeHead(404, {"Content-Type": "text/plain"});
        res.write("404 Not Found\n");

        return res.end();
    }

    fs.readFile(filename, "binary", function(err, file) {
        if(err) {
            res.writeHead(500, {"Content-Type": "text/plain"});
            res.write(err + "\n");
            return res.end();
        }

        // send 200
        res.writeHead(200);
        res.write(file, "binary");
        return res.end();
    });
});

});
server.listen(port, () => {
console.log('Started local static server at port:', port);

// addtional info about configuring project can be found at:
// https://github.com/Inlife/nexrender/wiki/Project-model
let project = new Project(
    {
    "template": "projektas.aepx",
    "composition": "main",
    "type": "default",
    "settings": {
        // dont forget to setup the right output module; info:
        // https://helpx.adobe.com/after-effects/using/basics-rendering-exporting.html#output_modules_and_output_module_settings
        "outputModule": "Lossless", //h264
        "startFrame": 0, //this option let's us to cut the whole project in smaller pieces, like time based sprites.
        "endFrame": duration
    },
    "assets": [
        { "type": "project", "name": "projektas.aepx",  "src": `http://localhost:${port}/assets/${aepxfile}`},
        { "type": "image",   "name": "aaa.jpg",  "src": `http://localhost:${port}/assets/${background}`, "filters": [ {"name":"cover", "params": [1280, 720] }] } //for more info about customization: https://github.com/oliver-moran/jimp
    ]
}

);
console.log(project);

// start rendering
renderer.render(aebinary, project).then(() => {
    // success
    server.close();
    console.log('rendering finished');
}).catch((err) => {
    // error
    console.error(err);
    server.close();
});

});
`

p.s. After Rendering it weights only 1mb which tells me that there was some problem.

Okay, so i figured out, that these two names, the missing file and asset name has to be identical!

But is there are any way to make an asset without creating and deleting files? Is there are any way to specify the type of it? or i have to create some jpg file f.ex, upload it while choosing "JPEG" file type, since it automatically selects "importerJPEG", then delete it and use the name of the asset same as the deleted file?

yes, asset.name is a name in which file will be renamed after downloading

But is there are any way to make an asset without creating and deleting files? Is there are any way to specify the type of it? or i have to create some jpg file f.ex, upload it while choosing "JPEG" file type, since it automatically selects "importerJPEG", then delete it and use the name of the asset same as the deleted file?

not sure i understand what are you asking about :/
Also thing about file substitution, is that adobe will first look for a file at the place where project last seen it, via absolute path.
So if you are doing everything on the local machine, make sure  that after you saved the project, you move/remove the folder with project and all assets where you last saved it working in the AE.

Okay I will try to formulate the question differently.
When i create a new template i create an composition. If I want to create an empty placeholder/layer/container/variable (idk how it's called in after effects), I do like this:

But when I create it's type "placeholder".

And when i use placeholder name in the code

I get an corrupted file, yet it creates one. (it weights 1mb)
The solution I've found is that I have to use some sort of image file, upload it, then delete/rename it. This way i get the filetype, which, in my belief, is important for nexrender.

Oh, i see.
I never tried using placeholders, and they will not work for that.
I usually just add the needed asset onto composition.
also that "name" param in project asset is actually a filename into which that asset will be renamed
it should be the SAME as the FILENAME of the original asset in the COMPOSITION

Hmm, okay.
The reason of my approach to nexrender is to develop an ability to make one template and feed it with json data to make data driven video at one click. Is it possible to make 100 videos by running this package once?
f.ex. i have json file containing data and accordingly to that data i would like to use specific colors, animations etc. and i would expect 100 videos, made from same template, but different data putted in the same containers/placeholders. ?

yes, this is possible
i would recommending you running it in API-server + rendernode mode
that way you will be able to track all current projects
and also, you will be able to run multiple instances of rendernodes (if your machine will be able to handle it)
which can give you rendering multiple projects at the same time
https://github.com/Inlife/nexrender/wiki/API-server
https://github.com/Inlife/nexrender/wiki/Rendering-node

We are considering that we should use one computer as "a tower" to connect, so it will run an API-server and be the same machine which will be used to render and output/spit files after rendering.
Okay, so I will try to figure out the logic how to make few videos in one click, since i'm a junior developer with big hopes and persistence.
Anyways. Your package is great and i hope it will save our team many weeks!

We are considering that we should use one computer as "a tower" to connect
yeah, that should work just fine

Thank you 😁
Glad you guys like it, keep up the good work ! )


Adding Color Palette Generator Card

This issue is open for anyone to work on. You just need to add a card for a Random Color Palette Generator on the home page (index.html). The CSS and JS files for it have already been added, just need to add a card on the home page.

assign this to me...

/assign

@achiverram28 @Kirti36 are you working on this? Please provide some updates.

@lovishprabhakar i think you can close this issue has it is completed.

@bharathmb7 definitely. Thanks for reminding


Provide as a GitHub action

The example from your own repo is a useful starting point: https://github.com/woodruffw/zizmor/blob/main/.github/workflows/zizmor.yml
However, for users who are only familiar with GitHub Actions and not with cargo, sarif or codeql, it might be nicer to abstract these away behind a github action.
This action could either be shipped within this same repo, or as a standalone repo. The usage could look something like:
      - name: Checkout repository
        uses: actions/checkout@v4
        with:
          persist-credentials: false
      - name: Run zizmor
        uses: woodruffw/zizmor@v1
        with:
          # Optional. Defaults to "^0.1.4"
          version: "^0.1.4"
          # Optional. Defaults to "." to auto-discover workflows in the current repo
          path: "."

Thanks for the request @danielrbradley! This dovetails closely with https://github.com/woodruffw/zizmor/issues/69, so I'm going to consider this a dupe and fill out some more details there.


Merge release/1.0.4 into master if necessary

[ ] https://github.com/couchbase/couchbase-lite-java-core/commit/612e7760564d956b4d6fad9fee8bdca00819280d
[ ] https://github.com/couchbase/couchbase-lite-java-core/commit/9413ef1394d0fada0668735d8791b4e071c0950f
[ ] https://github.com/couchbase/couchbase-lite-java-core/commit/74041144df34355d1c0fbd6d4077c983f38d1d44

NOTE: Version.java - should review separately


[Feature] Send AT in instructions api call

Se manda AT en el servicio de instrucciones

Requirements

[X] Coverage > 90%

Note:

[X] Android Lint check

Note:

[X] Code Style checked

Note:

[ ] Tested with "Don't keep Activities" configuration.

Note:
If impacts documentation (new components, inputs or outputs?)

[ ] PR to develop-docs

Note:

Codecov Report

Merging #692 into develop will not change coverage.
The diff coverage is 0%.

@@           Coverage Diff            @@
##           develop     #692   +/-   ##
========================================
  Coverage    28.98%   28.98%
========================================
  Files          243      243
  Lines        17545    17545
  Branches      1525     1525
========================================
  Hits          5086     5086
  Misses       11926    11926
  Partials       533      533

Impacted Files
Coverage Δ

...rc/main/java/com/mercadopago/core/MercadoPago.java
0% <0%> (ø)
:arrow_up:

...java/com/mercadopago/core/MercadoPagoServices.java
40.45% <0%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Add Tx Support

This PR adds support for the tx frame action based on the spec outlined here.

@daria-github you'll want to add a changeset to this PR so that the client publishes a new package to NPM after you merge this


Fix fonts not copied to public folder

Currently, font exists in resources/fonts/* not copied into public/fonts (or as configured). This pull request add a copy rule to the webpack config to do so.

Why this is not merged? We need this.

The project might be dead..

They should be with these two rules:

https://github.com/tonik/theme/blob/develop/build/rules/fonts.js
https://github.com/tonik/theme/blob/develop/build/rules/external.fonts.js

Can you tell a little bit more about how you importing fonts in your project?

Oh hello..
I try to create a font-face of some fonts on the resources/fonts directory, but it doesn't seem to be copied to public/fonts. Therefore, my theme won't load them. Is this intentional that then I should use the font from resources/fonts directly instead?
I created a SASS with content like these,
$themedir: '/wp-content/themes/sligh/public';

@font-face {
    font-family: 'Lato Hairline';
    src: local('Lato-Hairline'), url($themedir + '/fonts/Lato-Hairline.woff2') format('woff2'), url($themedir + '/fonts/Lato-Hairline.woff') format('woff');
    font-weight: 300;
    font-style: normal;
}

I review the rules once more and get the bulb on.
Turns out, that rules work when we use relative path, right?

@font-face {
    font-family: 'Lato Hairline';
    src: local('Lato-Hairline'), url('../fonts/Lato-Hairline.woff2') format('woff2'), url('../fonts/Lato-Hairline.woff') format('woff');
    font-weight: 300;
    font-style: normal;
}

Therefore, I will close this PR. Sorry for the bother @jedrzejchalubek.

Yeah, Webpack needs relative paths in order to find these files and transform its URLs. Using a variable here may be a problem too, but never tested out this scenario.
No problem, thanks for clarifaing 😄


Can tsconfig.json be made optional?

I've just started a new Node.js project – all it has is src/index.ts and ts-node / typescript as dev dependencies. Despite that there is no tsconfig.json, the following dev command works properly (I assume that some defaults are picked):
  "scripts": {
    "dev": "ts-node src/index.ts"
  },

After yarn add --dev<EMAIL_ADDRESS>and replacing ts-node src/index.ts with ts-node-dev --respawn --notify=false src/index.ts, I'm seeing the following error:
/private/var/folders/kz/lrtmrvld16q_q45z8pg1dsskrbyg3_l/T/ts-node-dev-hook-42574828773943385.js:99
      throw new Error('Waiting ts-node-dev ready file failed')
      ^

Error: Waiting ts-node-dev ready file failed
    at Object.<anonymous> (/private/var/folders/kz/lrtmrvld16q_q45z8pg1dsskrbyg3_l/T/ts-node-dev-hook-42574828773943385.js:99:13)
    at Module._compile (internal/modules/cjs/loader.js:689:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
    at Module.load (internal/modules/cjs/loader.js:599:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
    at Function.Module._load (internal/modules/cjs/loader.js:530:3)
    at Module.require (internal/modules/cjs/loader.js:637:17)
    at Module._preloadModules (internal/modules/cjs/loader.js:805:12)
    at preloadModules (internal/bootstrap/node.js:588:7)
    at startup (internal/bootstrap/node.js:269:9)

Creating tsconfig.json with an empty object resolves the issue. However, given that in my case this new file does not carry any payload and ts-node works without it, can it be made optional for ts-node-dev as well?

Ok, will remove the check in the next update.


fix(line): overflow symbols should render if clip is false #11549

fix #11549.
before:

after:

Thanks a lot! I've planned it in this version.


Simplify PinTextWatcher

What

Why

Test Plan

✅ | ❌ I've added unit tests for this change.
✅ | ❌ The reviewer should manually test the changes in this PR.

Demo

How

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#285
#284
#283  👈
#282
#281
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @devinmorgan and the rest of your teammates on  Graphite

Merge activity

Jul 9, 4:43 PM EDT: Graphite rebased this pull request as part of a merge.


Make rustversion a dev-dependency

It's only used in tests, so this is sufficient and avoids an unnecessary transitive dependency for users of escape8529.

Thank you for the quick turnaround and new release!


SWARM-610: The wildfly-self-contained.d directory lingers

[x] Have you followed the guidelines in our Contributing document?
[x] Have you created a JIRA and used it in the commit message?
[x] Have you checked to ensure there aren't other open Pull Requests for the same issue?
[x] Have you built the project locally prior to submission with mvn clean install?

Motivation
Some files lingers in the tmp directory when the process stops
Modifications
Change the WF Core StandaloneContainer to manage the tmp directory explicitly and provide a stop() to shutdown the container.
Result
All allocated tmp files will be properly removed when Swarm stops.

i've included @kenfinnigan suggestions. retest this please

Ah damn, i've pushed the changes to #218. So if you merged this one before #218, you get the changes included.


bibtex: display authors and editors

Authors and editors were not displayed in the BibTeX output
because the serializer was trying to read authors from the schema output,
where it was not present. This logic has now been moved to the
BibTexCommonSchema, so it can access the required data.
INSPIR-2591

Signed-off-by: Micha Moskovic<EMAIL_ADDRESS>

rebase after https://github.com/inspirehep/inspirehep/pull/389


Replace every occurrence of build-doc by build-data

Since b77e39beb1642abe75f8c4044819ba8e72792687, the build-doc goal got renamed into build-data. However the documentation is still referencing the old naming convention.
This PR updates the documentation in order to build the Hoogle database using the new build-data goal.

Thanks!

Thanks! My bad


use HDF 1.8 version of H5Oget_info

this doesn't exist in HDF 1.6, and was made incompatible with
HDF 1.12, so we need to specify the HDF 1.8 version.

Checklist

[ ] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


Should be able to edit target entitiy

Currently, when an entity from automatic translation cannot be correctly aligned, it is set with a span covering all the target text. When it happens, the GUI displays [0, 0]. This is acceptable but unfortunately, it cannot be corrected without discarding also the source entity.
One should be able to edit a target entitiy without removing also the source one.

It seems to be a bit difficult to implement this feature on the current interface. I think there may be a compromise solution.
Instead of clicking on an entity to delete it, a "delete entity" button could be added. Then, when click "add target entity", we can check if there is a selected item in the list, and if there is, we can get the index of the selected target entity, and then overwrite the old span with the new span. Finally, set the list to unselected state.
Some useful API includes QListWidget.item(row), QListWidget.currentRow(), QListWidget.setItemSelected(item, select), QListWidgetItem.text().

Good idea. We could also keep the "Delete entity" behavior if there is no text selected. But if there is selected text in the target area and a element of the target entity list is clicked, then this entity is replaced by the selected text. I think this would be very intuitive. What do you think?

Sounds great!  And this way no additional interface modifications need to be introduced.
One thing to note is that it may be necessary to use self.ui.target.setTextCursor(QTextCursor()) to reset the selected state of the target area after click "add target entity"

Hi @danovw , I don't have time to work on this feature but it would still be very useful :)

Good idea. We could also keep the "Delete entity" behavior if there is no text selected. But if there is selected text in the target area and a element of the target entity list is clicked, then this entity is replaced by the selected text. I think this would be very intuitive. What do you think?

Thanks for your great idea! I have implemented this feature.

Yes, it works! Thanks a lot.


Update README.md

[readme]: update videos to photos

nice spot @H7ioo ! Thanks!
There is a check failing because the commit should follow the Conventiona Commits standard. This repo has release automations that depend on that format, hence why I can't just ignore it
The commit summary should be something like "docs: update wrong 'photos' to 'videos' in README". Could you update it please?


Fail to launch quickgui completely

I followed your instructions to add your PPA and installed quickgui successfully - my system Kubuntu 21.10  is up to date, when launching from the application launcher I see the following screen.

No errors appear, so I tried launching via the terminal and see the following.
ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: ProcessException: No such file or directory
  Command: quickget list_csv
#0      _ProcessImpl._start (dart:io-patch/process_patch.dart:401)
#1      Process.start (dart:io-patch/process_patch.dart:38)
#2      _runNonInteractiveProcess (dart:io-patch/process_patch.dart:578)
#3      Process.run (dart:io-patch/process_patch.dart:49)
#4      loadOperatingSystems (package:quickgui/main.dart:17)
#5      main (package:quickgui/main.dart:62)
#6      main (file:///home/yannick/quickgui/.dart_tool/flutter_build/generated_main.dart)
#7      _runMainZoned.<anonymous closure>.<anonymous closure> (dart:ui/hooks.dart:127)
#8      _rootRun (dart:async/zone.dart:1428)
#9      _CustomZone.run (dart:async/zone.dart:1328)
#10     _runZoned (dart:async/zone.dart:1863)
#11     runZonedGuarded (dart:async/zone.dart:1851)
#12     _runMainZoned.<anonymous closure> (dart:ui/hooks.dart:125)
#13     _delayEntrypointInvocation.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:297)
#14     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:192)

I store quickemu in /home/andy/Projects/quickemu, from there I can run the command quickget list_csv and appears to work correctly, I have tried launching quickgui from that directory to see if it picked info from there but same result.
Happy to give any more info required.

 I git cloned quickemu but added your project from the PPA, so when launching your application it didn't know where to find the path to quickemu.
I know this was a me problem, but maybe a message if someone does the same saying "Can't find quickemu in path" maybe if I was more with it I could have got that from no such file or directory.
Will close it anyway.


[DOR-69][AO] add import question which priority goods model and controller

This PR is a follow up of #39

fixed error message and entry numbers


[bug]: Setting Dynamic Default Form Values Does Not Work

Describe the bug
I am using a form view widget in stacked. I would like to dynamically set the initial value of a text field based on the props passed to the component, thus I cannot use the initialValue property inside the FormView decorator. My current approach is to accept an object containing the form values inside of my constructor of the view model and set the form values. However, this does not updating my text fields with the correct values.
To reproduce
Inside of my form's view model's constructor, I'm accepting the object containing the form's values and setting those.
  SetTourInfoModel(Tour tour) {
    titleValue = tour.title;
    descriptionValue = tour.description;
    rebuildUi(); // not sure if this is necessary but included it for the sake of completeness.
  }

and I call this function inside the widget like:
  @override
  SetTourInfoModel viewModelBuilder(
    BuildContext context,
  ) =>
      SetTourInfoModel(initialTour); // where initialTour is a variable passed into widget's constructor

Expected behavior
This should set the form's text field values to be the ones described in the Tour object I'm passing to my view model.
Screenshots
No response
Additional Context
No response

This was user error. Instead of setting the values in the view model's constructor I'm calling an initFormValues inside the onViewModelReady function and setting the form values there. It might be helpful to document this process on the docs as the existing docs on forms is extremely simplistic. I look forward to the "deep dive of Stacked Forms" coming soon!

I still can't seem to get forms with initial values working. I'm calling my initValues in my form model like the following:
 @override
  void onViewModelReady(SetTourInfoModel viewModel) {
    syncFormWithViewModel(viewModel);
    viewModel.initFormValues();
  }

If I open the widget that uses the form, edit it, close it, then open it again I get the following error:

setState() or markNeedsBuild() called during build.

With the stack trace leading to my viewModel.initFormValues() call. For reference, here is that function inside the view model:
  initFormValues() {
    titleValue = _initialTour?.title;
    descriptionValue = _initialTour?.description;
  }

You should call initFormValues on a postFrameCallback just to be safe.
It's trying to rebuild the tree while it's rebuilding.


Rewrite root README

Issue summary

It is currently outdated and mixes a lot of things. It should be simplified, and more comprehensive documentation should live in more relevant locations.
Other information and links

Given the snapshot service was evicted, now it's good enough.


Add Airflow BashOperator orchestration documentation

As the next step, it would be great to let people choose between this bash operator and a python operator.  Would a python operator also be able to work in its own virtual env?

That’s something I’m investigating, the plan is to isolate as much as possible so we don’t clash with airflow dependencies

👌


Fix compatibility with Python 3.5

Difflib in py3.5 checks the variable types passed in to unified_diff -
as such it would break saying they aren't strings. Previous Python
versions would just call str() on them rather than checking. This just
adds the str() check and will subsequently fix the issue and still work
on previous Python versions.

Looks great! Thanks!


Document RBAC requirements for workflow pods

Testing on GKE with legacy auth disabled. Although the controller installs and runs with correct service account, the pods which it schedules, are still using the default service account (in their respective namespace) and are unable to update the pod metadata of itself and add the outputs to the pod annotation.
time="2017-12-04T02:19:31Z" level=info msg="Capturing script output"
time="2017-12-04T02:19:31Z" level=fatal msg="Error capturing script output, pods \"pod-limits-dds8d-1859251742\" is forbidden: User \"system:serviceaccount:default:default\" cannot get pods in the namespace \"default\": Unknown user \"system:serviceaccount:default:default\"
github.com/argoproj/argo/errors.Wrap
	/root/go/src/github.com/argoproj/argo/errors/errors.go:86
github.com/argoproj/argo/errors.InternalWrapError
	/root/go/src/github.com/argoproj/argo/errors/errors.go:69
github.com/argoproj/argo/workflow/executor.(*WorkflowExecutor).GetMainContainerStatus
	/root/go/src/github.com/argoproj/argo/workflow/executor/executor.go:265
github.com/argoproj/argo/workflow/executor.(*WorkflowExecutor).GetMainContainerID
	/root/go/src/github.com/argoproj/argo/workflow/executor/executor.go:280
github.com/argoproj/argo/workflow/executor.(*WorkflowExecutor).CaptureScriptResult
	/root/go/src/github.com/argoproj/argo/workflow/executor/executor.go:306
github.com/argoproj/argo/cmd/argoexec/commands.waitContainer
	/root/go/src/github.com/argoproj/argo/cmd/argoexec/commands/wait.go:41
github.com/argoproj/argo/vendor/github.com/spf13/cobra.(*Command).execute
	/root/go/src/github.com/argoproj/argo/vendor/github.com/spf13/cobra/command.go:702
github.com/argoproj/argo/vendor/github.com/spf13/cobra.(*Command).ExecuteC
	/root/go/src/github.com/argoproj/argo/vendor/github.com/spf13/cobra/command.go:783
github.com/argoproj/argo/vendor/github.com/spf13/cobra.(*Command).Execute
	/root/go/src/github.com/argoproj/argo/vendor/github.com/spf13/cobra/command.go:736
main.main
	/root/go/src/github.com/argoproj/argo/cmd/argoexec/main.go:11
runtime.main
	/usr/local/go/src/runtime/proc.go:185
runtime.goexit
	/usr/local/go/src/runtime/asm_amd64.s:2337"

Just trying to get started with argo and while these notes are a good start, I don't think that giving the default user admin permissions is a good idea. Correct me if I'm wrong, but that means that all my pods get full access, right?
As I understand it, I can use submit --as to provide a different account, but I struggle creating one that has the right permissions. I've installed argo in a new argo namespace (with install --install-namespace`), then tried:
kubectl create sa argo
kubectl create rolebinding argo --clusterrole admin --serviceaccount default:argo

But when trying to submit a job in the default namespace, I get:
argo submit --as argo https://raw.githubusercontent.com/argoproj/argo/master/examples/coinflip.yaml
2018/02/05 13:23:59 Workflow manifest https://raw.githubusercontent.com/argoproj/argo/master/examples/coinflip.yaml failed submission: workflows.argoproj.io is forbidden: User "argo" cannot create workflows.argoproj.io in the namespace "default"

Do I somehow need to explicitly give it permissions on the workflow CRDs?

Okay I figured this out: I needed to build from source and use the recently added --serviceaccount flag. Not sure what the difference is though. I'd suggest to improve the help strings for the flags too. I don't know what it means by 'impersonating'. Would also help to group the flags somehow to avoid confusion. E.g --user could become --kubeconfig.user or something like that.
In general though, I'd like to be able to run workflows in any namespace, so giving the default user in each namespace some permissions seems to be the way to go. But not the admin permissions. Are the required permissions documented somewhere? IMO there should be a role that can be bound to default, allowing only the necessary actions (annotating the pods AFAIK?)

Correct me if I'm wrong, but that means that all my pods get full access, right?

That is correct, but this is an admin and not cluster-admin, so it will be limited to what is in that namespace. So if you are worried workflows accessing things that it shouldn't, you should run workflows in an isolated namespace.

Not sure what the difference is though. I'd suggest to improve the help strings for the flags too. I don't know what it means by 'impersonating'

Actually these are all kubernetes flags that we inherit from the k8s CLI tooling so we don't have control over this

Okay I figured this out: I needed to build from source and use the recently added --serviceaccount flag

Both v2.0.0-beta1 and v2.0.0-alpha3 have this feature so no need to rebuild from source.

Are the required permissions documented somewhere? IMO there should be a role that can be bound to default, allowing only the necessary actions (annotating the pods AFAIK?)

The bare minimum for normal workflows is that the executor sidecar needs to get/update/patch pods so that it can read metadata about itself, and annotate outputs.
That said, the privileges that the pod needs depends on what the workflow is doing. For example, if the workflow also needs to upload/download artifacts to S3, it should also be able to read secrets in the namespace. If the workflow needs to orchestrate (create/delete) other kubernetes resources, it will need create/delete permissions on those types of resources.

That is correct, but this is an admin and not cluster-admin, so it will be limited to what is in that namespace. So if you are worried workflows accessing things that it shouldn't, you should run workflows in an isolated namespace.

Ah thanks for clarifying.

Both v2.0.0-beta1 and v2.0.0-alpha3 have this feature so no need to rebuild from source.
Uhmm.. you're right, not sure how I missed that.

The bare minimum for normal workflows is that the executor sidecar needs to get/update/patch pods so that it can read metadata about itself, and annotate outputs.

Is there a reason why the controller isn't doing these things instead? Except maybe the S3, it sounds to me (but I might miss something) like it's something the controller should do. That could ensure that it's only modifying the pods that belong to the workflow.

I'm still having issues with RBAC, granting the same access to my developers group I can only execute argo commands if using an admin account. Using a developer account, I have this problem:
argo submit --serviceaccount argo --namespace argo https://raw.githubusercontent.com/argoproj/argo/master/examples/artifact-passing.yaml
2018/02/08 15:47:05 Workflow manifest https://raw.githubusercontent.com/argoproj/argo/master/examples/artifact-passing.yaml failed submission: workflows.argoproj.io is forbidden: User "developers-staging" cannot create workflows.argoproj.io in the namespace "argo"
Couldn't find what kind of permissions I need to grant to my developers group. They can create/patch/update/get pods on the argo namespace. Tried a buch of different rules and still the same issue.


Dojo haberger tax system

A Harberger tax is a system in which individuals or entities set a value on their assets and then pay taxes on that self-assessed value. The twist is that they must be willing to sell the asset at that declared value if someone else is willing to buy it. This incentivizes efficient allocation of resources as individuals can't overvalue their assets to avoid taxes.
In a video game economy, a Harberger tax could offer multiple benefits. It could prevent players from hoarding resources, encouraging more active and productive participation. By making players consistently reevaluate the value of their in-game assets, it promotes a dynamic market that reflects actual demand. This tax model can also fund public goods, like infrastructure or events, enhancing overall gameplay and fairness. Additionally, it could discourage cheating or exploiting game mechanics, as players would need to declare the true value of their gains. Overall, a Harberger tax in a video game economy creates a balanced and vibrant virtual marketplace while nurturing a sense of community involvement and resource management.
It is particularly interesting for scarce resources, such as land in a game, which can be owned by a few people cornering the market, and is akin to a land value tax..
Explanations & deep dives

https://medium.com/@simondlr/what-is-harberger-tax-where-does-the-blockchain-fit-in-1329046922c6
https://vitalik.ca/general/2018/04/20/radical_markets.html
https://blog.simondlr.com/exploring-harberger-tax-in-patronage-markets

Code example

https://github.com/TROJANFOUNDATION/thisartworkisalwaysonsale, from https://medium.com/@simondlr/this-artwork-is-always-on-sale-92a7d0c67f43
https://ethereum-magicians.org/t/eip-5320-harberger-taxes-nft/10084
Example of an app using harberger taxes: https://eric.orb.land/, https://github.com/orbland/orb

Great idea!
This is perfect for a module - should this exist in the Dojo-defi module? Perhaps we should rename the module to dojo-finance to be more general.

Agreed! I think finance is a good name. It's more generic.

I think it might make sense to do an example, it's hard to generalise this tax. I'm going to close this for now and make an example in dojo-examples. If we think we can generalise it into a module we will.


Dotted line border doesn't match up on corners and sides

Describe the bug
I see overlapping of dots on border-radius corners and sides which visually is not very appealing.
Props to Reproduce
Simply choose dotted as a border
Screenshots
Take a screenshot of the style in the playground

Additional context (Optional)
I know this is a tough thing to fix, I don't have a great solution, CSS tricks and StackOverflow have some ideas on using images to fix this, but I'm not sure if this is an acceptable approach.

To be honest I did discover this, and you are right. It will be tricky to solve, because those are 3 separate divs, and I need so somehow predict where the dotted lines are going to separate. I'm going to try looking into this.

It's an issue with and without border-radius so it poses some challenges.

Hf


Python opcua-asyncio

Upstream: https://github.com/FreeOpcUa/opcua-asyncio
PyPI: https://pypi.org/project/asyncua/

[x] dunfell: #165
[ ] kirkstone: …

:leftwards_arrow_with_hook: Duplicated with a different name in another layer.


How it is made in vanced?

Hi, I have downloaded Vanced app from playstore. And I wonder how they were able to fully customize the player and remove any YouTube logos, and include their own buttons? And also how is this legal with 1 million downloads - with Google letting this app to be on playstore :/
This question comes as I have read that removing YouTube logos is impossible with this library. Can somebody point me to the right direction?
Thank you for this amazing library anyway :)

Are you talking about Vanced Tube - Video Player? I agree, not sure that app will be there for long. It has beep published for the first time late last year, so not long ago. In my experience Google can be pretty slow in finding app's that break ToS.

Yes! And now they released also an app called "Pure Tuber". I can not understand how they were able to remove all the youtube logos and fully customize player. I believe this is a webview and they were able somehow to remove all logos with HTML5 maybe who knows...

Well it's possible to hack the web player to remove parts of it, see #329. It's not a good solution though, since it will break each time YouTube makes some changes to their code.
Still YouTube won't be happy with it, as you're breaking ToS.

I just looked at Pure Tuber, can say almost for sure that it will be removed, since it's just a YouTube clone and break every possible rule. Unless something major changed in the ToS.

Even though I am not good at HTML world this is a site where you could create your own custom player: -> https://empora.com/
They have found ways to remove everything, and change the style of the player. Then you can insert it with a webview. This is the only nice way I can think of right now.

Pure Tuber its no loner available :

Hi Sir @PierfrancescoSoffritti can you please take a look here


Multiple currency support in MarketplaceV3 DirectListings contract.

MarketplaceV3 contracts only support a single currency for DirectListing.
It would be nice to support multiple currencies when making payments.
For example, an NFT could be sold for 1 ETH or 2000 USDT.
It can facilitate NFT transactions among marketplace users.

Hi @goldnite 👋🏽  the MarketplaceV3 contract does have this feature. See DirectListings.approveCurrencyForBuyer here: https://github.com/thirdweb-dev/contracts/blob/main/contracts/prebuilts/marketplace/direct-listings/DirectListingsLogic.sol#L215


Brew formula and service

With homebrew we could enable the users for easy install and automatic startup (and restart) for pgweb for seamless control 👍

Pgweb is already distributed via homebrew cask, however i'm not sure if casks support plists. Since im a pgweb developer i dont really use the service plist, however i've made one before and it worked fine. I just posted my question on homebrew-caskroom to figure out if this is something we can add.
Here's the plist that works with the latest pgweb installed from the cask:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>KeepAlive</key>
  <true/>
  <key>Label</key>
  <string>homebrew.mxcl.pgweb</string>
  <key>ProgramArguments</key>
  <array>
    <string>/usr/local/Caskroom/pgweb/0.9.9/pgweb_darwin_amd64</string>
  </array>
  <key>RunAtLoad</key>
  <true/>
  <key>StandardErrorPath</key>
  <string>/usr/local/var/log/pgweb.error.log</string>
  <key>StandardOutPath</key>
  <string>/usr/local/var/log/pgweb.log</string>
</dict>
</plist>

To answer my own question regarding the plist support in homebrew casks: no, its not supported. If we wanted to move pgweb to homebrew core we would have to support building from source, which i don't find useful.


Component hbs and js should open simultaneously

@joostdevries I was going to implement this, but I have some questions regarding this.

should the seperate entries for creating only the component hbs or only the component js really be removed? I mean some people might want to create only a template or js file for the component
as I understand it after creating the files the dropdown menu (for selecting files) works normally, it shows the seperate js and hbs file for selection (not a single selection which will open both files at once)
how would you like to handle the file path selection? just open the prompt 2x ?

For the 3rd question, I was thinking about letting people only edit part of the path, so if they write some-component in the prompt, it would generate components/some-component.js and templates/components/some-component.hbs files. Less possible to shoot yourself in the foot, but could be too limiting (if twiddle wants to support pod structure simultaneous to the "classic" structure, like cli works).
Could be fine for now though if pod support isn't an issue? Maybe later if pod support is required this can be rethinked and modified.

@piotrpalek I'd add an option to the file menu called Create component which just opens a prompt asking for the component name (instead of path). If people accidentally do enter an extension, just strip it.
I'd leave the separate options in as well.

Fixed by #148


featured-image include is dependent on CONTENTdm

https://github.com/CollectionBuilder/collectionbuilder-sa_draft/blob/master/_includes/image/featured-image.html

This should be fixed by commit https://github.com/CollectionBuilder/collectionbuilder-sa_draft/commit/5e25b8b606582ea0b0a8b848138b6fe35aebbe18

@dcnb, I noticed that after this commit I was only ever seeing the CB logo as the featured image, even when featured-image-link was specified as a value that had previously worked.
The issue appears to be that the code that you copied from the new SA version assumes that theme.yml has a single featured-image configuration option which can be either an objectid or URL, whereas the theme.yml is this repo has dedicated featured-image-objectid and featured-image-link fields.

I assume that this repo will probably be updated to that single featured-image config at some point, but in the short term,
I created a pull request here (and assigned to you) that appears to work: https://github.com/CollectionBuilder/collectionbuilder-sa_draft/pull/45


export storageconsumer data as metrics

encode the versions from storageconsumer CR status to comparable numbers
export these numbers are metrics
create alerts for version incompatbility and client checkin via heartbeats

only last commit is reviewable for now.

@aruniiird, @jmolmo could you pls review last commit in this PR?

Please add documentation about the new alerts in the runbooks repo.

@jmolmo, can this be deferred to a later point, ie, after 4.14 and before 4.14.z as we require the PR to be feature complate
And also we aren't merging to main as this will be a custom build until release and I'll definitely raise PRs for the runbooks after this PR gets merged as I don't want to update at two places in parallel if we require changes to the alerts wrt pr comments

Lots of unrelated changes in the alert yaml files, please remove it from commit. Looks good otherwise.

I just followed README and these are generated when I ran corresponding make targets
#2225 should probably fix it, anyways, if these are generated during build I can remove from this PR, can I?

Lots of unrelated changes in the alert yaml files, please remove it from commit. Looks good otherwise.

I just followed README and these are generated when I ran corresponding make targets
Ran 'make gen-latest-prometheus-rules-yamls' command #2225 should probably fix it, anyways, if these are generated during build I can remove from this PR, can I?

I think, everything will be more clear if we merge first:
https://github.com/red-hat-storage/ocs-operator/pull/2225
@umangachapagain can you review it and approve if it is ok?

@jmolmo both the branches differ and for now if they are generated during build time then this PR isn't dependent on any other.

@jmolmo both the branches differ and for now if they are generated during build time then this PR isn't dependent on any other.

It seems that the modifications in the rules file are not generated during the build, you need to execute explicitly the command "make gen-latest-prometheus-rules-yamls":
#2225 is set because it was forgotten to execute it.
If you want to add your rules, you will need also to execute  the make command an you will generate your modifications and also the modifications in #2225.
This is why I say that in order to make thing easier for ourselves in the future, probably #2225 should be merged first.

It seems that the modifications in the rules file are not generated during the build

ack, got it. Here we are in a different situation, #2225 was raised for a different branch, for the HCI effort pls consider the current base branch (fusion-hci-4.14) is entirely different
so I added the changes generated after following README to this PR itself
when we take in changes from main, these changes shouldn't conflict (mostly) as they are generated by same tooling

I've rebased on the base branch and this PR can receive your votes for the merge if you are fine with it @jmolmo @umangachapagain

thanks.


GNOME 3 shutdown is delayed for 2 minutes: “A stop job is running for User Manager for UID 1000”

Describe the bug
In nixos-unstable with services.xserver.desktopManager.gnome3.enable = true, shutdown is delayed for 2 minutes at:
[ ***  ] A stop job is running for User Manager for UID 1000 (1min 54s / 2min 1s)

To Reproduce
This can be reproduced with a minimal VM. (It also happens with a real system, of course.)

Create /tmp/configuration.nix:{
  services.xserver.enable = true;
  services.xserver.desktopManager.gnome3.enable = true;
  users.users.nixos.isNormalUser = true;
  users.users.nixos.hashedPassword = "";
}

Checkout nixos-unstable (currently ff96a0fa5635770390b184ae74debea75c3fd534).
Run: nix-shell -I nixos-config=/tmp/configuration.nix -p '(import ./nixos {}).vm' --run 'run-nixos-vm -m 4096'
Click Log In.
Click the GNOME power menu and select Power Off; click Power Off.
The shutdown is delayed for 2 minutes:[ ***  ] A stop job is running for User Manager for UID 1000 (1min 54s / 2min 1s)

Expected behavior
Shutdown should not be delayed.
Additional context
This was not an issue in nixos-20.09.
Notify maintainers
@hedning @jtojnar @worldofpeace @dasj19
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.

system: "x86_64-linux"
host os: Linux 5.10.15, NixOS, 21.05.git.ff96a0fa563 (Okapi)
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.3.10
channels(anders): ""
channels(root): "nixos-21.05pre269929.ff96a0fa563"
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos

Maintainer information:
# a list of nixpkgs attributes affected by the problem
attribute: []
# a list of nixos modules affected by the problem
module: [services.xserver.desktopManager.gnome3]

I can reproduce, indeed very annoying. A workaround can be to reduce the systemd timeout time. I've heard other people report this

I found the issue and fix from upstream: #113171.


[BUG] Nodes expand when scrolling in vim mode

Describe the bug
When scrolling with J and K in vim mode nodes expand.
To Reproduce
Steps to reproduce the behavior:

Enable vim mode
Create document with long multi line nodes and collapsed them.
Scroll down or up with J or K
See error

Expected behavior
Nodes should stay collapsed.
Screenshots

Desktop (please complete the following information):

OS: Ubuntu 20.10

@Philipp0205 Thank you for your contribution!
It might be fixed in beta release https://github.com/vslinko/obsidian-outliner/releases/tag/obsidian-commands-3
Could you please install beta release and check it?

Thanks for the quick answer and your work!
I replaced the beta main.js with my main.js and restarted obsidian. Sadly it does not resolve the issue.

Can't reproduce the issue :(
Could you send me your file from the screencast?

It changed a bit since the screenshot. I uploaded it here: https://u.pcloud.link/publink/show?code=XZSKzsXZbqlaxgiQigLNqju1xxot8hxyiRy0
Thanks for your help!

Looks like problem is in VIM mode. You could check it by disabling Outliner plugin — issue still exists.
I can make hack-ish workaround, but I don't want to support it.
It's way better to report an issue to Obsidian.


Do not try to install traitsui 4.5.0

A new release of traitsui is now available which fixes the installation problem


Model not found

@nticaric Real quick, if you drop your database, create a new one, and run php artisan migrate --seed, do you get a Class 'App\Models\TNTSearch' not found?

yes, just created a pull request to fix this
https://github.com/austintoddj/Canvas/pull/62

Thanks @nticaric!


Swagger UI does not show the example response body

Describe the bug
While the ReDoc UI shows the example body implemented as a ResponseInfo, the Swagger UI only shows default values for the body, like 0 for Ints and "string" for Strings.
To Reproduce
Steps to reproduce the behavior:

Use swagger()
Implement a ResponseInfo with examples.

Expected behavior
The Swagger UI should show the actual examples instead of default values.
Screenshots
Example body a shown by Swagger UI:
{
  "buildId": 0,
  "currentStage": "string",
  "endTime": {
    "seconds": 0,
    "nanos": 0
  },
  "startTime": {
    "seconds": 0,
    "nanos": 0
  },
  "statistics": {}
}

Desktop (please complete the following information):

OS: MacOS 12.1
Browser Firefox
Version 96.0.3

Hmmm interesting 🤔 TBH I don't really use swagger very much, but I know it is a crowd favorite so I made sure to try to support it :)
I can try to replicate this on my end, but feel free to dig around and see if u can find a fix

figured out the issue... I had initially copy pasta'd over an older version of Swagger.  Bumping all the assets up to Swagger 4.5 seems to have resolved this.


[UI] Download links should work for Epinio -rc tagged releases

Setup

Epinio version: v1.10.0-rc1
Epinio UI version: ghcr.io/epinio/epinio-ui:v1.10.0-0.0.1
Browser type & version: Brave 1.57.62

Describe the bug
Download link points to epinio v.1.10.0 when v.10.0.0-rc1 is tagged (https://github.com/epinio/epinio/releases/tag/v1.10.0-rc1)
To Reproduce

Install epinio version v1.10.0-rc1
Go to about page > click on epinio-linux-x86_64

Result

Observe how redirects to https://github.com/epinio/epinio/releases/download/v1.10.0/epinio-linux-x86_64 and a 404 error appears

Expected Result
It should link to https://github.com/epinio/epinio/releases/download/v1.10.0-rc1/epinio-linux-x86_64 downloading the correct binary
Screenshots

Additional context

DUP of https://github.com/epinio/ui/issues/278


Update types, formatting, minor fixes

I added quite a few code style changes and a few fixes in this PR, in particular:

add a .gitignore
add a ruff configuration for formatting and linting

Most of the changes come simply from running ruff check . --fix
This configuration may be quite opiniated. If you don't like this, I can definitely use a different configuration, for example with longer line limits.

add many missing return type annotations, in particular if functions return None or for dunder methods such as __str__
PEP 585 style type annotations (e.g. dict is preferred over typing.Dict)
usage of from __future__ import annotations so we don't have to put type annotations that use classes in quotation marks
PEP 604 style type annotations (use a | b instead of typing.Union[a, b])
use Generics for Listable so the LIST's type may be inferred more precisely

I also noticed some more issues which I wasn't sure how to fix (for example, the mod_type in Modifier may theoretically be None, but it seems like it should only be int and there is no check for None).
In case you're curious: I found most type issues using mypy.
Also, I had issues running the unit tests. So please test this rigorously should you decide that you want to merge this.
In case you have any issues with this PR, feel free to reach out to me!

I guess my typing style was a bit out of date, thanks for the massive amount of changes!


Allow chargeback report to run with nil userid

This assumes that a nil user is not a self service user.
https://bugzilla.redhat.com/show_bug.cgi?id=1266270
@lfu @gtanzillo please review

@kbrock Please review as well

Looks good to me :+1:

I'd prefer to go the other way. I'd like there to always be a user.
This is probably due to the userid ||= "system" junk.
lets merge for now. We can get rid of the "system" user references soon enough


Adding logo and media files

In media/ directory. Also replaced public/favicon.ico and modified readme to include new logo at top.

Coverage remained the same at 90.23% when pulling 9392d4bc707bb836ab365f006ea5e58150d0fb75 on willyg302:logo into 38c53ba091515661f04c12592826cedbaaeba7d1 on cantino:master.

Awesome!  I'm trying to decide if a lighter colored headset would help, like in #592.

This is a tad lighter:

As for merging, that's entirely up to you :laughing: The current font seemed to work best out of a lot that I tried, but if you have any fonts you like (other logos that happen to catch your eye are a great source of inspiration for this) just let me know and I'll experiment!

I think I liked this one's headset color: https://github.com/cantino/huginn/issues/592#issuecomment-82055448

You're talking about the black and white headset?

Yea, I think I prefer this coloring.  What do other people thing?

It does make the eye and red feather stand out more.
@knu @m7md88 @dsander @alias1 @chriseidhof @virtadpt @space-pope @KeithHanson @crawfordcomeaux @urnf @armish @snicker @deanputney Thoughts?

It feels better with the overall image, but I wonder if there isn't enough contrast between the headset and bird now, particularly at small sizes.

I think I'm with the crowd on this one—specifically, @cantino's concern about the font and @alias1's about the contrast at small sizes. I do like this color scheme, though; my only addition to the feedback so far would be that having "Huginn" in that shade of gray makes the name of the software look deemphasized, much like you'd see on a disabled button in a dialog box. Could we maybe try switching the colors on the name and the tagline?

I really like the colors of the latest version, and don't think that the low contrast between the headset and the bird is a problem. Especially at the small sizes the raven should be the identifying element.
How do you feel about the yellow background of the small images? I think I would like a less 'alerting' color better.

Maybe drop the headset on the smallest icons?
I'd be up for trying colours other than the yellow.
—
Sent from Mailbox
On Sun, Mar 22, 2015 at 9:50 AM, Dominik Sander<EMAIL_ADDRESS>wrote:

I really like the colors of the latest version, and don't think that the low contrast between the headset and the bird is a problem. Especially at the small sizes the raven should be the identifying element.
How do you feel about the yellow background of the small images? I think I would like a less 'alerting' color better.
Reply to this email directly or view it on GitHub:
https://github.com/cantino/huginn/pull/738#issuecomment-84465619

I think the headset is important to keep.

Muted the yellow a bit. Since our color scheme is now leaning towards grays and reds/oranges, I colored the font orange. Also changed up the font to something with a bit more bite. Feel free to check out this list for some font ideas if this still doesn't work.

I like the changes. The orange on white is a bit harsh to my eyes, but I'm one of those people who keeps all their editors with a black background. This probably wouldn't be displayed in too big a sea of white anyway. You shouldn't have given me a list of font options, though, because now I'm wondering what either a Canaro or Gentona italic face would look like :).

+1 for orange on white is a bit retina burning (creature of the night
here), but as above, I assume we wouldn't actually have it on a stark white
background very often/at all maybe?
On Wed, Mar 25, 2015 at 2:29 PM, Josh<EMAIL_ADDRESS>wrote:

I like the changes. The orange on white is a bit harsh to my eyes, but I'm
one of those people who keeps all their editors with a black background.
This probably wouldn't be displayed in too big a sea of white anyway. You
shouldn't have given me a list of font options, though, because now I'm
wondering what either a Canaro or Gentona italic face would look like :).
—
Reply to this email directly or view it on GitHub
https://github.com/cantino/huginn/pull/738#issuecomment-85812652.

Well, probably the most visible use of the logo now would be the GitHub readme which is on white. And putting that on a background would be quite odd.
@space-pope haha, sadly both Canaro and Gentona seem to be free for personal use only and the licenses are outrageous. If I can find a knockoff of either tho, I'll definitely see how it looks.

@willyg302 I really like the new look!

@cantino Great! Updated the PR.

Awesome!  Merging.  We can always iterate more from here.

Looks great in the readme :)

Yup, just ping me if there are any issues or other formats/media you need. Thanks!


[BUG] Quick Installer: INVENTREE_DB_PORT errors

Describe the bug
Quick install results in multiple ERROR Invalid number for INVENTREE_DB_PORT: sampleport messages.
Steps to Reproduce

Run command from https://docs.inventree.org/en/latest/start/installer/#quick-script
Observe output
Multiple instance of ERROR Invalid number for INVENTREE_DB_PORT: sampleport are showing
Server runs fine nonetheless

Expected behavior
If error is false positive, it shouldn't show in the logs.
Deployment Method

[ ] Docker
[ ] Bare metal
[X] Ubuntu Package

Version Information
$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 22.04.1 LTS
Release:	22.04
Codename:	jammy

Relevant log output
inventree_installer.log

@eeintech I added a small fix. Basically, the default raised an error so I changed it to a number.

Sounds good, thanks!


⚠ Bofrost.at has degraded performance

In c2fcd02, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 2037 ms

Resolved: Bofrost.at performance has improved in 54adae7 after 8 minutes.


Change all "multi-word" flags from underscores to dashes

We decided at a meeting a few weeks ago that all flags should use dashes, rather than underscores.  For example, --tar_file_name should become --tar-file-name.  This will result in a more consistent look across all the flags.

See #86

Resolved in #86


Fixed a bug when lowering a while loop involving recvFromHost at

TFGraphLowering::visitBuiltinRecvFromHostInst(). We cannot simply skip the
lowering, since that'll cause the lowering of a subsequent instruction which
consumes the recv'ed value to hit the assertion:

swift: /usr/local/google/home/hongm/ssd_part/git/swift-base/swift/lib/SILOptimizer/Mandatory/TFLowerGraph.cpp:478: TF_Output (anonymous namespace)::TFGraphLowering::getOperandValue(SILOpResult): Assertion `valueInfo.first.oper != nullptr && "didn't find live-in value?"' failed.

Instead added an internal error as suggested by @lattner, and added a test case
to confirm that it'll trigger this internal error instead of the assertion
failure above.
Overall, the graphFn.shouldLowerEffectfulOps based mechanism is a hack to allow
us to compile some of the stateful computation (e.g. sending tensor from TF to
Swift host) within a loop body. It should be replaced with the more proper fix
based on loop rotation.

@swift-ci please test tensorflow


Additional modules required

I followed the instructions in the readme to install from this repo but had to install these modules as well:

click
dataclasses

After doing so I was able to run singer-runner successfully.

Work in progress in https://github.com/datamill-co/singer-runner/pull/3.

Resolved by https://github.com/datamill-co/singer-runner/pull/3


Rapid dev

This PR contains fixes to various previously reported issues. The fix to term tags and aliases requires a database migration - modeltranslation doesn't support list columns, and therefore both tags and aliases were converted to many-to-one relationships. Migration code for existing term data is provided.
Also includes checking backend security improvements.
Installation instructions are also updated for ubuntu.

Major update before moving to more distributed development where new features will be externalized to microservices.


Error when using action on ubuntu-24.04 runner tree: command not found

Hi,
I just updated a few of my CI workflows to test the new ubuntu-24.04 runner image. Everything seems to be working fine so far, except baipp.
I get:
/home/runner/work/_temp/e9988dda-50b6-4f3e-8c69-acb0fb4eae2c.sh: line 6: tree: command not found
Error: Process completed with exit code 127.

See: https://github.com/afuetterer/oaipmh-scythe/actions/runs/9125209745/job/25090924390#step:3:270
Can you reproduce this or is this is somehow my fault? Of course I can just use ubuntu-22.04 or ubuntu-latest.

looks like in noble it’s a separate package https://packages.ubuntu.com/search?keywords=tree&searchon=names&suite=noble&section=all
You can install it yourself as a quick fix for now – I’ll try to fix it, but I’m at PyCon rn.

Thanks for the feedback, it is not urgent. I can wait for a fix or follow your recommendation.
Enjoy PyCon!

FWIW, the same issue occurs on macOS...although, I'm thinking this action is intended to only support runners using ubuntu or similar.

it is indeed!

Awesome, thanks.

2.6 is tagged and released

FYI:

https://github.com/actions/runner-images/pull/9936

I guess you can revert the changes then?


[Netty 5] ChannelFuture type

This special type of Future is associated with a Channel. However it is not always necessary to have this association and we may be able to remove this type entirely to simplify the type hierarchy. One specific complication with this is the Bootstrap has to return a ChannelFuture, but it may not have a Channel if the operation fails.
We proposed a complete removal of ChannelFuture in the f2f meeting, and there was no strong objection. More investigation is needed if there are compelling use cases that can’t be accommodated in other ways which may necessitate keeping ChannelFuture, but at a minimum will we only use it where absolutely necessary (if at all).

I'm trying to remember the details of this. gRPC does use the "bootstrap returns a ChannelFuture" to discover what the Channel is before it has started. But we also go out of our way to detect the "failed to create case."
I think I remember now. We discussed splitting bootstrap creation into two parts: initialization (create the Channel) and registration. Initialization can happen synchronously whereas registration would remain asynchronous.

@ejona86 yes kind of... a Channel should always be constructed with an EventLoop and register(...) should just register for IO (like register on an Selector).
So I think in this case bootstrap would return a Future<Channel>.
Does this make thinks more clear ?

Future<Channel> isn't enough, as we need to know the Channel before registration() is 100% complete. (The EventLoop selection needs to have been done, but not the channelRegistered() notifications). We need to know the Channel synchronously. So just some way to get the Channel reference without waiting for channelRegistered() notification to complete.

@ejona86 got it... this should be easy to do.

I've been looking through the remaining uses of ChannelFuture, and specifically its channel() method, which is the one thing that makes them stand out. We're currently able to enjoy potentially allocation-free callbacks like the constants in ChannelFutureListener.
To replicate that, including the allocation-freedom, we'd need to attach not only a listener but also a context that will be passed to the listener. This way, the listener can be non-capturing. Something like this:
// Existing method:
Future<V> addListener(GenericFutureListener<? extends Future<? super V>> listener);

// Added method:
<C> Future<V> addListener(C context, GenericFutureListenerCtx<? extends Future<? super V>, C> listener);

// Where GenericFutureListenerCtx defines:
void operationComplete(C context, F future) throws Exception;

Having the promise hold on to both the listener and its context without any extra allocation is left as an engineering exercise for … someone.

I would say having a custom Future type which carries the "context" isn't entirely bad if it is used at an appropriate place. Specially if we have to add a new API for propagating this context, I would start questioning the removal of the custom type. Having said that, I think pursuing low allocations for listeners is a good goal to have.

I've argued before that the ChannelFutureListener callbacks should have limited use, as using them from handlers is improper. Handlers should use ctx instead of channel. So less convenient access to channel() from the future may be a blessing.
It seems GenericFutureListenerCtx works equally for ctx as channel, which is good.


[Bug] MarkArea xAxis float value

Version
5.4.2
Link to Minimal Reproduction
https://echarts.apache.org/examples/en/editor.html?c=multiple-x-axis&code=MYewdgzgLgBA5gUygEQIYE8IEEBOOMwC8MAZgK5jBQCW4AFNKjlADQwJgAmAlDAN4AoGMNIgcdAG5MYTHIQDaAXRacohMAgDuMNFAQMoTKNwDcMVQB51Wnaj10OPM6oB0EJLv2vEKO_u4A1ACM3NyCIhEwAPRR5lBuSAASIGQ4EHQADGxZMBmmQpHCMTJ4LgAOZBAAFnQa2p50qqEmBYWu7lDJqelBAEzZ2fmFwrLllTV1tvZNQyIAvq0wOEipYCU4LXMtoJCwnBgANtTQRPAeGNh4GLU2DQBEvRm9AMwAtBlvGUF33CwCk_dHi93p8AJw_fICHYnfaGU7yAq9FwANjYAFYXKC2KCXDlesiXAAWNjPDJEklI4kFYrCADsZNpbCCtIxqJgQQAHEj-jBCRyXIz2fyOWwCXiXM8CooWgJitC9nZUPDZbEirF5Dk-soVSJihqmb1tTSYAByV4mthItk64Rmi0wDFYmA203m7G4tguu2WgnE53G72ui1et0wUnk_2qoMUiMuiLG-kCpkslFMrkuHl8pNClwimBiy0SnXSgQ6-XmRW9ZUB0PekP2us1htu-tsRtRwPtkSBx2epvunJx3VRxOC5mstPcthZsfC0UemBIyXFEtQ8AnUAHMQQeEmgDEaMJ9IAwsiG3uAKIX5E3s9ty8XjIZZDIc8vQlo5G08-g0E3tFoiaJYgGUNDgKc4QwJuYgAFxQSAW5pH8whQCACE0GUcGQShODUHAiA4HBJqoAAHscwYRKRxwAAogNQYB6IR_CLCh6BlAgRHADgIAQBAFGRKgYDUAAtnYtBgHBJCoAc7jIZEByoAARggBxYSxIiKagwAANZwNxFCcMeCGwaaB4ZGitLIoB6kLBEtkwHMckHAgiBcGpESwqgcEIoU2GRGAqDCRxpplHRAVBfxhTUDsnHUDgwDOZF8xycIigFI5BR6dQnDuSIqGYTA9IpTAikgFAqHCXBoIZOlckkVgZEQN5ix-ax7GcX4cBiOgSXCKFEDUGBEmmqV5UgMJvUyI1AAq0XablhTSXhYAAOqDVUAAySkqXBUA4GQCDFcIGWFKVBlMOgADiqAFXtB1HVNxxbcpqnMcMMCiTgcD0XBQRZOpwgkGIonlQgTGSLwhAAHz8EsKw4GsAJ-BDLioRtIDANJCCeAAynt9FwHQdwcK8ACqOM_A5NkPVREAbfRwWtSI4AAFpgyAknSbJAMwEcGh4-gzkLcM0FMaLEAaml732XZD3FGUyzldQYOvMtYgIOpnlwfsgvHKwiwnTA2pqhWhgs2hlUwD50RRpBxrCMs0k0EFu37Yd1JRsIjDMHB_0mxEji_U-cn2yVZUVXBpIh1GhsrnJ6ANcczUREzUBscFJpSAcB0mgbUpye4uEIE1Vstep4UZxXQSTWn7WmnzCCTTsGhUAAcmQBwya793qQgwllFUqADSXTNe5jQswHd7vvUDwCVERYDgI3D2Gx5ira4qxWr29_mBRnEB2KkOt8Q9tcZw3k0QMJaFQFU3fT5E1QgJoACSYDTWhBwYZzMkPxEqHoWoAVUeMAn6aB_tzQo29hBaytsbSIn1tK4AQF5HeUU9DCQFhPEBwhRZET3IpZECBaQkBIJNCIIEtKDXQL7CUD1jr0NNqg6270WHvTQew4Q9VGpwXeC4NEjDZY8xTsIyI3Ck65H4YI-Yoj4GFClpEGWDk5JpS2EAA
Steps to Reproduce
Set the markArea to -0.5 and 0.5 or 0.5 and 1.5. Basically anything +/- .5 to the index.
markArea: {
        itemStyle: {
          color: '#b6e7ff',
          opacity: 0.3,
        },
        data: [
          [
            {
              xAxis: -0.5,
            },
            {
              xAxis: 0.5,
            }
          ],
        ]
      }

Current Behavior

In this sample, the blue color starts from 3/1/2023 (index 0) to 3/2/2023 (index 1) even when the xAxis markArea has been set to -0.5 and 0.5.
Currently it's rounded to a whole number so floating values are ignored.
Expected Behavior
when setting floating values, it should show something like the yellow background color.

There should be an ability to add background color with floating values.
This means the background color will be in between the x-axis tick and point.
Environment
- OS:
- Browser:
- Framework:

Any additional comments?
No response

use markLine instead. Also, data.xAxis cannot be fractional because it represents data indexes when xAxis is type='category'
      markLine: {
        symbolSize: [0, 0],
        lineStyle: {
          color: 'red',
          width: 44,
          type: 'solid',
          opacity: 0.3
        },
        data: [{
            xAxis: 2
        }]
      }

@helgasoft thanks for the advice. i haven't checked markLine before so i wasn't familiar with it.
i tried it on my code and it works! thank you so much!
last question, maybe you know the answer.
when using the data zoom slider, it seems the width of the background color is small, do you have an advice on how to make this dynamic?

latest code and demo

@helgasoft when you move the slider, the width of the markLine is small.
initial value of the data zoom slider, width of the markLine looks okay at this point:

when "zoomed", width of the markLine seems "narrow".

also, is there a way for the markLine to not change the color of the lines that pass through it?

sorry i have a lot of questions.

width of the markLine seems "narrow"

markLine.lineStyle.width is a constant, you can change it to a bigger value

is there a way for the markLine to not change the color of the lines that pass through it

Add zlevel: 2 to the line series to put markLine behind the lines.

@helgasoft thanks!

markLine.lineStyle.width is a constant, you can change it to a bigger value

I guess I can change its value using events triggered by the data zoom slider.

Add zlevel: 2 to the line series to put markLine behind the lines.

I just discovered it before reading your reply. Thank you!

Got it working with markLine
series: [
    {
      name: 'name1',
      type: 'line',
      connectNulls: true,
      emphasis: {
        scale: true,
        focus: 'none',
      },
      data: data,
      z: 10,
    },
    {
      name: 'name2',
      type: 'line',
      connectNulls: true,
      emphasis: {
        scale: true,
        focus: 'none',
      },
      z: 10,
      data: [
        70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3
        ],
    },
    {
      name: 'saturdays',
      type: 'line',
      smooth: true,
      showInTooltip: false,
      tooltip: {
        show: false,
      },
      data: [],
      markLine: {
        symbolSize: [0, 0],
        lineStyle: {
          color: '#b6e7ff',
          opacity: 0.5,
          width: 60,
          type: 'solid',
        },
        label: {
          show: false,
        },
        emphasis: {
          disabled: true,
        },
        data: [
          {
            xAxis: 4,
            name: 'saturday',
            symbolOffset:[10,10],
          },
        ]
      }
    },
]

latest code and demo
as for the width when the data zoom slider changes, the markLine.lineStyle.width is computed dynamically using "magic numbers" and using events
since a workaround is provided, will close this issue now.
thanks for all the help!


sample_status_file_creator.py

Hi,
Thank you develop this cool tool.
I've completed running REDItoolDnaRna.py on my RNA-seq results, and I want to proceed with differential analysis. However, I'm stuck. Some protocols suggest creating a sample information file and then running the get_DE_events.py program. I tried this but wasn't successful. Others mention using sample_status_file_creator.py to generate the required sample information file (.sif), but I haven't seen this script mentioned in your guidance. Could you please guide me through the correct process? Thank you very much.
Best,
Sixing

Hi,
same issue here. How did you solve it ?
Thanks

@gianfilippo  Did you resolve your issue with the sif file. I have been have a lot of issues with get_DE_events.py and I figured out how the sample informations file should look but I cannot seem to get the get_DE_events.py so much so I have had to convert to python3 and then am still debugging (whether in python 2 or 3 it seems to have quite a few issues. If you haven't figured out the sample informations file format (SIF) it seems that CTRL or DIS are required in a Status column and the sample names in the Sample column. The scaffold of what I used is below:
Sample,Status
SRRExperimental-01,DIS
SRRExperimental-02,DIS
SRRExperimental-03,DIS
SRRControl-01,CTRL
SRRControl,CTRL
SRRControl,CTRL

Note that each sample name must start with SRR according to what I see in the code. The files must be organized as SampleNameFolderAsInSampleColumn/editing/outTable_*.

Hi, no, sorry. Still stuck

I have been working on the get_DE_events script as it seems to have quite a few requirements and might have a couple of bugs.
Requirements Seem To Be:

Your samples must be in a sample folder with SRR front of it under a subfolder called editing with outTable_* where * is a random number

Scaffold:
SRRsampleName/editing/outTable_12345678

You must add chr if it is not already present in the data.
You should remove mitochondrial regions

This is all I have so far @gianfilippo

thanks!!!
I will give it a try as soon as I go back to this project. Will keep you posted.


Add example configuration for gopls

It's not clear how the JSON is supposed to be setup here, for example I have tried
{
  "analyses": {
    "fieldalignment": true,
    "nilness": true,
    "unusedparams": true,
    "unusedwrite": true,
    "unusedvariables": true
  }
}

Also tried the above with an outer gopls and against with an outer settings but it does not get applied to the gopls server, when I manually do the settings, for example as below, I see the linting appear.
require("lvim.lsp.manager").setup("gopls", {
    cmd = { "gopls", "serve" },
    filetypes = { "go", "gomod" },
    -- root_dir = util.root_pattern("go.work", "go.mod", ".git"),
    settings = {
        gopls = {
            analyses = {
                nilness = true,
                unusedparams = true,
                unusedwrite = true,
                useany = true,
            },
            experimentalPostfixCompletions = true,
            gofumpt = true,
            staticcheck = true,
            usePlaceholders = true,
        },
    },
})

You can write { "gopls.analyses.nilness": true} in your json file.

I was also totally confused by that, but, alas, there's a better way :)
Do this instead:
{
  "gopls": {
    "ui.diagnostic.analyses": {
      "fieldalignment": true,
      "nilness": true,
      "unusedparams": true,
      "unusedwrite": true
    }
  }
}

Now you get all the suggestions from the schema too and it translates 1:1 with the official spec: https://github.com/golang/tools/blob/master/gopls/doc/settings.md

Now, I'm not 100% sure this is how you're supposed to do it, given the example on the README.
But, if you add the json schema found in this git repo "raw" like this to the json, the jsonls will use it as any other json schema and give you syntax + completion:

Just as a gotcha for anyone else stumbling into my problem, which maybe were your original issue as well:
LspInstall will happily create a file for any string. So I created a go.json config file. Now this won't work, you need to create a gopls.json file. If you do this, you'll also get automatic code-completions.
So keep in mind you're configuring the lsp, not the language preconfigured lsp.


File sharing should require approval from the client before dropping files on your system

There should be an "approval" before files are dropped on your system.  You couple keybase with the recently released git vulnerability and then Keybase could enable a worm to spread through people's systems using keybase.
https://marc.info/?l=git&m=150238802328673&w=2
This could be prevented by requiring "approvals" before files are placed on a system through KBFS.  Hopefully I am missing something, but I think that this is a potential issue.

It is my understanding that files aren't placed on your system until you try to access them. In which case once you access them, by copying, moving, or simply opening them the file is placed on the system in some temp directory.
This one of the advantages of the KBFS.
Unlike Dropbox, Google Drive, and Box, there is no sync model. The files stream in on demand.
So in effect, by trying to access a file you are giving approval for some or all of the data from that file to be placed on your system, until then it's just a listing in a directory.

@MissingL-tter ... wouldn't the mentioned git vulnerability allow file access to be done quite easily?  The vulnerable git client would essential give you a vector to allow remote execution and essentially force the client to pull the file via KBFS (just 1 possible example of remote execution). Without an approval mechanism or a way to disable the /keybase mount, or pulling down files entirely, malicious files could be placed on your system and are one step away from execution.
I think it would be wise to have a configuration option which essentially hides from the OS or does not mount the /keybase mount point.  But I don't know what that translates to technically for the inner workings of the product.

@ccloes while I understand the concern I don't believe an attacker would need Keybase for this at all.
The git vulnerability by itself allows an attacker to arbitrarily execute commands from the vulnerable machine. Once a malicious payload is on a vulnerable machine Keybase is unnecessary. You wouldn't need Keybase to pull files, you could pull them from anywhere.
Admittedly, I am not an expert on git vulnerabilities or overflow attacks, but from the reading I have done it seems clear that the vulnerability would allow the attacker to grow the malicious repository into whatever code they wanted.
That being said I do agree that you should be able to disable the mounted KBFS at any point, should you want to, but I do not think it is necessary to implement some form of approval for file access.
Giiven the nature of a compromised machine the attacker most likely could just as easily approve or re-enable the KBFS mount if they wanted (unless the user was prompted for a password every time, which would become rather tedious).

@MissingL-tter ... agreed.  Using git was just an example and I agree there are larger issues with that vulnerability which are not related to keybase.
I think it would be worthwhile for an option not to mount the /keybase filesystem.
Thanks for your time and comments!


[BUG] what public key do i put in settings?

Is it the operator's nostr public key? or does the nostream instance have its own public key. If so how do I find it?

Please read the README.md and CONFIGURATION.md carefully.
https://github.com/Cameri/nostream/blob/main/CONFIGURATION.md