Initial benchmarks

#101
Created initial benchmarks using criterion, testing compile speed of a small script (primes.rhai), and the runtimes of primes.rhai and speedtest.rhai.
The primes benchmark is very slow tho; so we might consider setting the search threshold to 5000 instead of 10000.

Not sure about pulling in a new dependency just to do benchmarking...  Maybe cargo bench is enough?
Also, in addition to checking for regressions, maybe we need to also compare it with other scripting engines in other languages just so we know we're not too slow?
https://github.com/jonathandturner/rhai/issues/101

It'll be great if we can also add: https://github.com/rhysd/github-action-benchmark, so that we can visualize bench changes.
An example is: https://github.com/casbin/casbin-rs/pull/107

Also it's better to use test::Bencher because seems criterion has some constraints especially on data format.

It'll be great if we could also add: https://github.com/rhysd/github-action-benchmark, so that we can visualize bench changes.

This thing looks really interesting... Not sure if it'd be difficult to set up...  I'm not too familiar with these GibHub Action thingies...

In this PR, I chose not to add any benchmarking in the CI, as those are often unreliable. CI servers are quite noisy; which influences the benchmarks. If we add those; we should compare different CI providers to find the most reliable one.
As for the dependency; users should not notice, as it is only a dev-dependency. Criterion is the recommended standard, but I can alter the PR to use the regular cargo bench framework. The benchmarks are still run the same way, by using cargo bench.

Combining criterion with crtcmp offers a really nice way to show benching differences. Criterion has different plotting backends as well.

@KaiserKarel   if you can surf to https://github.com/schungx/rhai  see if you can start with the benchmarks I ported over under the benches directory.

@KaiserKarel crtcmp cannot keep data.

I have the benchmarks added in my own fork of the repo and now it seems to update successfully during each push.  Thanks @GopherJ !
I can't add it here because I don't have Settings access to this repo.  But judging from the results in my fork, it seems @KaiserKarel  is correct - micro-benchmarks on GitHub fluctuate quite wildly from run to run.  So, they can only detect really severe regressions because the measurements simply swing around way too much...
Running them on a development machine instead of GitHub appear to be stable.

Some microbenchmarks using cargo bench are here: https://schungx.github.io/rhai/dev/bench/
Let's stick to no adding new crates for the time being...


PixbufFormat requires &mut for all functions

@EPashkin Seems like a bug in GIR. There's no reason to require &mut for all the getters, and for the set_disabled() setter interior mutability as before seems better.
This is an API change btw

You meant https://github.com/gtk-rs/glib/pull/249 or something other?

Sorry, answered too fast. It because it Boxed type

No, this here: https://github.com/gtk-rs/gdk-pixbuf/blob/45888822bed65c348a23cb165f1acb6d6a3d8e81/src/auto/pixbuf_format.rs#L22

But all the getters really shouldn't require &mut :)

It because this writen it writen in GdkPixbuf-2.0.gir on instance parameter:
gdk_pixbuf_format_is_disabled: c:type="GdkPixbufFormat*"
compare with
pango_font_description_get_family: c:type="const PangoFontDescription*"
We have "const" override to fix this.

Yes it should be overridden


falco community survey blog

images and copy for summary of community survey
What type of PR is this?

Uncomment one (or more) /kind <> lines:

/kind bug

/kind cleanup

/kind design

/kind user-interface
/kind content

/kind translation

Any specific area of the project related to this PR?

Uncomment one (or more) /area <> lines:

/area blog

/area documentation

/area videos

What this PR does / why we need it:
copy editing
Which issue(s) this PR fixes:
new content summary for community survey

Fixes #
Special notes for your reviewer:
falco community survey blog
copy + images
Signed-off-by: jsalinas29<EMAIL_ADDRESS>

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: jsalinas29
Once this PR has been reviewed and has the lgtm label, please assign vjjmiras for approval. For more information see the Kubernetes Code Review Process.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

content/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Thanks for your pull request. Before we can look at it, you'll need to add a 'DCO signoff' to your commits.
:memo: Please follow instructions in the contributing guide to update your commits with the DCO
Full details of the Developer Certificate of Origin can be found at developercertificate.org.
The list of commits missing DCO signoff:

c05f34b Merge branch 'falcosecurity:master' into master

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

Thanks for your pull request. Before we can look at it, you'll need to add a 'DCO signoff' to your commits.
:memo: Please follow instructions in the contributing guide to update your commits with the DCO
Full details of the Developer Certificate of Origin can be found at developercertificate.org.
The list of commits missing DCO signoff:

c05f34b Merge branch 'falcosecurity:master' into master
3590244 Merge pull request #1 from vjjmiras/community-survey-2023

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: jsalinas29, vjjmiras
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

content/OWNERS [vjjmiras]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


chore: local development via http

I want to be able to use embed for local development/testing but am currently restricted because of the hostToUrl logic. We currently map both the iframeUrl and apiUrl to https by default unless the hostname of the provided value equals one of localhost or <IP_ADDRESS>. This doesn't work for my local setup as the embed iframe is available at http://embed.localhost.
> ['localhost', '<IP_ADDRESS>'].includes(new URL('http://embed.localhost').hostname)
false

This change adds a new optional prop to embed (secure) which can be used to force http rather than the default https.

LGTM

:rocket: PR was released in v2.10.0 :rocket:


Allow Parallel Garbage Collection of Blocks

After recent changes, which disallow garbage collecting the most recent file in the volatile db, we can allow a thread to garbage collect the db, while another thread inserts blocks, in parallel.

Related: #1866 and #1919. For simplicity, we won't do GCs in parallel with appending. Also, as of #1923 we're doing much fewer GCs, so it wouldn't make that big a difference anymore.


Add option to set hours using cli

Allow user to set or override hours worked on loading times:
Eg:
tt load -t 'Add option to set hours using cli' -h 0.5

Works nice. :shipit:


Defining Library in mod.txt no longer does anything

Is this intended? because the wiki here on github also doesn't mention libraries anymore...

Dependencies is the new name for them. I've added them to the Mod Definition wiki page (https://github.com/JamesWilko/Payday-2-BLT/wiki/Mod-Definition-File-(mod.txt)).


Support for .Net 7 WINUI-3 apps

I made a new project for win ui 3 and the app is targeted to .Net 7 and when I try to install FFmpegInteropX nuget on it it fails.
<TargetFramework>net7.0-windows10.0.19041.0</TargetFramework>
<TargetPlatformMinVersion>10.0.17763.0</TargetPlatformMinVersion>

Package FFmpegInteropX 1.0.1 is not compatible with net7.0-windows10.0.19041 (.NETCoreApp,Version=v7.0). Package FFmpegInteropX 1.0.1 supports: uap10.0 (UAP,Version=v10.0)

Use the pre-release package or check out the winUI sample in the repository.

Ok I did that and now I was able to install it however I am getting following error :
Error NETSDK1148 A referenced assembly was compiled using a newer version of Microsoft.Windows.SDK.NET.dll. Please update to a newer .NET SDK in order to reference this assembly.
and I tried installing latest .Net 7 SDK on my machine as well. maybe because the nuget is based on .Net 6 ? could that be the reason?

The nuget should work with NET 6. Not sure about 7, and it's unlikely we will support 7 cause it is a short support version. Did you install the package or is the project referenced directly?

I installed the package. if downgrading my winui project to .net 6 is the only option then sure I can adjust my solution accordingly. But I was hoping to make it work with .net 7 since all winui nugets and even the template studio project generation creates it with .net 7

The best way to work with 7 is to reference the project directly and manually up the version number.

This is a WinUI thing. You need to manually specify a higher Windows SDK Ref version in the project file. Check here:
https://platform.uno/docs/articles/features/winapp-sdk-specifics.html
For the version number, use your target SDK version number, and for the last digit use the highest revision you find for that number on NuGet:
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref

Yes IIRC you need to do some manual changes to the template VS creates in order to use our library.

ok so I have updated my project file like so that I added a new ItemGroup with the 2 FrameworkReference tags and added the latest version of versions as described but it is still failing with the following error :

Error :

the error points to NETSdkError in this file Microsoft.Net.Windows.targets

Our lib has platform target 10.0.22000.0. I think you must use at least this version (or higher) in your app. I just checked our WinUI sample: It also does not compile if I use a lower target sdk than the lib.

Thanks it is building now.

Glad to hear that. You might be able to remove the FrameworkReference thing, since most of the time things work fine without it.


METRON-1858  Fix Fireeye formatting and some optimization

Reformat and fix checkstyle.
Changed to not compile patterns every parse()
All tests should pass as before, no behavior changed.
REVIEW EACH COMMIT SEPARATELY and this is workable.
In order to streamline the review of the contribution we ask you follow these guidelines and ask you to double check the following:
For all changes:

[x] Is there a JIRA ticket associated with this PR? If not one needs to be created at Metron Jira.
[x] Does your PR title start with METRON-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.
[x] Has your PR been rebased against the latest commit within the target branch (typically master)?

For code changes:

[-] Have you included steps to reproduce the behavior or problem that is being changed or addressed?

[-] Have you included steps or a guide to how the change may be verified and tested manually?

[x] Have you ensured that the full suite of tests and checks have been executed in the root metron folder via:
mvn -q clean integration-test install && dev-utilities/build-utils/verify_licenses.sh

[-] Have you written or updated unit tests and or integration tests to verify your changes?

[-] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?

[-] Have you verified the basic functionality of the build by building and running locally with Vagrant full-dev environment or the equivalent?

For documentation related changes:

[-] Have you ensured that format looks appropriate for the output in which it is rendered by building and verifying the site-book? If not then run the following commands and the verify changes via site-book/target/site/index.html:
cd site-book
mvn site

Note:
Please ensure that once the PR is submitted, you check travis-ci for build issues and submit an update to your PR as soon as possible.
It is also recommended that travis-ci is set up for your personal repository such that your branches are built there before submitting a pull request.

Sidenote, the functional review as a whole is much more straightforward if you turn off whitespace changes in the diff settings. I think that's why @ottobackwards has the disclaimer about reviewing by change.

+1, this is a lot cleaner, and moving the pattern out is definitely good.

Right @justinleet, I forgot about that.


Refactored networking layer using Moya

Description:
Refactored the networking layer using Moya as a layer on top of Alamofire:

Added ApiService protocol and BaseApiService Class, which implement default behavior for making http requests (custom decoding, error handling, logging, etc.)
Added TargetType+Base extensions to Moya`s own Target type to have default headers, base URL path and some helpers for body params.
Refactored login and logout calls to show how the new implementation works on UserResource (api spec) and UserService (the actual api calls)
Added default custom decoding for errors with the APIError struct to try and decode standard rails error structures.

Notes:

I didn't remove any of the old files for now, if we decide to go through with these changes, i'll remove them, and update the rest of the codebase.

@glm4 Moya has multipart and base64 uploads already implemented, we would need to update those to use moya's instead of the custom ones that we have now

@glm4 Moya has multipart and base64 uploads already implemented, we would need to update those to use moya's instead of the custom ones that we have now

Sounds good! 🙌

          1 Warning

:warning:
Be careful, maybe this PR it’s too big

  Generated by :no_entry_sign: Danger

Nice work! Looks very good :clap:


Exception Handling

Summary
Like any usable programming language, it is important that Enso has a comprehensive exception system to allow users to handle exceptional conditions in Enso. This exception system actually acounts for two kinds of exception:

Checked Exceptions: These are exceptions that are known to be thrown from a certain piece of code, and must be propagated through the type system until they are handled explicitly in code.
Unchecked Exceptions: These can arise anywhere, and are inherently asynchronous to the flow of execution. These should be able, but are not forced, to be handled in code.

The dynamic interpreter both needs to emulate the checked exception case in a way that is compatible with future plans for a typechecker, and to provide ways to handle unchecked exceptions too.
Value
Exception handling is one of the core elements of the language, and needs to be implemented in order to provide a proper alpha version of the new interpreter.
Specification

Design a system for checked exceptions that emulates the Either-based Exception monad and is future-compatible with the plans for type-checking. In designing the checked exceptions system, it must account for "broken values" (e.g. 1 / 0), which is not a throw in the conventional sense, but an error return value: / : Number -> Number -> Number | ArithException, for example.
Design a system for handling unchecked exceptions (which are usually asynchronous). This should be future-compatible as well, though the scope for that is limited (as you can't really typecheck asynchronous exceptions) - it is limited to ensuring that operations on the caught exception are in keeping with its type.
Implement both of these designs into the current interpreter.
Happy path code that involves exceptions must not be any slower than the same happy path code without exceptions.

Acceptance Criteria & Test Cases

Both systems have been implemented as designed and are well-tested.
Benchmarks show that happy-path code has suffered no degredation in performance when using exceptions (compared to not using exceptions).

Completed.


Snap to road API

Useful for GPS smoothing. Use vector tiles from offline map packages or online/cached vector tiles.
Input : x,y, tolerance (in meters); output: adjusted x,y and maybe snap distance (in meters).

Comment: routing packages are a better fit for this - provide more precise snapping and probably faster (with r-tree indexes)

This is available in 4.1.1 when using Valhalla routing engine ('map matching' API). Thus closing.


install from binary

Specifications
add flag to enable install from binary. add conditional to include

tried a hail mary to install xubuntu package w/ dpkg - something isn't where the package expects to be and fails. This will require a ci job to build for (vanilla) ubuntu


7 autocompletion for json loadable things

PR still draft, and sadly, it's kinda big one when considering the number of lines, and but actually it just has one significant contribution: The main contribution of this PR is the new Constant class, and Constants object. This needed a lot of code change in estimations.py and utils.py as well.
A lot of stuff can be ignored such as:

pyproject.toml changes,
github actions *.yaml changes,
requrements.txt changes,
setup.py changes,
the two new .py files in src/utils,
src/radicalpy/__init__.py changes,
lintchecker.py and wip_experiments.py in src/utils

There was some code moved around:

The Molecule class was moved from simulation.py to data.py
Moving Molecule forced me to move isotropic and spin_quantum_number from util.py to data.py

@lmantill question: in exchange_interaction_in_solution_MC() is r an array or can it also make sense to have it as a single float?
In def exchange_interaction_in_solution_MC(r: float | np.ndarray, beta: float = 2e10, J0: float = -570) -> float | np.ndarray: (estimations.py), it says r (float or np.ndarray): The interradical separation (m). in the docstring. But in the code return J0 * np.exp(-beta * (r - r.min())), and if r is a float, it doesn't have r.min() (and the code wouldn't make much sense if r were a float)...

@lmantill one more question: A_opt_MARY is not used. Is that ok?
In Bhalf_fit:
    popt_MARY, pcov_MARY = curve_fit(
        Lorentzian,
        B,
        MARY,
        p0=[MARY[-1], int(len(B) / 2)],
        maxfev=1000000,
    )
    fit_error = np.sqrt(np.diag(pcov_MARY))

    A_opt_MARY, Bhalf_opt_MARY = popt_MARY # A_opt_MARY not used!!!!

@lmantill I've edited the first question a bit. And also a discovery is that I've been doing some type annotations wrong:

Incorrect: float or np.ndarray; correct: float | np.ndarray
Incorrect: -> (np.ndarray, np.ndarray); correct: -> Tuple[np.ndarray, np.ndarray] (with from typing import Tuple)


country_code isn't working

i m unable to search the number other than the country code number i logged in with. for example if i use US number to login then if i try to search for uk number using country_code. its still taking US country instead of the uk country code. how to fix this?

@nedbaker12 Install latest version of truecallerpy
and use it like this
import asyncio
from truecallerpy import search_phonenumber

phone_number = "2071234567"
country_code = "GB"
installation_id = "Your installation ID"

response = asyncio.run(search_phonenumber(phone_number, country_code, installation_id))
print(response)

yes i used it. still its taking the country code of the country i registered with.

hello Please this issue. i m using the latest build. same code as example still the issue is the same

Hello @nedbaker12  i have same issue, did you solve it ?

Hello @nedbaker12 i have same issue, did you solve it ?

no its not fixed @sumithemmadi please look into this


Voltage drops momentarily when all motors make collision, causing the RPi to shutdown due to undervoltage

Fixes to try:

Add bulk / decoupling capacitance
Bigger buck converter

We are going to remediate this with a PCB re-design to run the servos independently off the battery, with the Buck converter being dedicated to the Pi, Fan, LEDs, and other peripherals. Tracked In #130


Patch com.callrail/call_complete to allow for device_type

It appears that device_type was added to the POST body and query string without any information on the CallRail website.  We are not sure what this field contains, when it contains a value, and what type of value that it contains.  We are reaching out to CallRail for more information.
An example of the POST Body that we received is below:
{"id":1111111111,"datetime":"2015-12-30 05:03:19","trackingnum":"+19999989999","callernum":"+19999989999","destinationnum":"9999989999","callsource":"disabled","callername":"Wireless Caller","callercity":"None","callerstate":"TX","callerzip":"","callercountry":"US","keywords":"","referrer":"","referrermedium":"","landingpage":"","transcription":"","gclid":"","ip":"","utm_source":"offline","utm_medium":"(none)","utm_term":"","utm_content":"","utm_campaign":"test","first_call":false,"device_type":null,"custom":{},"recording":"","answered":false,"duration":"22","recording_player":"","tag":"","tags":[],"note":""}
The device_type is also included in the query string, but the adapter seems to be ignoring.
The error generated during the enrichment phase is below:
"errors":[{"level":"error","message":"error: object instance has properties which are not allowed by the schema: [\"device_type\"]\n    level: \"error\"\n    schema: {\"loadingURI\":\"#\",\"pointer\":\"\"}\n    instance: {\"pointer\":\"\"}\n    domain: \"validation\"\n    keyword: \"additionalProperties\"\n    unwanted: [\"device_type\"]\n"}],"failure_tstamp":"2015-12-30T01:11:01.821Z"
Added device_type to the schema in our fork of iglu-central.  Set the vendor prefix for com.callrail to point to our hosted Iglu repository, and it still seems to be pointing to the iglu-central version (same error).  Am I interpreting that functionality correctly?
We have yet to see a value for device_type passed by CallRail that is not set to null. Once we understand what is being passed here, we will update the Redshift DDL accordingly.

Hi @digitaltouch - thanks for raising.

Added device_type to the schema in our fork of iglu-central. Set the vendor prefix for com.callrail to point to our hosted Iglu repository, and it still seems to be pointing to the iglu-central version (same error). Am I interpreting that functionality correctly?

Your understanding is correct. Note that you don't need a full copy of Iglu Central in your fork - just the schema you are trying to patch. Something like this should do it:
{
  "schema": "iglu:com.snowplowanalytics.iglu/resolver-config/jsonschema/1-0-0",
  "data": {
    "cacheSize": 500,
    "repositories": [
      {
        "name": "Iglu Central",
        "priority": 0,
        "vendorPrefixes": [
          "com.snowplowanalytics"
        ],
        "connection": {
          "http": {
            "uri": "http://iglucentral.com"
          }
        }
      },
      {
        "name": "digitalpoint Iglu",
        "priority": 0,
        "vendorPrefixes": [
          "com.callrail",
          "com.digitaltouch"
        ],
        "connection": {
          "http": {
            "uri": "https://xxx"
          }
        }
      }
    ]
  }
}

Ultimately we will have to make a decision on whether to patch this schema (because our original understanding of the schema was incomplete) or add a 1-0-1 (because the schema has evolved).

Thanks for the clarification.
I had already pointed com.callrail in the vendorPrefix of our resolver.config and it still seems to be loading the iglu-central version. Any ideas?

No idea, sorry - the test suite for the Iglu Scala Client (which Enrichment uses) validates the correct behavior:
https://github.com/snowplow/iglu-scala-client/blob/master/src/test/scala/com.snowplowanalytics.iglu.client/ResolverSpec.scala#L78

@alexanderdean Thanks for the help.  Got it to work, there were conflicting priorities in the resolver file.
call_complete events are now successfully being enriched / shredded. We will keep an eye out for any more information from CallRail in order to make a decision on the schema version.

Glad to hear you got it working - keep us posted...

According to call rail the device_type was added on 11/30/2015, which is after the initial check in date of the 1-0-0 schema.  Bumping schema version to 1-0-1.

Replaced by #281, closing...


Bubble: Display order according bubble size

Feature Proposal
The bubbles are drawn according the order of the datasets. Bubbles of dataset no. 1 are drawn in front of the bubbles of dataset no. 2. If two bubbles are at the same coordinate, the bubble of dataset no. 1, depending on its size, might covers the bubble of dataset no. 2 completely.
I would like an option for the bubble chart, to change this behavior and draw the bubbles in order of their size. If for a given point two bubbles have to be drawn, the smallest bubble is drawn in front, the greatest bubble is drawn in the back. This ensures that in most cases more bubbles are partially visible (if two bubbles have the same size one bubble is still covered).
Feature Use Case

We use the bubble chart with a very small range of ticks on the x and y axis and multiple datasets. The aim is to compare these datasets against each other. Many, if not all of the bubbles lie an the same coordinate and cover each other. The order of the datasets is secondary in this case.
Currently our workaround is to make the bubble slightly transparent. But when the greater bubble is in front, it is not possible to detect an click event only on the smaller bubble.

Duplicate of #3359, since that one has the implement externally label pretty high chance this wont get into the core lib

Oh, I looked only through the open issues and missed #3359, my bad - sorry!
But I want to note that in my case sorting the data array by size is not sufficient, as I want the ordering across all datasets and not only within one dataset.

@jqdj how/why is your data split to multiple datasets?
Just asking because it would not be trivial to implement draw order sorting across dataset boundaries in the current code base. So I'd look into combining the datasets, and using other options (colors) to make the required distinction between them.
But I don't know enough about the use case to know if that would be sufficient.

But when the greater bubble is in front, it is not possible to detect an click event only on the smaller bubble.

Most of the interaction modes can return multiple items, when multiple items are intersected or are at equal distance from the pointer. So the click detection should be possible.


scvi-tools 1.1.6 requires lightning<2.2

There is a mismatch between the conda-forge recipe and the upstream package:

scvi-tools 1.1.6 requires lightning<2.2 https://github.com/scverse/scvi-tools/blob/1.1.6/pyproject.toml#L48
The feedstock dropped the upper bound for version 1.1.6 build 1 in https://github.com/conda-forge/scvi-tools-feedstock/pull/52 This results in lightning 2.4 being installed (and thus a broken env)
It appears that the upstream repo is working towards dropping the lightning upper bound. It was dropped 5 months ago in https://github.com/scverse/scvi-tools/pull/2751, but for some reason that PR was not included in version 1.1.6 released a few weeks ago
This related issue notes that the upper bound has been dropped in main and the feedstock, but not the 1.1.6 release (https://github.com/scverse/scvi-tools/issues/2941)

Until scvi-tools releases a version that drops the upper bound, the feedstock recipe shouldn't remove it.
Demo below:

Using conda-forge, lightning 2.4 is installed with scvi-tools 1.1.6, and pip check fails

mamba create --yes -n test-lightning -c conda-forge --override-channels scvi-tools
## + lightning                   2.4.0  pyhd8ed1ab_0               conda-forge      446kB
## + scvi-tools                  1.1.6  pyhd8ed1ab_1               conda-forge      230kB
mamba activate test-lightning
pip check
## scvi-tools 1.1.6 has requirement lightning<2.2,>=2.0, but you have lightning 2.4.0.
grep -R lightning $CONDA_PREFIX_1/pkgs/scvi-tools-1.1.6-pyhd8ed1ab_1/site-packages/scvi_tools-1.1.6.dist-info/
## /home/wsl/mambaforge/pkgs/scvi-tools-1.1.6-pyhd8ed1ab_1/site-packages/scvi_tools-1.1.6.dist-info/METADATA:Requires-Dist: lightning<2.2,>=2.0
## /home/wsl/mambaforge/pkgs/scvi-tools-1.1.6-pyhd8ed1ab_1/site-packages/scvi_tools-1.1.6.dist-info/METADATA:Lightning](https://www.pytorchlightning.ai/) and
mamba deactivate

Using pip, lightning 2.1.4 is installed with scvi-tools 1.1.6

python -m venv ./venv-lightning
source ./venv-lightning/bin/activate
pip install scvi-tools
pip list | grep scvi
## scvi-tools               1.1.6
pip list | grep lightning
## lightning                2.1.4
## lightning-utilities      0.11.7
## pytorch-lightning        2.4.0
pip check
## No broken requirements found.
pip install lightning==2.4
## Installing collected packages: lightning
##   Attempting uninstall: lightning
##     Found existing installation: lightning 2.1.4
##     Uninstalling lightning-2.1.4:
##       Successfully uninstalled lightning-2.1.4
## ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
## scvi-tools 1.1.6 requires lightning<2.2,>=2.0, but you have lightning 2.4.0 which is incompatible.
## Successfully installed lightning-2.4.0
deactivate

xref: https://github.com/bioconda/bioconda-recipes/pull/50636#issuecomment-2344019196

Update:

Fixed the current recipe in https://github.com/conda-forge/scvi-tools-feedstock/pull/55
Patching the metadata for build number 1 in https://github.com/conda-forge/conda-forge-repodata-patches-feedstock/pull/844

A new release was made https://github.com/scverse/scvi-tools/tree/1.1.6.post1
see also https://github.com/scverse/scvi-tools/issues/2967

Fixed by https://github.com/conda-forge/conda-forge-repodata-patches-feedstock/pull/844
mamba create --dry-run -n test -c conda-forge --override-channels scvi-tools==1.1.6
## + lightning                   2.1.4  pyhd8ed1ab_0               conda-forge        1MB
## + scvi-tools                  1.1.6  pyhd8ed1ab_1               conda-forge      230kB

mamba create --dry-run -n test -c conda-forge --override-channels scvi-tools==1.1.6 lightning=2.4
## Could not solve for environment specs
## The following packages are incompatible
## ├─ lightning 2.4**  is requested and can be installed;
## └─ scvi-tools 1.1.6  is not installable because there are no viable options
##    ├─ scvi-tools 1.1.6 would require
##    │  └─ lightning >=2.0,<2.1 , which conflicts with any installable versions previously reported;
##    └─ scvi-tools 1.1.6 would require
##       └─ lightning >=2.0,<2.2.0a0 , which conflicts with any installable versions previously reported.

mamba create --dry-run -n test -c conda-forge --override-channels scvi-tools==1.1.6.post1 lightning=2.4
## + lightning                   2.4.0  pyhd8ed1ab_0               conda-forge      446kB
## + scvi-tools            1.1.6.post1  pyhd8ed1ab_0               conda-forge      231kB


cant boot local node

ERROR 306
An error occurred that the development team did not have foreseen. Apologies for this, maybe a retry might help. Otherwise, please open up an issue within the NEM NIS/NCC community.

Just try restart NIS server or restart wallet application, always alert this error.

The easiest way to find out where the problem is would be to send the NIS/NCC logs to me. Can you upload it to a file hoster and share the link here?

Logs
2015-07-02 04:14:27.850 INFO loadBlocks (from height 119102 to height 119201) needed 4ms (org.nem.nis.dao.BlockDaoImpl d)
2015-07-02 04:14:27.878 INFO loadBlocks (from height 119202 to height 119301) needed 6ms (org.nem.nis.dao.BlockDaoImpl d)
2015-07-02 04:14:27.895 INFO loadBlocks (from height 119302 to height 119401) needed 7ms (org.nem.nis.dao.BlockDaoImpl d)
2015-07-02 04:14:27.910 INFO loadBlocks (from height 119402 to height 119501) needed 4ms (org.nem.nis.dao.BlockDaoImpl d)
2015-07-02 04:14:27.925 INFO loadBlocks (from height 119502 to height 119601) needed 6ms (org.nem.nis.dao.BlockDaoImpl d)
2015-07-02 04:14:27.944 WARN SQL Error: 90030, SQLState: 90030 (org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions)
2015-07-02 04:14:27.944 ERROR File corrupted while reading record: "[100794] stream data key:179 pos:11 remaining:0". Possible solution: use the recovery tool; SQL statement:
SELECT b.* FROM BLOCKS b WHERE height >= ? AND height <= ? ORDER BY height ASC LIMIT ? [90030-175] (org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions)
2015-07-02 04:14:27.948 SEVERE something really bad happened: java.util.concurrent.CompletionException: org.hibernate.exception.GenericJDBCException: could not extract ResultSet (org.nem.nis.nn b)

==> nis-0.log <==
2015-07-02 04:14:28.566 INFO status change detected: NIS -> STARTING (org.nem.monitor.visitors.AggregateNemStatusVisitor notifyStatus)
2015-07-02 04:14:29.797 INFO status change detected: NIS -> STOPPED (org.nem.monitor.visitors.AggregateNemStatusVisitor notifyStatus)

So your database file is corrupt. Stop NIS and delete the file c:\users<your user>\nem\nis\data\nis5_mainnet.h2.db. then restart NIS and sync from scratch.


added qa section and updated sidecar chrome ext images

Added this section /sidecar-experiments/publishing-experiments#step-3-preview--qa-the-experiment
Updated all images on this page

🚀 Deployed on https://6644cf76d899732e4eb9fff7--cozy-fox-0defec.netlify.app


Arable Protocol <> Lobster DAO partnership

Arable's goal
Bringing all cross-chain yield farms on a single chain, make it easier for yield farmers to switch their portfolios without any risks and make it convenient.
Arable utilizes synthetic farming concept - it's the first concept no one did before.
Our project will be launching on Avalanche and after that will be scaling to other EVM networks and after that will be scaling to non-evm networks as well
We are looking to launch in January - currently, we are ready for beta testnet and looking to start incentivized testnet within this week.
What benefit we give to Lobster DAO members

We are giving 10% of airdrop (4 million ACRE tokens) to Lobster DAO NFT holders as we feel Lobster DAO is a pretty clean community that we like to invite for our DAO infra. For people who are not interested in the project, feel free to sell the tokens and leave, for interested users, we welcome you to be the DAO member with airdrop tokens + your staking rewards.
Airdrop does not have vesting period

What we want from Lobster DAO members

Promote Arable project on Lobster DAO, e.g. setup regular AMA with Lobster DAO members
Provide opinions and improvement proposals on our regularly updating products

References
Website - https://arablefi.com
Testnet application - https://app.arablefi.com
App introduction youtube - https://www.youtube.com/watch?v=Y_iJINLykls
Tokenomics article - https://medium.com/@ArableProtocol/acre-token-distribution-2f03c936189b
Pitch deck draft - https://github.com/ArableProtocol/arableintro/blob/main/Arable Pitch Deck Draft.pdf
Arable paper - https://github.com/ArableProtocol/arableintro/blob/main/Arable Protocol [Draft].pdf
Litepaper - https://github.com/ArableProtocol/arableintro/blob/main/Arable_Litepaper.pdf

It's kinda hard to understand the testnet app...

It's kinda hard to understand the testnet app...

We have moved all mvp features into https://mvp.arablefi.com and only essential features for launch phase is remaining on https://app.arablefi.com

Any updates about the project?

Arable team has finalized beta testnet competition and starting beta testnet round 2 with fixed version. If everything goes smoothly, it's planned for Feb 8th for launch. Btw, I was waiting for Lobster DAO for partnership proposal


Feature | Navigate to User profile

When ?

User signs in
User opens up a blog of any user
User clicks on the author's avatar icon

What?

User should be able to see the profile of the author.

How ?

The frontend route - https://medium-app-zeta.vercel.app/:userID returns the profile page.
The app should navigate to the above user-profile route when user clicks on avatar.

Additional improvements:

Make the frontend route https://medium-app-zeta.vercel.app/profile/:userID instead of https://medium-app-zeta.vercel.app/:userID. This will give us, the developers, more context about the route, in future.

Hi
Would you please assign this to me?

I wanna fix this issue simply using react-router-dom navigator.
Maybe a little style change on cursor of avatar (I think it should be pointer).

Alright, assigned the issue to you.
Please go through Contributing doc


error: 'lwip_inet_ntop' was not declared in this scope

When trying to compile esphome, if "api:" is declared in yaml config file, the following compilation error occures :
src/esphome/components/socket/lwip_sockets_impl.cpp: In function 'std::__cxx11::string esphome::socket::format_sockaddr(const sockaddr_storage&)':

src/esphome/components/socket/lwip_sockets_impl.cpp:16:80: error: 'lwip_inet_ntop' was not declared in this scope

     const char *ret = lwip_inet_ntop(AF_INET, &addr->sin_addr, buf, sizeof(buf));
                                                                                ^
src/esphome/components/socket/lwip_sockets_impl.cpp: In member function 'virtual ssize_t esphome::socket::LwIPSocketImpl::readv(const iovec*, int)':

src/esphome/components/socket/lwip_sockets_impl.cpp:82:99: error: 'lwip_readv' was not declared in this scope

   ssize_t readv(const struct iovec *iov, int iovcnt) override { return lwip_readv(fd_, iov, iovcnt); }
                                                                                ^
*** [.pioenvs\yourdevice\src\esphome\components\socket\lwip_sockets_impl.cpp.o] Error 1

After adding
socket:     implementation: lwip_tcp
it compiles fine

Fixed in 1172c1a. I'd appreciate testing it, as I don't even know if it works myself (I have a single RTL device that I can use, and it's powered by mains so debugging it is a bit harder).

Fixed in 1172c1a. I'd appreciate testing it, as I don't even know if it works myself (I have a single RTL device that I can use, and it's powered by mains so debugging it is a bit harder).
You don't need the socket: line now, in fact it might not work if you add it.

I confirm it compiles and runs fine without the socket: line in 0.11. 👍(actually it also still works if I leave it)


Update folder rule from the msbuild copy so that properties work

It looks like the Folder rule was updated in the MSBuild location after we forked. Update it in the project system so that folders show properties.
@dotnet/project-system @adrianvmsft
Fixes #751

👍


post notes into social networks?

Question
Thanks for this very useful app
i wonder if the custom_uploader could be also used to post / publish nots written by a local note taking app in to an online social network. Do you think this could be done?  e.g. with joplin notes
https://github.com/laurent22/joplin/
https://joplinapp.org/

Hello, currently uploading text by itself is not possible. You could however, upload the text as a file and it will still work just fine. It is possible, I will just need to create some wrapper that takes the text and converts it to a text file / bytes

It is possible, I will just need to create some wrapper that takes the text and converts it to a text file / bytes
if you considering doing that it would be nice it this wrapper would also work with notes that contain images.


Http session is always created on server from android version but not on IOS

Note that both platform are using the same HttpClient as below. My problem is on the android device, a session is always created on the server each time a request is called and it shouldn't.
However, on the IOS the session remain before the session timeout reach out which help performance.
Is there something i need to do on the android version specially to retain the session cookie ??
and how can i do it ?
Thanks!
    private static HttpClient _mobileService = null;
    public static HttpClient MobileService
    {
        get
        {
            if (_mobileService == null)
            {
                NativeMessageHandler nmh = new NativeMessageHandler();
                _mobileService = new HttpClient(nmh);
            }

            return _mobileService;
        }
        set
        {
            _mobileService = value;
        }
    }

This repros for me as well.
I checked the cookies and the SessionID cookie doesn't seem to return in the Android version, while it is present in the iOS version.
It makes it difficult to perform logged in actions from within the same session.

Switching back to the normal HttpClientHandler fixes it on both platforms, so it does appear to be NativeMessageHandler related.
//NativeMessageHandler msgHandler = new NativeMessageHandler (); 			HttpClientHandler msgHandler = new HttpClientHandler 			{ 				AllowAutoRedirect = true, 				UseCookies = true//, 			//	CookieContainer = _cookieContainer 			}; 			//HttpMessageHandler msgHandler = new HttpMessageHandler(); 			msgHandler.CookieContainer = m_CookieContainer; 			m_Client = new System.Net.Http.HttpClient (msgHandler);
works for me.


Deprecation error causing build error [ BidirectionalIterator]

This issue is resulting in an error mentioned in item_selector  package issues link

@dawit-michael This is now resolved as of interval_tree: 0.4.1


update CoffeeScript loader for incoming hook consolidation

@GeoffreyBooth I think the trick of appending .js coffeescript-loader was using previously is no-longer possible with getFormat() and getSource() consolidated because the same url is used for both internally (whereas previously, the appended url was supplied to only getFormat, so getSource still worked). load()~ fails when it subsequently reaches the getSource step because the fake .coffee.js` file truly does not exist.

