Making Tone.js modular

@tambien, are there plans to make the library modular? F.ex separating it into multiple packages per domain.
Personally, I'm pondering externalising the part that it is related to the Time domain. I think there are plenty of cases where it's not necessary having an "audio engine". Another advantage would be as a lower barrier to people wanting to contribute, since it's quite daunting right now to delve into the code, even though it's well documented.
If there's an interest in doing so, then I'd draft some kind of roadmap. Otherwise, I'll just probably anyhow hack it away for myself.

I've considered doing something similar, with the goal of a more modular
Tone.js built with ES6 / TypeScript. If others are interested it could be
useful.
On Wed, Nov 14, 2018, 3:57 PM Ricardo Matias<EMAIL_ADDRESS>wrote:

@tambien https://github.com/tambien, are there plans to make the
library modular? F.ex separating it into multiple packages per domain.
Personally, I'm pondering externalising the part that it is related to the
Time domain. I think there are plenty of cases where it's not necessary
having an "audio engine". Another advantage would be as a lower barrier to
people wanting to contribute, since it's quite daunting right now to delve
into the code, even though it's well documented.
If there's an interest in doing so, then I'd draft some kind of roadmap.
Otherwise, I'll just probably anyhow hack it away for myself.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Tonejs/Tone.js/issues/402, or mute the thread
https://github.com/notifications/unsubscribe-auth/AC7ifxQ-WPsItU_bUaYD06fihBFJ7ObYks5uvJHYgaJpZM4YeqN8
.

In particular, I want to leverage Tone's timing and MIDI implementations
without having to incorporate the Tone wrappers for the Audio context. From
what I've seen this is very difficult currently.
On Wed, Nov 14, 2018, 4:00 PM Spencer Rudnick<EMAIL_ADDRESS>wrote:

I've considered doing something similar, with the goal of a more modular
Tone.js built with ES6 / TypeScript. If others are interested it could be
useful.
On Wed, Nov 14, 2018, 3:57 PM Ricardo Matias<EMAIL_ADDRESS>wrote:

@tambien https://github.com/tambien, are there plans to make the
library modular? F.ex separating it into multiple packages per domain.
Personally, I'm pondering externalising the part that it is related to
the Time domain. I think there are plenty of cases where it's not necessary
having an "audio engine". Another advantage would be as a lower barrier to
people wanting to contribute, since it's quite daunting right now to delve
into the code, even though it's well documented.
If there's an interest in doing so, then I'd draft some kind of roadmap.
Otherwise, I'll just probably anyhow hack it away for myself.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Tonejs/Tone.js/issues/402, or mute the thread
https://github.com/notifications/unsubscribe-auth/AC7ifxQ-WPsItU_bUaYD06fihBFJ7ObYks5uvJHYgaJpZM4YeqN8
.

You can already import the AMD source files seperately. For example import Transport from 'tone/Tone/core/Transport'. This works as long as you have a module bundler that support AMD imports, such as webpack.
I'm currently working on a comprehensive typescript definition project that works with deep imports. I'm mostly done and using it already in a project.

@idicious I would be very interested to see this version you have!

this multipackage approach is something i've been looking into recently as well. i've registered @tonejs organization on npm. i was thinking of separating out @tonejs/shim and maybe @tonejs/core, but eventually could also separate out @tonejs/time as you mentioned and some other packages to make it easier to build more modular components on top of the library.
I looked into lerna a little, but i'm not sure that this is what i need exactly. i don't think i will move things into separate repos since they all rely on a common set of build tools and tests, but having a monorepo with multiple packages seems appealing. If anyone has experience with lerna or with monorepos, please chime in with how it might work in Tone.js.
@ricardomatias: As @Idicious mentioned, you can deep require every module and it will pull in it's dependencies if you're using something like webpack, so it's possible to grab some of the timing components without pulling in the entire audio engine part.

🔥
On Thu, Nov 15, 2018, 8:34 AM Yotam Mann<EMAIL_ADDRESS>wrote:

this multipackage approach is something i've been looking into recently as
well. i've registered @tonejs organization on npm. i was thinking of
separating out @tonejs/shim and maybe @tonejs/core, but eventually could
also separate out @tonejs/time as you mentioned and some other packages
to make it easier to build more modular components on top of the library.
I looked into lerna https://github.com/lerna/lerna a little, but i'm
not sure that this is what i need exactly. i don't think i will move things
into separate repos since they all rely on a common set of build tools and
tests, but having a monorepo with multiple packages seems appealing. If
anyone has experience with lerna or with monorepos, please chime in with
how it might work in Tone.js.
@ricardomatias https://github.com/ricardomatias: As @Idicious
https://github.com/Idicious mentioned, you can deep require every
module and it will pull in it's dependencies if you're using something like
webpack, so it's possible to grab some of the timing components without
pulling in the entire audio engine part.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/Tonejs/Tone.js/issues/402#issuecomment-439060575, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AC7ifzNS9Js3jnPorByZjFX7pxTM5geXks5uvXuMgaJpZM4YeqN8
.

In particular, I want to leverage Tone's timing and MIDI implementations without having to incorporate the Tone wrappers for the Audio context.

Maybe a related question on modularity: I imagine it might be desirable to use non-Tone.js AudioNodes inside of a project that uses Tone.js (or just its supposed timing/midi parts). These might be implemented without Tone.js in mind, and released as npm packages without a Tone.js dependency. They might be implemented in a way to be controlled with an interface of native AudioParams.
So to be pulled into a project using Tone.js, as far as I have understood there needs to be a wrapper layer that makes the AudioParams interface controllable with Tone.Signals that also supports scheduling and other Tone.js specific features.
That wrapper around that specific AudioNode synth/effect could even be published as an own npm package to be reusable for many projects. It would need a dependency on Tone.js, or if Signal could be extracted as a module, just on that.
If I got any concepts of Tone.js wrong, I‘m happy to learn more, I‘m just getting into this.

I feel this is worth throwing into the discussion:
What about Shader and ShaderPass import? There are many in the examples that I would consider worth having in an independent package. Also what is currently the best practice if I have an ES6 project and want to use the npm module in combination with some of the Example Shader classes?

@fabb You already can connect a Tone node to a native audio node, the reverse would require using the currently undocumented audionode.input property.
So you can do nativenode.connect(tonenode.input) as well as tonenode.connect(nativenode)

Thaht‘s nice! But how would I trigger notes based on Tone.js‘ Transport in this native audio node synth?

You would need to create a wrapper interface for the native node, perhaps
create a class which encompasses a gain and audio source. Then expose an
interface which handles the incoming midi commands to control gain and
frequency.
On Thu, Dec 13, 2018, 12:50 AM fabb<EMAIL_ADDRESS>wrote:

Thaht‘s nice! But how would I trigger notes based on Tone.js‘ Transport in
this native audio node synth?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/Tonejs/Tone.js/issues/402#issuecomment-446861135, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AC7if2QfrHPJb21oMr64u6uihROeG0YGks5u4fijgaJpZM4YeqN8
.

@spencerudnick This is ofcourse essentially what the Tone synths do.

Exactly :)
On Thu, Dec 13, 2018, 8:58 AM David Sherman<EMAIL_ADDRESS>wrote:

@spencerudnick https://github.com/spencerudnick This is ofcourse
essentially what the Tone synths do.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Tonejs/Tone.js/issues/402#issuecomment-446997869, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AC7if_GLs1FnzkAPwelch_0eySO6sLJhks5u4msIgaJpZM4YeqN8
.

So I would actually mimick the interface of Tone synths in my wrapper, right? So for Tone it‘s actually no more a native audio node but it thinks it‘s a Tone synth?

If your class fulfills the same interface, Tone won't know the difference.
On Thu, Dec 13, 2018, 9:51 AM fabb<EMAIL_ADDRESS>wrote:

So I would actually mimick the interface of Tone synths in my wrapper,
right? So for Tone it‘s actually no more a native audio node but it thinks
it‘s a Tone synth?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Tonejs/Tone.js/issues/402#issuecomment-447017926, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AC7if3n3ybbjx5ISaMz-WVWWJMG538nIks5u4nd8gaJpZM4YeqN8
.

The magic of javascript... Let‘s see how hard it is to fulfil that interface. It would be awesome to extract a Tone.js wrapper for the aufionode part of the Viktor NV-1 synth.
https://nicroto.github.io/viktor/

it shouldn't be a problem to mix native web audio nodes or other web audio modules as long as they share the same AudioContext. You don't need to mimic a Tone.js synth interface for it to be able to interoperate with Tone.Transport or any other Tone.js component.

You would need to create a wrapper interface for the native node, perhaps create a class which encompasses a gain and audio source. Then expose an interface which handles the incoming midi commands to control gain and frequency.

Ok, when I want to play the external synth using Tone Patterns, I need to somehow sync the attack and release commands to the provided time and duration (and maybe other parameters need to be synced as well using Tone.Signal).
I'm not yet completely sure how such a wrapper that bridges between Tone scheduler and the 3rd party instrument would need to look like, and if it could be generalized and broken out into a separate component.

The time value returned from the event classes (like Tone.Pattern) is just the raw Web Audio clock time. A native or third party component that can be scheduled using the AudioContext time could take this time and use it to synchronize with the Tone.Transport.

Going to close this issue since Tone currently has the ability to load individual modules, though i aspire to better grouping in the future and potentially releasing sub packages. I will reference this issue if/when that happens.


[BUG] Invalid next URL when session expired

What is the bug?
Here is the url with error
http://localhost:5601/app/login?nextUrl=%2Fapp%2Fopensearch_index_management_dashboards_%252Frollups#/rollups?from=0&search=&size=20&sortDirection=desc&sortField=_id
{
    "statusCode": 400,
    "error": "Bad Request",
    "message": "[request query.nextUrl]: Invalid nextUrl parameter."
}

The nextUrl is /app/opensearch_index_management_dashboards_%2Frollups
Based on the validation rule, it has %2F which is not allowed.
https://github.com/opensearch-project/security-dashboards-plugin/blob/506d803b868002f131a65d0d7ad370625454a8e4/server/utils/next_url.ts#L75-L80
How can one reproduce the bug?
Steps to reproduce the behavior:

Enable workspace and goes into a workspace
Go to http://localhost:5601/app/opensearch_index_management_dashboards_%2Frollups#/rollups?dataSourceId=&from=0&search=&size=20&sortDirection=desc&sortField=_id
Wait for session expired
See error

What is the expected behavior?
A clear and concise description of what you expected to happen.
What is your host/environment?

OS: [e.g. iOS]
Version [e.g. 22]
Plugins

Do you have any screenshots?
If applicable, add screenshots to help explain your problem.
Do you have any additional context?

@Hailong-am Why is the URL http://localhost:5601/app/login?nextUrl=%2Fapp%2Fopensearch_index_management_dashboards_%252Frollups#/rollups?from=0&search=&size=20&sortDirection=desc&sortField=id instead of http://localhost:5601/app/login?nextUrl=%2Fapp%2Fopensearch_index_management_dashboards%2Frollups#/rollups?from=0&search=&size=20&sortDirection=desc&sortField=_id
i.e. Why the %25. IMO the logic for nextUrl validation is sound, but the url you have pasted is doubly-encoded.

@Hailong-am Is encodeUriComponent required when declaring the paths in the index-management-dashboards-plugin here?

@Hailong-am Is encodeUriComponent required when declaring the paths in the index-management-dashboards-plugin here?

