Spec Discussion: User identity, filesystem, object-store folders

👋 Hey everyone. I wanted a discussion thread for recent spec work. This will primarily cover:

Beaker user filesystem
Beaker user identities
Object-store folders

I'm going to give an overview of recent specs and explain how I see these specs fitting into the future plans. You can head to https://github.com/beakerbrowser/specs to find all of the specs.
Overview
The core of these specs is a "user identity" system which ties to a user filesystem.
The filesystem is the user's primary storage. It's split into two different dats: the "private" dat (which is the root of the user's filesystem) and the "public" dat (which represents the user's identity).
Identity
The public dat URL is the user's ID. The files in the public dat represent the user's profile. You can also implement a website on your public dat.
Privacy
The private dat is never exposed to other users. Beaker keeps the private dat off the network, for now.
Security
The public dat is the basis for authentication. Users will publish encryption pubkeys on their public dats which are then used to encrypt files and connections. This is explored to some extent with the DatPubkeyFile proposal but isn't a spec yet. We'll need to build a Web of Trust with the public dats.
Data models
For application data, there are two models in these specs:

General file storage
Object-store folders

The object-store folders are based on our experience building Fritter. They are extremely light-weight from an API perspective — they are simply folders that contain .json files and which have validation and permissions enforced by the browser.
Permissions
These specs evolve the permissions model for dats. The new mechanisms include:

The user's private dat requires per-file read and write permissions.
The user's public dat is free to read but requires per-file write permissions.
"protected" folders can not be modified by apps.
"objectstore" and "keystore" folders can only be modified using special permission flows.

To gain read or write access to individual files and folders, there is now the navigator.showFileDialog() API.
To gain read or write access to the object stores, there is now the navigator.session API.
I recommend taking a look at the navigator.session API because it's the primary way that applications will interact with the user's data and identity.
Notes
Improving privacy models
The current privacy model is binary — you can either store data privately or publish it publicly. This will need to become more sophisticated in the future so that you can share with individuals or groups. We'll be able to do that using:

Authenticated connections so that apps can open message channels directly to recipients (PeerSockets).
Network access control so you can share dats only with intended recipients.
At-rest encryption so that you can publicly publish files which are only readable by intended recipients.

Custom hypercore data structures
The specs keep the door open to custom data structures built directly on hypercore, which is important for introducing new CRDTs. This will be accomplished by mounting the custom datastructures as special "files" in the private or public dat.
Deciding against DNS
In an earlier proposal, I toyed with using DNS as part of identity. I liked the simplicity of using domain names as user shortnames. However, I decided against this because I feel the UX of DNS is not good enough to be a core part of user setup. Instead, I want to explore using search and a Web-of-Trust to discover and authenticate users. DNS will still be a part of the system, but mainly for orgs and services, and not as a requirement for all users or content.
Integrating with the host filesystem
A few folks suggested we drop the private dat in favor of using the host filesystem directly. This would have the advantage of a nicer integration with the host OS, but it would lose the ability to network the private dat (which is useful for backup and inter-device sync). My current thinking is that we can explore local filesystem access in addition to the private and public dats.
Closing
Thanks in advance for your feedback. My hope is that PeerSockets, custom hypercore mounts, and some more general-purpose APIs like Block Storage will give developers a lot of flexibility, while the private/public dats, objectstores, and keystores will give a good base structure.
Let me know what tweaks you think would improve these specs, and if you think I've missed anything. This issue is good for general discussion, but you can open individual issues on https://github.com/beakerbrowser/specs.

Here's an example from the main API for "signing in" as a user:
// Request read access to the private contacts and full access to the public fritter posts
await navigator.session.request({
  resources: [{
    // Private contacts
    type: 'private:objects',
    schema: 'dat://walled.garden/contact.schema.json',
    permissions: ['read']
  }, {
    // Public fritter posts
    type: 'public:objects',
    schema: 'dat://fritter.hashbase.io/schemas/post.json',
    permissions: ['create', 'read', 'update', 'delete']
  }]
})

// Log the private contact filenames
var privContacts = navigator.session.getUrl('private:objects', 'dat://walled.garden/contact.schema.json')
var privdat = new DatArchive(privContacts.host)
console.log(await privdat.readdir(privContacts.pathname))

// Publish a new post
var pubPosts = navigator.session.getUrl('public:objects', 'dat://fritter.hashbase.io/schemas/post.json')
var pubdat = new DatArchive(pubPosts.host)
await pubdat.writeFile(`${pubPosts.pathname}/${Date.now()}.json`, JSON.stringify({
  type: 'text',
  text: 'Hello, world!'
}))

Basically what this is doing is, requesting to "login" to the user's account, and asking for access to the user's private contacts folder and public posts folder. The folders are identified by their schemas, and this example is using the hypothetical dat://walled.garden/contact.schema.json for the contacts and dat://fritter.hashbase.io/schemas/post.json for the posts.

Requesting a signin triggers this UI:

And the current signin is shown in the top right of the url bar for the given site:

I already opened issues for these, but I'll repost them here:

Concerns w/ Index.json – Index.json feels like the next .DS_Store
Consider folder extensions over Index.json types – Another way we could help distinguish between these special folders and normal folders
An Applications folder – A familiar alternative to the app:// scheme

It seems to me that the user identities are per site right now. I think I talked about this the last time we discussed profiles, but I think that it would be more intuitive if you had one user "signed-in" per window. I think it could be confusing to change users per tab. In the same way that modern browsers  open a "guest window" or an "incognito window", I think you should open a "user window" as well. It's less to keep in your memory and less state churn while moving through the browser.

@pfrazee I would imagine that the site would still need to request permission to access your profile... so it might still act the same from the site's point of view, but the browser just wouldn't ask the user repeatedly which account they want to be signed in as. The user won't be aware of their "sign-in" status for any given site. They can just view which sites they've given profile permissions to and will occasionally see sites prompting to access their profile.
This may be something that is handled differently per browser. One browser could implement it per tab as you're suggesting, another browser could implement it per window, and something like chrome OS could have one user "signed in" for the entire computer.

Hmm, yeah that actually makes a lot of sense. You might be right about this.

Okay so here are some mockups for "window-wide" login rather than "side-wide". I had two different ideas on how the permissions-requests would work, so I mocked up both ideas.
Start page

There's a "current user" badge in the browsing chrome to the right of the URL bar.
Current user dropdown

Clicking on the badge (or on the start page's profile indicator) opens this dropdown. The two menu items ("View profile" and "Edit settings") will open those targets in new tabs, while the profile items across the bottom will create new windows logged in under those identities. The "new" item will put you into a new window with the new-user creation flow.
Site request permissions (v1)

A site that requests permissions via navigator.session.request() would get this dropdown.
The "v1" approach creates a little profile icon on the right of the URL bar. That icon persists, and lets you review the granted permissions when you click it. The icon would be a bright blue if you granted perms, and grayed out if you did not.
Site request permissions (v2)

A site that requests permissions via navigator.session.request() would get this dropdown.
The "v2" approach makes the permissions request part of the typical permissions-request flow, and attaches it to the site's "certificate icon" rather than creating a new icon in the right of the URL bar. This may fit more naturally since it's where all other permissions are requested, but it may not make the "logged in" state as obvious.
It's worth noting that the future "Web of Trust" ideas will add more detail to the "certificate," as per this mockup:

Right approach?
So, how does this overall concept feel, and how do we feel about the perms requests v1 or v2?

I like V2 best. It feels more natural and will pair well with the future "Web of Trust". Keeping everything relevant to privacy and permission in one location.

I’m with @Septimus in that I prefer V2, We already have peer count, local folder, http->dat swap, and general settings on the right side of the url bar. Probably best not to add too many actions over there.


fix line break of group label

[x] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)

Proposed changes
When a group name contains line breaks (\n), the label and surrounding boxes of the group are node displayed correctly as follows:

This PR tries to fix this problem to make the group displayed as follows:

Checklist

[x] I have read the contribution guidelines
[ ] For non-bugfix PRs, I have discussed this change on the forum/slack team.
[x] I have run grunt to verify the unit tests pass
[ ] I have added suitable unit tests to cover the new/changed functionality

Coverage increased (+0.07%) to 77.581% when pulling 243915516ebc77f6ce21ec85fbf6f70357ecf7f8 on node-red-hitachi:fix-line-break-of-group-name into fbd911ed274f62c422bcbeb98de4ca8f310bec2e on node-red:dev.

My intention was for this to be a single line of text at most. I don't want to encourage entire essays being written in the workspace when we already provide the Description for well-formatted long-form content.
But I accept you wanted this for the node labels, so it would be consistent for the group label to support it similarly.
I pulled down this PR and got this error in the browser console for all of my existing groups.