Okay, so I did some debugging, and I think we have some kind of red-herring here: the cjs deps from coffeescript files do not hit ESMLoader at all. I added logging to ESMLoader::getModuleJob() (which all imports handled by ESMLoader go through), and it does not log anything for files imported by ./fixtures/esm-and-commonjs-imports.coffee. The only commonjs import it handles is coffeescript itself.
To be doubly sure I wasn't missing anything, I added copious logging to module translators' commonjs strategy, and there is nothing whatsoever for files imported by ./fixtures/esm-and-commonjs-imports.coffee.
So I think we can confidently say whatever is happening is not ESMLoader's fault.

So I think we can confidently say whatever is happening is not ESMLoader’s fault.

That’s fine, but we still need some way for users to write a loader that affects both ESM and CommonJS files. Like what I was trying to do with the CoffeeScript loader defining resolve and load but also require.extensions. It doesn’t need to be streamlined, like we can have people use the old require.extensions still if we must or if that’s the easiest way (at least for now) but there should be some way to have a loader that works for a project that has mixed types. I’d imagine that this might require changes to the CommonJS loader, which means we should absolutely come back to it later as a separate PR, but it would be good to put a comment here saying that we’re aware of the issue. Something like “TODO: Known limitation: currently, sources returned with format: 'commonjs' are ignored. This will be addressed in a future update.”
To take another example, say you wanted to create a YAML loader. As a user of such a loader, I would expect that both import data from 'data.yaml' and const data = require('data.yaml') should work when I have the loader enabled. Ditto for CoffeeScript or TypeScript or other more sophisticated file types that can have their own imports and are more JavaScript-like.

