Getting the value

I might have missed something obvious, but I can't quite figure out how to get the value of the editor (eg. during a form submission). The lexical react examples uses the OnChange plugin, which doesn't exist here. Perhaps there should be some example showing this somewhere, if there is a good way to do it yet?

Hi @PaddiM8 ,
Have a look at https://github.com/umaranis/svelte-lexical/discussions/45
Does this work for you?

Ahh, that seems to work. Thanks! I assume there isn't some integrated way of converting editor state to HTML at this point in time? I need to store the editor state (as JSON) in a database and then turn that into HTML when rendering the page. Currently trying the regular lexical package for that.

Hi @PaddiM8 ,
Wondering why do you want to convert to HTML.
If you want to load the state in the editor from database, you can simply call composer.getEditor().setEditorState(state).
Here is sample code for loading editor state from text (where text is a string fetched from the database):
let state = composer.getEditor().parseEditorState(text);
composer.getEditor().setEditorState(state);

Is this what you were looking for?

I want to display the rich text content on a static page actually. It seems like I only need to import lexical/html though so that's fine I guess. Thanks for helping!

Hey @PaddiM8
Could you tell me what are you doing to show HTML on a webpage without showing the editor?
I'm currently using this https://github.com/umaranis/svelte-lexical/commit/0afbc90ea9b1ba11f5959bb4f1cfe0b71cea2a2c, which seems to work fine, but my problem is that the HTML is not the same than the one shown in the editor. What I'm seeing is that when showing the editor, both lexical.css and PlaygroundEditorTheme.css are used, but when showing the HTML text, I can only import lexical.css because PlaygroundEditorTheme.css classes don't match the standard html tags (<h1>, <p>, ...).
@umaranis Have you thought a better way to do this?

Hi @ktecho ,
I have not explored displaying HTML without the editor. I can see that you have tried using the headless lexical package to achieve this.
If it works for you, I will appreciate if you could submit a PR. Thanks.

I think I'm doing something similar and import the CSS in some way to get the same styling

