Make DTLN as one model?

Hi, everyone here,
I am new to this project and had followed the script "convert_weights_to_tf_lite.py" then do full integer quantization of both model_1 and model_2 Tflite model.
From the great author comment, he mentioned the reason to split DTLN as 2 models is due to TF2.3 not deal complex value well.
After some time passed by, I am wondering if current TF2.15 can overcome it.
Unfortunately, I tried to do it but not make it.
I also found there was several open issue here that asking for the method to make it as 1 TFLite model, is there anyone succeed?
Could you please share out link or script here?
During finding hints and solution, I found there's one seems find the way, However he just share the TFLite model, not the clear steps and script. I still have no idea how to do it.
The TFLite model with full integer quantization is in here. DTLN 1 model
If someone figure out how to do it, please be kindly share with me. Hope @breizhn also see  this and give helps. 😅
It will be really helpful to me. Thanks a lot.

Reply to myself and make some correction here.
After check with the Author of DTLN 1 model, I misunderstood the model he released.
It's only a TFLite conversion from stage1, which is 'model_1', not a conversion from combination of 2 models.
So far I still not find any hints or anyone make the 2 stage models as one, not even if it's correct to do the combination.


chore: bdd-nh-1590503292 to 0.0.1

chore: Promote bdd-nh-1590503292 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
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:

OWNERS

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


Support asking for fully-qualified URL

I'd like to use this helper to generate a permalink -- specifically in a print template. My current solution is
// foo-bar/component.js:
export default Ember.Component.extend({
  fooBar: undefined,
  baseURI: document.baseURI
});

{{!-- foo-bar/template.hbs --}}
See your FooBar here: {{baseURI}}{{href-to 'foo.bar' fooBar}}

It'd be lovely to be able to do {{href-to 'foo.bar' fooBar fullyQualified=true}} or {{fully-qualified-href-to 'foo.bar' fooBar}}.

I'm curious about how many uses you would have for this in your app. Is this a common requirement for you or are there only a handful of uses?

Not too many. We have a few permalinks. I could write a {{permalink-to}} helper if I could figure out a good way to call this helper from it. I don't want to duplicate the implementation, though.

I don't think that this would be a good fit for the addon at the moment. It seems trivial to implement a base-uri helper in your own app and use them together, similar to your example above. I'd be happy to reexamine adding support if this proves to be a common request or if you feel strongly about its inclusion though.

It seems trivial to implement a base-uri helper in your own app

The only trouble is that document.baseURI ends in / and {{href-to}} creates paths that start with /, so we'd need a way to strip off the extra /, which then looks like
{{strip-last baseURI}}{{href-to 'foo'}}

which is a bit unwieldy.
 If I figure it out, I'll post the code here in case others have the same use-case.

This works:
// app/helpers/permalink-to.js

import Ember from 'ember';
import getOwner from 'ember-getowner-polyfill';
const { assert, computed, Helper } = Ember;

export default Helper.extend({
  hrefToHelper: computed(function() {
    const result = getOwner(this).lookup('helper:href-to');
    assert('helper:href-to not found', result);
    return result;
  }),

  compute(params) {
    const baseURI = document.baseURI.replace(/\/$/, '');
    return baseURI + this.get('hrefToHelper').compute(params);
  }
});

Nice one, that's pretty neat and seems like a good solution for your app. I'd be happy to add this to ember-href-to in future if more people request it

NB: since the baseURL deprecation, this needs to change:
// app/helpers/permalink-to.js
import Ember from 'ember';
import getOwner from 'ember-getowner-polyfill';
import config from '../config/environment';
const { assert, computed, Helper } = Ember;

export default Helper.extend({
  hrefToHelper: computed(function() {
    const result = getOwner(this).lookup('helper:href-to');
    assert('helper:href-to not found', result);
    return result;
  }),

  compute(params) {
    let baseURI = `${location.protocol}//${location.host}${config.rootURL}`.replace(/\/$/, '')
    return baseURI + this.get('hrefToHelper').compute(params);
  }
});

going from ember 2.9 to ember 2.10 we have to call create() on the response to getOwner(this.lookup). Specifically: const result = getOwner(this).lookup('helper:href-to').create();
Also href-to exports the underlying function so I believe this is equivalent:
import Ember from 'ember';
import config from '../config/environment';
import { hrefTo } from 'app/helpers/href-to';
const { computed, Helper } = Ember;

export default Helper.extend({
  compute(params) {
    let baseURI = `${location.protocol}//${location.host}${config.rootURL}`.replace(/\/$/, '')
    return baseURI + hrefTo(this, params);
  }
});


Use systemd-notify for worker heartbeating

Notify the systemd service manager when a worker is finished starting up, when it is shutting down, and poke the watchdog for heartbeating
Systemd has a watchdog system which will track the status of services
via "liveness check-ins" done via the systemd-notify API.
A watchdog timeout can be specified in the service file: https://www.freedesktop.org/software/systemd/man/systemd.service.html#WatchdogSec=

WatchdogSec=
Configures the watchdog timeout for a service. The watchdog is activated when the start-up is completed. The service must call sd_notify(3) regularly with "WATCHDOG=1" (i.e. the "keep-alive ping"). If the time between two such calls is larger than the configured time, then the service is placed in a failed state and it will be terminated with SIGABRT (or the signal specified by WatchdogSignal=).

When a worker is killed due to heartbeat timeout a SIGABRT is delivered:
Nov 24 13:57:27 desktop systemd[2415]: Started<EMAIL_ADDRESS>Nov 24 13:59:27 desktop systemd[2415]<EMAIL_ADDRESS>Watchdog timeout (limit 2min)!
Nov 24 13:59:27 desktop systemd[2415]<EMAIL_ADDRESS>Killing process 89351 (ruby) with signal SIGABRT.
Nov 24 13:59:27 desktop systemd[2415]<EMAIL_ADDRESS>Main process exited, code=killed, status=6/ABRT
Nov 24 13:59:27 desktop systemd[2415]<EMAIL_ADDRESS>Failed with result 'watchdog'

TODO

[x] Adjust WATCHDOG_USEC= based on dynamic queue_timeout
[x] Disable MiqServer heartbeat checking for systemd/podified

So I've been trying to replace as much of what MiqServer does with native systemd utilities as much as possible and worker status/liveness checks is definitely one such place.
We do need to keep in mind how this will play with "bring your own image".  We don't want workers to have to inherit from core worker classes in the future the way that we do now.  Moving these core features out of MiqServer allows for more flexibility in implementation.
This approach can put more onus on the byoi author because they are responsible for their own heartbeating, but it is similar to a kubernetes pod bringing its own liveness check.
Another way to do this would be for MiqServer to scan the heartbeat files and sd_notify_pid on the workers behalf.  We would have to find the PID from the GUID which has led to race conditions in the past and having something time-critical run from a core process just to avoid using the sd_notify api feels like extra overhead.  It also doesn't solve the starting/stopping timeout components of sd_notify.  There are go and python packages for sd_notify https://github.com/coreos/go-systemd/blob/master/daemon/sdnotify.go, https://pypi.org/project/sdnotify/ and lacking a package you can always just write to the notifier socket so the barrier to entry is very low.

I am also concerned about bring your own image.  While there are packages to do this for languages, it feels like it might introduce complexities.  For example, I assume FFI is a component of many of those packages, and so that complicates building the image, making sure ffi is up to date, etc.
In podified, we expect the worker to write to a file for a heartbeat, which is dead simple, and then separately we bring the liveness check script which essentially just checks the heartbeat file.  In appliances I was thinking a similar liveness check (perhaps the same one?) that the orhcestrator could run, and notify systemd (I think this is nearly the same thing you said in the last paragraph of https://github.com/ManageIQ/manageiq/pull/20840#issuecomment-733199500).
However, I didn't think that processes could notify on behalf of other processes.  In fact, this was the reason that I was against using systemd-notify ultimately.  But if a process can notify on behalf of another that changes everything.

We would have to find the PID from the GUID which has led to race conditions in the past and having something time-critical run from a core process just to avoid using the sd_notify api feels like extra overhead.

Do we?  I thought the heartbeat file had the PID already in it.  If we are scanning heartbeat files, then I don't think we need anything.

For example, I assume FFI is a component of many of those packages, and so that complicates building the image, making sure ffi is up to date, etc.

Actually none of these use FFI as sd_notify isn't a binary library you just write to a file descriptor which systemd passes as an env var (see "lacking a package you can always just write to the notifier socket so the barrier to entry is very low.")

In podified, we expect the worker to write to a file for a heartbeat, which is dead simple, and then separately we bring the liveness check

True bring your own image might mean bring your own liveness check as well e.g. a provider could bring a podified template and a service file for a worker that is completely opaque to us.  Trying to further decouple from core as much as possible

Do we? I thought the heartbeat file had the PID already in it. If we are scanning heartbeat files, then I don't think we need anything.

A heartbeat file is just tmp/#{guid}.hb and contains just a timestamp, so we'd have to lookup the PID by GUID which is exactly the race condition we had before while a worker was restarting.

For example, I assume FFI is a component of many of those packages, and so that complicates building the image, making sure ffi is up to date, etc.

Actually none of these use FFI as sd_notify isn't a binary library you just write to a file descriptor which systemd passes as an env var (see "lacking a package you can always just write to the notifier socket so the barrier to entry is very low.")

Oh that's huge... I read the docs and completely missed that bit.   If that's the case, writing to a file descriptor is simple enough that I'm good with that approach.

Do we? I thought the heartbeat file had the PID already in it. If we are scanning heartbeat files, then I don't think we need anything.

A heartbeat file is just tmp/#{guid}.hb and contains just a timestamp, so we'd have to lookup the PID by GUID which is exactly the race condition we had before while a worker was restarting so if we do go this route we really should change the heartbeat file to include the pid.

I agree...we may even want to write the GUID into the heartbeat file

What we could do is have a bash script that heartbeats for the worker, which is similar to how podified calls a script we provide and miq_server isn't involved. I'm just hesitant to add more worker management logic into miq_server beyond dictating what should be running.

It's really important for the worker to do its own heartbeating.  If an external entity heartbeats for it, all it is really checking is the existence of a process, whereas a worker doing its own heartbeating is also finding issues like infinite loops or unexpected long running calls.

LGTM...will let @jrafanie merge.

LGTM...will let @jrafanie merge.


Fix tryWith in async, tweak docs

This fixes an issue with tryWith - the function to handle exceptions returns another async, rather than just a value so it needs to be called with ctx as an argument.
I added a test but I was not able to run it, because it seems that no matter what I do build MochaTests uses the latest version of fable-core from npm. Is that the case? If so, it would be good to change how this works...
I also wanted to tweak the samples page - make all images the same size & use nicer NUnit logo, but I was not able to check how it looks due to #266.
I'm not sure what to do to make things run - but I'd be happy to test the docs & run the tests if I can get some help with running things :)