I think so, the application id opensearch_index_management_dashboards_${encodeURIComponent('/routes')}, if remove the encodeURIComponent the application id will be opensearch_index_management_dashboards_/routes, so url will be /app/opensearch_index_management_dashboards_/routes/... that will render application with id opensearch_index_management_dashboards_ which is not exists

route ids are explicitly defined and not based on the route configured. Examples: https://github.com/opensearch-project/security-dashboards-plugin/blob/main/public/plugin.ts#L189-L275

yes, that's the cause. application id could not contains any special character like / +, otherwise it will have same problem.
either we have a place to document this limitation, or we figure out a way to check the application id is a valid and exist one no matter what kind of format does it have.


chore: 🤖 bump vitest to v0.22.1 [skip-release]

Pull Request Checklist
🚨 Please review the guidelines for contributing to this repository.

[x] Appropriate label or labels have been added
[ ] ✅ Tests for the changes have been added
[ ] 📝 Docs have been reviewed, added or updated if needed

Description
Please describe your pull request.
🏁 Closes:
Breaking Change?

[ ] 💥 Yes
[x] No

❤ Thank you for contributing!

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@be46a73). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             master       #57   +/-   ##
==========================================
  Coverage          ?   100.00%
==========================================
  Files             ?         1
  Lines             ?         1
  Branches          ?         1
==========================================
  Hits              ?         1
  Misses            ?         0
  Partials          ?         0

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


Document mobile plugin status

Is the mobile plugin (https://github.com/Vinzent03/obsidian-git-mobile) superseded now with the recent update? Will it just be a testing ground for mobile or something of its own? Should I use the main plugin or the mobile one for mobile?

When updating the mobile plugin you should get a notice that its now deprecated. Will update the readme as well.


User scripts are transformed prior to supporting modules

Hi! 👋
It seems that user scripts could be visited prior to external supporting modules. This causes errors to occur when pulling parent encode statements and ends up tricking the class visitation logic to think the parent doesn't exist.
Here is the diff that solved my problem:
diff --git a/node_modules/json-as/transform/lib/index.js b/node_modules/json-as/transform/lib/index.js
index 19d57c4..f9f1364 100755
--- a/node_modules/json-as/transform/lib/index.js
+++ b/node_modules/json-as/transform/lib/index.js
@@ -128,7 +128,18 @@ export default class Transformer extends Transform {
         // Create new transform
         const transformer = new AsJSONTransform();
         // Loop over every source
-        for (const source of parser.sources) {
+        const sources = parser.sources.filter(source => !isStdlib(source)).sort((_a, _b) => {
+            const a = _a.internalPath
+            const b = _b.internalPath
+            if (a[0] === "~" && b[0] !== "~") {
+              return -1;
+            } else if (a[0] !== "~" && b[0] === "~") {
+              return 1;
+            } else {
+              return 0;
+            }
+          })
+        for (const source of sources) {
             // Ignore all lib and std. Visit everything else.
             if (!isStdlib(source)) {
                 transformer.visit(source);

This issue body was partially generated by patch-package.

This is a side effect of https://github.com/JairusSW/as-json/commit/f3d54c3f734959d9c3d7f2eecaf2f40a5519da76 and it seems to fix it on my side.

Merging


Document Thirdparty AS Endpoints

Which you can find in: https://github.com/matrix-org/matrix-appservice-bridge/blob/8a0a704e7de75155843f1548d25c72b4f48aae11/lib/bridge.js#L315
Oh and there should also be a whole bunch of equivalent /thirdparty endpoints for the HS, which will be found in the bowels of synapse.
These should all be documented in the AS spec.

I believe this is completed: https://matrix.org/docs/spec/application_service/unstable.html#get-matrix-app-unstable-thirdparty-protocol-protocol


Release 1.0.0

Merge conflicts need resolution. I then can approve this PR.

@cdillard-NewRelic I resolved that merge conflict


fix: do not preset name when creating a dialog

Description
The creating a bot and creating a dialog share the pop up form. I pass into a props to check whether we need to preset name.
Task Item
Closes #1815
Type of change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)

Checklist

[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have functionally tested my change

Screenshots

Approved and let's on hold merge till @cwhitten and @a-b-r-o-w-n get a chance to take a look.


dum: init at 0.1.19

Description of changes
I didn't patch it to add node to PATH since nodejs comes in different versions and there are things like fnm
https://github.com/egoist/dum

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

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

1 package built:

dum


[SPARK-40887][K8S] Allow Spark on K8s to integrate w/ Log Service

What changes were proposed in this pull request?
Provide a flexible way on K8s for Driver and Executor by using env vars to configure external log service links(pattern) and attributes, on both live Spark UI and SHS.
The full design doc is https://docs.google.com/document/d/1MfB39LD4B4Rp7MDRxZbMKMbdNSe6V6mBmMQ-gkCnM-0/edit?usp=sharing

Expose general attributes on K8s, for both Driver and Executor, which can be referred in log URLs pattern and will be persisted into event log. My proposed generic attributes are

APP_ID
KUBENETES_POD_NAME
KUBENETES_NAMESPACE

Allow using env vars to add custom log URLs and attributes, for both Driver and Executor.

Driver log URL: env vars w/ prefix SPARK_DRIVER_LOG_URL_
Driver attribute: env vars w/ prefix SPARK_DRIVER_ATTRIBUTE_
Executor log URL: env vars w/ prefix SPARK_LOG_URL_
Executor attribute: env vars w/ prefix SPARK_EXECUTOR_ATTRIBUTE_

Always do log URLs replacement for Driver before sending SparkListenerApplicationStart into the LiveListenerBus, so that the Driver could have the log URL replacement ability on live UI, as Executor does.

Always do log URLs replacement for Executor,

if spark.ui.custom.executor.log.url is provided, as-is;
otherwise, use the value of log URL as pattern in case that user-provided log URL refers to the attributes.

Why are the changes needed?
Currently, there is no out-of-box log solution for Spark on K8s.
For Spark on Yarn case, Spark provides stdout/stderr log links on Spark UI for the Driver and each Executor which redirects to the Yarn log pages, but for the resource manager which does not provide the out-of-box log services, like K8s, Spark has no log links on Spark UI.
Does this PR introduce any user-facing change?
Yes, users who deploy Spark on K8s could add custom log links in the Spark UI by configurations.
How was this patch tested?

Local mode
build/sbt clean package

export SPARK_DRIVER_ATTRIBUTE_KIBANA_SVC=https://kibana-svc/spark
export SPARK_DRIVER_ATTRIBUTE_S3_ARCHIVE_SVC=https://log-archive
export SPARK_DRIVER_ATTRIBUTE_CORE_DUMP_SVC=https://core_dump
export SPARK_DRIVER_ATTRIBUTE_KUBENETES_POD_NAME=spark-pod-123
export SPARK_DRIVER_LOG_URL_kibana={{KIBANA_SVC}}/{{KUBENETES_POD_NAME}}
export SPARK_DRIVER_LOG_URL_archive={{S3_ARCHIVE_SVC}}/{{KUBENETES_POD_NAME}}
export SPARK_DRIVER_LOG_URL_core_dump={{CORE_DUMP_SVC}}/{{KUBENETES_POD_NAME}}

SPARK_PREPEND_CLASSES=true bin/spark-shell

K8s mode
An online Spark on K8s application using Kibana as the external log service w/ the following configurations.
spark.kubernetes.driverEnv.SPARK_DRIVER_LOG_URL_kibana      http://logsearch.xxxxxxxxxxxxxxxxxxxxxxxxxxx-log-es-online/app/discover#/?_a=(index:'{{ES_INDEX}}',query:(language:kuery,query:'podName:%22{{KUBERNETES_POD_NAME}}%22%20'))&_g=(time:(from:now-1d,to:now))
spark.kubernetes.driverEnv.SPARK_DRIVER_ATTRIBUTE_ES_INDEX  667e2c80-46c5-xxxxxxxxxxxxxxxxxxx
spark.executorEnv.SPARK_LOG_URL_kibana                      http://logsearch.xxxxxxxxxxxxxxxxxxxxxxxxxxx-log-es-online/app/discover#/?_a=(index:'{{ES_INDEX}}',query:(language:kuery,query:'podName:%22{{KUBERNETES_POD_NAME}}%22%20'))&_g=(time:(from:now-1d,to:now))
spark.executorEnv.SPARK_EXECUTOR_ATTRIBUTE_ES_INDEX         667e2c80-46c5-xxxxxxxxxxxxxxxxxxx

Can one of the admins verify this patch?

+CC @tgravescs Since you have more context on this from yarn pov than I do

Hi, @pan3793 . I'm interested in this PR for Apache Spark 3.4.0. To do that we need to split this PR in order to discuss and test more. I proposed you the followings first. Please let me know if you can revise.

Spin off pod env variable contributions (SPARK_DRIVER_POD_NAME).
Reduce the code change (e.g. Avoiding a whole new class like KubernetesCoarseGrainedExecutorBackend)

Thanks @dongjoon-hyun, updated the code based on your comments, and sorry for late reply, because my team is suffering COVID-19 :cry:

Update PR state.
Currently, the PR is stuck at "Is it good to let 3rd-party log service use POD NAME to access Driver log?"
In https://github.com/apache/spark/pull/39160#pullrequestreview-1229691638, @dongjoon-hyun left a concern

While reviewing this design again in detail, I have a concern. Currently, Apache Spark uses K8s Service entity via DriverServiceFeatureStep to access Spark driver pod in K8s environment. The proposed design is a kind of exception. Do you think you can revise this log service design to use Driver Service instead?

Yes, it's an exception, but I think it may be the right direction. Because:

My vision is exposing both driver and executor in an unified way to the log service, and aggregate logs by Pod is much straightforward, just like Yarn does, by container. So my first candidate is Pod Name, the second one is Pod IP.
I found that apple/batch-processing-gateway uses Pod Name to fetch the log [1]
GoogleCloudPlatform/spark-on-k8s-operator also uses Pod Name to fetch driver and executor log [2]
The design does not force to use POD_NAME nor SVC_NAME as criteria to access driver/executor logs, it totally depends on how the external log service aggregates logs

Would like to hear more community thoughts, cc @holdenk @mridulm @yaooqinn @Yikun @attilapiros @jzhuge @LuciferYang @cxzl25, thanks!
[1] https://github.com/apple/batch-processing-gateway/blob/main/src/main/java/com/apple/spark/rest/ApplicationGetLogRest.java#L327
[2] https://github.com/GoogleCloudPlatform/spark-on-k8s-operator/blob/master/sparkctl/cmd/log.go#L89


OperationalError: database is locked

Hi,
I'm using a pipeline implemented by Ruffus that calls several other programs. I'm getting an error when Ruffus calls "bamM make".
This error only occurs when the data is stored on some parts of the server but not others. Any troubleshooting help would be greatly appreciated.
The error message is as follows:
Original exception:
Exception #1
  '<class 'ruffus.ruffus_exceptions.RethrownJobError'>

    Exceptions generating parameters for

    task = 'transcriptm.pipeline.QC_output'

Original exception:

    Exception #1
      'sqlite3.OperationalError(database is locked)' raised in ...
       Task = def transcriptm.pipeline.QC_output(...):

    Traceback (most recent call last):
      File "/srv/sw/ruffus/2.6.3/lib/python2.7/site-packages/ruffus/task.py", line 5118, in parameter_generator
        job_history, verbose_abbreviated_path):
      File "/srv/sw/ruffus/2.6.3/lib/python2.7/site-packages/ruffus/task.py", line 4923, in job_needs_to_run
        verbose_abbreviated_path=verbose_abbreviated_path)
      File "/srv/sw/ruffus/2.6.3/lib/python2.7/site-packages/ruffus/file_name_parameters.py", line 548, in needs_update_check_modify_time
        if os.path.relpath(p) not in job_history and p not in set_incomplete_files:
      File "/srv/sw/python/2.7.4/lib/python2.7/_abcoll.py", line 348, in __contains__
        self[key]
      File "/srv/sw/ruffus/2.6.3/lib/python2.7/site-packages/ruffus/dbdict.py", line 174, in __getitem__
        (key, )).fetchone()
    OperationalError: database is locked

    ' raised in ...
Traceback (most recent call last):
  File "/srv/sw/ruffus/2.6.3/lib/python2.7/site-packages/ruffus/task.py", line 5887, in pipeline_run
    verbose)
  File "/srv/sw/ruffus/2.6.3/lib/python2.7/site-packages/ruffus/task.py", line 5283, in fill_queue_with_job_parameters
    for params in job_parameters:
  File "/srv/sw/ruffus/2.6.3/lib/python2.7/site-packages/ruffus/task.py", line 5215, in parameter_generator
    raise errt
RethrownJobError:

    Exceptions generating parameters for

    task = 'transcriptm.pipeline.QC_output'

Original exception:

    Exception #1
      'sqlite3.OperationalError(database is locked)' raised in ...
       Task = def transcriptm.pipeline.QC_output(...):

    Traceback (most recent call last):
      File "/srv/sw/ruffus/2.6.3/lib/python2.7/site-packages/ruffus/task.py", line 5118, in parameter_generator
        job_history, verbose_abbreviated_path):
      File "/srv/sw/ruffus/2.6.3/lib/python2.7/site-packages/ruffus/task.py", line 4923, in job_needs_to_run
        verbose_abbreviated_path=verbose_abbreviated_path)
      File "/srv/sw/ruffus/2.6.3/lib/python2.7/site-packages/ruffus/file_name_parameters.py", line 548, in needs_update_check_modify_time
        if os.path.relpath(p) not in job_history and p not in set_incomplete_files:
      File "/srv/sw/python/2.7.4/lib/python2.7/_abcoll.py", line 348, in __contains__
        self[key]
      File "/srv/sw/ruffus/2.6.3/lib/python2.7/site-packages/ruffus/dbdict.py", line 174, in __getitem__
        (key, )).fetchone()
    OperationalError: database is locked