In my opinion, we should make something to fix the CSS mess. This are the problems I'm seeing:
1- Conflicts with other libraries (https://github.com/umaranis/svelte-lexical/issues/71). I fixed this partially by nesting all the lexical.css classes inside another class:
.lexical-div {
    body {/**/}

    header {/**/}

    header a {/**/}

    header a {/**/}
}

In this way, I put the Lexical editor inside a lexical-div div, and classes in this file only affect the editor. If I don't add this, the lexical.css file is changing a lot of classes very used in apps, like body, dropdown, modal, switch, toolbar, etc.
But I still have the reverse problem: external libraries changing svelte-lexical behaviour by defining classes like modal, dropdown, etc.
2- Output of Lexical converted to HTML cannot be displayed in the same way as it's in the editor, because in PlaygroundEditorTheme.css, all the classes are defined with a prefix. So I'm thinking on just duplicating the PlaygroundEditorTheme.css file and removing the prefix, so it can be used in standard html... But that's ugly.
So, to fix both problems, I think we should do this:
1- In lexical.css, put lexical-specific class names, like it's done at the end of the file with Modal__content or ToolbarPlugin__dialogActions. In this way, external libraries cannot break this plugin, and this plugin doesn't break external components.
2- In PlaygroundEditorTheme.css, we remove the prefix (changes in code needed, of course) and wrap everything inside a super-class, so we don't have the problem we have in 1).
@umaranis  what do you think?


Sorting the files to be handled to give more deterministic results

Will sort the files in db/views, or whatever the configured file path, alphabetically.
Fixing unpredictable behaviour could break things for people, but at least it will move to a known., deterministic state of operation.

On further usage I've realised that the DROP should remove the views in the reverse order. This ensures that we don't try to remove the dependancies first.
To do so I've split the file expansion work which was being done by Dir[File.join(path, extension)].map{|x| File.expand_path(x)} into a separate function in the tasks file.

Hi, thank you for the PR, I'll review it during the week 😄.
Sadly this gem never had proper unit testing so I'll see if the update doesn't break our production projects.

Thanks.
There’s not much “unit-testable” code in the gem; much more sensible to focus on the integration side. That said, my new expand_files method is very testable and I probably should write a test for it, but I wasn’t sure of the approach you wanted used in the gem.
I’ve got it in production now (installing from my github repo) and it’s working well. And, against MySQL 5.6
Thanks for taking the time. Hope this helps.

Did you have a chance to check this in production? I’ve been happily using it in prod for a month or so.

🎉

Any chance of getting this onto rubygems?


Crash on /opptak when no active or previous admissions

If there are no active admissions and no previous admissions, then navigating to https://samfundet.no/opptak will crash with the following error:
NoMethodError at /opptak
undefined method `promo_video' for nil:NilClass

This is because of the _no_admissions_header.html.haml file, which contains the following:
#admission-header
  .no-active-admission-youtube-video
    %iframe{ src: @closed_admissions.first.promo_video, frameborder: 0, allowfullscreen: true }

We access the promo_back property of the @closed_admissions.first property, which crashes since @closd_admissions is an empty list and first is nil.
This can be fixed with the following code:
#admission-header
  .no-active-admission-youtube-video
    - if not @closed_admissions.first.nil?
      %iframe{ src: @closed_admissions.first.promo_video, frameborder: 0, allowfullscreen: true }

Where we don't show anything if the first property of @closed_admissions is nil.

Closed by #484


Make maps better at exiting and reloading.

Reduce repeated test code.  This reuses or replaces the #map node in the headless tests rather than creating different named nodes for many different tests.  This reduces the boiler-plate code for creating and destroying maps in the tests.
Reusing elements exhibited some problems in map teardown and recreation.  Specifically: (a) When the map was exiting some functions could be invoked with no-longer-valid renderer values.  (b) An animation frame could fire after the vgl renderer had exited.  (c) The scene object reset its children incorrectly.  (d) The sliderWidget turned off all layer events for zoom rather than just its own.  (e) Tests that mock VGL must clean up their maps before restoring VGL, or when the map is exited it may not have the appropriate state information.
Fix some inconsistencies on widgets.  For instance, if a widget is position relative to the screen and then changed to relative to the map, it wouldn't update on pan, but if it started as relative to the map, it would update on pan.
Update jsdocs on widgets.

I think @matthewma7 found a condition we should guard against, so I'll have at least one more commit to this branch.

Before this PR, we weren't exiting the vgl renderer the correct way, so instead of doing a targeted cleanup, it did a general one.  When that was fixed, it exposed the fact that the quads were using a generic context rather than a specific context for their shader cache.  This would hang on to the context.
Now they use the correct context, and we forceably try to lose the context as soon as possible (which helps avoid exhausting the available GL contexts).

@aashish24 Since I made changes since you approved it, can you make sure you are happy with those changes? (or @matthewma7 could also approve).


Kubespray creating duplicate entries in /etc/resolv.conf

BUG REPORT
Environment:

Cloud provider or hardware configuration:
AWS

OS (printf "$(uname -srm)\n$(cat /etc/os-release)\n"):
Linux 4.11.11-coreos x86_64
NAME="Container Linux by CoreOS"
ID=coreos
VERSION=1409.7.0
VERSION_ID=1409.7.0
BUILD_ID=2017-07-19-0005
PRETTY_NAME="Container Linux by CoreOS 1409.7.0 (Ladybug)"
ANSI_COLOR="38;5;75"
HOME_URL="https://coreos.com/"
BUG_REPORT_URL="https://issues.coreos.com"
COREOS_BOARD="amd64-usr"

Version of Ansible (ansible --version):
2.2

Kubespray version (commit) (git rev-parse --short HEAD):
$ git rev-parse --short HEAD
8fda388
Network plugin used:
flannel
Errors:
https://gist.github.com/gamename/2d65a6808534fab22b2b1e77ac53e4fc
To Reproduce
To reproduce this, do the following:

Have a resolv.conf file with this entry:
search default.svc.cluster.local svc.cluster.local us-west-2.compute.internal compute.internal
Create a pod
You should get an error something like:
kube-system      4s         4s          1         nginx-ingress-lb-995027487-kfvwq              Pod                                                   Warning   DNSSearchForming                   kubelet, ip-10-223-5-178.us-west-2.compute.internal    Found and omitted duplicated dns domain in host search line: 'svc.cluster.local' during merging with cluster dns domains

More Info
What tends to indicate that its a kubespray(ish) issue is the definitions are in the Ansible-provided secdtion:
# Ansible entries BEGIN
domain cluster.local
search default.svc.cluster.local svc.cluster.local us-west-2.compute.internal compute.internal
nameserver <IP_ADDRESS>
nameserver <IP_ADDRESS>
options ndots:2
options timeout:2
options attempts:2
# Ansible entries END

Talked with @gamename a bit about this offline. It seems possible that we're allowing kubelet to inject values into the created pod's /etc/resolv.conf, but the same search domain is already present in the host's resolv.conf. He's using the host_resolvconf mode, which is required for coreos, so I'm wondering if there's a bug somewhere between these two interactions. To note, this isn't exactly and error, but it's a warning that happens everywhere in their environment and causes lots of confusion for devs who aren't well versed in k8s.

https://github.com/kubernetes-incubator/kubespray/pull/1728

This is an issue that we addressed already upstream and I don't think it needs to be fixed.
We want the hosts to be able to lookup kubernetes domain easily, but also prevent pods from getting >6 search domains (which breaks lookups). The upstream issue https://github.com/kubernetes/kubernetes/issues/9229 was fixed. Now a warning is displayed (completely harmless) and hosts and pods can both lookup services using short format.
In my opinion, this issue is already fixed and we have the most ideal behavior already.

@mattymo On the whole, I agree.  But the problem is this is a warning and not an info message.  That tends to confuse/concern the developers and would indicate something is wrong.  My fix completely eliminates the warning message altogether.
@rsmitty Thoughts?

So there's a couple of things about this. I agree that squashing this in order to prevent a warning seems non-ideal, especially when it removes the ability for the nodes themselves to actually do dns lookups for the services running in the kube cluster. I've seen first hand the confusion with the devs seeing this error (and the annoyance to have to keep telling them it's harmless). Wondering if a better workaround for you guys is to simply tweak the log level so that warnings aren't shown? Only downside is that it gives less visibility for you operationally.

@rsmitty @mattymo I would be ok with tweaking the log level instead too.


Fixing a typo in 1st party storage name

🏷 Type of documentation

[X] bugfix (code examples)
Refer: https://github.com/prebid/Prebid.js/blob/master/modules/pairIdSystem.js#L18

📋 Checklist

[ ] Related pull requests in prebid.js or server are linked -> Paste link in this list or reference it on the PR itself
[ ] For new adapters check submitting your adapter docs

@pm-harshad-mane can you resolve the conflict? Probably your fork was a little bit out of date :D


I have flash attention installed but I got the ImportError: Flash Attention 2.0 is not available.

Can anyone help?

One of the good things about OSS is ease of debugging - you can see what's going wrong by reading the library's source code!
In this case, the transformers library's is_flash_attn_2_available() is returning False:
def is_flash_attn_2_available():
    if not is_torch_available():
        return False

    if not _is_package_available("flash_attn"):
        return False

    # Let's add an extra check to see if cuda is available
    import torch

    if not torch.cuda.is_available():
        return False

    if torch.version.cuda:
        return version.parse(importlib.metadata.version("flash_attn")) >= version.parse("2.1.0")
    elif torch.version.hip:
        # TODO: Bump the requirement to 2.1.0 once released in https://github.com/ROCmSoftwarePlatform/flash-attention
        return version.parse(importlib.metadata.version("flash_attn")) >= version.parse("2.0.4")
    else:
        return False

So make sure that:

PyTorch is available (import torch)
Flash Attention is available (import flash_attn)
PyTorch can see CUDA (torch.cuda.is_available() == True). If it can't, check out this StackOverflow question
Check the version of flash_attn (flash_attn.__version__ should be >= 2.1.0, assuming you're using a NVIDIA GPU)


missing documentation about performance

This looks like a great project and especially (dynamic) geofencing is super-interesting.
However, I didn't find any documentation on performance. To take one example of interest, if
one stored a set of 1 million moving points in tile38 representing people in a large country, and then issued a dynamic geofencing query on that set, what is the memory usage and what latency can we expect?
To answer such questions, it would be helpful to have performance (time+memory) comments per query type/operators, maybe big-O-notation hints related to the underlying algorithms, and hints on scalability, the various limits affecting it etc.
Even a subset of such documentation would be very helpful.

Thanks for the suggestion. I agree that this would be very helpful. I added it to our roadmap.

I'm consolidating request into one issue at #54


Error message after importing Tensorflow

Please make sure that this is a build/installation issue. As per our GitHub Policy, we only address code/doc bugs, performance issues, feature requests and build/installation issues on GitHub. tag:build_template
System information

Windows 7, 64

TensorFlow installed from source
TensorFlow version:1.12
Python version:3.6
Installed using pip

Describe the problem
Ran pip install tensorflow on Anaconda prompt, then wrote the following code on Jupiter notebook:
import tensorflow as tf
a = tf.Variable(1, name="a")
b = tf.Variable(2, name="b")
f = a + b
init = tf.global_variables_initializer()
with tf.Session() as s:
init.run()
print( f.eval() )
got the following error:
ImportError: DLL load failed with error code -1073741795
Please help!

Error code:

The code is running in my system. Check your Anaconda and TensorFlow installation parts.

My Anaconda runs well. The installing of Tensorflow went well. Anybody has a applicable idea what i can do?

Facing same problem with tensorflow CPU version

A friend told me there is an issue with Anaconda and Tensorflow. The
solution is to create a virtual environment.
Am Fr., 28. Dez. 2018, 01:35 hat AksBrijSandy<EMAIL_ADDRESS>geschrieben:

Facing same problem with tensorflow CPU version
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/tensorflow/tensorflow/issues/24509#issuecomment-450262076,
or mute the thread
https://github.com/notifications/unsubscribe-auth/Ao7i7wHGtkXhsp0Ubqu_sjRRfEcIgjP7ks5u9WdDgaJpZM4ZeL30
.

@julesverneat Thanks for sharing your workaround. Closing this issue since activating virtual environment solves the issue for anaconda users.


Map - storybook map stories are broken after zooming

To reproduce, go to the Donut Markers first story, zoom in a bit, watch browser freeze.
Seems to be all map stories.

Removing bits from MapVEuMap to see what could be the cause

MapVEuMapEvents :heavy_check_mark:
MapScrollWheelZoom :heavy_check_mark:
CustomZoomControl :heavy_check_mark:
CustomGridLayer :x:

That's a surprise. I don't think it's been worked on for a long time.

This seems to be the smallest bit of code in CustomGridLayer that, when removed, fixes the issue
        Promise.resolve(
          shape2geohash(shapes, { precision: geohashLevel })
        ).then(function (value) {
          setGeohashes(value);
        });


Feature/dapp planned udc withdrawal extension

Thank you for submitting this pull request :)
Fixes #2308
Short description
The first two commits includes minor issues which have produced noise.. Sorry for that.
Well, then go for it and do a withdraw and wait a while. I did it myself and it worked for me.
Note that while the new component from the last commit follows 100% the linked design model of Sash, the width inside the UDC screen is not yet correct. This is part of #2220 that reworks the structure and design of this screen.
 I added an entry for the dApp which this PR is for.

 I added an entry for the dApp which this PR is for.

I cleaned up the branch and pushed again. But CI hangs/got not triggered. I'll amend the last commit to be able pushing it again.


Clarification: k and v contents may be modified after returning from Set.

Several methods have a similar descriptor to the following in the docs:

k and v contents may be modified after returning from Set.

Upon first reading, I assumed that the Set() method would modify the k and v byte arrays and copies should be passed into the fastcache methods.
I couldn't believe it and only after spending some time digging in the source did I realize that these sentences probably meant that the fastcache methods themselves stored copies of the k and v arrays and that you didn't have to worry about reusing the originals.
Just a heads up, I found the particular wording confusing, perhaps consider a slightly different wording.

Several methods have a similar descriptor to the following in the docs:

k and v contents may be modified after returning from Set.

Upon first reading, I assumed that the Set() method would modify the k and v byte arrays and copies should be passed into the fastcache methods.
I couldn't believe it and only after spending some time digging in the source did I realize that these sentences probably meant that the fastcache methods themselves stored copies of the k and v arrays and that you didn't have to worry about reusing the originals.
Just a heads up, I found the particular wording confusing, perhaps consider a slightly different wording.

Thanks for your explanation. I think "k and v contents may be modified after returning from Set." more like source code comment rather then api usage.


The data preview of XGLUE

It seems that something wrong with the data previvew of XGLUE

Thanks for reporting @czq1999.
Note that the dataset viewer uses the dataset in streaming mode and that not all datasets support streaming yet.
That is the case for XGLUE dataset (as the error message points out): this must be refactored to support streaming.

Fixed, thanks @albertvillanova !
https://huggingface.co/datasets/xglue


This ensures the battery stays within a safe operating voltage to prevent it from being damaged.

This will need a JST-XH connector and a 5V to 3.3V logic level converter as the LiPo pack has a 4.2V output at full charge from the battery balance connector.
Possible product:
https://www.adafruit.com/product/757

This would be nice if the BLEBas service can be added within the BluetoothController setup in #42 to display battery levels remotely.

https://www.adafruit./product/1085
The above ADS1115 product was selected for identifying the battery levels.

A new battery monitor service needs to be added so the notifications from the battery and the ADS1115 can be transmitted to the BluetoothController and exposed by the BLEBas service.

Duplicate of #80


Error with help on latest stable

$ canc -h
Candran 0.14.0 compiler by Reuh
Usage: /usr/local/lib/luarocks/rocks-5.1/candran/0.14.0-1/bin/canc [options] filenames...
Use - instead of filenames to read from the standard input. The output file will be named stdin.lua by default.
Compiler options:
  dest="directory"  where compiled files should be written
  out="name.lua"    output filename. By default, will use the same name as the input file with a .lua extension.
  -print            write to the standard output instead of creating files
  -preprocess       only run the preprocessor
  -compile          only run the compiler
  -parse            only parse the file and prints errors to stdout
  -ast              (for debugging purposes) only parse the files and dump the AST to stdout
  -help or -h       print this text
Default options:
/usr/bin/lua5.1: ...cal/lib/luarocks/rocks-5.1/candran/0.14.0-1/bin/canc:26: bad argument #2 to 'format' (string expected, got boolean)
stack traceback:
        [C]: in function 'format'
        ...cal/lib/luarocks/rocks-5.1/candran/0.14.0-1/bin/canc:26: in main chunk
        [C]: ?

Fixed with 6f1b2c7. string.format doesn't accept booleans values in Lua 5.1, despite working with LuaJIT and other Lua versions.


Deprecate url.parse API in favor of URL constructor

Replace the legacy parse API from url module and use the URL constructor instead. Reasons for this change are:

API is deprecated and it use discouraged in the documentation
Consumers of the package have discovered issues related to the parsing algorithm (example)

URLs starting with double slash //some/path are not parsed correctly
URLs with auth like form //user@foo have the same problem

The solution proposed in this PR considers the raw URL as partial like the ones seek on the headers and adding a fake protocol if necessary (to remove later). The function iterates over the URL instance properties to fill a result object since some properties of URL do not accept empty values like protocol.
const url = new URL('https://localhost:8080/path')
console.log(url.protocol) // prints "https:"
url.protocol = '';
console.log(url.protocol) // keeps printing "https:"

Tests have been added in  http/https requests to test these specific scenarios.

For the record I did run the benchmarks and compare between current implementation and the new one. It is noticeable that WHATWG URL is slower in parsing.

There were some recent performance improvements that landed 3 weeks ago:

https://github.com/nodejs/performance/issues/33

Which version of Node.js did you benchmark?
There were some recent performance improvements that landed 3 weeks ago in v19.7.0:
* [Investigate slow `new URL` nodejs/performance#33](https://github.com/nodejs/performance/issues/33)

* [deps: replace url parser with Ada nodejs/node#46410](https://github.com/nodejs/node/pull/46410)

Node version used for benchmarks was v16.13.1. It's clear the improvements in v19.7.0 but still a bit higher than url.parse
Run 0: Benchmark with no headers took: 2.705s
Run 1: Benchmark with no headers took: 2.647s
Run 2: Benchmark with no headers took: 2.647s
Run 3: Benchmark with no headers took: 2.615s
Run 0: Benchmark with Forwarded header took: 3.305s
Run 1: Benchmark with Forwarded header took: 3.369s
Run 2: Benchmark with Forwarded header took: 3.460s
Run 3: Benchmark with Forwarded header took: 3.586s
Run 0: Benchmark with multiple X-Forwarded-Host headers took: 2.953s
Run 1: Benchmark with multiple X-Forwarded-Host headers took: 2.884s
Run 2: Benchmark with multiple X-Forwarded-Host headers took: 2.794s
Run 3: Benchmark with multiple X-Forwarded-Host headers took: 2.817s

[I'm pulling this out of the review comment so the conversation doesn't get broken up and more easily lost.]

Do you mean to use a value which is longer and more unlikely to be used by consumers? Something like original-url-protocol: or something of the sorts?

Yes, that is what I had meant. It isn't very satisfying, however. :)
In the nodejs-land issue that @styfle referred to, there was mention of a separate https://www.npmjs.com/package/request-target package for handling parsing a req.url. Perhaps it would be preferable to use that (or logic similar to it, but not url.parse()) for parsing the input req.url?  I haven't dug into it.
The parsing of the other headers (Host, Forwarded, et al) could still perhaps use new URL with a try-catch guard, assuming those headers are specified to have, or typically have complete URLs.

... IMO this is a breaking change and needs to be reflected in the version with a major bump.

Yes, agreed. I'm not opposed to a new major rev for this package. It would then be nice to then get specific about what fields of the returned object are promised -- as opposed to the currently looser "The result object will also contain any other property normally returned by the Node.js core url.parse function."

I've checked  https://www.npmjs.com/package/request-target package and it's using a set of RegExp to match the string extracted from req.url. The expressions are derived from the syntax specified in RFC3986. I think we can add it as a dependency.
WATHWG URL and request-target are stricter than url.parse(). When the URL string is invalid the former throws and the later returns null. I think we should unify this but not sure which option is best. With this set of changes we will do breaking changes anyway but I wonder what would be better for package consumers.

Using a non standard protocol in new URL() constructor changes the parsing result to a better detection of paths (starting with / and //) increasing the number of URLs being parsed without throwing. New results
Parse results for /

method
protocol
host
pathname

request-target
http:

/

new-url
protocol:

/

url-parse

/

Parse results for /some/path

method
protocol
host
pathname

request-target
http:

/some/path

new-url
protocol:

/some/path

url-parse

/some/path

Parse results for //some/path

method
protocol
host
pathname

request-target
N/A
N/A
N/A

new-url
protocol:

//some/path

url-parse

//some/path

Parse results for /user@pass

method
protocol
host
pathname

request-target
http:

/user@pass

new-url
protocol:

/user@pass

url-parse

/user@pass

Parse results for //user@pass

method
protocol
host
pathname

request-target
N/A
N/A
N/A

new-url
protocol:

//user@pass

url-parse

//user@pass

Parse results for /some/path?key=value

method
protocol
host
pathname

request-target
http:

/some/path

new-url
protocol:

/some/path

url-parse

/some/path

Parse results for @@

method
protocol
host
pathname

request-target
N/A
N/A
N/A

new-url
N/A
N/A
N/A

url-parse

@@

Parse results for ///

method
protocol
host
pathname

request-target
N/A
N/A
N/A

new-url
protocol:

///

url-parse

///

Urls parsed by method

request-target
new-url
url-parse
total

4
7
8
8

The batches show that there are edge cases where url.parse still gives a result but we can cover most of them with request-target and new URL(...) being the former faster than the later. IMHO a good approach would be

use request-target
fallback to new URL(...)
return null if both failed to parse

@watson since this a breaking change I would like to have your feedback on this.
As a summary url.parse is very permissive and other parsing implementations like new URL or request-target do not allow certain url strings if they do not conform to whatwg spec or RFC 3986
This means if we replace url.parse there will be some edge cases we might get a parsing error where it was working before. So the question would be if its okay to be stricter on the parsing and, if so, which is the preferred behavior when an invalid URL string is given, to throw or return null/void.


Hashable and tuple conflict with each other

 Environment data

Language Server version: 2022.8.10
OS and version: win32 x64
Python version (and distribution if applicable, e.g. Anaconda): 3.8.10
python.analysis.indexing: null
python.analysis.typeCheckingMode: basic

 Code Snippet

# pyright: strict

from __future__ import annotations

from typing import Callable, Hashable

def foo(
    number: int,
    function: Callable[[int], Hashable | list[Hashable] | set[Hashable] | tuple[Hashable] | None],
) -> dict[Hashable, set[str]]:
    sets: dict[Hashable, set[str]] = {}

    things = function(number)
    if things is None:
        pass
    elif isinstance(things, (list, set, tuple)):
        # reveal_type(things)
        for element in things:
            sets.setdefault(element, set()).add("x")
    else:
        sets.setdefault(things, set()).add("x")

    return sets

 Repro Steps

Run Pylance over the above file.

 Expected behavior
element should be detected as any of the three object types in the isinstance check, i.e. things: list[Hashable] | set[Hashable] | tuple[Hashable] and element: Hashable.
 Actual behavior
Both Pylance and mypy detect element to be Any | Hashable, but Pylance complains about an unknown argument type.
I understand that a tuple is Hashable, too, but shouldn't the isinstance check be enough to disambiguate the type?
Note: Weirdly enough, if I try the snippet in a fresh VSCode window, the error is different; Pylance just complains about an unknown argument type. In my other workspace, the commented out reveal_type(things) says:

Pylance: Type of "things" is "tuple[Unknown, ...] | list[Hashable] | set[Hashable] | tuple[Hashable]"
mypy(note): Revealed type is "Union[builtins.tuple[Any], builtins.list[typing.Hashable], builtins.set[typing.Hashable]]"

 Logs

[Info  - 19:12:37] (15308) Pylance language server 2022.8.10 (pyright 6fa755c0) starting
[Info  - 19:12:37] (15308) Server root directory: c:\Users\user\.vscode\extensions\ms-python.vscode-pylance-2022.8.10\dist
[Info  - 19:12:37] (15308) Starting service instance "tttt"
[Info  - 19:12:37] (15308) Notebook support: Legacy
[Info  - 19:12:37] (15308) Interactive window support: Legacy
[Info  - 19:12:37] (15308) No configuration file found.
[Info  - 19:12:37] (15308) No pyproject.toml file found.
[Info  - 19:12:37] (15308) Setting pythonPath for service "tttt": "C:\Program Files\Python38\python.exe"
[Warn  - 19:12:37] (15308) stubPath c:\Users\user\AppData\Local\Temp\tttt\typings is not a valid directory.
[Info  - 19:12:37] (15308) Assuming Python version 3.8
[Info  - 19:12:37] (15308) Assuming Python platform Windows
[Info  - 19:12:37] (15308) Search paths for c:\Users\user\AppData\Local\Temp\tttt
[Info  - 19:12:37] (15308)   c:\Users\user\.vscode\extensions\ms-python.vscode-pylance-2022.8.10\dist\typeshed-fallback\stdlib
[Info  - 19:12:37] (15308)   c:\Users\user\AppData\Local\Temp\tttt
[Info  - 19:12:37] (15308)   c:\Users\user\AppData\Local\Temp\tttt\typings
[Info  - 19:12:37] (15308)   c:\Users\user\.vscode\extensions\ms-python.vscode-pylance-2022.8.10\dist\typeshed-fallback\stubs\...
[Info  - 19:12:37] (15308)   c:\Users\user\.vscode\extensions\ms-python.vscode-pylance-2022.8.10\dist\bundled\stubs
[Info  - 19:12:37] (15308)   c:\Program Files\Python38\DLLs
[Info  - 19:12:37] (15308)   c:\Program Files\Python38\Lib
[Info  - 19:12:37] (15308)   c:\Program Files\Python38
[Info  - 19:12:37] (15308)   c:\Users\user\AppData\Roaming\Python\Python38\site-packages
[Info  - 19:12:37] (15308)   c:\Program Files\Python38\Lib\site-packages
[Info  - 19:12:37] (15308) Adding fs watcher for library directories:
 C:\Program Files\Python38\DLLs
C:\Program Files\Python38\lib
C:\Program Files\Python38
C:\Users\user\AppData\Roaming\Python\Python38\site-packages
C:\Program Files\Python38\lib\site-packages
[Info  - 19:12:37] (15308) Adding fs watcher for directories:
 c:\Users\user\AppData\Local\Temp\tttt
[Info  - 19:12:37] (15308) Searching for source files
[Info  - 19:12:37] (15308) Found 1 source file
(15308) [IDX(FG)] index libraries c:\Users\user\AppData\Local\Temp\tttt (index) ...
(15308) [IDX(FG)]   read stdlib indices (16ms)
(15308) [IDX(FG)] index libraries c:\Users\user\AppData\Local\Temp\tttt (index) [succeed] (16ms)
(15308) [FG] parsing: c:\Users\user\AppData\Local\Temp\tttt\a.py (18ms)
(15308) [FG] parsing: c:\Users\user\.vscode\extensions\ms-python.vscode-pylance-2022.8.10\dist\typeshed-fallback\stdlib\builtins.pyi [fs read 2ms] (52ms)
(15308) [FG] binding: c:\Users\user\.vscode\extensions\ms-python.vscode-pylance-2022.8.10\dist\typeshed-fallback\stdlib\builtins.pyi (20ms)
(15308) [FG] binding: c:\Users\user\AppData\Local\Temp\tttt\a.py (1ms)
[Info  - 19:12:37] (15308) Background analysis(1) root directory: c:\Users\user\.vscode\extensions\ms-python.vscode-pylance-2022.8.10\dist
[Info  - 19:12:37] (15308) Background analysis(1) started
(15308) Background analysis message: setConfigOptions
(15308) Background analysis message: setImportResolver
(15308) Background analysis message: ensurePartialStubPackages
(15308) Background analysis message: setTrackedFiles
(15308) Background analysis message: markAllFilesDirty
(15308) Background analysis message: setFileOpened
(15308) Background analysis message: analyze
(15308) [BG(1)] analyzing: c:\Users\user\AppData\Local\Temp\tttt\a.py ...
(15308) [BG(1)]   parsing: c:\Users\user\AppData\Local\Temp\tttt\a.py (16ms)
(15308) [BG(1)]   parsing: c:\Users\user\.vscode\extensions\ms-python.vscode-pylance-2022.8.10\dist\typeshed-fallback\stdlib\builtins.pyi [fs read 2ms] (51ms)
(15308) [BG(1)]   binding: c:\Users\user\.vscode\extensions\ms-python.vscode-pylance-2022.8.10\dist\typeshed-fallback\stdlib\builtins.pyi (23ms)
(15308) [BG(1)]   binding: c:\Users\user\AppData\Local\Temp\tttt\a.py (1ms)
(15308) [BG(1)]   checking: c:\Users\user\AppData\Local\Temp\tttt\a.py ...
(15308) [BG(1)]     parsing: c:\Users\user\.vscode\extensions\ms-python.vscode-pylance-2022.8.10\dist\typeshed-fallback\stdlib\typing_extensions.pyi [fs read 1ms] (4ms)
(15308) [BG(1)]     binding: c:\Users\user\.vscode\extensions\ms-python.vscode-pylance-2022.8.10\dist\typeshed-fallback\stdlib\typing_extensions.pyi (1ms)
(15308) [BG(1)]     parsing: c:\Users\user\.vscode\extensions\ms-python.vscode-pylance-2022.8.10\dist\typeshed-fallback\stdlib\typing.pyi [fs read 1ms] (9ms)
(15308) [BG(1)]     binding: c:\Users\user\.vscode\extensions\ms-python.vscode-pylance-2022.8.10\dist\typeshed-fallback\stdlib\typing.pyi (5ms)
(15308) [BG(1)]     parsing: c:\Users\user\.vscode\extensions\ms-python.vscode-pylance-2022.8.10\dist\typeshed-fallback\stdlib\_typeshed\__init__.pyi [fs read 0ms] (8ms)
(15308) [BG(1)]     binding: c:\Users\user\.vscode\extensions\ms-python.vscode-pylance-2022.8.10\dist\typeshed-fallback\stdlib\_typeshed\__init__.pyi (5ms)
(15308) [BG(1)]     parsing: c:\Users\user\.vscode\extensions\ms-python.vscode-pylance-2022.8.10\dist\typeshed-fallback\stdlib\abc.pyi [fs read 1ms] (2ms)
(15308) [BG(1)]     binding: c:\Users\user\.vscode\extensions\ms-python.vscode-pylance-2022.8.10\dist\typeshed-fallback\stdlib\abc.pyi (0ms)
(15308) [BG(1)]     parsing: c:\Users\user\.vscode\extensions\ms-python.vscode-pylance-2022.8.10\dist\typeshed-fallback\stdlib\__future__.pyi [fs read 0ms] (0ms)
(15308) [BG(1)]     binding: c:\Users\user\.vscode\extensions\ms-python.vscode-pylance-2022.8.10\dist\typeshed-fallback\stdlib\__future__.pyi (1ms)
(15308) [BG(1)]     parsing: c:\Users\user\.vscode\extensions\ms-python.vscode-pylance-2022.8.10\dist\typeshed-fallback\stdlib\collections\abc.pyi [fs read 0ms] (0ms)
(15308) [BG(1)]     binding: c:\Users\user\.vscode\extensions\ms-python.vscode-pylance-2022.8.10\dist\typeshed-fallback\stdlib\collections\abc.pyi ...
(15308) [BG(1)]       parsing: c:\Users\user\.vscode\extensions\ms-python.vscode-pylance-2022.8.10\dist\typeshed-fallback\stdlib\_collections_abc.pyi [fs read 0ms] (1ms)
(15308) [BG(1)]       binding: c:\Users\user\.vscode\extensions\ms-python.vscode-pylance-2022.8.10\dist\typeshed-fallback\stdlib\_collections_abc.pyi (1ms)
(15308) [BG(1)]     binding: c:\Users\user\.vscode\extensions\ms-python.vscode-pylance-2022.8.10\dist\typeshed-fallback\stdlib\collections\abc.pyi (2ms)
(15308) [BG(1)]   checking: c:\Users\user\AppData\Local\Temp\tttt\a.py (89ms)
(15308) [BG(1)] analyzing: c:\Users\user\AppData\Local\Temp\tttt\a.py (181ms)
(15308) Background analysis message: resumeAnalysis

Transferring to the pyright project since this is a core type checker issue.


Update to bitintr 0.2

This just updates to bitintr 0.2, I had to recreate the trait that was used, but that's the only big change, just a lot of renaming otherwise.
Not sure if this is really needed as I'm not sure whether there are any functional differences between bitintr 0.1 and 0.2, but thought I'd send across a pull request anyway.

LGTM. What are you using bitintr for?

I'm working my way through Physically Based Rendering and they use Morton codes to create a BVH, I thought it'd probably be better to use an existing library than hoping I'd got all the bitshifting and low-level code right 😄

I wanted to split those into their own crate, and maybe have a more user friendly "MortonIdx" type that you can just work on (e.g. do "pointwise arithmetic", query the "level" within the tree, etc.), with the aim of building a quad-tree library on top of it (I have never used morton codes with BVH, does the BVH creation algorithm use an octree ?)

They show how quite a few BVH construction algorithms work, the one that uses Morton indices is a HLBVH that builds the tree in parallel and uses the Morton codes to do quick radix sorting on the shapes, not sure if that's similar to an octree?
The code is here if you're interested in it - can't guarantee it's the easiest or best code to read through as I'm still new to a lot of these concepts.

Thanks, I always wanted to go through pbrt. I guess it is time :D


[18.09 backport] Bump to golang 1.12.9

built on top of / replaces https://github.com/docker/swarmkit/pull/2836 [18.09 backport] Switch to go 1.11
closes https://github.com/docker/swarmkit/pull/2836 [18.09 backport] Switch to go 1.11
backports of:

https://github.com/docker/swarmkit/pull/2752 Switch to go 1.11
https://github.com/docker/swarmkit/pull/2880 Bump to golang 1.12.9

cherry-picks were clean; no conflicts
# https://github.com/docker/swarmkit/pull/2752 Switch to go 1.11
git cherry-pick -s -S -x fd2d7f2ef925282e8cd2920efa253151749102ad

# https://github.com/docker/swarmkit/pull/2880 Bump to golang 1.12.9
git cherry-pick -s -S -x daf87201f686710974b282d4c0b0c8422e55dac9 \
	be528e80a841ae89e1bd7539201f12c4de496ab3 \
	43fac9c8049f7dd2ae42d87f60d2a88f86f63853 \
	42085d2f8e43a3ed90ed289d3f3ed3de57837100

ping @dperny @kolyshkin PTAL 🤗

oh; actually; just realised that the 18.09 engine is not yet on Go 1.12.x, so let me mark this one as "WIP" so that we can merge the Go 1.11. bump first.
This also looks to be failing; may need a backport of something else;
panic: Log in goroutine after TestWorkerUpdate has completed

goroutine 2289 [running]:
testing.(*common).logDepth(0xc0001da500, 0xc00042ebc0, 0x1d, 0x3)
	/usr/local/go/src/testing/testing.go:634 +0x51a
testing.(*common).log(...)
	/usr/local/go/src/testing/testing.go:614
testing.(*common).Log(0xc0001da500, 0xc0003e5998, 0x1, 0x1)
	/usr/local/go/src/testing/testing.go:642 +0x79
github.com/docker/swarmkit/agent.(*mockTaskController).Remove(0xc00025af90, 0x1372d60, 0xc0000b4010, 0xfe04b7, 0x1a91c58)
	/home/circleci/.go_workspace/src/github.com/docker/swarmkit/agent/worker_test.go:604 +0x8e
github.com/docker/swarmkit/agent.reconcileTaskState.func1(0xc0002f3a40)
	/home/circleci/.go_workspace/src/github.com/docker/swarmkit/agent/worker.go:268 +0x145
created by github.com/docker/swarmkit/agent.reconcileTaskState
	/home/circleci/.go_workspace/src/github.com/docker/swarmkit/agent/worker.go:311 +0x1a6f
FAIL	github.com/docker/swarmkit/agent	9.327s
make: *** [coverage] Error 1

Hm. so the last commit was meant to fix that; apparently that didn't work 🤷♂

ok, this is green now


Split tests

I don't like how this creates a situation in which tests are duplicated - represented once in the https://github.com/simonw/strip-tags/blob/9a266bf611e34e5c8e3bac44c328205b7eb764a0/tests/test_cli/cases.yaml and then often again in https://github.com/simonw/strip-tags/blob/9a266bf611e34e5c8e3bac44c328205b7eb764a0/tests/test_lib/test_lib.py
I'm open to better ways of reusing the YAML tests to exercise the strip_tags() Python function though - this current solution is a bit of an unpleasant hack:
https://github.com/simonw/strip-tags/blob/b8ec4c8c002ef227f7af5f77bc0c2ab65ae010d6/tests/test_strip_tags.py#L36-L72

My opinion is testing the functionality/correctness of should be done against the library, and testing the CLI should just be to confirm that the flags work as expected.
Basically use the CLI tests for broad, end-to-end type testing, use the lib tests for certifying correctness, edge cases, etc.

I don't have much of a problem with the current situation of duplicate tests, as the existing tests are cheap to leave in place, and easy to remove in the future if nessesary.
As far as YAML vs some other method, the thing I don't love about using YAML is you lose the ablity to do type checking, which is not relevant CLI testing but is more of a problem for library testing.


Added multiple digit seven segment display

Added a seven segment display which supports multiple digits: https://editor.p5js.org/full/SkqBEHGs7

Yeah but I can't see what is wrong, some new line?

I like how github adds them automatically lol

Nice work! 👍🏻

Speaking of things that GitHub does automatically: It would be awesome if the tests could mark the lines that contain errors in the PR by itself! I'll have to look into that... 🤔


Split mirage into irmin-mirage, irmin-mirage-git and irmin-mirage-graphql

Fixes #685

Looks good, thanks! I'll create a separate issue to keep track of the use of last_modified


computed added in observable latter doesn't seem to track

When adding a computed in an existing observable, I expected the same behaviour than creating an observable with a computed.
https://codesandbox.io/s/sandpack-project-forked-pnggt4?file=/App.js
Not sure if it is intended or logical. Sorry for the noise if that is the case.

Hi @mathieucivel! There's a couple issues in your example:

You're creating observables directly in a React component, which will create brand new observables every time it runs. You can use useObservable and useComputed or move them out of the component.
The component is not observing changes, so it will not re-render when it changes. You can wrap the component in observer to make it track get() calls and update when they change.

I made a little fork of your example that does track correctly: https://codesandbox.io/s/sandpack-project-forked-wnqtzt
But to your main point:
Legend-State doesn't support setting or assigning computed values - they're only extracted within the constructor. Although it could be fairly easy to support the simple cases you've shown, there are more complex cases that would cause problems. The main problems are:

Supporting computeds assigned deep in a hierarchy would require processing all hierarchy of incoming sets. We currently optimize setting to only processed children that have changed from the previous value. To support this we'd have to remove those optimizations, which could slow all sets. As an example:

state.set({
  child: {
    grandchild: {
      tinybaby: computed(...)
    }
  }
})

What would it mean to set a computed over a previous computed? Would it delete the old one and replace it with the new one? Or should it somehow replace the compute function of the original one? If so, should it update immediately? What would happen to the listeners of the previous computed? You may want to keep them if the computed is basically the same but if it's totally different the original listeners would probably not want the new value. We could throw an error if overwriting a computed, but that might not be great either. There's a lot of strange edge cases there that get confusing...

const state = observable({
  compy: computed(() => A + B)
})
state.set({
  compy: computed(() => C + D)
})

We haven't been able to think of any scenarios where it would be important to add them later, so at least for now we're requiring they be created in the constructor. Do you have some scenarios where it would be important for you? If so we may want to rethink this and try to find a good solution.

Thank you for taking the time to answer. And thanks for pointing the issues of the example, that confirmed my understanding (I've latter tried to move the state initialisation outside the component and the effect was the same. As the component was intended to be rendered once I've just let the example as is).
I don't have a strong scenario where computed needs to be added or updated dynamically. In my case I can create computed before creating an observable.


[WIP] defaults take precedence over fallbacks causing a misleading situation

Before proceeding with fixing the issues (even if I would need help with that) I opened a pull request with a failing test to explain it better.
The failing test is on line 28 (https://github.com/svenfuchs/i18n/compare/master...coorasse:add_fallback_issue_example#diff-514ab2ee25f5643b31473b6383cf04e7R28) and, as you can see, it shouldn't fail, since the test on the previous line works fine.
In other words: if I have a string translated, I don't expect it not to be translated because I add a default value.
That unfortunately happened in our Rails app and took me some time to dig into the issue.
Funny fact: when using a Chain backend I18n.backend = I18n::Backend::Chain.new(Backend.new, I18n::Backend::Simple.new) the same does not happen since the default options are passed only to the last backend of the chain.

Probably fixed by #415. Let us know if it isn't!


user-select prefix in debian Firefox ESR 45

In debian Firefox ESR 45 the user-select style of body do not have -moz- prefix and on dragging the text from other divs is selecteing.

It seems I got mis-leaded and the problem was from somewhere else. Sorry for the noise!


Fix for Laravel 5.4

Laravel 5.4 drops support for $app->share() favouring $app->singleton() instead.

Hi! Thanks for your PR.
What is the benefit of this fix compared to #32?

Ok, it works with PHP 5.4 :)
I suppose you tested your fix with Laravel 5.4?

I locally modified my vendor/ file while upgrading to L5.4 with this change which seemed to run ok. Happy to favour #32 if you'd rather keep PHP reqs in line with Laravel (just figured if you'd prefer to keep this compatible with L5.3 too then share to singleton should do that).

Not at all ;-)

Thanks for this fix @alextripiq


Hosts social link website url fix

Hosts website url was prepending the github url, so removed the hardcoded github url

Thanks @robbierotman but I'm seeing this as already fixed in the codebase. Not sure when or how, but thank you.


Projection requires .net interfaces

This may be a bug in the winmd parser, so cc @DefaultRyan
Setup:

.net Windows runtime component with a single class MyClass
produce the winmd (change the output type to runtime component in project properties)
Reference it from a C++/WinRT project, add it to the list of winmds considered for component generation:   <CppWinRTMdMergeInputs Include="$(SolutionDir)bin\$(Configuration)\MyAssembly.winmd">
     <IsWinMDFile>true</IsWinMDFile>
   </CppWinRTMdMergeInputs>

Implement the class in C++/WinRT - observe the error about MyClass  not implementing ToString()

The metadata has two copies of MyClass, one for .net and one for winrt; it seems the winmd parser isn't filtering out the .net metadata correctly.
Looking at MyClass.g.h:
    template <typename D, typename... I>
    struct __declspec(empty_bases) MyClass_base : implements<D, MyAssembly::MyClass, winrt::Windows::Foundation::IStringable, I...>

Note how it calls out IStringable.

This seems like not a bug to me - the .NET Framework WinRT support will add IStringable to the generated metadata of every C# Windows Runtime class, because every C# class has ToString via System.Object. It may be unexpected if trying to produce from cppwinrt a class whose metadata was defined in C#, but all tooling agrees that MyClass does implement IStringable. At runtime, if using a C# implementation of that class, it will of course succeed and end up calling System.Object.ToString
It seems there is another bug in mdmerge where it doesn't like the CompilerGenerated attribute in the C#-generated winmd, but it seems exclusive to mdmerge, as C++/CX, winmdidl, C++/WinRT all handle/ignore this attribute with no issues.

Yes, its not obvious this is a bug in cppwinrt.


root

thx for fast response and very good plugin
plz this our notes about plugin and its very nice if u added root because we have more than parent tracker
1-  translation missing: en.label_rootissue
2- if u can add root tracker
3- if u can add root status
@jcatrysse

1- translation missing: en.label_rootissue
2- if u can add root tracker
3- if u can add root status

That should be ok now. But please verify because those new filters were a bit complicated 😅

I made some more internal corrections, just pull again to be on the safe side.

I'm pull before 5 hours
Pull again are u make changes now?!!

The last commit was 7 hours ago Commit: fd00b7debae2e1e67d4825a0b66fc656fc6a9ed1

perfect work
perfect plugin


added code for sorting an array of 0 and 1

plz bhai accept it with hacktoberfest-accepted label

chutiya hai kya saale


Release Cadence added

Codecov Report

Merging #604 (ce7bcc8) into main (c054753) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #604   +/-   ##
=======================================
  Coverage   58.54%   58.54%
=======================================
  Files          59       59
  Lines        1399     1399
  Branches       52       52
=======================================
  Hits          819      819
  Misses        580      580

Continue to review full report at Codecov.

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

🚀🚀🚀 Benchmark Results
Concurrency: 256
Requests/sec: 439800.43

🚀🚀🚀 Benchmark Results
Concurrency: 256
Requests/sec: 443474.04

🚀🚀🚀 Benchmark Results
Concurrency: 256
Requests/sec: 436338.84

🚀🚀🚀 Benchmark Results
Concurrency: 256
Requests/sec: 425553.16

🚀🚀🚀 Benchmark Results
Concurrency: 256
Requests/sec: 435986.75

🚀🚀🚀 Benchmark Results
Concurrency: 256
Requests/sec: 434793.77

🚀🚀🚀 Benchmark Results
Concurrency: 256
Requests/sec: 442771.78

🚀🚀🚀 Benchmark Results
Concurrency: 256
Requests/sec: 435635.02

Run through spell check and Grammarly once.

🚀🚀🚀 Benchmark Results
Concurrency: 256
Requests/sec: 434049.41

🚀🚀🚀 Benchmark Results
Concurrency: 256
Requests/sec: 444486.63

🚀🚀🚀 Benchmark Results
Concurrency: 256
Requests/sec: 423514.25

Keeping an internal document for this.


Flash of site without CSS

When I first load the site I get a small flash of the version of the site on the left hand side of the screen. It appears to be the site without CSS applied. When I refresh the page I get the same effect but quicker. When I choose a page I get the same result.
I made a video to demonstrate, because it's hard to explain.
Thanks
Paul
https://www.dropbox.com/s/cxjbzm2ovvxu45n/Screen Recording-vite-2021-07-25 at 9.15.35 PM.mov?dl=0

I am using a beta operating system. Apple's Monterey, so that may be the issue. I can't test on a non-beta Mac because mine are all using the beta. So if the solution is not obvious, I say we blame it on the beta and I'll submit a bug report to them.

That seems to be normal behavior in dev mode, actually. Happens on both this repo and my main site repo. Even though Vite loads its server first, it appears to take a moment for Eleventy to get the generated CSS in its head and then produce the proper appearance. Fortunately, this doesn't happen in production.

I knew I forgot to check something. Thanks for clearing it up. I will close this now.

To properly explain the behaviour. In development there is no css file linked in the head which would block rendering. Vite serves assets via it's javascript file, which due to being an es module is implicitly and non-reversably set to defer. So no matter where the script is placed the page will always start rendering while the vite js and therefore the css of the project is still loading.

To properly explain the behaviour. In development there is no css file linked in the head which would block rendering. Vite serves assets via it's javascript file, which due to being an es module is implicitly and non-reversably set to defer. So no matter where the script is placed the page will always start rendering while the vite js and therefore the css of the project is still loading.

@LostKobrakai — thanks for that explanation!


Unable to play downloaded video using QuickTime Player on macOS. Video generated uses Google vp9 encoding method, not generic encode (H.264/265)

Checklist

[X] I'm asking a question and not reporting a bug/feature request
[X] I've looked through the README
[X] I've read the guidelines for opening an issue
[X] I've searched the bugtracker for similar questions including closed ones

Question
When I tried to play the video downloaded using yt-dlp, an error message occured:

I also cannot play the downloaded file on iOS devices.
However, I can play the video using other player, such as IINA on macOS. I found that the video encoding is vp9 (Google vp9), not a generic format such as H.264/265

For comparison, this is a youtube video downloaded using another web-based download tool, which uses H.264 encode, and it can be properly played using QuickTime Player or iOS device.

I am using the following lines in configuration file for encoding:
--merge-output-format mp4
--recode-video mp4
What encoding configuration is needed to properly encode the downloaded video, so that it can play on any device without specialized player?
Verbose log
No response

Idk what your player supports, or why it can't play vp9. Even web browsers can play vp9!. Assuming only h264 is supported, you'd do this: -S codec:h264:m4a


I can request over maximum rate limit

I set rate limit 5 request / 1 min
but sometime I can sent request over maximum rate.
I log available tokens of bucket and I look something wrong.
Sometime (I wait 5 sec before 1 request) when pass 30sec avaliable token reset to 5 request but
I fix
Refill.intervally(5, Duration.ofSeconds(60)) (wait for timeout reset avaliable token)
Bandwidth.classic(5,Refill.intervally(5, Duration.ofSeconds(60)))

Issue is how can I fix this issue because avaliable token of bucket should be reset when pass 1 min.
I use bucket-core and bucket4j-jcache version 4.0.1
This is some part of my log. I start first request is 15:11:39 avaliable is 5 and the last request is 15.12.08 (pass after first request 29 sec) but avaliable token is 5.
RateLimitingFilter  : available: 5 time: 15:11:39.563
RateLimitingFilter  : ########################################
RateLimitingFilter  : available: 4 time: 15:11:46.840
RateLimitingFilter  : ########################################
RateLimitingFilter  : available: 3 time: 15:11:53.820
RateLimitingFilter  : ########################################
RateLimitingFilter  : available: 2 time: 15:12:01.482
RateLimitingFilter  : ########################################
RateLimitingFilter  : available: 5 time: 15:12:08.235
RateLimitingFilter  : ########################################

Hello @maetinee
Please provide a self-executable example of the problem.

first round request 3 request (5sec send 1 request) and wait for timeout.

@maetinee provided information is not helpful enough for diagnosing. I need to view(and run) the code.
You can start from ignoring JCache(and particular vendor) at all by using just a local bucket and mock clock. For example:
package io.github.bucket4j;

import java.time.Duration;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicLong;

public class X {

    public static void main(String[] args) {
        AtomicLong currentTimeNanos = new AtomicLong();

        TimeMeter ticker = new TimeMeter() {
            @Override
            public long currentTimeNanos() {
                return currentTimeNanos.get();
            }

            @Override
            public boolean isWallClockBased() {
                return true;
            }
        };

        Bucket bucket = Bucket4j.builder()
                .addLimit(Bandwidth.classic(5, Refill.intervally(5, Duration.ofSeconds(60))))
                .build();

        currentTimeNanos.set(TimeUnit.SECONDS.toNanos(7));
        bucket.tryConsume(1);
        System.out.println(TimeUnit.NANOSECONDS.toSeconds(currentTimeNanos.get()) + " - " +
        bucket.getAvailableTokens());

        currentTimeNanos.set(TimeUnit.SECONDS.toNanos(14));
        bucket.tryConsume(1);
        System.out.println(TimeUnit.NANOSECONDS.toSeconds(currentTimeNanos.get()) + " - " +
        bucket.getAvailableTokens());

        currentTimeNanos.set(TimeUnit.SECONDS.toNanos(21));
        bucket.tryConsume(1);
        System.out.println(TimeUnit.NANOSECONDS.toSeconds(currentTimeNanos.get()) + " - " +
        bucket.getAvailableTokens());

        currentTimeNanos.set(TimeUnit.SECONDS.toNanos(28));
        bucket.tryConsume(1);
        System.out.println(TimeUnit.NANOSECONDS.toSeconds(currentTimeNanos.get()) + " - " +
        bucket.getAvailableTokens());

        currentTimeNanos.set(TimeUnit.SECONDS.toNanos(35));
        bucket.tryConsume(1);
        System.out.println(TimeUnit.NANOSECONDS.toSeconds(currentTimeNanos.get()) + " - " +
        bucket.getAvailableTokens());
    }

}

If you can not reproduce the problem via mocks but can reproduce via real code then provide it. Most likely in this case issue is related to JCache implementation vendor, anyway without a self-executable example I will not be able to help/

ok thank

@vladimir-bukhtoyarov I will try mock this proble and I cand reproduce via mocks.

@maetinee  at the timepoint 100 lastRefillTime was set to 60 independently from the fact that it was passed 80 seconds between interactions. This is how Refill.intervally was designed to behave, in your example, you always have a fixed time window between refill 60, 120, 180, 240, 300, etc. So refilling up to 5 tokens at the time point 120 is legal according to the math model. If I understand correctly you were expected that the refill timepoints sequence should be reset because of long inactivity interval (between 20 and 100 has passed 80 seconds).
Let me describe why current behavior is correct:
The token-bucket can be described as following:

N tokens are added to the bucket every M seconds.
The bucket can hold at the most C tokens. If a token arrives when the bucket is full, it is discarded.
When you create Refill.intervally(5, Duration.ofSeconds(60)) at the moment of time T you get the bucket which tries to refill tokens in the following sequence T+60,T+120,T+180,T+240, etc. Of course, because of the performance penalty, under the hood, there is no background thread that does this, but Bucket4j just emulates it. So there is no bug, Bucket4j works according to its math model.

But if you still required in resetting the refill sequence after a long inactivity period then I can extend the intervally refill, in the way something like the following:
public static Refill intervally(long tokens, Duration period, boolean resetRefillSequenceAfterLongInactivityPeriod) {
        ...
}

I will be able to release it at weekends under the version 4.11

@vladimir-bukhtoyarov thank you so mush

@vladimir-bukhtoyarov sorry, I don't sure about concept of this bucket.
You mean after first request token will be reset when sec are 60,120,180,240 right.

To be more accurate: there is no resetting. There is a continuous refill that can be treated as a background process.

I am confused also about how bandwidth works. I created a very very simple bucket. Which accepts 3 requests every 60 seconds. But with this bucket, I am able to consume 5 times the bucket in 50 sec.
Here is the sample reproduces code:
    Bucket bucket = Bucket4j.builder().addLimit(Bandwidth.simple(3, Duration.ofSeconds(60))).build();         System.out.println(bucket.getAvailableTokens());         assertTrue(bucket.tryConsume(1));         Thread.sleep(10000);         System.out.println(bucket.getAvailableTokens());         assertTrue(bucket.tryConsume(1));         Thread.sleep(10000);         System.out.println(bucket.getAvailableTokens());         assertTrue(bucket.tryConsume(1));         Thread.sleep(10000);         System.out.println(bucket.getAvailableTokens());         assertTrue(bucket.tryConsume(1)); // <-         Thread.sleep(10000);         System.out.println(bucket.getAvailableTokens());         assertTrue(bucket.tryConsume(1));         Thread.sleep(10000);         System.out.println(bucket.getAvailableTokens());         assertTrue(bucket.tryConsume(1));         Thread.sleep(10000);         System.out.println(bucket.getAvailableTokens());         assertTrue(bucket.tryConsume(1));
Resılt
3 2 2 1 1 0
@vladimir-bukhtoyarov

@ykalayy explanation is the same https://github.com/vladimir-bukhtoyarov/bucket4j/issues/128#issuecomment-705351470

@vladimir-bukhtoyarov Yes I missed that. I got it very thanks for the explanation


Strange behaviour with floats

Consider the following simple definition:
module TEST-SYNTAX
  syntax Exp ::= Int | Float
  syntax Stmt ::= Id "=" Exp ";"
endmodule

module TEST
  imports TEST-SYNTAX
endmodule

For the input a = 0.0; it works fine:
$ kompile test.k
$ krun ex.test
<k> a = 0e+00 ; </k>

Instead, for the input a = 0.1; it gives the following error message:
$ krun ex.test
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGILL (0x4) at pc=0x00000001241f6adb, pid=11916, tid=6403
#
# JRE version: Java(TM) SE Runtime Environment (8.0_60-b27) (build 1.8.0_60-b27)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.60-b23 mixed mode bsd-amd64 compressed oops)
# Problematic frame:
# C  [libmpfr_java-64-2300459451087067447.jnilib+0xbaadb]  __gmpn_popcount+0x5b
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /Users/dlucanu/Documents/temp/testk/float/hs_err_pid11916.log
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
/Users/dlucanu/k/k-distribution/target/release/k/bin/../lib/k: line 23: 11916 Abort trap: 6           java -Djava.awt.headless=true $K_OPTS -ea -cp "$(dirname "$0")/java/*" org.kframework.main.Main "$@"

A similar error is obtained with the input a = 0.1f;.
With the input a = 0.31e+2; it works fine:
$ krun ex.test
<k> a = 3.1e+01 ; </k>

but with the input a = 0.314e+2; it gives again an error:
$ krun ex.test
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGILL (0x4) at pc=0x000000011a490adb, pid=12549, tid=5891
#
# JRE version: Java(TM) SE Runtime Environment (8.0_60-b27) (build 1.8.0_60-b27)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.60-b23 mixed mode bsd-amd64 compressed oops)
# Problematic frame:
# C  [libmpfr_java-64-8798624540130436044.jnilib+0xbaadb]  __gmpn_popcount+0x5b
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /Users/dlucanu/Documents/temp/testk/float/hs_err_pid12549.log
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
/Users/dlucanu/k/k-distribution/target/release/k/bin/../lib/k: line 23: 12549 Abort trap: 6           java -Djava.awt.headless=true $K_OPTS -ea -cp "$(dirname "$0")/java/*" org.kframework.main.Main "$@"

I used the last version:
$ kompile --version
K framework version 4.0-beta4-SNAPSHOT
Git revision: f587a40
Git branch: master
Build date: Mon Jan 18 18:38:56 EET 2016

The version 3.6 has the same behaviour.

This looks like a bug in the MPFR java bindings. I will look into this when I have some time.

This is on Mac OS, correct?

Thanks. It would be nice to fix it in 3.6 as well. I use it for teaching.
Yes, it is a Mac OS. The OS is El Capitain 10.11.2.

Okay. Can you tell me the exact processor your computer has?

Hardware Overview:
Model Name:	MacBook Pro
Model Identifier:	MacBookPro7,1
Processor Name:	Intel Core 2 Duo
Processor Speed:	2,4 GHz
Number of Processors:	1
Total Number of Cores:	2
L2 Cache:	3 MB
Memory:	8 GB
Bus Speed:	1,07 GHz
Boot ROM Version:	MBP71.0039.B0E
SMC Version (system):	1.62f7
Serial Number (system):	W802926PATP
Hardware UUID:	5D811644-45B9-521A-A09F-8E621C97055E
Sudden Motion Sensor:
State:	Enabled

Any news?

Apologies, I didn't see your update with the hardware info. In order for me to determine whether this is affecting all machines or just your machine, I need to be able to test on another Mac, unfortunately, I am out of the office for the week and away from the development Mac we usually use.
@andreistefanescu can you please test this for me quickly and let me know if you can reproduce it?

It seems the same problem is on some linux machines.
I asked my students to use Windows machine for the examples with floats, but this is far to be a fair solution.

I know little about how we use the MPFR Java bindings. @dlucanu, is MPFR required for your problem?
@andreistefanescu, you probably know more about this. Are the MPFR bindings actually required in most cases or are we simply using them because they are available? It may be good to have the common case not use non-Java libraries.

I need an implementation of floats in order to execute algorithms from computational geometry. Any implementation that works on all platforms is fine for me. Note that there are more than 400 students that have to use K Tool to execute the taught algorithms.


CQ-4308112 - [SiteTemplate] Namespace the theme env vars

prefix env vars:
SITE -> AEM_SITE
URL -> AEM_URL
EXPIRATION -> GIT_HASH_EXPIRATION
HASH -> GIT_HASH

@basecode version updated in https://github.com/adobe/aem-site-template-basic/pull/15/commits/644e3e1667bdcce65368e6fead86d8f4a609efdd

There is conflict in package.json against main branch as in mean time there was updated of theme-builder from 2.0.2 to 2.0.4. Please resolve the conflict.

@bartoszglow

Please resolve the conflict.
I just did.


Add pools(cspc) listing feature to the present CLI.

What will this PR do?

This will add the placeholder for addition of pools related features.
This will add a new command  kubectl openebs cStor pool list for listing the CSPIs.

The command and it's output
k8s@master-sh2:~openebsctl$ kubectl openebs cStor pool list
Name                  Namespace  HostName     Free    Capacity   ReadOnly  ProvisionedReplicas  HealthyReplicas  Status  Age
----                  ---------  --------     ----    --------   --------  -------------------  ---------------  ------  ---
cstor-storage-1-2dr2  openebs    worker-sh23  48200M  48200226k  false     0                    0                ONLINE  3h11m
cstor-storage-1-xhlh  openebs    worker-sh1   48200M  48200221k  false     0                    0                ONLINE  2h42m
cstor-storage-fq44    openebs    worker-sh23  48200M  48205630k  false     1                    1                ONLINE  3d22h

Please fix the build errors viz

golint errors (GoLand does a really bad job in running golint, gofmt, etc or maybe I don't know how to configure it correctly yet)
the copyright header is missing in the test files, so the Verify license stage is failing
run go mod vendor and check-in the go.mod & go.sum files once again to fix below errors in CI as steps run GoLint, here're the some errors from the build

go/build: go list github.com/openebs/openebsctl/kubectl-openebs: exit status 1
go: inconsistent vendoring in /home/runner/work/openebsctl/openebsctl:
<EMAIL_ADDRESS>is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
<EMAIL_ADDRESS>is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
<EMAIL_ADDRESS>is marked as explicit in vendor/modules.txt, but not explicitly required in go.mod


System tray

Describe the bug
The system tray icon dissapears upon showing the application
To Reproduce
Steps to reproduce the behavior:

Go to 'system tray' when application is closed and click show

Expected behavior
The system tray icon should stay when opened

Describe the bug
The if other windows are clicked the application window stays prioritised all the time and only solution is to close it
To Reproduce
Steps to reproduce the behavior:

Open application
Click on other windows from other applications

Expected behavior
The application window should go behind the one that is clicked


Replace useless notifications view and hide count

I don't know about yours, but my Notifications view looks like this:

Do you see anything that I should be notified about? I don't. It's become a duplicate Newsfeed.
Today I had "7 notifications" and none of them actually mentioned me or was in any way related to me.
How about redirecting "Notifications" to "Mentions" (which is the old notifications minus "Person liked/retweeted/followed you") and dropping the useless notifications count from the tab.

I like the idea, but I think it's going to be quite controversial. Let's hear what the other maintainers think. // @filipekiss @jorgegonzalez

I don't mind the redirect to the "Mentions" tab, but dropping the notifications count from the tab might be a problem, because I don't think there's a way to alert the user when he was mentioned and we could impact people in a negative way ("I missed a mention because I don't have the notifications indicator anymore").
Maybe we can do the redirect and add an opt-out if the user don't want to hide the notification count?

Exactly my point. I often peek at the tweet tab only to check if there's messages or notifications, otherwise I won't bother. I've tweaked my settings to show me only notifications I'm interested about, so things like "Recent Tweets from John Doe" don't even appear.

Alternatively, it could target and hide the useless events directly:
for (const button of document.querySelectorAll('.ActivityItem-dismissOption')) {
	button.click()
	button.closest('.stream-item').remove()
}

I'm not seeing this anymore


Usemin customisation

I've noticed that the 'publish' and 'intermediate' paths are hardcoded into the usemin.js tasks file. Is there not a way to pass extra parameters in the grunt.js file to update these paths?
I'd prefer to call intermediate -> staging, and publish -> production, but when the build script gets to the phase where it updates the html files with the new paths, and it fails due to the paths being hardcoded and not being taken from the grunt file, like the rest of the tasks. Is there a way to update this?
I'd try myself, but i'm not sure how to overwrite the installed files. Do i just npm install -g from the node folder to overwrite the files?

You're absolutely true, these paths should be pulled in from grunt configuration. By the time I wrote this task, I didn't know that grunt's configuration could be used that way but config('prop') should be used to read from the grunt config necessary values and eventually the gruntfile values.
If you'd like to edit the installed files and be able to work on it, you may want to install the package by cloning the repo and running npm link.
npm uninstall -g html5-boilerplate
git clone git://github.com/h5bp/node-build-script.git
cd node-build-script
npm link

This is handy for installing your own stuff, so that you can work on it and test it iteratively without having to continually rebuild.
Anyway, thank you for pointing this out!

Uninstalled the original, and linked my forked version with node package manager. I'll have to study how everything works as there seems to be a fair few references to the intermediate and publish paths in different files.
Ideally, the output paths would be defined by constants at the top of the grunt.js file, and then the constant variables used for each task that requires them.
Can you tell me a bit more about config('prop') or is there a reference to it in the documentation somewhere?

Hey @KingScooty, sorry for the response delay.

Ideally, the output paths would be defined by constants at the top of the grunt.js file, and then the constant variables used for each task that requires them.

I totally agree with that. I'm thinking about top-level configurations variables like staging and output for our case which would defaults to intermediate/ and publish/.
It surely will require to slightly edit or rewrite some of the tasks to take this new config values into account.
config.init({
    staging: 'intermediate/',
    output: 'publish/',

    ... // the rest of tasks configurations
});

That way, tasks will be able to get back this values by using config('staging') and config('output'). Most of the tasks use config subprop (the keys under `config('clean') etc.) to resolve the directory to work with, that will need to change a little bit.
config object in grunt could be used as a getter or setter, fell free to browse the related file for further info, grunt's sources are really well documented. I'm even thinking of using the config object to store temporary values so that we can use "dynamic variables" from other tasks (may be handy for the usemin task in particular, where the list of assets that have been optimized needs to be replaced in html files, with the correct hash etc.)
If I can get the chance, I would like to add the necessary tests for this issue today (latest developments happen in the dev branch mainly with a starting test suite, will hopefully be merged into master fairly soon).
Cheers,