Great, thank you! Interesting, it seems the TypeScript compiler was already giving a hint about this ;)
About the tests, in the development machine I'm using the development version of fable-core.js while in the CI server I'm using the last version in npm. This was a way to remind me to update fable-core in npm, but it's true it's causing confusion among contributors so probably I should find another way (like publishing together fable-compiler and fable-core).


Fix phishing Python API example to match CLI example

Description
At some point these got out of sync where the CLI was using add-scores, but the Python API was using the filter stage, and some of the docs were using add-scores as well
By Submitting this PR I confirm:

I am familiar with the Contributing Guidelines.
When the PR is ready for review, new or existing tests cover these changes.
When the PR is ready for review, the documentation is up to date with these changes.

/merge


minor change in graph table in examples to account for missing soma neurons

Current coverage is 100.00%

Merging #238 into master will not affect coverage as of 600a61b

@@            master    #238   diff @@
======================================
  Files           38      38
  Stmts         1511    1525    +14
  Branches         0       0
  Methods
======================================
+ Hit           1511    1525    +14
  Partial          0       0
  Missed           0       0

Review entire Coverage Diff as of 600a61b

Powered by Codecov. Updated on successful CI builds.


Refactor Printer

I didn't really know how to name this issue, but currently there are some things that could be improved in delegate/printer.rs.
Duplicated code for getting the next request id
First it would be nice to get the request id number in one function and not have it duplicated in register_capability, unregister_capability, apply_edit.
The simplest solution would probably by to just put it a separate method (Printer::get_next_request_id()) in Printer, but  I feel like it would be better to get the request id in the function/method that generates the actual request (currently make_request()).
Redundant serialization and deserialization in make_request and make_notification
Second, I would be curious if we could skip the serialization, deserialization then serialization of params in make_request and make_notification.
Depending on the input params, I think that the problem could be solved with some string manipulation (serializing the rpc request, params and then inserting params into the serialized request), or by defining custom structs or one enum (RegisterCapabilityRpcRequest, ApplyWorkspaceEditRpcRequest) that take the right parameter (e.g. RegistrationParams, ApplyWorkspaceEditParams, UnregistrationParams, etc.) and serialize directly.
The second option seems quite doable since bothmake_request and make_notification return String, with the usual downside of extra maintenance (of the said structs) to keep up with lsp_types and jsonrpc-core. The first one comes with the risk of introducing bugs and is really hacky, but it could probably be hacked into the current implementation with minimal changes and maintenance afterwards.
Edit: Maybe implementing a trait RpcServerRequest : Serialize for the lsp types (RegisterCapability, UnregisterCapability, etc) that offers a uniform interface for serialization (hard code rpc version in a default implementation and take id as param in the actual serialization method) would be the cleanest solution.
Progress on #13 probably affects this issue, since it also involves changes to printer. Depending on the discussion here and the status of #13 I'd be happy to help with the refactoring.

@ebkalderon I managed to solve the second issue quite easily with a generic struct. You can check out the changes at printer-refactor. I don't feel like it's pull request ready yet since I wrote some tests to see if it works and they because the fields are serialized in a different order (which should be fine for clients but it would be nice to know why).