I did a quick google and found this:
http://stackoverflow.com/questions/2740806/python-sqlite-database-is-locked
The checkpointing uses an SQLite database file (defaults to
.ruffus_history.sqlite) that requires file locking semantics to ensure
database integrity. The error message is telling you this has gone wrong.
Here are some suggestions:

Your underlying file system does not provide file locking semantics.
The stack overflow article says this can fail if your directory is samba
enabled....?
Run sqlite manually on the checkpoint database
$ sqlite3 .ruffus_history.sqlite
Check you don't have a hung pipeline process sitting on the file.
$ fuser .ruffus_history.sqlite
Check you don't have multiple pipeline running instances using the
same database file. (This is not sensible on so many levels...)
Check there isn't a crashed session that has not been cleaned up
properly
$ ls .ruffus_history.sqlite-journal
Check that the database is not corrupt
$ sqlite3 .ruffus_history.sqlite "pragma integrity_check;"
Try renaming the database
$ mv .ruffus_history.sqlite .ruffus_history.sqlite.backup

Please tell us if any of this works.
If your file system does not support placing the checkpoint database in
your working directory, you can always put it elsewhere
Leo
On 17 February 2016 at 05:43, AHCChan<EMAIL_ADDRESS>wrote:

Hi,
I'm using a pipeline implemented by Ruffus that calls several other
programs. I'm getting an error when Ruffus calls "bamM make".
This error only occurs when the data is stored on some parts of the server
but not others. Any troubleshooting help would be greatly appreciated.
The error message is as follows:
Original exception:
Exception #1
'<class 'ruffus.ruffus_exceptions.RethrownJobError'>
Exceptions generating parameters for

task = 'transcriptm.pipeline.QC_output'

Original exception:
Exception #1
  'sqlite3.OperationalError(database is locked)' raised in ...
   Task = def transcriptm.pipeline.QC_output(...):

Traceback (most recent call last):
  File "/srv/sw/ruffus/2.6.3/lib/python2.7/site-packages/ruffus/task.py", line 5118, in parameter_generator
    job_history, verbose_abbreviated_path):
  File "/srv/sw/ruffus/2.6.3/lib/python2.7/site-packages/ruffus/task.py", line 4923, in job_needs_to_run
    verbose_abbreviated_path=verbose_abbreviated_path)
  File "/srv/sw/ruffus/2.6.3/lib/python2.7/site-packages/ruffus/file_name_parameters.py", line 548, in needs_update_check_modify_time
    if os.path.relpath(p) not in job_history and p not in set_incomplete_files:
  File "/srv/sw/python/2.7.4/lib/python2.7/_abcoll.py", line 348, in __contains__
    self[key]
  File "/srv/sw/ruffus/2.6.3/lib/python2.7/site-packages/ruffus/dbdict.py", line 174, in __getitem__
    (key, )).fetchone()
OperationalError: database is locked

' raised in ...

Traceback (most recent call last):
File "/srv/sw/ruffus/2.6.3/lib/python2.7/site-packages/ruffus/task.py", line 5887, in pipeline_run
verbose)
File "/srv/sw/ruffus/2.6.3/lib/python2.7/site-packages/ruffus/task.py", line 5283, in fill_queue_with_job_parameters
for params in job_parameters:
File "/srv/sw/ruffus/2.6.3/lib/python2.7/site-packages/ruffus/task.py", line 5215, in parameter_generator
raise errt
RethrownJobError:
Exceptions generating parameters for

task = 'transcriptm.pipeline.QC_output'

Original exception:
Exception #1
  'sqlite3.OperationalError(database is locked)' raised in ...
   Task = def transcriptm.pipeline.QC_output(...):

Traceback (most recent call last):
  File "/srv/sw/ruffus/2.6.3/lib/python2.7/site-packages/ruffus/task.py", line 5118, in parameter_generator
    job_history, verbose_abbreviated_path):
  File "/srv/sw/ruffus/2.6.3/lib/python2.7/site-packages/ruffus/task.py", line 4923, in job_needs_to_run
    verbose_abbreviated_path=verbose_abbreviated_path)
  File "/srv/sw/ruffus/2.6.3/lib/python2.7/site-packages/ruffus/file_name_parameters.py", line 548, in needs_update_check_modify_time
    if os.path.relpath(p) not in job_history and p not in set_incomplete_files:
  File "/srv/sw/python/2.7.4/lib/python2.7/_abcoll.py", line 348, in __contains__
    self[key]
  File "/srv/sw/ruffus/2.6.3/lib/python2.7/site-packages/ruffus/dbdict.py", line 174, in __getitem__
    (key, )).fetchone()
OperationalError: database is locked

—
Reply to this email directly or view it on GitHub
https://github.com/bunbun/ruffus/issues/63.

A solution is to use something like:


Add support for ~/.agrc default config options

I can't live without my default options, so this adds support for ~/.agrc similar to .ackrc

Load .agrc configuration file from user's home directory if available.
CLI options take precedence over .agrc options

@schlosna Can you merge current master? Maybe that way we have some chance of getting this upstream?

I moved  @schlosna's code into 2 new source files (makes it easier to merge) and added the config file hierarchy listed above by @Zearin .  Commit is here .  Hope this helps.

@decaff
Seems to be worth a separate / follow-up PR then?!

Umm,  I'm new to github.  So, I'm unfamiliar with the protocol for things like this.  I assume that Geoff will merge if he approves and if he has time to review the code.

@decaff
Your commit will be lost/forgotten about probably, and this PR here appears to be stale.
I therefore think that creating a new PR with your commit (in a separate branch) is the way to go.

If you could let us all know what the new pull request is, that would be great. I think we're all really excited about this change.

Hmmm, I can barely chew gum and walk it comes to git.  So, is this the desired outcome?

@decaff creates a new, local branch off Geoff's master
I merge just the .agrc changes
Push the branch back up to github
Come back here and announce the branch

Is this what is desired?

@decaff
Yes, that's what I've meant.  Keeping it in a separate branch makes it easier / possible to distinguish feature sets.
But given how this PR has rotten over the months, without any feedback from @ggreer you should not expect too much from it (in the near future).. :/
However, it's still better than only having linked a commit in a comment.
After all, your effort combines the efforts from this PR and should be seen / handled as its successor.
Thanks!

@decaff
About your 2nd point: you would basically git cherry-pick your commit into the new branch - I'm not sure that's what you've meant.

I'll give it a shot.

That was really unpleasant.  Branch has been created . Found a bug in the line counting code while testing my manual merge. Fixed same.

That was really unpleasant.

Why?

Branch has been created

But no PR yet?  The link to the branch appears to be: https://github.com/ggreer/the_silver_searcher/compare/master...decaff:config-file-support

Found a bug in the line counting code while testing my manual merge. Fixed same.

But not in a separate commit?
Wouldn't it be a bugfix for ag in general (for its master branch)?  Then it should be a separate PR/issue/commit.

Bug in my line counting code in ag_rc.c .
Unpleasant because I have no idea how to use git, beyond saving changes and pushing stuff to github.  I eventually gave up and merged the changes by hand.  Better safe than trashing my local repository.
I'll push the button for a pull request...

Unpleasant because I have no idea how to use git, beyond saving changes and pushing stuff to github

You'll hopefully get used to it.
The basic steps would have been (from the origin/master branch):
# Create your branch
% git checkout -b config-file-support
# Cherry-pick your previous commit
% git cherry-pick f4336d8
# Register your origin/fork with Git
% git remote add decaff https://github.com/decaff/the_silver_searcher
# Push your branch to your fork.
% git push decaff config-file-support

But you got that figured out.
I recommend using https://github.com/github/hub/ for advanced commands with git when used with Github.

Given that there's https://github.com/ggreer/the_silver_searcher/pull/701 now, this PR could be closed probably.  (please note that I have not looked at the code)

Thanks @decaff , closing this PR in favor or #701.

PR #709 supersedes #701 .  709 is up-to-date with master and passes the clang format tests.


Add command line option to specify the version of the tensorflow wheel

There is a command line option to build_pip_package.sh (with support in setup.py) for setting the name of the pip package which is created.  This is so that Tensorflow can be called things like tensorflow_gpu.
This adds the same scaffolding for altering the version number of the PIP wheel file.
While it seems less useful, possibly even confusing, to alter the version number, this is so that a 3rd party (Graphcore) can release versions of Tensorflow which are targeted at their hardware.  It would be difficult to manage that release process without being able to change the versioning of the releases independently of the versions of Tensorflow.
The version reported by Tensorflow in python (tensorflow.version) is still the tensorflow release.  This only affects the versioning of the pip package, just like the package name does.

Nagging Reviewer @yifeif: You have been added as a reviewer to this pull request. Please add your review or reassign. It has been 15 days with no activity and the awaiting review label has been applied.

Nagging Reviewer @yifeif: You have been added as a reviewer to this pull request. Please add your review or reassign. It has been 35 days with no activity and the awaiting review label has been applied.

Nagging Reviewer @yifeif: You have been added as a reviewer to this pull request. Please add your review or reassign. It has been 50 days with no activity and the awaiting review label has been applied.

Nagging Reviewer @yifeif, @angersson: You have been added as a reviewer to this pull request. Please add your review or reassign. It has been 14 days with no activity and the awaiting review label has been applied.