Coming from this line: https://github.com/node-red/node-red/pull/2568/files#diff-8d547f8ac2bd787f7aeb304f574a1897R4292
 d.labels.forEach(function (name) {

sorry. committed a fix for the error.

Looks good. Happy to merge this fix.
This has uncovered another issue that I'll address separately. If a node/group name has a  \n in it, there are a few places in the UI where we display the name in a single line. For example:

I don't think that looks very good.
But nor do I want to make it multiple lines of text.
When displaying the label in a single line, I propose to only show up to the first \n and add "..." to indicate there is more content. This will fit the common pattern of the first line being more of a title.
I have also noticed that given a label of A\n B you end up with:
A
 B

I think it would be nicer to strip the first space character after a \n, so you'd get:
A
B

That will make it easier to read the label when seen in a single line - A\n B is more readable than A\nB.
Will tidy those things up tonight.

Thank you.
As far as I know, hidden node label also shown with \n.
It may need the same treatment with "...".


Llama Build Issue

I tried to build with:
python build.py --model_dir ../../../models/Unholy-v2-13B --dtype float16 --remove_input_padding --use_gpt_attention_plugin float16 --enable_gemm_plugin float16 --enable_context_fmha --output_dir ../../../models/trt_engines/unholy13b/fp16/1-gpu/
Traceback (most recent call last):
File "/TensorRT-LLM/examples/llama/build.py", line 47, in
from tensorrt_llm.models.llama.weight import (  # isort:skip
ModuleNotFoundError: No module named 'tensorrt_llm.models.llama.weight'
Does anyone knows potential solution for this?
Thanks.
===================================================
I installed TensorRT-LLM from the wheel

I think there is a bug. As a solution, you could try cloning this repository and modifying the weight.py file, which is imported from the build.py file. This should fix the issue.

I successfully built the llama using the code modifications made following my PR at https://github.com/NVIDIA/TensorRT-LLM/pull/834 .

@kstyagi23 could you try latest main branch? And are you build from source?
The possible issue is that the the pre-built whl and the example code you are running are not from same commit.
We recently moved the weight.py into the tensorrt_llm/models/llama dir, the change may not be inside the whl package yet.
Pls re-open the issue if you still see the problem with latest main. Thank you

Hey @ngoanpv, apologies for the delayed response.
Thanks for the update, I'll check it out.
Thanks @litaotju for letting me know... I'll test it out!
Cheers ✌


New version: vim.vim.nightly version 9.1.0452

Pull request has been created with WinGet Releaser v2 :rocket:
Microsoft Reviewers: Open in CodeFlow

Automatic Validation ended with:

Installation failed with exit code -1978335187
2024-05-30 16:51:36.392 [FAIL] Installer failed security check. Url: https://github.com/vim/vim-win32-installer/releases/download/v9.1.0452/gvim_9.1.0452_x86.exe Result: 0x80004005

Automated error analysis suggests -1978335187 may mean Installer failed security check. Another script should retry this every 18 hours.
(Automated response - build 882.)

@wingetbot run

Automatic Validation ended with:

Installation failed with exit code -1978335187
2024-05-31 14:34:09.292 [FAIL] Installer failed security check. Url: https://github.com/vim/vim-win32-installer/releases/download/v9.1.0452/gvim_9.1.0452_x86.exe Result: 0x80004005

Automated error analysis suggests -1978335187 may mean Installer failed security check. Another script should retry this every 18 hours.
(Automated response - build 882.)

@wingetbot run

Automatic Validation ended with:

Installation failed with exit code -1978335187
2024-06-03 16:35:16.432 [FAIL] Installer failed security check. Url: https://github.com/vim/vim-win32-installer/releases/download/v9.1.0452/gvim_9.1.0452_x86.exe Result: 0x80004005

Automated error analysis suggests -1978335187 may mean Installer failed security check. Another script should retry this every 18 hours.
(Automated response - build 883.)

@wingetbot run

@wingetbot run

/azp run

Sorry for the delay. wingetbot run wasn't listening to due to:

Octokit was broken because comment id exceeded int maximum value for parsing JSON. A fix was submitted earlier, but we haven't got a NuGet package yet[.]

@denelon on Gitter


pasted function in JS won't convert to blocks unless call is added

I want to paste code (created in a Blocks project) into another Blocks project but copying is not available in Blocks. Using JS should be possible but throws errors when converting back to Blocks. A simple example demonstrates the problem and a possible work around :

Need to cherry-pick https://github.com/Microsoft/pxt/pull/3312

BTW thank you for the detailed repro steps and GIF!

Fixed in alpha


SSH agent support on MacOS

Added an example SSH config file to ./docs in https://github.com/ddnomad/dotfiles/commit/48eb1b19878cf17c839c7fe95f3b0762bed622d9, can be resolved now.


HStack not workin in version 1.0.0

Description
HStack not working when I create a new project using react native CLI. This problem not happen in version 0.2.51.
gluestack-ui Version
1.0.0
Platform

[ ] Expo
[X] React Native CLI
[ ] Next
[ ] Web
[ ] Android
[ ] iOS

Hey @r083rt, In order to work default styling of the components you have to pass config in GluestackUIProvider.
import { GluestackUIProvider, Button, ButtonText } from "@gluestack-ui/themed";
import { config } from "@gluestack-ui/config";
function App() {
  return (
    <GluestackUIProvider config={config}>
      <Button>
        <ButtonText>Hello world</ButtonText>
      </Button>
    </GluestackUIProvider>
  )
}

Hey @r083rt, In order to work default styling of the components you have to pass config in GluestackUIProvider.
import { GluestackUIProvider, Button, ButtonText } from "@gluestack-ui/themed";
import { config } from "@gluestack-ui/config";
function App() {
  return (
    <GluestackUIProvider config={config}>
      <Button>
        <ButtonText>Hello world</ButtonText>
      </Button>
    </GluestackUIProvider>
  )
}

import {GluestackUIProvider} from '@gluestack-ui/themed';
import {LogBox, SafeAreaView} from 'react-native';
import {config} from './gluestack-ui.config.ts';
import Navigator from './routes';
import NetInfo from '@react-native-community/netinfo';
import React, {useEffect} from 'react';
export default function App({children}) {
LogBox.ignoreAllLogs();
useEffect(() => {
const handleConnectivityChange = state => {
console.log('Connection type: ', state.type);
console.log('Is connected? ', state.isConnected);
};
const unsubscribe = NetInfo.addEventListener(handleConnectivityChange);
return () => {
unsubscribe();
};
}, []);
return (
<SafeAreaView
style={{
flex: 1,
}}>

);
}
Here's my code. I already have a project using gluestack ui. the problem did'nt exists in version 0.2.51

Hey @r083rt, please follow this steps.

run npx gluestack-ui-scripts eject-theme.
go to config folder.
find gluestack-ui.config.ts.
replace your tokens and aliases(Don't changes anything else).
import this config and pass this config to GluestackUIProvider.

if you want to customised your components and theme please checkout this doc

I ran into the same problem, but it looked like the config path had changed from @gluestack-ui/themed to @gluestack-ui/config.
I changed the path and set it up like this template and it solved the problem.
// import { createConfig, config } from "@gluestack-ui/themed"
import { config as defaultConfig } from '@gluestack-ui/config';

📝PS
I did a yarn insrtall and it said @gluestack-ui/config path is invalid.
I looked at the commits  and saw that the documentation(step 1.5) had been updated, so I think following that will solve the problem.
yarn add @gluestack-ui/config@latest

OR
npm i @gluestack-ui/config@latest

Hey @ryuji-orca, Does this resolved your issue?

@Viraj-10
I solved the problem by following the above procedure!
However, I can't close this issue because I didn't make this issue.


Why use Foundation_Tools?

Hi all! Thanks for a nice installation procedure, worked really well! (build.cmd)
On /setup , you have option catalogue "Foundation_Tools" - so it installed some products but meny links and branding site was still Mosey fashion retail.
Q1: Would it not better to not display Foundation_Tools in Setup?
Q2: Now i istalled both  Foundation_Tools and  Foundation_Fashion, can i remove the commerce database and restart the build.cmd?
Thank you for puting this in the documentation, would be great!
Regards Luc

We are creating a site to go with the catalog but is not done yet.  The idea was to decouple the sites and catalogs because you might not need to import any catalogs for a cms demo for instance.  The idea  is to have more sites as well like financial services, etc.
Should we update this issue to update the documentation on importing content?

Good idea, Yes update the documentation on importing content. Even a road map for site and what other part exists when importing.
Whats the idea behind the locations and tags?
Just figuring out the site and how to use it (and later will use it as demo for a marketplace partner)

Locations and tags show how to do geo location searches using find as well as improve long-tail traffic with automatic landing pages


Last reconnect attribute

Replace uptime attribute by last reconnect attribute in binary sensor. What do you think @mammuth?
Could you please test @chemelli74, @N1c093?
I tested (as appropriate):

[x] Connectivity sensor

Closes issue #35,
Closes issue #93
Closes issue #114

@AaronDavidSchneider I'm currently on vacation, so I can test it next week.

@AaronDavidSchneider Cool!
But you only touched the setup method. What happens if the router reconnects after the integration was set up - it won't update the attributes, will it? 🤔

Looks fine to me, but I didn't test it. Should we wait for @N1c093?

I'll test later this evening or on Sunday

@mammuth I will test it on Sunday/Monday.

I would say we wait until it's tested.

First of all, than you for your job!
Here the result of my test:

I would add a couple of comments:

"last reconnect": looking if there is a way to make it show as timestamp instead of string ("last reconnect: 1 day ago"). I think that at least we miss %f for milliseconds in the format.
"last connect str": I think we can avoid such attribute. If anyone is interested would be easy to create a template sensor from "last reconnect". But I think it would be a very small minority.

Just my 2 cents,
Simone

Thanks for your comments @chemelli74! Yes I agree, we should drop 'Last reconnect str'.
Could you provide a format rule for your idea? I think I don't really understand your idea.

Could you provide a format rule for your idea? I think I don't really understand your idea.

Timestamp format should follow this rule: 2020-10-02T21:51:19.502766+00:00
But as attribute cannot have a device_class I think we should use relative_time() to get the same result.
Simone

For me it looks fine, as already mentioned, we should drop the last connect str.
I'm sorry, but I can't help with the discussion about the time format.
If we merge this PR we should add a breaking change in the release notes. Maybe we could provide an example for an template to calculate the uptime if it's needed.
Thanks for your work @AaronDavidSchneider :thumbsup:

I think it can be merged now @mammuth.

Hi, can you please consider moving from last_reconnect.replace(microsecond=1).isoformat() to last_reconnect.replace(microsecond=0).isoformat() ?
Current value: '2020-10-16T13:37:17.000001'
New value     : '2020-10-16T13:37:17'
Simone

Hi, can you please consider moving from last_reconnect.replace(microsecond=1).isoformat() to last_reconnect.replace(microsecond=0).isoformat() ?

That was indeed the first version of this PR...

Current value: '2020-10-16T13:37:17.000001'
New value : '2020-10-16T13:37:17'
Simone

You were saying above, that you were missing the microseconds?

"last reconnect": looking if there is a way to make it show as timestamp instead of string ("last reconnect: 1 day ago"). I think that at least we miss %f for milliseconds in the format.

Did I misunderstand you?

"last reconnect": looking if there is a way to make it show as timestamp instead of string ("last reconnect: 1 day ago"). I think that at least we miss %f for milliseconds in the format.

Did I misunderstand you?

I think so.
My idea was to investigate in order to allow the last reconnect to have the device_class: timestamp attribute so to be shown as "1 day ago". To do that the value should conform timestamp requirements and %f is needed.
Unfortunately the device class cannot be added to attributes but only to sensors, so %f doesn't make anymore sense.
Hope to have clarified. Sorry for the misunderstanding.
Simone

"last reconnect": looking if there is a way to make it show as timestamp instead of string ("last reconnect: 1 day ago"). I think that at least we miss %f for milliseconds in the format.

Did I misunderstand you?

I think so.
My idea was to investigate in order to allow the last reconnect to have the device_class: timestamp attribute so to be shown as "1 day ago". To do that the value should conform timestamp requirements and %f is needed.
Unfortunately the device class cannot be added to attributes but only to sensors, so %f doesn't make anymore sense.
Hope to have clarified. Sorry for the misunderstanding.
Simone

Thanks for the explanation! I think now I finally understand what you were talking about before :)
Would you like to open up a PR and change the corresponding line?
Cheers,
Aaron


Issue with fast click.when used with bootstrap datetime picker in IOS safari

whenever i use fastclick.js with this bootstrap datetime  picker( https://eonasdan.github.io/bootstrap-datetimepicker/),the bootstrap datetime picker doesn't work.
This is a typical date time control which we use to select and populate dates .When we try to click on calendar icon and try to select a date in IOS safari(safari browser in IPad), we cannot select a date the calendar pop up icon simply gets closed.
I know this should be an issue with the date picker but there is something in fastclick.js which is conflicting with the functionality.
Please have a look into the issue.
@rowanbeentje , @mattcg , @matthew-andrews

The issue is that date picker replaces most nested elements in the DOM instead of just adding css classes.
This is fine on desktop as the the click event happens after the replacement and the event target is the correct one still in the DOM.
Due to fastclick producing a synthetic click before the touch event gets processed, the clicked element gets replaced first, the touch event target is therefore outdated, it's parent list obviously no longer containing the elements date picker checks for to detect membership.
If anyone needs a workaround, you can either change the date picker detection code to retrieve the new element from the touch event coordinates (original event field holds it) or apply a custom class of your choosing to the container and then use a listener for all touchevents on children of that class to quickly add the needsclick class to the touched element so that fastclick ignores it.


feat: helm lint

What type of PR is this?
/kind feature

What this PR does / why we need it:
add helm's lint test.
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?

NONE

/lgtm


Adding Optional Service Lineage Feature to Registration

Summary
 Resolves the issue of generating lineage by default for all users, causing delay in registration for complex queries.
How did you test this change?

[ ] Test(s) added
[x] Manual testing (please provide screenshots/recordings)
[ ] No testing (please provide an explanation)

 We added the checkbox for generate lineage, Then, tested this feature by selecting and registering the service -> checking the api request (should contain this property) and then confirming the existence of lineage in plan through services UI. Next, we opted out of generate lineage -> observed the api request and then confirmed the existence of empty lineage body in plan for that service

As we discussed offline, please kindly update this PR with a detailed description box and a video for demoing the functionality.  Thanks!

did we include a screenshot of the editor ?

Github is preventing me by adding screenshot "It cant process that file, try again" for any screenshot, for that matter. happy to show you the screenshot offline.


Exporting Images

Hello,
Thank you for your work on this script, I'm wondering if it could be possible to also export images as images files. For now I use the PDF options to get a file with the images, but when using markdown the image would not be shown if the bookstack server is down (for exemple when you backup your data and need to have a local copy of the images too if you want to restore it)
Maybe the images could be put in a folder with the name of the Page alongside the .md/.pdf ?
Thank you!

This is possible, but can be done in few ways and none of them seem perfect. For example you probably can have 2 images with the same filename in the same document, they just need to be uploaded in different month, as their path look like /uploads/images/gallery/2021-10/nature-image-1200x400-4.jpg. So there would be need to nest those images a little in directories, like 2021-10/nature-image-1200x400-4.jpg. Or names could be replaced with hashes, but that would look bad and harder to browse images. There is also need for updating the markdown contents, which thankfully should be relatively easy, because gallery api provides markdown "content", which is basically the markdown tag, like ![nature_image_1200x400_4.jpg](https://demo.bookstackapp.com/uploads/images/gallery/2021-10/scaled-1680-/nature-image-1200x400-4.jpg).
I might try to do that, not sure when exactly, as it seem not so easy to do it right.

Current progress is in #8

I updated script with 3 additionall flags: --images, --markdown-images, and --images-dir. In the end I found out that API does not provide a way to tell what images are currently on a given page, so updating markdown files to point to downloaded images is done in a tricky way, that might have side effects.
If there are any problem with that mechanism, let me know, there might be fix for some possible problems if they occur.


adoptopenjdk-bin: 11.0.10 -> 11.0.11, 16.0.0 -> 16.0.1, 8.0.282 -> 8.0.292

Motivation for this change
Update to latest adoptopenjdk releases. fixes #128407
Things done
Executed generate-sources.py.

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

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

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

[ ] Fits CONTRIBUTING.md.

/marvin opt-in
/status needs_reviewer

/status needs_merger


kivy's hello world issues in atom editor

Versions

Python: Python 3.6
OS: Windows 10 64bit
Kivy: version 1.10.0
Kivy installation method: pip install kivy

Description
i write a code on atom editor when i want re write the example of code from kivy documentation
there is module error in my atom
Code and Logs
here's is the code from https://kivy.org/docs/guide/basic.html
import kivy

from kivy.app import App
from kivy.uix.button import Button

class Myapp(App):
    def build(self):
        return Button(text = 'Hello kivy')

if __name__ == '__main__':
    Myapp().run()

then the error pop up
Traceback (most recent call last):   File "C:\Users\akbar\Documents\kivy.py", line 1, in <module>     from kivy.app import App   File "C:\Users\akbar\Documents\kivy.py", line 1, in <module>     from kivy.app import App ModuleNotFoundError: No module named 'kivy.app'; 'kivy' is not a package [Finished in 0.144s]
when i recheck my pip my kivy has been already install with version 1.10.0

Unless you get the same error outside of Atom, this seems like a configuration issue. Most likely your Atom is using the wrong Python executable/installation, ie not the one where you installed Kivy

Try these lines:
import sys
print(sys.executable)

I think the same as bionoid i.e. the interpreter doesn't match the one where you installed the packages (perhaps a virtualenv). You need to activate the virtualenv (if using one) first when working with editor otherwise it'll just grab the default one from the path i.e. the one without Kivy installed in it.
Anyway, this isn't a Kivy issue, rather an issue of your editor (e.g. it did stuff in the background and this is the result) and/or the lack of understanding of editor's manual. Try to ask on the Atom's support channels or reinstall Kivy from within Atom (so that it installs it in virtualenv if that's the case).


How do I automatically close the Angle brackets?

RLS has this function.

In terms of how to do this properly, we should introduce an LSP extension for this, similar to the "matching brace".
To fix this VS Code way, I think the best approach is to contribute https://code.visualstudio.com/api/language-extensions/language-configuration-guide upstream.

Well, I added some configuration.But it only not working under this extension.

For what it's worth, I use these two custom keybindings in keybindings.json in VS Code:
  { // wraps selection in angle brackets
    "key": "shift+,", // should be `<` key
    "command": "editor.action.insertSnippet",
    "args": {
      "snippet": "<${1:${TM_SELECTED_TEXT}}>"
    },
    "when": "editorHasSelection && editorLangId == 'rust'"
  },
  { // wraps blinking cursor in angle brackets
    "key": "shift+,", // should be `<` key
    "command": "editor.action.insertSnippet",
    "args": {
      "snippet": "<$0>"
    },
    "when": "editorTextFocus && !editorHasSelection && editorLangId == 'rust'"
  },

The first only takes effect when something (or many somethings) is selected. The second takes effect if you've got nothing selected (just a blinking cursor or multiple). This does have the unintended effect however, of  writing if a <> when you actually wanted to write if a <, but I've figured that I'm far more often writing type parameters in Rust than numerical comparisons.

For VS Code specifically, this is very easy to contribute via the Rust Syntax extension. I have been considering doing this with the following pairs:
    "autoClosingPairs": [
        { "open": "{", "close": "}" },
        { "open": "[", "close": "]" },
        { "open": "(", "close": ")" },
        { "open": "<", "close": ">" },
        { "open": "\"", "close": "\"", "notIn": ["string"] },
        { "open": "/*", "close": " */" }
    ],

There are 2 issues with doing it this way.

The first has already been mentioned, which is that you need to perform an extra deletion step to get the < comparison operator. That's why I planned to leave out ', so you don't end up needing a deletion step for every lifetime annotation. I think, on balance, it's probably worth it for <, given the amount of angle bracket use in Rust.
The other issue is that VS Code will not automatically upstream the language definition when they upstream the Rust Syntax grammar, which means that I'll need to investigate whether we can get that shipped as well. At least initially, it would only be available via the Rust Syntax extension.


add bracket-push test definition

start working on tests for bracket-push exercise

So far bug-free!  Congrats! :)

Now it is ready for review. As I understand for existing implementations problems is necessary to write some kind of parser for using this test suite. Is it correct?

Now it is ready for review.

Please see the comments on the diff.

As I understand for existing implementations problems is necessary to write some kind of parser for using this test suite. Is it correct?

All tracks will be able to consume this data with tools that should exist in their repos. For example, xruby uses JSON#parse on the file to get a Hash object back, and then a generator will need to be written to generate the test file. However, that is the concern of each language and not this PR directly. After this is merged, you are more than welcome to work on generating the exercise, of course! :smile:

See exercism-common/CONTRIBUTING.md especially the section "Updating a Generated Test Suite, Implementing a Completely New Exercise, and Writing a New Test Suite Generator.

This looks good to me. I vote to merge, but will also give some time for anyone else to chime in with additional cases or feedback.

Interesting to see that of the languages that have this exercise, up till now only Elixir and Lua had any characters that were not brackets, parentheses, braces.
I don't oppose their addition (the problem becomes slightly more interesting but it shouldn't cause so much extra code complexity), but I'm surprised nobody else brought it up.

Thank's all for patience...

I think we have this all sorted out.
@moofkit, your latex string now looks like this when printed:
\left(\begin{array}{cc} \frac{1}{3} & x\ \mathrm{e}^{x} &... x^2 \end{array}\right)
Is that show it should look?

Oof, that was a bit of an ordeal. May have been nice to instead do some application with bracks and without backslashes, but as far as I can tell that string, when unescaped, would be valid LaTeX now (I tried it), so we are done with that now!
Do you maybe think there should be some simple true cases? There is a complex true case in ([{}({}[])]) but would simple ones early on like {}, {}[], {[]} help guide to a solution? Another reason I ask is the Go track has those cases in as well

Reminder (really just for us) to close https://github.com/exercism/todo/issues/77 when this is merged

add some simple true cases

OK I am pretty sure I am :+1: on this. Given @Cohen-Carlisle also say yes earlier I'll give just a little bit of time for others but I think we are pretty set.

My only remaining question/concern is
Do we like the ordering?
I don't think that
"description": "empty string",
"input": "",
"expected": true

should be first... its really more of a special case that may be unhandled. It would be better to have this later after the coder has implemented the basic functionality, in my opinion.
Other than that, I give it a :+1:

I didn't think about the empty case; I think you're right @Cohen-Carlisle.
We could look at it in two ways:

All of the existing brackets in the string (which is zero of them) are perfectly matched.
No brackets--> potentially an error state.

I'm tempted to simply define "" as being the simplest possible case of perfectly matched brackets.

tracks with this exercise implemented seem to agree on empty string representing matched brackets

I agree that empty string is some kind of special case and have changed ordering as you recommended.

:+1:

Thanks for sticking with it @moofkit! :confetti_ball:

:tada: Thank's to all! This was a really hard one...


ALPHA Q team registration

Application for Registering Team to CODE CAMP 1.0
This pull request template helps you complete an application to the CODE CAMP 1.0 HACKATHON. Use the checklist below to verify that you have followed the instructions correctly.
(Put x inside [] like [x])
Select the type of Pull Request
[] Registration Pull request.
[] Submission Pull request.
Checklist ✅

[] I have read the instructions on the README file before submitting my application and gone through CODE_OF_CONDUCT.
[] I have Submitted my team's details by making a folder of my team as instructed in How to send Pull Request page.
[] I have used the Markdown file template to add my information for the Hackathon.
[] I have given all the necessary details as mentioned in template index.md file and the details are correct and best to my knowledge.
[] I understand that a reviewer will merge my pull request after examining it or ask for changes in case needed.
[] I understand I should not tag or add a reviewer to this Pull Request.
[] I understand the Details added to the template will be used as a means of communication at the time of result declaration.
[] I have added the event to my calendar.

@shivambhatia5432  Do not touch DemoTeam Folder,  Re-base your code camp 2020 repository and Resend the PULL REQUEST. Closing This for now.. Do not send Pull Request Today
Registration Stars from 19th July 2020 from 8:00 AM to 10:00 PM


Source Port feature

Is possible to implement source port for outgoing traffic?
We have containers that use a single source port for sending traffic to other containers with random dest ports.

It's definitely possible without too much effort I think. So you'd like to be able to create outbound rules that restrict traffic to a single source port and allow to any destination port?
I'm thinking I might modify the config, 'port' would get replaced with 'src_port' and 'dst_port'. Then you could create rules that enforce specific source ports, destination ports, or both. That sound good?

That's correct.


returnNamesExtraColumns returns logfile but it has not been change

can it be deleted from the outputs?

sure? I remember that I might be using it in my logfile since I need quite a lot of columns.

this is the code, I might be wrong but it seems that logfile is not affected by it
% (C) Copyright 2020 CPP_BIDS developers

function [namesExtraColumns, logFile] = returnNamesExtraColumns(logFile)
    % [namesExtraColumns, logFile] = returnNamesExtraColumns(logFile)
    %

    namesExtraColumns = [];

    if isfield(logFile, 'extraColumns') && ~isempty(logFile(1).extraColumns)
        namesExtraColumns = fieldnames(logFile(1).extraColumns);
    end

end

so my point is to delete logfile from the output of the function

I agree the logFile variable is unchanged in this function. Having it in the output is confusing because it makes the user think that the code does something to it.
I think it makes sense to delete it but we need to make that this output argument does not appear in any place in the code base where we call returnNamesExtraColumns.
A quick check: this appears to be the case in saveEventsFile (Line 194) so just make sure to changes it there.

ok! I will probably do it in a separate pr out the dockhaton so we keep things clear, LMK

Well you can open a PR and mention that it is related to another [DOC] PR. I am OK to have them opened at the same time as long as we know what relates to what. :-)


operator gitlab-runner-operator (1.18.2)

/merge possible

@ggeorgiev-gitlab again, as I said in https://github.com/redhat-openshift-ecosystem/community-operators-prod/pull/3386#issuecomment-1749146613, this won't merge until you fix all previous bundles.


Pitch tracks don't have "runnable" set properly

The pitch track enrichmment requires utterances to be encoded. However,  in `api.py  this is not set.

Nice catch. @mmcauliffe ?


graphicscommand: Add 'ExtendImage' command

Extending an image happens when a shareable image (a texture atlas) needs to change its size. Extending textures by copying in GPU should be much efficient than sending pixels for each part. However, OpenGL's  glCopyImageSubData is available as of 4.3 unfortunately.

See #1022


File Content Index became massive

Not sure how, or when. I was trying to free up space, and noticed it

This was in one of the files.
bplist00�XUTI-Data�_$com.apple.traditional-mac-plain-text_public.utf8-plain-text_public.utf16-plain-textOp/Users/dev/repos/work/VaultTech/.vs/VaultTech/FileContentIndex/merges/ffff80bd-09c9-4968-bd77-becd1f95c796.vsidx_p/Users/dev/repos/work/VaultTech/.vs/VaultTech/FileContentIndex/merges/ffff80bd-09c9-4968-bd77-becd1f95c796.vsidxO�/�U�s�e�r�s�/�d�e�v�/�r�e�p�o�s�/�w�o�r�k�/�V�a�u�l�t�T�e�c�h�/�.�v�s�/�V�a�u�l�t�T�e�c�h�/�F�i�l�e�C�o�n�t�e�n�t�I�n�d�e�x�/�m�e�r�g�e�s�/�f�f�f�f�8�0�b�d�-�0�9�c�9�-�4�9�6�8�-�b�d�7�7�-�b�e�c�d�1�f�9�5�c�7�9�6�.�v�s�i�d�x������B�[�u��[�������������	��������������>
If this is already solved, or not enough info to do anything, feel free to close this.

This is visual studio not VS Code.
See
https://learn.microsoft.com/en-us/visualstudio/ide/how-to-report-a-problem-with-visual-studio?view=vs-2022


Reconnecting

I use Medoo in a plugin for PocketMine. Medoo is only beeing used when there are players online. If a player joins when there weren't any players for some time, Medoo looses connection and the server crashes. How can I check if Medoo is still connected and reconnect?

You can use PDO get attribute method for connection status $database->pdo->getAttribute(PDO::ATTR_CONNECTION_STATUS); or just check out the $database->info().

@catfan and how to reconnect? Should I just create a new medoo object?

Yes, recreating a new Medoo instance will be well done. Just up to your mechanism.


Update translation.json

I am not translating anymore in solidarity until Dexie appreciates the effort of the new translators

We are very thankful to everyone who has contributed their time and knowledge to translate dexie into their language. However, this has never been a commercial commission and dexie team has never promised any remuneration for translation. Since the very beginning, the point of community translation has been to make dexie accessible to all users throughout the world by making it understandable and usable for speakers of all languages thanks to the kindness of voluntary community contributors who are native and fluent speakers of various languages and want to help fellow language speakers.


(Chrome) Auto login not working when doing hard refresh

Great extension, but if you do Ctrl+Shift+R then chrome will show the basic auth popup and as a developer I quite often have to use hard refresh =(

Hi,
I am unable to reproduce the issue on my side. Can you give me a little more details?
Is it possible for you to give me an URL where the issue arise? Otherwise maybe the web server configuration that is performing the authentication?
Cheers,

Unfortunately I cannot give an example URL, since it's a private company domain, but I can sure give some more details.
We have a website where anything under sub.domain.tld requires basic auth, even static content like sub.domain.tld/favicon.ico

If I open the sub.domain.tld MultiPass works great
If I press Ctrl + R then MultiPass works great
If I press Ctrl + Shift + R or Ctrl + F5 chrome asks me to authenticate what seems to be like forever
Every time I do hard refresh, chrome shows the auth popup and when I input credentials and press Log-In, chrome just shows the same popup again, asking for credentials and it goes on and on and on and on....
You can also just simply open Dev tools in Chrome (F12) and go to Network tab and check the box that says "Disable cache" and it becomes impossible to open a basic auth page.

Perhaps you have a basic auth page that I can test on? Maybe it's really the nginx config that's wrong, though it works ok for normal refresh.

nginx config has this inside the server block:
        satisfy any;
        allow <IP_ADDRESS>/26;
        allow <IP_ADDRESS>;
        deny  all;
        auth_basic           "closed site";
        auth_basic_user_file .nginxpasswd;

I found this website to test basic auth: https://httpbin.org/basic-auth/user/passwd. The username is "user" and the pw is "passwd". You can change those by changing the values in the URL. I just tested a bit and wasn't able to reproduce the issue.
Like you are describing it, it seems to me the issue is on the server side. Do you have some kind of load balancing or something?
I think the fact that even if you enter the credentials manually does not work clearly indicate that the culprit is not the extension. The way it works, it should not matter if it's a first load, reload or hard reload.

You are right, the link you provided works for me even with hard reload.
Will try to fix the nginx config and report back.

Varnish with wrong auth config in front of nginx was the problem lol
Thank you very much for help!


[microNPU] Merge LUT activation with binary elementwise operation

Add binary elementwise operator to OptimizeLUTs pass to merge LUT activation with elementwise operation. This PR is preparation for implementation of SoftMax operation.
cc @leandron, @ekalda, @lhutton1

Thanks @Alexey-Yazev, @ekalda!


support /heath endpoint

In our testing tools we are checking that the zipkin query server is running but doing a HEAD request to the API.
This will return 404
But if we do a GET request it will respond normally with 200.
That's an extra burden (to be sending data when it does need to) and the API should be responding to HEAD also.
Optionally or in addition the zipkin query server could have some /status or similar endpoint to check its health.

@jcarres-mdsol do you have suggestion on what the health endpoint should be checking?  I often see those implemented as return OK, which only tells the server is running, not that it's healthy. If we decide, for example, to include some db query in the health check, then it may require extending span storage api.

It would be nice for the frontend UI to poll on a health endpoint as well. I think it sould be sufficient to return OK, to verify that the server is running and reachable. We could then show a simple "query server unreachable" message, which is more helpful than a UI that doesn't work.

My guess is the most important  state is if the spanstore connection is
OK.  I made a interface like this at Netflix and then exported it to the
health check handler. It is better than just http and simpler than checking
many things.
Basically we add a method span stores need to implement that returns true
if OK.  Span stores use the cheapest valid way to do that. We can export
that to an http call (which load balancers etc can check)
Ex from a DNS project
https://github.com/Netflix/denominator/blob/master/route53/src/main/java/denominator/route53/HostedZonesReadable.java

Yes, usually is either "OK"  or a DB check.
We can add the route now with a simple "OK" and later as the check in the spanstores are implemented upgrade it to check these.

looks like there's an OK in the query server already:
https://github.com/twitter/finatra/blob/master/inject/inject-server/src/main/scala/com/twitter/inject/server/TwitterServer.scala#L112
$ curl localhost:9901/health
OK
Do we want to map health onto the main port? (9411)

It will be useful, else you need to open firewall ports just because of that

ok, so localhost:9411/health?

Sounds good!
On Tue, Feb 23, 2016 at 10:39 AM, Adrian Cole<EMAIL_ADDRESS>wrote:

ok, so localhost:9411/health?
—
Reply to this email directly or view it on GitHub
https://github.com/openzipkin/zipkin/issues/994#issuecomment-187624982.

--
Jordi Polo Carres | Software Architect  | Medidata Solutions Worldwide
http://www.mdsol.com/

This was fixed in #997.


Tasks with Synology DiskStation WebDAV Server: http 415 unsupported media type

I'm trying to use Tasks with the Synology DiskStation WebDAV Server. I can enroll in the server calendar/tasks account, but when I try to create a new list under the subscribed account in the tasks menu it gives me a "415 unsupported media type" error. The app works correctly with a NextCloud server and my Synology account works correctly with Thunderbird Lightning, so the problem is specific of the Tasks app plus the Synology implementation. Any idea of how to fix it?

Sorry, wrong entry.


Gradle reports "no versions of [artifact] are available" if a "[x.y.z,)" dynamic range is used and the maven-metadata.xml points to a non-existent latest version

Current Behavior
Gradle currently does not handle the situation well if a dynamic range's upper limit is unbounded, and the maven-metadata.xml specifies a latest version which does not exist.
Right now, if I build a project which depends on `'org.apache.maven.resolver:maven-resolver-connector-basic:[1.9,)' I will get the following confusing failure:
Execution failed for task ':compileJava'.
> Could not resolve all files for configuration ':compileClasspath'.
   > Could not find any matches for org.apache.maven.resolver:maven-resolver-connector-basic:[1.9,) as no versions of org.apache.maven.resolver:maven-resolver-connector-basic are available.
     Searched in the following locations:
       - https://repo.maven.apache.org/maven2/org/apache/maven/resolver/maven-resolver-connector-basic/maven-metadata.xml
       - https://repo.maven.apache.org/maven2/org/apache/maven/resolver/maven-resolver-connector-basic/2.0.0-alpha-10/maven-resolver-connector-basic-2.0.0-alpha-10.pom
     Required by:
         project :

This happens only because, as of this writing, the maven-metadata.xml file contains the following versioning block:
  <versioning>
    <latest>2.0.0-alpha-10</latest>
    <release>2.0.0-alpha-10</release>
    <versions>
      <!-- ...... -->
      <version>2.0.0-alpha-8</version>
      <version>2.0.0-alpha-10</version>
    </versions>
    <lastUpdated>20240402070635</lastUpdated>
  </versioning>

and presently the entire "2.0.0-alpha-10" version directory is missing or unpublished in Maven Central.
This happens even if I specify a strict/prefer range such as org.apache.maven.resolver:maven-resolver-connector-basic:[1.9,)!!1.9.11 which should allow Gradle to select 1.9.11 even if the newest version is missing:
* What went wrong:
Execution failed for task ':compileJava'.
> Could not resolve all files for configuration ':compileClasspath'.
   > Could not find any matches for org.apache.maven.resolver:maven-resolver-connector-basic:{strictly [1.9,); prefer 1.9.11} as no versions of org.apache.maven.resolver:maven-resolver-connector-basic are available.
     Searched in the following locations:
       - https://repo.maven.apache.org/maven2/org/apache/maven/resolver/maven-resolver-connector-basic/maven-metadata.xml
       - https://repo.maven.apache.org/maven2/org/apache/maven/resolver/maven-resolver-connector-basic/2.0.0-alpha-10/maven-resolver-connector-basic-2.0.0-alpha-10.pom
     Required by:
         project :

Expected Behavior
Gradle should recognize the range is unbounded, which means any version newer is acceptable. Since the "2.0.0-alpha-10" version is missing, I would expect it to mark that version as unavailable and move on.
Alternatively, if Gradle is expecting Maven Central metadata to be perfectly aligned at all times, then I would expect the error message to say something besides "no versions of org.apache.maven.resolver:maven-resolver-connector-basic are available" which is not true. Gradle should somehow indicate that it requires the metadata of both ends of the range to be available, regardless of whether they are used.
Of course, I would prefer that Gradle take advantage of the unbounded range to fetch the metadata of the newest available version at a given moment, which in this case, at the time of this writing, is 2.0.0-alpha-8.
Context (optional)
This issue affected me where I used an unbounded strict range combined with a preference (the "artifact:[oldest-version,)!!preferred-version" syntax) to allow downstream constraints the flexibility to clamp that range further if desired.
Steps to Reproduce
Reproducer: https://github.com/jskillin-idt/gradle-gradle-issues-28662

Run ./gradlew build

This reproducer will stop working once Maven Central is updated with a new version, or 2.0.0-alpha-10 is published.
You may require the --refresh-dependencies option if your local cache is not updated with Maven Central's latest.
Gradle version
8.7
Build scan URL (optional)
No response
Your Environment (optional)
No response

Reproducer edited into issue text

Interestingly, Maven Central's website also ignores the latest metadata for its UI:

I am giving a screenshot since this reproducer is ephemeral. This screenshot was taken from this page: https://central.sonatype.com/artifact/org.apache.maven.resolver/maven-resolver-connector-basic/overview

The issue is in the backlog of the relevant team and is prioritized by them.


Undefined function or variable 'dy_dark_channel'.

Same issue as issue #1 , but I haven't solved it.
error msg as bellow:
Undefined function or variable 'dy_dark_channel'.

Error in cnn_ours_eval>airLight (line 67)
darkc = dy_dark_channel(image, 15);

Error in cnn_ours_eval (line 10)
light = airLight(noisy);

Error in demo (line 8)
[resim, trans] = cnn_ours_eval(image);

I've searched all over the project with keyword dy_dark_channel but found no definition.

I am puzzled. Why many of you cannot find this file? It's under the path './dehaze/source/'. Did you add the whole project and their subfolders into path?


New URL Mode Scanlator

Source information
Mode Scanlator 1.4.28
Source language
Portuguese Brazilian
Source new URL
https://site.modescanlator.net/
Other details
No response
Acknowledgements

[X] I have updated all installed extensions.
[X] I have opened WebView and checked that the source URL has not changed yet.
[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a short but informative title.
[X] I will fill out all of the requested information in this form.

I didn't find another issue from this source.


[PE-D][Tester A] Cannot add item when the quantity is too large

Maybe you can set a reasonable limit to the quantity or mention it briefly in the UG.

Labels: type.FunctionalityBug severity.Medium
original: Douglch/ped#5

Will take in the suggestion of the reviewee and set an upper limit to quantity in the app and mention it explicitly in UG.


Observe Worker initialization

Required for JavaScript 2022
Added support to count the number of times the Worker constructor is called.
Test: https://webpagetest.httparchive.org/result/220528_ZX_10/1/details/#waterfall_view_step1
Uses custom metric:
[javascript_new]
return JSON.stringify({
    workers: (() => {
        return httparchive_observers["Worker"];
    })()
});

Results include:

javascript_new
{ workers: 1 }

I think all that's needed is a minimal change to add Worker to the OBSERVERS list. There was a bug in the implementation that I recently fixed in #32 where top-level properties under window weren't being observed properly. That might by why you thought you needed a separate implementation for constructors.
Here's a test where I just added the constructor name to the const, and it worked.

Thank you @rviscomi . I have updated the PR and it seems to work correctly.

Did you push your changes? I'm still seeing the separate CONSTRUCTORS array.

😴. Updated.

Updated test using observers.js.
https://webpagetest.httparchive.org/result/220529_6B_M/1/details/#waterfall_view_step1


Specify which AWS Role to use in EC2NodeClass in Upgrade Guide

On "step 8. Edit the converted EC2NodeClass file manually: Specify your AWS role where there is a your AWS role Here placeholder", specify which role to use. Role "KarpenterNodeRole-ec2-user-karpenter-demo" should be used, NodeInstanceRole Resource value (eksctl-ec2-user-karpenter-demo-nod-NodeInstanceRole-xyz) from Cloudformation Stack "eksctl-ec2-user-karpenter-demo-nodegroup-ec2-user-karpenter-demo-ng" doesn't work

Fixed in PR #4749


Wrote tests for pipeline_fn

Currently coverage at 57%, but I think I've covered the core functionality of the file?
Let me know if there's any more test cases that you can think of to increase coverage

Recent updates:

added tests to extract_fn: coverage 91%
Added fixtures to conftest


Handle ABAP Language Version for source code objects

Introduce experimental feature to handle ABAP Language Version for PROG, FUGR, CLAS, and INTF.
Feature flag for global settings: ALAV
When feature is enabled, the XML files do not contain any UCCHECK or UNICODE fields. These fields are derived from the SAP package of the repo during deserialize.
Test case: https://github.com/abapGit-tests/DDIC_integration

main branch contains the objects serialized as usual
abap_language_version branch contains objects serialized with ALAV enabled

Test flow:

Create repo from main branch and pull
Uninstall repo
Enable ALAV feature
Create repo from abap_language_version branch and pull
Uninstall repo
Disable ALAV feature

Note: This is not the complete feature yet. Two parts are missing:

Deriving ABAP Language Version for packages created during pull from repo setting
Integrating ABAP Language Version into UI for "new repo" and "repo settings"

Closes #6426
Ref #6298

I cannot test this one, see #6477

I reviewed #6346 again and this PR is deriving ALaV unnecessarily twice. Will adjust

Will keep open but splitting into smaller PRs:
https://github.com/abapGit/abapGit/pull/6484

Passed all CI tests (with ALAV feature off) 😃
Lots of "observations". Will address this separately so as to not make this messy
Add ALAV tests to CI (https://github.com/abapGit/CI/issues/239)

@mbtools If you like I can review the changes. Unfortunately, I guess I won't manage it today.

Lots of "observations". Will address this separately so as to not make this messy

exactly, leave those as is. This change is important/complex so no need to include those here, there will be another chance with something more simple changes in the future

any time @schneidermic0. note, as you can see, the logic is implemented for source code objects only. for others like DDIC, the "set_abap_language_version" still needs to be added. do you have a list of object types that support ALAV to cross-reference with abapGit?

do you have a list of object types that support ALAV to cross-reference with abapGit?

I'll check

do you have a list of object types that support ALAV to cross-reference with abapGit?

I have just added the object types I found to https://github.com/abapGit/abapGit/issues/6154#issuecomment-1749086748


Coerce to 'string' broken with Pandas

In [1]: import pandas as pd

In [2]: df = pd.Series([1, 2, 3])

In [3]: import blaze as bz

In [4]: bdf = bz.data(df)

In [7]: bz.compute(bdf.coerce('string')).dtypes
Out[7]: dtype('O')

In [8]: res = bz.compute(bdf.coerce('string'))

In [10]: type(res.iloc[0])
Out[10]: int

this bug is also in python.py because we find dispatch to dtype.type(value) which is np.object_(value) which is value.
For the series/daskseries case we are calling astype('O') which gives us an object array of int objects. I think we just need to special case string here and map str over the array instead.
Maybe something like:
@dispatch(Coerce, (Series, DaskSeries))
def compute_up(expr, data, **kwargs):
    if expr.to == datashape.string:
        return data.map(str)
    return data.astype(to_numpy_dtype(expr.schema))


vscode resumes on wrong Space

VSCode Version: 1.31.1
OS Version: macOS Mojave 10.14.3

Steps to Reproduce:

Use Mission Control to create a new Space (AKA virtual desktop)
Launch vscode
Move it to the new Space
Logout and make sure the "Reopen windows when logging back in" checkbox is checked
Login with the same user account
vscode is restored to the first Space instead of the Space to which it was moved in step 3

Does this issue occur when all extensions are disabled?: Yes

This is not a duplicate of #64516 -- that issue covers opening of windows once the app is running. This issue is about application restore after logout.


CTRL+Click on buttons to perform a blind GM roll

With the inclusion of Shift+Click as a self-roll, would it be possible to also allow for blind GM roll by doing similar? That way, the player doesn't have to switch between the different dropdowns for public, self, blind, etc.

Yes, I think I can do that... and...
I am going to add a system setting "Players holding shift key during a roll makes it 'blind'" (or something like that).
When off, pressing shift will make a "self roll", only the current user can see it.   This is the behavior we have today.   When this setting is turned on, then when a GM presses "shift" it is a "self roll" (like it is now), but when a non-GM player presses shift, it will convert the roll into a Blind Roll.
This seems like the more common usage... the GM doesn't want players to see what they roll, and the players may be asked to roll "blind".

Done.  It will be in the v0.9.1 release.
   And there is a new system setting "SHIFT Click does a Blind roll for players, and a Self roll for GMs", that the GM can turn on to make the SHIFT key do blind rolls for players (and Self rolls for GMs)


Workflow does not work when pressing 1p

Diagnostic
I have downloaded the workflow and in the first time I saw the command-line asking me to add some info. But by mistake I added wrong sign-in information and the command-line despair. Now I want to do the same thing again but the command line does not show up again when pressing 1p.
I tried deleting the workflow and downloading it again, disable it and then enable but nothing happend. I even restarted my macbook but no luck. Any idea how to fix it?
Debugger output
Nothing

Terminal output
Nothing

More details
No response

Run :1pextras and choose Reset accounts.


Improve Data Stream Cleanup and Management with Enhanced Tracking and Sequential IDs

This merge introduces significant enhancements to the data stream management and cleanup process, ensuring efficient resource utilization and better user control. Key changes include:

Active Consumers and Data Streams Tracking:

Implemented active consumers and data streams trackers to manage and clean up resources upon API shutdown.
This ensures no leftover streams or consumers remain active after shutdown.

Sequential Integer-Based Stream IDs:

Replaced random hash-based stream IDs with sequential integers (e.g., data_stream_1, data_stream_2).
This allows for clearer identification and better tracking of streams, while also preventing random ID generation.

Enforced Maximum Stream Limit:

Introduced logic to enforce a maximum number of active streams using an environment variable (KAFKA_MAX_STREAMS).
This ensures no more streams than allowed are created, preventing overloading the system.

New Endpoint for Stream Deletion:

Added an endpoint to delete streams by their integer ID (e.g., 1, 2) or by full topic name.
The endpoint efficiently removes streams from Kafka and updates internal trackers.

Stream ID Reuse Mechanism:

Developed functionality to detect and reuse available stream IDs when streams are deleted.
This avoids ID exhaustion and allows for efficient recycling of IDs for newly created streams.

Enhanced Kafka Topic Deletion:

Improved the Kafka topic deletion process to handle errors gracefully and remove deleted topics from both Kafka and internal trackers.
Logging and error handling ensure better transparency and easier debugging for users when topics fail to delete.

These improvements streamline the data stream lifecycle, offering efficient resource management, reducing the potential for stream ID exhaustion, and providing greater control over stream creation and deletion processes.

The .env_kafka has been updated, need to accept this new version.


PaginationParameters.nextMaxId always nil when querying Inbox

Hey all,
In the completion handler of the inbox method all properties of PaginationParameters are set to their default value.
public typealias PaginationCompletionHandler<R> = (_ response: Result<[R], Error>, _ nextParameters: PaginationParameters) -> Void

public func inbox(with paginationParameters: PaginationParameters,
                      updateHandler: PaginationUpdateHandler<Thread, AnyPaginatedResponse>?,
                      completionHandler: @escaping PaginationCompletionHandler<Thread>) {
        pages.request(Thread.self,
                      page: AnyPaginatedResponse.self,
                      with: paginationParameters,
                      endpoint: { Endpoint.Direct.inbox.next($0.nextMaxId) },
                      splice: { $0.rawResponse.inbox.threads.array?.compactMap(Thread.init) ?? [] },
                      update: updateHandler,
                      completion: completionHandler)
    }

import Foundation

public class PaginationParameters {
    /// The maximum number of pages to load. Defaults to `1`.
    public var maxPagesToLoad: Int
    /// The number of pages already loaded. Defaults to `0`.
    public var loadedPages: Int = 0
    /// The current request `maxId`. Defaults to `nil`.
    public var currentMaxId: String?
    /// The next `maxId`. Defaults to `nil`.
    public var nextMaxId: String?

    /// Whether there's something left to load.
    var canLoadMore: Bool { return loadedPages < maxPagesToLoad }

    // MARK: Init
    public init(startingAt maxId: String? = nil, maxPagesToLoad: Int = 1) {
        precondition(maxPagesToLoad > 0, "`maxPagesToLoad` must be bigger than `0`.")
        self.nextMaxId = maxId
        self.maxPagesToLoad = maxPagesToLoad
    }
    public init(_ paginationParameters: PaginationParameters) {
        self.nextMaxId = paginationParameters.nextMaxId
        self.maxPagesToLoad = paginationParameters.maxPagesToLoad
    }
    public static let everything = PaginationParameters(startingAt: nil, maxPagesToLoad: .max)

    // MARK: Obsolete
    @available(*, unavailable, message: "use `init` instead.")
    public static func maxPagesToLoad(maxPages: Int) -> PaginationParameters {
        fatalError("`maxPagesToLoad(maxPages:)` was removed.")
    }
}

If anyone has any idea what the issue might be I would be happy to try and patch a fix.
Thanks.

Hey @mycroftcanner,
The cursor is now nested inside the main object, that's the reason why it always returns nil.
I'm not sure anyone is still maintaining this repo, but I'm more than happy to merge a PR if you wanna work on it (you can also use Swiftagram as the starting point, I don't mind).

I don't understand what you mean by nested inside the main object. I have been thinking of switching to Swiftagram. I need to check if everything we are using from SwiftyInsta is available in Swiftagram.

I don't understand what you mean by nested inside the main object.

The "next identifier" is no longer a property to the root object, but it's nested inside "inbox".
{
   "inbox": {
      "oldest_cursor": "/* the next identifier */",
      […]
   },
   […]
}

I don't remember correctly cause it's been a long time since I wrote PagerHelper, but there should be a next argument in the request method in your second comment block where you can refer to the moved "oldest_cursor".

I don't remember exactly, cause it's been a long time since I wrote PagerHelper, but there should be a next argument in the request method (in your second comment block), where you can refer to the moved "oldest_cursor".

Thanks so much, I managed to fix it. I'll submit a pull request later :)

(you can also use Swiftagram as the starting point, I don't mind).

Btw I noticed cursoring already works correctly in Swiftagram 👍
I also wanted to implement the pendingInbox functionality that you have in Swiftagram. Any pointers on how to get started?
Cheers,

Btw I noticed cursoring already works correctly in Swiftagram 👍

Yep, I fixed it when it first broke a couple months ago.

I also wanted to implement the pendingInbox functionality that you have in Swiftagram. Any pointers on how to get started?

The endpoint definition is Swiftagram is pretty straightforward so you should have no issues in porting it to SwiftyInsa 💪


Fix import/order autofixer when using typescript-eslint-parser

Resolves issue #1086
Why?
When using typescript-eslint-parser, AST nodes have a range trie but not start and end. Apparently eslint prefers using range instead of .start and .end as well, see https://github.com/eslint/eslint/issues/8956.
How
Replace use of .start and .end with range[0] and range[1] respectively in the order rule.
Test
I added a test to reproduce the error and then a separate commit to prove this fixes it. All other tests pass.

Closing to refire CI again


something did not work in @grafana/create-plugin@latest(5.9 I believe)

I tried to run that command and it gave me error message
✔ Select a plugin type · panel
✔ Enter a name for your plugin · safas
✔ Enter your organization name (usually your Grafana Cloud org) · xxx
✔ Scaffolded xxx-asfa-panel panel plugin
✔ Added basic E2E test (Playwright)
✔ Set up provisioning for basic dashboard and TestData data source instance
✔ Configured development environment (Docker)
✔ Added default GitHub actions for CI, releases and Grafana compatibility
file:///Users/xxx/.npm/npx/c8ca622b04c0c218/node_modules/marked-terminal/index.js:474
return text.replace(/:([A-Za-z0-9-+]+?):/g, function (emojiString) {
^
TypeError: text.replace is not a function
Please report this to https://github.com/markedjs/marked.
at Renderer.insertEmojis [as emoji] (file:///Users/xxx/.npm/_npx/c8ca622b04c0c218/node_modules/marked-terminal/index.js:474:15)
at Renderer.transform (file:///Users/xxx/.npm/_npx/c8ca622b04c0c218/node_modules/marked-terminal/index.js:529:24)
at Renderer.heading (file:///Users/xxx/.npm/_npx/c8ca622b04c0c218/node_modules/marked-terminal/index.js:96:15)
at extension.renderer. (file:///Users/xxx/.npm/_npx/c8ca622b04c0c218/node_modules/marked-terminal/index.js:264:23)
at renderer. [as heading] (file:///Users/xxx/.npm/_npx/c8ca622b04c0c218/node_modules/@grafana/create-plugin/node_modules/marked/lib/marked.esm.js:2261:48)
at _Parser.parse (file:///Users/xxx/.npm/_npx/c8ca622b04c0c218/node_modules/@grafana/create-plugin/node_modules/marked/lib/marked.esm.js:1947:42)
at parse (file:///Users/xxx/.npm/_npx/c8ca622b04c0c218/node_modules/@grafana/create-plugin/node_modules/marked/lib/marked.esm.js:1911:23)
at Marked.parse (file:///Users/xxx/.npm/_npx/c8ca622b04c0c218/node_modules/@grafana/create-plugin/node_modules/marked/lib/marked.esm.js:2405:28)
at marked (file:///Users/xxx/.npm/_npx/c8ca622b04c0c218/node_modules/@grafana/create-plugin/node_modules/marked/lib/marked.esm.js:2439:27)
at displayAsMarkdown (file:///Users/xxx/.npm/_npx/c8ca622b04c0c218/node_modules/@grafana/create-plugin/dist/utils/utils.console.js:11:12)
Node.js v20.14.0
I then tried to npx<EMAIL_ADDRESS>which worked.
% npx<EMAIL_ADDRESS>Need to install the following packages:
<EMAIL_ADDRESS>Ok to proceed? (y) y
✔ Select a plugin type · panel
✔ Enter a name for your plugin · tst
✔ Enter your organization name (usually your Grafana Cloud org) · lhj
✔ Scaffolded lhj-tst-panel panel plugin
✔ Added basic E2E test (Playwright)
✔ Set up provisioning for basic dashboard and TestData data source instance
✔ Configured development environment (Docker)
✔ Added default GitHub actions for CI, releases and Grafana compatibility
Congratulations on scaffolding a Grafana panel plugin! 🚀
What's next?
Run the following commands to get started:
* cd ./lhj-tst-panel
* npm install to install frontend dependencies.
* npm exec playwright install chromium to install e2e test dependencies.
* npm run dev to build (and watch) the plugin frontend code.
* docker compose up to start a grafana development server.
* Open http://localhost:3000 in your browser to create a dashboard to begin developing your plugin.

Note: We strongly recommend creating a new Git repository by running git init in ./lhj-tst-panel before continuing.
* Learn more about Grafana Plugin Development at https://grafana.com/developers/plugin-tools

so I think there might be something wrong with the latest patch?

@morpinma-wing Many thanks for raising this issue. May I ask in future if you find a bug to please report it using our bug issue template which gathers all the information we require up front.
I've managed to reproduce the issue and I've opened #1319 which should fix things.


OLVectorLayer Type bug

Describe the bug
Typescript bug introduced in 8.2.0, using Typescript version 5.3.2
To Reproduce
Steps to reproduce the behavior:

Create source from GeoJSON:

import VectorSource from 'ol/source/Vector'
import GeoJSON from 'ol/format/GeoJSON'

    const source = new VectorSource({
      features: new GeoJSON().readFeatures(geoJSON)
    })

Create OLVectorLayer using source from step 1:

    const stationsLayer = new OLVectorLayer({
      source: source,
    })

Get Typescript compilation error:

TS2322: Type 'VectorSource<FeatureLike>' is not assignable to type 'VectorSource<Feature<Geometry>>'.
  Type 'FeatureLike' is not assignable to type 'Feature<Geometry>'.
    Type 'RenderFeature' is missing the following properties from type 'Feature<Geometry>': on, once, un, geometryName_, and 39 more.

Expected behavior
A VectorSource from GeoJSON should be able to be supplied to OLVectorLayer without compilation errors.

This should have been fixed with #15338 already. Please npm install ol@dev to verify.

This should have been fixed with #15338 already. Please npm install ol@dev to verify.

Verified, thanks!

Hello, i've made the following code :
/**
 * Request feature by id
 * @param id Id de l'entité
 * @returns Feature
 */
async function getFeatureById(id: string): Promise<FeatureLike | RenderFeature[] | undefined> {
  const result = await getJSON<FeatureCollection>(
    `${CONNECTION_PROPERTIES.FeatureServer.Collections}carto.td_features/items?id=${id}`,
    USER_MESSAGE.FEATURE_ERROR,
  );
  const feature = new GeoJSON().readFeature(result?.features[0], {
    dataProjection: 'EPSG:4326',
    featureProjection: 'EPSG:3857'
  });
  return feature;
}

This code returns FeatureLike | RenderFeature[] | undefined.
When i try to add theses FeatureLike | RenderFeature[] to a layer, i have a type error :
/**
* get and add feature to layer
*/
async function initializeFeature(): Promise<void> {
 // Récupération de l'entité non simplifiée et affichage sur le layer d'édition
 fullFeature = await ApiRequestor.getFeatureById(props.featureId as string)
 fullFeature ? editionLayerSource?.addFeature(fullFeature) : null
 editionLayer.setVisible(true)
}

"Argument of type 'FeatureLike | RenderFeature[]' is not assignable to parameter of type 'Feature'.
Type 'RenderFeature' is missing the following properties from type 'Feature': on, once, un, geometryName_, and 39 more.ts(2345)
let fullFeature: FeatureLike | RenderFeature[]"

This will be fixed with #15379


[FR] - Ability to set auth domains via admin SDK

Is your feature request related to a problem? Please describe.
We're trying to deploy preview branches onto appengine using versioning. This results in URLs like http://[VERSION_ID]-dot-[YOUR_PROJECT_ID].appspot.com. We want to be able to run E2E tests against preview branches and send links to stakeholders for previewing. Unfortunately with Firebase authentication, we have to manually set each whitelisted subdomain we want to use. This isn't the end of the world but it'd be nice to say "hey, we own this appengine (or whatever) namespace, whitelist everything under it."
Describe the solution you'd like
I'd like to either:

In Firebase control panel, be able to wildcard a path for authentication. eg. *-dot-[YOUR_PROJECT_ID].appspot.com
Using Firebase-admin SDK, we'd want to programmatically set a whitelisted domain for authentication. Something along the lines of admin.auth().validateDomain(...) might work for our use case.

Describe alternatives you've considered
As an alternative, we've:

thought about trying to proxy our GAE dev instance via some CDN black magic where domains actually all become fourth level domains (unclear if this would even work)
thought about manually adding whitelisted domains in Firebase for every PR we push 😭

Additional context
Just to be crystal clear, this is for the domain whitelisting that happens at https://console.firebase.google.com/u/0/project/[PROJECT_ID]/authentication/providers

Can you also file an official feature request for this.

Any news on that?

@bojeil-google @hiranya911 Do you have any update on where this sits in product roadmap?

This is exactly what we need too.
Probably some kind of regex support for a domain name would be the best quick fix!

Hello, I just found this issue right now. I've seen a workaround so I thought I should comment it here.

or just REST API would be great!

This seems to be possible now by using the Identity Toolkit API

Method: projects.getConfig  |  Identity Platform Documentation  |  Google Cloud
Method: projects.updateConfig  |  Identity Platform Documentation  |  Google Cloud

projects.getConfig returns a Config, which contains authorizedDomains which is the list of domains set.
projects.updateConfig lets you update a portion of the Config, so you can add to the response of getConfig and update the whole authorizedDomains structure.
This blog helped me understand how to use these APIs: Firebase Auth authorized domains | (p)retired
I've also seen a JavaScript solution here: Any API to add an authorized domain to Firebase Auth? - Stack Overflow

everything can be solved if wildcard domains are allowed

any update after several years? 😢

bump

I lost patience with Firebase. Consider @supabase as a progressive replacement.

@landsman just in case you are still waiting.
As of now, I am using "Blaze Plan" and I can use Firebase Auth to access temporarily deployed applications in sub-domains.
Namely, in Authorized Domains I have URLs as company.com and development.company.com and I am able to access services on service.development.com or services-pr.development.company.com
I do not have any additional configuration.
Hope it helps.


unify GROUP and GROUPTOP

I do not see why these 2 are different. I think could be unified.

@nimlgen nice!  I did the same on my #2137 PR, but keeping Top=True as the default behavior is slightly better performance-wise in my tests.

Oh, funny)


[New Metric] Expected Calibration Error

🚀 Feature
A new metric computing the Expected Calibration Error (ECE) metric from Naeini et al 2015. Useful for determining if a classifier's softmax probability scores are well-calibrated and represent reasonable probabilities.
Motivation
I ran into this metric after seeing Guo et al 2017, which discussed how very large and deep networks are vulnerable to calibration issues (i.e. are systemically over- or under- confident), and suggest temperature scaling as a method for producing reasonably calibrated softmax outputs using a validation dataset. I've implemented a simple version of this metric using the old PyTorch Lightning Metric API, mostly based off of @gpleiss's PyTorch nn.Module implementation of the metric here.
Additional context
There was an interesting preprint discussing alternatives to ECE that also might be worth integrating - the main criticism being that ECE can be reductive in multi-class settings by not considering all probabilities produced by the model and only looking at the probability of the predicted class (i.e. the highest predicted probability). I'd have to think more about this, but it could also be worth adding.

Sure! Let me write up some test cases first. Is there any documentation I should look at about this library's test practices or should I just look at some of the other classification metric tests?

@edwardclem how is it going here?

I have the calibration error metric working and tested with the L1, L2, and max norms matching the behavior of the sklearn PR here. There appears to be an implementation difference in the bias term correction from this paper that causes those tests to fail, and I'm checking with the sklearn devs to see which one is correct. I've confirmed that if I change my torch code to exactly match the numpy code the behavior is the same, but I think there might be a small mistake in the sklearn implementation. Either way, I'm happy to open a PR so the review can start. If we want to move ahead with this feature, I can just remove the bias correction term and commit the rest. What do you think?

Hi @edwardclem, sounds like a great plan to me (sorry for not getting back to you sooner).
Please feel free to open a PR :]


Can't define type of var

I'm making some class notes using this kernel and I found the following issue:
If I try the following code (which was working at this kernel when it was named jupyter-scala), I get an error:
var x: Any = 1
x = 1.5
x = true
x = 'c'
x = "string"

---

cmd2.sc:4: type mismatch;
 found   : Double(1.5)
 required: Int
val res2_1 = x = 1.5
                 ^cmd2.sc:5: type mismatch;
 found   : Boolean(true)
 required: Int
val res2_2 = x = true
                 ^cmd2.sc:7: type mismatch;
 found   : String("string")
 required: Int
val res2_4 = x = "string"
                 ^Compilation Failed

I thought that the problem may be related to the Any type, so I made another test:
var i: Int
i = 10

---

cmd2.sc:117: class Helper needs to be abstract, since variable inteiro is not defined
(Note that variables need to be initialized to be defined)
final class Helper extends java.io.Serializable{
            ^Compilation Failed

Also, if I try something like initializing a var with null, the type is ignored:
var i: Int = null
i = 10

---

cmd2.sc:4: type mismatch;
 found   : Int(10)
 required: Null
val res2_1 = i = 10
                 ^Compilation Failed

I do not know what is causing this, because, inside the project sbt execution I can correctly perform those actions.

Thanks for the report!
That seems to be a regression in the current master. The latest release (0.4.0) seems fine. If you are running the kernel from sources, just check out 0.4.0 with git checkout v0.4.0 before running or installing the kernel.

As a workaround, putting the type ascription with the value works fine, like
var x = 1: Any
x = 1.5
x = true
x = 'c'
x = "string"

Thank you @alexarchambault, it worked perfectly for me!

Closing this, this should be fine with 0.6.0.


Docs: Add IPv6 warning

What
Adds a warning about IPV6 Support in the troubleshooting guides
Why
Sometimes routers will try to allocate either the computer / headset an IPV6 address. ALVR does not seem to be able to discover headsets when either client or server are based on a v6 address. Pending implementation of https://github.com/alvr-org/ALVR/issues/1888 or https://github.com/alvr-org/ALVR/issues/1880 it is worth adding a warning to the troubleshooting guide.

We have already added support for multicast it's just not used by default per se.

Thanks for taking a look; Great app btw! ❤  Might be worth leaving in until the multicast option is set as the default (Or has a toggle in the UI) from a usability / debugging standpoint? Happy to reword it to enable multicast if there is a simple way of enabling it in current versions of the app... Just currently there is no mention of IPv6 / multicast in the troubleshooting docs making it pretty awkward to debug.
Only reason I raise it that this took me several hours of fiddling about with to pin this down myself 🥲

Are you using nightly or stable?

Currently the last stable release v20.6.1. If this is going to be enabled / have an option in the next release can probably close this 👀

Yea it's only nightly right now.

Ahh fair enough! 😆
In which probably a won't fix. Will close for now given seems like it is going to be resolved in the next few builds, thanks for the quick replies!

No problem


Task - Comprehensive specimen - verbatim latitude and longitude

12°27’24”N
format is not recognized, which is often used in publication
12°27'24"N - this one is recognized as valid.

I think you have a typo- this is literally the same?  Or you are looking at special characters for '"'?

different characters for single and double quotes. You can copy and paste in the comprehensive form and see the difference.

@jrflood please add this to the geo utilities spec

Has the pull request containing this been merged?

You can see the list of outstanding PRs on the Pull request tab.


Change Port mappings

Is it possible to change port mappings (even modifying config files?)
i already have an image running on 5800 and 5900 and would like to map to 5801 and 5901
my starting string was
docker run -d --name=handbrake -p 5801:5801 -p 5901:5901  -v /volume1/docker/appdata/handbrake:/config:rw -v /volume1/Handbrake:/storage:ro -v /volume1/Handbrake/watch:/watch:rw -v /volume1/Handbrake/output:/output:rw jlesage/handbrake
and it appears to be running i would just like to also have the GUI as an Option,,,,

There is no need to change the container port.  You just need to change the host-side ports.
So use the following parameters instead : -p 5801:5800 -p 5901:5900
See https://github.com/jlesage/docker-handbrake/blob/master/README.md#ports

Cheers... i just found that file and was coming back here to close this.
thanks again


layers: Improve descriptor set invalid binding handling

Fix for #616
Prior to calls to get an global index from a binding, make sure that
HasBinding() is called to verify that the binding exists.
Added HasBinding() calls to a couple of validation functions for
early exist.
Updated code comment to indicate that HasBinding() call should
precede GetGlobalIndexFromBinding() calls.
Note that PerformUpdate() functions already indicate that they should
be preceded by their matching ValidateUpdate() functions, which include
the appropriate checks for HasBinding().
case the ValidateUpdate() funciont

cherry-picked and pushed to master


Doesn't receive shadows or ambient light

As seen in this image, the grass does not receive real-time shadows.
I'm assuming this could be added in an additional pass? I'm not great with shaders so I'm hesitant to try and implement this myself, but it should be feasible unless there's a technical reason I haven't accounted for.

Take a look at the DefaultResourcesExtra\TerrainShaders\Details\WavingGrassBillboard.shader built-in shader. It uses a surface pass to support the lighting and shadows. I didn't need those for the project I've been making this solution for, so didn't bother with it.

Hey Elringus, I'm having trouble with combining them. Do you think you'll be able to help out?

Hey Elringus, I'm having trouble with combining them. Do you think you'll be able to help out?

Hey, Unfortunately I don't have time to work on this at the moment, but will appreciate pull requests.


CDK support for GO

It would be great if this CDK supported GO.

Hi @brianterry, please check #547 and upvote in that issue if you want Go language support.

Duplicate of #547


It's hard to get back from a saved report.

If you click on a saved report, then it is hard to get back to your current unsaved report. Needs a refresh on the page.

Would be great if we could use routes for this propose to navigate "back"

Solved in #80


ocamlPackages.phylogenetics: 0.0.0 -> 0.1.0

Description of changes
Just a version bump.  Release notes: https://github.com/biocaml/phylogenetics/releases/tag/v0.1.0
Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] 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/)
22.05 Release Notes (or backporting 21.11 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
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

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

1 package built:

ocamlPackages.phylogenetics


First Launch Experience - FLE

Make sure the users understand the UI. Either display an annotated screenshot or have a guided tour via popovers. Example illustrations:

Introduction video https://youtu.be/GOlJUhDKs4U


Publish latest snapshot as osiam-latest also to bintray

Because it is not possible to link to the changed OSIAM snapshot
maven artifacts in the oss jfrog maven repository, this commit
changes that the latest OSIAM snapshot is also available under
a static download link:
https://dl.bintray.com/osiam/downloads/osiam/latest/osiam-latest.war

Thanks!


Resolve/find correct version of dep with ~ range

Tried to install angular-sanitize by specifying version ~1.4.0.
$ bower install angular-sanitize#~1.4.0
bower angular-sanitize#~1.4.0   cached git://github.com/angular/bower-angular-sanitize.git#1.4.8
bower angular-sanitize#~1.4.0 validate 1.4.8 against git://github.com/angular/bower-angular-sanitize.git#~1.4.0
bower angular#1.4.8             cached git://github.com/angular/bower-angular.git#1.4.8
bower angular#1.4.8           validate 1.4.8 against git://github.com/angular/bower-angular.git#1.4.8
bower angular#>= 1.0.8          cached git://github.com/angular/bower-angular.git#1.4.8
bower angular#>= 1.0.8        validate 1.4.8 against git://github.com/angular/bower-angular.git#>= 1.0.8
bower angular#~1.4.0            cached git://github.com/angular/bower-angular.git#1.4.8
bower angular#~1.4.0          validate 1.4.8 against git://github.com/angular/bower-angular.git#~1.4.0
bower angular#>=1.0.*           cached git://github.com/angular/bower-angular.git#1.4.8
bower angular#>=1.0.*         validate 1.4.8 against git://github.com/angular/bower-angular.git#>=1.0.*
bower angular#>=1.2.0           cached git://github.com/angular/bower-angular.git#1.4.8
bower angular#>=1.2.0         validate 1.4.8 against git://github.com/angular/bower-angular.git#>=1.2.0
bower angular#>=1.0             cached git://github.com/angular/bower-angular.git#1.4.8
bower angular#>=1.0           validate 1.4.8 against git://github.com/angular/bower-angular.git#>=1.0
bower angular#>=1.0.8           cached git://github.com/angular/bower-angular.git#1.4.8
bower angular#>=1.0.8         validate 1.4.8 against git://github.com/angular/bower-angular.git#>=1.0.8
bower angular#>=1.3.x           cached git://github.com/angular/bower-angular.git#1.4.8
bower angular#>=1.3.x         validate 1.4.8 against git://github.com/angular/bower-angular.git#>=1.3.x
bower angular#1.4.7             cached git://github.com/angular/bower-angular.git#1.4.7
bower angular#1.4.7           validate 1.4.7 against git://github.com/angular/bower-angular.git#1.4.7
bower                        ECONFLICT Unable to find suitable version for angular

We have Angular 1.4.7 installed.
If I specify version 1.4.7 for angular-sanitize it works.
$ bower install angular-sanitize#1.4.7
bower angular-sanitize#1.4.7    cached git://github.com/angular/bower-angular-sanitize.git#1.4.7
bower angular-sanitize#1.4.7  validate 1.4.7 against git://github.com/angular/bower-angular-sanitize.git#1.4.7
bower angular-sanitize#1.4.7   install angular-sanitize#1.4.7

angular-sanitize#1.4.7 app/assets/vendor/angular-sanitize
└── angular#1.4.7

But shouldn't bower install angular-sanitize#~1.4.0 work as well?
$ bower info angular-sanitize#1.4.7
bower angular-sanitize#1.4.7    cached git://github.com/angular/bower-angular-sanitize.git#1.4.7
bower angular-sanitize#1.4.7  validate 1.4.7 against git://github.com/angular/bower-angular-sanitize.git#1.4.7

{
  name: 'angular-sanitize',
  version: '1.4.7',
  main: './angular-sanitize.js',
  ignore: [],
  dependencies: {
    angular: '1.4.7'
  },
  homepage: 'https://github.com/angular/bower-angular-sanitize'
}

Relevant sections from our bower.json:
"dependencies": {
    "angular": "~1.4.0",

  "resolutions": {
    "angular": "~1.4.0",

$ bower --version
1.7.2

I'm just gonna put this out there: It's @samccone's fault! — He doesn't like the tilde :fire::fire:
Fun aside though: This should actually work and I cannot replicate it. It looks like a version conflict and we should be able to resolve it though. As a first try, this might work for you: https://github.com/bower/bower/issues/866. If it doesn't let me know. Also, can you share more/all of your bower.json in that case?

  "dependencies": {
    "angular-ui-router": "~0.2.13",
    "angular": "~1.4.0",
    "bootstrap": "~3.3.1",
    "angular-bootstrap": "~0.13.3",
    "angular-mocks": "~1.4.0",
    "angular-resource": "~1.4.0",
    "angular-animate": "~1.4.0",
    "font-awesome": "~4.4.0",
    "bootstrap-datepicker": "~1.4.0",
    "angular-toastr": "~1.4.0",
    "angular-rangeslider": "~0.0.14",
    "lodash": "~3.9.3",
    "validator-js": "~3.41.2",
    "requirejs": "~2.1.20",
    "chosen": "~1.4.2",
    "angular-froala": "~2.0.1",
    "checklist-model": "~0.9.0",
    "angular-sanitize": "1.4.7"
  },
  "resolutions": {
    "angular": "~1.4.0",
    "chosen": "~1.4.2"
  }

Stripped out two private deps with these bower.json:
  "dependencies": {
    "angular-bootstrap": "*"
  },

  "dependencies": {
    "chosen": "https://github.com/harvesthq/chosen/releases/download/v1.1.0/chosen_v1.1.0.zip",
    "angular": ">=1.2.0"
  }

By trying #866 do you mean using resolve to lock sanitizer to 1.4.7?

I'd try --force-latest first. There are most likely mulitple dependencies that have angular as a dependency and there's the actual conflict. I'm a little short of time right now but I can take a closer look tomorrow if it's not resolved by then.

--force-latest worked and made these changes to bower.json.
     "angular-froala": "~2.0.1",
     "checklist-model": "~0.9.0",
-    "angular-sanitize": "1.4.7"
+    "angular-sanitize": "~1.4.0"
   },
   "resolutions": {
-    "angular": "~1.4.0",
+    "angular": ">=1.3.x",
     "chosen": "~1.4.2"
   }
 }

So if that's an acceptable solution, I'll go ahead and close.
Let me know if you need further help or anything. :v:

I'll try that in the future, but don't know why I need to --force-latest.

As long as th eright version is now persisted in your resolutions section, you're good. The main problem is that the different dependencies specified different version of angular as their dependency. And in that case you need to find the right one that works for all of them. In your case that seems to be >=1.3.x. This might be dictated by angular-toastr:
.../bower_components/angular-toastr/bower.json:
   30    ],
   31    "dependencies": {
   32:     "angular": ">=1.3.0"
   33    }
   34  }


Environment
Docker
Version
0.11
Describe the problem
下载速度和dash无法显示

Additional info
No response
Please tick the boxes

[X] You've read the docs
[X] You've checked for duplicate issues
[X] You've tried to debug yourself

Hello. Please note that we are an international team.
To enable the best way of communication, please post ik english only.
Can you confirm that this is what you mean?
Download speed and dash cannot be displayed

Same issue on dash. Nothing happen since version 0.11.2 can't display anything on fresh installation.

Marking as a duplicate of #496


Console for Singleplayer mode

Sometime I want to: !force bot1 bonus 100
How can I do?

You can change it while in table view and not a spectator:

but you're right, there are a few issues:

it should be available while spectating
there should be a way to set while viewing players grouped as teams, not just table
it should indicate that 100 bonus is the max, due to engine limitation
chat commands are something I want to do anyway, especially for in-game controls

All editable columns in "table" display type should be options in context menu, when in "group" display type at least.