Hey @KingScooty, sorry for the response delay.

No worries, buddy! I've been crazy busy at work myself, so haven't had time to read up on the grunt documentation. I'm so eager to get this project moving though; there's so much power available when compared to the ant build script!

I totally agree with that. I'm thinking about top-level configurations variables like staging and output for our case which would defaults to intermediate/ and publish/.

I agree with those top-level variable names! They definitely make more sense than intermediate and publish. Dynamic variables would be really nice, that opens up more possibilities for html replacement!
I'll browse that grunt config file and keep an eye on the dev branch as i'm still a little curious how everything links together via tasks.
Oh, and a head's up: underscore.js doesn't seem to be parsing the <%= %> tags when writing dynamic banners:
pkg: '<json:package.json>',
meta: {
  banner: '/*! <%= pkg.title || pkg.name %> - v<%= pkg.version %> - ' +
    '<%= template.today("m/d/yyyy") %>\n' +
    '<%= pkg.homepage ? "* " + pkg.homepage + "\n" : "" %>' +
    '* Copyright (c) <%= template.today("yyyy") %> <%= pkg.author.name %>;' +
    ' Licensed <%= _.pluck(pkg.licenses, "type").join(", ") %> */'
},

I am working on this issue right now :)

I agree with those top-level variable names! They definitely make more sense than intermediate and publish. Dynamic variables would be really nice, that opens up more possibilities for html replacement!

