[DPE-5097] - test: add mtls int-tests

Changes Made
test: add mtls int-tests

Different to VM in several ways:

Because it's a container, needs to manually install Java + wget (apt) and Kafka (Apache download)

The run-mtls-producer and get-offsets app-charm actions take mtls-nodeport instead of bootstrap-server, so the mTLS test assumes/requires NodePort to be enabled

feat: add LRU cache for K8s api calls with 2m ttl

Cache is in-memory, so does not persist across charm hook execution. Did explore pickle-ing this, but was fiddly so left it out
get_ttl_hash() sets a 2m ttl for the in-memory cache, in-case of long-running event executions that may require recently-changed results
Originally suspected that flakiness in int-tests were due to K8s API server slowdowns from spamming Pod/Node/Service requests

kube-apiserver has --max-requests-inflight=400 as the default, so it's unlikely that this is the issue
BUT, it would be an issue for deployments with lots of units, so the feature is suggested to stick around

Oh, there is another thought I had:
It seems that we are only testing the trusted-certificates behaviour, and not the trusted-ca. Do we have a test for this? I'd also like to test this scenario. If we can use a lot of code already written here, and this would be reasonably easy, I would make it part of this PR, otherwise I'm also fine to have a dedicated ticket. But I'd approach this next pulse

@deusebio

Do we have a test for this?

No we don't, mostly to save headache of writing more fiddly mTLS tests for the 'easier' case of CA trusting (vs individual cert).
Happy to for it to be a separate ticket, as both K8s + VM will need it 👍🏾

It seems that we are only testing the trusted-certificates behaviour, and not the trusted-ca.

We don't but from the charm is executing the exact same code on both cases, minus a check on the relation name to get certificate or CA. It's good to have that test, but I don't think is critical IMO.


Fixed issue #93

Could you edit the source file instead of the compiled file?
Also, I know see what the problem is more clearly. Could you make sure that all +? are replaced with *? That includes the change you made, so that it is removing the ? as well.
Thanks 👋

@LinusU any eta on when this will get merged?

Could you change *? to just *, and remove the changes to the compiled files?


the latest npm package is not updated?

Steps to reproduce
I might be wrong, but it's so weird that the npm package v2.8.0 is not the same with the latest repo on github. After npm i -S feathers-mongodb, the \lib\index.js#279 is:
return Promise.reject('Not replacing multiple records. Did you mean `patch`?');

but the same line in the repo forked from github's master branch (after compliation with npm test) is:
return Promise.reject(new _feathersErrors2.default.BadRequest('Not replacing multiple records. Did you mean `patch`?'));

