Make Xarray an Optional Dependency

This PR makes the following changes

Removes xarray from SR's install_requires list
Slightly refactors check if xarray is available by converting it to a decorator
Adds test to make sure the decorator works as expected if xarray cannot be imported

Codecov Report

Merging #302 (fb8dca6) into develop (97751d8) will increase coverage by 17.67%.
The diff coverage is 100.00%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files

@@             Coverage Diff              @@
##           develop     #302       +/-   ##
============================================
+ Coverage    76.64%   94.31%   +17.67%
============================================
  Files           66        9       -57
  Lines         4290      774     -3516
============================================
- Hits          3288      730     -2558
+ Misses        1002       44      -958

Impacted Files
Coverage Δ

src/python/module/smartredis/dataset_utils.py
96.73% <100.00%> (+3.79%)
:arrow_up:

src/cpp/clusterinfocommand.cpp

include/sharedmemorylist.h

include/address.h

src/cpp/srobject.cpp

src/cpp/threadpool.cpp

src/cpp/address.cpp

include/commandreply.h

include/client.h

include/dbnode.h

... and 48 more


signInWithProvider returns bool where as signIn returns GotrueSessionResponse

Future<GotrueSessionResponse> signIn({
  String? email,
  String? phone,
  String? password,
  Provider? provider,
  OpenIDConnectCredentials? oidc,
  AuthOptions? options,
})

Future<bool> signInWithProvider(Provider provider, {AuthOptions? options})

as signInWithProvider returns bool , cant get the Session from it.

Good catch. We should be returning the result of signIn and not launch

Fixed in #73

Workaround until it is fixed in latest release: Use something like uni_links and catch deeplinks. Parse the refresh_token manually and call setSession() method.

Closing this issue as this is actually by design. Because provider sign in relies on opening an webview and coming back to the app via deeplinks, there is no way for the method to return the result of the sign in. Whether the sign in went through or not should be determined by listening to onAuthStateChanged callback!


Option to show the original page when custom page/patch exists

Perhaps something like tldr --original git to render the original file, or tldr --path git to show where git.md file is located. This is useful when working with a patch.

I suppose this would be covered by #306? With an environment variable, you could env TEALDEER_PAGE_PATH=/ TEALDEER_PATCH_PATH=/ tldr ..., or whatever syntax we come up with there. Is there any motivation for a separate option?

I was thinking of a way to easily generate diff.
diff <(tldr git) <(tldr --original git)

But I guess if we go with only supporting environment variable that would be something like this?
diff <(tldr git) <(TEALDEER_PAGE_PATH=/ tldr git)

To be honest, I think the use case is very niche. Currently, I would prefer to not add extra settings as in your initial suggestion, but we can leave this issue open for some time and see from the reactions if more people would be interested


[BugFix] Fix branch-2.1 subquery with limit bug

What type of PR is this：

[ ] BugFix
[ ] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Which issues of this PR fixes ：

Fixes #
Problem Summary(Required) ：

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] I have added user document for my new feature or new function

starrocks_be_unittest succeeded.

starrocks_be_unittest succeeded.


bug is resolved img section is removed

Description
as it does not contain any image so it not for use in that section.
Fixes #748
Replace issue_no with the issue number which is fixed in this PR
Screenshots

updated one
https://github.com/SurajPratap10/Imagine_AI/assets/114687502/9038a4ce-933b-49ac-a74b-ef747f8c4f8f
Checklist

[x] Tests have been added or updated to cover the changes
[x] Documentation has been updated to reflect the changes
[x] Code follows the established coding style guidelines
[x] All tests are passing

@SurajPratap10 have a look


angular2-moment - typings err! unable to find "moment: <"npm">

hello i try to use angular2-moment on win 8,1
Steps to Reproduce

[First Step] : npm install --save angular2-moment

[Second Step] :typings install --save moment
error

As you can see in the warning, it's saying that moment already exists in the package and not on the registry.


Solve issue with stacking multiple CLIs

Closes #26
This PR uses click's context dispatch to invoke multiple commands in a row, to avoid the first one calling a system exit

Thanks @cthoyt, I couldn't figure this out!

Sorry it took so long. Thanks for the reminder!


Shifted 100Hz Sinusoid and Sample Rate Problem

Hello,
I have a problem when I try to make a sinusoid with a 20ms period (or 50Hz) with a 2V amplitude. It works but instead of behind centered on 0, it is centered on -2V. How to correct this problem ? Using 'shift' doesn't do anything, and when using 'offset' it just does a flat voltage at the offset value.
Furthermore, I have an issue understanding sample rate. Is the sample rate simply the number of measurements every second and is just used to make the graph ? And no matter the sample rate the sinusoid follow its parameters ? Or does it give an output voltage according to the sample rate ? And thus the sample rate is critical to make the system work correctly ?
If the second explanation is correct, then I must tune the sample rate to match the period I want to set right ?
I have get it to work by putting 5 sample per period (changing the sample_rate to keep this rate for every period I set) but I need to understand it.
Thank you for your response

The sample rate is simply the number of measurements per seconds which are sent back to the host pc.  The output waveform generated using an outscan rate of 5kHz which is set using a hardware Timer on the microcontroller.
The sample rate you use is still quite important though as you will want to have a high enough sample rate to get sufficient measurements per cycle of your sinusoid.   The maximum sample rate for the Rodeostat is 1000Hz when using the Python API and 200Hz when using the web app.   For this application I would suggest using the Python API  with a sample rate of 1000Hz as this will at least give you 20 points per waveform.  With the webapp and a sample rate of 200Hz you will only get 5 points per cycle which isn't a lot.
Regarding the parameters for the sinusoidal test.
The "shift" parameter is a unit-less phase shift parameter.  It is used to specify the phase shift for the sinusoid. It takes values in the range of 0 to 1.   For a sinusoid the phase shift in degrees will be 360 times the value of shift parameter (360 x shift).  So if shift=0 you get a sinewave (0 degree phase shift) , if shift=0.25 you get a cosine (90 degree phase shift), etc.   This parameter won't have any effect of the offset of the waveform.
The "offset" parameter sets the offset of the waveform from zero. This is essentially just a voltage which is added to the sinusoidal waveform.  When offset=0 the sinusoid will be centered on 0V. When the offset=1 the sinusoid will be centered on 1V, etc.
You can find a description of the parameters for the sinusoidal test here https://iorodeo.github.io/iorodeo-potentiostat-docs-build/tests.html#sinusoidal-voltammetry
I would start by running some examples using the 50k dummy cell which comes with the Rodeostat.  The following Python script will run a 50Hz sinusoid with a 2V amplitude.  The sample rate is 1000Hz and the waveform is centered on 0V.
from potentiostat import Potentiostat
import sys
import matplotlib.pyplot as plt

port = '/dev/ttyACM0'
dev = Potentiostat(port)
dev.set_curr_range('100uA')
dev.set_sample_rate(1000.0)

name = 'sinusoid'
param = {
        'quietValue' : 0.0,
        'quietTime'  : 100,
        'amplitude'  : 2.0,
        'offset'     : 0.0,
        'period'     : 20,
        'numCycles'  : 10,
        'shift'      : 0.0,
        }

dev.set_param(name,param)
t,volt,curr = dev.run_test(name,display='pbar')

fig, ax = plt.subplots(2,1)
ax[0].plot(t,volt)
ax[0].set_ylabel('(V)')
ax[0].grid(True)
ax[1].plot(t,curr)
ax[1].set_ylabel('(uA)')
ax[1].set_xlabel('t (sec)')
ax[1].grid(True)
plt.show()

Thank you so much !
And for simple volateg input, not cyclic voltammetry, the current range
isn't important right?
It is only important when you do current measurements isn't it ?
Le jeu. 15 juin 2023, 18:26, IO Rodeo @.***> a écrit :

The sample rate is simply the number of measurements per seconds which are
sent back to the host pc. The output waveform generated using an outscan
rate of 5kHz which is set using a hardware Timer on the microcontroller.
The sample rate you use is still quite important though as you will want
to have a high enough sample rate to get sufficient measurements per cycle
of your sinusoid. The maximum sample rate for the Rodeostat is 1000Hz when
using the Python API and 200Hz when using the web app. For this application
I would suggest using the Python API with a sample rate of 1000Hz as this
will at least give you 20 points per waveform. With the webapp and a sample
rate of 200Hz you will only get 5 points per cycle which isn't a lot.
Regarding the parameters for the sinusoidal test.
The "shift" parameter is a unit-less phase shift parameter. It is used to
specify the phase shift for the sinusoid. It takes values in the range of 0
to 1. For a sinusoid the phase shift in degrees will be 360 times the value
of shift parameter (360 x shift). So if shift=0 you get a sinewave (0
degree phase shift) , if shift=0.25 you get a cosine (90 degree phase
shift), etc. This parameter won't have any effect of the offset of the
waveform.
The "offset" parameter sets the offset of the waveform from zero. This is
essentially just a voltage which is added to the sinusoidal waveform. When
offset=0 the sinusoid will be centered on 0V. When the offset=1 the
sinusoid will be centered on 1V, etc.
You can find a description of the parameters for the sinusoidal test here
https://iorodeo.github.io/iorodeo-potentiostat-docs-build/tests.html#sinusoidal-voltammetry
I would start by running some examples using the 50k dummy cell which
comes with the Rodeostat. The following Python script will run a 50Hz
sinusoid with a 2V amplitude. The sample rate is 1000Hz and the waveform is
centered on 0V.
from potentiostat import Potentiostatimport sysimport matplotlib.pyplot as plt
port = '/dev/ttyACM0'dev = Potentiostat(port)dev.set_curr_range('100uA')dev.set_sample_rate(1000.0)
name = 'sinusoid'param = {
'quietValue' : 0.0,
'quietTime'  : 100,
'amplitude'  : 2.0,
'offset'     : 0.0,
'period'     : 20,
'numCycles'  : 10,
'shift'      : 0.0,
}
dev.set_param(name,param)t,volt,curr = dev.run_test(name,display='pbar')
fig, ax = plt.subplots(2,1)ax[0].plot(t,volt)ax[0].set_ylabel('(V)')ax[0].grid(True)ax[1].plot(t,curr)ax[1].set_ylabel('(uA)')ax[1].set_xlabel('t (sec)')ax[1].grid(True)plt.show()
—
Reply to this email directly, view it on GitHub
https://github.com/iorodeo/potentiostat/issues/22#issuecomment-1593377219,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ATQ6LWYHLIKJUD4N3HMZWJDXLMZVDANCNFSM6AAAAAAZGDZ43Y
.
You are receiving this because you authored the thread.Message ID:
@.***>