I ended up with something that match pretty much what you're saying here. Removed most of the hardcoded publish and intermediate values from the config file by adding a little more code to prepend / append the necessary value from staging and output values to the final configuration object.
Will push soon so that you can play around with it, I'm just completing the test for this case.
I still need to update the usemin task to pull in the staging / output values from config.

@KingScooty Should be all ok now :p
See e93937998d6d556def721acc9a41dc8b753e19cb and 1a2101275bd56ab6bd1396d7e58b7c6078018691 for the most relevant changes

Working! I had to add another prefix to the usemin.js file:
output = path.resolve(config('output')),
cssdir = path.join(output, 'static/css'),
imgdir = path.join(output, 'static/img'),
jsdir = path.join(output, 'static/js');

In order for it to detect static assets inside a /static/ folder. But that's working nicely!
I've been looking into a nice solution for switching between non-minified and minified versions of jQuery, something that doesn't require the version name to be stored in usemin.js like in this example:
log.writeln('switch from a regular jquery to minified');
content = content.replace(/<!--\s*Grab Google[\d\w\s\W\n]*<!--\s*end CDN\s*-->/gm, function(match, prefix) {
  return '<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>';
});

Oh, and i've come across a nice node script for generating manifest files:
https://gist.github.com/1307428
Check it out, hopefully it can be integrated into the build script.