Nagging Reviewer @yifeif, @angersson: You have been added as a reviewer to this pull request. Please add your review or reassign. It has been 29 days with no activity and the awaiting review label has been applied.

Nagging Reviewer @yifeif, @angersson: You have been added as a reviewer to this pull request. Please add your review or reassign. It has been 44 days with no activity and the awaiting review label has been applied.

@DavidNorman This is really old, and I just noticed it. Is this still useful?

Nagging Assignee @caisq: It has been 15 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

@DavidNorman This is really old, and I just noticed it. Is this still useful?

@DavidNorman  Could you please respond to the above question. Also request you to close this if it is not still useful.

closing this PR due to lack of activity, thank you


Backport modern ignore list

Backport modern ignore list from upstream.

@cyberdelia we shouldn't be using this anymore according @gregburek before he went on break. Can we confirm this is still used?

@genslein We are definitely still using our fork.

😢 yay python 3 👍


Memory leak when typing in editor

Describe the bug
Memory leak when typing in editor.
TL;DR

typing #fib(12) works well
typing #fib(56) could result in memory leak
type #fib(), click outside the brackets, click back and complete #fib(56), works well

To reproduce:
#let fib(n) = {
    if n <= 2 {
        1
    } else {
        fib(n - 1) + fib(n - 2)
    }
}

#fib(56)

when typing the last line directly like:
#fib

#fib()

#fib(5)

#fib(56)

then the tinymist process could consume large amount of RAM and get stuck:

(got the result of #fib(56) but tinymist refuse to update any other changes after a while)
I didn't find this problem when typing #fib(12)
But, when typing the last line separately like:
#fib

#fib()

click outside the brackets, then click back and continue
#fib(5)

#fib(56)

it works well and won't cause memory leak.
Package/Software version:
VSCode version(Help -> About):
Version: 1.95.0 (user setup)
Commit: 912bb683695358a54ae0c670461738984cbb5b95
Date: 2024-10-28T20:16:24.561Z
Electron: 32.2.1
ElectronBuildId: 10427718
Chromium: 128.0.6613.186
Node.js: 20.18.0
V8: 12.8.374.38-electron.0
OS: Windows_NT x64 10.0.19045

tinymist extension version: v0.12.0. Get it by tinymist --version in terminal.
I couldn't get this section, skipped.

Logs:
tinymist server log(Output Panel -> tinymist):
[2024-10-31T00:51:49Z INFO  sync_lsp] handling workspace/executeCommand - (36) at Instant { t: 3130.40s }
[2024-10-31T00:51:49Z INFO  sync_lsp] handled  workspace/executeCommand - (36) in 74.80µs
[2024-10-31T00:51:49Z INFO  sync_lsp] handling textDocument/codeLens - (37) at Instant { t: 3130.71s }
[2024-10-31T00:51:49Z INFO  sync_lsp] handled  textDocument/codeLens - (37) in 507.00µs
[2024-10-31T00:51:50Z INFO  sync_lsp] notifying textDocument/didChange - at Instant { t: 3131.37s }
[2024-10-31T00:51:50Z INFO  sync_lsp] notifing textDocument/didChange succeeded in 251.10µs
[2024-10-31T00:51:50Z INFO  tinymist::actor::editor] received status request(primary) Compiling
error: expected expression
   ┌─ d:\Projects\typst\test.typ:10:1
   │
10 │ #
   │  ^

[2024-10-31T00:51:50Z INFO  tinymist::actor::editor] received diagnostics from primary:19: diag(Some(1))
[2024-10-31T00:51:50Z INFO  tinymist::actor::editor] received status request(primary) CompileError
[2024-10-31T00:51:50Z INFO  tinymist::task::cache] CacheEvictTask: evict cache in 34.5µs
[2024-10-31T00:51:50Z INFO  sync_lsp] handling textDocument/completion - (38) at Instant { t: 3131.38s }
[2024-10-31T00:51:50Z INFO  tinymist_query::upstream::complete] continue after completing type
[2024-10-31T00:51:50Z INFO  tinymist_query::syntax::lexical_hierarchy] lexical hierarchy analysis took 250.5µs
[2024-10-31T00:51:50Z INFO  tinymist_query::analysis::tyck] Type checking on \test.typ took 336.5µs
[2024-10-31T00:51:50Z INFO  sync_lsp] handled  textDocument/completion - (38) in 35.53ms
[2024-10-31T00:51:50Z INFO  sync_lsp] handling textDocument/inlayHint - (39) at Instant { t: 3131.47s }
[2024-10-31T00:51:50Z INFO  sync_lsp] handled  textDocument/inlayHint - (39) in 228.70µs
[2024-10-31T00:51:50Z INFO  sync_lsp] handling textDocument/foldingRange - (40) at Instant { t: 3131.57s }
[2024-10-31T00:51:50Z INFO  tinymist_query::syntax::lexical_hierarchy] lexical hierarchy analysis took 155.8µs
[2024-10-31T00:51:50Z INFO  sync_lsp] handled  textDocument/foldingRange - (40) in 362.20µs
[2024-10-31T00:51:50Z INFO  sync_lsp] handling textDocument/codeLens - (41) at Instant { t: 3131.63s }
[2024-10-31T00:51:50Z INFO  sync_lsp] handled  textDocument/codeLens - (41) in 528.20µs
[2024-10-31T00:51:50Z INFO  sync_lsp] handling textDocument/semanticTokens/full/delta - (42) at Instant { t: 3131.67s }
[2024-10-31T00:51:50Z INFO  sync_lsp] handled  textDocument/semanticTokens/full/delta - (42) in 289.30µs
[2024-10-31T00:51:50Z INFO  sync_lsp] handling textDocument/codeAction - (43) at Instant { t: 3131.71s }
[2024-10-31T00:51:50Z INFO  sync_lsp] handled  textDocument/codeAction - (43) in 323.60µs
[2024-10-31T00:51:50Z INFO  sync_lsp] handling textDocument/documentSymbol - (44) at Instant { t: 3131.75s }
[2024-10-31T00:51:50Z INFO  tinymist_query::syntax::lexical_hierarchy] lexical hierarchy analysis took 181.9µs
[2024-10-31T00:51:50Z INFO  sync_lsp] handled  textDocument/documentSymbol - (44) in 733.80µs
[2024-10-31T00:51:50Z INFO  sync_lsp] handling textDocument/documentSymbol - (45) at Instant { t: 3131.75s }
[2024-10-31T00:51:50Z INFO  tinymist_query::syntax::lexical_hierarchy] lexical hierarchy analysis took 167.5µs
[2024-10-31T00:51:50Z INFO  sync_lsp] handled  textDocument/documentSymbol - (45) in 411.00µs
[2024-10-31T00:51:51Z INFO  sync_lsp] notifying textDocument/didChange - at Instant { t: 3131.85s }
[2024-10-31T00:51:51Z INFO  sync_lsp] notifing textDocument/didChange succeeded in 310.90µs
[2024-10-31T00:51:51Z INFO  tinymist::actor::editor] received status request(primary) Compiling
error: unknown variable: f
   ┌─ d:\Projects\typst\test.typ:10:1
   │
10 │ #f
   │  ^

[2024-10-31T00:51:51Z INFO  tinymist::actor::editor] received diagnostics from primary:20: diag(Some(1))
[2024-10-31T00:51:51Z INFO  tinymist::actor::editor] received status request(primary) CompileError
[2024-10-31T00:51:51Z INFO  tinymist::task::cache] CacheEvictTask: evict cache in 41.2µs
[2024-10-31T00:51:51Z INFO  sync_lsp] handling textDocument/inlayHint - (46) at Instant { t: 3131.92s }
[2024-10-31T00:51:51Z INFO  tinymist_query::syntax::lexical_hierarchy] lexical hierarchy analysis took 89.9µs
[2024-10-31T00:51:51Z INFO  tinymist_query::analysis::tyck] Type checking on \test.typ took 219.5µs
[2024-10-31T00:51:51Z INFO  sync_lsp] handled  textDocument/inlayHint - (46) in 956.00µs
[2024-10-31T00:51:51Z INFO  sync_lsp] notifying textDocument/didChange - at Instant { t: 3131.97s }
[2024-10-31T00:51:51Z INFO  sync_lsp] notifing textDocument/didChange succeeded in 263.80µs
[2024-10-31T00:51:51Z INFO  tinymist::actor::editor] received status request(primary) Compiling
error: unknown variable: fi
   ┌─ d:\Projects\typst\test.typ:10:1
   │
10 │ #fi
   │  ^^

[2024-10-31T00:51:51Z INFO  tinymist::actor::editor] received diagnostics from primary:21: diag(Some(1))
[2024-10-31T00:51:51Z INFO  tinymist::actor::editor] received status request(primary) CompileError
[2024-10-31T00:51:51Z INFO  tinymist::task::cache] CacheEvictTask: evict cache in 42.3µs
[2024-10-31T00:51:51Z INFO  sync_lsp] handling textDocument/inlayHint - (47) at Instant { t: 3132.08s }
[2024-10-31T00:51:51Z INFO  tinymist_query::syntax::lexical_hierarchy] lexical hierarchy analysis took 153.6µs
[2024-10-31T00:51:51Z INFO  tinymist_query::analysis::tyck] Type checking on \test.typ took 203.9µs
[2024-10-31T00:51:51Z INFO  sync_lsp] handled  textDocument/inlayHint - (47) in 965.30µs
[2024-10-31T00:51:51Z INFO  sync_lsp] notifying textDocument/didChange - at Instant { t: 3132.17s }
[2024-10-31T00:51:51Z INFO  sync_lsp] notifing textDocument/didChange succeeded in 269.70µs
[2024-10-31T00:51:51Z INFO  tinymist::actor::editor] received status request(primary) Compiling
[2024-10-31T00:51:51Z INFO  tinymist::actor::editor] received diagnostics from primary:22: diag(Some(0))
[2024-10-31T00:51:51Z DEBUG typst_preview::actor::render] OutlineRenderActor: received message: RenderIncremental
[2024-10-31T00:51:51Z INFO  tinymist::actor::editor] received status request(primary) CompileSuccess
[2024-10-31T00:51:51Z DEBUG typst_preview::actor::render] OutlineRenderActor: sending outline
[2024-10-31T00:51:51Z DEBUG typst_preview::actor::render] OutlineRenderActor: waiting for message
[2024-10-31T00:51:51Z DEBUG typst_preview::actor::render] RenderActor: has_full_render: false
[2024-10-31T00:51:51Z INFO  tinymist::task::cache] CacheEvictTask: evict cache in 54.5µs
[2024-10-31T00:51:51Z DEBUG typst_preview::actor::render] RenderActor: waiting for message
[2024-10-31T00:51:51Z INFO  sync_lsp] handling textDocument/semanticTokens/full/delta - (48) at Instant { t: 3132.22s }
[2024-10-31T00:51:51Z INFO  sync_lsp] handled  textDocument/semanticTokens/full/delta - (48) in 380.60µs
[2024-10-31T00:51:51Z INFO  sync_lsp] handling textDocument/inlayHint - (49) at Instant { t: 3132.23s }
[2024-10-31T00:51:51Z INFO  tinymist_query::syntax::lexical_hierarchy] lexical hierarchy analysis took 69.1µs
[2024-10-31T00:51:51Z INFO  tinymist_query::analysis::tyck] Type checking on \test.typ took 173.1µs
[2024-10-31T00:51:51Z INFO  sync_lsp] handled  textDocument/inlayHint - (49) in 947.90µs
[2024-10-31T00:51:51Z INFO  sync_lsp] handling textDocument/foldingRange - (50) at Instant { t: 3132.39s }
[2024-10-31T00:51:51Z INFO  tinymist_query::syntax::lexical_hierarchy] lexical hierarchy analysis took 101.4µs
[2024-10-31T00:51:51Z INFO  sync_lsp] handled  textDocument/foldingRange - (50) in 357.50µs
[2024-10-31T00:51:51Z INFO  sync_lsp] handling textDocument/documentColor - (51) at Instant { t: 3132.39s }
[2024-10-31T00:51:51Z INFO  sync_lsp] handled  textDocument/documentColor - (51) in 344.40µs
[2024-10-31T00:51:51Z INFO  sync_lsp] handling textDocument/codeLens - (52) at Instant { t: 3132.44s }
[2024-10-31T00:51:51Z INFO  sync_lsp] handled  textDocument/codeLens - (52) in 531.80µs
[2024-10-31T00:51:51Z INFO  sync_lsp] notifying textDocument/didChange - at Instant { t: 3132.45s }
[2024-10-31T00:51:51Z INFO  sync_lsp] notifing textDocument/didChange succeeded in 315.70µs
[2024-10-31T00:51:51Z INFO  tinymist::actor::editor] received status request(primary) Compiling
error: missing argument: n
   ┌─ d:\Projects\typst\test.typ:10:1
   │
10 │ #fib()
   │  ^^^^^

[2024-10-31T00:51:51Z INFO  tinymist::actor::editor] received diagnostics from primary:23: diag(Some(1))
[2024-10-31T00:51:51Z INFO  tinymist::actor::editor] received status request(primary) CompileError
[2024-10-31T00:51:51Z INFO  tinymist::task::cache] CacheEvictTask: evict cache in 61.5µs
[2024-10-31T00:51:51Z INFO  sync_lsp] handling textDocument/completion - (53) at Instant { t: 3132.47s }
[2024-10-31T00:51:51Z INFO  tinymist_query::syntax::lexical_hierarchy] lexical hierarchy analysis took 140µs
[2024-10-31T00:51:51Z INFO  tinymist_query::analysis::tyck] Type checking on \test.typ took 232.6µs
[2024-10-31T00:51:51Z INFO  sync_lsp] handled  textDocument/completion - (53) in 30.22ms
[2024-10-31T00:51:51Z INFO  sync_lsp] handling textDocument/inlayHint - (54) at Instant { t: 3132.53s }
[2024-10-31T00:51:51Z INFO  sync_lsp] handled  textDocument/inlayHint - (54) in 511.70µs
[2024-10-31T00:51:51Z INFO  sync_lsp] handling textDocument/signatureHelp - (55) at Instant { t: 3132.59s }
[2024-10-31T00:51:51Z INFO  tinymist_query::analysis::linked_def] def_name for function: Ident: "fib"
[2024-10-31T00:51:51Z INFO  tinymist_query::analysis::linked_def] okay for function: Some((Func(fib), None))
[2024-10-31T00:51:51Z INFO  sync_lsp] handled  textDocument/signatureHelp - (55) in 342.00µs
[2024-10-31T00:51:51Z INFO  sync_lsp] handling textDocument/foldingRange - (56) at Instant { t: 3132.67s }
[2024-10-31T00:51:51Z INFO  tinymist_query::syntax::lexical_hierarchy] lexical hierarchy analysis took 54.4µs
[2024-10-31T00:51:51Z INFO  sync_lsp] handled  textDocument/foldingRange - (56) in 193.80µs
[2024-10-31T00:51:51Z INFO  sync_lsp] handling textDocument/codeLens - (57) at Instant { t: 3132.72s }
[2024-10-31T00:51:51Z INFO  sync_lsp] handled  textDocument/codeLens - (57) in 547.20µs
[2024-10-31T00:51:51Z INFO  sync_lsp] handling textDocument/semanticTokens/full/delta - (58) at Instant { t: 3132.76s }
[2024-10-31T00:51:51Z INFO  sync_lsp] handled  textDocument/semanticTokens/full/delta - (58) in 363.90µs
[2024-10-31T00:51:52Z INFO  sync_lsp] handling textDocument/documentSymbol - (59) at Instant { t: 3132.85s }
[2024-10-31T00:51:52Z INFO  tinymist_query::syntax::lexical_hierarchy] lexical hierarchy analysis took 73.5µs
[2024-10-31T00:51:52Z INFO  sync_lsp] handled  textDocument/documentSymbol - (59) in 322.10µs
[2024-10-31T00:51:52Z INFO  sync_lsp] handling textDocument/codeAction - (60) at Instant { t: 3132.86s }
[2024-10-31T00:51:52Z INFO  sync_lsp] handling textDocument/documentSymbol - (61) at Instant { t: 3132.86s }
[2024-10-31T00:51:52Z INFO  sync_lsp] handled  textDocument/codeAction - (60) in 791.20µs
[2024-10-31T00:51:52Z INFO  tinymist_query::syntax::lexical_hierarchy] lexical hierarchy analysis took 47.1µs
[2024-10-31T00:51:52Z INFO  sync_lsp] handled  textDocument/documentSymbol - (61) in 197.70µs
[2024-10-31T00:51:52Z INFO  sync_lsp] notifying textDocument/didChange - at Instant { t: 3133.02s }
[2024-10-31T00:51:52Z INFO  sync_lsp] notifing textDocument/didChange succeeded in 395.00µs
[2024-10-31T00:51:52Z INFO  tinymist::actor::editor] received status request(primary) Compiling
[2024-10-31T00:51:52Z INFO  tinymist::actor::editor] received diagnostics from primary:24: diag(Some(0))
[2024-10-31T00:51:52Z INFO  tinymist::actor::editor] received status request(primary) CompileSuccess
[2024-10-31T00:51:52Z DEBUG typst_preview::actor::render] OutlineRenderActor: received message: RenderIncremental
[2024-10-31T00:51:52Z DEBUG typst_preview::actor::render] RenderActor: has_full_render: false
[2024-10-31T00:51:52Z DEBUG typst_preview::actor::render] OutlineRenderActor: sending outline
[2024-10-31T00:51:52Z DEBUG typst_preview::actor::render] OutlineRenderActor: waiting for message
[2024-10-31T00:51:52Z INFO  tinymist::task::cache] CacheEvictTask: evict cache in 43.5µs
[2024-10-31T00:51:52Z DEBUG typst_preview::actor::render] RenderActor: waiting for message
[2024-10-31T00:51:52Z INFO  sync_lsp] handling textDocument/inlayHint - (62) at Instant { t: 3133.08s }
[2024-10-31T00:51:52Z INFO  tinymist_query::syntax::lexical_hierarchy] lexical hierarchy analysis took 133.2µs
[2024-10-31T00:51:52Z INFO  tinymist_query::analysis::tyck] Type checking on \test.typ took 223.2µs
[2024-10-31T00:51:52Z INFO  sync_lsp] handled  textDocument/inlayHint - (62) in 944.40µs
[2024-10-31T00:51:52Z INFO  sync_lsp] handling textDocument/signatureHelp - (63) at Instant { t: 3133.18s }
[2024-10-31T00:51:52Z INFO  tinymist_query::analysis::linked_def] def_name for function: Ident: "fib"
[2024-10-31T00:51:52Z INFO  tinymist_query::analysis::linked_def] okay for function: Some((Func(fib), None))
[2024-10-31T00:51:52Z INFO  sync_lsp] handled  textDocument/signatureHelp - (63) in 1.22ms
[2024-10-31T00:51:52Z INFO  sync_lsp] notifying textDocument/didChange - at Instant { t: 3133.24s }
[2024-10-31T00:51:52Z INFO  sync_lsp] notifing textDocument/didChange succeeded in 251.70µs
[2024-10-31T00:51:52Z INFO  tinymist::actor::editor] received status request(primary) Compiling
[2024-10-31T00:51:52Z INFO  tinymist::actor::editor] received diagnostics from primary:25: diag(Some(0))
[2024-10-31T00:51:52Z INFO  tinymist::actor::editor] received status request(primary) CompileSuccess
[2024-10-31T00:51:52Z DEBUG typst_preview::actor::render] OutlineRenderActor: received message: RenderIncremental
[2024-10-31T00:51:52Z DEBUG typst_preview::actor::render] RenderActor: has_full_render: false
[2024-10-31T00:51:52Z INFO  tinymist::task::cache] CacheEvictTask: evict cache in 36.1µs
[2024-10-31T00:51:52Z DEBUG typst_preview::actor::render] OutlineRenderActor: sending outline
[2024-10-31T00:51:52Z DEBUG typst_preview::actor::render] OutlineRenderActor: waiting for message
[2024-10-31T00:51:52Z DEBUG typst_preview::actor::render] RenderActor: waiting for message
[2024-10-31T00:51:52Z INFO  sync_lsp] handling textDocument/inlayHint - (64) at Instant { t: 3133.29s }
[2024-10-31T00:51:52Z INFO  tinymist_query::syntax::lexical_hierarchy] lexical hierarchy analysis took 70.4µs
[2024-10-31T00:51:52Z INFO  tinymist_query::analysis::tyck] Type checking on \test.typ took 172.4µs
[2024-10-31T00:51:52Z INFO  sync_lsp] handled  textDocument/inlayHint - (64) in 938.70µs
[2024-10-31T00:51:52Z INFO  sync_lsp] handling textDocument/semanticTokens/full/delta - (65) at Instant { t: 3133.36s }
[2024-10-31T00:51:52Z INFO  sync_lsp] handled  textDocument/semanticTokens/full/delta - (65) in 347.40µs
[2024-10-31T00:51:52Z INFO  sync_lsp] handling textDocument/signatureHelp - (66) at Instant { t: 3133.39s }
[2024-10-31T00:51:52Z INFO  tinymist_query::analysis::linked_def] def_name for function: Ident: "fib"
[2024-10-31T00:51:52Z INFO  sync_lsp] handling textDocument/foldingRange - (67) at Instant { t: 3133.46s }
[2024-10-31T00:51:52Z INFO  tinymist_query::syntax::lexical_hierarchy] lexical hierarchy analysis took 94.5µs
[2024-10-31T00:51:52Z INFO  sync_lsp] handled  textDocument/foldingRange - (67) in 311.80µs
[2024-10-31T00:51:52Z INFO  sync_lsp] handling textDocument/documentColor - (68) at Instant { t: 3133.47s }
[2024-10-31T00:51:52Z INFO  sync_lsp] handled  textDocument/documentColor - (68) in 561.30µs
[2024-10-31T00:51:52Z INFO  sync_lsp] handling textDocument/codeAction - (69) at Instant { t: 3133.51s }
[2024-10-31T00:51:52Z INFO  sync_lsp] handled  textDocument/codeAction - (69) in 314.80µs
[2024-10-31T00:51:52Z INFO  sync_lsp] handling textDocument/codeLens - (70) at Instant { t: 3133.52s }
[2024-10-31T00:51:52Z INFO  sync_lsp] handled  textDocument/codeLens - (70) in 689.90µs
[2024-10-31T00:51:52Z INFO  sync_lsp] handling textDocument/documentSymbol - (71) at Instant { t: 3133.62s }
[2024-10-31T00:51:52Z INFO  tinymist_query::syntax::lexical_hierarchy] lexical hierarchy analysis took 93.6µs
[2024-10-31T00:51:52Z INFO  sync_lsp] handled  textDocument/documentSymbol - (71) in 337.10µs
[2024-10-31T00:51:52Z INFO  sync_lsp] handling textDocument/documentSymbol - (72) at Instant { t: 3133.62s }
[2024-10-31T00:51:52Z INFO  tinymist_query::syntax::lexical_hierarchy] lexical hierarchy analysis took 116.6µs
[2024-10-31T00:51:52Z INFO  sync_lsp] handled  textDocument/documentSymbol - (72) in 322.80µs
[2024-10-31T00:51:53Z INFO  sync_lsp] handling textDocument/inlayHint - (73) at Instant { t: 3134.06s }
[2024-10-31T00:51:53Z INFO  sync_lsp] handled  textDocument/inlayHint - (73) in 180.40µs
[2024-10-31T00:51:53Z INFO  sync_lsp] handling textDocument/documentLink - (74) at Instant { t: 3134.26s }
[2024-10-31T00:51:53Z INFO  sync_lsp] handled  textDocument/documentLink - (74) in 187.10µs
[2024-10-31T00:51:55Z INFO  sync_lsp] handling workspace/executeCommand - (75) at Instant { t: 3136.02s }
[2024-10-31T00:51:55Z INFO  sync_lsp] handled  workspace/executeCommand - (75) in 33.30µs
[2024-10-31T00:51:55Z INFO  sync_lsp] notifying $/cancelRequest - at Instant { t: 3136.03s }
[2024-10-31T00:51:55Z WARN  sync_lsp] unhandled notification: $/cancelRequest

tinymist client log(Help -> Toggle Developer Tools -> Console):
VM17:5926 batch 1 messages
VM17:5947 recv diff-v1 1404
VM17:1388 render_in_window with partial rendering enabled window 0.8186813186813187 0 0.8186813186813187<PHONE_NUMBER>989011<PHONE_NUMBER>043956 , patch scale 2023
VM17:369 parse 2.50 ms, rerender 19.70 ms, total 22.20 ms
VM17:1832 updateCanvas start
VM17:1872 updateCanvas done 0.39999999990686774
VM17:5926 batch 1 messages
VM17:5947 recv diff-v1 908
VM17:1388 render_in_window with partial rendering enabled window 0.8186813186813187 0 0.8186813186813187<PHONE_NUMBER>989011<PHONE_NUMBER>043956 , patch scale 1489
VM17:369 parse 0.30 ms, rerender 5.10 ms, total 5.40 ms
VM17:1832 updateCanvas start
VM17:1872 updateCanvas done 0.5
VM17:5926 batch 1 messages
VM17:5947 recv diff-v1 3220
VM17:1388 render_in_window with partial rendering enabled window 0.8186813186813187 0 0.8186813186813187<PHONE_NUMBER>989011<PHONE_NUMBER>043956 , patch scale 4145
VM17:369 parse 0.40 ms, rerender 4.50 ms, total 4.90 ms
VM17:1832 updateCanvas start
VM17:1872 updateCanvas done 0.2999999998137355
console.ts:137 [Extension Host] skip extension-output file extension-output-myriad-dreamin.tinymist-#1-Tinymist Typst Language Server

Additional context

It also happens without the preview page
I also reproduced this issue on my roommate's device.

Will typst watch consume a lot of ram in this case?

It doesn't happen when using typst watch.
I guess it is unrelated, as it could still occur even without the preview page, just by using the tinymist syntax hints.

It doesn't happen when using typst watch.
I guess it is unrelated, as it could still occur even without the preview page, just by using the tinymist syntax hints.

Thanks, this help us triage this issue.

I noticed that for smaller n, tinymist can also consume a lot of RAM.
In these cases, I can measure the RAM usage since it is much lower than #fib(56):

#fib(29): 446.7MB
#fib(30): 716.3MB
#fib(31): 1152.8MB
#fib(32): 1855.5MB
#fib(33): 2994.5MB
(I restart tinymist before these measurements to ensure they are independent.)

I know this Fibonacci sequence algorithm is exponential, but it's strange that doing syntax hints for it could result in high memory consumption; this may explain why tinymist gets stuck in the case of #fib(56)."


Hotfix/storage

This PR

fixes #118 (allow fetch calls to the same url in parallel)
fixes #117 (allow null value as parameter)

Tests have been added

Added you as admin @shreyasthiagaraj


🐛:  Application responsive issues with small and medium devices

:red_circle: Title : Application responsive issues with small and medium devices
:red_circle: Bug : Need to enhance the code for different devices like small and medium for good UI in other size devices as in talk mentioned in #966
:red_circle: Changes :   Changing the  code according to the different Devices can help to improve the responsivesness
Screenshots 📷

:white_check_mark: To be Mentioned while taking the issue :

Full name :  Sameer Shaik
What is your participant role? GSSOC24-extented

Hey i am a first time open source contributor,I am interested in working with this issue , Can you please assign it to me.

Hi @Avdhesh-Varshney I would like to contribute in this under KWoC 2024
Name - Alia Haider
GitHub Link -https://github.com/ALIA-HAIDER

@ChetanCoder24 what's the update?


Use MK's CLib for crypto

Update:

m4 is a gigantic pita
build fail consistently on non-x86 (windows at least)


Some images with lazyload class sometimes get stuck in the lazyloading state

Some images with lazyload class in some cases get sucked in the laziloading state with the laziloading class, and they never get the lazyloaded class. However the images are loaded by the browser, but they are not displayed.

Thanks, I clearly need more information:

url to a testcase/showcase?
in what browser(s) does this happen?

I can confirm that there seems to be something wrong with either detecting when the image is in the "lazyload viewport" or when it is fully loaded. Sometimes my images don't show up on the page even when they are in cache and should be there quickly. Although I cannot yet provide more info other than that this happens for me on Chrome 53.0.2785.143 m and that we're using responsive images with the picture element. I'll try to reproduce this somehow and give more info...

Why can't you distinguish between the situations "wrong viewport detection" and "wrong loaded detection".
At the end I really need a testcase (you don't even need to reduce this a full page/app is enough for me to figure it out).

Because it happens infrequently and when I open the dev tools to see what exactly is going on, it usually also causes the images to show up.
We use the lib on https://energy.ch and it's also where we got the problems sometimes.

So we have a kind of a schrödingers bug. I tried your page and couldn't reproduce it. I will keep on trying.
But I can already give you something to check for yourself. Chrome sometimes seems to handle "pictured" img elements without initial src, alt and a srcset attributes quite strange (i.e. all those conditions have to present).
Can you try to add either an empty alt="" or src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" (or both to your images) and check yourself.

Just rechecked an empty alt="" doesn't help. Try to add the src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==".

Hi @aFarkas,
Thank you for your questions!

I am using lazysizes on one of my sales page, where I advertise an Android 6.0 phone with a great price for the value for Hungarians. Each image has an initial src tag like this: src="image/placeholder.png". You can experience the reported issue in the slider, which is using Swiper. Elevatezoom is also used on those images in the slider.
Windows 10 64bit, Google Chrome 54.0.2840.71 m I can also repruduce the issue under the following browsers: Mozilla Firefox 49.0.1, 49.0.2, Opera 39.0, 40.0, Microsoft Edge 38.14393.0.0 and Microsoft Internet Expplorer 11.321.14393.0

The reported issue happens when I select a color variant other than the initially selected one. Than I hover the mouse on a thumbnail image, which is on a newly added slide. Than I hover on the image above the thumbnail and the issue occurs.

@kireerik
Your issue is not really comparable with the issue of @marcelgwerder. In case of @marcelgwerder I assume a browser bug, that hopefully can be worked around by using a valid src or srcset attribute.
You bug seems more like a JS conflict. I assume the following line(s) produce this:
activeSlide.data('original-content',activeSlide.html()).html(newSlide.html())
/*....*/
previousSlide.html(activeSlideContent).data('original-content', activeSlideContent)
activeSlide.html(activeSlide.data('original-content')).css('background-color', '')

The problem is that you constantly destroy the DOM elements. You can workaround this by either working with the real nodes:
activeSlide.data('original-content',activeSlide.children().detach()).html(newSlide.children())
/* ...
Don't forget the other two lines.
*/

Or by re-adding the lazyload class:
activeSlide.data('original-content',activeSlide.html()).html(newSlide.html()).find('.lazyloading').addClass('lazyload');
/* ...
Don't forget the other two lines.
*/

Hi @aFarkas,
Thank you for your detailed reply! I really appreciate your work!
I re-added the lazyload class, so now my implementation works perfectly.
I only needed to re-add the class at one point, when you hover the mouse over the big image from the thumbnail.
I think now we can close this issue, because it is not closely related to lazysizes, or is it?

I also experience this. I have no user interaction with the images, they are in the format of <picture>..source.. img.. </picture>
I am seeing this when my website is being prerendered and the class of the img is changed to preloading  and not to preloaded. very annoying. and I do give enough time (tried a very long timeout) for the page to "settle down" before telling the prerender the page is ready.

I am also using (picturefill)[https://github.com/scottjehl/picturefill] if that's any helpful information

hi,
i have nearly the same issue on my website. lazyloading keeps static in IE and Safari (mobile) and nothing more happens. even the image is NOT loaded - so it's not just a replacing/rendering problem.
all other browsers work.

big picture on https://holospirit.is (need to scroll down a bit).

Any possible workarounds for this issue? I have the same issue with a new project but it is only in IE. The first images in the viewport gets loaded and the rest of them stuck at class 'lazy-loading'. Any update one this issue? pls help. Thanks

Hi,
I'm experiencing the same issue after update from v.2.0.0 to 4.0.0. recently (on all major browsers including Chrome). Not on every place, but some images have still "lazyloading" state class. Only that class with its own style cause the zero opacity and makes image invisible.
This is only happening when I'm directly on the same screen while lazyload is applied. When I'm scrolling from the top after refresh, everything works well. One more note is, that those images are loaded dynamically with Angular.
Any ideas how to fix it (I would rather some systematic solution rather than some hotfix mentioned above - just find "lazyloading" class and replace it with lazyload?
Cheers.

@VonSandberg
Can you give me a URL to check this bug?

@VonSandberg
It would be extremely important for me to get access to a testcase or the real site or something to see this regression bug. Please help!!!

@aFarkas
I know. Unfortunately, I'm not able to demonstrate it (internal project).
FIX:
We ended up with the simple window.ready function calling init().

@VonSandberg
To bad this solution isn't working for me.
With the state changing i'm stil getting stuck on the lazyloading even after i call the lazySizes.init() in window.ready.

@wplerp
Maybe you forgot to disable the auto init feature?
<script>
window.lazySizesConfig = window.lazySizesConfig || {};
window.lazySizesConfig.init = false;
</script>

<script>
onMyCallback(lazySizes.init);
</script>

@aFarkas
Yes! that fixed it.
Thank you for your fast response!

fwiw, had a similar issue with Vue, had to delay lazySizes.init until after Vue had mounted our SSR dom elements

@jakedowns I can confirm getting issues with images not leaving lazyloading with Vue.
(My use case is lazysizes + picturefill + bgset-plugin, but getting the same issue. If I disable Vue, everything works as it should)

I get this same issue of lazyload elements stuck with class "lazyloading" but can see that the image has loaded in dev tools (network). If I clear my browser (Chrome) cache and load up the page, most times the thumbnails have this issue... eg.:
http://edwinacorlette.com/artists/clara-adolphs
Tried the manual init tricks listed above and still have this issue.

I was using HTML commenting to hide some HTML from being indexed - content that I write into the page on load so I think the rewriting of html (using .html(content) inside document.ready) was causing issues since lazyloading was initialising from the head element - but not entirely sure this was the issue. I did fix it though by doing this at the end of my jquery document.ready script:
$('.lazyloading').addClass('lazyload').removeClass('lazyloading');
I did this to try and get any elements stuck in lazyloading to retrigger their loading etc.
This seems to have fixed the issue. I thought about delaying the init of lazysizes until the end of document.ready but like the idea of images starting to load ASAP.

@moldedjelly
This is obvious the reason for your issue. At this point the lazyload class is removed, but the DOM references to the loading elements is destroyed.
The best thing todo is to rewrite you HTML by keeping the lazyload elements. i.e.: Do not use innerHTML and similar method but use dom mutation methods like apendChild, setAttribute etc..

I am still getting this issue on version 4.0.1 on IE11

On this url - https://www.hillarys.co.uk/blinds-range/roller-blinds/
There is a component further down to "A Roller blind for all reasons" I am getting the lazyloading class. This is slowly becoming a sitewide issue. Am I implementing it incorrectly?
Thanks
Matt

Same issue here on IE11. I feel like this has only appeared in the last couple of days, i swear it used to work.

@code-mattclaffey
Use data-srcset on the img element instead of data-src or use a last source element without a media attribute condition.

@aFarkas why would adding srcset on the img tag work? I have added it in and it did seem to work but in the documentation it states that the image element should have data-src applied to it? Is data-srcset the attribute to use for picture elements that have different sources?

@code-mattclaffey
This is a very specific issue that has to do with how loading in general works and only applies to the following situation:

you are in a browser that does not support picture and you are using a picture element
you are using a polyfill
you have no srcset/data-srcset on your img element
the last source has a media or a type attribute

The problem is if I add the src element to img it downloads this immediately even if this src is overwritten by the polyfill. This is why I don't change the src in those browsers.
With my newest change I will automatically mirror the data-src to the srcset element in those cases.

Hi,
Even we are also facing the same issue.

Though we scrolled down to the page src attibute is not set and network requests were not triggered for images
TIA

@0xc0d3r
Pretty sure it is not a lazysizes issue. But you always need to provide a testcase or at least a link to the site, otherwise I can't reproduce the problem.

@aFarkas
Can you check the images in this page?
https://ibc-web-gamma.apigateway.in/viu/vr-cricket-super-over-league/

@0xc0d3r
lazySizes is not included on this page.

@aFarkas Thanks for the prompt response. <3
I'm removing the comment which has the link.

I still encounter this issue with lazysizes and vue on re-used router views (including :key='id' did not help). The issue seems to arise when Vue re-uses same img tag with same :key. Lazysizes does not remove .lazyloading and in Network tab those images are marked as "Stalled".
I'm not sure who's culprit here: vue, lazysizes or Chrome, but nor plugins neither any LS configuration options helped to alleviate the issue.
So I ended up building primitive cache within Vuex that tracks images that already had been displayed to a user (under assumption that they ended up in browser cache) and once an image is in the cache, it won't be lazyloaded anymore:
          const tempCache = new Set([...state.thumbsCache])
          response.data.pix.forEach(pic => tempCache.add(pic.id))
          state.thumbsCache = Object.freeze(tempCache)

In your template something like:
:src="thumbsCache.has(id) ? thumbURL(id): null" :data-src="//opposite logic"

hi @aFarkas, i'm having this issue on  https://dekora-angular.firebaseapp.com/home (mobile view). sometimes the image of the first item of the slides doesn't get to load (and sometimes the second). it happens about 1/10 times when i first load the page. I'm using angular 8. Greetings!

@aFarkas I'm just wondering why this issue was closed? This issue is still occurring in IE 11 (as shown in the attached screenshot below. Is there any solution to prevent the lazyloading class from getting stuck?

@aFarkas ,
My videos are getting stucked with 'lazyloading', instead of loazyloaded.

kindly let me know the fix for it.

Same problem here with Google Chrome, my first ten elements is lazyloading and not set the class to lazyloaded

Same problem here with bgset plugin and slow response time from images CDN (~2 seconds).

This solved my problem, I just added ti init in the $.ready callback

@wplerp
Maybe you forgot to disable the auto init feature?
<script>
window.lazySizesConfig = window.lazySizesConfig || {};
window.lazySizesConfig.init = false;
</script>

<script>
onMyCallback(lazySizes.init);
</script>

This solved my problem, I just added ti init in the $.ready callback

@wplerp
Maybe you forgot to disable the auto init feature?
<script>
window.lazySizesConfig = window.lazySizesConfig || {};
window.lazySizesConfig.init = false;
</script>

<script>
onMyCallback(lazySizes.init);
</script>

@wplerp
Maybe you forgot to disable the auto init feature?
<script>
window.lazySizesConfig = window.lazySizesConfig || {};
window.lazySizesConfig.init = false;
</script>

<script>
onMyCallback(lazySizes.init);
</script>

@aFarkas I don't know if it's due to the fact that I'm importing the library with webpack, but I don't have an available lazySizesConfig variable if I do
import 'lazysizes';
// window.lazySizesConfig will be undefined at the start and then an empty object
window.lazySizesConfig = window.lazySizesConfig || {};

In order to extract the config I need to do this instead:
const lazySizesConfig = lazySizes.cfg;

Apart from the that, your solution fixed my issue:
const lazySizesConfig = lazySizes.cfg;
lazySizesConfig.init = false;
window.addEventListener('load', lazySizes.init);

this plugin should fix this issue:
https://github.com/aFarkas/lazysizes/tree/gh-pages/plugins/attrchange


Add name and version to bls wallet domains

What is this PR doing?
Adds name and version to BLS Wallet domains. Following offline discussion with @jzaki, we decided that we do not need to implement EIP-712 at the contract level. Instead, the EIP-712 smart contract changes are mainly relevant at the dapp/protocol level, not the contract level for smart contract wallets.
The audit did not specify directly implementing 712, but instead, using it as inspiration and additional information for completing audit issue 7 - #571:

Other recommendations are to also include a version and a name fields to allow protocol upgrades. Consider using the EIP712 domain as inspiration and additional information.

Although the contracts don't need EIP-712 support, we may want to consider adding support for EIP-712 in Quill in another issue, as it currently does not.
How can these changes be manually tested?

run tests

Does this PR resolve or contribute to any issues?
resolves #25
Checklist

[x] I have manually tested these changes
[x] Post a link to the PR in the group chat

Guidelines

If your PR is not ready, mark it as a draft
The resolve conversation button is for reviewers, not authors

(But add a 'done' comment or similar)

I was a little confused by the description though, I don't think I understand the comment - we decided we do not need to implement EIP-712 at the contract level. What would need to change to implement 712 at the contract level and why are we then adding a name and version into the domain?
Are these changes so that Quill can show the name and version to the user before they sign a message?

The domain does not conform to 712, as it includes "Bundle" and "Wallet" as an extra param. The name and version helps separate domains of version numbers and wallet signer name. So if the gateway contract was updated in situ (it can't be), then the version in the domain would separate messages signed for the previous version to be valid in the new version.
The scope of 712 domains makes sense for domain separation at the dapp level, and for legibility as you suggest. The BLS domain is effectively at a lower level.

@jzaki Nice that makes sense 👍.  I was confused because I was curious what the benefit of adding a name and version if we aren't making it 712 compliant.  As the only way to change the VG is to deploy a new one which would change VG address and that would change the domain.  But it sounds like legibility is the main advantage here.

I was a little confused by the description though, I don't think I understand the comment - we decided we do not need to implement EIP-712 at the contract level. What would need to change to implement 712 at the contract level and why are we then adding a name and version into the domain?

@blakecduncan yeah re-reading I can see how the description is confusing. To build on what James has said, we chose to take inspiration from EIP-712 (for the reasons James mentioned), but we didn't actually implement it. This is because it isn't actually needed at the contract level for a smart contract wallet.
It would be used in a dapp smart contract as a domainSeparator, and would be specific to that smart contract. Here's an example from a uniswap contract of how it could be used. As well as being able to display such information to the user in the wallet, the domain in this case is used to ensure that signed typed data cannot be confused between different protocols/dapps. E.g. there's a possibility different dex's may have the same signed message struct. So the domain separator helps differentiate between such transactions

I was a little confused by the description though, I don't think I understand the comment - we decided we do not need to implement EIP-712 at the contract level. What would need to change to implement 712 at the contract level and why are we then adding a name and version into the domain?

@blakecduncan yeah re-reading I can see how the description is confusing. To build on what James has said, we chose to take inspiration from EIP-712 (for the reasons James mentioned), but we didn't actually implement it. This is because it isn't actually needed at the contract level for a smart contract wallet.
It would be used in a dapp smart contract as a domainSeparator, and would be specific to that smart contract. Here's an example from a uniswap contract of how it could be used. As well as being able to display such information to the user in the wallet, the domain in this case is used to ensure that signed typed data cannot be confused between different protocols/dapps. E.g. there's a possibility different dex's may have the same signed message struct. So the domain separator helps differentiate between such transactions and prevents signature collision.

@JohnGuilding Yeah that makes sense.  I think my main point is that we already have a domain separator, it just isn't in the EIP-712 format.
When I added the domains to address audit issue 7 I decided not to include a name and version because it wasn't needed to address the audit issue and it was added scope to fully implement eip712.  So I think to rephrase my original question, I was curious what the benefit of adding a name and version is if we aren't doing it for EIP-712 compatibility (since we already prevent signature collision).  It sounds like we do legibility benefit for dApps though


Feature request: whois for ipv4 adresses.

Hello, I'm interested in using whois protocol in Rust, but your crate doesn't support ip lookups and that's what I need.
I already done some steps learning how whois works, by peeking into @rfc1036 's whois and capturing some traffic.
We just need to use this list to know which server to ask for the address. https://www.iana.org/assignments/ipv4-address-space/ipv4-address-space.xhtml I volunteer for doing a pull/merge request, or for taking responsibility on this crate, if you no longer can assume it. In absence of reply, I would create another crate with a similar name.
Cheers,
fadelkon

You can take responsibility for this crate.

You can take responsibility for this crate.

Is there any update about that? Maybe also it's good idea to add as owner to rust bus.
I'm interested to help with this crate. The name of the crate is great, whois. I opened some PRs, and I'm thinking to add feature to get whois server using DNS SRV records. Also I could do the To-Do from the README.md about error handling. If it's ok with you @5ynatra you can add me as maintainer.

SRV records are totally pointless because they only work for the registries which are already well managed and will not suddenly change the port43 service endpoint.

You can take responsibility for this crate.

Wow you did reply. I never saw this answer, sorry  :(
I actually developed a humble crate that only does ip4 whois. It's https://crates.io/crates/whoiz
The description is bad, but the code is a bit better, I hope. The structures and traits are prepared to handle more types of query, but I was not interested on that. I'm happy to review PRs.

@rfc1036 I'm not sure if you mean for the topic of this issue specifically, I told about SRV record in general, for domains, not about this issue problem. I'm sorry if it was confused as solution for this issue.
And not only to get the port, that surely will not change. It can also be used to get the address of the API from registries (http://circleid.com/posts/whois_server_address_registry), or at least to try it. I mean only as another option, not delete the option to have a list.

I am aware of that proposal: the point is that whois server addresses do not change suddenly (without leaving a CNAME behind) for any well-run registry, so once you have a list anyway then querying for SRV records only adds overhead.

Invited both @fadelkon and @jhg as collaborators, thanks for taking interest in reviving this :)

I see, I understand you now. I did mean as an option in the library, no as the main way. If no list is provide or as optional fallback (with a feature attribute). Documenting what you're telling, it's interesting. 🤓
And what do you think about use SRV only as last fallback try? Without overhead if everything works well. 🤔
Thanks for explaining. 🤗

@fadelkon at weekend I have time to try to refactor this crate and then merge the features in your crate (whoiz) here, if you prefer to use this crate name (whois), or same from this to yours. What do you prefer?
About the feature for fallback (SRV), I prefer to know the opinion of @rfc1036  first to my last comment, limited to last fallback but include a good list in the crate.

@5ynatra with repository collaborators it's possible to help with the code, but the crate version publish can only be done by you. I would recommend at least add as owner to Rust bus, they promise not to touch and only if owner is gone for months they help to find a new one.


culane dataset line.txt

@XingangPan hello,thank you for your code.I want to know whether each number of a line.txt represents the width value of the lane point, what is the height value of the lane point, so how can I draw the lane line?

each "number" in line.txt is a coordinate (either x or y) for a lane line.

@gexiaosulynn , please refer to [https://github.com/XingangPan/seg_label_generate]


Update client3:circe, client3:core, ... to 3.4.1

Updates

com.softwaremill.sttp.client3:circe
com.softwaremill.sttp.client3:core
com.softwaremill.sttp.client3:json-common

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

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

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

Superseded by #481.


Import template tests from pennylane

Import the tests from the pennylane plugin template and make them work for cirq.
Issue: #2

Hi @antalszava -- thanks for the review! I suppose the tests were failing because my local pennylane version is the one directly from git master that has some new functionality compared to 0.5.
I'll apply your changes and will then merge!


CPU usage of Beaker is very high

Operation System: MacOS 10.13.4
Beaker version: Beaker v0.8.0-prerelease.6
Computer: MacBook Pro (Retina, 15-inch)
CPU usage is peaking into the 90%+, even when Beaker is in the background and not being used.
This is what top shows:

Did it start after the device slept while Beaker was open?
No, it was like that from the moment I started Beaker.

Do you have any large dats?
I share one dat file, namely dat://harmvandendorpel.com/

Are you syncing any large folders to a dat (your "local sync" folder)?
As far as I understand correctly, dat://harmvandendorpel.com/ is the only dat I'm syncing.

I'm fairly certain the cause is that your archive has a lot of history-data. The next version of Dat has performance improvements that should help with this sort of thing, but for now I suggest you create a new archive with the same content and replace it.

Same on windows

@jraspiprojects that looks very much like a memory leak, or some kind of runaway memory usage. There was a fix in the latest build which fixed runaway memory usage when accessing historic versions of archives, which Fritter happened to do a lot. It might be something like that.
If you're able to reproduce it and can run a custom build, electron supports attaching chrome's remote debugger and it'd be really useful if you could isolate where that memory is getting used.

(The memory leak can lead to heavy CPU usage due to frequent GCs)


Permissions required

I see multiple articles detailing permissions within a log analytics workspace, but what permissions are required to CREATE a log analytics workspace?

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

ID: 03fd0e0e-c5d8-b6d0-bd7b-07539a5bd31f
Version Independent ID: b323a14a-c502-8b32-c261-fb433ac75a05
Content: Create a Log Analytics workspace in the Azure Portal
Content Source: articles/azure-monitor/learn/quick-create-workspace.md
Service: azure-monitor
Sub-service: logs
GitHub Login: @MGoedtel
Microsoft Alias: magoedte

@HoCGeek - The account logged in needs to be a member of the Azure RBAC Log Analytics contributor role in the resource group in order to create the workspace.

Thanks @MGoedtel
@HoCGeekWe will close this issue but don't hesitate to ping if you have any followup questions.


The accuracy of the validation set is 0，and the loss is always around 13

Hello! I use ILSVRC2012_img_train and ILSVRC2012_img_val, and use the provided label_top5_train_nfnet from Google Drive. I train lv-vit-s with batch_size 64 without apex for one epoch. Thanks for your advice.

Hi @ConnyLamp, can you try to rename ILSVRC2012_img_train & ILSVRC2012_img_val as train & val and organize the data folder as stated here https://github.com/zihangJiang/TokenLabeling#requirements.

Hi @ConnyLamp, can you try to rename ILSVRC2012_img_train & ILSVRC2012_img_val as train & val and organize the data folder as stated here https://github.com/zihangJiang/TokenLabeling#requirements.

是的，我使用了你们提供的脚本来组织文件结构，但问题仍然存在。我使用的数据集是imagenet2012，是不是要在这个数据集上生成token-label-data，不能直接使用你们提供的token-label-data呢？

Hi @ConnyLamp, can you try to rename ILSVRC2012_img_train & ILSVRC2012_img_val as train & val and organize the data folder as stated here https://github.com/zihangJiang/TokenLabeling#requirements.

是的，我使用了你们提供的脚本来组织文件结构，但问题仍然存在。我使用的数据集是imagenet2012，是不是要在这个数据集上生成token-label-data，不能直接使用你们提供的token-label-data呢？

Can you list your command line for training and the log in summary.csv?

Can you list your command line for training and the log in summary.csv?

bash ./distributed_train.sh 4 ./datasets --model lvvit_s -b 64 --apex-amp --img-size 224 --drop-path 0.1 --token-label --token-label-data ./datasets/label_top5_train_nfnet --token-label-size 14 --model-ema
summary.csv

Our token label data is also generated on ImageNet dataset.
The batch size (4x64) you use is too small for the default learning rate. You need to change the learning rate to 4.e-4 by using --lr 4.e-4. And since the model ema is enabled, you may need to wait like 10 epochs.
If you are still experiencing the issue, you can first try with the timm repo to train without token labeling to make sure your dataset is correctly organized.
Attaching our log for LV-ViT-S for your reference
summary.csv

Our token label data is also generated on ImageNet dataset.
The batch size (4x64) you use is too small for the default learning rate. You need to change the learning rate to 4.e-4 by using --lr 4.e-4. And since the model ema is enabled, you may need to wait like 10 epochs.
If you are still experiencing the issue, you can first try with the timm repo to train without token labeling to make sure your dataset is correctly organized.
Attaching our log for LV-ViT-S for your reference
summary.csv

谢谢您的解答，问题解决了~

Great! I'll close this.
Feel free to reopen this issue if you have any other further questions.


Display ArrayBuffer in canvas looks scrambled

When trying to display the ArrayBuffer inside a canvas I get a scrambled looking image, I might be missing something but it seems that JPEG files are not supported? Or am I missing something...
@ViewChild('canvas') canvasRef: ElementRef;

...

if (typeof Photos !== "undefined") {

  Photos.photos(
    function (photos) {

        console.log("Grabbing: " + photos[0].id);

        Photos.thumbnail(photos[0].id,

          function (data) {

            var canvas = self.canvasRef.nativeElement;
            var ctx = canvas.getContext('2d');

            var imgData = ctx.createImageData(120, 120);
            imgData.data.set(new Uint8Array(data));

            ctx.putImageData(imgData, 0, 0);

          }, function (error) { });

    }, function (error) { }

  );

}

Hmm.. I thought any kind of image data may be drawn into canvas. If it is really not supported, then I'd propose whether to use dataurl for image or save it as a file and open and draw it using file url (saving as a file feature is on my schedule, but it will be just dependency to cordova-plugin-file and JS only code).
I didn't plan to provide different content types for thumbnails, but if it is really needed, I may schedule such a feature (e.g. make thumbnail as PNG ArrayBuffer), but I cannot commit to any terms for now :(.

BTW - looks like https://github.com/notmasteryet/jpgjs works fine for JPEGs - try to use it.

OK, I updated README with info about JPEG decoder, so I believe it should be a solution.
I don't want to make an explicit dependency to jpgjs stuff, b/c it is optional for this plugin.
@dnmd : I would really appreciate if you confirm that jpgjs works, and if you provide code snippet for that - I'll include it in README.


/login endpoint

Move the oauth endpoints used by dashboard server to gateway. Maybe consider merging with `/accounts. The client should receive a bearer token that can be passed to the logged-in endpoints (/service, /account, /project)

Expose API token in Oasis Dashboard.


This message is printed in hydrolysis.
I assume that you are missing the is property in your Polymer 0.8 elements.

I am trying to vulcanize 0.5 elements, would I have to use an older version of vulcanize?

Yes, vulcanize 1.x+ is only for Polymer 0.8+ elements.

@azakus, I'm getting this on Polymer 1.0.x but could easily be a result of my own elements.
Is there a way to get better contextual feedback on where exactly this is occurring in the build/vulcanize process since Ignoring duplicate element definition: undefined doesn't really say much about where and what.


fix: data plane public api error propagation

What this PR changes/adds

Enriches the error message propagated by the DataSink implementations with the message sent by the DataSource/DataSink processes and fixed tests
Changed the status code sent by the DataPlanePublicApiController from 500 to 502 in cases of failure inside the transfer method, when external dependencies are called

Why it does that

Previously the Data Plane would return a status 500 with a generic error message, leading the user to believe it's a failure in the consumer's connector when it is not.

Linked Issue(s)
Closes #2599
Checklist

[x ] added appropriate tests?
[ ] performed checkstyle check locally?
[ ] added/updated copyright headers?
[x] documented public classes/methods?
[ ] added/updated relevant documentation?
[x] assigned appropriate label? (exclude from changelog with label no-changelog)
[x] formatted title correctly? (take a look at the CONTRIBUTING and Etiquette for pull requests for details)

Codecov Report
Patch coverage: 25.00% and project coverage change: -1.45 :warning:

Comparison is base (26a4857) 64.25% compared to head (8dc7dc0) 62.80%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2600      +/-   ##
==========================================
- Coverage   64.25%   62.80%   -1.45%
==========================================
  Files         884      884
  Lines       18162    18163       +1
  Branches     1086     1086
==========================================
- Hits        11670    11408     -262
- Misses       6053     6323     +270
+ Partials      439      432       -7

Impacted Files
Coverage Δ

...ctor/dataplane/util/sink/OutputStreamDataSink.java
63.63% <0.00%> (ø)

...e/api/controller/DataPlanePublicApiController.java
0.00% <0.00%> (-78.27%)
:arrow_down:

...ctor/dataplane/api/response/ResponseFunctions.java
42.85% <0.00%> (-40.48%)
:arrow_down:

...dc/connector/dataplane/util/sink/ParallelSink.java
48.71% <100.00%> (ø)

... and 29 files with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

A new issue has been opened to better describe and treat the case.
Issue #2606


Group Rules missing feature

Hi, I don't see the option for adding extensions.  Is this only available if you have purchased the extensions?  If so could you document this?

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

ID: ba38644a-fe6c-e644-2f35-2cf6fa092650
Version Independent ID: 7d18b423-923f-d9c4-e451-ab7f8ff27bb1
Content: Assign access levels and extensions to users by group membership
Content Source: docs/organizations/accounts/assign-access-levels-and-extensions-by-group-membership.md
Product: devops
GitHub Login: @chcomley
Microsoft Alias: chcomley

Hi @msdnguy , thanks for your comment. To assign an extension to a user (and, consequently, a group), an administrator must have first installed the extension on the account. Here's a link to that information, which I'll be adding a link to within this topic. Thanks again. https://docs.microsoft.com/en-us/vsts/marketplace/install-paid-vsts-extension?view=vsts


Can’t get code to connect

Hi, I was setting up this plugin with my UPT24K set-top box and when I try to connect to it via the home app it asks for a code. I tried with the Homebridge code but it didn’t work. What code do I have to enter?

The asked code when you add it to HomeKit is the Homebridge code. Try using QR code of Homebridge to pair it

I already tried that, but it doesn’t work