The current range is important whenever you are a test which involves measuring current.  If current goes outside of the selected current range the measurement will saturate.
The device also has some intrinsic current limitations in that it can only source and sink so much current. I  would recommend keeping the current with in ±10mA.

Yes the Rodeostat is a potentiostat. It uses feedback  to control the voltage between the working and reference electrodes using the counter electrode as an actuator. When doing this it is said to be operating in closed-loop.  However,    there is an easy solution for your application.   You can operate the device in open-loop by  connecting the reference and counter electrode outputs together.   This will essentially remove the potentiostat's feedback loop.   The reference and counter electrode will now always be at the same potential.  You now have a two electrode device with working electrode and a  combined "counter/reference" electrode.  Now when you operate the device will just directly set the potential between the working and combined "counter/reference" electrode in an open-loop fashing without feedback control.

Thank you very much you help us a lot !
Le jeu. 22 juin 2023, 06:08, IO Rodeo @.***> a écrit :

Yes the Rodeostat is a potentiostat. It uses feedback to control the
voltage between the working and reference electrodes using the counter
electrode as an actuator. When doing this it is said to be operating in
closed-loop. However, there is an easy solution for your application. You
can operate the device in open-loop by connecting the reference and counter
electrode outputs together. This will essentially remove the potentiostat's
feedback loop. The reference and counter electrode will now always be at
the same potential. You now have a two electrode device with working
electrode and a combined "counter/reference" electrode. Now when you
operate the device will just directly set the potential between the working
and combined "counter/reference" electrode in an open-loop fashing without
feedback control.
—
Reply to this email directly, view it on GitHub
https://github.com/iorodeo/potentiostat/issues/22#issuecomment-1601984016,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ATQ6LWZCD3DX6HX2CBZALSDXMPAMTANCNFSM6AAAAAAZGDZ43Y
.
You are receiving this because you authored the thread.Message ID:
@.***>


firewall_rule should not mix runtime response information with rule information

The current firewall_rule object mixes a priori rule conditions with runtime response information.  Is status_code the only response attribute?  Is message known a priori at rule creation time or is it part of the firewall response?
In keeping with using the same conventions, status_code is in the Base Event, but also within the firewall_rule object.  How will they be populated differently?
Two of the attributes are strings from enum siblings: category type - how are they to be populated?
The sensitivity string attribute is likely reusable outside of firewall_rule - it could have a more generic description in the dictionary, with a see specific usage and the more specific description within the firewall_rule object.  The description example says for example 'HIGH' - should this be an enum with defined values?

Has been addressed in a new firewall_rule PR.

Has been addressed in a new firewall_rule PR.


Extend the incremental merge to cover FHIR search mode

This is an extension to #364; when we were implementing that incremental pipeline, we only did it for the JDBC mode (and only for HAPI). We intend to extend it to something based on FHIR API only. There are two options for this:

We expand the FHIR-search based input mode of the pipeline to work in the incremental pipeline too.
We implement the FHIR Bulk API support, as it was the original plan for #364.

This seems to be a candidate for Beta readiness.  But seems to be out-of-scope for mid-march milestone.  I've gone ahead and added the Beta milestone in the project tracker.
Correct?

Yes both this one and #532, which depends on this, are needed for Beta launch. They have both been assigned to that milestone a while ago; doesn't the project tracker automatically pick up these milestones? I believe we agreed that we use per-repo milestones and avoid project-level milestones (which don't have visibility here inside the issue).


feat: Add 'created after' filter to ListMeasurements and StreamMeasurements

This change is

Added feat prefix to the title.


Thoughts and weird bugs

Check that the assembly & gtf use match; e.g same reference + both either do or do not contain chr (the assembly stats file doesnt have chr whereas the gff did in my case)
Export pickle file to make it easier for user to rerun the script if needed, cause importing the gff and converting to a dataframe takes the longest. OR sense check the input files are correctly formatted then start to ingest the gff file. (i had a lot of errors with the input files but waiting a long time before an error was raised with the other input files)
Sense check whether one of the rows has an empty annotation :upside_down_face: I was stuck with a weird error, so maybe raise error here for a blank annotation https://github.com/eastgenomics/gene_annotation2bed/blob/main/gene_annotation2bed.py#L588
Add check that the correct assembly report is added and that it has the number of expected column https://github.com/eastgenomics/gene_annotation2bed/blob/main/gene_annotation2bed.py#L500

I added gff with chr, if there is presence of chr in gff, then select the last column of the assembly report. The output contained no chr-> https://github.com/eastgenomics/gene_annotation2bed/blob/main/gene_annotation2bed.py#L506
I was using arg "-ref" which resulted in no error? not sure why an error was not thrown ( code is below)
It also tried to create igv reports bed file when I did not request it and threw an error cause i did not provide a reference
Also check for any empty cells in the annotation file (my fault but one of my transcripts and no annotation)

python3 gene_annotation2bed.py -ann ../uranus_gene2panel_v2.tsv -o test -ref ../GRCh38.no_alt_analysis_set_chr_mask21.fa.gz -f 5 -build hg38 --assembly_summary ../GCF_000001405.39_GRCh38.p13_assembly_report.txt -gff ../GCF_000001405.39_GRCh38.p13_genomic.gff

Also the tabix didn't work, it errored out with a message saying the chromosome is not in order. I think the sort_result variable needs to be used when compressing? https://github.com/eastgenomics/gene_annotation2bed/blob/main/scripts/igv_report.py#L67

Thanks for the bug report! I think I have fixed all the bugs mentioned and will add to PR. For the -ref problem seems to be how argparse handles cmd line arguments it autocomplete them by default.


Enable macOS Mojave "Dark Mode" on the editor title bar

Enables "Dark Mode" in the editor and project selector title bars in macOS Mojave when selected in macOS System Preferences
Edit: Fixes #26515

Dark Mode

Light Mode

I still think building binaries with proper SDK version is a better to do it (that will enable dark mode support without any extra keys), but since OSXCross setup with 10.14 SDK is kind of hacky, adding this key probably won't hurt. AFIAK there's no negative consequences for this.

Thanks!

Cherry-picked for 3.1.1.


Is the plugin implementing WCAG 2.1 guidlines?

I just wanted a to know if the plugin was implementing the WCAG 2.1 implementation?
I didn't see any mention in the documentation.
Thanks in advance.

Upon further research, looks like WAI-ARIA technical specifications are being used.
Please let me know if i am wrong.
Closing the issue meanwhile.


Change to store sampling rates in frame headers.

This closes #195.

With flac --test:

Looks like a problem with 'custom' sample rates, the ones that work have one of the stock ones.

Thanks for testing. I found a mistake in the previous commit 009f63d. The extra sampling-rate bits (only used when sampling rates are atypical) are written in a wrong bitstream. The integration test is improved to cover this.

Awesome. This fixes the issue playing the encoded flacs in QT/Chrome perfectly.
It does not solve the issue with the last block's samples being included in the output of any decoder, which also causes checksums to be incorrect in most tools.
With libflac, it will decode fine, but the resulting wav will have a bunch of extra empty samples at the end (however, it truncates the data size itself, it's just writing bad data...
With ffmpeg/fq (a cool diagnostic tool) they calculate the checksum wrong (because of the extra samples ~3000 in the example I gave above) and spit out the wrong sample count as well.
FQ output:

It does not solve the issue with the last block's samples being included in the output of any decoder, which also causes checksums to be incorrect in most tools.

I'm aware of this issue. I was thinking that it's not problematic to have extra zero-samples on the end of the file, as it is truncated in flac reference decoder.
But, since ffmpeg warns about this, it might be an actual issue that needs to be fixed.
I was reluctant to implement the last-frame truncation (as in flac reference encoder) because flacenc-rs states that it currently only supports encoding with "fixed" block-size, and the last-frame truncation violates this statement.
I'm now thinking implementing it, but anyway this should be in another PR.


Pool Cluster replication question

Hello.I am finding the solution that supports mysql replication.But I will set Slave db read only.So, Update, Insert, Delete will processed by Master and only Select will processed by Slave.This module support this feature?

Yes, that is exactly what the pool cluster is for :) ! You want to define two pools: your master pool and slave pool. Then in your code, when you do a read, get the connection from the slaves, and when you write, get the connection from the master.

Is it possible select Master/Slave when every connection for query?

When you call poolCluster.getConnection, the first argument can be a string or regular expression. Examples are in the README: https://github.com/mysqljs/mysql#poolcluster