From the debugging I did, I did not see any way to get it to work as things currently are, but it may have just needed more investigation and/or more knowledge of the CJSLoader.
Regarding (future) updates to the CJSLoader, that sounds likely needed, but I remember someone (Bradley?) saying in 2–3 team meetings ago that something like this would require changes to the CJSLoader, but previous efforts failed in a fiery blaze because there was too much disagreement.
I would certainly like it to be fixed, but if that's true, maybe we shouldn't promise the issue will be addressed?

Regarding (future) updates to the CJSLoader, that sounds likely needed, but I remember someone (Bradley?) saying 2–3 team meetings ago that something like this would require changes to the CJSLoader, but previous efforts failed in a fiery blaze because there was too much disagreement.
I would certainly like it to be fixed, but if that’s true, maybe we shouldn’t promise the issue will be addressed?

I think a comment can make whatever promises it wants. No one will hold that comment responsible 😄
To the broader point, though, I think we should tap Bradley (and Guy, if he has the time) to get their wisdom about what the issue is with supporting format: 'commonjs' and what kind of refactoring would be required to get that to work. Because it not working is pretty plainly a bug, and bugs must be fixed, or we change the API to remove format: 'commonjs' as one of the options. It can’t just be left broken because of disagreements; that doesn’t fly, and I think I could get the TSC to back me up on that one if necessary (but I doubt that would be necessary).
Anyway I think let’s add a comment and move on for now and get this PR landed, and after that maybe we can create an issue on nodejs/loaders spelling out the problem as detailed as we can, and one of the others can hopefully tell us where to look in the code for what needs to be changed to fix it.

Sounds good to me :)
I added such a comment to the CoffeeScript loader test file (lines 30–35). Does that suffice, or were you thinking to add the note elsewhere more conspicuous (like the ESM docs)?

Ah, okay, so I got the download from Bradley. The gist of it is what we thought: this part of the two APIs are not integrated. It is possible for the user to facilitate the integration by returning format: "module" instead of its actual "commonjs", parsing the source, and manually hooking it up to the exports, which doesn't sound pleasant but also doesn't sound like the worst thing.
@bmeck does that accurately represent what would need to be done from a high level?

The gist of it is what we thought: this part of the two APIs are not integrated. It is possible for the user to facilitate the integration by returning format: "module" instead of its actual “commonjs”, parsing the source, and manually hooking it up to the exports, which doesn’t sound pleasant but also doesn’t sound like the worst thing.

I think wherever the docs currently discuss format we should add a note. I don’t think we should add an example of how to do what Bradley is describing, since it’s clearly not the intended API, but I think we should document that for now format: 'commonjs' doesn’t work as intended or expected.

@GeoffreyBooth to be clear it works as expected by my view XD. CJS hooks don't cleanly integrate against stuff.


How can I get the Expression Basis (which is inside "CoarseData.zip")?

Hi. We provide a link to the Expression Basis (provided by Juyong et al.) in the Prerequisite section. Follow the link and you can find CoarseData.zip in their Introduction part.

I am sorry, I have saw the link you talk about, but  Juyong et al. only provide the Basel Face Model, without the Expression Basis. Thank you!

You can download CoarseData here https://drive.google.com/uc?id=0B0A9UsiwtVTHY0p4em5qUzRISW8&export=download. Exp_Pca.bin should be inside.


Problem with float type

Introduction
I use bookshelf v0.10.4, and i've problem with float type
Issue Description
If column have float type, i have wrong result.
In DB:
table.float('amount');
amount  = 1234567.8
bookshelf return:
 {     "amount": 1234570  }
If column have integer type, bookshelf return string... ok.
Expected behaviour
bookshelf return:
 {     "amount": 1234567.8  }
I think i can use decimal type and i'll get result string, but how do I get the correct result with type float ?

Is this still an issue with the latest version?

Is this still an issue with the latest version?

yes

What database is this? Can you provide a reproducible test case for this problem?

What database is this? Can you provide a reproducible test case for this problem?

Postgres. example https://pastebin.com/nHvtq7wZ

Great! Thanks, I'll check it out ASAP.


✨ Deploy 11ty to Data Platform GH pages

User Story
As the Data Platform team
I want to review static site generator options
So that we can take advantage of any new documentation features.
Value
https://www.11ty.dev/ is being investigated by quite a few teams in MoJ already.
Proposal
Deploy to branch and make a decision to either roll out after review/discussion with team
Definition of done

[ ] Deployed to branch
[ ] Reasons to continue or not captured.
[ ] Any additional issues raised if required

Reference
How to write good user stories

This is complete


Panics when text length is longer than screen width

If the total text length is longer than the screen width it panics.
This should either:

Truncate the text
Wrap the text

It would be possible to do both:
Truncate the text if it can't fit, if there is no room to split the text into
multiple lines.

Splits the text into multiple lines so closing this.

Splits the text into multiple lines so closing this.


Event marker

I do not know if it's an error or the feature is not supported.
If you enter a carbohydrate correction in the event marker in the pump (MM640g), it will not be displayed in nightscout.

Maybe a little help (have done some data mining)
there are four markers in the pump-history.
The first 8 bytes is a timestamp (rtc/offset) as we know it.
The markers have different bytes after this.
EXERCISE_MARKER  (int16 - duration in minutes)
INJECTION_MARKER (Int32 - insulin_raw. divide with 10000)
FOOD_MARKER	     (byte - CarbUnit (grams(0)/exchange(1)), Int16 - carb)
OTHER_MARKER	 (no other info)
For Nightscout-json:
EXERCISE_MARKER:
{
....
"eventType": "Exercise",
"duration": 30
.....
}
INJECTION_MARKER:
{
...
"eventType": "Correction Bolus",
"insulin": 3.225
.....
}
FOOD_MARKER:
{
...
"eventType": "Meal Bolus",
"carbs": 10,
....
}
OTHER_MARKER:
?? what is this for :-)

@cfaagaard thanks, already had them sorted out :) got the 'pump daily totals' too if your need them.

@Pogman Ooooh yes please. It has been on my todo-list for a while. Please share :-)

@Pogman  Do you use the daily totals for something in NS?

They will uploaded in the next version. Not using the data for anything as such but it is interesting as there are variations in the totals on the pump and NS due to pumps 4 second daily drift.

The 670G is incomplete, I need to get hold of a Carelink excel file of someone for that.
EventType.DAILY_TOTALS

     ?0 ?1 ?2 ?3 ?4 ?5 ?6 ?7 ?8 ?9 ?A ?B ?C ?D ?E ?F
