Artifact declaration API is not Provider-friendly

Context
This is similar to #2630. Wiring a task so that an output directory is added as an artifact of an outgoing configuration is cumbersome. We added the ability to use directories a while back for variant aware resolution in particular in the context of cross-project boundaries. For a customer I wrote a sample showing how to create a task to generate instrumented classes and consume them at runtime.
The task is a traditional task implemented like this:
open class InstrumentClasses : DefaultTask() {
    @get:InputFiles
    val classesDirs = project.objects.fileCollection().from(project.sourceSets.getByName("main").output.classesDirs)

    @get:OutputDirectory
    val outputDirectory = project.layout.buildDirectory.dir("instrumented-classes")

Note that it has a single output directory and does not extend from AbstractArchiveTask.
My first attempt was to use this task this way:
val instrumentedClasses by tasks.registering(InstrumentClasses::class)

artifacts {
    add("instrumentedClassesElements", instrumentedClasses)
}

However Gradle fails with:

Cannot convert provided value (task ':lib:instrumentedClasses') to a file

So, I thought "ok I need to be explicit":
val instrumentedClasses by tasks.registering(InstrumentClasses::class)

artifacts {
    add("instrumentedClassesElements", instrumentedClasses.get())
}

which already has the drawback that it's going to realize the task eagerly. But it still fails:
Cannot convert the provided notation to an object of type ConfigurablePublishArtifact: task ':lib:instrumentedClasses'.
The following types/formats are supported:
  - Instances of ConfigurablePublishArtifact.
  - Instances of PublishArtifact.
  - Instances of AbstractArchiveTask, for example jar.
  - Instances of Provider<RegularFile>.
  - Instances of Provider<Directory>.
  - Instances of Provider<File>.
  - Instances of RegularFile.
  - Instances of Directory.
  - Instances of File.
  - Maps with 'file' key

Alright, so let's go with a Provider<Directory>:
val instrumentedClasses by tasks.registering(InstrumentClasses::class)

artifacts {
    add("instrumentedClassesElements", instrumentedClasses.get().outputDirectory)
}

But... it still fails, because now the task dependency is not set correctly, so I have to do this:
val instrumentedClasses by tasks.registering(InstrumentClasses::class)

artifacts {
    add("instrumentedClassesElements", instrumentedClasses.get().outputDirectory) {
        builtBy(instrumentedClasses)
    }
}

Which is both cumbersome and error-prone, knowing that a task has a single output.

Yes, the artifacts API breaks Task Config Avoidance, and

it also breaks the lazy declaration of configurations
does it fully work with Lazy properties ? Does the API allow to use a RegularFileProperty for instance and let the artifact container figure the task dependency automatically ?
and why not make artifacts file-representation-free so that they can simply be used to link a lazy configuration to a lazy task or a lazy buildable property ? The artifact mechanism acts as the preferred gateway to link tasks across projects and I am not sure to understand why we need a file.
it was not clear to me whether realizing a task in an artifact declaration would break TCA. Maybe the doc should make it clear.

Sorry for the long ramble above, though I keep it as some elements might be interesting to make gradle / its docs / apis better.
But I just encountered the exact problem described in the PR using properties, task providers and trying to use them for artifacts. I totally +1 the issue !

I was actually able to do something like (in groovy):
artifacts {
    instrumentedClassesElements instrumentedClasses.map { it. outputDirectory }
}

And it looks like everything is working fine.

This worked for me:
project.artifacts.add("config", taskProvider.flatMap { it.outputFileProperty })

My issue with the solution above is that the task is not automatically executed when "config" is resolved, even though the docs say "When the provider represents an output of a particular task, that task will be executed if the artifact is required".
Does anyone know how to workaround this? For context https://discuss.gradle.org/t/artifact-builder-task-not-invoked-when-resolving-configuration/36077

Closing since Gradle 6.6 the artifact notation supports more notations, including tasks with a single output property: https://github.com/gradle/gradle/pull/13505


Backpack

We need to be able to drag and drop from the backpack to the workspace and back.  Is the backpack basically a flyout (in the blockly sense of the term)?
@tmickel

Does it make sense to you to track this in #439? They all seem sort of related to me :)

Yup, I missed that one.


Use a macro for message fetching functions in agent

Signed-off-by: Miroslav Kovar<EMAIL_ADDRESS>

Codecov Report

Merging #612 (c318b24) into main (d55260e) will decrease coverage by 29.86%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##             main     #612       +/-   ##
===========================================
- Coverage   58.99%   29.12%   -29.87%
===========================================
  Files         199       31      -168
  Lines       19218     1181    -18037
  Branches     4369      230     -4139
===========================================
- Hits        11337      344    -10993
+ Misses       3547      694     -2853
+ Partials     4334      143     -4191

Flag
Coverage Δ

integration-aries-vcx
?

unittests-agency-client
29.12% <ø> (ø)

unittests-aries-vcx
?

Flags with carried forward coverage won't be shown. Click here to find out more.

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

nice :-)


Problem with before/after cart

Make the fix with "button_addto".

@StefBrito buttion ?? Really ?

Release


fix: symbols are now converted to strings for test checks

:tada: This PR is included in version 6.3.8 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Add Falcon HF model

Description

Add Falcon HF model.
Notes:

Based on refactor/backend-to-models. Currently aimed towards that branch for easier comparison.
Readme will be updated in refactor/backend-to-models, so the readme in change in this PR aren't final.

Types of change

New feature.
Checklist

[x] I confirm that I have the right to submit this contribution under the project's MIT license.
[x] I ran all tests in tests and usage_examples/tests, and all new and existing tests passed. This includes

all external tests (i. e. pytest ran with --external)
all tests requiring a GPU

[x] My changes don't require a change to the documentation, or if they do, I've added all required information.

Succeeding GPU tests.


Feature/28 align popup on reaching bottom

No visible difference with this PR. The pop-up is still cropped when at the bottom:

Base commit for this PR is 7cee1ce7f185f7dda00ec2b175c109c1f9406f32


[opencv[cuda]] build failure

Host Environment

OS: Windows 10
Compiler: unknown

To Reproduce
Steps to reproduce the behavior:
./vcpkg install opencv[cuda] --recurse
Failure logs
-Cut and past the appropriate build messages from the console output.
-Please attach any additional failure logs mentioned in the console output.
Additional context
Installing opencv itself works fine, however when attempting to add it again with cuda I get the errors shown in the attached files
config-x86-windows-out.log

x86 not support

@Voskrese Ah that makes sense, would I need to download a different version of cuda for this to work or just install through vcpkg a different way?

why do you need x86 in memory limit, use x64

@Gabe-L Seems like cuda 10 dropped support with x86 platform, please install opencv[cuda]:x64-windows.
Thanks.


un-reverting "feat: set auto_refresh to false for partner matviews"

now that it's Monday let's give this a go once the syncs are all done (one remaining)

hmmm @michaelefisher so this didn't actually have the intended effect of disabling auto-refresh on partner materialized views. I'm going to do a little science with the mailchimp sync to locally runn the dbt with --full-refresh (to disable auto-refresh) and then run the dbt in Composer to see if auto-refresh remains false thereafter 🧐

@emily-flambe I wonder if dbt isn't issuing the correct API request, which is to say maybe it isn't updating the view because it already exists? We could probably check logs in Cloud Logging to see what dbt tried to do to the view (if anything).

ok even with the updated dbt_project.yml file, subsequent runs of partner dbt in Composer aren't disabling auto-refresh on materialized views.
@michaelefisher I'm inclined to just rerun all the partner matviews locally with --full-refresh rather than poke around in the logs to understand exactly why this isn't working... Once we disable auto-refresh then the dbt in Composer shouldn't cause that status to change. (I'll do some science first...)

Wait, now I'm properly confused - rerunning the dbt in Composer did not disable auto-refresh for mailchimp, but it seems like it did for empower? please hold, science is ongoing (maybe Composer was using a cached version of dbt_project.yml... it happens)


UIelements-->KlakUI??

"I think it's possible, but it would be better to implement a mediator classes like KlakUI: https://github.com/keijiro/KlakUI"
Originally posted by @keijiro in https://github.com/keijiro/Klak/issues/42#issuecomment-560206545
How exactly would I go about connecting UIelements and KlakUI objects?? - I'm lost because UIelements don't reside as game objects in the hierarchy, So I cant sort out how to connect the two.  I wish there was some kind of easy binding system like Klak that worked for connecting all things in Unity..

I have stopped using Klak for my projects, so I'm not actively working on it anymore. I continue maintaining Klak to keep my old projects compatible with recent versions of Unity, but please don't expect that new things like this (UIElements binding) will come in.
Just for your information, here is why I stopped using Klak:

Klak is not DOTS friendly: Currently, Unity is changing its form to introduce the new system, DOTS. I think there are several merits to use DOTS for creative applications, but Klak is designed for the classic Unity OOP system ("Everything is derived from MonoBehaviour") so that it makes things hard to migrate to the DOTS world.
Klak Wiring is depending on the old graph system, which is not officially supported by Unity. Newer features like Shader Graph or VFX Graph are using the new GraphView system. Although I know that I should rewrite it with GraphView, I'm not motivated due to other reasons above and below.
VFX Graph is surprisingly useful. We can control lots of things within VFX Graph so that we don't need to have a complicated control system.
DOTS Visual Scripting is coming. It looks very promising for creative applications. Most things we did in Klak Wiring will be available with it.

From the observations above, I believe that Klak is ending its life sooner or later. We will become able to create creative applications using DOTS Visual Scripting and VFX Graph. I'd like to invest my time in missing things like MIDI input (Minis), video playback (KlakHAP), inter-app video sharing (KlakNDI, KlakSpout, and KlakSyphon), OSC communication (KlakOSC), etc.
I'm transitioning my projects towards this direction. In the recent project (Grubo), most things are driven by the new input system and VFX Graph. I only used some simple scripts that are possibly converted into visual scripts one day.

I'm closing this issue now. Please feel free to reopen for further questions.

Keijiro,
Thank you so very much for the detailed explanation. It all makes a lot of sense and cleared up a lot of things in my head. I will move forward building my future projects without Klak. It certainly does make more sense for you to focus your talents in building "Creative Coding" type add on systems(MIDI, OSC,NDI etc) for Unity. I really appreciate your sage council and continued useful innovation in this space.  Your biggest fan. -VJ Anomolee


index.md for geneontology topic

Thank you for including this in GitHub!
Thank you for contributing! Please confirm this pull request meets the following requirements:

[x] I followed the contributing guidelines: https://github.com/github/explore/blob/master/CONTRIBUTING.md
[ ] I have no affiliation with the project I am suggesting (as a maintainer, creator, contractor, or employee).