var master  = mysql.createPool({
connectionLimit : 10,
host            : 'master.db.com',
user            : 'master',
password        : 'mastersecret',
database        : 'my_db'
});
var slave  = mysql.createPool({
connectionLimit : 10,
host            : 'slave.db.com',
user            : 'slave',
password        : 'slavesecret',
database        : 'my_db'
});
master.query('INSERT 1 + 1 AS solution', function (error, results, fields) {
if (error) throw error;
console.log('The solution is: ', results[0].solution);
});
slave.query('SELECT 1 + 1 AS solution', function (error, results, fields) {
if (error) throw error;
console.log('The solution is: ', results[0].solution);
});
Like this code is possible?

Yea, that code would work just fine.

Thanks @dougwilson


Add space after colorscheme command in colorscheme picker example

There needs to be a space after "colorscheme " in the vim.cmd; this bug is mostly unnoticeable because the same colorscheme is already set by the preview function. But when I tried to modify your example to add some additional commands afterwards, they weren't running.

Good catch, thank you!


migrate from Jenkins to Travis CI

Migrate build/test from Jenkins build/test to Travis-CI.

wip.  closing here, tracking in pivotal.


Req.Request.new explodes when url have square brackets

Hey,
Req.Request.new(url: "https://zzz.com/search?filter[color]=red") yields
** (URI.Error) cannot parse due to reason invalid_uri: ":"
    (elixir 1.16.1) lib/uri.ex:645: URI.new!/1
    (elixir 1.16.1) lib/keyword.ex:1149: Keyword.update_guarded/4
    (req 0.4.9) lib/req/request.ex:423: Req.Request.new/1
    iex:18: (file)