0x00 CR CR CR CR CO CO CO CO CD CD BG BA BA BL BL BH
0x10 BH MG MA MA ML ML MH MH BV BV TD TD TD TD TB TB
0x20 TB TB PB TI TI TI TI PI WW WA WA WB WC WC WC WC
0x30 WD WD WD WD WE WE WE WE WF WF WF WF WG WH WI WJ
0x40 ST ST SA SA SD SD SX SX SH SY SY SI SZ SZ SL SK
0x50 SK AA AA AB AB AC AC AD AD AE AE AF AF AG AG AH
0x60 AH

CR = RTC
CO - OFFSET
CD = DURATION (mins)

BG = METER_BG_COUNT
BA = METER_BG_AVERAGE (mg/dL)
BL = LOW_METER_BG (mg/dL)
BH = HIGH_METER_BG (mg/dL)
MG = MANUALLY_ENTERED_BG_COUNT
MA = MANUALLY_ENTERED_BG_AVERAGE (mg/dL)
ML = LOW_MANUALLY_ENTERED_BG (mg/dL)
MH = HIGH_MANUALLY_ENTERED_BG (mg/dL)
BV = BG_AVERAGE (mg/dL)

TD = TOTAL_INSULIN (div 10000)
TB = BASAL_INSULIN (div 10000)
PB = BASAL_PERCENT
TI = BOLUS_INSULIN (div 10000)
PI = BOLUS_PERCENT

WW = CARB_UNITS
WA = TOTAL_FOOD_INPUT
WB = BOLUS_WIZARD_USAGE_COUNT
WC = TOTAL_BOLUS_WIZARD_INSULIN_AS_FOOD_ONLY_BOLUS (div 10000)
WD = TOTAL_BOLUS_WIZARD_INSULIN_AS_CORRECTION_ONLY_BOLUS (div 10000)
WE = TOTAL_BOLUS_WIZARD_INSULIN_AS_FOOD_AND_CORRECTION (div 10000)
WF = TOTAL_MANUAL_BOLUS_INSULIN (div 10000)
WG = BOLUS_WIZARD_FOOD_ONLY_BOLUS_COUNT
WH = BOLUS_WIZARD_CORRECTION_ONLY_BOLUS_COUNT
WI = BOLUS_WIZARD_FOOD_AND_CORRECTION_BOLUS_COUNT
WJ = MANUAL_BOLUS_COUNT

ST = SG_COUNT
SA = SG_AVERAGE (mg/dL)
SD = SG_STDDEV (mg/dL)
SX = SG_DURATION_ABOVE_HIGH (mins)
SH = PERCENT_ABOVE_HIGH
SX = SG_DURATION_WITHIN_LIMIT (mins)
SI = PERCENT_WITHIN_LIMIT
SZ = SG_DURATION_BELOW_LOW (mins)
SL = PERCENT_BELOW_LOW
SK = LGS_SUSPENSION_DURATION (mins)

AA = HIGH_PREDICTIVE_ALERTS
AB = LOW_PREDICTIVE_ALERTS
AC = LOW_BG_ALERTS
AD = HIGH_BG_ALERTS
AE = RISING_RATE_ALERTS
AF = FALLING_RATE_ALERTS
AG = LOW_GLUCOSE_SUSPEND_ALERTS
AH = PREDICTIVE_LOW_GLUCOSE_SUSPEND_ALERTS

EventType.CLOSED_LOOP_DAILY_TOTALS

     ?0 ?1 ?2 ?3 ?4 ?5 ?6 ?7 ?8 ?9 ?A ?B ?C ?D ?E ?F
0x00 CR CR CR CR CO CO CO CO CD CD BG BA BA BL BL BH
0x10 BH -- -- TD TD TD TD TB TB TB TB PB TI TI TI TI
0x20 PI -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
0x30 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
0x40 -- -- ST ST SA SA SD SD SX SX SH SY SY SI SZ SZ
0x50 SL SK SK -- -- -- -- -- -- -- -- -- -- -- -- --
0x60 -- -- -- -- -- -- --

CR = RTC
CO - OFFSET
CD = DURATION (mins)

BG = METER_BG_COUNT
BA = METER_BG_AVERAGE (mg/dL)
BL = LOW_METER_BG (mg/dL)
BH = HIGH_METER_BG (mg/dL)
MG = MANUALLY_ENTERED_BG_COUNT
MA = MANUALLY_ENTERED_BG_AVERAGE (mg/dL)
ML = LOW_MANUALLY_ENTERED_BG (mg/dL)
MH = HIGH_MANUALLY_ENTERED_BG (mg/dL)
BV = BG_AVERAGE (mg/dL)

TD = TOTAL_INSULIN (div 10000)
TB = BASAL_INSULIN (div 10000)
PB = BASAL_PERCENT
TI = BOLUS_INSULIN (div 10000)
PI = BOLUS_PERCENT

ST = SG_COUNT
SA = SG_AVERAGE (mg/dL)
SD = SG_STDDEV (mg/dL)
SX = SG_DURATION_ABOVE_HIGH (mins)
SH = PERCENT_ABOVE_HIGH
SX = SG_DURATION_WITHIN_LIMIT (mins)
SI = PERCENT_WITHIN_LIMIT
SZ = SG_DURATION_BELOW_LOW (mins)
SL = PERCENT_BELOW_LOW
SK = LGS_SUSPENSION_DURATION (mins)

You can't get CSV's for 670's :( CareLink does not make CSV's available if you upload a 670G.

@Pogman Thanks a lot! I will give it a go.

Oh! But I can give you the protocol breakdown for that event...

@pazaan cool, it's nice data to have available for those that like the details

@Pogman sent to you on Gitter.

@Pogman Just a hint (maybe you this): you can html-format notes. So you could make daily total more readable :-) Example with table:

@cfaagaard my concern with doing stuff like that, which would be nice btw, is any knock on effect in other areas like the reports and then on other devices and browsers.

Actually had a quick mess with that, worth pursuing but with an 'formating' option in case there are issues in wild.
Tests: very quick prototype here and thanks for the hint ;)

@Pogman Looking good!

Well... could be an issue with this as there is a very hard limit on the size of a treatments note entry due to it being a index key in mongo.
Also a quick code based test is double serialising the json and that could be the uploader doing it once and then NS doing it again before sending it on to the db. This means things like  become <\/table> in the db rather then just </table>

hmmm.... I see your point.

The double serialising thing is an artefact of string handling in the uploader java and not NS so that can be sorted, just have to be careful with the size of the note - so still on.

And something that works now in the code... pita too to get all that data formated with the index key size limitation and looking decent (In fairness I kinda get a kick out of that sort of thing being a bit old school)
I would have liked a bit more space between items but those tags add up fast.

Looking good! So much better.
Suggestion: (now that we are having fun the old school way. lol)
Maybe you could show the insulin column with two rows (colored/grayed) representing basal and bolus and the height of the rows representing the percentage for basal and bolus (27%/73%). Maybe the same thing for the sensor (high/low/within) (same coloring as in the graph)
I know, it begins to smell a bit like a report :-)

There is just no space for anything , there was barely enough to do some minimal formatting after just the text headings and data points.


Question: is it possible to use gulp-uncss with handlebars precompiled templates?

Thanks for this great plugin.
I'm wondering if it can work with the handlebars precompiled templates.
I tried to put the handlebar precompiled templates as src like below but it doesn't work.
.pipe(plugins.uncss({html: ['dist/index.html', 'dist/js/app.js']}))

It doesn't work.
css related to the selectors contained in the app.js get 'uncssed'.
I'm wondering if there's a way to get it work.
Thanks

I think this might be a duplicate of https://github.com/ben-eb/gulp-uncss/issues/82#issue-230958654.


Target URI doesn't exit.

import 'package:font_awesome_flutter/font_awesome_flutter.dart';

Target URI doesn't exit.

I added dependencies like this:
dependencies:
  flutter:
    sdk: flutter
    font_awesome_flutter: 8.4.0

dependencies:
  flutter:
    sdk: flutter
font_awesome_flutter: 8.4.0

Fixed like this.


Added font size to toast text body

Adding this pull request because the current text body doesn't have a default font size prop, which makes messages in the toast not so legible.
Please kindly look at this in your spare time.

I added an option to change text sizes v0.2.0.
( I think that in a month I will review the library in total)


Fix the RSA key size check

Fixes #30

The linter failure is due to a new lint in a newer version of the Rust compiler. I'll fix that separately.

Let's merge then!

bors r+


Attempt to delete hidden files

Attempted making changes to request by creating a new branch and deleting all Hidden files ("." in front).

Hello, please review the changes I have made to a pull request "review changes" note.

Hello please review this request as soon as possible.

This PR is not accepted, You need to include the html file


VS Code error: Missing extension byte (at offset 45)

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Steps to reproduce

Run VS Code an create a new project or open an existing one
start emulator (flutter emulators --launch)
Choose "Run Without Debugging" from the menu "Run"
The app starts but crashes after a few seconds

Actual results
I can't start my app using the "Run Without Debugging" mode. The app starts and crashes after a few seconds. A crash report is available.
Logs

Logs
flutter run --machine --dart-define=flutter.inspector.structuredErrors=false -d emulator-5554 --devtools-server-address http://<IP_ADDRESS>:9100/ --target /Users/dennis/Documents/Apps/test/lib/main.dart
exception
FormatException: FormatException: Missing extension byte (at offset 45)
#0      _Utf8Decoder.convertSingle (dart:convert-patch/convert_patch.dart:1747:7)
#1      Utf8Decoder.convert (dart:convert/utf.dart:351:42)
#2      SystemEncoding.decode (dart:io/string_transformer.dart:27:47)
#3      _ProcessImpl._runAndWait.getOutput (dart:io-patch/process_patch.dart:498:23)
#4      _ProcessImpl._runAndWait (dart:io-patch/process_patch.dart:507:9)
#5      _runNonInteractiveProcessSync (dart:io-patch/process_patch.dart:632:18)
#6      Process.runSync (dart:io-patch/process_patch.dart:68:12)
#7      LocalProcessManager.runSync (package:process/src/interface/local_process_manager.dart:103:22)
#8      ErrorHandlingProcessManager.runSync.<anonymous closure> (package:flutter_tools/src/base/error_handling_io.dart:714:24)
#9      _runSync (package:flutter_tools/src/base/error_handling_io.dart:590:14)
#10     ErrorHandlingProcessManager.runSync (package:flutter_tools/src/base/error_handling_io.dart:713:12)
#11     _DefaultProcessUtils.runSync (package:flutter_tools/src/base/process.dart:375:51)
#12     Xcode.isDevicectlInstalled (package:flutter_tools/src/macos/xcode.dart:207:48)
#13     XCDevice.getAvailableIOSDevices (package:flutter_tools/src/macos/xcdevice.dart:482:16)
<asynchronous suspension>
#14     PollingDeviceDiscovery._populateDevices (package:flutter_tools/src/device.dart:563:36)
<asynchronous suspension>
#15     Future.wait.<anonymous closure> (dart:async/future.dart:525:21)
<asynchronous suspension>
#16     DeviceManager.refreshExtendedWirelessDeviceDiscoverers (package:flutter_tools/src/device.dart:248:5)
<asynchronous suspension>

</details>

### Flutter Doctor output