Good suggestions, @icsaszar! I definitely think that the redundant serialization in make_request() and make_notification() needs to go away.
You beat me to it, as I was about to agree with you on the custom struct approach. 😄 I just took a look at your branch, and it looks pretty good, although I'd probably just call it something like RawRequest and have it defined directly in the make_request() function body to make it clear it's an implementation detail of that function. As for the ordering, I think it might have something to do with how jsonrpc_core::types::params::Params handles the serialization of fields. Notice how Params::Map converts structs into a heterogenous serde_json::map::Map<String, Value>, which may or may not preserve entry ordering depending on whether the crate is build with the `"preserve_order" feature or not.
In regards to incrementing the request ID, I disagree that we should put that directly into the make_request() function. I would prefer that this function remain a pure data transformation from inputs to outputs without any side effects, if possible, to make it easy to test.
I do agree with you that we should abstract over the request_id field and reduce the duplication of code, though. Currently, it's not too bad (just one line), but once we move forward on #13, it will become important. I'm wondering whether the optimal solution would be to create a Router struct that resides inside of Printer (likely to be renamed Client) which would handle the request/response routing to and from the client and, in turn, would contain the logic for incrementing the request_id field as necessary.

Speaking of, I would like to request that we hold off on #13 for a brief moment so we can switch all of the notification methods on the LanguageServer trait to async fn (first suggested here). This would be a prerequisite for #13, which would allow us to .await on requests in those method bodies once we have proper client request handling.

BTW, it looks like jsonrpc-core builds serde_json without the "preserve_order" feature enabled (source), which means it uses a BTreeMap under the hood (source), causing the fields to be reordered.

Seems, good to me. I'll move the structs in the functions, remove the failing test and open a pull request so we can better discuss further changes (like testing).


Corrected CPUQuota service limit regex

Corrected CPUQuota service limit regex
Added CPuQuota service limit unit test

You can also specifically test types. See https://rspec-puppet.com/documentation/type_aliases/ for an example.

Corrected the indentation issue
Maybe the test types tests could be integrated in another PR.(not implemented for any variable of the module at the moment).

Hello! I just ran into this bug. Any plans on getting it merged in?


test: use kvstore-based allocator for upgrade tests

The upgrade test in the CI was sporadically failing when performing the upgrade
from v1.5 to the latest version of Cilium, with errors like the following:
2019-07-29T23:07:13.582080226Z level=warning msg="Key allocation attempt failed" attempt=11 error="unable to reserve local key 'k8s:app=migrate-svc-client;k8s:io.cilium.k8s.policy.cluster=default;k8s:io.cilium.k8s.policy.serviceaccount=default;k8s:io.kubernetes.pod.namespace=default;k8s:zgroup=migrate-svc;': local key already allocated with different value (6696 != 38347)" key="[k8s:app=migrate-svc-client k8s:io.cilium.k8s.policy.cluster=default k8s:io.cilium.k8s.policy.serviceaccount=default k8s:io.kubernetes.pod.namespace=default k8s:zgroup=migrate-svc]" subsys=allocator
2019-07-29T23:07:47.293412631Z level=warning msg="Unable to restore endpoint" endpointID=823 error="exponential backoff cancelled via context: context deadline exceeded" subsys=daemon

By default in master, we use the CRD-based identity allocator. The upgrade path
from using the kvstore-based allocator (which is on by default in v1.5) to the
CRD-based allocator is not officially supported. So, make sure that in the
upgrade test, we are still using the kvstore-based allocator. The CRD alloaction
mode will still be used in the rest of the CI, as we delete the Cilium DaemonSet
and clear all Cilium state when the upgrade test finishes up.
This is a band-aid over the real problem that we do not support the upgrade path
yet. We should revert this patch once we support changing the allocator backend
when upgrade occurs.
Fixes: #8727
Signed-off by: Ian Vernon<EMAIL_ADDRESS>

This change is

test-me-please

Coverage decreased (-0.003%) to 44.196% when pulling b0eff8f1ebef347880bae1754d6fcbbd55867e33 on pr/ianvernon/8727 into 957e35a8cde32dc72b3d777281703aecba959ada on master.

Build failure: https://jenkins.cilium.io/job/Cilium-PR-Ginkgo-Tests-Validated/13974/flowGraphTable/
Image pulls failed in multiple tests. Infra problem, not a problem with this PR, so I am trying again.

test-me-please

test-me-please

Build failure: https://jenkins.cilium.io/job/Cilium-PR-Ginkgo-Tests-Validated/13990/testReport/junit/Suite-k8s-1/10/K8sChaosTest_Connectivity_demo_application_Endpoint_can_still_connect_while_Cilium_is_not_running/
Error'd out saying kvstore service isn't ready. This shouldn't be related to my changes, but I will triage. Running tests again.

test-me-please


img2img dont work

img2img dont work, I load the image and then nothing works. A connection error pops up when generating. Probably working on this now, so I apologize for the post. I will wait. Tnx.

Have similiar issue, where img2img bugs out and stop working and in next few minutes an interface has to be restarted.
Not sure if screenshot is related, but i get it.

In my case, the process itself starts and the images are generated, but the interface does not show progress.

use ngrok


test_inference.py : AttributeError: module 'exllamav2_ext' has no attribute 'rms_norm'

root@0d4e7b58dda1:/exllamav2# PYTHONPATH=exllamav2 python test_inference.py -m /model -p "Once upon a time,"
 -- Model: /model
 -- Options: ['rope_scale 1.0', 'rope_alpha 1.0']
 -- Loading model...
 -- Loading tokenizer...
 -- Warmup...
Traceback (most recent call last):
  File "/exllamav2/test_inference.py", line 62, in <module>
    generator.warmup()
  File "/exllamav2/exllamav2/generator/base.py", line 36, in warmup
    self.model.forward(input_ids, cache = None, input_mask = None, preprocess_only = True)
  File "/exllamav2/exllamav2/model.py", line 330, in forward
    return self._forward(input_ids = input_ids,
  File "/exllamav2/exllamav2/model.py", line 422, in _forward
    x = module.forward(x, cache = cache, attn_mask = attn_mask, past_len = past_len)
  File "/exllamav2/exllamav2/attn.py", line 213, in forward
    return self.forward_torch(hidden_states, cache, attn_mask, past_len, intermediates)
  File "/exllamav2/exllamav2/attn.py", line 433, in forward_torch
    post_norm = self.input_layernorm.forward(hidden_states)
  File "/exllamav2/exllamav2/rmsnorm.py", line 58, in forward
    ext_c.rms_norm(hidden_states, self.weight, norm, self.variance_epsilon)
AttributeError: module 'exllamav2_ext' has no attribute 'rms_norm'

Could you describe the setup a bit more? Is this NVIDIA/AMD, are you using a prebuilt wheel, etc..

NVIDIA CUDA 11.7
This error resulted from attempting the first How-to example in the README document. So working with a cloned repo.

Best guess is it failed to build the extension for some reason, and left you with an empty module. You can try deleting the directory in ~/.cache/torch_extensions to force it to rebuild the extensions, and if that still fails there are also the prebuilt wheels on the releases page.

Unfortunately, clearing the torch_extensions cache did not fix the issue.
Additional notes: I am using PyTorch 2.0.1 which is compatible with my NVIDIA driver 515.48.07 and CUDA 11.7.

And you're not getting compilation errors when you run it? That would suggest maybe there's already a package installed with the same name. Although what that would be, I don't know. The rms_norm function should be there even in some very old versions.
What do you get from pip freeze | grep exllamav2?

No compilation errors. Just the missing rms_norm error.
I tried it both ways, with and without the exllamav2 package installed (in virtual env) since I thought maybe there was something that needed to be pre-compiled. Same result.
(venv) streamedge@toaster:~/projects/LLM/exllamav2$ pip freeze
cmake==3.27.6
cramjam==2.7.0
fastparquet==2023.8.0
filelock==3.12.4
fsspec==2023.9.2
Jinja2==3.1.2
lit==17.0.2
MarkupSafe==2.1.3
mpmath==1.3.0
networkx==3.1
ninja==1.11.1
numpy==1.24.4
nvidia-cublas-cu11==<IP_ADDRESS>
nvidia-cuda-cupti-cu11==11.7.101
nvidia-cuda-nvrtc-cu11==11.7.99
nvidia-cuda-runtime-cu11==11.7.99
nvidia-cudnn-cu11==<IP_ADDRESS>
nvidia-cufft-cu11==<IP_ADDRESS>
nvidia-curand-cu11==<IP_ADDRESS>
nvidia-cusolver-cu11==<IP_ADDRESS>
nvidia-cusparse-cu11==<IP_ADDRESS>
nvidia-nccl-cu11==2.14.3
nvidia-nvtx-cu11==11.7.91
packaging==23.2
pandas==2.0.3
Pygments==2.16.1
python-dateutil==2.8.2
pytz==2023.3.post1
safetensors==0.4.0
sentencepiece==0.1.99
six==1.16.0
sympy==1.12
torch==2.0.1
triton==2.0.0
typing-extensions==4.8.0
tzdata==2023.3
websockets==11.0.3

I'm a little stumped. What Python version are you running?

Python 3.9.18
So, here's some insight into what's happening in ext.py:
The import exllamav2_ext statement executes successfully, but there is no python code to import in that directory, only C. So then what follows is ext_c = exllamav2_ext and then the statement that fails ext_c.rms_norm(hidden_states, self.weight, norm, self.variance_epsilon)
Inspection of ext_c reveals:
[('__doc__', None), ('__file__', None), ('__loader__', <_frozen_importlib_external._NamespaceLoader object at 0x7f96cf9bd970>), ('__name__', 'exllamav2_ext'), ('__package__', 'exllamav2_ext'), ('__path__', _NamespacePath(['/home/streamedge/projects/LLM/exllamav2/exllamav2/exllamav2_ext'])), ('__spec__', ModuleSpec(name='exllamav2_ext', loader=<_frozen_importlib_external._NamespaceLoader object at 0x7f96cf9bd970>, submodule_search_locations=_NamespacePath(['/home/streamedge/projects/LLM/exllamav2/exllamav2/exllamav2_ext'])))]

ext.py
import torch
from torch.utils.cpp_extension import load
import os
import sys
import platform

extension_name = "exllamav2_ext"
verbose = False
ext_debug = False

windows = (os.name == "nt")

try:
    import exllamav2_ext
except ModuleNotFoundError:
    # Kludge to get compilation working on Windows

    if windows:

        def find_msvc():

            # Possible locations for MSVC, in order of preference

            program_files_x64 = os.environ["ProgramW6432"]
            program_files_x86 = os.environ["ProgramFiles(x86)"]

            msvc_dirs = \
            [
                a + "\\Microsoft Visual Studio\\" + b + "\\" + c + "\\VC\Tools\\MSVC\\"
                for b in ["2022", "2019", "2017"]
                for a in [program_files_x64, program_files_x86]
                for c in ["BuildTools", "Community", "Professional", "Enterprise", "Preview"]
            ]

            for msvc_dir in msvc_dirs:
                if not os.path.exists(msvc_dir): continue

                # Prefer the latest version

                versions = sorted(os.listdir(msvc_dir), reverse = True)
                for version in versions:

                    compiler_dir = msvc_dir + version + "\\bin\\Hostx64\\x64"
                    if os.path.exists(compiler_dir) and os.path.exists(compiler_dir + "\\cl.exe"):
                        return compiler_dir

            # No path found

            return None

        import subprocess

        # Check if cl.exe is already in the path

        try:

            subprocess.check_output(["where", "/Q", "cl"])

        # If not, try to find an installation of Visual Studio and append the compiler dir to the path

        except subprocess.CalledProcessError as e:

            cl_path = find_msvc()
            if cl_path:
                if verbose:
                    print(" -- Injected compiler path:", cl_path)
                os.environ["path"] += ";" + cl_path
            else:
                print(" !! Unable to find cl.exe; compilation will probably fail", file = sys.stderr)

    # gcc / cl.exe flags

    extra_cflags = ["/Ox"] if windows else ["-O3"]

    if ext_debug:
        extra_cflags += ["-ftime-report", "-DTORCH_USE_CUDA_DSA"]

    # nvcc flags

    extra_cuda_cflags = ["-lineinfo", "-O3"]
    # extra_cuda_cflags += ["-maxrregcount=128"]

    # linker flags

    extra_ldflags = []

    if windows:
        extra_ldflags += ["cublas.lib"]
        if sys.base_prefix != sys.prefix:
            extra_ldflags += [f"/LIBPATH:{os.path.join(sys.base_prefix, 'libs')}"]

    # sources

    library_dir = os.path.dirname(os.path.abspath(__file__))
    sources_dir = os.path.join(library_dir, extension_name)

    sources_ = \
    [
        "ext.cpp",
        "cuda/pack_tensor.cu",
        "cuda/quantize.cu",
        "cuda/q_matrix.cu",
        "cuda/q_attn.cu",
        "cuda/q_mlp.cu",
        "cuda/q_gemm.cu",
        "cuda/rms_norm.cu",
        "cuda/rope.cu",
        "cpp/quantize_func.cpp",
        "cpp/sampling.cpp"
    ]

    sources = [os.path.join(sources_dir, s) for s in sources_]

    # Load extension

    exllamav2_ext = load \
    (
        name = extension_name,
        sources = sources,
        extra_include_paths = [sources_dir],
        verbose = verbose,
        extra_ldflags = extra_ldflags,
        extra_cuda_cflags = extra_cuda_cflags,
        extra_cflags = extra_cflags
    )

ext_c = exllamav2_ext

Not sure if this is a valid approach, but I modified ext.py to force execution of code starting at # gcc / cl.exe flags comment and got the following exception:
Traceback (most recent call last):
  File "/home/streamedge/projects/LLM/exllamav2-test/venv/lib/python3.9/site-packages/torch/utils/cpp_extension.py", line 1893, in _run_ninja_build
    subprocess.run(
  File "/usr/lib/python3.9/subprocess.py", line 528, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['ninja', '-v']' returned non-zero exit status 1.

I think I get it now. The import exllamav2_ext line is supposed to be executed when importing the exllamav2 library, and it's only supposed to succeed when the exllamav2_ext package is installed in your env. Otherwise, it raises an exception and loads the JIT version instead.
In your case, since you're specifying PYTHONPATH=exllamav2, it tries to load the extension from the ./exllamav2/ folder, where it finds a directory with the same name and no Python code, so it loads it as an empty package.
You shouldn't need to set the path like that, or if you do, I believe the correct path to provide would be one level higher, i.e. . in this case.

Great! Thanks! So then that now leaves us with the compilation error. Do you have an idea why Python.h is not available?
/home/streamedge/projects/LLM/exllamav2-test/venv/lib/python3.9/site-packages/torch/include/torch/csrc/python_headers.h:12:10: fatal error: Python.h: No such file or directory
   12 | #include <Python.h>
      |          ^~~~~~~~~~
compilation terminated.

Thanks! Worked once I corrected the PYTHONPATH and another issue with header files.

python3 examples/chat.py -m /home/rb/microsoft/phi-2 -mode llama

 -- Model: /home/rb/microsoft/phi-2
 -- Options: []
 !! Warning, unknown architecture: ['PhiForCausalLM']
 !! Loading as LlamaForCausalLM
Traceback (most recent call last):
  File "/home/rb/exllamav2/examples/chat.py", line 85, in <module>
    model, tokenizer = model_init.init(args, allow_auto_split = True)
  File "/home/rb/exllamav2/exllamav2/model_init.py", line 70, in init
    config.prepare()
  File "/home/rb/exllamav2/exllamav2/config.py", line 156, in prepare
    self.rms_norm_eps = read_config["rms_norm_eps"]
KeyError: 'rms_norm_eps'

is it the same error? as I try to set PYTHONPATH but no lock

No, that's a different error. The reason is that phi-2 isn't supported.


Sample Devicetree configuration for DS18B20

Is your feature request related to a problem? Please describe.
I'm not able to use the W1 GPIO-Drivers with a DS18B20.
Describe the solution you'd like
An example configuration of a DS18B20 devicetree using GPIO.
Describe alternatives you've considered
Using it via the UART interface but that doesn't work.
Additional context
This is what I tried so far, but it's not buildable:
	ds18b20gp {
		compatible = "maxim,ds18b20";
		family-code = <0x28>;
		resolution = <12>;
		gpios = <&gpio0 18 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN | GPIO_PULL_UP)>;
		status = "okay";
	};

I cherrypicked this commit: drivers: w1: add zephyr-gpio driver  into that repo: nrfconnect/sdk-zephyr. Sadly nordic hasn't yet implemented this commit in their version.

This is for reporting zephyr bugs, not ncs bugs. If you can reproduce the issue using upstream zephyr and edit your comment to include all the information required in https://github.com/zephyrproject-rtos/zephyr/blob/main/.github/ISSUE_TEMPLATE/001_bug_report.md which is mandatory then the issue can be reopened.


error when using withInfo

Hey thanks for this addon, it's really handy. But could you provide an example of how to use it withInfo... no matter which way i do it trying to set both info and readme on the same story throws errors

@PaulieScanlon it should work without problems.

Can you show en example how did you try it?
And what errors you saw?
Which version of storybook and storybook-readme are installed?

@tuchk4 Hey. Ok, i'll do my best to give you everything.
I only need to add a readme to one or two stories but am adding a global decorator for withInfo so it needs to be disabled on the story that will use readme instead.
> "@storybook/react": "^5.0.3",
> "storybook-readme": "^5.0.0",
> "@storybook/addon-info": "^5.0.3",

addons.js
import '@storybook/addon-info'
import 'storybook-readme/register'

config.js
addDecorator(
  withInfo({
    header: false,
    inline: true,
    source: true,
    styles: {
      infoStory: {
        marginTop: '20px',
        height: '64px'
      },
      infoBody: {
        padding: '10px'
      }
    }
  })
)

snacks.stories.tsx
import { addReadme } from 'storybook-readme'
const snackReadme = require('./snack.readme.md')

const stories = storiesOf('Snacks', module).addDecorator(addReadme).addParameters({
  readme: {
    content: snackReadme
  }
})

stories.add(
  'usage',
  () => (
      <ButtonMain
        onClick={() => {
          snack.info({
            message: 'I love snacks'
          })
        }}
      >
        click me
      </ButtonMain>
  )
)

The error i get is Cannot convert a Symbol value to a string

I will try to reproduce issue tomorrow and give a feedback

@PaulieScanlon Seems this is storybook issue https://github.com/storybooks/addon-jsx/issues/34
This fix really helps https://github.com/storybooks/addon-jsx/issues/34#issuecomment-377270299 but this is not the best solution. It should work out of the box without errors.
going to investigate more deeply.

Hope there are not changes in storybook-readme to fix this.
We should wait storybook dev's answer.


Add support for Swift 3/Xcode 8

I've attempted to convert the project over using the Xcode 8 refactor tool, and fixed a few things manually. I am having trouble with the MockingjayAsyncProtocolTests. Those tests will show a number 2-second timeout messages, and then just seems to sit there and not won't complete the test. All of the other tests pass fine.
My code is on my fork, adamdebono/Mockingjay@bfc0e718119dd8366637b1e7321f51d10274743d
(Also I have pointed URITemplate to my own fork which has also been updated to Swift 3 as well)

@kylef I know you're probably very busy, but is there any chance we can get a this done soon?
Thanks!

Any update on this?

Release 2.0.0 which has Swift 3 support.


Corrected data type in [fn] snippet

Default data type is i32,  int does not exist in Rust Language.

Thanks for the help!


istio/installer demo has mismatched namespaces

When generating the demo install, it will use multiple namespaces due to the ONE_NAMESPACE variable. But then the kustomization overrides the namespace to istio-system, and now everything is mismatched since they are in istio-system namespace but the values.yaml had different namespaces.

Fixed


Zara and Brodie don't have fun Github avatars

@wipro-zara & @brodiebuildit have default Github avatars which makes lists of commits look lame (see screenshot).
This makes the team sad and should be resolved.

At least 50% happier now I hope 😃


[Bug] when treemap label has multiple line, the display will overlap or deviation

Version
5.2.2
Link to Minimal Reproduction
No response
Steps to Reproduce
add more lines for treemap label
Current Behavior

Expected Behavior
the out of range label should not display or display correct
Environment
- OS:
- Browser:
- Framework:

Any additional comments?
No response


The undo option is deprecated. Call groupLastChanges() on the TextBuffer afterward instead.

Hi! As someone below me, this happened:
A popup showed and it says:
The undo option is deprecated. Call groupLastChanges() on the TextBuffer afterward instead.
TextBuffer.setTextInRange - :11:488643
TextEditor.setTextInBufferRange - :11:15252
AtomReact.autoCloseTag - /home/pingaponga/.atom/packages/react/lib/atom-react.coffee:348:27
 - /home/pingaponga/.atom/packages/react/lib/atom-react.coffee:379:24
Function.simpleDispatch - :11:1190511
Emitter.emit - :11:1191952
The problem is: All my packages are up to date.

did you manage to solve this issue ? I am facing the same issue.


Version of Python and Pytorch? Using not for images?

Hi there,
I am just wondering what version of python and pytorch you used for this so I can be on the same page.
Also, would there need to be significant changes to the code base to have this work on 1D datasets of length 8,  other than updating the json from [64,64,3] to [8,1]?
Thanks,
Michael

@malbergo Hi, I was using python3.6 and pytorch0.4.1.
For 1d input, you may have to change some codes.
I think it’s better to set as (1,8,1). Then you need to check the  kernel size to fit your input size.
I recently change some codes for numeric stability without testing, because I’m focusing on other projects. You might have to try the pretrained model first to ensure correctness of current code.
Sorry about that.

Ok, thanks a bunch. I'm not exactly sure how the squeezing operation works when the structure is not H x W x C. If you have any insight on that, that would be great.

Currently, squeeze2d use same factor to squeeze H and W. Since your input has H == 1, W == 8, you can set factor separately. For example H_factor=1 and W_factor=2

@malbergo I close this issue. Please feel free to reopen if necessary.


[feature] Add button to remove bad prereg challenge checkouts [OSF-8333]

Purpose
Checkins don't seem to always occur when a prereg challenge is approved/rejected. At least one source of these was fixed (deleting a prereg submission while under review). Other sources may still exist that have not been identified. To make it easier to handle them, a button has been added to the prereg view that allows bad checkouts to be identified and handled all at once.

Changes
In addition to the button mention below, Clicking to view approved and rejected prereg challenge items should no longer check out files.
Add the below button that removes checkouts by prereg admins from rejected or approved prereg nodes.

Side effects
None known.

Ticket
https://openscience.atlassian.net/browse/OSF-8333
QA Notes

Three projects: Approved prereg challenge, Unapproved (active prereg submission), Rejected prereg challenge.
Add a prereg admin to the project and manually checkout a file.
Go to admin app and click on the prereg view and click the "Checkout Checkup" button
The count should match the number of projects that have bad prereg checkouts
Clicking the button should remove the checkouts from files checked out to the admin from the approved and rejected, but not the unapproved prereg challenge
It should not affect any other checkouts but nodes with approved or rejected submissions.
Checkouts by other users should not be checked in
Viewing approved and rejected preregs on admin should not re-check out the files now
Unapproved checkouts should work normally.

PR doesn't even modify that file 🙄
Updating with dev.

@alexschiller Conflicts


Unsupported Operand Type in start*= self.path_multiplier

Heya,
I tried to run LassoNetClassifier but saw error
TypeError: unsupported operand type(s) for *=: 'float' and 'NoneType'
I tried M = 1, 10, 100 and path_multiplier = 1.001. What could have caused this problem? I know it's probably have to do with my training set up..? I have only 1500 training samples, and used 225 for validation and the rest for training. My Batch_Size is 64.

I also set gamma = 0

what is the value of path multiplier?

I've tried path_multiplier = 1.02 or path_multiplier = 1.001
It looks like setting gamma and gamma_skip to non-zero values solved this problem

Do you have the calltrace?


Revert "Revert "Upgrade underlying Argo SDK""

This is the actual implementation of the migration of the underlying Argo SDK. The initial release process failed, so I need to look into how to make twine publish the package.
Reverts argoproj-labs/hera-workflows#42

This also fixes: https://github.com/argoproj-labs/hera-workflows/issues/44 by changing setup.py: https://github.com/argoproj-labs/hera-workflows/pull/43/files#diff-60f61ab7a8d1910d86d9fda2261620314edcae5894d5aaa236b821c7256badd7R44


Integration for the generalized forces

At this point, we only miss the backward integration for the generalized forces Qad.
Then the spectral integration of the static modeling of the rod is completed :)

I have checked the results. Good job !! :+1:

I have checked the results. Good job !! +1


Add runtime preferences

For enabling stats without recompiling.

To enable stats, please push the following file as /sdcard/.gvrf_prefs
debug_stats=true
debug_stats_period_ms=1000
stats_format=ANALYSIS

Then, "adb logcat -vtime | grep gvrf-stats" will get data for analysis.

This is for test engineers to enable stats in framework level. After GVRf configuration is centralized, it can be added as an entry of the configuration -- representing the runtime prefs for gvrf.

+1 Verified.  worked as expected.


Update README.md

Fixed broken URLs

@omenocal can you sign the CLA. Otherwise we unfortunately can't merge your PR :cry:

closing feel free to reopen once you've signed the CLA


Add a confirm popup before cleaning

Why ? I don't think it's necessary.

For mimic stock Android feature. Maybe add it as an option.

Yeah, I see. But adding such a thing as an option isn't a good idea. We'll either leave it as is or add it for everyone. Why ? Consistency and an effort to keep it as simple as possible, without more unnecessary settings. If you really think we should implement this, then please, write your arguments for doing so. I think that this is a good idea in stock Settings app, which is available to all types of users. Yet in apps like this one, which targets more advanced users, the users might feel like being slowed down by an unimportant dialog.

@M2ck, are you gonna comment on this ?

Yep you're right, it's not a big deal anyway!
Sorry for the late reply.


4000 - Changed the loincupload.properties file to support LOINC v2.73

Changed the loincupload.properties file to default it to support LOINC v2.73 which is the latest release and left a comment on how to support LOINC v2.72 and earlier.
Closes #4000

Closing this without implementing these specific changes as this has been handled in another closed-source project.


iis_app not actually converting to app

Cookbook version
8.0.1
Chef-client version
15.8.23
Platform Details
Microsoft Windows Server 2016
Scenario:
Using the iis_app as part of my cookbook (along with the base iis::default recipe, and iis_site and iis_pool  as well), the resultant configuration in IIS doesn't actually add the app (even though the Chef run logs it as successful). The directory containing the app shows up under the associated site, but I still have to manually use the "Convert to application..." context menu in the UI to make it an app.
Steps to Reproduce:
Create an IIS site (pointed to the default application pool, for example; iis_site successfully does this)
Create a separate application pool for the app I'll be adding (iis_pool successfully does this)
Create the application subdirectory under the site root (s3_file and aws_opsworks_archive successfully pulls a zip file from S3 and expands the application directory under the site root: c:\inetpub\siteRoot\appRoot, for example)
Execute the iis_app resource which adds an app and links it to the site and appropriate application pool previously created by iis_site and iis_pool
Example resource block (using anonymized attribute references for this example):
iis_app 'Test_site' do
path '/Test_site'
application_pool 'TestApplicationpool'
physical_path 'D:\\inetpub\\wwwroot\\Test_site'
enabled_protocols :http
action :add

end
Expected Result:
The application should already be configured as such in the IIS console, linked to its assigned application pool, etc.
Actual Result:
Although the directory for the application shows up under the site (as you would expect since it's under the siteRoot), it is not an actual application, just a directory. You still have to use the "Convert to application..." contextual menu in order to associate it with the application pool. It's as if iis_app didn't execute at all.
Perhaps I'm missing something.

I had syntax issue.


remove isScalar check from std.traits.isPointer

I have no idea why the isScalar check is there. Let's see if removing it breaks anything. The is checked should be sufficient.

After wasting several hours on this, it turns out that Master doesn't pass the Phobos tests. How is this possible? This PR does.

Hmm, maybe I just need to rebase on master.

I have no idea why the isScalar check is there. Let's see if removing it breaks anything. The is checked should be sufficient.

It was there because of an old bug where alias this could make a compound type T falsely satisfy is(T == U*, U).
void main()
{
    import std.stdio : writeln;

    struct S
    {
        void* ptr;
        alias ptr this;
    }

    writeln(is(S == U*, U));
}

2.063   to 2.083.1: Success with output: true
Since      2.084.1: Success with output: false


update locale fr to match template locale en

update locale-fr to better match template locale-en
both standard and short version
If possible @dgageot @Krule previous contributors please review.

Closing for same reason as #211.

Do you derive also the locales from http://apidock.com/rails/v4.1.8/ActionView/Helpers/DateHelper/distance_of_time_in_words and could you point me where I can find them?

Not specifically. All locale translations were done by volunteers and not necessarily vetted in any other way. Consider them contrib.
However, you bring up a very interesting point, and Rails has come a long way with regards to i18n since this js library was written.
This should help:
https://github.com/svenfuchs/rails-i18n/tree/master/rails/locale
Search for the distance_in_words key.

There are 'environ' in almost every line in French, much more than 'about'
occurrences in English.
This is not very satisfying IMO as a default but I understand this is not
exactly the upstream source and the place to discuss.

I understand your frustration. I've long had plans to consider a major refactor to timeago.js, where I would try to solve a lot of previous requests and these kinds of inconsistencies. I just never find the time to dig in for the "big rewrite."

I don't think I will have the courage to track down every upstream version and discuss there.
I also didn't understand what is the ultimate source for jquery.timeago.fr-short.js
In any case jquery.timeago.fr-short.js looks very different from jquery.timeago.en-short.js as shortened.
Please compare shortened version for different languages.
https://github.com/rmm5t/jquery-timeago/blob/master/locales/jquery.timeago.en-short.js
https://github.com/rmm5t/jquery-timeago/blob/master/locales/jquery.timeago.es-short.js
https://github.com/rmm5t/jquery-timeago/blob/master/locales/jquery.timeago.pt-br-short.js
https://github.com/rmm5t/jquery-timeago/blob/master/locales/jquery.timeago.fr-short.js
The french one stands out.

Again, every translation in the locales directory should be considered "contrib." In fact, it might have been better if I had named it contrib/locales to convey that better.
They are effectively contributions by volunteers that I don't fully support simply because I don't speak any of the languages to be able to adequately judge the quality of any of them.

The "short" versions are even more unique. They have no root in anything. Just something that others thought might be useful to share.


Cherry-pick for 1.1.1 release

So far, I cherry-picked 723aab74e2a1c for the toCode fix and 633a3acb8db529f2 to try and make the tests work.
Other candidates might be among these. Let me know your suggestions if you want me to add them to this PR.
I couldn't run-test.sh because I got the error below. Any ideas? Also, should I do any other testing?
Error in package elm-lang/core 1.1.0 in module List:

Parse error:
Overlapping definitions for infix operators: ::

Already replied to the list, but I propose adding this one:
commit ecd89540bf23003a36a82cc8a2f41a5261bbff07
Author: Aaron VonderHaar<EMAIL_ADDRESS>Date:   Tue Jan 20 23:26:40 2015 -0800

    Fix Regex.split, and add a couple tests

Could you release this @evancz ?

Can you also grab #96?

Did #134 instead. Thanks for getting this together!


NRF-Connect app doesnt receive notifications

Fixed it. Notifcations didnt get sent because of a blocking loop.

This is quite confusing. I'll try and make it more obvious this is asynchronous in the docs.

Yes maybe just add the part where you would update the heartrate to the example


New Tractus-X project contributor

Necessary Information
Email address to add<EMAIL_ADDRESS>Committers, that could take over: @AngelikaWittek , @SebastianBezold
Please make sure, that you accept the invitation you receive from GitHub, after you have been added as project contributor.

hi @BANANAS1337, can you please confirm on following https://eclipse-tractusx.github.io/docs/oss/getting-started/? I can't find your email address to be added to contributors list.

hi @tomaszbarwicki can you check again?

Hi @BANANAS1337 invitation was done,
Please make sure, that you accept the invitation you receive from GitHub, after you have been added as project contributor.
If you are part of the https://github.com/eclipse-tractusx Organisation, please verify and close the issue.

Hi @BANANAS1337 ,
see that the invite was successful so would close the issue.
If further help is needed, feel free to reopen the issue.


Problem with font from Brand center and SPFx/FUI8 & FUI9

Target SharePoint environment
SharePoint Online
What SharePoint development model, framework, SDK or API is this about?
💥 SharePoint Framework
Developer environment
Windows
What browser(s) / client(s) have you tested

[ ] 💥 Internet Explorer
[ ] 💥 Microsoft Edge
[ ] 💥 Google Chrome
[ ] 💥 FireFox
[ ] 💥 Safari
[ ] mobile (iOS/iPadOS)
[ ] mobile (Android)
[X] not applicable
[ ] other (enter in the "Additional environment details" area below)

Additional environment details

browser version : latest
SPFx version : 1.19.0
Node.js version : 18.x / 20.x

Describe the bug / error
On a SPFx project, If use the predefined variable (ex:fontFamilyCustomFont800) to override font in dialog, callout, navigation, dropdown, etc (all element have no inline renderer) ...
the variable is undefined (see screenshot).

I think it's coming because the fonts variables is created in first Fluent provider, and all callout, dialog, ect is rendered outside of this div.
I tried with FUI8 & FUI9 lib.
[edit] - the font override do not work with applicationCustomizer, Header & Footer :/
Steps to reproduce

Create SPFx project with themeProvider & dialog and apply font variable on tittle of dialog.

Expected behavior
That the fonts are also applied to the floating elements.

Fluent Ui always appended the dialog before the body and positioned it then fixed accross the screen. That's why we never use the Fluent UI Dialog and use a native HTML <dialog> Element
CSS Variables are always scoped to the container they have been applied to not to the ouside elements.
I tested the font variable on the custom PnP SPFx Live Reloader - The font gets applied wihout any problem on this App Customiser.

The problem you might face that a specifc font weight is not available which then falls back a Times New Roman like in this case.

This problem also become emminent in first party web part, where the rendered font falls back to the default browser font "Times New Roman".
It's still not yet an optimal implementation.

The dialog box is just an example, it does it on all floating elements (outside the first theme provider of SP), callout, Drawer, Panel, drodown, navigation .... and especially on customizer applications..
The problem is that we do not have control over the provider generated with the right variables, it should be generated at the body level

Hopefully this will be fixed when it's in GA, because it's unusable.


Add mda-xdrlib to meta.yml

Comment:
Just a reminder for the next release since https://github.com/mdtraj/mdtraj/pull/1911 and https://github.com/mdtraj/mdtraj/pull/1913 have been merged.

We've since removed mda-xdrlib, so I think this is no longer relevant. https://github.com/mdtraj/mdtraj/pull/1919
Probably could be closed by someone with permission.


[NTR] Add absorbance

Preferred term label
absorbance meassurement datum
Synonyms
extinction
Textual definition
A meassurement datum that represents the logarithm to the base 10 (linear absorbance) of the incident (prior to absorption) spectral radiant power, divided by the transmitted spectral radiant power. (dct:source https://doi.org/10.1351/goldbook & http://purl.allotrope.org/ontologies/result#AFR_0001157)
Comments
Definition was adapted from afo:absorbance. We did not reuse/import this AFO term directly due to the associated ontological commitment of AFO. Yet, we will provide a mapping.
Link to CHARISMA Wiki equivalent
Absorbance
Suggested parent term
iao:meassurement datum
Examples
Please provide a more detailed description that examplifies how the term is supposed to be used, in terms of what it is suppose to repesent (e.g. a concept or a relation).
Attribution
If you would like a nanoattribution, please indicate your ORCID id

I need to know if the parent (measurement datum) is correct or if this is a scalar measurement datum because it has % as unit.


Kill the bird

I think this is clever and cool, but I think it would be better if it didn't say "fuck you" to a small group of people working for a non-vc-backed company that are doing their best to make a useful service. Without the 🖕 it's still amusing, just not mean anymore.

I'd be in favour of killing the project altogether and instead voicing your concerns on a Travis issue.
This just isn't nice at all, especially considering how brilliant Travis are for providing a service like this for free.

@thedaniel Somehow I wasn't even watching my own repository, something in my GitHub notification config must be messed up. You're absolutely right, and you can has merge!
This thing was originally created in the wee hours of the night and I had no idea that 51 people would star it and make it into something important :smiley:
My sincerest apologies to the fine folks at Travis CI, I assure you it wasn't done in spite; just in annoyance and frustration.

@libeclipse If you search, there have been many tickets posted to Travis' issue tracker about this problem and they have all been rejected in favor of travis_wait, which does not solve for my use case. I agree that it was a bit insensitive, but as stated, no malintent was harboured, only the musing of a frustrated engineer in the eleventh hour of needing to ship an AMI.
By the way, this was primarily developed for a job running in paid Travis, so they are in fact getting my organization's money. Hopefully it is abundantly clear that this is not an expression on behalf of my organization, my code, thoughts, and opinions are my own and as I mentioned, I harbour no ill will toward Travis CI, only little frustrations here and there :blush:


[BUG] The Android app is crashed after double tapping on the Device back button instantly after opening the Home screen and re-launching the app

Pre-conditions:

The user is signed in

Steps to reproduce:

Launch the App
Wait while the splash screen load
Double-tap on the Device Back button while the Home screen appears
Launch the app again
Pay attention to the crash

Expected result: The Android app should not be crashed after double-tapping on the Device back button instantly after opening the Home screen and re-launching the app
Actual result: The Android app is crashed after double-tapping on the Device back button instantly after opening the Home screen and re-launching the app
Environment: Android App (Staging)1.28.1-6
Devices list:
Xiaomi Mi 8 // Android 9
Attachment:
Video: https://www.screencast.com/t/TKXqQQkk0kT
Logs: https://app.zenhub.com/files/166818382/aed914e7-2b6e-4dc8-bca8-452d29753e41/download

@iLystopad can you check if this issue reproduces on any of the previous 1.28 versions?

@serdiukov-o-nordwhale @omerzam
Checked on the Android app [staging] 1.28.1-5 (1644) before #3259 fix  - The issue reproduced
Android app [staging] 1.27.2-0 (1606) before feed migration fixes  - The issue reproduced
also checked on the PROD 1.27.1 (1581) before releasing feed - The issue reproduced
Checked on the different devices and the crash was reproduced on all of them:
Huawei P20 / Android 10 - https://app.zenhub.com/files/166818382/957396f1-612f-4adf-986a-da0aeff279c5/download
Samsung Galaxy J8 2018 / Android 8  - https://app.zenhub.com/files/166818382/0308d43a-e0d9-49e6-9937-31df4f300d00/download
Samsung Galaxy S10 / Android 9 - https://app.zenhub.com/files/166818382/f38ce38a-feba-46ce-9c79-d9982e30f76a/download
Pixel 4 XL / Android 11 - https://app.zenhub.com/files/166818382/35333f10-b36d-4426-9ad7-5f6f39b9ea36/download

As the quick fix i disabled exiting app on the back button double tap
Btw we're handling this event so If we need that feature, we could add some additional callback on exit and stop all data loading, unsubscribe from all blockchain/GUN events, clear all local caches etc
The reason is that we aren't actually exiting the app. The data continues to load and on the next app start the data is partially loaded which causes a lot of errors (e.g. trying to convert/parse already converted data etc)

if this won't work - please google about package to minimize the app
and make app minimizing when double tap on back button

@lkilaszewski @julianpolcode
Firstly, please revert this one commit: https://github.com/GoodDollar/GoodDAPP/commit/c326b737c575bc1d8ad4efe14f59b510d64eba07
Then:

Try this solution
https://stackoverflow.com/questions/56867558/why-does-my-react-native-android-app-crash-when-closed-or-the-back-button-is-pre
It won't work - try to in install this one package: https://www.npmjs.com/package/react-native-minimize Replace BackHandler.exitApp() with  RNMinimizeApp.minimizeApp(). This may just minimize app instead of the complete exit with further restart on activated
if nothing helped - restore my commit please

I was unable to replicate the issue on my Pixel 4 physical device,
I believe that this might have disappeared due to the react-native upgrade.
I uploaded a PR so @vldkh can test if everything is working fine.

@TomasGonzalez please check logs
The issue may be in some subscriptions still running trying to access some resources were disposed

as quick fix we could just minimize app using the library i suggedsted
if we want to close it exactlty we need to understand which subscription causes the crash exactly and cancel it before closing an app.
to easily cancel subscriptions we could check for some library posting the global event just before app is closed. there's func applicationWillTerminate(_ application: UIApplication) in UIApplicationDelegate on iOS. I suppose there should be something similar on Android so such library should exists. Handle this event everywhere we're putting non-RN subscriptions (e.g. realm db, thread db, web3, gun remains etc) and cancel subscription

@vldkh we need more logs please

Vlad mentioned that it happens after multiple times pressing the
back button, maybe it is because if you press it fast enough, the exitapp
would be called multiple times?


Extract non-translated strings from aria-labels

Fixes

Fixes #155 by @obulat
Description

This PR extracts the raw text strings from aria-labels into the en.json file so that they can be translated.
It also adds trailing new lines to the generated i18n-related json files.
Checklist

[x] My pull request has a descriptive title (not a vague title like Update index.md).
[x] My pull request targets the default branch of the repository (main or master).
[ ] My commit messages follow best practices.
[x] My code follows the established code style of the repository.
[ ] I added or updated tests for the changes I made (if applicable).
[ ] I added or updated documentation (if applicable).
[x] I tried running the project locally and verified that there are no visible errors.

Developer Certificate of Origin

Developer Certificate of Origin
Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
1 Letterman Drive
Suite D4700
San Francisco, CA, 94129

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.

It also adds trailing new lines to the generated i18n-related json files.

Great I was going to make a ticket for this today 😄


Multi stage evaluation?

At the moment, the evaluation blends I/O operations and evaluation. I think separating those concerns splitting the evaluation into a 'prepare' and 'evaluate' phases would give some benefits:

Easier testing and benchmarking of the engine
Scale and control I/O parallelism separately from the evaluation. The result of I/O can be cached in a controlled way, and reused for multiple parallel evaluations.
Less arc, clone, sync, send safety in the evaluation vs the prepare stage?

This is based on my very limited understanding of the engine so far, so apologies up front for wrong assumptions!

I'm unsure if this will work consistently, since f(g(h(x)) or f • g • h x is legal.
But happy for exploration.
That being said, I think all f(x) should memoize for some configurable (by f(x)) period.
e.g.
Len(some-list) could memoize forever, where sigstore::SHA256(...) could memoize for ~3 minutes or whatever the deployer wants.

There's a pretty good lru crate for bounded-sized caching (that rusty btmesh project used it).


Standup Cloud Custodian

Describe the issue
We are looking for ways to automate security checks. This is one of the 3 proposed solutions.
Which Sprint Priority is this issue related to?
The 'Milestone' should clearly list Sprint Priorities - which one is this issue related to?
Additional context
Add any other context, attachments or screenshots
Definition of done

Cloud Custodian has been run on LZ1 and some output is available for comparison to other solutions.
time-boxed to 2-3 days.

Cloud Custodian
Summary
Cloud Custodian is a comprehensive tool for monitoring AWS security compliance and provides the ability to take action on findings.
Pros

Declarative policies (Compliance as Code).
Multi-account support (c7n-org).
Sends findings to Security Hub.
Built in Lambda support.

Scheduled policies.
Events (e.g. AWS CloudTrail, Security Hub, Guard Duty) can trigger policy checks.

Can take action on findings.
CNCF Project

Cons

Large number of policies are required due to the declarative syntax and the way that regions are handled.
No prior art to leverage for use in SEA.
Infrastructure created by c7n is not truly declarative.

Lambdas deployed by policies are not automatically cleaned up when the policy is removed.

https://github.com/cloud-custodian/cloud-custodian/issues/48

There are clean up scripts available in the repo but this is a rough edge of the tool and engineering discussions are ongoing.

https://github.com/cloud-custodian/cloud-custodian/tree/master/tools/ops

Because of this it is may be best to maintain the infrastructure that runs c7n externally at this time and run c7n "in place". Further research is required.

Notes

Written in python.
Policies are declarative and written in yaml.
Supports AWS Security Hub Integration.
Provides a tool c7n-org for running against multiple accounts.
Demo (https://github.com/wrnu/aws-sea-cloud-custodian)

Cloud Custodian
Summary
Cloud Custodian is a comprehensive tool for monitoring AWS security compliance and provides the ability to take action on findings.
Pros

Declarative policies (Compliance as Code).
Multi-account support (c7n-org).
Sends findings to Security Hub.
Built in Lambda support.

Scheduled policies.
Events (e.g. AWS CloudTrail, Security Hub, Guard Duty) can trigger policy checks.

Can take action on findings.
CNCF Project

Cons

Large number of policies are required due to the declarative syntax and the way that regions are handled.
No prior art to leverage for use in SEA.
Infrastructure created by c7n is not truly declarative.

Lambdas deployed by policies are not automatically cleaned up when the policy is removed.

https://github.com/cloud-custodian/cloud-custodian/issues/48

There are clean up scripts available in the repo but this is a rough edge of the tool and engineering discussions are ongoing.

https://github.com/cloud-custodian/cloud-custodian/tree/master/tools/ops

Because of this it is may be best to maintain the infrastructure that runs c7n externally at this time and run c7n "in place". Further research is required.

Notes

Written in python.
Policies are declarative and written in yaml.
Supports AWS Security Hub Integration.
Provides a tool c7n-org for running against multiple accounts.
Demo (https://github.com/wrnu/aws-sea-cloud-custodian)


Resolve targetObject deprecation warning (ember 2.18, 3.0)

When we upgrade to ember 2.18 beta the deprecated targetObject will be no more. At first glance I replaced this with target and the closure action test case was fine. But 1 test did break (for classic actions as you see below)

component-with-actions using classic actions

{{component-with-actions classNames="component-with-actions--classic" componentAction="routeAction"}}

This components internals
export default Ember.Component.extend({
  layout: hbs`
    Some button
  `,
  actions: {
    myAction () {
      this.sendAction('componentAction');
    }
  }
});

And the error thrown as a result of clicking that
Assertion Failed: <dummy@component:component-with-actions::ember318> had no action handler for: routeAction"
The change will alter this file on lines 68, 74 and 79
https://github.com/toranb/ember-cli-hot-loader/blob/master/addon/components/hot-replacement-component.js#L68
When we alter these^ from targetObject to target we need to triage why this broke for normal actions/ and if this is something we should support in ember 2.18+

Closing this out as the v1.0 will remove this deprecation by dropping _targetObject in favor of target


NavigationView flashes white when shown/hidden in dark mode

Describe the bug
NavigationView flashes white when shown/hidden in dark mode
Steps to reproduce the bug
Open the current version of XAML Controls Gallery (<IP_ADDRESS>).
Use the app's Settings page to switch the app to dark mode.
Adjust the width of the app window such that the left nav is only showing icons. (But not so narrow that it hides entirely.)
Press the hamburger button to show and hide the text labels of the NavigationView.
Expected behavior
NavigationView retains a dark background as it animates between showing and hiding the text labels.
Actual behavior
NavigationView flashes white as it animates open and closed.
Screenshots

Version Info
XAML Controls Gallery downloaded from Store – <IP_ADDRESS>
(This also repros in other apps that use the NavigationView control.)
Repro'd on Windows 11 build 22000.100.

Should be fixed by: https://github.com/microsoft/microsoft-ui-xaml/pull/5467  @karenbtlai FYI


packaging: remove outdated comment

Signed-off-by: Antonio Cardace<EMAIL_ADDRESS>

Closing, made useless by https://github.com/nmstate/nmstate/pull/1361


Update BondsAction to get interest rates from TreasuryDirect's web API

I can't do this task quite yet because the TreasuryDirect's Web API redirects to HTTPS when you request data using HTTP. Too bad (but it's a good thing, really).


License

Hey! Could you please add a license to this repo? Some of us in the Nostr community would like to revive this project and also host more instance.
Your own instance is currently not working.

 Regardless of licenses, this is public.


Tabular outputs

Tabular outputs, for example:

Interaction View: (3 views)
Plant-Compound (human readable dict, similar to json)
{
pla01: [
(com01,knapsack,1.0),
(com02,knapsack,1.0),
]
pla04: [
(com03,knapsack,1.0),
(com05,knapsack,1.0),
]
}

Meta Views (4 views)
Plant-view
{
pla01: [
Latin name,
Links,
...
]
}

@hzb-imasine

This is replaced by text output.


Support collect detail error message with the xid

Is this a new feature, an improvement, or a change to existing functionality?
Improvement
Please provide a clear description of the problem this feature solves
We need to know the detail error messages with the xid, like this: https://docs.nvidia.com/deploy/xid-errors/#topic_4
Feature Description
I want to collect the detail error message with the xid error.
Describe your ideal solution
collect the xid error code and error message.
Additional context
No response

I would say this enhancement could be closed, since the detail error messages are actually available in release of dcgm-exporter: 3.3.6-3.4.2 where you have err_msg label for XID errors for metric DCGM_FI_DEV_XID_ERRORS


Set max page width to 1200px app-wide

Related Issue

Closes #4559

Changes Proposed

Standardize on a max width of 1200px for content container elements on all pages

The results list was affected the most significantly, as its max width was 1400px
This required setting a max width on the test facility filter input field

Screenshots / Demos
Test results list

Test queue (empty)

Test queue

Patient list

Dashboard

Testing

Does this have any layout/formatting implications for content elements that may exist within the affected container classes?

the Chromatic diffs are showing that some of the cards got wider, which seems unexpected to me. could be related to a different change and the snapshots just didn't get updated, but any idea why?

the Chromatic diffs are showing that some of the cards got wider, which seems unexpected to me. could be related to a different change and the snapshots just didn't get updated, but any idea why?

Nice catch! The EditPatient and AddPatient forms were being rendered with significantly different HTML and CSS classes - unified in 39f2ac5.

@nathancrtr the widths on all the pages lgtm now. I think the chromatic changes (dashboard and add/edit patient page) make sense to me, although I'm surprised the results page didn't get added to the changeset. Is this ready for re-review?


feat: update HTTP-API documentation to latest

I'm going ahead and merge this one, it is auto generated anyways.


avoid publishing binaries on git tags

If you release a new version of a node-cpp-skel library, and use the same commit to build a git tag, it's likely travis will run two jobs and try to build binaries for both jobs. This leads to failing tests based on which jobs can publish binaries first. Workflow:

update package.json and commit to master with the following commit (example version) 0.3.3 [publish binary]
this kicks off a travis job on the master branch
immediately after pushing to master, run git tag -v v0.3.3 -m 'v0.3.3' and git push --tags
this kicks off another travis job based on the tag, but uses the most recent commit message which is 0.3.3 [publish binary]
this means there are two jobs running with the same publish binary message, and each individual matrix will either pass or fail depending on whether the other job has published binaries.

This isn't hyper critical, but makes tests fail.
cc @springmeyer @GretaCB

The workflow I've used for publishing binaries on git tags was:
npm version [patch | minor | major]
git push && git push --tags

This will automatically increment the version in package.json and create a commit with the message 0.3.3 and a v0.3.3 tag pointing to that commit, but only the tag should build a binary.
I was not using the [publish binary] commit message hook except when I needed to manually delete and republish a binary for a previously-published version.

We could add a check to https://github.com/mapbox/node-cpp-skel/blob/c3d13e76cfb1178c92bf8beca822da4aba8c28f7/scripts/publish.sh#L38 to skip publishing if a tag is detected.
Automatically publishing only on tags as @mikemorris is something to consider. The benefit is avoiding needing to use the [publish binary] commit message. The potential drawbacks are:

If a build fails (one job or many, it happens) you have to create a new tag. Having to create a new tag due to travis network failure, for example, feels non-ideal.
we frequently use the [publish binary] to create testing binaries for a given gitsha and don't need a formal tag/permanent reference. Being forced to use tags could be seen as good for documenting development work, but also litters the tags display with lots of things most users don't care about. To the extent that the tags display should list all the official releases, this is non-optimal

Thanks for explaining the benefit of having the [publish binary] commit message hook for creating test binaries. It's also useful for just not having to think about how to publish to s3.
The more @GretaCB and I discussed the different scenarios of this issue the more I like Dane's suggestion, which I believe is saying that we could skip an s3-publish during a tag --push if the latest commit message on master is a [publish binary].

landed in #139


[Tensorboard] Make long column names in "Images" tab more readable

Currently it's difficult to read long experiment names in "Images" tab due to the lack of word-break and adaptive cell height:

Adding word-break: break-all; to and removing height: 30px; from the css class .run-name-cell.tf-image-grid will make it easier to read:

Sounds good. @danmane Could you take a look at this please?

Thanks for the suggestion. I've implemented the change and it's working its way through our internal review system.


Low bandwidth block relay using thin blocks

Thin blocks are blocks sent between full nodes using a full-match Bloom filter: in other words, as a list of hashes (plus some merkle tree control bits).
In my own tests, the feature makes little difference, but that's because all my internet connections are pretty fast. This work may benefit people behind slow or flaky connections (i.e. Great Firewall) a lot more.
Timings can be seen using -debug=relayperf which now logs the gap between requesting a block and accepting it.
WARNING: This work is only lightly tested.
WARNING: This patch is incomplete. As Core is making Bloom filtering optional, this code needs to check for cases where the remote peer has it disabled.

I think I'll ask people to help test this on testnet with big blocks in a few days. Want to do some experimentation with stock 0.11.0ABCD first.

I need to do more investigating, but i noticed when i tried to sync on testnet using this branch, it started crawwwwwwwling :turtle:  When i relaunched with current HEAD it was back to :racehorse:
Started seeing a lot of these in the log
2015-11-08 16:54:38 Peer=25 is stalling block download, disconnecting
2015-11-08 16:54:40 Peer=26 is stalling block download, disconnecting
2015-11-08 16:54:42 Peer=27 is stalling block download, disconnecting
2015-11-08 16:54:44 Peer=28 is stalling block download, disconnecting
2015-11-08 16:54:46 Peer=29 is stalling block download, disconnecting

And these
2015-11-08 18:51:49 received thin block<PHONE_NUMBER>bc915505318327aa0f18568ce024702a024d7c4a3ecfe80a893d6c peer=477
2015-11-08 18:51:57 received thin block<PHONE_NUMBER>bc915505318327aa0f18568ce024702a024d7c4a3ecfe80a893d6c peer=533
2015-11-08 18:52:00 received thin block<PHONE_NUMBER>bc915505318327aa0f18568ce024702a024d7c4a3ecfe80a893d6c peer=534
2015-11-08 18:52:12 received thin block<PHONE_NUMBER>bc915505318327aa0f18568ce024702a024d7c4a3ecfe80a893d6c peer=535

Testnet is pretty borked. I don't normally try things with it anymore as you really have no idea what's going on there at any given time, so reproducing issues can be a nightmare.
It looks from the high peer id count that you've got either tons of peer connections or there's massive churn? And you're downloading the same block from multiple peers, which doesn't seem right.
Anyway, I'm pretty busy this week. If you want to investigate, please do.

It seems someone is spamming lots of low-diff v4 blocks. This started recently as far as I can tell. I'm thinking of switching to a new genesis block.
On Nov 10, 2015, at 9:43 AM, Mike Hearn<EMAIL_ADDRESS>wrote:

Testnet is pretty borked. I don't normally try things with it anymore as you really have no idea what's going on there at any given time, so reproducing issues can be a nightmare.
It looks from the high peer id count that you've got either tons of peer connections or there's massive churn? And you're downloading the same block from multiple peers, which doesn't seem right.
Anyway, I'm pretty busy this week. If you want to investigate, please do.
—
Reply to this email directly or view it on GitHub.

@mikehearn this will be pretty easy to validate, I will try again from a clean, "out of the box"  sync on mainnet.

Potential bug: https://gist.github.com/jtoomim/4ac03b7713c4d1099337

@mikehearn have you had a chance to look at the Exception 'CDataStream::read(): end of data' error? We stopped using thin blocks in our testnet testing because they were too buggy.

No. I will be busy for a while and don't plan to work on this further. It's here if anyone wants to pick it up and run with it.

I think what I'm going to try to do is patch this to catch the error which I saw earlier and disable thin block propagation for that block. This will allow thin blocks to work about 99% of the time, and when it fails it will only be at most 2x as slow as defaulting to full blocks.

Do you think that this might be failing due to false positives in the bloom filter? I.e. block sender thinking there's a particular tx in the recipient's mempool when there isn't actually, due to collisions in the bloom filter's hash space?

If a transaction isn't pushed by the remote peer then the code asks for it again (and this is visible in the logs when it happens).

We've got transaction stuff trimmed out of our debug=net logs. Tx stuff is in debug=netfull now in our branch. We probably wouldn't be able to find it without that enabled.
I did this on my testing branch for now:
https://github.com/jtoomim/bitcoinxt/commit/f2940820ba8e3bdd8041ce10463ef4dcd8043ddf
Total hack. Hoping to get some performance data to help figure out if thin blocks have enough of a performance benefit to be worth debugging.

In case someone is thinking of making a version that includes this code as-is:
This code is buggy. Tested NACK.

Closing, work continued in #109.


Seems done to be fair, finished up the validation functions

This seems done, though you should test it

Sound 👍, I'll test in a min

Oh, well if you want, add the validator to the base commands, though its not entirely necessary, but if you want, you'll probably have to add more to the message.json and replacers.json

All looks good, merge whenever 👍


Cannot install properly, errored

I am having trouble installing this. I have followed the same steps as for the PS3 pendant. The npm install command ends in a lot of errors, as with another issue here. Then running pm2 start responds with "process successfully started" but eventually the pm2 list command says it is "errored". I tried several different USB ports. This is on a fresh install of the CNCjs Pi image. Any of the node/npm related install steps in the CNCjs guides error out every single time. I'm of a mind to shelve the Rpi and CNCjs and go back to a Windows laptop with one of the other alternatives like bCNC or UGS. Any ideas?
Thanks!
Edit: looking at the logs, it's the same error as someone else, could not locate the bindings file. (spoiler: the steps highlighted in that other issue do not work either, 404, failed to fetch etc. and since the second step will be an npm install, I already know that one would fail miserably).

I'm closing this issue because are the same subject as other. OK? I'll implement that in a near future.
#8


Add a mode in which the cargo lock is disabled if it's known that cargo doesn't have to download/install anything

See https://github.com/servo/servo/issues/12984 for a situation in which this would be useful.

Hm so in general this isn't possible because Cargo always needs a lock file to figure out what to build (e.g. some resolution of all the dependency constraints).
That being said, https://github.com/servo/servo/issues/12984 is a bug that should definitely be fixed! (perhaps just not through literally these means though).
IIRC we relaxed the locking scheme around git checkouts in Cargo awhile back, but it may not have been picked up by Servo maybe? Do you know what version of Cargo Servo is using?

IIRC we relaxed the locking scheme around git checkouts in Cargo awhile back

Oh.  Clearly, I should have retested this in a more recent servo before filing!  With a current tip servo checkout, the problem is gone.
Sorry for the noise...

No worries! Thanks regardless for the report :)


move react-addons-test-utils to dependencies

making these explicit dependencies will make it easier for other
projects and packages that allow for multiple versions of react

@ljharb

Let's combine this and #1252? I can do that on the command line.


Replace startup with lifespan

Problem
FastAPI deprecated startup events in favor of lifespan functions.
We are receiving the following warning:
 DeprecationWarning:
          on_event is deprecated, use lifespan event handlers instead.

          Read more about it in the
          [FastAPI docs for Lifespan Events](https://fastapi.tiangolo.com/advanced/events/).

    @app.on_event("startup")

Solution
Replaced on_event with a lifespan function.
Type of Change

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update
[x] Infrastructure change (CI configs, etc)
[ ] Non-code change (docs, etc)
[ ] None of the above: (explain here)

Test Plan
No need for an additional test.

@izellevy have you tested that this change also works well with the --reload option, and with our /shutdown mechanism?
(The latter should be verified on Windows as well, as the behavior there is a bit different)


HWLED 2 wire post start frame delay

From this thread debugging the FALA.

There is a delay after the start frame and then the data. After that everything flows nicely.
I tore apart and reworked the whole syntax compiler.It didn't fix that between-frame bug. I did note the delay isn't there when pushing only data, it only happens between start frame ([) and whatever comes next. It is really weird.

Linking discussion in PR 139 also.


[Bug]: SimpleListEntry wrong HasBadge applied

What happened?
Trait "Filament\Actions\Concerns\HasBadge" not found
How to reproduce the bug
SimpleListEntry::make('checklist')
    ->listStyle('list')
    ->getStateUsing([
        ['name' => 'Complete profile #1', 'score' => 1],
        ['name' => 'Complete profile #2', 'score' => .75]
    ])
    ->itemIcon(fn ($record) => match (true) {
        $record['score'] >= 1 => 'heroicon-o-check',
        default => 'heroicon-o-exclamation-triangle'
    })
    ->itemIconColor(fn ($record) => match (true) {
        $record['score'] >= 1 => 'success',
        default => 'danger'
    })
    ->itemActions(
        fn ($record) => [
            ViewAction::make('view1')
                    ->url('#View1-' . $record['name']),
            ActionGroup::make([
                Action::make('view2')
                    ->url('#View2-' . $record['name']),
                Action::make('edit'),
                Action::make('delete'),
            ])
                ->size(ActionSize::Small)
        ]
    )
    ->itemUrl(fn ($record) => '#Url-' . $record['name'])
    ->itemLabel(fn ($record) => $record['name'])
    ->itemDescription(function ($record) {
      return sprintf('Percentage: %s%%', $record['score'] * 100)
    }),

Package Version
lasted
PHP Version
8.2.0
Laravel Version
lasted
Which operating systems does with happen with?
macOS
Notes
Need change correct HasBadge
class SimpleListEntry fix use Filament\Actions\Concerns\HasBadge -> use Filament\Support\Concerns\HasBadge;

I'm still getting this same issue. Can this be merged and released now?

I'm seeing this issue too. Needs to be modified to use Filament\Support\Concerns\HasBadge;

I solved it he needs to accept the PR


How to log spring principal in request?

Is there any way to implement this?

This should work:
final class PrincipalHttpLogFormatter implements HttpLogFormatter {

    private final JsonHttpLogFormatter delegate;

    PrincipalHttpLogFormatter(final JsonHttpLogFormatter delegate) {
        this.delegate = delegate;
    }

    @Override
    public String format(final Precorrelation<HttpRequest> precorrelation) throws IOException {
        final Map<String, Object> content = delegate.prepare(precorrelation);
        content.put("principal", getPrincipal());
        return delegate.format(content);
    }

    @Override
    public String format(final Correlation<HttpRequest, HttpResponse> correlation) throws IOException {
        final Map<String, Object> content = delegate.prepare(correlation);
        content.put("principal", getPrincipal());
        return delegate.format(content);
    }

    private String getPrincipal() {
        final Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
        @Nullable final String principal = authentication.getName();
        return principal == null ? "anonymous" : principal;
    }

}

The only place to add this within logbook would be the spring-boot-starter, but I'm hesitant to do it, since it doesn't feel right to only support this for the json format.

Thank you but i don't understand where can i configure my logbook?
Logbook logbook = Logbook.builder()
    .condition(new CustomCondition())
    .rawRequestFilter(new CustomRawRequestFilter())
    .rawResponseFilter(new CustomRawResponseFilter())
    .queryFilter(new CustomQueryFilter())
    .headerFilter(new CustomHeaderFilter())
    .bodyFilter(new CustomBodyFilter())
    .requestFilter(new CustomRequestFilter())
    .responseFilter(new CustomResponseFilter())
    .formatter(new CustomHttpLogFormatter())
    .writer(new CustomHttpLogWriter())
    .build();

In which class i can do that, to apply my PrincipalHttpLogFormatter?

.formatter(new CustomHttpLogFormatter())

.formatter(new PrincipalHttpLogFormatter(new JsonHttpLogFormatter())

I understood that, but where should i put that configuration in which class?

If you're using the spring boot starter, then you can just override that part of the auto configuration:

https://github.com/zalando/logbook#spring-boot-starter
https://github.com/zalando/logbook/blob/master/logbook-spring-boot-starter/src/main/java/org/zalando/logbook/spring/LogbookAutoConfiguration.java#L204

@Bean
public HttpLogFormatter httpLogFormatter(final ObjectMapper mapper) {
    return new PrincipalHttpLogFormatter(new JsonHttpLogFormatter(mapper));
}

@whiskeysierra how about in a webflux application ?
it seems this does not work for a ReactiveSecurityContextHolder.

Hello folks,
I am banging my head from last today as I can't able to print the JSON log in the beautified format in the IntelliJ console rather it is printing the whole JSON in a single line. Can anyone please help me with this?
{"type":"REQUEST","correlation":"d8d965d73ba59297","method":"POST","uri":"http://localhost:8080/students","host":"localhost","path":"/students","scheme":"http","port":"8080","headers":{"content-length":["714"],"content-type":["application/json"],"host":["localhost:8080"],"postman-token":["ed949fad-61cb-4ff9-8353-8b97046c0ed6"]},"body":{"type":"REQUEST","correlation":"9f85d3d4c9ca43d9","protocol":"HTTP/1.1","remote":"0:0:0:0:0:0:0:1","method":"POST","uri":"http://localhost:8080/students","host":"localhost","path":"/students","scheme":"http","port":"8080","headers":{"content-length":["82"],"content-type":["application/json"],"host":["localhost:8080"],"postman-token":["9c4454db-9905-4c68-bf21-deb44ecb2f62"]},"body":{"studentName":"Ramesh","studentAge":50,"address":"Nellore"},"principal":"ramesh"}}
mail<EMAIL_ADDRESS>


Fetching media playback metadata?

Is there currently a way to fetch the metadata of a currently playing media item? If not, would it be in the scope of this crate to implement it?

The crate's purpose is to host a media controls server, it's not in the scope. The closest thing I know is this crate for Linux: mpris-rs.


腾讯连连BLE ADV

腾讯连连蓝牙广播通讯协议 https://github.com/TencentCloud/tencentcloud-iot-explorer-ble-adv-sdk-embedded

完善下adv_sdk_demo


DatabaseTokenRepository can generate a token with a forward slash, which breaks the password.reset route

UI Version: 2.1.0
Laravel Version: 7.18.0
PHP Version: 7.4.10
Database Driver & Version: MySQL 5.7.31

Description:
The password.reset route from laravel-ui is generated like this:
password/reset/{token}

# and it maps to App\Http\Controllers\Auth\ResetPasswordController@showResetForm

ResetPasswordController->showResetForm expects $token as a route parameter, like this:
public function showResetForm(Request $request, $token = null)

If token is generated with a forward slash in it, then the route will not be matched to password.reset, Because the slash is a URL path delimiter.
We've seen this occur because the DatabaseTokenRespository->createNewToken() function does this:
return hash_hmac('sha256', Str::random(40), $this->hashKey);

Sometimes, that function returns a string containing a forward slash.
Steps To Reproduce:
Insert a record in your password_resets table with your email address and this token (which was generated in our production system with the forward slash):
$2y$10$M.PUHvBRZbv5N2RYx3Pnhu/neWmaajw1V02azOAbMge7BYiwpdeZG

Use Tinker to load your User model and then send the ResetPasswordNotification:
php artisan tinker

$user = App\Models\User::find(3); // Replace with your model's ID
$user->sendPasswordResetNotification('$2y$10$M.PUHvBRZbv5N2RYx3Pnhu/neWmaajw1V02azOAbMge7BYiwpdeZG');

Check your email and click the Reset Password link.
Because that $token has a backslash in it, your Laravel site will return a 404 Page not found error.
Expected behavior
The $token should never have a forward slash in it, or the route matching logic should account for the possibility that the token could have a slash in it.
Thank you

Great issue, thanks. If you can whip up a PR for this that'd be great. Otherwise I'll try to tackle this tomorrow so it's in time for tomorrow's release.

Thanks - I tried changing the route definition like this:
Route::get('password/reset/{token?}', ['as' => 'password.reset', 'uses' => 'Auth\ResetPasswordController@showResetForm']);
        ->where('token', '(.*)');

But when I reset my password, I'm getting PasswordBroker::INVALID_TOKEN  returned from PasswordBroker->validateReset(), so I must be missing something somewhere.
I'll keep working on it.

This isn't a bug with the framework but with our customization.
We have a subclass of DatabaseTokenRepository->create() function that was returning the hashed token, which is why the token in the URL sometimes had the slash in it. We are going to remove the customization and revert to the original route definition.
Sorry for the false bug!

We should probably just stripe forward slashes out of the token when we generate it.


Error with code generated for ternary expressions in function parameters

The following code will show the number 1 when run in the simulator or on a micro:bit:
let x = 0;

function someFunction(arg1: boolean, arg2: number) {
    basic.showNumber(arg2)
}

someFunction(true, x === 1 ? 5 : -5)

If you remove the first argument (arg1) from the function, then the code runs correctly and displays -5.
I'm going to mark this as P2 because it doesn't affect the blocks.

Passing false returns will make it display the number 0.

Here is a better example of the issue:
let x = 0;

basic.showNumber((x === 1 ? 5: 5) + (x === 1 ? -3: 3))

This will show the number 6 when it should show 8.

basic.showNumber((2 + 2) + (true ? -3: 3)) expected result here is 1

fixed