Req.new in contrast works fine:
Req.new(url: "https://zzz.com/?filter[color]=red")
%Req.Request{
  method: :get,
  url: URI.parse("https://zzz.com/?filter[color]=red"),
  headers: %{},

Thank you for the report. I was actually thinking about using URI.new! across the board (https://github.com/wojtekmach/req/issues/245) so this is a good data point. My understanding is square brackets strictly speaking should be percent encoded but nobody does this in practice.
FWIW you can parse the URI yourself:
Req.Request.new(url: URI.parse("https://zzz.com/search?filter[color]=red"))

This is fixed by e4e17b7.


Allow multiple source directories

Hi. This PR adds an option to specify multiple source directories. To maintain backward compatibility source_dir config option remains unchanged (although becomes optional) while source_dirs array is introduced (also optional). A check was added to make sure at least one of these parameters is specified.
This change is required to forward audit logs from BOSH-managed VMs - while job logs are in /var/vcap/sys/log, audit logs are int /var/log/audit.

Could you add tests for this?

Two tests added. Also, all tests are now using SourceDirs (plural) and not SourceDir config field (to keep test prep simple). Is that ok?
By the way, Dmitriy says it's already possible to send multiple sources using syslog-release but I haven't seen an example yet and I can't deduce that from syslog-release spec file. If that's indeed possible than perhaps this whole PR is pointless.
I'll update this PR once I confirmed what I need is possible (or not) without this change.

So turns out audit logs are forwarded by default (if you have syslog-release configured) because auditd sends them to syslog so blackbox doesn't have to ingest them fro audit.log file at all. Feel free to reject this PR unless you think it's useful for Blackbox itself (other use cases). Thanks,

I'll close this then - thanks for following up. I want to slowly start moving people towards syslog-release and eventually remove blackbox from our release, so it's not worth maintaining new features.


Snapshot Panel

Closes #877
View plan snapshots and add optional description when creating snapshot. Some refactoring done to unify styles and components across simulation history and plan snapshots.

A particular test is failing in CI but is not failing locally which is odd


MicrosoftDemangler fails to apply demangled name.

Describe the bug
Source of the mangled name:
I ran the analysis on msvcp60.dll (C++ lib from msvc6) with its associated .pdb.xml file.
All recovered functions have as label their mangled name, and as primary label, their demangled name.
I found one function from this dll in my project, so I renamed the function with the mangled name from the dll to run the demangler on it and apply parameters, return type and name.
Results

Running the auto-amalysis with demangler ON, (tried all the 4 possibilities associated with the 2 checkboxes) failed to demangle the function name.

Running the script  DemangleSymbolScript.java with caret on the function name failed to demangle the function name, but the DemangleCmd returns true, and it prints the demangled name correctly, hence the title of this issue (it does NOT fail to demangle correctly, it prints it right, but doesn't apply it).

Running the script DemangleAllSymbols.java failed to demangle this function name but it demangled some other names that where applied by functionID (for example ?copy@?$char_traits@D@std@@SAPADPADPBDI@Z).

The mangled name is ?do_put@?$num_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@GU?$char_traits@G@std@@@2@V32@AAVios_base@2@G_N@Z
The demangled name is
protected virtual class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > __thiscall std::num_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::do_put(class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> >, class std::ios_base &, unsigned short, bool) const
It seems like a legit Microsoft mangled name, and it was rightly applied when I auto-analyzed the .dll file where I found it.
If I delete the demangled name in the dll, the DemangleSymbolScript.java DOES rename the function from its mangled name to its demangled name (see screenshots 2 and 3).
Additional info:
Datatypes used by this function are already created (but they contain underscore in their names instead of spaces) and may reside in another folder than "/std", could this be an issue(it isn't for the dll)?
I just want to demangle this symbol for it to be automatically put in the right namespace and associated with the right structures. Am I missing something on the way to do it?

To Reproduce
Steps to reproduce the behavior:

Open a PE32.
Copy the above mangled name and apply it as a function name.
Run the autoanalysis with demangler on
OR
Run the DemangleSymbolScript.java with caret on the function name
OR
Run the DemangleAllScript.java
observe that the name have not been demangled, nor parameters or return type applied.

Pls note that I tried to script it too as explained in #544 with options.setDemangleOnlyKnownPatterns set to False and options.applySignature set to True with the same success.
Expected behavior
The demangled name is applied to the function, its parameters and return type and this function is put in the right namespace.

Screenshots

See here the caret on the function name, the output of the DemangleSymbolScript.java, and the fact that function name has not changed.

Here is the function name mangled, right before running DemangleSymbolScript.java

And here right after.
Environment:

OS: Ubuntu 19.04
Java Version: openjdk 11.0.5 2019-10-15
Ghidra Version: Ghidra 9.1.2-RELEASE

I guess I have been for too talkative in this one. I am closing it.
In case anyone has trouble renaming things in scripts : try playing with the SourceType you have to pass to some functions. I believe that if things get their SourceType to USER_DEFINED, scripts (and Cmds like the one I was playing with in the issue ?) can not change them unless explicitly set.


MySQL losing connection

Spartacus 0.43.15 solves this problem. We need to update Spartacus on OmniDB.

Done.


Number not found if follow by .

This address cannot be split:
Test street 20. 2. house 1.
The . after the number makes it fail, remove anyone of the number it will work. (somewhat)

Can you please provide a PHP snippet containing the address string and the expected result, so that we can add it to the unit tests to be able to develop a fix? E.g.:
array(
    '3940 Radio Road, Unit 110',
    array(
        'additionToAddress1' => '',
        'streetName'         => 'Radio Road',
        'houseNumber'        => '3940',
        'additionToAddress2' => 'Unit 110'
    )
)

This bug has been fixed somewhen in the past. Closing here.


Basic android event loop 2.0

[ ] Tested on all platforms changed
[ ] Added an entry to CHANGELOG.md if knowledge of this change could be valuable to users
[ ] Updated documentation to reflect any user-facing changes, including notes of platform-specific behavior
[ ] Created an example program if it would help users understand this functionality

Are there are still issues with orientation changes? Can we get android added to the CI?

Are there are still issues with orientation changes?

Not yet. Had to get it working again with the 0.23 branch first, I'll look into it next.

This is a pretty important one that's not fixed yet https://github.com/rust-windowing/winit/issues/789

cc @katyo

@dvc94ch I completely confused... How can I test it for now?

@katyo I created a repo with an example called android-no-glue.
first you need to clone the following repos:

https://github.com/dvc94ch/android-ndk-rs branch=android-glue
https://github.com/dvc94ch/android-no-glue
https://github.com/goddessfreya/gbm.rs branch=glutin-fun
https://github.com/dvc94ch/glutin branch=glutin0.23-android
https://github.com/dvc94ch/glutin_interface branch=android
https://github.com/winit-windowing/glutin_sys
https://github.com/winit-windowing/glutin_x11_sym
https://github.com/dvc94ch/winit branch=winit-glutin-next-android
https://github.com/winit-windowing/winit_types

then you need to install the new cargo-ndk:
cargo install --path android-ndk-rs/cargo-ndk

then you can build and run the android-no-glue example with:
cargo ndk run --target aarch64-linux-android

@katyo did you get it to work? cargo-ndk still needs some work, some values are still hardcoded instead of parsed from the manifest, it doesn't resolving libraries recursively, doesn't emit fat binaries and doesn't support examples that work on desktop and mobile (as adding cdylib to crate types breaks it)

@dvc94ch Thanks for expl.
Pls, fix winit-windowing to rust-windowing in repository urls

Unfortunately i cannot get it work due to linking errors:
error: linking with `...androidenv/ndk/20.1.5948944/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android29-clang` failed: exit code: 1

And more errors like a:
...androidenv/ndk/20.1.5948944/toolchains/llvm/prebuilt/linux-x86_64/bin/../lib/gcc/aarch64-linux-android/4.9.x/../../../../aarch64-linux-android/bin/ld: ...android/android-no-glue/target/aarch64-linux-android/debug/deps/liblibloading-b99b21efde076db4.rlib(global_static.o): Relocations in generic ELF (EM: 62)

cargo-ndk is ridiculously simple, the entire build logic is below, so I'm a bit confused how that's happening. Can you post the entire build log?
if let Some(triple) = target {
        let clang = ndk.clang(triple, manifest.target_sdk_version)?;
        cargo.env(cargo_env_target_cfg("LINKER", triple), &clang);

        let ar = ndk.toolchain_bin("ar", triple)?;
        cargo.env(cargo_env_target_cfg("AR", triple), &ar);
    }

    if cargo_cmd == "build" || cargo_cmd == "run" {
        cargo.arg("build").args(&cargo_args).status()?;
    }

I may mistake but it seems some important env vars is unset:
TARGET = Some("armv7-linux-androideabi")
OPT_LEVEL = Some("0")
HOST = Some("x86_64-unknown-linux-gnu")
CC_armv7-linux-androideabi = None # should be set!
CC_armv7_linux_androideabi = None
TARGET_CC = None
CC = Some("gcc") # wrong value!
CFLAGS_armv7-linux-androideabi = None
CFLAGS_armv7_linux_androideabi = None
TARGET_CFLAGS = None
CFLAGS = None
CRATE_CC_NO_DEFAULTS = None
DEBUG = Some("true")
CARGO_CFG_TARGET_FEATURE = None

Sry I'm a bit slow today, I've got a hangover. cargo-ndk is updated

@dvc94ch How can I specify min sdk version?

@katyo Just finished implementing Cargo.toml parsing and fat binaries. It should work the same as cargo-apk. Only things missing is running bin/examples and porting your patch to recursively find libraries.

I able to build it but I have an error:
    Finished dev [unoptimized + debuginfo] target(s) in 24.10s
 'lib/arm64-v8a/libandroid_no_glue.so'...
Verifying alignment of ...android/android-no-glue/target/debug/ndk/android-no-glue.apk (4)...
      49 AndroidManifest.xml (OK - compressed)
     955 lib/arm64-v8a/libandroid_no_glue.so (OK - compressed)
Verification succesful
Error: Io(Os { code: 2, kind: NotFound, message: "No such file or directory" })

The apk is built but it seems the signing failed so I cannot install it:
adb: failed to install target/debug/ndk/android-no-glue.apk: Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES: Failed to collect certificates from /data/app/vmdl534534027.tmp/base.apk: Attempt to get length of null array]

Mmh, what os are you using? Looks like we're nearly there :) I rebased cargo-ndk as it's feature complete. Now onto ironing out the bugs...

We're quite nearly there... compilation errors :)
error[E0308]: mismatched types
   --> ...android/winit/src/platform_impl/linux/x11/window.rs:731:42
    |
731 |                         .set_crtc_config(monitor.id, video_mode.native_mode)
    |                                          ^^^^^^^^^^
    |
    = note: expected type `u64`
               found enum `std::option::Option<u64>`

error[E0308]: mismatched types
   --> ...android/winit/src/platform_impl/linux/x11/window.rs:731:54
    |
731 |                         .set_crtc_config(monitor.id, video_mode.native_mode)
    |                                                      ^^^^^^^^^^^^^^^^^^^^^^

    |
    = note: expected type `u64`
               found enum `std::option::Option<u64>`

I use nixos, if this matter.
Verifying alignment of ...android/android-no-glue/target/debug/ndk/android-no-glue.apk (4)...
      49 AndroidManifest.xml (OK - compressed)
     955 lib/arm64-v8a/libandroid_no_glue.so (OK - compressed)
Verification succesful
Generating 2 048 bit RSA key pair and self-signed certificate (SHA256withRSA) with a validity of 10 000 days
        for: CN=Android Debug, O=Android, C=US
[Storing /home/kayo/.android/debug.keystore]

Warning:
The JKS keystore uses a proprietary format. It is recommended to migrate to PKCS12 which is an industry standard format using "keytool -importkeystore -srckeystore /home/kayo/.android/debug.keystore -destkeystore /home/kayo/.android/debug.keystore -deststoretype pkcs12".
Error: Io(Os { code: 2, kind: NotFound, message: "No such file or directory" })

It still not installable:
$ adb install target/debug/ndk/android-no-glue.apk
adb: failed to install target/debug/ndk/android-no-glue.apk: Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES: Failed to collect certificates from /data/app/vmdl169659180.tmp/base.apk: Attempt to get length of null array]

[nix-shell:...android/android-no-glue]$ l target/debug/ndk/*.apk
-rw-r--r-- 1 kayo users 3,0M feb 14 00:25 target/debug/ndk/android-no-glue.apk
-rw-r--r-- 1 kayo users 3,0M feb 14 00:25 target/debug/ndk/android-no-glue-unaligned.apk

The weird thing is that we check that apksigner exists and then we fail with file not found. Is it possible that apksigner is a symlink?

Oh, It seems I forget patch android sdk executables after upgrading :)
It works!

Due to rust-lang/cargo#4881 saddly there's no good way to do it. I considered fixing it but it would likely be years behind a feature gate if the PR even gets accepted, so I decided it's not worth it.

@osspial so this one build on the glutin 0.23 work. but it doesn't look like that's going anywhere for the time being as the windows and mac os x backends are missing. Should I backport it to winit master?

@Osspial so this one builds on the glutin 0.23 work. but it doesn't look like that's going anywhere for the time being as the windows and mac os x backends are missing. Should I backport it to winit master?

👍 that seems like the right call.


Create pagination or load more component

If a query has more than a predefined hits (the hits per page limit), it should be able to load more results.
https://www.algolia.com/doc/api-reference/widgets/pagination/react-hooks/
Discussions

What should the hits per page limit be
Load more button vs pagination (design has load more atm)
Nail the design

Acceptance criteria

The url should reflect the hits page so that browser back will work
Easy and intuitive to use for everybody, pay attention to accessibility
Implemented according to design

On hold pending UX feedback

Note to future @SvSven  The pagination component doesn't update itself correctly on state change. When you type for example "Equin" and select page 5 and then type more like "Equinor" the pagination component still has 5 as the active page even if the result list is back to the first page. (Showing 1-5 of the results)
Will probably need to be looked at together with the url state in general but the default for the original version of the library is to reset the page to 1 if the search changes/updates https://www.algolia.com/doc/guides/building-search-ui/widgets/showcase/react/ I think we will make it hard for ourselves if we change this.

@SvSven I have updated the design of pagination in Figma here It is still the EDs look and feel, but I have made the clickbound 44px instead of 48px and altered the colors a bit. For mobile we could also place the arrow on a line above the page numbers. Lets look into and discuss when you are back and ready to pick this up again.

Due to a technical limitation in the way Algolia uses pagination, we can't quite get it to look like we have in the design with the ellipsis. The way it works is that you configure how many "siblings" the currently active page should have, and then it will generate the list of page numbers automatically.
This means that if, for example, you say there should always be 1 page next to the currently active on, it would look something like this:
< 3 4 5 >
To work around this, I added a "First page" and a "Last page" button so that the user can instantly go to the first/last page. See screenshot:

I don't think this is the ideal way of doing pagination, and maybe we can get it to work the way we want with enough time - but not sure if its worth spending more time on right now.

@BirteThornquist this is ready to be looked at again

hi @SvSven It does not seem like the disabled color has changed? Have you set it to slate blue 90?

Yes... pushing the commit that changed that would be smart. I blame all the meetings.
It should be updated now.

😄

Hide it on less than 5 hits as well :thumbsup:

Fixed 👍

@meols This is ready for review. We don't currently store the pagination in the URL yet, but we have made an issue to do this #915

@wenche - great if you can add some acceptance criteria for me to test.
@SvSven

@meols I have updated the acceptance criteria list

@meols

@SvSven @wenche - looks good and work as it should :smile:
One question:
On mobile the logo is "marked/framed" when I open the search page. Is that noted and will be fixed?

@meols  This is iPhone right? We've seen this for some of the menu links as well, it's not like this on my Android phone. The way focus work is slightly different between the two platforms. This one in particular is not covered by an issue, you may create an issue for it in the backlog.

@wenche - yes it's iPhone.
I have created #935 and close this one. Thanks


Estonian language added

Can you add it to the readme as well please?

Why StyleCI analysis fails?

There should be a newline on the end of the file.

Please update dev-master package (https://packagist.org/packages/jenssegers/date).
Thank you! :smile:


feat: watchdog observer for config auto loading

Explain what this PR does.
Implemented watchdog observer for config auto loading on ConfigMap changes

Codecov Report

Merging #119 (e5a8fcf) into main (f8f2403) will decrease coverage by 1.21%.
The diff coverage is 79.16%.

@@            Coverage Diff             @@
##             main     #119      +/-   ##
==========================================
- Coverage   86.60%   85.39%   -1.21%
==========================================
  Files          18       19       +1
  Lines         978     1034      +56
  Branches      108      114       +6
==========================================
+ Hits          847      883      +36
- Misses        108      128      +20
  Partials       23       23

Impacted Files
Coverage Δ

numaprom/watcher.py
62.96% <62.96%> (ø)

numaprom/__init__.py
85.00% <100.00%> (ø)

numaprom/_config.py
100.00% <100.00%> (ø)

numaprom/_constants.py
100.00% <100.00%> (ø)

numaprom/tools.py
88.29% <100.00%> (-0.37%)
:arrow_down:

numaprom/udf/inference.py
94.54% <100.00%> (+0.10%)
:arrow_up:

numaprom/udf/postprocess.py
95.55% <100.00%> (+0.04%)
:arrow_up:

numaprom/udf/preprocess.py
100.00% <100.00%> (ø)

numaprom/udf/threshold.py
100.00% <100.00%> (ø)

numaprom/udf/window.py
95.16% <100.00%> (+0.07%)
:arrow_up:

... and 2 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


STAC broken in latest release

Explorer is supposed to have some support for STAC queries. Apparently this worked previously but is broken in the most recent release.
Using: pystac-client:
$ stac-client collections http://explorer.dea.ga.gov.au/stac

JSON does not represent a STAC object.

Using odc-tools:
$ stac-to-dc --catalog-href=https://explorer.dea.ga.gov.au/stac/ --collections=wofs_albers --bbox=35,-26,36,-25 --limit=10

pystac.errors.STACTypeError: JSON does not represent a STAC object.

According to @alexgleith this worked last week but not now:
stac-to-dc --catalog-href=https://explorer.digitalearth.africa/stac/ --collections=s1_rtc --bbox=35,-26,36,-25 --limit=10

Related: would be great to have more stac tests (#258).
Possibly related to latest stac release (#303)?

Full error is: stac-to-dc --catalog-href=https://explorer.digitalearth.africa/stac/   --collections=s1_rtc --bbox=35,-26,36,-25 --limit=10
Traceback (most recent call last):
  File "/usr/local/bin/stac-to-dc", line 33, in <module>
    sys.exit(load_entry_point('odc-apps-dc-tools', 'console_scripts', 'stac-to-dc')())
  File "/usr/local/lib/python3.9/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python3.9/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python3.9/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/Users/alex/git/opendatacube/odc-tools/apps/dc_tools/odc/apps/dc_tools/stac_api_to_dc.py", line 250, in cli
    added, failed = stac_api_to_odc(
  File "/Users/alex/git/opendatacube/odc-tools/apps/dc_tools/odc/apps/dc_tools/stac_api_to_dc.py", line 125, in stac_api_to_odc
    client = Client.open(catalog_href)
  File "/usr/local/lib/python3.9/site-packages/pystac_client/client.py", line 61, in open
    cat = cls.from_file(url, headers=headers)
  File "/usr/local/lib/python3.9/site-packages/pystac_client/client.py", line 78, in from_file
    cat = super().from_file(href, stac_io)
  File "/usr/local/lib/python3.9/site-packages/pystac/catalog.py", line 1010, in from_file
    result = super().from_file(href, stac_io)
  File "/usr/local/lib/python3.9/site-packages/pystac/stac_object.py", line 478, in from_file
    o = cls.from_dict(d, href=href, migrate=True, preserve_dict=False)
  File "/usr/local/lib/python3.9/site-packages/pystac/catalog.py", line 958, in from_dict
    info = identify_stac_object(d)
  File "/usr/local/lib/python3.9/site-packages/pystac/serialization/identify.py", line 241, in identify_stac_object
    raise pystac.STACTypeError("JSON does not represent a STAC object.")
pystac.errors.STACTypeError: JSON does not represent a STAC object.

Ouch. We're testing validation against the official Stac shema for collections, dataset etc... but somehow not on the root "/stac" document, which is the first thing the client tries to load. It's missing the type: catalog attribute.

Fixed validation in #321

$ stac-client collections http://explorer.dev.dea.ga.gov.au/stac
ConformanceClasses.COLLECTIONS not supported

hmm...


How to create an ExtensionObject?

Reviewing your project,
the inputArgument and outputArgument under the method node do not have values assigned.
I need to create a method. How can I assign values to the arguments below?
I assume it involves using ExtensionObject to assign values, but I don't know how to create an ExtensionObject.
Could you please explain how to do it?

Here are some samples for handling method calls:
https://github.com/nauful/LibUA/issues/23
https://github.com/nauful/LibUA/issues/29
ExtensionObjects are for more complex data types. If you're fine with the regular types and arrays, you won't need those.


Using ANN, analysing and predicting customer purchase behaviour.

Description
I have created a machine learning model that predicts whether the customer will buy a product.  I use Artificial Neural Network to create the deep learning model. An analysis is also done to find out the outliers in the dataset and also plots are created to check the distribution of the continuous numerical columns.
Checklist:

[ yes] My code follows the style guidelines of this project
[ yes] I have performed a self-review of my own code
[ yes] I have commented my code, particularly in hard-to-understand areas
[ yes] I have made corresponding changes to the documentation
[ yes] My changes generate no new warnings

@sanjay-kv sir,
Kindly review and merge it.
Thank you..


Add typescript module declearation to fix typescript error

when this package import like import { useTreblle } from 'treblle' has typescript error.
to fix it i created index.d.ts file and it resolve this

Nice! Merging - thank you so much! 🙏🏻


Require beautifulsoup4 instead of bs4

bs4 is a dummy package created by the author of beautifulsoup, as an anti-namesquatting measure. You should use the real package, which is beautifulsoup4.
From pipenv graph:
- bs4 [required: Any, installed: 0.0.1]
    - beautifulsoup4 [required: Any, installed: 4.6.3]

@theychx the exact same change should probably be applied to the Pipfile so that pipenv install also benefits from this enhancement ;)
By the way @kenneth-reitz , is there a reason why the dependencies are duplicated in setup.py and in Pipfile? Doesn't seem very DRY, but i might be missing some good reason.

@David-Guillot cheers :smiley:

@David-Guillot I likely did it for a reason...

As @kenneth-reitz expresed he did this for a reason I will be closing this PR. How ever thanks @theychx for taking your time into this:p

If I'm understanding correctly he was referring to the duplication, not the actual changes in this PR


The Client and Server created by the Templates output dbug Logging

When running the Server or Client application provided by the icerpc-slice-x templates, they output debug logging, which is unexpected.
I'm pasting the entirety of my terminal below, but only the last section showcases the debug logging.
PS C:\Users\Me\Desktop\temp-testing\icerpc-csharp\testing-templates> dotnet new icerpc-slice-server -o MyServer
The template "IceRPC + Slice Server" was created successfully.

Processing post-creation actions...
Restoring C:\Users\Me\Desktop\temp-testing\icerpc-csharp\testing-templates\MyServer\MyServer.csproj:
  Determining projects to restore...
  Restored C:\Users\Me\Desktop\temp-testing\icerpc-csharp\testing-templates\MyServer\MyServer.csproj (in 770 ms).
Restore succeeded.

PS C:\Users\Me\Desktop\temp-testing\icerpc-csharp\testing-templates> cd MyServer
PS C:\Users\Me\Desktop\temp-testing\icerpc-csharp\testing-templates\MyServer> dotnet build
MSBuild version 17.8.3+195e7f5a3 for .NET
  Determining projects to restore...
  All projects are up-to-date for restore.
  MyServer -> C:\Users\Me\Desktop\temp-testing\icerpc-csharp\testing-templates\MyServer\bin\Debug\net8.0\MyServer.dll

Build succeeded.
    0 Warning(s)
    0 Error(s)

Time Elapsed 00:00:00.83
PS C:\Users\Me\Desktop\temp-testing\icerpc-csharp\testing-templates\MyServer> dotnet run
dbug: IceRpc.Server[11]
      Listener 'icerpc://[::0]?transport=tcp' has started accepting connections
dbug: IceRpc.Server[0]
      Listener 'icerpc://[::0]?transport=tcp' accepted connection from '[::1]:52526'
dbug: IceRpc.Server[3]
      Server connection from '[::1]:4062' to '[::1]:52526' connected
Dispatching greet request { name = 'Me' }
info: IceRpc.Logger.LoggerMiddleware[0]
      Dispatch of greet to /VisitorCenter.Greeter over [::1]:4062<->[::1]:52526 returned a response with status code Ok
dbug: IceRpc.Server[6]
      Server connection from '[::1]:4062' to '[::1]:52526' shutdown
dbug: IceRpc.Server[5]
      Server connection from '[::1]:4062' to '[::1]:52526' disposed
dbug: IceRpc.Server[12]
      Listener 'icerpc://[::0]?transport=tcp' has stopped accepting connections

Note that similar logs are displayed on the client side.

This probably happens for all the templates.
It at least also happens for the icerpc-protobuf-x templates too.


Monokai Pane

Based off the display in Flyingtuna and a bit of ryuk. Uses the monokai colour palette.

Song Selection

Gameplay 1

Gameplay 2

Thanks for your contribution! Our Front-Ender will review your code within the next couple of days.

Consider reducing the width, as it will probably be too wide for most overlays.

It is now 512px

Also I don't know if it's a good thing or not but I used rem for all the sizes. I thought that it would make things more aligned if you change stuff.

Also I don't know if it's a good thing or not but I used rem for all the sizes. I thought that it would make things more aligned if you change stuff.

it's totally fine

that took longer than expected

actually seems like the timer for switching between showing the rank and song name/artist is bugging out. trying to see whats going on

Consider handling long beatmap names

I'll work on adding a marquee effect when the text exceeds the bounding area.

looks very nice :)

Suggestions for a better way to do it is welcomed but this is what I've come up with.

I think setting the title before adding the marquee class makes it less jumpy.

Please purge your grade logic and replace with our JSON token.

Night build that has this token could be obtained from here: https://github.com/l3lackShark/gosumemory/runs/1165884656

Is this ready for merge?

Yeah

Thanks again


[release-1.26] Use secure ciphers for metrics-server

#7556 backport

Validated new release commmit-id showing the removal of 3DES etc C ranked algorithm by nmap.
$ sudo INSTALL_K3S_VERSION=v1.26.5+k3s1 INSTALL_K3S_EXEC=server ./install-k3s.sh
[INFO]  Using v1.26.5+k3s1 as release
[INFO]  Downloading hash https://github.com/k3s-io/k3s/releases/download/v1.26.5+k3s1/sha256sum-amd64.txt
[INFO]  Downloading binary https://github.com/k3s-io/k3s/releases/download/v1.26.5+k3s1/k3s
[INFO]  Verifying binary download
[INFO]  Installing k3s to /usr/local/bin/k3s
[INFO]  Skipping installation of SELinux RPM
[INFO]  Creating /usr/local/bin/kubectl symlink to k3s
[INFO]  Creating /usr/local/bin/crictl symlink to k3s
[INFO]  Creating /usr/local/bin/ctr symlink to k3s
[INFO]  Creating killall script /usr/local/bin/k3s-killall.sh
[INFO]  Creating uninstall script /usr/local/bin/k3s-uninstall.sh
[INFO]  env: Creating environment file /etc/systemd/system/k3s.service.env
[INFO]  systemd: Creating service file /etc/systemd/system/k3s.service
[INFO]  systemd: Enabling k3s unit
Created symlink /etc/systemd/system/multi-user.target.wants/k3s.service → /etc/systemd/system/k3s.service.
[INFO]  systemd: Starting k3s

$ kgn
NAME               STATUS   ROLES                       AGE   VERSION
ip-1-1-2-14        Ready    control-plane,etcd,master   47s   v1.26.5+k3s1

$ kgp -A
NAMESPACE     NAME                                      READY   STATUS      RESTARTS   AGE
kube-system   coredns-59b4f5bbd5-8v28l                  1/1     Running     0          34s
kube-system   helm-install-traefik-crd-bqtp6            0/1     Completed   0          34s
kube-system   helm-install-traefik-n9dfn                0/1     Completed   1          34s
kube-system   local-path-provisioner-76d776f6f9-gx4g4   1/1     Running     0          34s
kube-system   metrics-server-7b67f64457-7lx46           1/1     Running     0          34s
kube-system   svclb-traefik-95a7c8e0-sc6fm              2/2     Running     0          19s
kube-system   traefik-57c84cf78d-pkv7k                  1/1     Running     0          19s

$ k3s -v
k3s version v1.26.5+k3s1 (7cefebea)
go version go1.19.9

$ sudo /usr/local/bin/crictl -r /var/run/k3s/containerd/containerd.sock images |grep metrics
I0614 23:14:33.845383    2408 util_unix.go:103] "Using this endpoint is deprecated, please consider using full URL format" endpoint="/var/run/k3s/containerd/containerd.sock" URL="unix:///var/run/k3s/containerd/containerd.sock"
docker.io/rancher/mirrored-metrics-server    v0.6.2                 25561daa66605       28.1MB

$ kg svc metrics-server -n kube-system
NAME             TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)   AGE
metrics-server   ClusterIP   <IP_ADDRESS>   <none>        443/TCP   119s

$ nmap --script ssl-enum-ciphers -p 443 <IP_ADDRESS>
Starting Nmap 7.92 ( https://nmap.org ) at 2023-06-14 23:17 UTC
Nmap scan report for ip-10-43-193-35.us-north-9.compute.internal (<IP_ADDRESS>)
Host is up (0.00011s latency).

PORT    STATE SERVICE
443/tcp open  https
| ssl-enum-ciphers:
|   TLSv1.2:
|     ciphers:
|       TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (secp256r1) - A
|       TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 (secp256r1) - A
|       TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (secp256r1) - A
|       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (secp256r1) - A
|       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (secp256r1) - A
|       TLS_RSA_WITH_AES_128_GCM_SHA256 (rsa 2048) - A
|       TLS_RSA_WITH_AES_256_GCM_SHA384 (rsa 2048) - A
|       TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) - A
|       TLS_RSA_WITH_AES_256_CBC_SHA (rsa 2048) - A
|       TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA (secp256r1) - C
|       TLS_RSA_WITH_3DES_EDE_CBC_SHA (rsa 2048) - C
|     compressors:
|       NULL
|     cipher preference: server
|     warnings:
|       64-bit block cipher 3DES vulnerable to SWEET32 attack
|   TLSv1.3:
|     ciphers:
|       TLS_AKE_WITH_AES_128_GCM_SHA256 (ecdh_x25519) - A
|       TLS_AKE_WITH_AES_256_GCM_SHA384 (ecdh_x25519) - A
|       TLS_AKE_WITH_CHACHA20_POLY1305_SHA256 (ecdh_x25519) - A
|     cipher preference: server
|_  least strength: C

Nmap done: 1 IP address (1 host up) scanned in 0.33 seconds

$ sudo INSTALL_K3S_COMMIT=f3b08c3863b7f3a7d6655e99077482353a54b309 INSTALL_K3S_EXEC=server ./install-k3s.sh
[INFO]  Using commit f3b08c3863b7f3a7d6655e99077482353a54b309 as release
[INFO]  Downloading hash https://k3s-ci-builds.s3.amazonaws.com/k3s-f3b08c3863b7f3a7d6655e99077482353a54b309.sha256sum
[INFO]  Downloading binary https://k3s-ci-builds.s3.amazonaws.com/k3s-f3b08c3863b7f3a7d6655e99077482353a54b309
[INFO]  Verifying binary download
[INFO]  Installing k3s to /usr/local/bin/k3s
[INFO]  Skipping installation of SELinux RPM
[INFO]  Creating /usr/local/bin/kubectl symlink to k3s
[INFO]  Creating /usr/local/bin/crictl symlink to k3s
[INFO]  Creating /usr/local/bin/ctr symlink to k3s
[INFO]  Creating killall script /usr/local/bin/k3s-killall.sh
[INFO]  Creating uninstall script /usr/local/bin/k3s-uninstall.sh
[INFO]  env: Creating environment file /etc/systemd/system/k3s.service.env
[INFO]  systemd: Creating service file /etc/systemd/system/k3s.service
[INFO]  systemd: Enabling k3s unit
Created symlink /etc/systemd/system/multi-user.target.wants/k3s.service → /etc/systemd/system/k3s.service.
[INFO]  systemd: Starting k3s

$ kgn
NAME               STATUS   ROLES                       AGE   VERSION
ip-1-1-2-12         Ready    control-plane,etcd,master   47s   v1.26.5+k3s-f3b08c38

$ kgp -A
NAMESPACE     NAME                                      READY   STATUS      RESTARTS   AGE
kube-system   coredns-59b4f5bbd5-vsc6n                  1/1     Running     0          34s
kube-system   helm-install-traefik-crd-8msfb            0/1     Completed   0          34s
kube-system   helm-install-traefik-mb9l5                0/1     Completed   1          34s
kube-system   local-path-provisioner-76d776f6f9-9h8sh   1/1     Running     0          34s
kube-system   metrics-server-68cf49699b-hrckx           1/1     Running     0          34s
kube-system   svclb-traefik-a182c187-72cdd              2/2     Running     0          20s
kube-system   traefik-57c84cf78d-r7kbl                  1/1     Running     0          20s

$ k3s -v
k3s version v1.26.5+k3s-f3b08c38 (f3b08c38)
go version go1.19.9

$ sudo /usr/local/bin/crictl -r /var/run/k3s/containerd/containerd.sock images |grep metrics
I0614 23:14:33.396380     598 util_unix.go:103] "Using this endpoint is deprecated, please consider using full URL format" endpoint="/var/run/k3s/containerd/containerd.sock" URL="unix:///var/run/k3s/containerd/containerd.sock"
docker.io/rancher/mirrored-metrics-server    v0.6.3                 817bbe3f2e517       29.9MB

$ kg svc metrics-server -n kube-system
NAME             TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
metrics-server   ClusterIP   <IP_ADDRESS>    <none>        443/TCP   2m4s

$ nmap --script ssl-enum-ciphers -p 443 <IP_ADDRESS>
Starting Nmap 7.92 ( https://nmap.org ) at 2023-06-14 23:16 UTC
Nmap scan report for ip-10-43-1-5.us-north-9.compute.internal (<IP_ADDRESS>)
Host is up (0.00011s latency).

PORT    STATE SERVICE
443/tcp open  https
| ssl-enum-ciphers:
|   TLSv1.2:
|     ciphers:
|       TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (secp256r1) - A
|       TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (secp256r1) - A
|       TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 (secp256r1) - A
|     compressors:
|       NULL
|     cipher preference: client
|   TLSv1.3:
|     ciphers:
|       TLS_AKE_WITH_AES_128_GCM_SHA256 (ecdh_x25519) - A
|       TLS_AKE_WITH_AES_256_GCM_SHA384 (ecdh_x25519) - A
|       TLS_AKE_WITH_CHACHA20_POLY1305_SHA256 (ecdh_x25519) - A
|     cipher preference: server
|_  least strength: A

Nmap done: 1 IP address (1 host up) scanned in 0.30 seconds


Interface for integration with others services

Would be nice if we can receive a status from HipChat or w/e.

[ ] Hipchat
[ ] SMS (Twilio)
[ ] WhatsApp
[ ] Slack
[ ] Email (subscribers).

#332 and #317 are working on this. Once we have a Notification system, we'll be able to write more adapters.

The interface for others service should be flexible in a way that it's not just some services that are supported as they are so many others than those listed such as PagerDuty VictorOps, UptimeRobot, StillAlive , Pingdom, Plivo, Mackerel....

@jeanfrancis Yeh, we're using https://github.com/notifymehq.

PagerDuty VictorOps, UptimeRobot, StillAlive , Pingdom, Plivo, Mackerel....

We're only support services we can actually write to. We're not receiving data from other services atm.

Once V1 is out, we'll be in a much better position to integrate directly with other services. Imagine connecting Uptime Robot directly to Cachet etc.

That would be really cool. I'm wondering if we should totally separate this from cachet, and design a service that can consume uptimerobot etc, and then go and hit cachet's api.

That said, it would be really cool for cachet to be able to do this - given that we could implement browser based configuration for this.

As some kind of middleman service?
What are the pro's and con's of doing that? Remember that Cachet is a product by itself, so we should keep everything together.

It would still be within the cachethq organisation if we were to do it, I think.

This stuff might become clearer if we move towards ddd. Who knows. :)

@GrahamCampbell so if i use Opsweekly https://github.com/etsy/opsweekly
we will get data from notifymehq ?
why not a middleman service that is a addon package to Cachet the product by itself?

anyway if it's for alerting they are others solutions that are already interfacing external services such as Alerta http://alerta.io and Flapjack also https://github.com/flapjack/flapjack

I'd rather keep everything in one system where possible. We offer an API though, so you can choose to do what you wish with it.

May I make a suggestion that rather than writing for proprietary systems like HipChat that instead you just have the ability to send to XMPP(Jabber) users/rooms?

Many of the proprietary chat systems work with XMPP.
Reduces the amount of code that has to be maintained.
Reduces risk of vendor lock-in.
Is an open and well documented standard.
There are a lot of connectors for XMPP in other products which would open the door for people to easily integrate Cachet notifications into other applications.

Just my 2c...

We're using NotifyMe which is a library of connector packages for different standards. In the future we'll probably add a XMPP connector and switch out the API versions for that - CC @cachethq/owners

my personnal wishlist here would be IRC, XMPP, twitter, identica (status.net/pump.io) and diaspora.

Hi @anarcat we'll be using the NotifyMe system so we'll be able to add adapters ad we need :)

@jbrooksuk what's the timeline for this?

Well @joecohens is working on this, so he'd have to answer.

Hopefully NotifyMe will be released this week and implemented on Cachet this weekend.

If only there was some sort of service that could notify us of these things... ;) heh keep up the great work @joecohens @jbrooksuk !

@joecohens awesome news! can't wait to deploy this here :)

Would like to suggest adding https://telegram.org to NotifyMe

Hopefully NotifyMe will be released this week and implemented on Cachet this weekend.

Where's my flying car? ;) Anything we can help with? I'd be glad to test something, esp. twitter...

There have been set backs with NotifyMe, but that's because awesome things are happening with it.

still no progress here? where's the awesome sauce? :)

@joecohens will be implementing this ready for V1 :)

+1

is there a timeplan when this will be available?

We're still discussing this one between @joecohens, @GrahamCampbell and myself.

We now have Subscribers implemented :)


Add a runner for libtock2 examples.

This replaces tools/flash.sh. In the future, it will have functionality to process test output, and will therefore replace test_runner as well.
It can currently deploy to HiFive1 on QEMU, and has untested logic to deploy via tockloader.
It is no longer possible to deploy Tock 1.0 libtock-rs apps using cargo run, as cargo run will now invoke the new tool. This prevents us from running the Tock 1.0 libtock-rs integration test, so I have removed it from make test.
I also make the following changes to the submodule setup:

I added a setup-qemu-2 target to build QEMU in the tock2/ submodule. When I remove the tock/ submodule, I'll also remove the setup-qemu target and rename setup-qemu-2 to setup-qemu to replace it.
I updated the tock2/ submodule to a newer kernel. Because libtock-rs depends on the new Allow API implementation that is not in a released Tock version, I used the latest master branch commit.

Oh, hang on a bit while I debug the GitHub Actions workflows live...

Oh, I think the --help output provides a good overview of what the tool can do, so here it is:
runner
Converts ELF binaries into Tock Binary Format binaries and runs them on a Tock system

USAGE:
    runner [OPTIONS] <ELF>

ARGS:
    <ELF>    The executable to convert into Tock Binary Format and run

OPTIONS:
    -d, --deploy <DEPLOY>    Where to deploy the process binary. If not specified, runner will only
                             make a TBF file and not attempt to run it [possible values: qemu,
                             tockloader]
    -h, --help               Print help information
    -v, --verbose            Whether to output verbose debugging information to the console

Also, here is an example invocation of the tool:
jrvanwhy@penguin:~/libtock-rs$ make qemu-example EXAMPLE=low_level_debug
make -C tock2/boards/hifive1 \
        /home/jrvanwhy/libtock-rs/tock2/target/riscv32imac-unknown-none-elf/release/hifive1.elf
make[1]: Entering directory '/home/jrvanwhy/libtock-rs/tock2/boards/hifive1'
    Finished release [optimized + debuginfo] target(s) in 0.07s
   text    data     bss     dec     hex filename
  66916      12    6128   73056   11d60 /home/jrvanwhy/libtock-rs/tock2/target/riscv32imac-unknown-none-elf/release/hifive1
make[1]: Leaving directory '/home/jrvanwhy/libtock-rs/tock2/boards/hifive1'
LIBTOCK_PLATFORM="hifive1" cargo run --example "low_level_debug" -p libtock2 \
        --release --target=riscv32imac-unknown-none-elf -- --deploy qemu
    Finished release [optimized + debuginfo] target(s) in 0.25s
     Running `cargo run -p runner --release target/riscv32imac-unknown-none-elf/release/examples/low_level_debug --deploy qemu`
    Finished release [optimized + debuginfo] target(s) in 0.04s
     Running `target/release/runner target/riscv32imac-unknown-none-elf/release/examples/low_level_debug --deploy qemu`
HiFive1 initialization complete.
Entering main loop.
LowLevelDebug: App 0x0 prints 0x1
LowLevelDebug: App 0x0 prints 0x2 0x3
^Cqemu-system-riscv32: terminating on signal 2
make: *** [Makefile:81: qemu-example] Interrupt

jrvanwhy@penguin:~/libtock-rs$

Update on the CI: Because cargo run no longer invokes flash.sh, libtock_test is not being built, resulting in test failures.
This didn't occur on my system because I already had a working libtock_test TBF file in my target/ directory, and the libtock-rs 1.0 tests were picking up that binary.
I'm going so see how much I need to disable to get CI to pass.

I needed to disable the Tock 1.0 libtock-rs integration test in order for make test to work.
I'd prefer to keep those tests disabled rather than add a hack to support both.

I'm not sure of this is the right place for this questions, but what about having the possibility to specify where the app should be loaded? Right now the runner assumes the app will be the only one (or the first) app running on the device.
For this I assume that this utility should write a temporary linker file before building the app.

I'm not sure of this is the right place for this questions, but what about having the possibility to specify where the app should be loaded? Right now the runner assumes the app will be the only one (or the first) app running on the device.
For this I assume that this utility should write a temporary linker file before building the app.

This runner runs after cargo builds the ELF file, which means it is too late for it to write the process binary's linker script. Changing this tool to write out the linker script and then invoke cargo would effectively make this tool become libtock-rs' build system, which adds more complexity than I would like to add.

This runner runs after cargo builds the ELF file, which means it is too late for it to write the process binary's linker script. Changing this tool to write out the linker script and then invoke cargo would effectively make this tool become libtock-rs' build system, which adds more complexity than I would like to add.

Do you see this dynamic layout generation as a separate tool that would be run by build.rs maybe?

This runner runs after cargo builds the ELF file, which means it is too late for it to write the process binary's linker script. Changing this tool to write out the linker script and then invoke cargo would effectively make this tool become libtock-rs' build system, which adds more complexity than I would like to add.

Do you see this dynamic layout generation as a separate tool that would be run by build.rs maybe?

My initial thought is yes, but upon further thought I realized that may exacerbate a race condition we may have: https://github.com/tock/libtock-rs/issues/366. So I agree with "maybe".

This runner runs after cargo builds the ELF file, which means it is too late for it to write the process binary's linker script. Changing this tool to write out the linker script and then invoke cargo would effectively make this tool become libtock-rs' build system, which adds more complexity than I would like to add.

Do you see this dynamic layout generation as a separate tool that would be run by build.rs maybe?

My initial thought is yes, but upon further thought I realized that may exacerbate a race condition we may have: #366. So I agree with "maybe".

I can try sketching something to build binaries for multiple slots and we can start experimenting from there. My question sis how is a slot defined? Would it be something like RAM_BASE and FLASH_BASE and (maybe) with their assigned length?

Do you see this dynamic layout generation as a separate tool that would be run by build.rs maybe?

My initial thought is yes, but upon further thought I realized that may exacerbate a race condition we may have: #366. So I agree with "maybe".

I can try sketching something to build binaries for multiple slots and we can start experimenting from there. My question sis how is a slot defined? Would it be something like RAM_BASE and FLASH_BASE and (maybe) with their assigned length?

I don't know how a slot should be defined, that would be part of the design for the slotted layout integration.

I took a stab at testing the tockloader version of this and was unable to get it to work:
(.venv) hudson: ~/libtock-rs (runner) $ LIBTOCK_PLATFORM="nrf52840" cargo run --example "low_level_debug" -p libtock2 --release --target=thumbv7em-none-eabi -- --deploy tockloader --verbose
    Finished release [optimized + debuginfo] target(s) in 0.03s
     Running `cargo run -p runner --release target/thumbv7em-none-eabi/release/examples/low_level_debug --deploy tockloader --verbose`
    Finished release [optimized + debuginfo] target(s) in 0.03s
     Running `target/release/runner target/thumbv7em-none-eabi/release/examples/low_level_debug --deploy tockloader --verbose`
Package name: "low_level_debug"
TAB path: target/thumbv7em-none-eabi/release/examples/low_level_debug.tab
Protected region size: 72
Found .stack section, size: 256
ELF file: "target/thumbv7em-none-eabi/release/examples/low_level_debug"
TBF path: target/thumbv7em-none-eabi/release/examples/low_level_debug.tbf
elf2tab command: "elf2tab" "--kernel-major" "2" "--kernel-minor" "0" "-n" "low_level_debug" "-o" "target/thumbv7em-none-eabi/release/examples/low_level_debug.tab" "--protected-region-size" "72" "--stack" "256" "target/thumbv7em-none-eabi/release/examples/low_level_debug" "-v"
Spawning elf2tab
Creating "target/thumbv7em-none-eabi/release/examples/low_level_debug.tbf"
Min RAM size from segments in ELF: 0 bytes
Number of writeable flash regions: 0
Kernel version: 2.0
Entry point is in .start section
  Adding .start section. Offset: 72 (0x48). Length: 110 (0x6e) bytes.
  Adding 2 bytes of padding between sections
  Adding .text section. Offset: 184 (0xb8). Length: 48 (0x30) bytes.
Searching for .rel.X sections to add.
TBF Header:
               version:        2        0x2
           header_size:       72       0x48
            total_size:      512      0x200
                 flags:        1        0x1

        init_fn_offset:       33       0x21
        protected_size:        0        0x0
      minimum_ram_size:     2304      0x900

     start_process_ram: 536887296 0x20004000
   start_process_flash:   196680    0x30048

    kernel version: ^2.0

elf2tab finished. exit status: 0
Detected platform nrf52840
Tockloader flags: ["--jlink", "--arch", "cortex-m4", "--board", "nrf52dk", "--jtag-device", "nrf52"]
Warning: tockloader listen may miss early messages on platform nrf52840
tockloader uninstall command: "tockloader" "uninstall" "--jlink" "--arch" "cortex-m4" "--board" "nrf52dk" "--jtag-device" "nrf52"
[INFO   ] Using settings from KNOWN_BOARDS["nrf52dk"]
[STATUS ] Preparing to uninstall apps...
[ERROR  ] No apps are installed on the board
tockloader uninstall finished. exit status: 1
tockloader install command: "tockloader" "install" "--jlink" "--arch" "cortex-m4" "--board" "nrf52dk" "--jtag-device" "nrf52" "target/thumbv7em-none-eabi/release/examples/low_level_debug.tab"
[INFO   ] Using settings from KNOWN_BOARDS["nrf52dk"]
[STATUS ] Installing app on the board...
[ERROR  ] ('Size only valid with one TBF, found: {}', 0)
tockloader install finished. exit status: 1
thread 'main' panicked at 'tockloader install returned unsuccessful status exit status: 1', runner/src/tockloader.rs:105:5
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Aborted (core dumped)

It seems that tockloader (I am using tockloader master with a tiny patch to print the number of tbfs found, and the latest elf2tab) is not detecting a tbf header in the tab file. I haven't had a chance to dig into why this is

bors r+


Question: Is there are any way to determine whether is a terminal filter at runtime?

Title: Is there are any way to determine whether is a terminal filter at runtime
Description:
Put is_terminal flag at proto file, and return deferent filter logic base on the flag.

Describe the issue.

[optional Relevant Links:]

Any extra documentation required to understand the issue.

What do you mean by runtime here? I believe the terminal filter check is for a config load check to prevent people from putting a terminal filter in the middle of their filter chain, so I'm not sure if being able to change this on a per request basis would be helpful?

@snowp  Sorry for not fully explained, recently I make a exist filter from non-terminal filter to terminal filter in this pr #15485 because the new feature require the filter to maintain connection, for api backward compatibility, it's not accepted. So I'm trying to find out a way to make it backward compatible, I'm trying to add a  is_terminal field to control whether this filter is a terminal filter, when is_terminal is false, the filter works as before, when is true, the filter works with new features.

@snowp Maybe a stupid question, can I make is_terminal to be a filed of my filter factory,  and determine it's value when call createFilterFactoryFromProto, then change the sequence of validateTerminalFilters and createFilterFactoryFromProto in the related function like https://github.com/envoyproxy/envoy/blob/a240824c376693b16ca8be51e435b95c42f3449f/source/server/listener_manager_impl.cc#L108-L115 ?

I think there are two main options: what you said to pass additional information to isTerminal or have this new filter functionality of yours be configured via a different config type, allowing you to use a different factory.
@alyssawilk any thoughts here?

yeah, this seems an invasive enough change I wonder if it'd be easier to clone and support both for the deprecation window.  If not having config for old mode vs new seems reasonable.

I think adding a new method virtual bool isTerminalByConfig(const Protobuf::Message& proto_config, Server::Configuration::FactoryContext& context) to NamedHttpFilterConfigFactory like below:
class NamedHttpFilterConfigFactory : public ProtocolOptionsFactory {
...
virtual
/**
   * @return bool true if this filter must be the last filter in a filter chain, false otherwise. mark it as deprecated.
   */
  virtual bool isTerminalFilter() { return false; }
/**
   * @return bool true if this filter must be the last filter in a filter chain, false otherwise, dynamic determined by config
   */
  virtual bool isTerminalFilterByConfig(const Protobuf::Message&, Server::Configuration::FactoryContext&) { return isTerminalFilter();}
};

And replace isTerminalFilter() call with isTerminalFilterByConfig(message, context), that will not affect the current implementation of other filters and give ability to determine a filter whether is terminal at runtime. WDYT?

Yeah, I think that's fine, though I'd lean towards just replacing isTerminalFilter entirely, having isTerminalFilterByConfig return false by default and updating our internal filters.

Yeah, I think that's fine, though I'd lean towards just replacing isTerminalFilter entirely, having isTerminalFilterByConfig return false by default and updating our internal filters.

I'm not sure whether some users might implement their own filters in the meanwhile implement isTerminalFilter, replace isTerminalFilter entirely might cause their filters to be fail to build. A well known case is that in
https://github.com/envoyproxy/envoy-filter-example/blob/8f0f8bba38868e875613b74f57df38f543e764ba/echo2_config.cc#L30
, we need modify envoy-filter-example repo at the same time, but it all up to you.

I'm fine with it being multi-phase but for now include is not expected to be backwards compatible and I'd prefer to not have cruft and potentially confusing multiple APIs in the long run.
cc @mattklein123 @snowp for thoughts (on retaining both isTerminalFilter and isTerminalFilterByConfig in the long run)

Sorry I don't fully understand the use case. The issue is there is a private filter which has to support both terminal and non terminal modes and we want config to drive that?

context: https://github.com/envoyproxy/envoy/pull/15485
changing the msql proxy to support terminal and non-terminal

OK thanks. Yeah I would be fine just replacing isTerminal and adding params.


[Snyk] Security upgrade vue from 2.6.14 to 3.0.0

Snyk has created this PR to fix one or more vulnerable packages in the `npm` dependencies of this project.
Changes included in this PR

Changes to the following files to upgrade the vulnerable dependencies to a fixed version:

web/package.json
web/package-lock.json

Vulnerabilities that will be fixed
With an upgrade:

Severity
Issue
Breaking Change
Exploit Maturity

Regular Expression Denial of Service (ReDoS) SNYK-JS-VUE-8219889
Yes
Proof of Concept

Check the changes in this PR to ensure they won't cause issues with your project.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
🛠 Adjust project settings
📚 Read more about Snyk's upgrade and patch logic

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Regular Expression Denial of Service (ReDoS)

vue 2.6 not compatible with 3


VSDK Incorrectly IDs SteamVR version

With the latest version of SteamVR on the unity asset store, VSDK misidentifies it as both version 2+ and 1.11 or older.
The current method of looking at what class files are available isn't working great and seems to break with every new release, so we should figure out a better solution (removing pre-2.0 SteamVR support might be an option here, since those binaries are harder to get anyway).

This should now be fixed, as I've streamlined the legacy code detection.


Debug: No call stack available ({_command}: Internal error: illegal access).

VSCode Version: Code 1.3.1 (e6b4afa53e9c0f54edef1673de9001e9f0f547ae, 2016-07-12T13:35:06.227Z)
OS Version: Windows_NT ia32 6.1.7601
Node Version: v6.1.0

Steps to Reproduce:

Create express.js Hello World
Create launch.js with "runtimeExecutable": "C:\\Program Files (x86)\\nodejs\\node.exe" (node and npm are not in PATH)
Set breakpoint on res.send('Hello World!');
Use Postman to send GET /

Expected:
Execution breaks at res.send('Hello World!'); and Call Stack and Variables are populated
Actual:
Execution breaks with no location indication. Call Stack shows error message No call stack available ({_command}: Internal error: illegal access).
Other observations:

Debugging worked fine a couple of hours after installation yesterday. Then issue started to occur. Could be worked around by restarting the app, but today that no longer helps.
App runs fine, otherwise

Screenshot:

Not reproducible after fresh install of Node v6.3.1 and reinstall of Visual Studio Code.


Crash while publishing attestation with Erigon 2022.07.02

Description
We run our 10k validators on Ropsten, post-merge, based on Erigon + Teku + Vouch setup.
Today, after upgrading to Erigon 2022.07.02 Teku began crashing.
Going back to Erigon 2022.07.01 seems to be solving the issue.
Steps to Reproduce (Bug)
Exception stacktrace attached
extract-2022-07-07T17_58_35.344Z.csv
Expected behavior: Successfully publishes attestations
Actual behavior: Crashes
Frequency: Every 5-10 minutes.
Versions (Add all that apply)

Software version: 22.6.1
Java version: [java -version]
OS Name & Version: [cat /etc/*release]
Docker Version: [docker version]
Cloud VM, type, size: Private cloud

okay, it looks like adding --experimental.overlay flag in Erigon solves that. This flag will be removed and functionality will be enabled by default, so I don't see any issues there. Will continue monitoring and reopen if needed