(I am not a maintainer, creator, or contractor on this project. I am a project manager with minimal involvement. However, I can't say that I have NO affiliation with it.)
Which change are you proposing?

[ ] Suggesting edits to an existing topic or collection
[x] Curating a new topic or collection
[ ] Something that does not neatly fit into the binary options above

Editing an existing topic or collection
I'm suggesting these edits to an existing topic or collection:

[ ] Image (and my file is *.png, square, dimensions 288x288)
[ ] Content (and my changes are in index.md)

Please replace this line with an explanation of why you think these changes should be made.

Curating a new topic or collection

[x] I've formatted my changes as a new folder directory, named for the topic or collection as it appears in the URL on GitHub (e.g. https://github.com/topics/[NAME] or https://github.com/collections/[NAME])
[ ] My folder contains a *.png image (if applicable) and index.md
[x] All required fields in my index.md conform to the Style Guide and API docs: https://github.com/github/explore/tree/master/docs

The Gene Ontology is one of the most widely used ontologies in biomedical sciences. It is used by thousands of researchers around the world, and it is still (since being founded in 1999) under active development.
(Please note: I did not add the logo because uploads were disabled; I think I'll be able to add it once this index.md PR is merged and the folder is created.)

Something that does not neatly fit into the binary options above

[ ] My suggested edits are not about an existing topic or collection, or at least not a single one
[ ] My suggested edits are not about curating a new topic or collection, or at least not a single one
[ ] My suggested edits conform to the Style Guide and API docs: https://github.com/github/explore/tree/master/docs

Please replace this line with an explanation of your proposed changes.

Please note: we will close your PR without comment if you do not check the boxes above and provide ALL requested information.

Hey, I can attach the logo .png here.

Sorry for the back-and-forth 😅 but it looks like we have one more failure to sort out; the topic image needs to be at least 288px wide:
  1) Failure:
topics::geneontology topic#test_0019_has at most one image with the right name, type, and dimensions [/home/runner/work/explore/explore/test/topics_test.rb:229]:
topic images should be 288px wide.
Expected: 288
  Actual: 225

Thanks, @smashwilson, I deleted the image file and replaced with one that's 288x288 pixels.

Perfect ✨ Thank you so much for your patience!

Thank you for your patience with me -- I clearly didn't read the instructions as thoroughly as I should have!
What steps remain before geneontology shows up on https://github.com/topics/? Please let me know if you need anything else from me!

I've live: https://github.com/topics/geneontology

Hey @smashwilson and @kenyonj, after all that, it turned out that there was already a topic https://github.com/topics/gene-ontology. (Why didn't we notice that? Well, for one thing, if you search for "gene-ontology", it doesn't bring up that topic, for some reason: https://github.com/search?q=gene-ontology&type=topics)

I'm not sure what to do to make the request above visible -- this repo doesn't have Issues.

Oh! No worries, it still shows up in notifications. I'll get a link to our first responder next week.

Hey @smashwilson and @kenyonj, after all that, it turned out that there was already a topic https://github.com/topics/gene-ontology. (Why didn't we notice that? Well, for one thing, if you search for "gene-ontology", it doesn't bring up that topic, for some reason: https://github.com/search?q=gene-ontology&type=topics)
Is there any way to merge https://github.com/topics/gene-ontology and https://github.com/topics/geneontology?

Everything looks to be working correctly now. The search linked above is coming back correctly and the "merging" is taken care of with the usage of the alias: https://github.com/github/explore/blame/main/topics/geneontology/index.md#L2


webview extensions

Maybe we need to make an extension in which you can watch web pages Instead of the background there will be a web page (looks like video sensing). Blocks - show page, hide page(close) and url of the page. P.S: I tried to create extension, but idk how to do this

How to create an extension: https://docs.turbowarp.org/development/extensions/introduction

yes, I tried to make an extension on this topic, but it's difficult for me😑

Yes, it's true. But I can do it. I think I will do the extension.

We added an "Iframe" extension


[23.11] nixos/limesurvey: drop default encryption key and nonce

Description of changes
Manual cherry-pick of #322585 to resolve conflicts (the cherry-pick check is not going to be happy).
(cherry picked from commit daa81ecb2e752df8fb88d6b6ce9dd4f37a172ef7)

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[x] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

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

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/security-advisory-use-of-hardcoded-cryptographic-settings-by-default-in-the-limesurvey-nixos-module/48107/1


Won't compile

Where does one find the derelict.util library?
Faling on these imports:
import derelict.util.loader;
import derelict.util.system;
Thanks!

see https://github.com/DerelictOrg/DerelictUtil
it is a dependency handled via dub


Debug with a simpler arrival file

See https://github.com/crowdedjs/assets/issues/2

Fixed in https://github.com/crowdedjs/examples/tree/second-patient


[digitalocean] Starting process to claim digitalocean plugin

Hey maintainers. As the security issues have been around for a while I'm assuming this is an unmaintained plugin.
@pulse00
@anpieber
@nurupo
If its not, and your up for me helping out, please approve this PR.
If your not interested in me helping out as maintainer, please close this PR
Always

[X] Add link to plugin/component Git repository in description above

When adding new uploaders (this includes newly created permissions files)

[X] Make sure to @mention an existing maintainer to confirm the permissions request, if applicable
[X] Use the Jenkins community (LDAP) account name in the YAML file, not the GitHub account name
[X] Make sure to @mention the users being added so their GitHub account names are known if they require GitHub merge access (see below).
[X] All newly added users have logged in to Artifactory at least once](https://github.com/jenkins-infra/repository-permissions-updater/#requesting-permissions)

Reviewer checklist (not for requesters!)

[ ] Check this if newly added person also needs to be given merge permission to the GitHub repo (please @ the people/person with their GitHub username in this issue as well). If needed, it can be done using an IRC Bot command
[ ] Check that the $pluginId Developers team has Admin permissions while granting the access.
[ ] In the case of plugin adoption, ensure that the Jenkins Jira default assignee is either removed or changed to the new maintainer.
[ ] If security contacts are changed (this includes add/remove), ping the security officer (currently @daniel-beck) in this pull request. If an email contact is changed, wait for approval from the security officer.

There are IRC Bot commands for it

Sorry, not a maintainer, just a contributor.

@pulse00 or @anpieber can we get sign-off on this?

I've no problem with someone else taking over (or at least supporting) the development of this plugin! Welcome @halkeye from my point of view


Argument with default value 'null' results in 'not enough arguments' exception

Command:
robo release
Runs:
public function release($branch = null, $version = null)
Result:
  [Symfony\Component\Console\Exception\RuntimeException]
  Not enough arguments (missing: "branch, version").

Expected:
A running command with default values null

Fixed in https://github.com/consolidation-org/annotated-command/pull/29.

Fixed on the master branch. We should make a bugfix release for this.

I'm waiting for a couple of other fixes as well. Can you tag a new release?

@DavertMik: Could you tag a beta2 or 1.0.0?


Erroneous this automatically added

Issue Type
Bug
Description
When I type a function name, "this" is prepended to it, even though I'm not inside a class. Below is a gif of it happening.

VS Code Info
VS Code version: Code 1.20.0 (c63189deaa8e620f650cc28792b8f5f3363f2c5b, 2018-02-07T17:02:34.244Z)
OS version: Darwin x64 17.4.0

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-7820HQ CPU @ 2.90GHz (8 x 2900)

Load (avg)
3, 2, 3

Memory (System)
16.00GB (0.21GB free)

Process Argv
/Applications/Visual Studio Code.app/Contents/MacOS/Electron -psn_0_1196324

Screen Reader
no

VM
0%

Extensions (8)

Extension
Author (truncated)
Version

bracket-pair-colorizer
Coe
0.10.14

EditorConfig
Edi
0.12.0

material-icon-theme
PKi
3.2.2

path-intellisense
chr
1.4.2

vscode-eslint
dba
1.4.5

vscode-icons
rob
7.19.0

rewrap
stk
1.7.0

change-case
wma
1.0.0

Reproduces without extensions

Please provide a complete code example

I can't provide a completed code example as it is proprietary code. If there is a way to just disable the automatic this insertion, I'd be fine just disabling the setting.


Added Wireshark

Project URL
https://github.com/serhii-londar/open-source-mac-os-apps
Category
System
Description
Added Wireshark application
Why it should be included to Awesome macOS open source applications  (optional)
It's a great opensource tool!
Checklist

[x] Edit applications.json instead of README.md.
[x] Only one project/change is in this pull request
[ ] Screenshots(s) added if any
[x] Has a commit from less than 2 years ago
[x] Has a clear README in English

@jilloestreicher Thank you!


Configurable Caves Aging script

Thinking about a new user-defined system. With a new async calculation I can use more its power.
Idea is simple: user specifies list of block, type of action to do, its chance and some additional data.
grow-vines:
  blocks: [] # Any solid block
  chance: 12.5
  action: vines

replace-stone:
  blocks:
    - stone
  chance: 33.33
  action: replace
  with:
    - andisite
    - cobblestone

moss-cobblestone:
  blocks:
    - cobblestone
  chance: 12.5
  action: replace
  with:
    - mossy_cobblestone

replace-andesite:
  blocks:
    - andesite
  chance: 50
  action: replace
  with:
    - granite
    - diorite

back-to-loop:
  blocks:
    - granite
    - andesite
    - cobblestone_wall
  chance: 10
  action: replace
  with:
    - stone

mushrooms:
  blocks:
    - stone
    - dirt
    - cobblestone
    - diorite
    - granite
    - andesite
  chance: 11.11
  action: mushroom

rocks:
  blocks:
    - stone
    - dirt
    - cobblestone
    - diorite
    - granite
    - andesite
  chance: 16.7
  action: rock

stalagmites:
  blocks:
    - stone
    - dirt
    - cobblestone
    - diorite
    - granite
    - andesite
  chance: 12.5
  action: stalagmite

The only problem is the size of configuration, so, maybe its better to transit it to another configuration file.

it's easier to navigate a single config file, no matter how big it is ctrl+f works well. also monkey brain can remember that the all the setings are in config.yml which makes quick changes possible

it's easier to navigate a single config file, no matter how big it is ctrl+f works well. also monkey brain can remember that the all the setings are in config.yml which makes quick changes possible


Uncorrect warning "Do not use empty rulesets"

As the title saied, but it's actually not empty.

This happens anytime there is a JS variable, and it also breaks Prettier / code formatting. Any possible fix to this? Quite a problem for being able to use styled-jsx. I'm not sure if the problem is with this plugin though - it is a VSCode issue perhaps?

I also noticed this issue. This seems to be a VSCode issue and can be handled by setting "css.lint.emptyRules": "ignore" in your settings.json file. But, ideally, the styled-jsx-language-server extension would handle this gracefully.

I also encountered this issue in  Visual Studio Code.
How do I make the correction in JSON?
I am creating a new project to master JVS CSS and HTML

file?


Update bonfires.json with two new challenges

Diff Two Arrays: Compare two arrays and return a new array with any items not found in both of the original arrays.
Word Search Puzzle: Write a function that accepts a randomized 8 x 7 capital letter grid in the form of a string with line breaks and one space between each letter column as the first argument and a 3 to 7 letter string as the second argument. The second argument is hidden in horizontal, vertical, or diagonal view somewhere within the grid. Your job is to return the coordinates (Row, Column) of the second argument in an array.

Please provide solutions so we can quickly test the sanity of the challenges and we'll merge.

Closing but challenges incorporated after working with you on screenhero.


Support no-code language server integration

I created a VSCode extension that integrates a language server. This is pretty much a textbook example extension.
import {workspace} from 'vscode'
import {LanguageClient, TransportKind} from 'vscode-languageclient/node.js'

let client

export async function activate(context) {
  const run = {
    module: context.asAbsolutePath('out/remark-language-server.js'),
    transport: TransportKind.ipc,
  }

  const serverOptions = {
    run,
    debug: {...run, options: {execArgv: ['--inspect=6009']}}
  }

  const clientOptions = {
    documentSelector: [{scheme: 'file', language: 'markdown'}],
    synchronize: {
      fileEvents: [
        workspace.createFileSystemWatcher(
          '**/.remark{ignore,rc,rc.cjs,rc.js,rc.json,rc.mjs,rc.yaml,rc.yml}'
        ),
        workspace.createFileSystemWatcher('**/package.json')
      ]
    }
  }

  client = new LanguageClient('remark', serverOptions, clientOptions)

  await client.start()
}

export async function deactivate() {
  if (client) {
    await client.stop()
  }
}

All of this is boilerplate with some configuration options. In addition to handling the language server, the extension developer is responsible for proper teardown and building the extension. Also this small extension adds ~350kB of minified JavaScript to the bundle.
It would be nice if language server integrations could be specified in package.json, replacing the extension bundle. This way developers can focus solely on the language server functionality, and extension size can be decreased.
{
  "name": "vscode-remark",
  "displayName": "remark",

  // This line would no longer be needed
  // "main": "out/extension.js",

  "contributes": {
    "languageServer": {
      // Defaults to displayName
      // "name": "remark",
      "serverOptions": {
        "run": {
          "module": "out/remark-language-server.js",
          "transport": "ipc"
        },
        // Inherits properties from run
        "debug": {
          "options": {
            "execArgv": [
              "--inspect=6009"
            ]
          }
        }
      },
      "clientOptions": {
        "documentSelector": [
          {
            "scheme": "file",
            "language": "markdown"
          }
        ],
        "synchronize": {
          "fileEvents": [
            "**/package.json",
            "**/.remark{ignore,rc,rc.cjs,rc.js,rc.json,rc.mjs,rc.yaml,rc.yml}"
          ]
        }
      }
    },
    // …
  },
}

Of course there are many more options that are unused here. Some functionality still requires extensions to manually initialize a client. Each accepted option should be considered separately to be supported this way.

This feature request is now a candidate for our backlog. The community has 60 days to upvote the issue. If it receives 20 upvotes we will move it to our backlog. If not, we will close it. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

We've reached 20 votes! 😁

:slightly_smiling_face: This feature request received a sufficient number of community upvotes and we moved it to our backlog. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!


Add opportunity to make “C” label visible

As a User, I want to have an opportunity to control “C” label visibility if the atom is a carbon. Now, it's displayed only if angle is 180 deg.
Solution
As a solution it can be additional property for atom to set up label visibility in .ket format. (Currently model doesn't have any flags for this)

ket.txt

You can achieve this already with the setting "Display carbon explicitly" (under Settings -> Atoms). This option can also be set programmatically via ketcher.editor.options({"carbonExplicitly":true}).

Yes, but however this applies to all atoms in the molecule. If I want to specify it for just one atom, I can't do that. Or perhaps there's a way to set this just for specific atom?

Alight, then an atom alias might be an option. You can find the "Alias" field by double-clicking an atom (see screenshot).

In the Ket format this boils down to the alias field of an atom object:
{
    "label": "C",
    "alias": "C",
    "location": [
        17.157106781186542,
        -8.967893218813455,
        0
    ]
}

Thank you!


[fix](routine load) fix routine load auto resume invalid when leader change or restart

What problem does this PR solve?
Related PR: https://github.com/apache/doris/pull/37876
Release note
None
Check List (For Author)

Test

[ ] Regression test
[ ] Unit Test
[ ] Manual test (add detailed scripts or steps below)
[ ] No need to test or manual test. Explain why:

[ ] This is a refactor/code format and no logic has been changed.
[ ] Previous test can cover this change.
[ ] No code files have been changed.
[ ] Other reason

Behavior changed:

[ ] No.
[ ] Yes.

Does this need documentation?

[ ] No.
[ ] Yes.

Check List (For Reviewer who merge this PR)

[ ] Confirm the release note
[ ] Confirm test cases
[ ] Confirm document
[ ] Add branch pick label

run buildall


Regarding the training convergence

Hi,
Thanks for your great work!
I just curious about how many training steps it take to show a reasoning denoising result.
Thanks for your help!

Hi it took me around 20K iteration to converge.

Thank you for your reply!
I have a question regarding your previous unsuccessful experiment. Typically, how many iterations do you run before determining that an experiment has failed? Do you wait until the experiment completes, or do you stop early if it appears unsuccessful?
I ask because I am currently fine-tuning SD on a different image-related domain (albedo, rather than depth as in your task). Understanding your past experiment experiences would be very helpful for my work.
Thank you so much for your assistance!

I have another question regarding the choice of image conditioning methods. Have you conducted experiments on fine-tuning the image-variation SD base model or by adding an IP-Adapter to inject the image?
Thank you!

how many iterations do you run before determining that an experiment has failed

This depends on the experiment setting. There is no universal rule for it.

Have you conducted experiments on fine-tuning the image-variation SD base model or by adding an IP-Adapter to inject the image?

In our paper, we only use the most straightforward direct fine-tuning.


[RIP-10] Add test cases for BrokerStatsData

What is the purpose of the change
Add test case for org.apache.rocketmq.common.protocol.body.BrokerStatsData.java
Brief changelog
Add test case for org.apache.rocketmq.common.protocol.body.BrokerStatsData.java
Verifying this change
XXXX
Follow this checklist to help us incorporate your contribution quickly and easily. Notice, it would be helpful if you could finish the following 5 checklist(the last one is not necessary)before request the community to review your PR.

[x] Make sure there is a Github issue filed for the change (usually before you start working on it). Trivial changes like typos do not require a Github issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[x] Format the pull request title like [ISSUE #123] Fix UnknownException when host config not exist. Each commit in the pull request should have a meaningful subject line and body.
[x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[x] Write necessary unit-test(over 80% coverage) to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add integration-test in test module.
[x] Run mvn -B clean apache-rat:check findbugs:findbugs checkstyle:checkstyle to make sure basic checks pass. Run mvn clean install -DskipITs to make sure unit-test pass. Run mvn clean test-compile failsafe:integration-test  to make sure integration-test pass.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

Coverage increased (+0.2%) to 47.926% when pulling a7759e944696a549af0f42e00f515cbafde4203a on olderwei:develop into 580037fc43d4ffb55bd59b60cfa6e8a9b57e8ca1 on apache:develop.


Calls to IWebHostBuilder.Build() are failing when configured with a startup assembly passed in as string

Title
Calls to IWebHostBuilder.Build() are failing when configured with a startup assembly passed in as string
Functional impact
Calling .Build() on a Builder configured with an .exe assembly via it's string Assembly name fails at dependency injection time. With the default ASP.NET Core + .NET Framework project, the following is thrown:
System.InvalidOperationException: 'Unable to resolve service for type 'Microsoft.Extensions.Configuration.IConfiguration' while attempting to activate 'WebAppWithAfterBuildTarget.Startup'.'
Minimal repro steps

Create a simple library project named 'MsBuildTask' targeting net462.

Add a reference to Microsoft.Build.[Framework/Utilities.v4.0] assemblies, and a reference to the Microsoft.AspNetCore + .Http.Abstractions nugets.

Create a class like so:

    public class RunStartup : Microsoft.Build.Utilities.Task
    {
        public string AssemblyToLoad { get; set; }

        public override bool Execute()
        {
            var startupAssembly = Assembly.LoadFrom(Path.Combine(Directory.GetCurrentDirectory(), AssemblyToLoad));
            var builder = WebHost.CreateDefaultBuilder();
            builder.UseStartup(startupAssembly.FullName);
            var host = builder.Build();

            // ... do more stuff
            return true;
        }
    }

Build the MsBuildTask project, copy a path to the dll output (used below).

Create an ASP.NET Core 2.0 + .Net Framework 462 project in visual studio.

In the webapp csproj file, add

  <UsingTask AssemblyFile="..\MsBuildTask\bin\Debug\net462\MsBuildTask.dll" TaskName="RunStartup" />
  <Target Name="RunStartup" AfterTargets="AfterBuild">
    <RunStartup AssemblyToLoad="$(OutputPath)$(AssemblyName).exe" />
  </Target>

Build the webapp. (for debugging purposes, in MsBuildTask>Properties>Debug, you can set Launch as executable, Executable as the path to msbuild, and Application arguments as the path to the webapp, then just hit F5 on the MsBuildTask).

Expected result
The build task would complete successfully, we could do more interesting stuff with the host.
Actual result
Observe that during the AfterBuild targets section runs the MsBuildTask.RunStartup.Execute method.
This fails at the .Build() stage as IConfiguration has not been registered.
Further technical details
I've tried copying over the Startup to this project (whilst adding the AspNetCore.Mvc nuget as necessary) and running .UseStartup<Startup>() as in a normal ASP.NET Core app and this succeeds. It is when referencing the assembly by name that I hit this error where the dependencies don't seem to be registered.

Thaks for the feedback @davidfowl . Unfortunately I'm struggling a bit even after sitting down with colleagues. Loading the assembly via
var loadedAssembly = Assembly.Load(AssemblyName.GetAssemblyName(Path.Combine(Directory.GetCurrentDirectory(), AssemblyToLoad)));
results in the same issue. I've tried converting the output type of the assembly we're using to be dll (previously it was exe) and load that assembly, however I've had no luck.
I've also looked into running code alongside the loaded assembly in a new app domain and unfortunately didn't get anywhere. It also looks like it's not possible to run two processes (my MSBuild Task + the loaded assembly) in the same app domain.
As such, I'm a bit stumped as to what to try from here. I've also tried using reflection via appDomains with domain.CreateInstanceFromAndUnwrap, however I can't see how to hook in the dependency injection required for the constructor here. A couple of references I looked at here and here.
Any further pointers you could provide would be really helpful please!

Hi. It looks like this is a question about how to use ASP.NET Core. While we do our best to look through all the issues filed here, to get a faster response we suggest posting your questions to StackOverflow using the 'asp.net-core' tag.


Create multiple sourcemaps from a single build

Do you want to request a feature or report a bug?
feature

What is the current behavior?
Set devtool;. NODE_ENV === PRODUCTION ? 'nosources-source-map' : 'eval-source-map';
Sourcemap type is built.
If the current behavior is a bug, please provide the steps to reproduce.

What is the expected behavior?
If this is a feature request, what is motivation or use case for changing the behavior?
What we'd like is to be able to create multiple sourcemaps for production as a single run.
Set devtool: NODE_ENV === PRODUCTION ? ['nosources-source-map', 'source-map'] : 'eval-source-map';
The first sourcemap will be used client side and included in the the js e.g. //# sourceMappingURL=index.js.map
The second sourcemap would be used for our monitoring system, and would have a filename for example index.js.map2 or anything sensible.
All this would be performed in a single build run.
Perhaps this is already possible and we just haven't discovered how.
Please mention other relevant information such as the browser version, Node.js version, webpack version, and Operating System.

You could use a multi-config build to achieve this:
if (process.env.NODE_ENV === "production") {
  module.exports = [
    createConfig({name: "prod1", devtool: "nosources-source-map"}),
    createConfig({name: "prod2", devtool: "source-map"}),
  ]
} else {
  module.exports = createConfig({name: "dev", devtool: "eval-source-map"})
}

Thanks, we have tried a multi-config. There have been concerns as to whether each config definitely creates the same final bundle (all my tests indicate that they are, but that is a limited set. Though each build does produce a different hash which is included in the bundle), hence a preference to have the sourcemaps created in a single run. There is also the consideration of the time that it takes to bundle our application, twice if we are using multi-config to generate the 2 type of sourcemap.

That's possible. Just use this configuration, or similar:
devtool: "hidden-source-map",
plugins: [
  new SourceMapDevtoolPlugin({
    filename: "[file].secondary.map",
    noSources: true
  })
]

That's great, thanks! I will be sure to try that first thing in the morning.

It looked very promising, I set
devTool: NODE_ENV === PRODUCTION ? 'hidden-source-map' : 'eval-source-map';
plugins: [
    new webpack.SourceMapDevToolPlugin({
      filename: '[file].map',
      noSources: true,
    }),
],
output: {
    filename: FILENAME,
    path: BUILD_DIR,
    sourceMapFilename: '[file].monitor.map',
},

2 files were created, the index.js.map was spot on with no source in the map file and only this link was appended to the bundle. The other file index.js.monitor.map was created but the content was:
{"version":3,"sources":[],"names":[],"mappings":"","file":"index.js","sourceRoot":""}
We are using Webpack 3.11.0
Is this a bug or did I configure it incorrectly?

Is there any more information that I can provide to confirm whether this is our configuration problem or a bug? I'd like to get this working, and would even be willing to try and identify the problem in the source if needed. Thanks.

@Xotic750 problem still exists?

Updated both branches linked above.
v3.12.0 same result.
v4.8.3 same result

The problem still exists to the best of my knowledge. The test project is still available at https://github.com/Xotic750/webpack-multi-sourcemap but I have not updated it recently. If it is configuration problem on my part then I would love some guidance to show me where I've gone wrong, equally if this is a problem with webpack then I would love to see it fixed.

https://github.com/Xotic750/webpack-multi-sourcemap
Updated to all the latest dependencies:
  "devDependencies": {
    "@babel/cli": "^7.4.4",
    "@babel/core": "^7.4.4",
    "@babel/plugin-transform-runtime": "^7.4.4",
    "@babel/preset-env": "^7.4.4",
    "@babel/runtime": "^7.4.4",
    "babel-loader": "^8.0.6",
    "terser-webpack-plugin": "^1.2.3",
    "webpack": "^4.31.0",
    "webpack-cli": "^3.3.2"
  },

And the problem still exists. See the 2 map files produced.
https://github.com/Xotic750/webpack-multi-sourcemap/tree/master/dist

Interested in this as well for the exact same use case described in the original post. A nosources-source-map version very public consumption for resolving stacktraces and a source-map version for private internal-only consumption for debugging on the live site.

@joshenders We were never able to get this to work out of the box and so I ended up writing a little plugin to do the job.
/**
 * @file Webpack plugin to build the production sourcemap and add the URL.
 * @copyright Copyright (c) 2018, ProReNata AB
 * @author Graham Fairweather<EMAIL_ADDRESS> * @version 2.0.0
 * @see {@link https://github.com/webpack/docs/wiki/how-to-write-a-plugin} for further information.
 */

const {ConcatSource, RawSource} = require('webpack-sources');
const utils = require('./utils');

const PLUGIN_NAME = 'CreateProductionSourcemap';

class CreateProductionSourcemap {
  constructor(options = {}) {
    this.sourceMapFilename = options.sourceMapFilename;
    this.sourceMappingURLComment = options.append;
  }

  apply(compiler) {
    const {filename, sourceMapFilename} = compiler.options.output;

    const onEmit = (compilation, callback) => {
      const {assets} = compilation;

      const outputFileName = this.sourceMapFilename.replace('[file]', filename);
      const sourceMapComment = this.sourceMappingURLComment.replace('[url]', outputFileName);

      utils.stdout.write(`Preparing production sourcemap: "${outputFileName}" `);
      const assetName = sourceMapFilename.replace('[file]', filename);
      const withoutSource = JSON.parse(assets[assetName]._value);

      delete withoutSource.sourcesContent;
      assets[outputFileName] = new RawSource(JSON.stringify(withoutSource));
      assets[filename] = new ConcatSource(new RawSource(assets[filename].source()), sourceMapComment);
      utils.stdout.write('Done.');
      callback();
    };

    if (compiler.hooks) {
      compiler.hooks.emit.tapAsync(PLUGIN_NAME, onEmit);
    } else {
      compiler.plugin('emit', onEmit);
    }
  }
}

module.exports = CreateProductionSourcemap;

and in your webpack config
const CreateProductionSourcemap = require('./DevTools/Build/CreateProductionSourcemap');

{
    devtool:  'source-map',
    output: {
      filename: OUTPUT_FILENAME,
      path: OUTPUT_PATH,
      sourceMapFilename:  '[file].sentry.map' ,
    },
   plugins: [new CreateProductionSourcemap()],
}

That should be it, I don't think I've missed anything.
I would still like to know if we configured webpack incorrectly, or if the fact that we couldn't get it to work is a bug.

Thanks for that! Very helpful. In case anyone wants to do this with jq outside of webpack, here's how:
Removing the sourcesContent key using jq in a build script:
jq  'del(.sourcesContent)' example-source-map.js.map

The nosources-source-map is just a source-map without the sourcesContent key. There are no differences.
diff -u <(jq 'del(.sourcesContent)' example-source-map.js.map) example-nosources-source-map.js.map

Is it worth me updating this example project again?

@Xotic750 no, all fine, not high priority

Sill actual for some developers

Sill actual for some developers

JFYI this issue is currently surfacing on social media as people are seeing sourcemap links to non-routable domains (because the most common way of configuring webpack is still to produce a single build) on Twitter's production site and confusing this with leaking private information from a dev build.


copilot suggestions include triple quotes

Suggestions from Copilot include triple quotes at the end with ~25% frequency, eg:
-- get list of databases
SELECT datname FROM pg_database WHERE datistemplate = false;

Not triple quotes, but 3 backticks.
eg:
SELECT * FROM TableName
`\``


[SCHEMA] Reorganize raw dataset rules

This will be an unpopular reorganizaton. Opening PR to track discussion on other ways we might want to separate out derivatives and raw rules

Are there any rules that can only be applied in raw datasets, and never in derivative datasets? It feels like any rules labeled "raw" should only apply to raw datasets.

Closing in favor of #1288


Remove unused using-s from Program and Startup classes

Addresses #8347

@davidfowl, can you be more specific please. Which particular namespaces you'd like to keep?
Here I'm removing only those which aren't used.

using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Logging;

I can't open up VS now because I'm updating but for example, in Program.cs the logging extensions methods are in Microsoft.Extensions.Logging (AddConsole, AddEventLog etc) and the configuration extension methods are in Microsoft.Extensions.Configuration. Having those unused using these make it easier to find logging providers and configuration providers without having to type it out by hand.

Sounds good, @davidfowl. I'll leave these two usings untouched.


[NDMII-3083] add snmp autodiscovery to agent status

What does this PR do?
This PR adds two expvars in both of the snmp autodiscovery to expose the status of the autodiscovery and show them in the agent status.
Each expvars contains two maps counting respectively the number of devices scanned and the number of devices found in the subnet.
If the number of devices scanned in the subnet is inferior to the number of ips in the subnet it writes "subnet scanning", else it writes the number of devices found in the subnet
Motivation
We want to gain visibility on the autodiscovery
Describe how to test/QA your changes
Run the agent with the autodiscovery config and check that the status of the autodiscovery is present in the agent status
Output examples
evolution of status with this config

other example with config

after waiting 10min the autodiscovery restarts with ip <IP_ADDRESS> but ip <IP_ADDRESS> is still in memory

Additional Notes

/merge


feat:add UniSMS Sender

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


Update aspire-dashboard.md

adding additional information on how the aspire dashboard integrates with container apps

@jcjiang - take this out of draft mode when it's ready to be reviewed.
@craigshoemaker
Can you review the proposed changes?
Important: When the changes are ready for publication, adding a #sign-off comment is the best way to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

#sign-off


[Feature Request] Add data-cy test id to Cine Controls like Play

What feature or change would you like to see made?
It is challenging to write a playwright test for the Cine controls without any data test ids.
Currently, I'm usng:
const playBtn = page.locator('.active\\:text-primary-light').first();

But would prefer something like
const playBtn = page.getByTestId('cine-play').first();

Why should we prioritize this feature?
It's a low priority but would making writing e2e tests easier and more stable

I went ahead and added them creating this PR
https://github.com/OHIF/Viewers/pull/4415


add flipX and flipY filters

Hopefully satisfies #234 🎃

Coverage decreased (-0.4%) to 85.348% when pulling 945069b154392dfb62ec4fa38321f44c97f2646a on Klowner:flippers into c918d4c639227f5d648e192f31a9127ccb9c8cc6 on image-js:master.

Coverage decreased (-0.3%) to 85.474% when pulling a4c79edd05f0881f972276b0c242aa083b558a2a on Klowner:flippers into 7b759271568399fe02b5e47301d89c0cade534e1 on image-js:master.

Coverage increased (+0.1%) to 85.861% when pulling 7ac8552869149a51250a40534b528e16ae1102a5 on Klowner:flippers into 7b759271568399fe02b5e47301d89c0cade534e1 on image-js:master.

That's better.

Thanks a lot !


fix: help center protection

PR Description:

[x] Added SuperAdminGuard to protect edit and delete help center routes.

I don't understand what you mean should a user be able to delete an help center topics
@incredible-phoenix246

@ZEED2468  don't worry about it.


phantomjs-2.0.0-macosx - Killed: 9

PhantomJs build for Os X cannot started. I've checked my system log and I found this in there for PhantomJs: Cannot enforce a hard page-zero for ./phantomjs.
I found this information about the problem: http://stackoverflow.com/questions/26351831/os-x-app-that-runs-on-10-6-to-10-9-doesnt-run-on-10-10-yosemite-why
Also found that the binary is packed by UPX, and this cause the problem. After I unpacked it I could use it without problem:
upx -d phantomjs
There is a bug report for UPX: http://sourceforge.net/p/upx/bugs/238/
It seems it is a problem only in v3.08. I've tested it with 3.09 and it works fine. So maybe you should upgrade UPX in your build environment.

Good tip @wallneradam, will give it a try. Meanwhile, let's track this on #12900.


⚠ Bofrost.lu has degraded performance

In c30f1cd, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 917 ms

Resolved: Bofrost.lu performance has improved in 1db9500.


#expect does not catch error

Description
My assumption is that #expect would catch any errors thrown within, reporting failure.  It currently throws halting the test, preventing any further expectations.
vision/swift-testing.md#expectations states:

The most important details relevant to expectation failures are the values being compared or checked and the kind of expectation being performed (e.g. equal, not-equal, less-than, is-not-nil, etc.). Also, if any error was caught while evaluating an expression passed to an expectation, that should be included.

FB13882255
Expected behavior
Behaviour similar to XCTAssert where the  expression is an @autoclosure allowing errors to be caught and the failure reported.
I would expect the following to compile but the test to fail with something like Expectation failed: try condition() threw Error
@Test func testFoo() {
    let condition: () throws -> Bool = { throw CancellationError() }
    #expect(try condition())
}

Actual behavior
Fails to compile with ❌ Errors thrown from here are not handled
Adding throws to the test allows it to compile, but only the first #expect expression is run:
@Test func testFoo() throws {
    let condition: () throws -> Bool = { throw CancellationError() }
    let nextCondition: () throws -> Bool = { true }

    #expect(try condition())
    #expect(try nextCondition()) // never run!
}

Steps to reproduce
Compile and run this test, the first expectation should fail, while the 2nd should pass.
@Test func testFoo() {
    let condition: () throws -> Bool = { throw CancellationError() }
    #expect(try condition())
    #expect(true)
}

swift-testing version/commit hash
Xcode 16 Beta 2 (16A5171r)
Swift & OS version (output of swift --version ; uname -a)
swift-driver version: 1.110 Apple Swift version 6.0 (swiftlang-<IP_ADDRESS>.52 clang-16<IP_ADDRESS>.3)
23.5.0 Darwin Kernel Version 23.5.0: Wed May  1 20:09:52 PDT 2024; root:xnu-10063.121.3~5/RELEASE_X86_64 x86_64

It is intentional that errors are not caught by #expect(), and this is an intentional difference in behaviour from XCTAssert(). Our experience has shown that developers often find it confusing that this expression:
f(try g())

Behaves fundamentally differently from:
XCTAssertTrue(try g())

If you want execution of the test to continue if an error is thrown, consider wrapping the call in #expect(throws:):
#expect(throws: Never.self) {
  #expect(try g())
}


all sort (most popular sorts)

The code includes the necessary header files: <iostream> for input and output and <vector> to work with dynamic arrays.

Four sorting algorithms are implemented in this code: Insertion Sort, Selection Sort, Merge Sort, and Quick Sort.

The insertionSort function performs the Insertion Sort algorithm, which iterates through the array and inserts each element in its correct position among the already sorted elements.

The selectionSort function implements the Selection Sort algorithm, which repeatedly selects the minimum element from the unsorted portion and moves it to the beginning.

The merge function is used in the Merge Sort algorithm. It merges two sorted subarrays into one sorted array.

The mergeSort function performs the Merge Sort algorithm, which divides the array into two halves, recursively sorts them, and then merges them back together.

The partition function is used in the Quick Sort algorithm. It selects a pivot element and partitions the array into two parts - elements less than the pivot and elements greater than the pivot.

The quickSort function is an implementation of the Quick Sort algorithm, which recursively partitions and sorts the array based on a chosen pivot.

In the main function:

The user is asked to input the number of elements and the elements themselves.
The original array is displayed.
Four separate copies of the original array are created and sorted using each of the four sorting algorithms.
The sorted arrays are displayed one by one.

@c7dl8p create separeat files for the algo

@c7dl8p create separeat files for the algo

sir, we already have them in the repository, but tried to do something new, so added all of them in one file, and adjusted it for best space and time complexity !
so there is no need to add them again as they already exist separated !


JWT "BeforeValidException" error in "verifyIdToken"

The following code occasionally throws a "BeforeValidException" error:
$authResponse = $client->fetchAccessTokenWithAuthCode($code);

if ($client->getAccessToken()) {
    $userInfo = $client->verifyIdToken();
    // .. proceed to do stuff with the user info
}

Here is the full stack trace:
BeforeValidException in JWT.php line 112:
Cannot handle token prior to 2016-02-02T13:01:09-0800
in JWT.php line 112
at JWT::decode('eyJhbGciOiJS...', array('RS256')) in Verify.php line 89
at Google_AccessToken_Verify->verifyIdToken('eyJhbGciOiJS...') in Client.php line 682

fixed in #828

Sign in with Google randomly started throwing this at me.  Can someone add an explanation for what configuration needs to be watched out for either to this issue or to the documentation for verifyIdToken?  Or is this a bug in the google client software?  It's odd that the same code has been working for a year but now is suddenly consistently throwing this message, but as soon as I refresh my sign in with google "data-login_uri" with the same post request that threw the error, the token verification succeeds.  This seems like a bug to me, but I'm open to being incorrect.
I'm happy to provide more context/details, but I want to see if someone is on the other end before putting that effort in.

For future readers: I decided to dig in to the implementation/RFC to figure this out more quickly.
TL;DR The firebase php-jwt JWT implementation has a nonstandard check to verify that "the time according to the JWT on the issuing server" is not later than "the time on the machine that is verifying the JWT", w/in some apparently statically configured leeway.  I believe this check in itself is a bug, sleeping until the 'iat' time in the payload to sync the machine time offsets seems like a sad but doable workaround in the meantime.
More details:
The firebase php-jwt JWT.php has this line:
// Check that this token has been created before 'now'. This prevents
// using tokens that have been created for later use (and haven't
// correctly used the nbf claim).
if (isset($payload->iat) && $payload->iat > ($timestamp + static::$leeway)) {
throw new BeforeValidException(
'Cannot handle token prior to ' . \date(DateTime::ISO8601, $payload->iat)
);
}
According to the RFC:
The "iat" (issued at) claim identifies the time at which the JWT was
issued.  This claim can be used to determine the age of the JWT.  Its
value MUST be a number containing a NumericDate value.  Use of this
claim is OPTIONAL.
Notice that it says nothing about validating that this timestamp is not "in the future according to the validating machine's time".  Enforcing this in the JWT.php code seems like an issue, as I've already seen (it looks like the Sign In With Google server is off by about 2 seconds with my machine).  It's unreasonable to assume that it's a server maintainer's fault for getting out of sync with google's server's timestamp.  I think library should be interpreting 'iat' in the future as an indication of this server offset to potentially offset the \time() return value instead of assuming they should be in sync +/- some leeway.  I think the next step is to submit a bug to the repo for php-jwt, and I don't think this is an issue with google-api-php-client, but I hope my analysis might be useful for a few people who stumble upon this from a google search. :)

Hi @gulachek ! Thank you for your comment on this. I will follow up in the issue you filed here: https://github.com/firebase/php-jwt/issues/475


Fix test dependency of mruby-bin-mruby's bintest

I found that the mruby-bin's bintest case added at this commit requires Class(Module)#name, which is defined at mruby-class-ext mgem, not at core.
This would not break mruby's upstream test, but breaks bintests of binary tools(such as mruby-cli ones) which create a mruby binary additionally.
ref: https://github.com/mruby/mruby/commit/f7a891fa8979bdb82410e1adc98765013cc29a79#diff-1d3b69d05e6068fdd48537dda6e5cb62R55

How about to use Module#to_s instead of Module#name ?
It's no need dependency.

This sounds good!

LGTM

Can you squash?

@zzak OK!

Thanks!


Libvirt e2e with kcli no longer works since CoCo 0.8.0

As of CoCo 0.8.0 it is required containerd 1.7+.
The Libivrt implementation of our e2e test framework relies on kcli to deploy Kubernetes on VMs. Currently worker nodes are installed with Ubuntu 20.04 and containerd 1.6. Ubuntu 22.04  provides containerd 1.7 (https://packages.ubuntu.com/jammy-updates/containerd), so one solution to meet the containerd requirement would be to simple update Ubuntu version, but....
.... kcli has installed containerd.io package which is distributed by Docker, which is containerd 1.6. I opened an issue on kcli side (https://github.com/karmab/kcli/issues/619) to see if we can work around that situation, perhaps allowing users to choose the containerd package/version to be installed on the nodes.
An alternative solution would be to pass the INSTALL_OFFICIAL_CONTAINERD=true to CoCo's operator so that it will swap the system's containerd.  This is a band-aid solution though, we don't know for how long the operator will keep shipping with that containerd switch feature.
Another alternative solution is to look for another tool to deploy Kubernetes.

Thanks @wainersm , CC @liudalibj @stevenhorsman

@wainersm - Hey Wainer, as you know I've been playing around with running the libvirt e2e tests on s390x and kcli doesn't support this, I've used the same approach as we use in the operator to set-up the cluster with ansible and kubeadm. When running this on a Ubuntu 22.04 machine this all works. My history is in this gist: https://gist.github.com/stevenhorsman/c894345ef7737585ffaf761f74bd80d7 in case that could be an approach to use on all platforms?
Alternatively we could consider skipping the nydus test on the libvirt cloud provider until we have https://github.com/confidential-containers/operator/issues/288 implemented, or a better solution?

I believe kcli should work on s390x too!

@karmab - Hey Karim, that's interesting to know. The issue I hit during the install was:
curl https://raw.githubusercontent.com/karmab/kcli/main/install.sh | sudo bash
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  4694  100  4694    0     0  22246      0 --:--:-- --:--:-- --:--:-- 22141
Installing using deb package
Executing the  setup script for the 'karmab/kcli' repository ...

   OK: Checking for required executable 'curl' ...
   OK: Checking for required executable 'apt-get' ...
   OK: Detecting your OS distribution and release using system methods ...
 ^^^^: ... Detected/provided for your OS/distribution, version and architecture:
 >>>>:
 >>>>: ... distro=ubuntu  version=20.04  codename=focal  arch=s390x
 >>>>:
 NOPE: Checking for apt dependency 'apt-transport-https' ...
   OK: Updating apt repository metadata cache ...
   OK: Attempting to install 'apt-transport-https' ...
   OK: Checking for apt dependency 'ca-certificates' ...
   OK: Checking for apt dependency 'gnupg' ...
   OK: Checking for apt signed-by key support ...
   OK: Importing 'karmab/kcli' repository GPG keys ...
   OK: Checking if upstream install config is OK ...
   OK: Installing 'karmab/kcli' repository via apt ...
 NOPE: Updating apt repository metadata cache ...
Failed to update via apt-get update
Hit:1 https://download.docker.com/linux/ubuntu focal InRelease
Hit:2 http://gb.ports.ubuntu.com/ubuntu-ports focal InRelease
Hit:3 http://gb.ports.ubuntu.com/ubuntu-ports focal-updates InRelease
Hit:4 http://gb.ports.ubuntu.com/ubuntu-ports focal-backports InRelease
Hit:5 http://gb.ports.ubuntu.com/ubuntu-ports focal-security InRelease
Get:6 https://dl.cloudsmith.io/public/karmab/kcli/deb/ubuntu focal InRelease [4972 B]
Err:6 https://dl.cloudsmith.io/public/karmab/kcli/deb/ubuntu focal InRelease
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY F9EA2C192F1D6BB6
Reading package lists...
W: GPG error: https://dl.cloudsmith.io/public/karmab/kcli/deb/ubuntu focal InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY F9EA2C192F1D6BB6
E: The repository 'https://dl.cloudsmith.io/public/karmab/kcli/deb/ubuntu focal InRelease' is not signed.
 ^^^^: ... Failed to update via apt-get update - Context above.
 !!!!: Oh no, your setup failed! :-( ... But we might be able to help. :-)
 !!!!:
 !!!!: You can contact karmab for further assistance.
 !!!!:
 !!!!: URL: https://github.com/karmab/kcli
 !!!!:

Get:1 https://dl.cloudsmith.io/public/karmab/kcli/deb/ubuntu focal InRelease [4972 B]
Err:1 https://dl.cloudsmith.io/public/karmab/kcli/deb/ubuntu focal InRelease
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY F9EA2C192F1D6BB6
Hit:2 https://download.docker.com/linux/ubuntu focal InRelease
Hit:3 http://gb.ports.ubuntu.com/ubuntu-ports focal InRelease
Hit:4 http://gb.ports.ubuntu.com/ubuntu-ports focal-updates InRelease
Hit:5 http://gb.ports.ubuntu.com/ubuntu-ports focal-backports InRelease
Hit:6 http://gb.ports.ubuntu.com/ubuntu-ports focal-security InRelease
Reading package lists... Done
W: GPG error: https://dl.cloudsmith.io/public/karmab/kcli/deb/ubuntu focal InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY F9EA2C192F1D6BB6
E: The repository 'https://dl.cloudsmith.io/public/karmab/kcli/deb/ubuntu focal InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package python3-kcli

I assumed it just wasn't supposed to work, but I can raise an issue for this if you'd like?

@karmab @stevenhorsman I tried the kcli in past days, and figure how to use kcli to create kubeadm s390x cluster on one s390x machine. I created on pr https://github.com/karmab/kcli/pull/620 to fix the issues that I founded. Please help to review and comments.

@karmab - Hey Karim, that's interesting to know. The issue I hit during the install was:
curl https://raw.githubusercontent.com/karmab/kcli/main/install.sh | sudo bash
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  4694  100  4694    0     0  22246      0 --:--:-- --:--:-- --:--:-- 22141
Installing using deb package
Executing the  setup script for the 'karmab/kcli' repository ...

   OK: Checking for required executable 'curl' ...
   OK: Checking for required executable 'apt-get' ...
   OK: Detecting your OS distribution and release using system methods ...
 ^^^^: ... Detected/provided for your OS/distribution, version and architecture:
 >>>>:
 >>>>: ... distro=ubuntu  version=20.04  codename=focal  arch=s390x
 >>>>:
 NOPE: Checking for apt dependency 'apt-transport-https' ...
   OK: Updating apt repository metadata cache ...
   OK: Attempting to install 'apt-transport-https' ...
   OK: Checking for apt dependency 'ca-certificates' ...
   OK: Checking for apt dependency 'gnupg' ...
   OK: Checking for apt signed-by key support ...
   OK: Importing 'karmab/kcli' repository GPG keys ...
   OK: Checking if upstream install config is OK ...
   OK: Installing 'karmab/kcli' repository via apt ...
 NOPE: Updating apt repository metadata cache ...
Failed to update via apt-get update
Hit:1 https://download.docker.com/linux/ubuntu focal InRelease
Hit:2 http://gb.ports.ubuntu.com/ubuntu-ports focal InRelease
Hit:3 http://gb.ports.ubuntu.com/ubuntu-ports focal-updates InRelease
Hit:4 http://gb.ports.ubuntu.com/ubuntu-ports focal-backports InRelease
Hit:5 http://gb.ports.ubuntu.com/ubuntu-ports focal-security InRelease
Get:6 https://dl.cloudsmith.io/public/karmab/kcli/deb/ubuntu focal InRelease [4972 B]
Err:6 https://dl.cloudsmith.io/public/karmab/kcli/deb/ubuntu focal InRelease
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY F9EA2C192F1D6BB6
Reading package lists...
W: GPG error: https://dl.cloudsmith.io/public/karmab/kcli/deb/ubuntu focal InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY F9EA2C192F1D6BB6
E: The repository 'https://dl.cloudsmith.io/public/karmab/kcli/deb/ubuntu focal InRelease' is not signed.
 ^^^^: ... Failed to update via apt-get update - Context above.
 !!!!: Oh no, your setup failed! :-( ... But we might be able to help. :-)
 !!!!:
 !!!!: You can contact karmab for further assistance.
 !!!!:
 !!!!: URL: https://github.com/karmab/kcli
 !!!!:

Get:1 https://dl.cloudsmith.io/public/karmab/kcli/deb/ubuntu focal InRelease [4972 B]
Err:1 https://dl.cloudsmith.io/public/karmab/kcli/deb/ubuntu focal InRelease
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY F9EA2C192F1D6BB6
Hit:2 https://download.docker.com/linux/ubuntu focal InRelease
Hit:3 http://gb.ports.ubuntu.com/ubuntu-ports focal InRelease
Hit:4 http://gb.ports.ubuntu.com/ubuntu-ports focal-updates InRelease
Hit:5 http://gb.ports.ubuntu.com/ubuntu-ports focal-backports InRelease
Hit:6 http://gb.ports.ubuntu.com/ubuntu-ports focal-security InRelease
Reading package lists... Done
W: GPG error: https://dl.cloudsmith.io/public/karmab/kcli/deb/ubuntu focal InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY F9EA2C192F1D6BB6
E: The repository 'https://dl.cloudsmith.io/public/karmab/kcli/deb/ubuntu focal InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package python3-kcli

I assumed it just wasn't supposed to work, but I can raise an issue for this if you'd like?

I dont know why that part doesnt work on s390
but the following can be used as a workaround (so you install the deb package and not from pip)
curl -1sLf 'curl -sL 'https://dl.cloudsmith.io/public/karmab/kcli/gpg.F9EA2C192F1D6BB6.key'' | sudo gpg --dearmor -o /usr/share/keyrings/kcli-stable-archive-keyring.gpg

@karmab @stevenhorsman I tried the kcli in past days, and figure how to use kcli to create kubeadm s390x cluster on one s390x machine. I created one pr karmab/kcli#620 to fix the issues that I founded. Please help to review and comments.

@karmab thanks for review and merge the s390x support pr, the code introduced one bug: the amd64 KVM vm instance will have bad nicname enp1s0, the correct name should be ens3, a fix is here https://github.com/karmab/kcli/pull/622

@karmab - Hey Karim, that's interesting to know. The issue I hit during the install was:
curl https://raw.githubusercontent.com/karmab/kcli/main/install.sh | sudo bash
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  4694  100  4694    0     0  22246      0 --:--:-- --:--:-- --:--:-- 22141
Installing using deb package
Executing the  setup script for the 'karmab/kcli' repository ...

   OK: Checking for required executable 'curl' ...
   OK: Checking for required executable 'apt-get' ...
   OK: Detecting your OS distribution and release using system methods ...
 ^^^^: ... Detected/provided for your OS/distribution, version and architecture:
 >>>>:
 >>>>: ... distro=ubuntu  version=20.04  codename=focal  arch=s390x
 >>>>:
 NOPE: Checking for apt dependency 'apt-transport-https' ...
   OK: Updating apt repository metadata cache ...
   OK: Attempting to install 'apt-transport-https' ...
   OK: Checking for apt dependency 'ca-certificates' ...
   OK: Checking for apt dependency 'gnupg' ...
   OK: Checking for apt signed-by key support ...
   OK: Importing 'karmab/kcli' repository GPG keys ...
   OK: Checking if upstream install config is OK ...
   OK: Installing 'karmab/kcli' repository via apt ...
 NOPE: Updating apt repository metadata cache ...
Failed to update via apt-get update
Hit:1 https://download.docker.com/linux/ubuntu focal InRelease
Hit:2 http://gb.ports.ubuntu.com/ubuntu-ports focal InRelease
Hit:3 http://gb.ports.ubuntu.com/ubuntu-ports focal-updates InRelease
Hit:4 http://gb.ports.ubuntu.com/ubuntu-ports focal-backports InRelease
Hit:5 http://gb.ports.ubuntu.com/ubuntu-ports focal-security InRelease
Get:6 https://dl.cloudsmith.io/public/karmab/kcli/deb/ubuntu focal InRelease [4972 B]
Err:6 https://dl.cloudsmith.io/public/karmab/kcli/deb/ubuntu focal InRelease
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY F9EA2C192F1D6BB6
Reading package lists...
W: GPG error: https://dl.cloudsmith.io/public/karmab/kcli/deb/ubuntu focal InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY F9EA2C192F1D6BB6
E: The repository 'https://dl.cloudsmith.io/public/karmab/kcli/deb/ubuntu focal InRelease' is not signed.
 ^^^^: ... Failed to update via apt-get update - Context above.
 !!!!: Oh no, your setup failed! :-( ... But we might be able to help. :-)
 !!!!:
 !!!!: You can contact karmab for further assistance.
 !!!!:
 !!!!: URL: https://github.com/karmab/kcli
 !!!!:

Get:1 https://dl.cloudsmith.io/public/karmab/kcli/deb/ubuntu focal InRelease [4972 B]
Err:1 https://dl.cloudsmith.io/public/karmab/kcli/deb/ubuntu focal InRelease
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY F9EA2C192F1D6BB6
Hit:2 https://download.docker.com/linux/ubuntu focal InRelease
Hit:3 http://gb.ports.ubuntu.com/ubuntu-ports focal InRelease
Hit:4 http://gb.ports.ubuntu.com/ubuntu-ports focal-updates InRelease
Hit:5 http://gb.ports.ubuntu.com/ubuntu-ports focal-backports InRelease
Hit:6 http://gb.ports.ubuntu.com/ubuntu-ports focal-security InRelease
Reading package lists... Done
W: GPG error: https://dl.cloudsmith.io/public/karmab/kcli/deb/ubuntu focal InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY F9EA2C192F1D6BB6
E: The repository 'https://dl.cloudsmith.io/public/karmab/kcli/deb/ubuntu focal InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package python3-kcli

I assumed it just wasn't supposed to work, but I can raise an issue for this if you'd like?

I dont know why that part doesnt work on s390 but the following can be used as a workaround (so you install the deb package and not from pip)
curl -1sLf 'curl -sL 'https://dl.cloudsmith.io/public/karmab/kcli/gpg.F9EA2C192F1D6BB6.key'' | sudo gpg --dearmor -o /usr/share/keyrings/kcli-stable-archive-keyring.gpg

I tried with follow modification to pass the gpg key issue, but still can't install kcli with apt-get

curl -fsSL https://dl.cloudsmith.io/public/karmab/kcli/gpg.F9EA2C192F1D6BB6.key | sudo gpg --dearmor -o /usr/share/keyrings/kcli-stable-archive-keyring.gpg && apt-key add /usr/share/keyrings/kcli-stable-archive-keyring.gpg

check the key

apt-key list
/etc/apt/trusted.gpg
--------------------
pub   rsa2048 2020-11-15 [SCEA]
      91E0 9D37 6184 2688 0765  4901 F9EA 2C19 2F1D 6BB6
uid           [ unknown] Cloudsmith Package (karmab/kcli<EMAIL_ADDRESS>
/etc/apt/trusted.gpg.d/ubuntu-keyring-2012-archive.gpg
------------------------------------------------------
pub   rsa4096 2012-05-11 [SC]
      790B C727 7767 219C 42C8  6F93 3B4F E6AC C0B2 1F32
uid           [ unknown] Ubuntu Archive Automatic Signing Key (2012<EMAIL_ADDRESS>
/etc/apt/trusted.gpg.d/ubuntu-keyring-2012-cdimage.gpg
------------------------------------------------------
pub   rsa4096 2012-05-11 [SC]
      8439 38DF 228D 22F7 B374  2BC0 D94A A3F0 EFE2 1092
uid           [ unknown] Ubuntu CD Image Automatic Signing Key (2012<EMAIL_ADDRESS>
/etc/apt/trusted.gpg.d/ubuntu-keyring-2018-archive.gpg
------------------------------------------------------
pub   rsa4096 2018-09-17 [SC]
      F6EC B376 2474 EDA9 D21B  7022 8719 20D1 991B C93C
uid           [ unknown] Ubuntu Archive Automatic Signing Key (2018<EMAIL_ADDRESS>

update the apt-repo as:

cat /etc/apt/sources.list.d/karmab-kcli.list
# Source: karmab
# Site: https://github.com/karmab/kcli
# Repository: karmab / kcli
# Description: A certifiably-awesome open-source package repository curated by karmab, hosted by Cloudsmith.

deb https://dl.cloudsmith.io/public/karmab/kcli/deb/ubuntu focal main

deb-src https://dl.cloudsmith.io/public/karmab/kcli/deb/ubuntu focal main

run update command

apt-get update
Hit:1 http://gb.ports.ubuntu.com/ubuntu-ports focal InRelease
Hit:2 http://gb.ports.ubuntu.com/ubuntu-ports focal-updates InRelease
Get:3 https://dl.cloudsmith.io/public/karmab/kcli/deb/ubuntu focal InRelease [4972 B]
Hit:4 http://gb.ports.ubuntu.com/ubuntu-ports focal-backports InRelease
Hit:5 http://gb.ports.ubuntu.com/ubuntu-ports focal-security InRelease
Fetched 4972 B in 1s (4010 B/s)
Reading package lists... Done
N: Skipping acquire of configured file 'main/binary-s390x/Packages' as repository 'https://dl.cloudsmith.io/public/karmab/kcli/deb/ubuntu focal InRelease' doesn't support architecture 's390x'

check the website https://dl.cloudsmith.io/public/karmab/kcli/deb/ubuntu/dists/focal/InRelease

...
Architectures: amd64 arm64 armel armhf i386
...

So the s390x deb package is not there, is there any way to add s390x deb package @karmab ?


Does not resolve public IPv6 address

Current Behaviour
Resolves the dynamic IPv6 address assigned by the local router.
Expected Behaviour
Resolves the dynamic public IPv6 address assigned by the network provider.
Suggestion
Fetch the public IPv6 address via https://ipv6.lafibre.info/ip.php

I don't quite understand what is the issue here. Generally, the router assigns a "public" IPv6 IP to each device, which the script should grab.
What does your setup look like? Do you have multiple IPv6 addresses on the same network interface? Or some special routing setup where the IPv6 IP on the interface is different from the public one?

My router has a public IPv6 from the ISP and issues an IPv4 to local network devices. The router doesn't assign a public IPv6 to local network devices.

That's a bit of an odd setup, does your router allow you to configure this somehow?
Have you checked wether remote access via IPv6 works in scenario? Do you forward the port for IPv4 and IPv6?

does your router allow you to configure this somehow?

Unfortunately not.

remote access via IPv6 works in scenario

Yep.

Do you forward the port for IPv4 and IPv6?

Port forwarding works by forwarding the port (:32400) to the MAC address of the device.

I have an idea for how to address this, but I believe it only works if your local devices have an all IPv6 route to the internet. If your devices do not have any IPv6-based path to the internet, they should not even be able to connect to e.g. api6.ipify.org.
Does your router assign any IPv6 addresses to your client devices? Also, try running a trace to api6.ipify.org and see if that works.


[Space age] Putting a factory floor creates a planet with a factory icon and no name

Clicking on it shows the last visited factory floor on that planet.

Resolved as of your PR.


[Bug]: Invited users suddenly cannot access their app and missing from workspace shared list

Is there an existing issue for this?

[X] I have searched the existing issues

Description
Some of our apps which has already shared to specific users cannot be accessed by said user and also the users are missing from the workspace shared list after checked by admin. This happens intermitten and if left unchecked, not returning to normal. But after clicking add new workspace, the user suddenly able to access their app again and showing on workspace shared list.
Steps To Reproduce

Create app
Invite users
Use it for a while
User suddenly cannot access their app, getting 404 page
Admin check the workspace shared list, the user is missing
Admin create a new empty workspace
User can access the app again and showing on the workspace shared list

Public Sample App
No response
Environment
Production
Severity
Critical (Broken Production apps)
Issue video log
No response
Version
Self hosted - v1.44. happening on 1.39 but patching to latest still not solving the issue

This sounds like a corruption of cache line for the particular user. Creating a new workspace clears the cache line which then leads to recomputation of the cache line.
@imajiddiffa : Would you know what steps the user take to reach this corrupted state?

@trishaanand we're not entirely sure what causes it. what we know is when it happened, we've tried to create a new workspace+fork app, invite the users to that new workspace and user can use the app again.
but after a while, even on new workspace, user cannot access it again.
also, when on manage user menu, when changing betwee general settings and members tab, sometimes the user is not shown correctly or mostly missing. after refreshing a few times, it shows again

@imajiddiffa : This is concerning behaviour that unfortunately we haven't observed before. Could we get on a debugging call to try and reproduce this? : https://calendly.com/trishaanand/30min?preview_source=et_card


implement Endpoint trait for Box

Right now adding endpoints dynamically is difficult because only types that implement the Endpoint trait directly can be added. When you don't know in advance which endpoint you want to add in a certain situation it can be useful to be able to add boxed endpoints. This implementation makes this possible.
I did not add any tests for this. It seems like a trivial piece of code where the test will probably be more fragile than the code itself.

I just noticed this while going through the code for an unrelated reason. I'm still a bit new to rust but won't this cause an infinite recursion.

Hmm yeah, good catch! I'll see if I can fix that!
thanks!

 I forgot to add as_ref in the method where the boxed endpoint should call the endpoint inside the box. So it called itself. This should be fixed in this pr https://github.com/http-rs/tide/pull/711
Thanks again @hasali19 for noticing this.


CI: bump Rust to 1.73.0

coverage: 60.013%. remained the same when pulling 6517298c2ff8f7ef57a2194b44a5b0ca69e02804 on feature/ci-bump-rust into 7bd2d4ca19954508bf2954632c5aee7425789b11 on master.


Add maniquet2024 benchmark material

Maniquet2024 Benchmark Submission, as authored by: costantinoai

@mschrimpf @costantinoai This benchmark is now producing scores properly and can be merged whenever tests pass!


Add hooks to do something before and after the drag started and ended

Slightly related to #14 : The only clean option to update the UI once a drag&drop operation ended is using the To() extension that provides a Func to define what happens once the user finishes the drag&drop operation successfully.
pic.InitializeDragAndDrop()
  .Copy()
  .OnMouseMove()
  .WithData(() => pic.Image)
  .To(PreviewBoxes, (target, data) =>
  {
    target.Image = data;
    MessageBox.Show("...");        //  <-----
  });

However, if the target controls are not known while initializing the drag&drop operation, To() cannot be used. And then, there's no clean way to react on the operation once it is finished.
In addition, there's no clean way to update the UI as soon as a (deferred) drag operation stars, except a workaround which is updating it within the lambda to define the data to drag:
pic.InitializeDragAndDrop()
  .Copy()
  .OnMouseMove()
  .WithData(() =>
  {
    UpdateUi();        //  <-----
    return pic.Image;
  })
  .To(PreviewBoxes, (target, data) =>
  {
    target.Image = data;
    MessageBox.Show("...");
  });

Provide hooks (within the UI thread):

Start of the operation
End of the operation (bool wasCanceled)

Proposal:
pic.InitializeDragAndDrop()
  .Copy()
  .OnMouseMove()
  .WithData(() => pic.Image)
  .To(PreviewBoxes, (target, data) => target.Image = data)
  .OnStart(() => UpdateUi())
  .OnEnd(success => MessageBox.Show(success ? "Done" : "Canceled"));

Hooks are available with the next version and are guaranteed to be run on the UI thread:
pic.InitializeDragAndDrop()
  .Copy()
  .OnMouseMove()
  .WithData(() => pic.Image)
  .To(PreviewBoxes, (target, data) => target.Image = data)
  .OnStart(() => UpdateUi())
  .OnDrop(() => MessageBox.Show("Dropped successfully"))
  .OnCancel(() => MessageBox.Show("Canceled"));


Lost Verification email functionality bug

Tested Lost Verification email functionality.
After completing verification flow and setting password, the user is redirected back to the verification code page.
User must be redirected to sign in page after successful password update.

Closed..Included in PR(#110)


which image's disparity map  dose the disp.bin represent?

Hi,you did an excellent work,thank you!
I want to ask  which image's disparity map  dose the disp.bin represent?

It's the disparity map for the left image if that is what you are asking.


Callback module should receive a completed/1 call.

In the case where there are hundreds, thousands, or even millions of messages being pushed, the APNS service may need to be alive for a long while. In order to shut the service down on-demand, a finished/1 or completed/1 callback would be very useful once the service has finished pushing all messages. The single argument to this function would be the pid of the APNS service. This functionality would help to facilitate integrity checks for the messages, and allow for spin-down of the APNS service when pushing is finished.
An example implementation that helps to illustrate the point is below:
defmodule MyFeedback do
  def completed(apnsPID) do
    APNS.stop(apnsPID)
  end
end

I don't think apns4ex needs it - we don't have any queue in place and it's not clear to me why to stop the server and on what trigger.
By the way for millions of PNs I personally use worker pool at higher application level and am considering it out of the box.

@kroucis ok from you comment in another issue I understood your case but it still not clear to me why to stop the service? Also I'd like to mention pooling your workers would be good idea and you can also add transaction where you will stop server on commit if you want to.

Thanks for looking into this! It looks like apns4ex is really built for a different use-case than I am currently considering. I will likely be moving to a system closer to what you describe: a worker pool and manages the workers and the apns4ex service(s) associated with those workers. Thanks all the same!


Autoload in composer.json

I think it's bad idea use full path to Bookshelf dir in composer autoload, because if someone wants to add some functional it can be very confusing.
https://github.com/akrabat/slim-bookshelf/blob/master/composer.json#L19

I don't understand. What would suggest instead?

"App\": "app/src"

I disagree. The namespace I'm autoloading is Bookshelf. I don't have an App namespace.


Consider changing the font to Atkinson Hyperlegible

After reading through the Neurodiversity Design System website, I think it might be worth changing to Atkinson Hyperlegible, a font designed around accessibility by the Braille Institute. It is also available on Google Fonts.
If we do make this change, it would make sense to change the font on the Document Assembly Line documentation website, too. And it also might make sense to add it to the Assembly Line tools, at least as an option.

There is also an npm package, @fontsource/atkinson-hyperlegible.

Looks good to me!


request: add keypress layer

simply like the effect you can have in the logitech gaming software
when you press a key it will change to a different color and then return the the original after the time you choose

What you're describing sounds like the Interactive Layer that has been in Aurora for a while


Improve example OTAP script

Improve it to support:

gateway list from file
logging to file
generic usage of OTAP with delay action (no hardcoded value)
control of its behavior via the strict mode switch

Good to me


add travis ci "build passing/failing" badge in README

depends on the completion of #2

@yashvardhan-kukreja  hi i would like to work on this issue

Sure.
Apart from "build/passing" badge, you can add any other badge.
Once #2 gets done you can add the build/passing badge too. As of now, github actions is being chosen for the CI implementation.

@rohan2734 , github actions have been integrated with the project. So, you can proceed to adding the github actions badge corresponding to that :)

@yashvardhan-kukreja  ok i will do that.


fix: postgrest-js v1.17.0-rc.3

https://github.com/supabase/postgrest-js/compare/v1.17.0-rc.1...v1.17.0-rc.3
Resolves many-to-many relationships (context)

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

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 66.038%

Totals

Change from base Build<PHONE_NUMBER>9:
0.0%

Covered Lines:
99

Relevant Lines:
129

💛  - Coveralls


fix: error out if repoPath doesn't exist; user-facing username/public key -> SSB-ID

This might close https://github.com/ssb-ngi-pointer/go-ssb-room/issues/275?
(My german is awful, sorry :see_no_evil:)

They're all the same, yeah. SSB ID would be my default choice, but I don't mind the others.

OK maybe https://github.com/ssb-ngi-pointer/go-ssb-room/pull/308/commits/6c93b004bf771b701e60793a56e9ccb3c3cc98d6 works then, amended the commit.


fromcolumns

Proposed to add a convenience function to wrap a list of columns as a table.

Working on this.


Mapping 5.0 parser fails on comments

The Map 5.0 parser generates errors on double-slash comments (following //) when there are special characters in the comment, such as colon or comma.

Duplicate of standardhealth/shr-grammar#15


[WIP][FLINK-2386] Add new Kafka Consumers

I'm opening a WIP pull request (against our rules) to get some feedback on my ongoing work.
Please note that I'm on vacation next week (until August 17)
Why this rework?
The current PersistentKafkaSource does not always provide exactly-once processing guarantees because we are using the high level Consumer API of Kafka.
We've chosen to use that API because it is handling all the corner cases such as leader election, leader failover and other low level stuff.
The problem is that the API does not allow us to

commit offsets manually
consistently (across restarts) assign partitions to Flink instances

The Kafka community is aware of these issues and actively working on a new Consumer API. See https://cwiki.apache.org/confluence/display/KAFKA/Kafka+0.9+Consumer+Rewrite+Design and https://issues.apache.org/jira/browse/KAFKA-1326
The release of Kafka 0.8.3 is scheduled for October 2015 (see plan: https://cwiki.apache.org/confluence/display/KAFKA/Future+release+plan)
Therefore, I decided for the following approach:
Copy the code of the unreleased, new Kafka Consumer into the Flink consumer and use it.
The new API has all the bells and whistles we need (manual committing, per-partition subscriptions, nice APIs), but it is not completely backwards compatible.
We can retrieve topic metadata with the new API from Kafka 0.8.1, 0.8.2 (and of course 0.8.3)
We can retrieve data from Kafka 0.8.2 (and 0.8.3)
We can only commit to Kafka 0.8.3
Therefore, this pull request contains three different user facing classes FlinkKafkaConsumer081,  FlinkKafkaConsumer082 and FlinkKafkaConsumer083 for the different possible combinations.
For 0.8.1 we are using a hand-crafted implementation against the simple consumer API (https://cwiki.apache.org/confluence/display/KAFKA/0.8.0+SimpleConsumer+Example) so we had to do what we originally wanted to avoid.
I tried to make that implementation as robust and efficient as possible. I'm intentionally not handling any broker failures in the code. For these cases, I'm relying on Flink's fault tolerance mechanisms (which effectively means redeploying the Kafka sources against other online brokers)
For reviewing the pull request, there are only a few important classes to look at:

FlinkKafkaConsumerBase
IncludedFetcher
LegacyFetcher (the one implementing the SimpleConsumer API)
I fixed a little bug in the stream graph generator. It was ignoring the "number of execution retries" when no checkpointing is enabled.

Known issues:

this pull request contains at least one failing test
the KafkaConsumer contains at least one known, yet untested bug
missing documentation

I will also open a pull request for using the new Producer API. It provides much better performance and usability.
Open questions:

Do we really want to copy 20k+ lines of code into our code base (for now)?
If there are concerns about this, I could also manually implement the missing pieces. Its probably 100 lines of code for getting the partition infos for a topic, and we would use the Simple Consumer also for reading from 0.8.2.

Do we want to use the packaging I'm suggesting here (additional maven module for flink-connector-kafka-083). We would need to introduce it anyways when Kafka releases 0.8.3 because the dependencies are not compatible.
But its adding confusion for our users.
I will write more documentation for guidance.

Thanks for all the information Robert! I will have a more detailed look at the classes you mentioned until you are back. Regarding the open questions:

Copying code

I don't see a problem with this in general. I would assume that the copied solution will lead to less surprises in the end. After the new API is released by Kafka, we can remove the code, right?

Packaging

I think it's OK with proper documentation and as you said we have to do it anyways at some point in time.

I've started a discussion about a bug fix release for 0.9. I think this issue is a blocker for that release. What's your stand on this? What do you think how much longer it will take after you are back?

Since Kafka is Apache, copying should be okay. It is good style, though, to add to every copied file a note of origin.
And this is a temporary solution anyways, since we can get rid of most of the copied files as soon as the new Kafka release is properly out.

I'll take a stab at checking out this monster ;-)

I am in the middle of polishing this, adding more tests, and fixing quite a few remaining bugs. Will hopefully open a new pull request soon.

I think we can close this pull request, it has been subsumed by #1028


feat: Set artwork submission ID when submitting artworks from My Collection

Addresses CX-2454
Description
We need to set the submission ID on My Collection artworks when the submission was created from a My Collectio artwork.
Note to reviewers: Could you please test the change locally as well? Thanks :)

@lordkiz can you check this out - I think it's ready to be reviewed already

Code looks good. Is this ready to be merged? @olerichter00

Not yet, I still have to test the changes.

LGTM, thanks @olerichter00  I will merge this PR to make sure to unblock the rest of the work inside metaphysics - for other reviewers, please let me know if something looks off and we would gladly update it
I will test this thoroughly on staging as well


Ctrl+Shift+E enters the letter e instead of opening the sidebar Explorer

Linux Mint 19.3, Visual Studio Code 1.45.1
Issuse: When pressing the shortcut combo Ctrl+Shift+E, instead of opening File Explorer from the sidebar (which can still be activated with Ctrl+B), the program enters as input the letter e highlighted.
Strangely the shortcut combo does function like normal when CAPLOCKS is activated.

CPUs
AMD Ryzen 5 2600X Six-Core Processor (12 x 3204)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: disabled_offprotected_video_decode: unavailable_offrasterization: disabled_softwareskia_renderer: disabled_off_okvideo_decode: unavailable_offviz_display_compositor: enabled_onviz_hit_test_surface_layer: disabled_off_okwebgl: enabledwebgl2: enabled

Load (avg)
0, 0, 0

Memory (System)
15.64GB (8.00GB free)

Process Argv
--no-sandbox --unity-launch

Screen Reader
no

VM
0%

path-intellisense
chr
2.2.0

c-cpp-compile-run
dan
1.0.11

gitlens
eam
10.2.1

vscode-gnu-global
jay
0.3.3

cmake-tools
ms-
1.4.0

cpptools
ms-
0.28.2

material-icon-theme
PKi
4.1.0

cmake
twx
0.0.17

vscodeintellicode
Vis
1.2.7

Can you please look through this section of our keybinding troubleshooting guide and let us know? Thanks! https://github.com/microsoft/vscode/wiki/Keybinding-Issues#troubleshoot-generic-keybindings
/needsMoreInfo

I have the same problem, I recently switched to Gnome from KDE5 Plasma, I can't say if the two things are related.
I attached the output of Inspect key mappings and a small video of what happens

key_mappings.txt

Does setting "keyboard.dispatch": "keyCode" in your user settings fix the issue?

@connor4312 I tried, but unfortunately it doesn't.

This just started happening to me since the recent VS Code update. I think it was the June update which I got about a week ago. I'm on Ubuntu 18.04.4 LTS.
VS Code - Help -> About:
Version: 1.47.1
Commit: 485c41f9460bdb830c4da12c102daff275415b53
Date: 2020-07-14T00:13:57.513Z
Electron: 7.3.2
Chrome: 78.0.3904.130
Node.js: 12.8.1
V8: 7.8.279.23-electron.0
OS: Linux x64 5.3.0-62-generic snap

I tried the suggested "keyboard.dispatch": "keyCode" and it didn't help.
I also tried the key shortcut with CAPSLOCK activated and that makes it work like normal.

@koden-km
What does VS Code detect when you press the desired key combination?

It says "unknown" when I press e. I went through every key with Ctrl+Shift+<...> and it seems to also say "unknown" for Ctr+Shift+u. Every other Ctrl+Shift+<...> key combo said what the key was.

@alexdima
in my case it detect CTRL+SHIFT but as soon as I press the e it changes to "chord to"

See https://developer.gnome.org/gtk3/stable/GtkIMContextSimple.html

See https://github.com/microsoft/vscode/issues/56473#issuecomment-413790018

The workaround is https://github.com/microsoft/vscode/issues/72642#issuecomment-485951777

This appears to be a duplicate of:
https://github.com/microsoft/vscode/issues/48480
https://github.com/microsoft/vscode/issues/56473
https://github.com/microsoft/vscode/issues/70277
https://github.com/microsoft/vscode/issues/72947
https://github.com/microsoft/vscode/issues/72642
https://github.com/microsoft/vscode/issues/102571