<details>
<summary>## flutter doctor</summary>
[✓] Flutter (Channel stable, 3.13.5, on macOS 14.0 23A5312d darwin-arm64, locale de-DE)
    • Flutter version 3.13.5 on channel stable at /Users/dennis/tools/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 12fccda598 (4 days ago), 2023-09-19 13:56:11 -0700
    • Engine revision bd986c5ed2
    • Dart version 3.1.2
    • DevTools version 2.25.0

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/dennis/Library/Android/sdk
    • Platform android-34, build-tools 34.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b829.9-10027231)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 15.0)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 15A240d
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b829.9-10027231)

[✓] VS Code (version 1.82.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.72.0

[☠] Connected device (the doctor check crashed)
    ✗ Due to an error, the doctor check did not complete. If the error message below is not helpful, please let us know about this issue at https://github.com/flutter/flutter/issues.
    ✗ FormatException: Missing extension byte (at offset 45)
    • #0      _Utf8Decoder.convertSingle (dart:convert-patch/convert_patch.dart:1747:7)
      #1      Utf8Decoder.convert (dart:convert/utf.dart:351:42)
      #2      SystemEncoding.decode (dart:io/string_transformer.dart:27:47)
      #3      _ProcessImpl._runAndWait.getOutput (dart:io-patch/process_patch.dart:498:23)
      #4      _ProcessImpl._runAndWait (dart:io-patch/process_patch.dart:507:9)
      #5      _runNonInteractiveProcessSync (dart:io-patch/process_patch.dart:632:18)
      #6      Process.runSync (dart:io-patch/process_patch.dart:68:12)
      #7      LocalProcessManager.runSync (package:process/src/interface/local_process_manager.dart:103:22)
      #8      ErrorHandlingProcessManager.runSync.<anonymous closure> (package:flutter_tools/src/base/error_handling_io.dart:714:24)
      #9      _runSync (package:flutter_tools/src/base/error_handling_io.dart:590:14)
      #10     ErrorHandlingProcessManager.runSync (package:flutter_tools/src/base/error_handling_io.dart:713:12)
      #11     _DefaultProcessUtils.runSync (package:flutter_tools/src/base/process.dart:375:51)
      #12     Xcode.isDevicectlInstalled (package:flutter_tools/src/macos/xcode.dart:207:48)
      #13     XCDevice.getAvailableIOSDevices (package:flutter_tools/src/macos/xcdevice.dart:482:16)
      <asynchronous suspension>
      #14     PollingDeviceDiscovery._populateDevices (package:flutter_tools/src/device.dart:563:36)
      <asynchronous suspension>
      #15     Future.wait.<anonymous closure> (dart:async/future.dart:525:21)
      <asynchronous suspension>
      #16     DeviceManager.refreshAllDevices (package:flutter_tools/src/device.dart:231:40)
      <asynchronous suspension>
      #17     DeviceValidator.validate (package:flutter_tools/src/doctor.dart:690:34)
      <asynchronous suspension>
      #18     Future.any.onValue (dart:async/future.dart:615:5)
      <asynchronous suspension>

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 1 category.
```console

</details>

Hi @Schokiii93 ,
Please confirm

if you're on latest version of VSCode
You have installed Flutter & Dart extensions in VSCode
running flutter doctor -v gives no errors

If all of above questions are yes, try the following commands from root of your project:

flutter clean
cd android
./gradlew clean
<remove cache files as mentioned here>
cd ..
flutter pub get (or) flutter pub upgrade --major-versions
flutter pub cache repair
cd android
./gradlew build

If all works without any errors, run in debug mode from VSCode

Hello @opxdelwin, thank you for your answer. I checked it and now I'm getting an error from flutter doctor:
`[✓] Flutter (Channel stable, 3.13.5, on macOS 14.0 23A5312d darwin-arm64, locale de-DE)
• Flutter version 3.13.5 on channel stable at /Users/dennis/tools/flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision 12fccda598 (5 days ago), 2023-09-19 13:56:11 -0700
• Engine revision bd986c5ed2
• Dart version 3.1.2
• DevTools version 2.25.0
[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
• Android SDK at /Users/dennis/Library/Android/sdk
• Platform android-34, build-tools 34.0.0
• Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b829.9-10027231)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 15.0)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Build 15A240d
• CocoaPods version 1.11.3
[✓] Chrome - develop for the web
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Android Studio (version 2022.3)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b829.9-10027231)
[✓] VS Code (version 1.82.2)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.72.0
[☠] Connected device (the doctor check crashed)
✗ Due to an error, the doctor check did not complete. If the error message below is not helpful, please let us
know about this issue at https://github.com/flutter/flutter/issues.
✗ FormatException: Missing extension byte (at offset 45)
• #0      _Utf8Decoder.convertSingle (dart:convert-patch/convert_patch.dart:1747:7)
#1      Utf8Decoder.convert (dart:convert/utf.dart:351:42)
#2      SystemEncoding.decode (dart:io/string_transformer.dart:27:47)
#3      _ProcessImpl._runAndWait.getOutput (dart:io-patch/process_patch.dart:498:23)
#4      _ProcessImpl._runAndWait (dart:io-patch/process_patch.dart:507:9)
#5      _runNonInteractiveProcessSync (dart:io-patch/process_patch.dart:632:18)
#6      Process.runSync (dart:io-patch/process_patch.dart:68:12)
#7      LocalProcessManager.runSync (package:process/src/interface/local_process_manager.dart:103:22)
#8      ErrorHandlingProcessManager.runSync.
(package:flutter_tools/src/base/error_handling_io.dart:714:24)
#9      _runSync (package:flutter_tools/src/base/error_handling_io.dart:590:14)
#10     ErrorHandlingProcessManager.runSync (package:flutter_tools/src/base/error_handling_io.dart:713:12)
#11     _DefaultProcessUtils.runSync (package:flutter_tools/src/base/process.dart:375:51)
#12     Xcode.isDevicectlInstalled (package:flutter_tools/src/macos/xcode.dart:207:48)
#13     XCDevice.getAvailableIOSDevices (package:flutter_tools/src/macos/xcdevice.dart:482:16)

#14     PollingDeviceDiscovery._populateDevices (package:flutter_tools/src/device.dart:563:36)

#15     Future.wait. (dart:async/future.dart:525:21)

#16     DeviceManager.refreshAllDevices (package:flutter_tools/src/device.dart:231:40)

#17     DeviceValidator.validate (package:flutter_tools/src/doctor.dart:690:34)

#18     Future.any.onValue (dart:async/future.dart:615:5)