@KingScooty Thanks thanks and thanks again for all these feedbacks.

In order for it to detect static assets inside a /static/ folder. But that's working nicely!

I'll look into merging the changes made in #6 today, hopefully that'll catch up your static/ subfolder case so that you don't have to reference this specific folder in the usemin task.

I've been looking into a nice solution for switching between non-minified and minified versions of jQuery

This makes perfect sense however I feel it deserve to be discussed in a separate issue. Could you create one once you got time to do so? Even better, if you already have code for this case, directly issuing a pull request might might allow us to discuss this directly on top of what you came up with :)

Oh, and i've come across a nice node script for generating manifest files: https://gist.github.com/1307428
Check it out, hopefully it can be integrated into the build script.

Aha, I know @k33g pretty well, he's a pretty good friend. I just missed his gist 4 month ago :p I'll definitely look into this.


Rename various types to American spelling

E.g. Analyser -> Analyzer, Dialogue -> Dialog.
Thoughts, @Mafii and @TimJentzsch ?

Honestly, not sure. Don't know what I prefer! Usually, American spelling is the way to go for me (to have consistency with libs and languages) but here, we have a reference... I don't mind either, just consistency would be good!


influx backup: Error: API compatibility check failed: Get "/health": unsupported protocol scheme ""

Steps to reproduce:

have running influxDB
try to make a backup

influx backup  --host localhost --org myorg.lokal   --token "=foo-bar-tralala=" /mnt/bck/myserver/influx/manual_backup_2024-10-11
Expected behaviour:
target backup directory populated with files
Actual behaviour:
backup fails with this message:
$ sudo /root/do_influx_full_backup.sh
Error: API compatibility check failed: Get "/health": unsupported protocol scheme ""

Environment info:

Please provide the command you used to build the project, including any RUSTFLAGS.

no clue, installed from repo:
Web UI: InfluxDB v2.7.10 Server: f302d97 Frontend: a977a9f
...:~/influxDB$ cat /etc/apt/sources.list.d/influxdb.list
deb [signed-by=/usr/share/keyrings/influxdb-archive-keyring.gpg] https://repos.influxdata.com/debian  bookworm stable main

...:~/influxDB$ apt-cache policy influxdb2
influxdb2:
  Installed: 2.7.10-1
  Candidate: 2.7.10-1

...:~/influxDB$ apt-cache policy influxdb2-cli
influxdb2-cli:
  Installed: 2.7.5-1

:~/influxDB$ influx version
Influx CLI dev (git: a79a2a1b825867421d320428538f76a4c90aa34c) build_date: 2024-04-16T14:34:32Z