The later one is OK, but the first one generates wrong format of error.
Expected behavior
Tell us what should happen
Actual behavior
Tell us what happens instead
System configuration
Tell us about the applicable parts of your setup.
Module versions (especially the part that's not working):
2.8.0
NodeJS version:
7.10.0
Operating System:
windows 10 with linux sub system
Browser Version:
React Native Version:
Module Loader:

Closed via v2.8.0


Inconsistent IFormFile collection binding between model properties and controller parameters

I found some inconsistencies on how IFormFile collection get's binded then used as model property vs being used as controller parameter vs primitive type collection binding. Is this intentional change from MVC5? See collections then 0 elements are selected/entered.
<form action="/" enctype="multipart/form-data" method="post">
    <input type="text" name="strings">
    <input type="text" name="strings">
    <input type="file" name="files" multiple>

    <input type="submit">
</form>

MVC Core
public class Model
{
    public IFormFile[] Files { get; set; }
    public String[] Strings { get; set; }
}

[HttpPost]
public IActionResult Index(Model model)
{
    // 0 files selected: model.Files => null
    // 1 file selected : model.Files => [1] { "0.txt" }
    // 2 files selected: model.Files => [2] { "0.txt", "1.txt" }
    return View();
}

[HttpPost]
public IActionResult Index(IFormFile[] Files)
{
    // 0 files selected: Files => [0] { }
    // 1 file selected : Files => [1] { "0.txt" }
    // 2 files selected: Files => [2] { "0.txt", "1.txt" }
    return View();
}

[HttpPost]
public IActionResult Index(Model model)
{
    // 0 strings entered: model.Strings => [2] { null, null }
    // 1 string entered : model.Strings => [2] { "0", null }
    // 2 strings entered: model.Strings => [2] { "0", "1" }
    return View();
}

[HttpPost]
public IActionResult Index(String[] Strings)
{
    // 0 strings entered: Strings => [2] { null, null }
    // 1 string entered : Strings => [2] { "0", null }
    // 2 strings entered: Strings => [2] { "0", "1" }
    return View();
}

MVC 5
public class Model
{
    public HttpPostedFileBase[] Files { get; set; }
    public String[] Strings { get; set; }
}

[HttpPost]
public IActionResult Index(Model model)
{
    // 0 files selected: model.Files => [1] { null }
    // 1 file selected : model.Files => [1] { "0.txt" }
    // 2 files selected: model.Files => [2] { "0.txt", "1.txt" }
    return View();
}

[HttpPost]
public IActionResult Index(HttpPostedFileBase[] Files)
{
    // 0 files selected: Files => [1] { null }
    // 1 file selected : Files => [1] { "0.txt" }
    // 2 files selected: Files => [2] { "0.txt", "1.txt" }
    return View();
}

[HttpPost]
public IActionResult Index(Model model)
{
    // 0 strings entered: model.Strings => [2] { null, null }
    // 1 string entered : model.Strings => [2] { "0", null }
    // 2 strings entered: model.Strings => [2] { "0", "1" }
    return View();
}

[HttpPost]
public IActionResult Index(String[] Strings)
{
    // 0 strings entered: Strings => [2] { null, null }
    // 1 string entered : Strings => [2] { "0", null }
    // 2 strings entered: Strings => [2] { "0", "1" }
    return View();
}

These look Really Bad™ (in both MVC 5 and Core):
// 0 files selected: model.Files => [1] { null }
// 0 files selected: Files => [1] { null }

// 0 strings entered: model.Strings => [1] { null }
// 0 strings entered: Strings => [1] { null }

Arrays with a single null-element in it if no files or strings were passed? That sounds like a recipe for disaster.

Having one null is understandable @khellang, because it's the same behavior as binding one property, it exists in the form but is not specified. So for strings we get  [0] => { null } or [0] => { "" }.
And yes, struct get's bound to default value e.g. [0] => { 0 }.

In ASP.NET MVC Core, the string[] behaviour is less understandable than the IFormFile[] handling. Counting form fields that were left blank isn't particularly useful. But we probably maintained the string[] behaviour for backwards compatibility.
What problems does this slight inconsistency lead to? @Muchiachio were you suggesting we add extra null entries to IFormFile[] when fields are left blank? Or is the string[] handling something you'd like to see change?

I would expect that model.Files and just Files parameter would bind the same.
Now model.Files binds to null, while Files parameter bind to empty collection.
I'm not too sure on including null tho, MVC 5 did that, but it always felt unnecessary on files, as multiple file input behaves differently than including a lot of text inputs.

I would expect that model.Files and just Files parameter would bind the same.

The difference is MVC intends to have an invariant that action arguments are never null. Value types may have their default values but POCO types should always be instantiated before calling the action. MVC 5.x was inconsistent here and we're a bit better in ASP.NET Core MVC.

Still feels strange that string[] would bind to non null object while IFormFile[] wouldn't.
This can be closed, if it's not going to be changed.

Should this be closed @dougbu?

:ok: @Muchiachio


feat: notify mods when users are warned

Currently the pubsub topic only contains the moderator user id but not name, so we say A moderator did the action (which is still clickable to open their usercard based on id)

Related to #5439

regarding the TODO, can subscribe to https://github.com/twitchdev/issues/issues/963 to track if it's fixed on twitch's end


Display child sprite behind parent sprite

This Issue is about (delete as applicable)

A bug in the API - 2.7.3

I'm trying to get some guns to appear behind their parent sprite, and this thread leads me to believe it's not possible without a hacky work around. Is this true? If it is, how can we enable support for rendering parent sprite on top of children?

The current behavior isn't a bug, and it probably won't change in Phaser CE.
The "workaround" is really the best approach for this.


⚠ Bofrost.at has degraded performance

In f2b8f5e, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1933 ms

Resolved: Bofrost.at performance has improved in 38ac74d after 6 minutes.


Giving me full nmr +9203123456789 instead it should give +923123456789?

it was working perfectly on samsung s6 and oneplus but when i tried on samsung s4 mini it gives nmr in wrong format.

This is a late late response for your question. I can't answer it because the problem possibly related with the older version of the library. Please try using 2.4.1.
I'll close this issue for now. Please re-open if the issue is still persisted.


http instead of https is used in api key page example urls

https urls should be used

Alignement is wrong also. @josecruz could you help @juanignaciosl with this?

@saleiva left labels are vertically aligned in the middle. The problem at the previous screenshot is that Santana has hacked his api key to RAMBO, but with a valid api key design looks right:

hey, try to leave "easy" issues for the people is starting with cartodb development

Ok, I was just editing that page for #4404 when you sent the issue.

Even tho, is wrong IMO. texts should be aligned on the baseline of the first line

Agree with @saleiva about the alignment

This way then, ok?

Yup! :+1:


First render page stylization

Hello, Fernando! I hope you are doing fine!
I'm having a problem with my nextJS application taking a while to load on the user's first access and during that time, the user sees a blank screen
take a look at this lighthouse report output.

Do you see how the first 8 screenshots show a white page ?
When running the same audit on Beatgig, the initial blank page is black instead of white. how were you able to do it ?

I would like to do the same while I work on a more permanent solution for my app

weird that your initial load took that much longer. As for black — I set the body background in a style tag in _app.tsx outside of any providers

Yeah. I'm still investigating why my initial load is taking so much time. Thank you so much for your answer! It was very helpful!
I hope you have a good weekend!


Introduce Buffer and BufferSet classes

This PR introduces the Buffer and BufferSet classes to help:

Organize all buffer information into a single place (Buffer class)
Manage a set of normal and alt buffer (BufferSet class)
Know when a buffer gets activated (BufferSet events)

To-do

[x] Replace usage of lines with Buffer everywhere
[x] Get existing tests work
[ ] Write tests for Buffer and BufferSet classes
[x] Document Buffer and BufferSet classes

This will eventually help ship #613.

Coverage increased (+0.3%) to 69.832% when pulling 6b98ef27a77962a481903cc7a374ffaaec5f45b7 on buffer-set into 7cfc2ffa32d418d6e85ced14850b40333a299efe on master.

Coverage increased (+0.3%) to 69.832% when pulling 575577eb0df543a6cc884d370a69e1914db7d87b on buffer-set into 7cfc2ffa32d418d6e85ced14850b40333a299efe on master.

Coverage increased (+0.3%) to 69.832% when pulling 575577eb0df543a6cc884d370a69e1914db7d87b on buffer-set into 7cfc2ffa32d418d6e85ced14850b40333a299efe on master.

Coverage increased (+0.3%) to 69.832% when pulling 575577eb0df543a6cc884d370a69e1914db7d87b on buffer-set into 7cfc2ffa32d418d6e85ced14850b40333a299efe on master.

Coverage increased (+0.3%) to 69.784% when pulling f840997a4101dac3796f322432c1566b7ff71bfb on buffer-set into c94fdaecb2b0ff402691b312d7c7f5a625c75fa4 on master.

Coverage increased (+0.7%) to 70.145% when pulling 1a2e3fb9c02a4c32df3745b41e4ee71d33eb2f3b on buffer-set into c94fdaecb2b0ff402691b312d7c7f5a625c75fa4 on master.

This should be ready for a final review 😄. /cc @Tyriar

Coverage increased (+0.7%) to 70.145% when pulling c27431b82d73750a920e89781d493d34d7eab527 on buffer-set into c94fdaecb2b0ff402691b312d7c7f5a625c75fa4 on master.

Coverage increased (+0.7%) to 70.145% when pulling c27431b82d73750a920e89781d493d34d7eab527 on buffer-set into c94fdaecb2b0ff402691b312d7c7f5a625c75fa4 on master.

Also > 70% test coverage :tada:

Coverage increased (+0.7%) to 70.126% when pulling c27431b82d73750a920e89781d493d34d7eab527 on buffer-set into c94fdaecb2b0ff402691b312d7c7f5a625c75fa4 on master.

Coverage increased (+0.7%) to 70.145% when pulling 4cefa34162652e84f86bce7e9c81b2a48ab1b4b2 on buffer-set into c94fdaecb2b0ff402691b312d7c7f5a625c75fa4 on master.


Does this support iOS 10 push notifications

@flovilmart
For instance, I noticed I cant specify "Title", "subtitle", "body" in my push data. I can only pass in an "alert" message.

https://github.com/parse-server-modules/parse-server-onesignal-push-adapter/blob/b1d053952d20f9266e94ac56d0109ca22b8bb867/src/OneSignalPushAdapter.js#L58
you need to edit the adapter for your own params if you want access to more options by onesignal's api

@jjdp
ahh man. can you give me an example, i really dont know javascript at all :(

Something like this
if(data['subtitle']) {
    post['subtitle'] = data['subtitle'];
    delete data['subtitle'];
}

just pass your property in data for
Parse.Push.send({
    where: query,
    data: data,
}, { useMasterKey: true });

@jjdp thank much appreciated :)

@jjdp
Maybe im inputting the wrong param but i tried borrwoing your syntax because I want bold titles in my notifications however it doesnt work. any idea?
if(data['title']) {
    post['title'] = data['title'];
    delete data['title'];
}```

read one signal's params in the link

I think your OneSignalPushAdapter.js should have something like this:
   if (data['title']) {
    post['headings'] = { en: data['title'] };
    delete data['title'];
   }

I tried it but I had no luck, I contacted One Signal support and they told me "this module is very outdated and we don't officially support it."
Any ideas?

@fasa23 I use it from the client instead, no server side integration needed. I thought push notifications had to go through my own servers but not the case with oneSignal which is great.


Move all 2.1 integration and functional tests in their own repo

Integration and functional tests should be shared between 2.1 and 3.0, because they only rely on the OCI, Docker and CRI interfaces.

@chavafg @gorozco1 @devimc - can this be closed now?

closing this issue as this is already implemented


Loading animation is still shown even after throwing the error

Describe the bug

Sometimes the loading animation is shown even after the throwing error in some API calls.

To Reproduce
Steps to reproduce the behavior:

Go to Mentor view
Try creating error when applying or editing mentor application
See error

Expected behavior

The loading animation shouldn't be shown after showing the error

Screenshots

Desktop (please complete the following information):

OS: MacOS monteray
Browser: Chrome

@anjula-sack May I work on this?

Please go ahead. :)


When gyb-generation fails on a subthread, raise that exception in the parent thread

An exception raised in a thread managed by ThreadPoolExecutor only gets raised if its value is retrieved. Iterate over all the 'None' results to cause the exceptions to be propagated.
Otherwise, gyb-generation can silently fail.

@swift-ci Please test


Failing unit tests when run from mono/linux (on master)

most failing tests are using Calendar.LoadFromStream() with local datetimes.
see attached files for errors detail.
TestResult.xml.txt
ical.failures.txt

Should be fixed in non-beta versions of 3+


refactor: improve math

allow multi numbers of add (+) / sub (-) / mul (*) / div (/) / min value / max value
refactor after:
add 1 2 | add 3 | add 4 // equivalent to: 1 + 2 + 3 + 4
sub 1 2 | sub 3 | sub 4 // equivalent to: 1 - 2 - 3 - 4
mul 1 2 | mul 3 | mul 4 // equivalent to: 1 * 2 * 3 * 4
div 1 2 | div 3 | div 4 // equivalent to: 1 / 2 / 3 / 4
math.Min 1 2 | math.Min 3 | math.Min 4
math.Max 1 2 | math.Max 3 | math.Max 4

refactor before:
add 1 2 3 4
sub 1 2 3 4
mul 1 2 3 4
div 1 2 3 4
math.Min 1 2 3 4
math.Max 1 2 3 4

apply e.g: fit image dimension
after:
math.Min (div $maxWidth / .Width) (div $maxHeight / .Height) | math.Min 1

before:
math.Min (div $maxWidth / .Width) (div $maxHeight / .Height) 1

OK, this I like. What do you think, @jmooring ?

I have tested it. Looks good to me, though we might add some test cases, one with 3 arguments to each of the 6 functions.


CalTRACK Issue: Interpolation of integral therms for daily data

Prerequisites

[x] Are you opening this issue in the correct repository (caltrack/grid/seat)?
[x] Did you perform a search of previous Github issues to check if this issue has been previously considered?

Article reference number in CalTRACK documentation (optional): Unsure; maybe 2.2 or 2.3?
(Also, see original issue #108, closed during CalTRACK transition from OEE to EM2.)
Description
Background: Some utility residential gas meters report only integral therms on a daily basis. As a result, interval data from low usage homes can report several days of "zero" usage followed by a day with one (or more) therms. For example: Monday reads 0 therms, Tuesday reads 0 therms, and Wednesday reads 1 therm. While this extreme shift from zero gas to 1 full therm of gas on Wednesday could represent actual usage, the same readings would result from very different usage; for example 0.9 therms used on Monday and 0.1 therm used on Wednesday.
In low gas use homes regression results can be affected by this method of gas meter logging: since each therm represents a lot of energy (29.3 kWh), the skewed attribution of a full therm to the day when the meter finally clicks over can have a material impact on results.
Note this is not an issue for utility meters that report in finer units, such as 1/100ths of therms.
Issue: The accuracy of regression results can be improved by interpolating integral therm gas readings for meters that only report whole therms. This type of model error is indicated in the chart below as type 2: an energy data point used during the regression analysis will be moved on the energy axis as the energy use (in therms) is made more accurate:

Internally, HEA uses the following interpolation approach to address these types of meter readings: We assume that zero values in the original series are in fact non-zero, and are caused instead by the low-resolution meter issue (registering only integral therms). To compensate, the first non-zero value following zero values is equally divided between the zero entries and that first non-zero entry.
Furthermore, since this meter issue also affects all non-zero readings in the same way, its expected that two adjacent non-zero values share one of the most recent therms recorded, and therefore it should be equally divided between them.
Example:
Initial daily th values:  ..., 0.00, 1.00, 0.00, 0,00, 1.00, 2.00, 3.00, 4.00, 5.00 (blue bars below)
HEA interpolates to:   ..., 0.50, 0.50, 0.33, 0.33, 0.83, 2.00, 3.00, 4.00, 4.50 (red bars below)

Validation: HEA has seen improved regression results on homes with low natural gas use after implementing the method described above. Note that there is no change in total therms; we are only distributing the therms more evenly across periods when usage did not trigger the final "click" of an integral therm.
Requested CalTRACK change: Update methods to interpolate unit therms for these types of integral therm meters, perhaps in a method similar to that described above.
Proposed test methodology
[Not my area of expertise! I could use some help here...]

Identify a test sample of appropriate homes with low natural gas use and daily zero values interspersed with non-zero values over significant periods of time.
Run current methods on these homes and record "before" results.
Adjust the daily therm values using a method like the one suggested above.
Rerun with the updated data set, and compare "after" results.

Acceptance Criteria
Monthly bias should be reduced in most cases, and never increase.

Adding supplemental data.
We came across a good example of this issue and include below some energy charts from a 4,000 sf home where summer gas use comes from two natural gas water heaters and a gas cooktop:

Note the "gaps" in the chart above which indicate zero gas use on 21 of the 29 days, separated by days with a single therm of use. Compare this to the electric use for the same period:

One conclusion from the electric use is that the home was probably not unoccupied during the "zero gas use" days. Finally, to get a sense of the impact of large integral therms, here's the combined site energy using unaltered meter data:

And again, using interpolated therms:

We believe this 2nd chart is much more representative of how gas was used across this period.

@steevschmidt From a testing standpoint, it seems like it would make sense to test for homes with low annual usage, high annual usage and/or homes in places like SoCal versus homes in places like New York. I would pick CVRMSE as the appropriate value to evaluate the test with. What are pitfalls here? Missing data? Anything else?

I'm curious if we should introduce a weighting factor to the regression model to reflect the fact that interpolated measurements are being over-represented relative to measurements in very cold weather with >1 unit of energy/day. For example, if we spread a single 1-therm reading over four days, those four points in the regression model (relating the degree-days to the quarter-therm in each of those days) should each be weighted as 0.25, whereas a 3-therm reading from another day would be weighted as 1.0 in the regression model. I'm not sure how best to deal with a partial-interpolation scenario such as is suggested in the issue (where a portion of a multi-term reading is spread over prior days) or how to implement weighting in the regression modeling,

Two updates:
(1) To clarify the HEA approach mentioned above, attached are two implementations of this method in Excel and in Python, using "raw" therms from the example above.
Interpolate-therms.xlsx
Interpolate-therms.py.zip
Again, this is one possible method to address the "lumping" of unitary therms on a single day when the meter trips. There may very well be better methods.
(2) While providing the examples above, I learned HEA no longer uses this method internally. We used it with good results for years, but when we migrated to using a moving 5-day average of energy use (described in #124) we decided it was no longer needed.

Summarizing some preliminary results and working group discussion:
Therm interpolation was tested with the following algorithm. To summarize the last therm from each reading is spread over the past readings. The number of periods over which the last therm is spread is equal to the current read, zero reads and up to the first non-zero read prior to the current one. In this example, reads of [1,0,0,1,3,4,2,0,1,0] become [1,0.25,0.25,0.75,3,4,1.8333,0.333,0.333,0]
import pandas as pd
import numpy as np

tick_value = 1
trace = pd.DataFrame({
        'date': pd.date_range(start='2019-07-01', end='2019-07-10'),
        'value': [1,0,0,1,3,4,2,0,1,0]
        })
nonzero_usage = np.where(trace.value > 0)[0]
trace_diff = pd.DataFrame({
    'ind': nonzero_usage,
    'back_diff': np.diff(nonzero_usage, prepend=np.nan) + 1,
    'forward_diff': np.diff(nonzero_usage, append=np.nan) + 1})
trace = trace.merge(trace_diff, left_index=True, right_on='ind', how='left')
trace['back_diff'] = trace.back_diff.fillna(method='backfill')
trace['value_residual'] = (trace.value - tick_value).map(lambda x: max(x, 0))
trace['forward_val'] = (tick_value/trace.forward_diff).fillna(0)
trace['back_val'] = tick_value/trace.back_diff
trace['new_value'] = trace.value_residual + trace.forward_val + trace.back_val
trace.new_value.iloc[0] = trace.value.iloc[0]
trace.new_value.iloc[-1] = trace.value.iloc[-1]

The impact of this interpolation on the data used to fit CalTRACK models is significant at the low end of the consumption range but not noticeable for higher therm values. In particular, single therm ticks recorded at higher temperatures are reduced by the interpolation, while reads that had registered as zero get assigned a small value.
Overall, the interpolation seems to have little impact on the model coefficients and predictions. However, the model fit is vastly improved (30-50% reduction in CVRMSE), indicating that the data is more reflective of the correlation between weather and energy consumption.

Next steps are to test this interpolation with a larger sample of buildings and to assess whether there is an impact on model predictions for homes with low gas usage. There was also a suggestion to investigate the impact of upsampling daily data to weekly for homes with low gas usage or infrequent ticks on the gas meter.

Thanks very much for this work Hassan.
Is it just me, or does the balance point temp for the 2nd plot (using interpolated therms) look too low? Just eyeballing, it looks like heating comes on closer to 62F, not 58F as shown. (Ref #121.)

The selected balance point was 59 F. Looks like the R-squared was pretty close for the models in that neighborhood. But yes, we should look into #121 at some point.
Balance Point | R-squared
56 | 0.66
57 | 0.669
58 | 0.674
59 | 0.674
60 | 0.672
61 | 0.666
62 | 0.66


connection failed with code[503] on task [-1272187019] which ic changed after verify connection so please try again

hello thank you very much for this great library but after updating the library to latest version every time when i try to download any file this message appear
"connection failed with code[503] on task [-1272187019] which is changed after verify connection so please try again"
i updated to latest version because i want to use the multi connection ability in the new version
i tried to edit DefaultConnectionCountAdapter and set determineConnectionCount to 1, the download works again without any issue but with low download speed and i want to take advantage of all internet speed
please can you help me with this
thanks in advance

The description is very clear:
connection failed with code[503] on task [-1272187019] which is changed after verify connection so please try again

When you enable multiple connections, for FileDownloader we will launch the first connection as verify-connection to check out whether the resource supports multiple connections, so after the backend response declare it support multiple-connection to download the resource we will launch the multiple connections to download the resource, but the backend response 503 so we can't to download it.
How to resolve?

Way 1. please ask your backend partner, why they response 503 what is the backend problem
Way 2.  customize you own ConnectionCountAdapter to let this special resource only use 1 connection count.

okay thank you for your respond , but i am trying the same links on other application like ADM app which support multi connection and it works fine and it gives me full speed
is there any way to force the downloading to make many connection by some way
and thx again for this great library


Values not changing or result not accurate

Hi
I'm hoping I get some response here even though the project is still not very much alive anymore.
But I'm making a simplified version of the project and stuck with the results being the same.
I'm using the breadboard example here. (I have all the parts for the PCB board too but, unable to recreate it with perfboard, my schematic reading isn't very good as I am no a very technical person)
Breadboard example
This is my code
/*----------------------------------------------------------
   Everything for OSC && WiFi
  ----------------------------------------------------------*/

#if defined(ESP8266)
#include <ESP8266WiFi.h>        // Include the Wi-Fi library
#else
#include <WiFi.h>
#endif
#include <WiFiUdp.h>            // UDP library
#include <OSCMessage.h>         // OSC library
#include <OSCBundle.h>

#include <Wire.h>

WiFiUDP Udp; // A UDP instance to let us send and receive packets over UDP
//const IPAddress outIp(192, 168, 0, 234); // remote IP of your computer

const unsigned int outPort = 4560; // remote port to receive OSC
const unsigned int localPort = 8888; // local port to listen for OSC packets (actually not used for sending)

// Sensor and analysis setup
const int sensorPin = A0; // Wemos A0 gpio
const byte samplesize = 10;
volatile unsigned long samples[samplesize];
volatile byte SampleIndex = 0;
float threshold = 2.3; // Adjust as necessary

void setup()
{
    Serial.begin(115200);
    delay(10);
    Serial.println('\n');

    WiFi.begin(ssid, password);             // Connect to the network
    Serial.print("Connecting to ");
    Serial.print(ssid); Serial.println(" ...");

    int i = 0;
    while (WiFi.status() != WL_CONNECTED) { // Wait for the Wi-Fi to connect
    delay(1000);
    Serial.print(++i); Serial.print(' ');
    }
    Serial.println('\n');
    Serial.println("Connection established!");
    Serial.print("IP address:\t");
    Serial.println(WiFi.localIP());         // Send the IP address of the ESP8266 to the computer

    Serial.println("Starting UDP");
    Udp.begin(localPort);
    Serial.print("Local port: ");
    #ifdef ESP32
      Serial.println(localPort);
    #else
      //Serial.println(Udp.localPort());
    #endif

  // Sensor setup
  pinMode(sensorPin, INPUT);
  Serial.println("Setup complete");

}

/*----------------------------------------------------------
    Galvano sensor  loop
  ----------------------------------------------------------*/
void loop() {
  // If the samples array is full, analyze the sample
  if (SampleIndex >= samplesize) {
    analyzeSample();
  }

  // Read sensor data
  if (SampleIndex < samplesize) {
    samples[SampleIndex++] = analogRead(sensorPin);
    delay(5); // Delay between samples
  }
}

void analyzeSample() {
  unsigned long sum = 0;
  unsigned long maxVal = 0;
  unsigned long minVal =<PHONE_NUMBER>; // Max unsigned long
  float stdDev = 0;

  for (byte i = 0; i < samplesize; i++) {
    sum += samples[i];
    if (samples[i] > maxVal) maxVal = samples[i];
    if (samples[i] < minVal) minVal = samples[i];
  }

  float avg = sum / (float)samplesize;
  for (byte i = 0; i < samplesize; i++) {
    stdDev += pow(samples[i] - avg, 2);
  }
  stdDev = sqrt(stdDev / samplesize);

if ((maxVal - minVal) > (stdDev * threshold)) {
    OSCMessage msg("/sensor/change");
    msg.add((float)avg); // Casting to float
    Serial.println(avg);
    msg.add((int)maxVal); // Casting to int
    Serial.println(maxVal);
    msg.add((int)minVal); // Casting to int
    Serial.println(minVal);
    msg.add((float)stdDev); // Casting to float
    sendOSCMessage(msg);
  }

  SampleIndex = 0; // Reset index for next samples
}

void sendOSCMessage(OSCMessage &msg) {
  Udp.beginPacket(outIp, outPort);
  msg.send(Udp); // Send the message
  Udp.endPacket();
  msg.empty(); // Free space occupied by the message
  Serial.println("OSC message sent");

}

Replaced every piece of the board incase something might be faulty (tried three different Wemos boards)
Quadrupple checked my wiring
This is the output of the serial monitor:
2 3 4

Connection established!
IP address:	<IP_ADDRESS>
Starting UDP
Local port: Setup complete
2.60
4
2
OSC message sent
0.80
2.50
4
2
OSC message sent
0.67
2.70
4
2
OSC message sent
0.78
2.70
4
2
OSC message sent
0.78
2.70
4
1
OSC message sent
1.00
2.70
4
2
OSC message sent
0.78
2.70
4
2
OSC message sent
0.78
2.90
3
2
OSC message sent
0.30
2.40
4
2
OSC message sent
0.66
2.50
4
2
OSC message sent
0.81
3.00
5
2
OSC message sent
0.89
2.50
3
1
OSC message sent
0.67
2.50
4
2
OSC message sent
0.67
2.60
4
2
OSC message sent
0.80
2.60
4
2
OSC message sent
0.66
2.60
4
2
OSC message sent
0.66
2.80
4
2
OSC message sent
0.75
2.80
3
2
OSC message sent
0.40
2.50
4
2
OSC message sent
0.81
2.50
4
2
OSC message sent
0.67
2.80
3
2
OSC message sent
0.40
2.50
4
2
OSC message sent
0.67
2.50
4
1
OSC message sent
0.92
2.70
5
2
OSC message sent
0.90
2.70
4
2
OSC message sent
0.78
2.60
4
2
OSC message sent
0.66
2.90
4
2
OSC message sent
0.70

This is what I get when I use the perfboard:
When I used my soldered version I get nothing..
@

Hello and thank you for your interest in Biodata Sonification.  It sounds like you are trying to use the old breadboard kit instructions and use an ESP32.  Did you follow the breadboard instructions, does the 555 timer flash when the you touch the electrodes to test the biodata circuit?
... luckily i have a different codebase which will work on ESP32.  I recommend using an ESP32-S3 which has usb-midi as well as ble/wifi -- https://github.com/electricityforprogress/BiodataFeather/tree/master/Biodata_v007_ESP32S3
Looking briefly at your code, you don't seem to have the interrupt input declared in setup() or nor a function to perform the biodata reading.

Yes I followed the exact wiring.
And I used our ESP32 code to recreate my example.
I though I had it figured out correctly. But if u say that I don't have the interrupt input declared in setup or missing a function. Then I'm pretty sure I did that wrong :(. Hmm this goes beyond my programming knowledge as well.  I just want to send the variating data to osc and handle it from there...

If you are trying a new project, i recommend getting it to work 'without changes' first and then go back and start to make your modifications, that will give you some ground to stand on while doing new work.  You can test to ensure your hardware is working.  Did you test the 555 circuit works with your fingers, that is step 0.
To use an 'arduino based' code project you need all of the .ino files in the project folder as well as any dependent libraries installed in the Arduino IDE.  So grab the entire repository and use the folder Biodata_v007_ESP32S3
I didn't go into your code deeply and there may be other issues, but this is how an interrupt works --

you need to declare the interrupt pin at the top of the code(in your case it is A0)
const byte interruptPin = A0; //galvanometer input

create the ISR function at the top of the code to read the pulse:
void sample(){
if(sampleIndex < samplesize) {
samples[sampleIndex] = micros() - microseconds;
microseconds = samples[sampleIndex] + microseconds; //rebuild micros() value w/o recalling
//micros() is very slow
//try a higher precision counter
//samples[index] = ((timer0_overflow_count << 8) + TCNT0) - microseconds;
sampleIndex += 1;
}
}

In Setup() you need to configure the pin and assign the ISR (interrupt routine):

pinMode(interruptPin, INPUT_PULLUP); //pulse input
//setup pulse input pin
attachInterrupt(interruptPin, sample, RISING);  //begin sampling from interrupt

Now the code should automatically respond to the 555 timer pulses on the interrupt pin ;)

@electricityforprogress I'll try it out this weekend.
And I know it's better to re-create the whole project, but time is not in my favor and I want the easiest (fastest) solution to just get the values.
In the slides found here on page 18 the orange jumper goes to the pin 12 of the Feather, is this for the ADC or is to read als gpio? I'm beginning to doubted everything for the moment.

Yes pin 12 is used as the interrupt input. It is defined in one of the main files of the program. This goes from pin 3 output of the 555 timer into your main MCU.
You will need to invest time to understand what you're doing, believe me it only takes a few minutes or a few hours or a few days, but you'll get it. Don't undercut your time involved and invested to produce something challenging. Follow the steps that are laid out before you, and once you truly understand what's going on then you should make changes.

@ooktown @electricityforprogress
Well I totally agree of course with the mindset. And this is what I am doing for the last couple of weeks.
So definitely don't get me wrong, and I'm trying.
Yesterday evening I re-wrote everything and got results that made more sense.
But when I touched the sensor pads, the data flow stops. And when I touch it again, it starts again. But not consistently.
When I touch the blue wire (image below) it starts and stops, when I touch the yellow wire it starts (doesn't stop), when touching both or hanging them on a mushroom, it stops again.
So something is still wrong with the code?
So I think that the data scale is too big, and it can't average any more and freezes?
So I added a "debouncing" piece of code. But still doesn't resolve the issue.
I'm trying to search other platforms for solution, but because it's very specific in this project, I'm not finding answers.
I even asked ChatGPT 😅
`#include <Arduino.h>
// Pin Definitions
const byte interruptPin = 15; // D5 On Wemos D1 mini
// Sample Data
volatile unsigned long microseconds;
volatile byte sampleIndex = 0;
const byte samplesize = 10; // size of sample
volatile unsigned long samples[samplesize];
void handleInterrupt() {
unsigned long currentMicros = micros();
unsigned long sampleValue = currentMicros - microseconds;
microseconds = currentMicros;
// 'debouncing': ignore extreme values
if (sampleValue < 100000) { // ignore value
    samples[sampleIndex] = sampleValue;
    if (++sampleIndex >= samplesize) {
        sampleIndex = 0;
        digitalWrite(LED_BUILTIN, HIGH);
    }
}

}
void analyseSample() {
unsigned long maxSample = 0;
unsigned long minSample = ~0ul; // use ~0ul as replacement ULONG_MAX
unsigned long sumSamples = 0;
for (byte i = 0; i < samplesize; i++) {
    sumSamples += samples[i];
    if (samples[i] > maxSample) maxSample = samples[i];
    if (samples[i] < minSample) minSample = samples[i];
}

unsigned long avg = sumSamples / samplesize;
unsigned long range = maxSample - minSample;

Serial.print("Gemiddelde: "); Serial.println(avg); // average
Serial.print("Maxima: "); Serial.println(maxSample); // max sample
Serial.print("Minima: "); Serial.println(minSample); // min sample
Serial.print("Bereik: "); Serial.println(range); // range

}
void setup() {
pinMode(interruptPin, INPUT_PULLUP);
pinMode(LED_BUILTIN, OUTPUT); // Response
attachInterrupt(digitalPinToInterrupt(interruptPin), handleInterrupt, RISING);
Serial.begin(115200);
while (!Serial); // Wait serial
Serial.println("Interrupt Sample Reader started");

}
void loop() {
if (digitalRead(LED_BUILTIN) == HIGH) {
analyseSample();
digitalWrite(LED_BUILTIN, LOW);
}
}
`
OUTPUT:
Gemiddelde = Average
Maxima = Max
Minima = Min
Bereik = Range
Gemiddelde: 125 Maxima: 282 Minima: 91 Bereik: 191 Gemiddelde: 87619 Maxima: 870502 Minima: 89 Bereik: 870413 Gemiddelde: 36 Maxima: 180 Minima: 6 Bereik: 174 Gemiddelde: 255 Maxima: 1133 Minima: 82 Bereik: 1051 Gemiddelde: 13 Maxima: 34 Minima: 6 Bereik: 28 Gemiddelde: 152 Maxima: 576 Minima: 6 Bereik: 570 Gemiddelde: 79 Maxima: 148 Minima: 29 Bereik: 119 Gemiddelde: 139688 Maxima: 1389750 Minima: 29 Bereik: 1389721 Gemiddelde: 52 Maxima: 128 Minima: 11 Bereik: 117 Gemiddelde: 41 Maxima: 140 Minima: 6 Bereik: 134 Gemiddelde: 138 Maxima: 328 Minima: 6 Bereik: 322 Gemiddelde: 1731 Maxima: 9942 Minima: 88 Bereik: 9854 Gemiddelde: 46 Maxima: 99 Minima: 7 Bereik: 92 Gemiddelde: 11 Maxima: 20 Minima: 5 Bereik: 15 Gemiddelde: 1627 Maxima: 9445 Minima: 5 Bereik: 9440 Gemiddelde: 23 Maxima: 42 Minima: 6 Bereik: 36 Gemiddelde: 1724 Maxima: 9876 Minima: 27 Bereik: 9849 Gemiddelde: 19 Maxima: 48 Minima: 6 Bereik: 42 Gemiddelde: 85 Maxima: 281 Minima: 6 Bereik: 275 Gemiddelde: 95 Maxima: 106 Minima: 77 Bereik: 29 Gemiddelde: 1233661 Maxima: 12331189 Minima: 7 Bereik: 12331182 Gemiddelde: 155 Maxima: 755 Minima: 6 Bereik: 749 Gemiddelde: 1197 Maxima: 10458 Minima: 82 Bereik: 10376 Gemiddelde: 34 Maxima: 236 Minima: 6 Bereik: 230 Gemiddelde: 223 Maxima: 859 Minima: 7 Bereik: 852 Gemiddelde: 110 Maxima: 185 Minima: 85 Bereik: 100 Gemiddelde: 66 Maxima: 238 Minima: 6 Bereik: 232 Gemiddelde: 39
The output wires here like the slides show on the tutorial on the website

I'm am excited that you are putting so much effort into this project and I want you to succeed.  But you must understand that I am sorry that i am not going to debug your personal version of the code, and certainly not some GPT based code (deep sadness from an educator).  From my review this morning, it looks like the code will run, and as you report your code does run but doesn't give you the results you want, so i dunno.
** You really should get the original code working first, and after that start to make your changes.  Load the original code based on your current build, you dont need the other LEDs if that's what you are avoiding.

Build the circuit per the instruction PDF
Ensure the 555 timer circuit is working before you try to connect to your arduino !!!!~! this is a step you are skipping
'Add' blocks to the original code and try to get your desired outcomes

I think the only thing you need to do is take the original code, set 'rawSerial' = 1, upload and turn on the serial monitor to see the raw data values.
You need to find a local friend or Maker Arts Space where you can get direct assistance with your project.
just to be clear, this isn't an Issue with the codebase in github, rather this is a student question in an inappropriate forum.
Good luck with your project, try to rebuild it two or three more times (i'm serious) and you will get there
Issue CLOSED

CLOSED

For the record, I did and still trying it on myself. I said I only used GPT to try to figure out what's wrong. Thanks for the advice though.


BlackBoxBoundedContext improvements

In this PR we provide a number of enhancements for the BlackBoxBoundeddContext API:

The Truth API is updated to version 1.0.
Custom Subjects now expose the actual() method in order to allow users to build more complex verifications, for example, to test metadata of dispatched signals.

@armiol, PTAL.

@armiol, PTAL again.

@dmdashenkov @dmitrykuzmin please settle down on the conflicts. We need 1.0.2 to release the Bootstrap in 1.0.2.


Allow Child NetworkBehaviours

considerations from discord for future reference:

imer: GetComponentsInChildren order not deterministic? https://stackoverflow.com/questions/42375242/unity-getcomponentsinchildrent-return-order
don't allow runtime removal/adding. just like before.
MrG: will also need to decide if we includeInactive and when adding a NB to any object we'll need to search the parent and up for an NI to be present before adding one to that object

closing because duplicate: https://github.com/MirrorNetworking/Mirror/issues/2276


Laravel 5.4 Upgrade

Applied changes per the Laravel 5.3 -> 5.4 upgrade guide.
Might be worth merging<EMAIL_ADDRESS>in to cnvs/canvas so that it is more up-to-date, and would most likely make the upgrade to 5.5 easier. See https://github.com/laravel/laravel/compare/5.3...5.4
See related internal PR in cnvs/easel#166.

@glennmcewan Closing this because the newest version of Canvas will support Laravel 5.7.


Fix corner case when persisted events are deleted

This is a regression of the case already fixed in https://github.com/dnvriend/akka-persistence-inmemory/pull/1

Thanks for your contribution! I have added a test for this case.

:+1:


problems with panels bought in 2018 december

hi
it seems something wrong in "new" panels 64x32
i bought first series of panels from a seller and no one works fine : random pixel on - no images - no text.
pattern test and pixeltime both not working.
i made about 10 building changing cables, panels, d1.mini and nodemcu.
i changed all possibily software setup (zigzag, line, 1/16 etc etc) . no luck
i think that new panel series, after 2018 october, changed in something, so them do not work with the available (oct 2018) pxmatrix library.
i sent a my panels to a user that has a panel that works fine and confirm to me than they do no work.
i saw other users complain about the same problem.
today were delivered panels form other seller : same problem.
any help ?

Have you ensured that there is a proper ground connection between ESP and panel? It may also be a timing issue..

yes, i had.
anyhow the ground between power supply of panel and all ground pins of all connector are electrically connected together. so I do not think that's the problem. however i tried to connect ground of power supply to ground of nodemcu. same problem.
the same sketch works fine on 64x64 panels. there are same wiring connection.
please note i'm not only maker that complain about this problem : all last messages of last makers.
the makers before october does not have this trouble.
really very strange.
p.s. i removed some flickering problems using a prototype pcboard made with my cnc. this means that wiring connection must be as short as possible.

you could try reducing the SPI speed in the library...

SPI.setFrequency(20000000);
this one ?

yes ... that's the one. The 20 MHz might be too much...

I will try and let you know. now I do not have the 32 panel at hand.
many thanks for your support.

tried
SPI.setFrequency(20000000)
SPI.setFrequency(2000000)
SPI.setFrequency(10000000)
SPI.setFrequency(1000000)
SPI.setFrequency(100000)
SPI.setFrequency(40000000)
SPI.setFrequency(4000000)
unlucky tests.
in SPI.setFrequency(1000000) brightness is low

I have the same problem with panels 64x32 ordered 11 dec from sryled display
https://www.aliexpress.com/item/P3-RGB-pixel-panel-HD-display-64x32-dot-matrix-p3-smd-rgb-led-module/32728985432.html
2 panels 3 nodemcu, 2 power supplies all the same, even pattern test not work as expected.

this is a half confirm that something changed in new panels :-(

Ok ... could you upload a picture how it looks like?

this is my "effect"

what is it supposed to show?

pixeltime.ino

which part? The weather icons and the color bars?

This is my random effect from pattern test Sometimes the upper line is white sometimes yellow but newer is going to the end of panel. Always some parts are black
From: Dominic Buchstaller<EMAIL_ADDRESS>Sent: Saturday, December 29, 2018 10:18 PM
To: 2dom/PxMatrix<EMAIL_ADDRESS>Cc: houk001<EMAIL_ADDRESS>Comment<EMAIL_ADDRESS>Subject: Re: [2dom/PxMatrix] problems with panels bought in 2018 december (#53)
Ok ... could you upload a picture how it looks like?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/2dom/PxMatrix/issues/53#issuecomment-450520723 , or mute the thread https://github.com/notifications/unsubscribe-auth/ARjJlqS3bJJJopj8DYeZMicoZDOQ1r8_ks5u99v9gaJpZM4ZgXEY .  https://github.com/notifications/beacon/ARjJlvnecCyGNjF6rn9J3NPvATAp7M8Fks5u99v9gaJpZM4ZgXEY.gif

i take the sketch pixeltime as is,
i changed only
PxMATRIX display(64,32,P_LAT, P_OE,P_A,P_B,P_C,P_D,P_E);
and
display.begin(16);

Could you generate a video with the pattern test?

this is the pattern_test.ino with same needed changes

I need a video with one full cycle - red,yellow, white

i make video but NO CIRCLE ... all pixels are stopped

in ten minutes i make a video with 64x64 e 64x32.

For me pixels are moving line by line
Now it look like this:
https://cloud.hawke.pl/index.php/s/xpap2SQmJkgzaQ5
From: fotosettore<EMAIL_ADDRESS>Sent: Saturday, December 29, 2018 11:09 PM
To: 2dom/PxMatrix<EMAIL_ADDRESS>Cc: houk001<EMAIL_ADDRESS>Comment<EMAIL_ADDRESS>Subject: Re: [2dom/PxMatrix] problems with panels bought in 2018 december (#53)
i make video but NO CIRCLE ... all pixels are stopped
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/2dom/PxMatrix/issues/53#issuecomment-450523636 , or mute the thread https://github.com/notifications/unsubscribe-auth/ARjJlhH2IurJf9ImD5U6KAO3zusT5yT2ks5u9-f7gaJpZM4ZgXEY .  https://github.com/notifications/beacon/ARjJlo0ivWloYEA_HbLj1_aaQZSYWLrpks5u9-f7gaJpZM4ZgXEY.gif

There is a movement in your video to. Line after some time go down by one pixel. On my both panels is go the same.
I waited some time and red line goes to the half of size o panel and go up to the first line again.
Second blue line goes to the bottom of panel and goes up to the half of display again.
No other movement on panel.

Like this

@fotosettore ok thanks ... that does not make much sense.
Just a wild guess that either the latch or the output enable signal hast changed from activt low to active high or vice versa. Lets start with OE - could you try running the pattern test and modifying the latch function to this?
void PxMATRIX::latch(uint16_t show_time )
{

  digitalWrite(_LATCH_PIN,HIGH);
  digitalWrite(_LATCH_PIN,LOW);

  digitalWrite(_OE_PIN,HIGH);
  delayMicroseconds(show_time);
  digitalWrite(_OE_PIN,LOW);
}

of course ... i try in few minutes

New video uploaded to cloud.

@houk001 sorry ... cannot watch your videos ... loading forever :(

more lines of led on but does not works
do you need a pic ?

Download it and then watch. VLC or similar is working

ok ... lets try changing the latch pin polarity
void PxMATRIX::latch(uint16_t show_time )
{

  digitalWrite(_LATCH_PIN,LOW);
  digitalWrite(_LATCH_PIN,HIGH);

  digitalWrite(_OE_PIN,LOW);
  delayMicroseconds(show_time);
  digitalWrite(_OE_PIN,HIGH);
}

now ... "half" works :-))
it needs video
please wait

Some progress :DDD video uploaded

@houk001 Still cannot watch those videos ... download times 10min+

void PxMATRIX::latch(uint16_t show_time )
{
digitalWrite(_LATCH_PIN,LOW);
digitalWrite(_LATCH_PIN,HIGH);
digitalWrite(_OE_PIN,LOW);
delayMicroseconds(show_time);
digitalWrite(_OE_PIN,HIGH);
}
made this effect:
http://www.homoandroidus.com/github/pxmatrix/VID-20181230-WA0001.mp4

https://youtu.be/fZrK874I-EU

Try
void PxMATRIX::latch(uint16_t show_time )
{
digitalWrite(_LATCH_PIN,LOW);
digitalWrite(_LATCH_PIN,HIGH);
delayMicroseconds(10);
digitalWrite(_OE_PIN,LOW);
delayMicroseconds(show_time);
digitalWrite(_OE_PIN,HIGH);
delayMicroseconds(10);
}

@houk001 Great ... that works! Very colorful :)

no changes with last void

Yes, no change with delays

A step back with first high. No more animated right to left movement.

ok then ... another day. Cheers!

thanks for your support.
now problems is emerged i hope it will be solved .
have a nice night

Thanks from me too, i think that we are close to success :D

Could you try
void PxMATRIX::latch(uint16_t show_time )
{
delayMicroseconds(100);
digitalWrite(_LATCH_PIN,LOW);
digitalWrite(_LATCH_PIN,HIGH);
delayMicroseconds(10);
digitalWrite(_OE_PIN,LOW);
delayMicroseconds(show_time);
digitalWrite(_OE_PIN,HIGH);
delayMicroseconds(10);
}

Of course, this is result
https://youtu.be/pdtLYMSmJeY
first line goes only for half of the width but second goes better. on the end display goes black because of power supply 5v 3A that detect overload, I'm waiting for tomorrow to buy more powerful :)

no change for me too.
lines ok but other pixels low brightess
same result of http://www.homoandroidus.com/github/pxmatrix/VID-20181230-WA0001.mp4

With the latch and OE changes above mine is blank or has a few random lights for about 30 seconds then starts cycling and looks almost right, but after each complete cycle it moves down the page one line and there is ghosting.  I believe I have good grounding.  The E pin connection seems ambiguous, it is not grounded on the board yet is not driven by pxmatrix I think.  I have it floating currently.  Another clue noticed by others is that the chips along the edge changed from FM6124 to FM6126A and the supplier indicates the board is "upgraded".   But looking for FM6126A, a IR remote chip comes up so not sure what the change really is.  Mine has the FM6126A and I got it in December.

@bribur That comment was very helpful ... I think FM6126A has a bit more logic build in ... will investigate ...
FM6124.pdf
FM6126A.pdf

I also have FM6126A chip.

Aparently the 6126A needs tree clock edges during latch ... can someone try this ?
void PxMATRIX::latch(uint16_t show_time )
{
  //digitalWrite(_OE_PIN,0); // <<< remove this
  digitalWrite(_LATCH_PIN,HIGH);
  digitalWrite(SPI_BUS_CLK,LOW);
  for (uint8_t latch_count=0; latch_count<3; latch_count++)
  {
    digitalWrite(SPI_BUS_CLK,HIGH);
    delayMicroseconds(1);
    digitalWrite(SPI_BUS_CLK,LOW);
    delayMicroseconds(1);
  }
  digitalWrite(_LATCH_PIN,LOW);
  digitalWrite(_OE_PIN,0); //<<<< insert this
  delayMicroseconds(show_time);
  digitalWrite(_OE_PIN,1);
}

Only static display after this change, Random effect after reset.

Reversed latch pin polarity ... can you try again ?
void PxMATRIX::latch(uint16_t show_time )
{
  //digitalWrite(_OE_PIN,0); // <<< remove this
  digitalWrite(_LATCH_PIN,LOW);
  digitalWrite(SPI_BUS_CLK,LOW);
  for (uint8_t latch_count=0; latch_count<3; latch_count++)
  {
    digitalWrite(SPI_BUS_CLK,HIGH);
    delayMicroseconds(1);
    digitalWrite(SPI_BUS_CLK,LOW);
    delayMicroseconds(1);
  }
  digitalWrite(_LATCH_PIN,HIGH);
  digitalWrite(_OE_PIN,0); //<<<< insert this
  delayMicroseconds(show_time);
  digitalWrite(_OE_PIN,1);
}

https://youtu.be/3-5ALrJa6JA Now it working like this :D

can you run the pixeltime example and see how it looks?

Changed in pixeltime
PxMATRIX display(64,32,P_LAT, P_OE,P_A,P_B,P_C,P_D,P_E);
and in setup
display.begin(16);
Result https://youtu.be/L9G4oel-X-g

https://pastebin.com/cq45nD9e

Tried all 3 LINE, ZIGZAG, ZAGGIZ and no success.

Can you comment out setFastUpdate(true) through the sketch?

I only find one in setup.
After comment it look like this

Ugh this is frustrating.. 2 out of 3 panels arrived damaged.
This is the last shipment. :(  sometimes I hate the post office.

 Mine usually come in 5 tonnes of bubble wrap.
Did you have time to look into the code again?

throwing around in post I guess. I managed to fix it for now.
I am waiting for 2 china packages, then I will continue again.

Here is the code to fix the newer panels with an Arduino: http://bobdavis321.blogspot.com/2019/02/p3-64x32-hub75e-led-matrix-panels-with.html

Hi There,
I purchased a 64x32 panel off Amazon.co.uk the other day - and after hours of research I came across this post, and mine is indeed the FM6126A variety!
I finally managed to get it to work... (I was originally going to post saying it's still not working me, but my 10A power supply was actually outputting 5.20 volts from when I had previously used it on my Pi (to get rid of the lightning bolt icon that appears)) and apparently, the extra voltage screws up the clock or something.  Only when I dialled it in to 5v exactly did it finally work!
That being said, I still have an issue, and wanted to ask if anyone knew if this was a fault with the display or if I need an additional step in my code.  Here is my results of displaying a picture (It's easier to see the problem this way):

The top left quarter is not as bright as the rest of the display :(
Have I missed a step out code wise, of is this potentially a defective matrix?
Kind regards

That one panel is not properly reset.

That one panel is not properly reset.

How do I ensure it resets properly.  When I looked at this again this morning, when I first powered it up, the pixel area had "Changed location"..... in other words, the dim area seen in the pic were now bright and correct, and instead a different area was dim.  Nothing changed, I didn't change or reupload code, I simply plugged it back in to look again and noticed different parts weren't working this time.
these new FM6126A based ones seem to be a real PITA :(

Check your grounds, you might have too much current resulting is a voltage loss and data not being sent properly.  Also I hope you have at least two power supplies capable of 10 amps to run that many panels.

Check your grounds, you might have too much current resulting is a voltage loss and data not being sent properly. Also I hope you have at least two power supplies capable of 10 amps to run that many panels.

I've already checked my grounds, they're fine (so far as I can tell).  Voltage is still 5.0v even when all powered up.  Power Supply is a 5v 10a supply.
Also, it's just one panel - it's a single "64x32" panel.

@IAmOrion
Can you please send me the Sketch what you used.
Thanks

Are you using an Arduino or a Raspberry Pi?  The Arduino code is on my blog
at bobdavis321.blogspot.com
On Wed, Apr 17, 2019 at 5:45 AM Robi<EMAIL_ADDRESS>wrote:

@IAmOrion https://github.com/IAmOrion
Can you please send me the Sketch what you used.
Thanks
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/2dom/PxMatrix/issues/53#issuecomment-484015010, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AjlVgqXLGJUzn5Uv93YckcsfO_Cx56Oaks5vhu05gaJpZM4ZgXEY
.

@IAmOrion
Can you please send me the Sketch what you used.
Thanks

@Robiv8 Attached
32x64_LED_Matrix_Demo.zip

Thank you bobdavis and also IAmOrion

i have this error wenn compile
Whats wrong?

32x64_LED_Matrix_Demo:189:25: error: 'FM6126A' was not declared in this scope
display.setDriverChip(FM6126A); // THIS IS THE IMPORTANT LINE FOR GETTING MATRIXES WITH THE FM6126A CHIP WORKING!!!
^
exit status 1
'class PxMATRIX' has no member named 'setDriverChip'

the command display.setBrightness seems not working in the example "32x64_LED_Matrix_Demo.zip"

the command display.setBrightness seems not working in the example "32x64_LED_Matrix_Demo.zip"

My sketch doesn't even have display.setBrightness in it!!  Can you screenshot your error please?
Also, are you using the PxMatrix library downloaded here (via Github)? The one in the IDE is outdated

no error ... simply it does not work !
display.setBrightness(10) or display.setBrightness(255) has no effect.
in the "normal" panels (not FM6126A) the command works fine.
The library was download here

no error ... simply it does not work !
display.setBrightness(10) or display.setBrightness(255) has no effect.
in the "normal" panels (not FM6126A) the command works fine.
The library was download here

I'm still confused - You're talking about the zip file I uploaded in this post (https://github.com/2dom/PxMatrix/issues/53#issuecomment-484253208) right?
That's specifically for the FM6126A - although to be honest, you only really need to comment out this line: display.setDriverChip(FM6126A); and it should work for any.
I have to repeat though - no where in my Sketch do I use "display.setBrightness" - but it is apart of the PxMatrix.h file in the library:
// Set the brightness of the panels
inline void setBrightness(uint8_t brightness);
Since my demo sketch does NOT use display.setBrightness anywhere - I have to ask again, where you are seeing this? - Or do you mean, you have ADDED some code to my demo/example, and YOU added the setBrightness, but it's not having any effect?? If that's the case, you should perhaps open a new Issue with the PxMatrix library itself as it's nothing to do with my code

i downloaded your example of #53 and it works fine togheter FM6126A and ICN2037
in ICN, if i put command display.setBrightness it works fine
in FM does not work
the library is the same. i changed only panel
display.setBrightness is inside pxmatrix of domenic

i downloaded your example of #53 and it works fine togheter FM6126A and ICN2037
in ICN, if i put command display.setBrightness it works fine
in FM does not work
the library is the same. i changed only panel
display.setBrightness is inside pxmatrix of domenic
asap i will post a example video

Right, Now I understand - you'll need to create a new issue and query the creator of PxMatrix - I assume it's something to do with the FM6126A chips that perhaps doesn't use the setBrightness function.

Use ESP32 for best results with these panels and set display.setDriverChip(FM6124);


Replace local semihosting functions with clib

This might collide with I/O retargeting and other issues. Hence keeping the local semihosting implementation.


Zod: Doesn't create Array only Object

What are the steps to reproduce this issue?
type: array
items:
  type: object
  properties:
    day:
      $ref: ../../_types/day.yaml
    intervals:
      type: array
      items:
        $ref: ../../_types/interval.yaml

  required:
    - day
    - intervals

What happens?
It doesn't create the zod definition, only if it start with object.
What were you expecting to happen?
to create the zod object:
export const test= zod.array({
  ...
});

@sirtimbly @yusuken1983 another Zod array related issue to the others you have reported.

@jamalsoueidan is this still an issue with 6.28.2 ?

I don't believe, I will close it :)


Remove already watched videos from recommendations.

I have a trouble with the service. Videos that I’ve already watched stay in the General section and confusing me sometimes (because there is no any sign (like bottom red line in YouTube) about this content is already watched). It would be nice if watched videos would be removed from recommendations. And, yeah, add something about red line at the bottom for watched videos. Thanks.

These are your followed list of content, not recommendations. We will be working on a watch history feature in the next couple of months, and recommendations are also coming (which take into account watched history). https://github.com/OdyseeTeam/odysee-frontend/issues/168


MSBuild not found during build scripts

Describe the bug
A partner at the Berlin Hack tried to extend BuildAppx method to build for HL2. However, BuildAppxAsync throws an error when trying to find MSBuild.exe:

The problem is probably that the methods expects to find the MSBuild.exe in a directory that ends with \MSBuild\15.0\Bin\MSBuild.exe but MSBuild cannot be found at this locaton for there VS Installation.
Expected Behaviour
The build should find MSBuild independent of where it is located in your VS installation.

Resolved by https://github.com/microsoft/MixedRealityToolkit-Unity/pull/5415, which was submitted on behalf of @julianloehr-kg


Move some Groovy classes to Java.

This commit is intended as the beginning of a discussion on how we can
successfully migrate Groovy code to Java. Leveraging Lombok to generate
bytecode similar to the bytecode generated by the Groovy compiler for
example.

This change is

Coverage decreased (-0.03%) to 64.085% when pulling 88e23e2384c0242b225a0d22153a2ed6904af9df on remoting-shared-java into d2503bdf5932ed5153674384e371e0099700dd92 on master.

Review status: 0 of 14 files reviewed at latest revision, 1 unresolved discussion, some commit checks failed.

remoting/dolphin-remoting-shared/src/main/groovy/org/opendolphin/binding/Binder.groovy, line 26 [r1] (raw file):

import java.beans.PropertyChangeEvent
import java.beans.PropertyChangeListener
import java.util.function.Function

We can't use Function here since shared is used in client & server. The server is still based on Java 7

Comments from Reviewable

Reviewed 1 of 20 files at r1.
Review status: 1 of 14 files reviewed at latest revision, 1 unresolved discussion, some commit checks failed.

remoting/dolphin-remoting-shared/src/main/groovy/org/opendolphin/binding/Binder.groovy, line 26 [r1] (raw file):
Previously, hendrikebbers (Hendrik Ebbers) wrote…
> We can't use Function here since shared is used in client & server. The server is still based on Java 7

Indeed. A better fix would be to remove the usage of  the `Closure` completely, with an appropriate functional interface equivalent that's specific to the remoting layer, thus no dependencies to Java8

Comments from Reviewable

Review status: 1 of 14 files reviewed at latest revision, 1 unresolved discussion, some commit checks failed.

remoting/dolphin-remoting-shared/src/main/groovy/org/opendolphin/binding/Binder.groovy, line 26 [r1] (raw file):
Previously, aalmiray (Andres Almiray) wrote…
> Indeed. A better fix would be to remove the usage of  the `Closure` completely, with an appropriate functional interface equivalent that's specific to the remoting layer, thus no dependencies to Java8

Yes, I did the same for DP:
https://github.com/canoo/dolphin-platform/blob/d2503bdf5932ed5153674384e371e0099700dd92/platform/dolphin-platform-core/src/main/java/com/canoo/dolphin/util/Callback.java

Comments from Reviewable

Reviewed 19 of 20 files at r1.
Review status: all files reviewed at latest revision, 1 unresolved discussion, some commit checks failed.

remoting/dolphin-remoting-shared/src/main/groovy/org/opendolphin/binding/Binder.groovy, line 26 [r1] (raw file):
Previously, hendrikebbers (Hendrik Ebbers) wrote…
> Yes, I did the same for DP:
> https://github.com/canoo/dolphin-platform/blob/d2503bdf5932ed5153674384e371e0099700dd92/platform/dolphin-platform-core/src/main/java/com/canoo/dolphin/util/Callback.java
>
>

which means this PR cannot be approved before this is changed

Comments from Reviewable

This commit does not work on Java7

Review status: all files reviewed at latest revision, 1 unresolved discussion, some commit checks failed.

Comments from Reviewable

Review status: all files reviewed at latest revision, 1 unresolved discussion, some commit checks failed.

remoting/dolphin-remoting-shared/src/main/groovy/org/opendolphin/binding/Binder.groovy, line 26 [r1] (raw file):
Previously, blackdrag (Jochen Theodorou) wrote…
> which means this PR cannot be approved before this is changed

yes. This PR should not be part of the next release. I think the best will be a Callback interface in one of our core modules that simply can be used by all other modules.

Comments from Reviewable

I think we can close this since it will not be merged


Tags UI should highlight tags

The current tag UI is very basic for picking tags. While the search popup is nice, once a tag is selected it just goes into a textbox as a series of comma-separated values. It's kind of annoying to remove tags this way, and it would nice if the tags were shown in a style similar to Select2's. It would also remove the need for a separator character in the tag list.

I think this issue can be closed.

I am out of the office until 05.02.2015.
In dringenden F�llen, kontaktieren Sie bitte
ErwinTratargebitde oder
TomKraussgebitde.
Note: This is an automated response to your message  "Re: [mamute] Tags UI
should highlight tags (#94)" sent on 04.02.2015 16:16:08.
This is the only notification you will receive while this person is away.

Sorry for taking so long to close this! Closing now, thanks @monitorjbl!


fix windows tests

@gouthamve this fixes all tests under windows , tested locally.
So can merge and test with travis again in https://github.com/prometheus/tsdb/pull/420
Signed-off-by: Krasi Georgiev<EMAIL_ADDRESS>

👍


Add survey/feedback (built-in to site?)

In our discussion with Neil today, Schuyler and I realized that to develop an effective website for humanitarians, we need humanitarians' feedback.
So the idea is to send a link to our website to humanitarians via Neil and co., which will have a survey. This will provide us with a stream of constant feedback

tbh, I think the best move for this for now is to link to Google Surveys


[Hub] Servers don't display player count

Describe the bug
In the hub the holograms don't display the amount of players on the servers, just a "?"
To Reproduce
Steps to reproduce the behavior:

Login to the hub
Look at server holograms

Expected behavior
An actual player count to be displayed
Screenshots

Server name (all applicable):
Hub

Now working, thank you!


Feature/refactoring separated files code

Refactoring the code to reduce duplicated code for how files are separated, as discussed in PR #142. The code have been refactored to not change the underlying renderFile method. This PR expect #142 to be merged before this one since some code conflicts might occur.

Hey @jonaslagoni. Feel free to do it here, I think it's related enough. Thanks mate!

Gonna need to recreate the PR, deleted the fork :man_facepalming:


Sign up for Gabriel Patron

Signing up!

Had some trouble with Mac login, would like to discuss further tomorrow with cohort.


Syntax error on trait fns with destructured args

Trait functions with destructured arguments do not parse successfully.
The double-deref example is mentioned here, so apologies if this is a known issue.
Running in VS Code, built from commit ea0ee8e5bf99bb491875a3539ffdcb39eb0b5397.

It looks like the problem is within params::param_list_opt_patterns - because trait functions are parsed as having optional parameter bindings.
The parser looks ahead by 4 tokens for one of the following sequences before parsing a pattern:

_:
foo:
mut foo:
&foo:
&mut foo:

Anything else, and it will just attempt to parse a type.
To detect anything more complex, it looks as though it needs to perform something close to the actual pattern::pattern(...) routine, but on encountering an error, backtracking and parsing just as a type instead.
I haven't seen any other examples of backtracking/"retrying" in this fashion, although I'm not too familiar with the project as a whole.

Lol, TIL that my first Rust RFC is actually implemented: https://github.com/rust-lang/rfcs/pull/1685
How could I have missed that?
I think the best thing to do would be to support only 2018 edition and always parse patterns in arguments as required, removing the old lookahead special case.

Okay - does rust-analyzer generally not support 2015, or is it an just an acceptable lack of coverage in this case?
I'd be happy to put up a PR in the next day or so for this.

For now, we target 2018, and 2015 where it's not too hard to support. Long
term, of course, we need to support all editions.


V1.3.8 fixes

Codecov Report

Merging #462 into master will increase coverage by 0.06%.
The diff coverage is 48.78%.

@@            Coverage Diff             @@
##           master     #462      +/-   ##
==========================================
+ Coverage   64.31%   64.38%   +0.06%
==========================================
  Files          13       14       +1
  Lines       29769    29675      -94
  Branches      148      153       +5
==========================================
- Hits        19147    19107      -40
+ Misses      10540    10482      -58
- Partials       82       86       +4

Impacted Files
Coverage Δ

modules/index.ts
50% <100%> (ø)
:arrow_up:

modules/core/providers/drag-provider.ts
44.11% <44.11%> (ø)

modules/components/tag-input/tag-input.ts
74.63% <60%> (+0.7%)
:arrow_up:

spec-bundle.js
64.22% <0%> (+0.08%)
:arrow_up:

Continue to review full report at Codecov.

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


CONTRIBUTING.md: Instruction on signing the GitHub CLA now obsolete?

In CONTRIBUTING.md, the following paragraph, originally written in 2015, seems outdated:

We will also require you to sign the [GitHub Contributor License Agreement](https://cla.github.com/)
after you submit your first pull request to this project. The link to sign the
agreement will be presented to you in the web interface of the pull request.

But https://cla.github.com/ now shows a 404 page, and there is no link to sign the CLA on the pull request web page.
I then found a similar issue at github/choosealicense.com#576
Thanks!

Thank you!


:use in namespace does nothing

This code runs correctly:
(ns hello-world\boot)

(def app (php/new \Laravel\Lumen\Application "/home/mabasic/code/src/test/hello-world/"))

(php/-> app (run))

This code also runs correctly:
(ns hello-world\boot
    (:use \Laravel\Lumen\Application))

(def app (php/new \Laravel\Lumen\Application "/home/mabasic/code/src/test/hello-world/"))

(php/-> app (run))

What is the purpose of (:use \Laravel\Lumen\Application) if the file runs either way?
I was expected to get an exception or error if the php class was not included with :use in the file.
Update: Does (:use \Laravel\Lumen\Application) mean that I can reference that class by just using Application. If so, how can I alias it to something else? Also, how do I use a imported phel library? Did I miss that in the documentation?

Update: Does (:use \Laravel\Lumen\Application) mean that I can reference that class by just using Application.

Correct. You can just use Application now. You can also define an alias:
(ns hello-world\boot
  (:use \Laravel\Lumen\Application :as MyAlias))

Also, how do I use a imported phel library? Did I miss that in the documentation?

Instead of :use you need to use :require.
(ns hello-world\boot
  (:require hello-world\test))

# Call a function in test
(test/my-fn)

Alias is also supported
(ns hello-world\boot
  (:require hello-world\test :as something))

# Call a function in test
(something/my-fn)

The documentation definitely needs some update on this topic!

Thank you for explaining. On it :)


Improve documentation

The documentation could be improved:

[x] installation should be split in a landing page, plus:

one page for installation using packages,
one page for installation using spack,
one page for installation from source,

[ ] a page to document the type system,
[ ] a page should be created to explaini the attribute system,
[ ] a page should be created to replace the existing "Specification tree" page focusing more on the meaning and less on the grammar, the current page should be kept as a grammar ref. a format similar to https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions or https://docs.gitlab.com/ee/ci/yaml/ ,

marked the checklist item installation should be split in a landing page, plus: as completed


Wire HDD Not reading stored data correctly

Long Story Short, I noticed that random bits of data started to vanish and get jumbled in the Flash HDD.
It wrote correctly but didn't read correctly.
Problem was the GetFloatTable function attempts to read the data in 24 char chunks, but ended up getting misaligned.
The reason for the misalignment is line 117:
text = string.sub(text,24,string.len(text))
Two things, First no need to specify the end length. The sub function assumes that if it is nil.
Second the misalignment is caused because that 24 should be a 25.
An easy test to find the misalignment is just throw in a print(value) in the middle of that loop.
In other news Why is it all stored in text? Really?! Text?!

It's a limitation; Lua doesn't support unicode.

Regarding the fact its in text? If so I don't believe that is an issue anymore.
That sort of thing I believe was addressed back in the big filesystem update.
Which BTW, all the file functions Should specify the DATA directory.
Ex: file.read('FileName.txt','DATA')

Did I win?

You win the "report a bug and make people not want to fix it" award.

Thank god. I was worried something would be done about it.

"Killing spree!"
The expression2 file library is much better anyway. Why not use that?


lazyloading of rrule lib

remaining RRule constants in Utils.js..
that i don't know what's the best solution to use RRule constants without injectLazyLib... it's a Utils..

@sneridagh

@tiberiuichim could you please take a look?


Teams toolkit update - updated screenshots and minor text to reflect toolkit GA

Docs Build status updates of commit 33de0b4:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/assets/images/meeting-content-bubble/meeting-token-generator-otherpermissions2.png
:white_check_mark:Succeeded
View

msteams-platform/assets/images/meetings-side-panel/other-permissions2.png
:white_check_mark:Succeeded
View

msteams-platform/assets/images/meeting-token-generator/meeting-token-generator-otherpermissions2.png
:white_check_mark:Succeeded
View

msteams-platform/assets/images/teams-toolkit-v2/prerequisites/upload-custom-app.PNG
:white_check_mark:Succeeded
View

msteams-platform/assets/images/teams-toolkit-v2/spfx-custom-new.png
:white_check_mark:Succeeded
View

msteams-platform/sbs-gs-javascript.yml
:white_check_mark:Succeeded
View

msteams-platform/sbs-gs-spfx.yml
:white_check_mark:Succeeded
View

msteams-platform/sbs-meeting-content-bubble.yml
:white_check_mark:Succeeded
View

msteams-platform/sbs-meetings-sidepanel.yml
:white_check_mark:Succeeded
View

msteams-platform/sbs-meetings-stage-view.yml
:white_check_mark:Succeeded
View

msteams-platform/sbs-meeting-token-generator.yml
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/sbs-gs-javascript.yml
90
42
link
:white_check_mark:

msteams-platform/sbs-gs-spfx.yml
94
26
link
:white_check_mark:

msteams-platform/sbs-meeting-content-bubble.yml
83
32
link
:white_check_mark:

msteams-platform/sbs-meeting-token-generator.yml
88
37
link
:white_check_mark:

msteams-platform/sbs-meetings-sidepanel.yml
84
31
link
:white_check_mark:

msteams-platform/sbs-meetings-stage-view.yml
85
10
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

updated screenshots and text under the "Enable sideloading option" section
added note tag under "set up local environment" on how to prevent error of "file name too-long" error
included additional screenshot under section "Update the Azure AD app registration"
and other minor miscellaneous changes

@surbhigupta12 when you have a chance, would you mind reviewing? Thanks!

Docs Build status updates of commit cc4b97d:
:warning: Validation status: warnings

File
Status
Preview URL
Details

msteams-platform/sbs-gs-javascript.yml
:warning:Warning
View
Details

msteams-platform/sbs-meeting-content-bubble.yml
:warning:Warning
View
Details

msteams-platform/sbs-meetings-sidepanel.yml
:warning:Warning
View
Details

msteams-platform/assets/images/meeting-content-bubble/meeting-token-generator-otherpermissions2.png
:white_check_mark:Succeeded
View

msteams-platform/assets/images/meetings-side-panel/other-permissions2.png
:white_check_mark:Succeeded
View

msteams-platform/assets/images/meeting-token-generator/meeting-token-generator-otherpermissions2.png
:white_check_mark:Succeeded
View

msteams-platform/assets/images/teams-toolkit-v2/prerequisites/upload-custom-app.PNG
:white_check_mark:Succeeded
View

msteams-platform/assets/images/teams-toolkit-v2/spfx-custom-new.png
:white_check_mark:Succeeded
View

msteams-platform/sbs-gs-spfx.yml
:white_check_mark:Succeeded
View

msteams-platform/sbs-meetings-stage-view.yml
:white_check_mark:Succeeded
View

msteams-platform/sbs-meeting-token-generator.yml
:white_check_mark:Succeeded
View

msteams-platform/sbs-gs-javascript.yml

Line 209, Column 5: [Warning: file-not-found - See documentation] Invalid file link: '../msteams-platform/assets/images/teams-toolkit-v2/first-tab/preview-project.png'.

msteams-platform/sbs-meeting-content-bubble.yml

Line 93, Column 6: [Warning: file-not-found - See documentation] Invalid file link: '~/assets/images/meeting-content-bubble/newresource.png'.

msteams-platform/sbs-meetings-sidepanel.yml

Line 91, Column 7: [Warning: file-not-found - See documentation] Invalid file link: '~/assets/images/meetings-side-panel/newresource.png'.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/sbs-gs-javascript.yml
91
40
link
:white_check_mark:

msteams-platform/sbs-gs-spfx.yml
94
26
link
:white_check_mark:

msteams-platform/sbs-meeting-content-bubble.yml
83
32
link
:white_check_mark:

msteams-platform/sbs-meeting-token-generator.yml
88
37
link
:white_check_mark:

msteams-platform/sbs-meetings-sidepanel.yml
84
31
link
:white_check_mark:

msteams-platform/sbs-meetings-stage-view.yml
85
10
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Docs Build status updates of commit 4a03e9d:
:warning: Validation status: warnings

File
Status
Preview URL
Details

msteams-platform/sbs-botbuilder-linkunfurling.yml
:warning:Warning
View
Details

msteams-platform/sbs-file-handling-in-bot.yml
:warning:Warning
View
Details

msteams-platform/sbs-gs-javascript.yml
:warning:Warning
View
Details

msteams-platform/sbs-meeting-content-bubble.yml
:warning:Warning
View
Details

msteams-platform/sbs-meetings-sidepanel.yml
:warning:Warning
View
Details

msteams-platform/toolkit/add-capability.md
:warning:Warning
View
Details

msteams-platform/apps-in-teams-meetings/API-references.md
:white_check_mark:Succeeded
View

msteams-platform/apps-in-teams-meetings/design/designing-apps-in-meetings.md
:white_check_mark:Succeeded
View

msteams-platform/apps-in-teams-meetings/enable-and-configure-your-app-for-teams-meetings.md
:white_check_mark:Succeeded
View

msteams-platform/apps-in-teams-meetings/meeting-app-extensibility.md
:white_check_mark:Succeeded
View

msteams-platform/apps-in-teams-meetings/teams-apps-in-meetings.md
:white_check_mark:Succeeded
View

msteams-platform/apps-in-teams-meetings/teams-live-share-capabilities.md
:white_check_mark:Succeeded
View

msteams-platform/apps-in-teams-meetings/teams-live-share-faq.md
:white_check_mark:Succeeded
View

msteams-platform/apps-in-teams-meetings/teams-live-share-media-capabilities.md
:white_check_mark:Succeeded
View

msteams-platform/apps-in-teams-meetings/teams-live-share-overview.md
:white_check_mark:Succeeded
View

msteams-platform/apps-in-teams-meetings/teams-live-share-quick-start.md
:white_check_mark:Succeeded
View

msteams-platform/apps-in-teams-meetings/teams-live-share-tutorial.md
:white_check_mark:Succeeded
View

msteams-platform/apps-in-teams-meetings/teams-together-mode.md
:white_check_mark:Succeeded
View

msteams-platform/assets/images/adaptive-cards/new-client-secret.png
:white_check_mark:Succeeded
View

msteams-platform/assets/images/apps-in-meetings/in-meeting-dialog-anatomy.png
:white_check_mark:Succeeded
View

msteams-platform/assets/images/apps-in-meetings/in-meeting-tab-layout-do.png
:white_check_mark:Succeeded
View

msteams-platform/assets/images/authentication/SSO-bots-auth/open-id-permissions.png
:white_check_mark:Succeeded
View

msteams-platform/assets/images/authentication/SSO-bots-auth/open-id-permissions2.png
:white_check_mark:Succeeded
View

msteams-platform/assets/images/authentication/teams-sso-run-time.png
:white_check_mark:Succeeded
View

msteams-platform/assets/images/authentication/teams-sso-tabs/teams-sso-run-time.png
:white_check_mark:Succeeded
View

This comment lists only the first 25 files in the pull request.

msteams-platform/sbs-botbuilder-linkunfurling.yml

Line 88, Column 4: [Warning: file-not-found - See documentation] Invalid file link: '~/assets/images/meetings-side-panel/newresource.png'.

msteams-platform/sbs-file-handling-in-bot.yml

Line 85, Column 5: [Warning: file-not-found - See documentation] Invalid file link: '../msteams-platform/assets/images/teams-file-upload-bot/newresource.png'.

msteams-platform/sbs-gs-javascript.yml

Line 209, Column 5: [Warning: file-not-found - See documentation] Invalid file link: '../msteams-platform/assets/images/teams-toolkit-v2/first-tab/preview-project.png'.

msteams-platform/sbs-meeting-content-bubble.yml

Line 93, Column 6: [Warning: file-not-found - See documentation] Invalid file link: '~/assets/images/meeting-content-bubble/newresource.png'.

msteams-platform/sbs-meetings-sidepanel.yml

Line 91, Column 7: [Warning: file-not-found - See documentation] Invalid file link: '~/assets/images/meetings-side-panel/newresource.png'.

msteams-platform/toolkit/add-capability.md

Line 59, Column 8: [Warning: file-not-found - See documentation] Invalid file link: '~/assets/images/teams-toolkit-v2/manual/Teams-add-features.png'.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/apps-in-teams-meetings/API-references.md
89
35
link
:white_check_mark:

msteams-platform/apps-in-teams-meetings/design/designing-apps-in-meetings.md
93
15
link
:white_check_mark:

msteams-platform/apps-in-teams-meetings/enable-and-configure-your-app-for-teams-meetings.md
97
3
link
:white_check_mark:

msteams-platform/apps-in-teams-meetings/meeting-app-extensibility.md
98
7
link
:white_check_mark:

msteams-platform/apps-in-teams-meetings/teams-apps-in-meetings.md
100
0
link
:white_check_mark:

msteams-platform/apps-in-teams-meetings/teams-live-share-capabilities.md
90
7
link
:white_check_mark:

msteams-platform/apps-in-teams-meetings/teams-live-share-faq.md
95
2
link
:white_check_mark:

msteams-platform/apps-in-teams-meetings/teams-live-share-media-capabilities.md
93
4
link
:white_check_mark:

msteams-platform/apps-in-teams-meetings/teams-live-share-overview.md
96
2
link
:white_check_mark:

msteams-platform/apps-in-teams-meetings/teams-live-share-quick-start.md
93
6
link
:white_check_mark:

msteams-platform/apps-in-teams-meetings/teams-live-share-tutorial.md
94
16
link
:white_check_mark:

msteams-platform/apps-in-teams-meetings/teams-together-mode.md
99
1
link
:white_check_mark:

msteams-platform/bots/how-to/authentication/add-authentication.md
90
57
link
:white_check_mark:

msteams-platform/bots/how-to/format-your-bot-messages.md
94
3
link
:white_check_mark:

msteams-platform/concepts/build-and-test/deep-links.md
90
30
link
:white_check_mark:

msteams-platform/concepts/device-capabilities/location-capability.md
91
6
link
:white_check_mark:

msteams-platform/concepts/device-capabilities/media-capabilities.md
89
11
link
:white_check_mark:

msteams-platform/concepts/device-capabilities/native-device-permissions.md
93
11
link
:white_check_mark:

msteams-platform/concepts/device-capabilities/people-picker-capability.md
95
4
link
:white_check_mark:

msteams-platform/includes/sdk-include.md
100
0
link
:white_check_mark:

msteams-platform/index.yml
94
1
link
:white_check_mark:

msteams-platform/m365-apps/prerequisites.md
90
20
link
:white_check_mark:

msteams-platform/overview-solution.md
97
3
link
:white_check_mark:

msteams-platform/resources/faqs.md
91
8
link
:white_check_mark:

msteams-platform/resources/m365-plugins/m365-plugins-overview.md
94
8
link
:white_check_mark:

msteams-platform/resources/partner-apps-for-moodle.md
91
2
link
:white_check_mark:

msteams-platform/sbs-botbuilder-linkunfurling.yml
83
32
link
:white_check_mark:

msteams-platform/sbs-botbuilder-taskmodule.yml
83
42
link
:white_check_mark:

msteams-platform/sbs-bots-with-sso.yml
88
29
link
:white_check_mark:

msteams-platform/sbs-file-handling-in-bot.yml
85
31
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

We have taken inputs and shifted the content to PR #6496.


Updating dependencies in order to update deep-insights with #11166

Related with #11166 and deep-insights PR https://github.com/CartoDB/deep-insights.js/pull/506.

👋  Is this ready to be merged? It's needed to deploy https://github.com/CartoDB/cartodb/issues/11166

@javierarce we have to point to master in deep insights package and regenerate shrink wrap again

Thanks man! :es:

I've restarted one travis tests, it failed with a frontend test, not sure if it is consistant or nor, let's see.

Travis ones passed (:dancer:), restarting onpremises frontend tests.

This is taking ages… should we keep waiting for onpremises?

actually it failed (11:16:42 Finished: FAILURE) but I'm unable to restart :(

Restarted once more, if it doesn't change let's go with it.

GREEN!!!


Improved clarity of expiry date calculation

Changed to use a computed property on NSDate. This way date calculation are handled by the appropriate class. Also we do not have to use NSDate().timeIntervalSinceNow.
Also changed Documentation to use new reStructuredText format.

Yes, using NSDate in this case is much better. Thanks. I'll merge this as soon as I get some laptop time.
Documentation needs to be updated for all the other files as well, but I've opened a new issue #16 for that.


Re-factor web app to read from new DB schema

It is proposed to re-factor the results DB to address the following problems -

The existing DB approach of storing the result schema directly in a column does not scale well.
There is a need to handle results, errors & logs of large size. It isn't feasible to embedd them all inside a single column field.

Design rationale

The proposed schema shall adopt a pattern where meta-data is stored in a database while any files are to be stored in file storage. These files will be maintained as directory paths in the database.
This approach is planned to be followed for all fields irrespective of whether they will be high storage or not (Barring exceptions).
SQLite continues as the choice of database technology.
Covalent core SDK shall be the owner of this schema given that Covalent core predominantly 'writes' into the DB while the web app predominantly 'reads' from it.

Proposed schema
https://bit.ly/3tVKkCV
The Covalent core & web app teams will respectively ensure that their sides of the Read/Write pipeline are modified in line with the new schema

Please add your planning poker estimate with ZenHub @Prasy12


Invalid PR should not cause a notification

Testing #3144

I would have expected a modal dialog or better, to indicate the PR is not available from the picker.

I typed in a string ("kasdkasjdkj") but the dialog shows "0":

I broke the validation regex. Fix will be available Monday.

@rzhao271 are you sure you were on the latest pre-release version? You should be unable to choose a PR if you just enter letters.

Got it this time


Update Order.ss for incorrectly closed tbody element

tbody needs to be open.
Thanks

There are other template issues that need to be fixed. I also noticed there's an invalid colspan in Order_Payments. Would you be willing to check table consistency/markup for the other templates as well?

Yes will do tomorrow Cheers Antony


Added compatibility with juce 8 and fixed compile warnings

Thanks for this! Unfortunately there's some real breakage with JUCE 8 which can be seen by bumping the tests, etc. I've done the work over in #64 (as well as turned on warnings as errors). I'll look at merging that today and take a look at the compile warning situation.

Ok, merged the actual JUCE 8 support. Could you merge in main, try to compile and see if you still get any compile warnings?
I removed the explicit dtor added by https://github.com/sudara/melatonin_blur/pull/63/files and I'm not seeing any warnings locally or on GitHub.


Drop any remains of output_file

This was only used when we had support for storing the unseal keys in
files. Since we dropped this support we can remove any traces of that.

Yup. Burn it with fire! :fire: /LGTM


UNIX top like interface to see running tasks

Hello, nice to use your software to support a large application with a lots of tasks running every day, you did really great job at making its easy to install and use, guys!
Although, I have a small question like, maybe I missed something in documentation to this project.
Is there a chance for me to see in Django Admin interface a sign that indicates that certain tasks are running currently (not only scheduled via Admin, but those created dynamically from a HTTP request demand)? Or if Django Admin interface is limited (I understand that, its really quite limited thing to work with), is there a command line utility that not only shows running uhm... workers or clusters, but also shows tasks that are running? Similar to what ps or top might feature.
Thanks you guys for spending time on reading this, hope to see some response, and anyways, have a great day and once again, thanks for your product, for some folks out there its really vital!

Hello,
You just need to install the optional setproctitle dependency (see https://django-q2.readthedocs.io/en/master/install.html#optional). Then the process title will be updated with the name of the currently running task.
You can then just do ps -ef | grep qcluster or just use top and you will get something like :
django    338849       1  0 Sep05 ?        00:00:02 qcluster MainProcess minnesota-december-louisiana-bulldog
django    338872  338849  0 Sep05 ?        00:10:25 qcluster MainProcess minnesota-december-louisiana-bulldog
django    338877  338872  0 Sep05 ?        00:00:42 qcluster Process-78263c873d114f38b30683c4dc7f397d monitor
django    338878  338872  0 Sep05 ?        00:00:27 qcluster Process-1bb06c9a750a493f98687fc5b0f3c24b pusher
django    346893  338872  3 08:59 ?        00:08:21 qcluster Process-3744e22f8d4941cf85e3dd90199b60c1 idle
django    347113  338872  0 10:04 ?        00:00:41 qcluster Process-c77446bd2f6e497393c25e77048d746c processing nitrogen-beryllium-oven-tango 'function' [group]
django    347413  338872  0 12:47 ?        00:00:03 qcluster Process-db671459e93e4cd3a64c18290ea9fa72 idle
django    347440  338872  0 13:04 ?        00:00:01 qcluster Process-1bfd9e900da24674a71bfebe21a40682 idle

Here nitrogen-beryllium-oven-tango is the task_id and you will also get the name of the function that is run and the name of the task group if it has been defined.

Hello, @msabatier , I'm really grateful for your time and help :)
It will significantly improve application monitoring and maintenance! I'm now closing this issue as solved one :)


Delete index.js.flow

saw with a new prettier setup https://github.com/graphql/graphiql/pull/3259 prettier wanted to prettify these files, I guess they are no longer used?

they are around for backwards compatibility for users. @benjie what do you think we should do with these?

@B2o5T the scripts can be removed in a separate PR like you had before, but the legacy flow-typed files are a different question. Can we do seperate PRs again please?

@acao Yeah, I didn't see that the base PR is this one! will remove them in improvement prettier PR

@benjie @dwwoelfel are you or your users still using flow-typed with the language services? A cursory search of code on github showed only projects 4+ years old were still using flow-typed with our libraries

I believe that Facebook is the main place where Flow and GraphiQL were used together. Maybe @mjmahone will have some clue as to whether this is still needed or not. Personally I'm in favour of removing it - no types is better than out of date types, and maintenance of them is a burden.


Add ability to links plugin to bind from chiasm instance to plugin.

Using the links plugin you can link bindings between individual plugins like this:
  "links": {
    "plugin": "chiasm/plugins/links",
    "state": {
      "bindings": [
        "dataLoader.data -> barChart.data"
      ]
    }
  }

Perhaps if we can also link the parent chiasm instance and the child plugins like this:
  "links": {
    "plugin": "chiasm/plugins/links",
    "state": {
      "bindings": [
        "chiasm.data -> barChart.data"  // or "self.data -> barChart.data"
      ]
    }
  }

Then we can do this:
var chiasm = Chiasm(document.getElementById('container'));
chasm.data = [/* data */];

Oh wow, that's an interesting idea. The thing that strikes me about this though is that the configuration structure will no longer completely represent the state of the system completely, it will be dependent on chiasm.data being set. However, I can see how this makes sense where Chiasm is embedded in a larger system that already has a reference to the data.
For this case, I was thinking that a plugin could be created that just exposes the data, but this approach of setting chiasm.data could also work, and in a way it is simpler.


The server crashes if the signatures of the server-side and client-side functions differ

https://godbolt.org/z/M48519636

Thanks for reporting, actually this is actually a result of the message trying to allocate more memory than your system is able, because the mismatch in signatures by chance causes this large allocation.
However, I was about to offer you the workaround where you would limit allocation size, and then noticed a bug around where the serialization is translated to RPC return value and in there there was missing propagation of the error.
I just fixed it, please take a look at the test that was added in the following pull request https://github.com/eyalz800/zpp_bits/pull/127

I am marking this as closed for now, please re-open if this does not fix your issue.