[✓] Network resources
• All expected network resources are available.`

Something seems off with your gradle file, could you try deleting .gradle file and running doctor again

@opxdelwin same error after deleting the .gradle file.
I'm thinking about uninstall absolutely everything from my Mac.... very frustrating...

you could try just re-cloning flutter sdk from git, barely takes a minute

I deleted everything and reinstalled (vs code, android studio, flutter and android sdk). I'm getting the same error...
The thing is, I am now able to start the app via command "flutter run". Only if I try to "Run Without Debugging" or "Start Debugging" from the menu the error occurs.
Any idea what this could mean?

probably a support issue bw java and gradle version, alternatively, you can try ./gradlew build wrapper once you've fixed versioning issues

@Schokiii93
I think you have already filed a similar issue here: https://github.com/flutter/flutter/issues/135257 for which our suggestion is as mentioned: https://github.com/flutter/flutter/issues/135257#issuecomment-1732966122
Closing this, as it is a duplicate of the linked issue.


Spelling swiftcompilersources

This fixes some misspellings in Swift swiftcompilersources, it is split per https://github.com/apple/swift/pull/42421#issuecomment-1101092698

@swift-ci please smoke test


Use "eslint-config-i-am-meticulous" config for ESLint

My take on #32
Should closes #41 as well.

LGTM

LGTM


SharedMemoryStatus + UnregisterAllSharedMemory support client API

[x] Additionally added C++ client side support for UnregisterAllSharedMemory
[x] Python client support for SharedMemoryStatus + UnregisterAllSharedMemory
[x] Add tests for additional functionalities

PS: Ignore server side changes caused by rebase on the branch.

@CoderHam Can you rebase this onto master now that server PR has merged.

Rebased on master. Should I re-run the CI as well?

Rebased on master. Should I re-run the CI as well?

Wait for a review first as there may be other changes...


Hidden FID data? hows qual browser doing it?

Hi all,
I'm posting not so much an issue  but more fishing for some insight (apologies if its not the appropriate forum).
Below is a screenshot of same scan, m/z and rt of a data collected on an Orbitrap.
Looking at the same region in different software/processing tools, it quickly became aparent that the extra peaks are truncation wiggles (without negative peaks!! nve peaks get zeroed??)
Mzmine has some function/tool to "deal" with these ripples, but needs adjusting and parametrizing.
My initial question is how is Qual browser doing this correction?
It looks like its doing it on the fly (or maybe as it opens the files?) without any parametrization or user defined input.
If so, it could imply that Qual browser is actually doing it in the time domain (FT, IFT, window functions etc ).
Is the time domain data actually recorded on the .raw files? Can we access it? We have a ton of tools we could leverage from the NMR comunity if this is the case.
So tl;dr, do the .raw files contain hidden FIDs (I know it sounds almost like aconspiracy theory) and is it possible to extract it?
Hope you can help,
Regards,
G

Hi @gjgfml,
Please, ensure you have the same setting (enable/disable) for the reference and exception data while converting to mzML and viewing the file in QualBrowser. If you use ThermoRawFileParser or MSConvert, reference and exception peaks are included by default, you can exclude them (in TRFP) by providing -x, --excludeExceptionData key. QualBrowser, to the best of my knowledge, excludes these peaks by default. You can find a bit more details in this comment https://github.com/compomics/ThermoRawFileParser/issues/171#issuecomment-1733602484
As to FID data stored in the RAW file, I believe it is better to address this question to Thermo.
It is possible to switch to the "frequency" or "transient" signal in the Tune software (at least on tribrid instruments). However, I am not certain, if this is the "real" signal (i.e. directly from DAC) or the reconstructed one. Considering the amount of data in the FID and the speed of acquisition (up to 40 Hz in Orbitrap), it is likely that the FID signal never leaves the built-in computer.
The library TRFP uses for reading RAW files does not expose any API to access FID data, even if it is stored in the RAW file.

Out of my experience, almost every peak has an empty flag field, but these flags are set sometimes. If I recall, complete list of all possible flags can be found in QualBrowser help (cannot have access to it now).
A company named Spectoroswiss sells a device, that reads FID signal, but it plugs in parallel with original vendor acquisition system - https://spectroswiss.ch/hardware/. Maybe, it is something that might be relevant for you.


Add Science tag to Project Tags

https://discord.com/channels/775859454780244028/942522503258054686/1306721520780972072

Closed with https://github.com/jbx-protocol/juice-interface/pull/4501


assignment 1

What changes are you trying to make? (e.g. Adding or removing code, refactoring existing code, adding reports)
answer for question
What did you learn from the changes you have made?
Was there another approach you were thinking about making? If so, what approach(es) were you thinking of?
Were there any challenges? If so, what issue(s) did you face? How did you overcome it?
How were these changes tested?
A reference to a related issue in your repository (if applicable)
@amanda-ng518
Checklist

[+ ] I can confirm that my changes are working as intended

@amanda-ng518 I updated my assignment 1, please check cda94660e7960bac570410773f78105b1815da92

@amanda-ng518  the same, just want to be sure that previously link works: cda94660e7960bac570410773f78105b1815da92

A1: Q2
alternative hypothesis should be "at least one of the predictors..."
last part interaction interpretation still missing
Please do not close the branch before we have approved the requests

@amanda-ng518  I update Q2 in A1: bd1ca0310b7f85480f1729f81f222605d2d6b1ed

last part interaction interpretation still missing

@amanda-ng518  is it okey, if I complete my answer (Q2 A1):
Answer (v):
The p-value for the interaction constant is 0, indicating that there is a interaction between the two variables. This implies that in the Boston dataset, the effects of these two variables are not independent. By examining the coefficients, we can look at the signs of the coefficients: the bigger the dis (minus sign) the lower the medv price, while the bigger the rm the higher the price. The combination of those two has a plus sign which tells us that the number of rooms can mitigate the negative effect of distance if it is high enough, so at some point the rm is more important then dis (and vice versa).


As a developer, I want the option to run the main python functions using files from S3, instead of local files.

Description
Refactor score, combine, and tile-fy related python functions to use S3 files. This is needed for the devops work to set up Github Actions for these.
Solution
A clear and concise description of the solution.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Links to user research or other resources
Tasks
Definition of "Done"

This will be completed as part of #535


Use vtree and vdom as modules

Why don't just add vtree and vdom dependancies to package.json? Are there any reasons to keep vtree and vdom directories in this repo?

cleaning up old tickets - open another issue if there's something here which is still not resolved


Add space to end of tag value if it ends with a back slash

Hoping to merge this change in to work around influxdb issue https://github.com/influxdata/influxdb/issues/5231

Do you report this problem on influxdb-ruby repository?

I did not, I can open an issue there if it is more appropriate

I did not, I can open an issue

It should because we can merge your patch but it is workaround.
If influxdb has a problem, official client should handle it.
After you report the issue on influxdb-ruby repository, we will merge the patch.


Add maxLength option

it's too limited to has only hardcoded MAX_FILENAME_LENGTH.

Duplicate of https://github.com/sindresorhus/filenamify/issues/5
What's your use-case for needing more than 100 characters?

That depends on requirement. For one case, if someone need to log something into the file based on a java package name, it could be very long. 'xxxxxxxxxxx.xxxxxxxxxx.xxxxxxxxxxx.xxxxxxxxxxxxxx.xxxxxxxxxxx.xxxxxxxxxx.xxxxxxxxxx.xxxxxxxxxxx.xxxxxxxxxxx.xxxxxxxxxx.xxxClass'.
For another, وزير الخارجية النمساوي: الوضع فى ليبيا "لا يزال بالغ السكك الحديدية في is a news title of Arab language.
I don't recommend hardcoding the constraints

@scott-ho Alright

@e-cloud I think the option should be named maxLength. And it needs a test.

think the option should be named maxLength.

You didn't update all the places, the PR title included.

Still not. Please look at the diff.


Zerotier official package

Would you consider adding Zerotier as a package with GUI configuration?
https://forum.opnsense.org/index.php?topic=5015.0

@dharrigan seems to be working on it https://github.com/opnsense/plugins/tree/master/net/zerotier

Yikes, sorry I missed that :(
Closing...

@obrienmd no problem, lots of things going on here, hard to keep up :)

It'll be in 17.7.1 officially. 😊

On 14. Aug 2017, at 18:30, Ad Schellevis<EMAIL_ADDRESS>wrote:
@obrienmd no problem, lots of things going on here, hard to keep up :)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Sweet. Looking forward to giving it a test!

Wow... Nice. Works awesome from initial testing, shows up in interface assignments and all.
I'm curious, if I bind , say OPT4 to this interface and set up routing over it (OSPF, BGP, etc.), will it "change" upon reboot enough to break things given it's "dynamic" (for lack of a better term)?

Hi,
Thanks. It's still a work in progress and I welcome the feedback to make it better - I think from my testing there is an issue when binding to an interface, that somehow it doesn't quite work.
The plugin should store its zerotier configuration (i.e., the network association) so that on reboot the interface will come back up again (and rejoin the zerotier network).
Let me do some more testing on binding to interfaces (I may need some help from the OPNsense core team on this one).
Do let me know how it goes for you! Don't forget to backup your OPNsense configuration beforehand :-)
-=david=-

Sorry, I need to move this grousing over to plugins :)


Allow event bubbling from widgets

It would be useful if an event emitted from a widget could bubble up the DOM and be caught by a non-immediate parent. One example of where this would be useful is in a single page app architecture, where a parent widget may want to control navigation between children based on navigation events. In this case there could be many child widgets which emit nav events, and they may not be direct children.
After discussing with Patrick, it seems like a simple implementation could look like this:
var Event = require('marko-widgets/Event');
this.emit('someEvent', new Event(
    {
        bubbles: true,
        data: {
            foo: 'bar'
        }
    }
);

This would make the bubbling optional, and allow the listener to call stop propagation on the event object.

Cool! I like the idea.

I think this would a nice improvement. I definitely think bubbling should be opt-in only and I think having a new Event type will be clean. One drawback is that the this.emit(...) method will need to have a special condition for when it is called with two arguments and the second argument is an instance of Event. In addition, while I don't expect this feature to add much code, we need to be mindful of how much code is required to support this feature.
Other things to consider:

event.stopPropagation() should probably be supported
event.source should automatically point to the original widget that emitted the event
event.type should be populated with the event type used when emitting the event
event.data should be a reference to the original data object

:+1:

I still support this proposal. I'm not sure when I would be able to get to this issue so I have tagged the issue as help-wanted in case anyone else has time to work on this enhancement. I would be happy to answer any questions or provide pointers.


[Request] Option to disable video seek and resume of time

Option on admin panel to disable video seek and resume of time, start from 00:00 (still resume the episode)
Some video sources dont inform headers, so the video is downloaded with unknow size and because of this cant download partial files, breaking the video sek

I am not sure I get what you are referring to. arent all html5 compatible videos seekable? Why would you want to disallow this?

no, depends on video source
for example: https://drive.google.com/uc?authuser=0&id=1Ppw1rrFqdSTQYKyuYC04EjRboIpecgSX&export=download
google drive links dont give file size, so you cant seek an unknow filesize

Oh I see. thanks for the example link. Makes sense to automatically disable it there, this can be checked in the backend.


Sema: Fix cycle between closure type computation and EmittedMembersRequest

EmittedMembersRequest needs a stable order for synthesized members
to ensure that vtable layout is computed consistently across frontend
jobs. This used to use the mangled name as the sort key.
However, the mangling includes the type of all outer contexts, and if
an outer type is a closure, we would need to compute the type of the
closure. Computing the type of a closure might require type checking
its body though, which would in turn type check the local class, which
would invoke EmittedMembersRequest, introducing a cycle.
Instead, let's use the DeclName and string-ified type as the sort key.
This is simpler to compute than th mangled name, and breaks the cycle.
Fixes rdar://problem/67842221.

@swift-ci Please smoke test

@swift-ci Please test source compatibility


UnsupportedOperationException: JsonObject (getAsInt duration_ms)

I've been receiving the following error when trying to grab a playlist recently:
java.lang.UnsupportedOperationException: JsonObject
	at com.google.gson.JsonElement.getAsInt(JsonElement.java:231)
	at se.michaelthelin.spotify.model_objects.specification.Track$JsonUtil.createModelObject(Track.java:564)
	at se.michaelthelin.spotify.model_objects.specification.PlaylistTrack$JsonUtil.createModelObject(PlaylistTrack.java:161)
	at se.michaelthelin.spotify.model_objects.specification.PlaylistTrack$JsonUtil.createModelObject(PlaylistTrack.java:145)
	at se.michaelthelin.spotify.model_objects.AbstractModelObject$JsonUtil.createModelObjectArray(AbstractModelObject.java:78)
	at se.michaelthelin.spotify.model_objects.AbstractModelObject$JsonUtil.createModelObjectPaging(AbstractModelObject.java:126)
	at se.michaelthelin.spotify.model_objects.specification.Playlist$JsonUtil.createModelObject(Playlist.java:449)
	at se.michaelthelin.spotify.model_objects.specification.Playlist$JsonUtil.createModelObject(Playlist.java:392)
	at se.michaelthelin.spotify.model_objects.AbstractModelObject$JsonUtil.createModelObject(AbstractModelObject.java:60)
	at se.michaelthelin.spotify.requests.data.playlists.GetPlaylistRequest.execute(GetPlaylistRequest.java:38)

Taking a look at the duration_ms field in the code, it appears that one is no longer returning an integer but rather a weird JSON object?

I don't know if Spotify silently changed stuff again, but this is breaking.
EDIT: Further testing shows that this seems to only occur in playlists that contain local song files.

@dargmuesli Is this good enough for a PR?
.setDurationMs(
  hasAndNotNull(jsonObject, "duration_ms")
    ? getDurationMsFixed(jsonObject)
    : null)

  private static int getDurationMsFixed(JsonObject jsonObject) {
    JsonElement durationMs = jsonObject.get("duration_ms");
    if (durationMs.isJsonPrimitive()) {
      return durationMs.getAsInt();
    } else {
      return durationMs.getAsJsonObject().get("totalMilliseconds").getAsInt();
    }
  }

It's kinda hacky, but I really don't know how to make this cleaner either...

... Spotify at it again :roll_eyes: one would expect an api like theirs not having those deviations from its specification.
As you might've read in other issues this repo follows the practice of understanding the documentation as source of truth, which would make the issue an upstream bug which would not necessarily see a fix included in this repo's source. But things being things allow for exceptions to be possible I guess. I've subscribed to your upstream bug report so adding a workaround in this repo is fine for me; we can remove it once there is advice by Spotify on how to proceed.
Please make sure to add documentation to this workaround explaining and linking the resources mentioning the necessity for the workaround :heart:

PR is up!


[Refactoring] Remove Mutant dependency from reporters

I'm trying to separate modification and execution processes to support XCTest harness.
Now reporters depend on Mutant type, and it makes it hard to separate processes even though they only use source location and mutator kind.
This PR changes to pass only essential things.

@kateinoigakukun could you please explain the reason for this change? I didn't get it.

@AlexDenisov
Sorry for my too short explanation.
Let me explain my experimental approach for Swift and XCTest.
First, I ended up that it's a little bit hard approach to embed LLVM bitcode in the final executable file for Swift because:

Swift has some runtime libraries and some of them are linked statically. But they doesn't have bitcode information, so ld64 drops bitcode at all.
And those runtime libraries needs to be linked when re-linking object files in mull pipeline, so users have to pass linker flags manually.
(for iOS environments) Executable files must be signed, so we need to re-sign after modification.

So I'm trying to modify LLVM instructions while linking phase to avoid modifying the final executable file.
Here is my rough blueprint for the testing pipeline.

Compile source code to object file with bitcode
swiftc main.swift

Link object files with mull-ld
mull-ld main.o -lswiftCore -lswiftCompatibility51

mull-ld extracts bitcode from object files
Modify LLVM instructions for mutation testing.
Embed mutant identifiers in a special section in object files.
Then compiles them into object files
Finally delegate compiled object files to ld64 with given options.

Execute the produced binary with mull-xctest command for mutation testing.

Extract mutant identifiers from the special section from executable file.
Execute MutantExecutionTask and reports results.

As this step shows, mull-ld and mull-xctest are separated processes, so mull-xctest doesn't have bitcode information at all. So I want to remove dependencies of llvm::Module related types in Reporter and Executor.

Hi @kateinoigakukun, thanks for sharing the details. I'll get back to you with an elaborate answer later this week.
I definitely see your point and I believe it is related to the #778, so I think there is much more overlap between your work and what we currently have implemented.

@AlexDenisov Thanks for your pointer!  #778 seems strongly related to my works 👀
And while I was working on my experimental project, I found another concern about supporting multiple languages.
mull filters out mutants based on AST information, but this feature depends on language-specific library like libClang.
In Swift case, I'm using swift-syntax  to get AST info, but it's written in Swift, so the mull binary needs to depend on Swift runtime library. Is this dependency acceptable for mull project?

Hi @kateinoigakukun, I appreciate your patience :)
Here are some comments split by topics.

Refactoring
I agree we should cut LLVM related things from the reporters (and also from the mull-xctest, or mull-runner, to be more general). Though, I'd love to preserve more information, not only source location.
We have MutationPoint and Mutant representing a mutation on the LLVM level and on the source code level, respectively. Currently, Mutant is bound to the MutationPoint, mostly for historical reasons (i.e. the code is written this way).
With that being said, I suggest we find a way to separate Mutant from MutationPoint, which is doable but requires some changes across the whole codebase.
Then, we can recreate the Mutant from the mutation identifier (<mutator>:<source location>).

mull-ld etc.
Currently, mull-cxx only accepts an executable with an embedded bitcode (again, for historical reasons).
IMO, it gives the best user experience... if it works, which is not always the case. There is the same problem on macOS with C++ projects: most of the precompiled dependencies do not have embedded bitcode. So you are not the only one who faces this problem :)
To simplify this part of the process we could either modify mull-cxx or create another program that would accept a bitcode file, apply mutations, and emit an object file. I guess this is what your mull-ld does?

Swift.
First of all, we can definitely add a dependency on Swift. Though, I'd make it optional and put it under some switch (e.g. cmake -DMULL_ENABLE_SWIFT or something like this).
I don't yet know how you integrate SwiftSyntax, so I'm curious to learn more about it.
And the last Swift-related point - I guess you want a slightly different set of mutation operators?

If you want to have more real-time discussion, please be our guest at Discord server (come over to the #mull channel) :)

Refactoring
With that being said, I suggest we find a way to separate Mutant from MutationPoint, which is doable but requires some changes across the whole codebase.
Then, we can recreate the Mutant from the mutation identifier (<mutator>:<source location>).

It makes more sense 👍 I'll try to separate them in a few weeks.

mull-ld etc.
Currently, mull-cxx only accepts an executable with an embedded bitcode (again, for historical reasons).
IMO, it gives the best user experience... if it works, which is not always the case. There is the same problem on macOS with C++ projects: most of the precompiled dependencies do not have embedded bitcode. So you are not the only one who faces this problem :)

Oh, I didn't know the issues related to precompiled modules. I'm glad to know I'm not the only one 😂

To simplify this part of the process we could either modify mull-cxx or create another program that would accept a bitcode file, apply mutations, and emit an object file. I guess this is what your mull-ld does?

My mull-ld is designed to pretend to be a linker in build system. (for example, mull-ld can be passed to CMAKE_LINKER) So it accepts any linker inputs in arguments. Then it filters object files from linker arguments, extracts embedded bitcode section from object files, applies mutations, emits object files for each bitcode module, and launches the actual linker with compiled object files and given linker options.
This pipeline is well similar to mull-cxx, but input and output file types are completely different, so I think it's better to separate these tools.

Swift.
First of all, we can definitely add a dependency on Swift. Though, I'd make it optional and put it under some switch (e.g. cmake -DMULL_ENABLE_SWIFT or something like this).
I don't yet know how you integrate SwiftSyntax, so I'm curious to learn more about it.

That's good news! Yeah, making it optional makes sense. Unfortunately, Swift support in CMake has some issues, so I had to work around and use hacks 😢 (e.g. needs to write custom_command to produce object files from Swift code)

And the last Swift-related point - I guess you want a slightly different set of mutation operators?

Currently, I'm reusing some mutators for C++ and also using Swift specific ones. But I concluded that Swift's LLVM IR generation is very different from Clang. For example, Swift compiler emits a <= b as !(a > b) and it's expressed using icmp sgt a, b in LLVM IR level.  So I think we need different mutators for Swift.


Feature/handler

This is the first version of the JupyerLab extension, including Sever handlers and GUI elements.

Implement server handler for initializing fairly datasets
Implement jupyterlab extension as a context menu in File browser

Fixes #47, #45   and #41


Feature: AVR architecture (Arduino)

Experimental support for the AVR (Atmel) CPU architectures as found on popular Arduino boards (e.g. Uno).

Supports the avr-unknown-unknown target;
Enables the AVR target in LLVM;
Implements the ABI as per GCC AVR (barely tested);
Starts hacking support for 16-bit size_t;
No support for stdlib (must compile with --prelude=empty), for obvious reasons.

Sadly the compiler hardcodes pointer sizes to 64-bit. It would be interesting to investigate to have per-target support for size_t and uintptr_t actual sizes (instead of casting and assuming LLVM will optimize).
Initial cross compilations seem to generate a proper file, identical to clang and less optimized for size than AVR GCC.

I broke the compiler with the llvm.memset.* change:
Module validation failed: Call parameter type does not match function signature!
i64 ptrtoint (ptr getelementptr (%"Slice(UInt8)", ptr null, i32 1) to i64)
 i64  call void @llvm.memset.p0.i64(ptr align 4 %0, i8 0, i64 ptrtoint (ptr getelementptr (%"Slice(UInt8)", ptr null, i32 1) to i64), i1 false), !dbg !45
Call parameter type does not match function signature!
i64 ptrtoint (ptr getelementptr (%"Slice(UInt8)", ptr null, i32 1) to i64)
 i64  call void @llvm.memset.p0.i64(ptr align 4 %0, i8 0, i64 ptrtoint (ptr getelementptr (%"Slice(UInt8)", ptr null, i32 1) to i64), i1 false), !dbg !68
Call parameter type does not match function signature!
  %4 = sext i32 %3 to i64, !dbg !152
 i64  call void @llvm.memset.p0.i64(ptr %1, i8 %value, i64 %4, i1 false), !dbg !153
Call parameter type does not match function signature!
  %10 = mul i64 ptrtoint (ptr getelementptr (i8, ptr null, i32 1) to i64), %9, !dbg !158
 i64  call void @llvm.memset.p0.i64(ptr align 4 %11, i8 0, i64 %10, i1 false), !dbg !158
Call parameter type does not match function signature!
i64 ptrtoint (ptr getelementptr (%"Slice(UInt8)", ptr null, i32 1) to i64)
 i64  call void @llvm.memset.p0.i64(ptr align 4 %0, i8 0, i64 ptrtoint (ptr getelementptr (%"Slice(UInt8)", ptr null, i32 1) to i64), i1 false), !dbg !164
Call parameter type does not match function signature!
i64 ptrtoint (ptr getelementptr (%"Slice(UInt8)", ptr null, i32 1) to i64)
 i64  call void @llvm.memset.p0.i64(ptr align 4 %0, i8 0, i64 ptrtoint (ptr getelementptr (%"Slice(UInt8)", ptr null, i32 1) to i64), i1 false), !dbg !256
Call parameter type does not match function signature!
i64 ptrtoint (ptr getelementptr (%"Slice(UInt8)", ptr null, i32 1) to i64)
 i64  call void @llvm.memset.p0.i64(ptr align 4 %0, i8 0, i64 ptrtoint (ptr getelementptr (%"Slice(UInt8)", ptr null, i32 1) to i64), i1 false), !dbg !269

That may be what broke CI :p

We should try to pull out changes that are not directly affecting AVR into separate PRs. That's mostly the refactor around size_t I suppose.

The interpreter specs broke on CI with a linker error:
cannot load /__w/crystal/crystal/src/llvm/ext/llvm_ext.o (/__w/crystal/crystal/src/llvm/ext/llvm_ext.o: cannot open shared object file: No such file or directory)

I'm not sure what's happening?

You need:
require "spec"

{% if flag?(:interpreted) && !flag?(:win32) %}
  # TODO: figure out how to link against libstdc++ in interpreted code (#14398)
  pending LLVM::ABI::AVR
  {% skip_file %}
{% end %}

require "llvm"

# ...

Thanks @HertzDevil !

I extracted the size_t patches into its own pull request, and rebased this branch off that new pull request, to clean it up and keep it focused on the AVR target.
Support for -Os and -Oz will come in their own PR.

Does flag?(:bits8) or flag?(:bits16) hold for AVR?

@HertzDevil I guess it depends on what we want bitsN to mean: are the bits the register size or the usual pointer bit width. I'd say the later?

It's implemented via Target#pointer_bit_width, so I'd assume that to be the intention. However, we haven't really had distinctive values yet, so it could just be underspecified.
Anyway, the meaning of bitN flags feels like a separate discussion. We might even want to enhance/replace them with more precise flags that allow a distinction between size and address types.

I'm running some tests to pass structs (seems to be OK) as well as pointers to structs, and I feel like passing pointers isn't working or it's accessing Pointer(T)#value or both. The generated assembly is much more complex than it should be (like it's copying the structs).
There might be something wrong in the ABI.

I don't see an issue in the LLVM IR codegen related to pointers. However the memset call when initializing a struct is wrong: it should call the i16 variant but it's calling the i64 one :thinking:
call addrspace(1) void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(16) %.fca.3.insert.fca.2.gep, i8 0, i64 16, i1 false)

The %.fca.X.insert.fca.Y.gep names are weird (clang uses regular %x) but maybe that's normal.

Weird, the c_memset_fun in codegen is using the proper @llvm.memset.p0.i16 name but the LLVM IR contains the i64 one. We might be using Intrinsics.memset somewhere but since :bits64 is false it should default to the i32 version :confused:

The non optimized LLVM IR (-O0) properly declares and uses @llvm.memset.p0.i16, while the optimization pass eventually removes it and adds a call to @llvm.memset.p0.i64 :shrug:

I changed Codegen#set_alignment to no longer hardcode the alignment to either 8 or 4, in order to return 1 for the AVR target.
I'll extract the change to its own PR because I'm wondering if we shouldn't delegate to the ABI to get the proper alignment. For example its always 1 for AVR while we still get pointless N bytes alignments for chars, ints and floats... which may waste some space (the ATmega328 only has 2KB of SRAM).

@HertzDevil I'll look into the "preferred alignment", and yes, the data layout for AVR is to align everything to 8-bit / 1-byte, same as AVR GCC. The i386 change means that the change indeed warrants its own PR.

I tested this myself, and wrote a little code on an attiny202, which has only 2kb of flash and 128 bytes of ram! Here's a video of blinking lights.

Rebased from master (without any squash) to remove the initial commit that was an older version of #14442 that got merged, and now created a conflict.