...:~/influxDB$ apt-cache policy influxdb2-client
influxdb2-client:
  Installed: (none)
  Candidate: 2.7.1-1

...:~/influxDB$ apt-cache policy influxctl
influxctl:
  Installed: (none)
  Candidate: 2.9.7

...:~/influxDB$ apt-cache policy influxdb
influxdb:
  Installed: (none)
  Candidate: 1.8.10-1
  Version table:
     1.8.10-1 500

hm.... uneducated guess: inconsistent versions shipped in the repo?

System info: Run uname -srm or similar and copy the output here (we want to know your OS, architecture etc).
Linux 6.1.0-23-amd64 x86_64
(debian 12.7)

If you're running IOx in a containerised environment then details about that would be helpful.
n/a

Other relevant environment details: disk info, hardware setup etc.
backup target path is a btrfs subvolume

Config:
Copy any non-default config values here or attach the full config as a gist or file.
:~/influxDB$ cat /etc/influxdb/config.toml
bolt-path = "/var/lib/influxdb/influxd.bolt"
engine-path = "/var/lib/influxdb/engine"
# https://community.influxdata.com/t/disabling-or-setting-session-idle-timeout/25207/4
session-renew-disabled = true
session-length = 1440 # session renewal after 1 day
# session-length = 28800 # i.e. 20 days

not sure, I think most errors are from previous mistakes
can't see log entries generated when I try a backup
Oct 11 11:06:56 homeserver influxd-systemd-start.sh[3570388]: ts=2024-10-11T09:06:56.141502Z lvl=info msg="Retention policy deletion check (start)" log_id=0sACX4pW000 service=retention op_name=retention_delete_check op_event=start
Oct 11 11:06:56 homeserver influxd-systemd-start.sh[3570388]: ts=2024-10-11T09:06:56.145880Z lvl=info msg="Pruning shard groups after retention check (start)" log_id=0sACX4pW000 service=retention op_name=retention_delete_check op_name=retention_prune_shard_groups op_event=start
Oct 11 11:06:56 homeserver influxd-systemd-start.sh[3570388]: ts=2024-10-11T09:06:56.164925Z lvl=info msg="Pruning shard groups after retention check (end)" log_id=0sACX4pW000 service=retention op_name=retention_delete_check op_name=retention_prune_shard_groups op_event=end op_elapsed=19.827ms
Oct 11 11:06:56 homeserver influxd-systemd-start.sh[3570388]: ts=2024-10-11T09:06:56.172125Z lvl=info msg="Retention policy deletion check (end)" log_id=0sACX4pW000 service=retention op_name=retention_delete_check op_event=end op_elapsed=102.262ms
Oct 11 11:08:47 homeserver influxd-systemd-start.sh[3570388]: ts=2024-10-11T09:08:47.935539Z lvl=info msg=Unauthorized log_id=0sACX4pW000 error="token required"
Oct 11 11:10:54 homeserver influxd-systemd-start.sh[3570388]: ts=2024-10-11T09:10:54.236213Z lvl=info msg=Unauthorized log_id=0sACX4pW000 error="token required"
Oct 11 11:36:56 homeserver influxd-systemd-start.sh[3570388]: ts=2024-10-11T09:36:56.070608Z lvl=info msg="Retention policy deletion check (start)" log_id=0sACX4pW000 service=retention op_name=retention_delete_check op_event=start
Oct 11 11:36:56 homeserver influxd-systemd-start.sh[3570388]: ts=2024-10-11T09:36:56.070672Z lvl=info msg="Pruning shard groups after retention check (start)" log_id=0sACX4pW000 service=retention op_name=retention_delete_check op_name=retention_prune_shard_groups op_event=start
Oct 11 11:36:56 homeserver influxd-systemd-start.sh[3570388]: ts=2024-10-11T09:36:56.070788Z lvl=info msg="Pruning shard groups after retention check (end)" log_id=0sACX4pW000 service=retention op_name=retention_delete_check op_name=retention_prune_shard_groups op_event=end op_elapsed=0.119ms
Oct 11 11:36:56 homeserver influxd-systemd-start.sh[3570388]: ts=2024-10-11T09:36:56.070815Z lvl=info msg="Retention policy deletion check (end)" log_id=0sACX4pW000 service=retention op_name=retention_delete_check op_event=end op_elapsed=0.248ms

minimized steps to reproduce:
:~/influxDB/scripts$ influx ping --host localhost
Error: Get "/health": unsupported protocol scheme ""

ah, this reveals the simple cause, camouflaged as a complicated one.
... and it's message in a web search reveals both the solution and the insight, that the influx product line exposes great potential to improve documentation ....
pick just the first one:
https://stackoverflow.com/questions/75408503/influx-write-command-is-throwing-error-unsupported-protocol-scheme
and - alas:
$ influx ping --host "http://localhost:8086"
OK

and ported to my backup command gives me a bunch of files that look trustworthy. :+1

I might close the issue, since my backup works now.
However, counting the huge amount of web search hits for

influx health: unsupported protocol scheme

I'd suppose to inform the documentation team.

issued a documentation issue here:
https://github.com/influxdata/docs-v2/issues/5644
close the issue at hand


Add Byte arrays type annotations support

resolve #3

Little typo in the commit :)
Thanks for your contribution!
https://www.npmjs.com/package/vite-plugin-kaitai/v/1.1.1


readAsDataUrl promise not resolving

this.file.readAsDataURL(this.file.externalCacheDirectory, '1614879497083-cropped.jpg')
      .then(dataUrl => {
        console.log('data url: ', dataUrl);
      })
      .catch(err => console.log('err: ', err));

If I change the file name than error code is logged in console but when the file name is correct, NOTHING is logged in console. There's no error in console either which means the plugin has accessed the file successfully but the promise is not getting resolved.

Cordova doesn't implement promises in the Filesystem API, so promise issues must be coming whatever framework/library you're using.
Should you determine that the promise is not resolving due to a bug within Cordova's codebase, please do open a new issue with the issue form filled out completely; pointing at the problematic code in Cordova's codebase.
Kind regards,
Norman

Well, cordova does implement promises because from the same plugin I've implemented writeFile() method which is a Promise and was successfully resolved.

@mayankkataria Promise based interface comes from Ionic wrapper of the cordova-plugin-file (@ionic-native/file/ngx).
There are multiple issues logged with your problem at ionic-native github:
https://github.com/ionic-team/ionic-native/issues/3289
https://github.com/ionic-team/ionic-native/issues/3574
There is also a specific comment which might explain why the Ionic wrapper doesn't work correctly:
https://github.com/ionic-team/ionic-native/issues/3265#issuecomment-735029628
If you need to get it working ASAP, you should ditch the Ionic plugin wrapper for now and use the actual Cordova File plugin API.

O sry I got it. Btw I found the workaround with Filesystem.readFile() in case if it helps someone.
import { Plugins } from '@capacitor/core';
const { Filesystem } = Plugins;
...
Filesystem.readFile({
      path: this.file.externalCacheDirectory + '1614879497083-cropped.jpg'
    })
      .then(res => {
        console.log('fs: ', res.data);
      })
      .catch(err => console.log('fs err: ', err));

@mayankkataria
Thanks a lot! This fixed my issue

@mayankkataria
Thanks a tonn
This resolved my issue as well I can't thank enough


Unable to install requirements

I am maintaining an operator-sdk project. When running ansible-lint locally you need to run ansible-galaxy collection install -r requirements.yml first.
Maybe this is just a documentation issue but I can't see how to do that with this Action.
The result is, missing modules are not resolved when this action is run.
Error
Couldn't parse task at /github/workspace/roles/myrole/tasks/main.yml:2 (couldn't resolve module/action 'operator_sdk.util.k8s_status'. This often indicates a misspelling, missing collection, or incorrect module path.

Reproduce
requirements.yml
---
collections:
  - name: community.kubernetes
    version: "<1.0.0"
  - operator_sdk.util

main.yml
- name: "update resource"
  operator_sdk.util.k8s_status:
    api_version: "foo"
    kind: "bar"
    name: "my-foo"
    namespace: "foospace"
    conditions:
      - type: Ready
        status: "True"
        reason: ReconcileSuccess
        lastHeartbeatTime: "{{ ansible_date_time.iso8601 }}"

This would require extending entrypoint.sh and action.yml. PR is welcome.

#25 #

@anth0d As a workaround, you can install it manually.
You have to install it manually in the action
- name: Install dependencies (collections)
  run: ansible-galaxy collection install -r collections/requirements.yml -p collections

And add the collection to be resolved by ansible-lint, in ansible.cfg
[[defaults]]
collections_paths = ./collections

This has worked for me.

I am maintaining an operator-sdk project. When running ansible-lint locally you need to run ansible-galaxy collection install -r requirements.yml first.
Maybe this is just a documentation issue but I can't see how to do that with this Action.
The result is, missing modules are not resolved when this action is run.
Error
Couldn't parse task at /github/workspace/roles/myrole/tasks/main.yml:2 (couldn't resolve module/action 'operator_sdk.util.k8s_status'. This often indicates a misspelling, missing collection, or incorrect module path.

Reproduce
requirements.yml
---
collections:
  - name: community.kubernetes
    version: "<1.0.0"
  - operator_sdk.util

main.yml
- name: "update resource"
  operator_sdk.util.k8s_status:
    api_version: "foo"
    kind: "bar"
    name: "my-foo"
    namespace: "foospace"
    conditions:
      - type: Ready
        status: "True"
        reason: ReconcileSuccess
        lastHeartbeatTime: "{{ ansible_date_time.iso8601 }}"

entrypoint.sh

Please upgrade to v6 and use the requirements.yml for installing dependencies.


Setting v1.0.0 for 1.0.x branch

and backporting https://github.com/graphite-project/graphite-web/pull/1894 too

Codecov Report

Merging #1903 into 1.0.x will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff          @@
##           1.0.x   #1903   +/-   ##
=====================================
  Coverage   66.3%   66.3%
=====================================
  Files         56      56
  Lines       6603    6603
  Branches    1318    1318
=====================================
  Hits        4378    4378
  Misses      2002    2002
  Partials     223     223

Continue to review full report at Codecov.

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


GPU colab notebook for SystemDS

Inspiration:
[1] https://colab.research.google.com/github/ShimaaElabd/CUDA-GPU-Contrast-Enhancement/blob/master/CUDA_GPU.ipynb

Install drivers  from https://www.nvidia.com/download/index.aspx?lang=en-us


HHH-12629: PR

Pull request for
https://hibernate.atlassian.net/browse/HHH-12629
Regards, Niko

Thanks! always great to delete some dead code.
Regarding the protected methods: we'll apply this change temporarily so to help you with your migration, but I can't promise they will stay protected for long (or for any other version), deal?
We'll have to figure out a better solution for your 61+ joins :)

Definititely, thank you! The trouble is that we cannot change the database architecture, so I need to have a solution for this. But is there a particular reason that the methods cannot stay protected (as they used to be)? loadFromSessionCache is also still protected.

I'm not sure if there is a strong reason, but anything in internal packages is bound to change often.
There is also some possibility that this was an important change if I look at who made it; Stale is the lead of the performance team and sometimes it implies obscure yet important optimisations - I doubt it's the case so let's apply this but I'll eventually have to confirm with him, and he might want this reverted.

merging

Thanks for merging. Can you update me about any progress about the internal discussion?

FYI we don't really do internal discussions; we'll likely discuss this either on HipChat public rooms, developer mailing list, or via a new feature JIRA.
Probably best if you could start by opening a JIRA? It will need some time as half the team is away discussing ORM6 details.

Sure. Created https://hibernate.atlassian.net/browse/HHH-12632.


Spring clean-up of index.js containing all the metalsmith process

What does this PR do?

refactor in an other file handlebars helpers and metalsmith build args options
clean unused packages
clean metalsmith build process

How should this be manually tested?
https://deploy-preview-37--kuzzle-doc-v2.netlify.com/sdk-reference/
Navigate and check everything is working (except the language-selector, it's in another PR)

Snippets tests reports

(just 1 tiny issue with a handlebar helper, the rest looks good to me :+1: )


Missing newline in syntax?

The syntax written here "SET CL=[ [option] ... [file] ...] [/link link-opt ...] SET CL=[ [option] ... [file] ...] [/link link-opt ...]", but this place missing a BR tag, isn't it?

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

ID: a4afc238-4349-65b7-8e67-ad24e1129018
Version Independent ID: d4cab2f6-222c-ec99-cf7d-cf178af099a8
Content: CL Environment Variables
Content Source: docs/build/reference/cl-environment-variables.md
Product: visual-cpp
Technology: cpp-tools
GitHub Login: @corob-msft
Microsoft Alias: corob

@masamaru-san
Yes, that's missing a break tag, and so are some of the commands later in the article. I've put a fix in that should show up on Monday. Thanks for pointing it out.

@corob-msft
Thank you for your quick action. Because the incorrect note misleads the novice like me to do the right thing.


Be able to see which email you used to create an account

Message in Discourse:
There’s no way to see in your profile which email you’ve already registered with. That’s a bit bothersome when you’re requesting an invite but don’t know if you’ve got an account already or not.

nico, are you following up with these users? replying to them on the forum?

Yep!

I agree. The email only access is quite a pain. Specially since github surfaces nonreply emails for maintainers all the time.
I prefer it to passwords, but it should be improved and also be an opt-out.

I believe this means that there is no place to view or even edit the email address a user signed up with. I think this needs a two-step solution to fix first the immediate issue of visibility, and then the issue of being able to update the email of a user's OC personal account.
First, there is one place we can provide this info quick and easy way. Just so users can see the email address they signed up with. Thats the user pop-out menu: In the past I did a version for it that included the email but it was never built. Then @HipsterBrown did a newer version where I had not included it there because it was just an improvement to solve the confusion of creating new orgs vs collectives from there.
I've added it now to the newer version in FIGMA and we can either do that in a quick fix or try to slightly update the design of this pop-out menu to better include this info, basically building the first version of this menu.
You can see them here: https://www.figma.com/file/JZxZiavpekMXjSL5dFB66BS6/design-system-—-02-molecules?node-id=0%3A1716
Regarding the editing part, I think we should allow this in the users' settings, but perhaps this touches other parts on the engineering side that need to be discussed, regardless, we must provide the users a way to update this.


ranger: Can't . ranger to keep current directory

Describe the bug
In most distributions, one is able to e.g. alias r=". ranger" in their shell. Sourcing the ranger entry point script makes it preserve the current directory to the one that was being browsed in the file manager before quitting it.
However, this does not work in the nixpkgs version, because ranger is a nixpkgs-generated wrapper which uses exec, and thus cannot be sourced with the same effect.
Steps To Reproduce
Steps to reproduce the behavior:

Run . ranger
Browse to a different directory
Press q to quit Ranger

Expected behavior
The user should be returned to shell, in the directory browsed to in step 2.
Additional context
https://github.com/ranger/ranger/blob/136416c7e2ecc27315fe2354ecadfe09202df7dd/ranger.py#L6-L24
Notify maintainers
@toonn @magnetophon
Metadata

system: "x86_64-linux"
host os: Linux 6.5.4-arch2-1, Arch Linux, noversion, rolling
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.17.0
nixpkgs: /nix/store/l3bc30i71qshxa3mdj3dy8dj7zwqkh6s-source

I think the easiest way forward here is probably to patch what the wrapper script would do directly into the ranger script.

Hello, is there any more interest in adding this capability? I use this very frequently on non-nix machines.

@IogaMaster Are you still working on this?

A possible workaround is to use yazi, which has a that functionality available as an alias as well:
https://yazi-rs.github.io/docs/quick-start#shell-wrapper
Yazi is also a lot faster than ranger, and is regularly getting new releases.

A possible workaround is to use yazi, which has a that functionality available as an alias as well:

Sorry, I don't understand. How does that help work around the problem here?
I tried nix-shell -p yazi and then both yazi and . yazi but neither allowed be to exit the file manager while preserving the current directory when returning to the shell.

There's a few lines of code in a couple shell languages here: https://yazi-rs.github.io/docs/quick-start#shell-wrapper
Those will create a function that opens yazi (a ranger clone) and when you close yazi, you'll "be returned to shell, in the directory browsed to in step 2."  (quote from the first comment in this issue)

I completly forgot i added myself to this
I will take a look this weekend

#119052 actually tried implementing a solution to this years ago, maybe someone can pick that back up?