:sparkles: Added additional github repositories in projects.csv

What kind of change does this PR introduce?
(Is it a bug fix, feature, docs update, something else?)
This can be considered a feature. This PR will allow the generation of scorecard metrics for additional repositories that we consider vital to the PyPi and NPM ecosystem.
What is the current behavior?
Currently, there are around 1M GitHub repos. After this PR is approved additional 250k repos will be added.
What is the new behavior (if this is a feature change)?**
Added additional repositories. The additional repositories are from packages from the NPM and PyPI ecosystem.

[ ] Tests for the changes have been added (for bug fixes/features)
No need for tests as no code change is involved.

Which issue(s) this PR fixes
A Request to bump up the repositories analyzed. No issue was created.
Special notes for your reviewer
Please note that some of the Github repos that are added might encounter 404 due to the repository being deleted by the developer/maintainer. While we have taken utmost care to filter them out, there might still be some that might have gone under the radar.
Does this PR introduce a user-facing change?
NONE

qq: which additional repos did you add? Are the entires sorted?

qq: which additional repos did you add? Are the entires sorted?

Yeah GH UI does not show the diff since it's too large. I did a local diff to see it for myself.

Hi Team,
I am facing errors while running make add-projects. Can anyone let me know the process along with commands or maybe if it is already documented can someone please redirect me to the corresponding location?
Error log when running  make add-projects
# Add new projects to ./cron/data/projects.csv
./cron/data/add/add ./cron/data/projects.csv ./cron/data/projects.new.csv
panic: iter.Next: invalid GitHub URL: error during parse: invalid repo flag: . Exepted full repository url
goroutine 1 [running]:
main.main()
github.com/ossf/scorecard/v4/cron/data/add/main.go:49 +0x190
make: *** [add-projects] Error 2
It occurs even when I add the following GitHub repo list - https://drive.google.com/file/d/1vF2r6onpc4lUKVJobgBNixW0yuuE-BZ3/view?usp=sharing

Can anyone let me know the process along with commands or maybe if it is already documented can someone please redirect me to the corresponding location?

So the error will tell you what's going on. For example, when I run this command on your PR locally, I get the error: invalid repo flag: github.comments. Which means there is a repository with URL github.comments in your data. This is an invalid URL which you either need to delete or fix.
Note that for a GitHub URL to be considered valid, it should be of the form: github.com/<org>/<repo>. Anything else will fail.

Hi Team,
I have made the changes that were required. Requesting you to kindly review and lemme know if more changes are needed.
Also has the tool a provision for handling cases when a repo has been deleted by the maintainer/developer and GitHub gives a 404 error on the repo page?
Thanks

Hi Team, I have made the changes that were required. Requesting you to kindly review and lemme know if more changes are needed. Also has the tool a provision for handling cases when a repo has been deleted by the maintainer/developer and GitHub gives a 404 error on the repo page? Thanks

The tool does not look for 404 errors on the repo page. If there is a 404 error during Scorecard calculation we simply skip it so no data will be populated.


#421

For the #421
I'll make a pull request for the docs in advance, feel free to close it if I'm wrong.

Please name this PR a descriptive name instead of the number of an issue.


feat: unify of okd and k8s tasks

What this PR does / why we need it:
feat: unify of okd and k8s tasks
this commit removes okd / kubernetes tasks manifest and keeps only a single manifest file with all tasks. This change will simplify releases and we will not have to generate two files.
Release note:
Unify okd and k8s tasks manifests

/lgtm

Looks like README.md needs updates as well.

fixed


fixing build issues with npm v8

@pirupius Great to see someone finally looking into this; however, why does it break the tests on node '14.x'? I find that scary.

@samuelmale tests are passing on local with node 14.x waiting to see if the github CI will pass as well

@samuelmale the changes are backward compatible the issue was just the CI being upgraded to node 16.x this PR can be merged.

Thanks @pirupius


aggregating events ?

Hey
I am just wondering how the workaround proposed above regarding would work in case that you have many publishers (let's say more than 1 instance of the same piece of code that send to eventHub). How would you define consistent sequence numbers between these instances?

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

ID: 44c8a071-97c3-3680-937d-ce96dca97426
Version Independent ID: fb85004b-e746-fe6a-e3fc-f8a2a2f08c18
Content: Availability and consistency in Azure Event Hubs
Content Source: articles/event-hubs/event-hubs-availability-and-consistency.md
Service: event-hubs
GitHub Login: @ShubhaVijayasarathy
Microsoft Alias: shvija

@jmilkiewicz Thanks for the feedback! We are currently investigating and will update you shortly.

you could use partition key

Distributed Sequence Generator is itself a complicated system :) Easier approach is get auto generated id from sql databases or use id generator service like, https://github.com/twitter-archive/snowflake. Hope it helps.

For more information on partitions, see https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-features#partitions.
#please-close


fix: OAuthClientEditorTest fails with latest Chrome

Checklist

[x] the contributor license agreement is signed
[x] commit message follows commit guidelines
[x] tests are included

Description of change

I've added a condition on OAuthClientEditorTest to check WebElement get attribute by id not empty based on the below condition of this test.
The issue by when we send the empty string into the find element of Selenium Webdriver it will show an error when we send the empty string. But in the latest Chrome maybe Selenium Webdriver doesn't support the latest version.

Woohoo! Solid run first time.
Considering it used to have a 100% fail rate, I'd say this is good to go! Thanks @phungnguyenptn :tada:


Broken link in docs

In https://docs.primocms.org/guides/how-to-use-primo-headless
the "using primo with sveltekit" link is pointing to 404
I assume the correct link is this one?
https://docs.primocms.org/guides/how-to-serve-primo-pages-from-sveltekit

Fixed, thanks!


Add iCloud module

Supports multiple iCloud accounts on in all user home folders,
10.7-10.13+

Works for me. Very useful.

Big PR, please test and report back. Does this still work in Mojave?

Just tested in 10.14 build 18A371a. Module needs some updating to work with new iCloud synced part of 10.14 and new defaults of unset iCloud services, but works otherwise. Should not be merged until full 10.14 compatibility is added

Closing PR, moved to module repo


Deferred Loading support with kernel

/cc @kmillikin & #28263

@kmillikin I'm working on getting more gardening issues assigned. If you're not the right person to assign this to, please reassign to that person.

Removing the gardening issue because this is not gardening related.


feat(cli): continue searching until arriving at your home directory

a. If the option --config or a FORMAT_PACKAGE_CONFIG is provided, skip searching and attempt to load the configuration.
b. If the option --config or a FORMAT_PACKAGE_CONFIG is not provided, search for configurations until arriving at your home directory.

If there it is not a valid configuration from a or b, return the default configuration.

Codecov Report

Merging #50 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master    #50   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files          16     17    +1
  Lines         160    171   +11
  Branches       19     22    +3
=====================================
+ Hits          160    171   +11

Impacted Files
Coverage Δ

lib/cli/config-schema.js
100% <ø> (ø)
:arrow_up:

lib/cli/config.js
100% <100%> (ø)
:arrow_up:

lib/cli/index.js
100% <100%> (ø)
:arrow_up:

lib/cli/__fixtures__/invalid-config.js
100% <100%> (ø)

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 941c636...1baf49f. Read the comment docs.

Sorry for the delay on the review @peterkc. I was on vacation last week. I'll see if I can configure it so you can self merge if you need to so I don't become a blocker.

This depends on PR #55 to fix update-lockfile status check.

Have rebased master with the fix for circleci, not able to merge without an approval.


syscall, x/sys/unix: Time(), Utime(), Getrlimit() use invalid syscall number on linux/arm

Please answer these questions before submitting your issue. Thanks!

What version of Go are you using (go version)?
any

What operating system and processor architecture are you using (go env)?
linux/arm

What did you do?
(Use play.golang.org to provide a runnable example, if possible.)
nothing

What did you expect to see?
invalid syscall numbers are not used

What did you see instead?
invalid syscall numbers are used

As far as is known, linux/arm sycalls are slightly limited.
Here is the list taken from kernel header:
/*
 * The following syscalls are obsolete and no longer available for EABI.
 */
#if !defined(__KERNEL__)
#if defined(__ARM_EABI__)
#undef __NR_time
#undef __NR_umount
#undef __NR_stime
#undef __NR_alarm
#undef __NR_utime
#undef __NR_getrlimit
#undef __NR_select
#undef __NR_readdir
#undef __NR_mmap
#undef __NR_socketcall
#undef __NR_syscall
#undef __NR_ipc
#endif
#endif

I confirmed time, utime and getrlimit are used, others are not used in both syscall package and x/sys/unix package.
I also suggest such syscall numbers should be removed from these packages on linux/arm.
(except syscall package? because of compatibility promise)
Thank you.

Please show a complete program which misbehaves, and the strace -f ./yourbinary output when run on linux/arm. Thanks.

Actually, I found this by just reading source code. I have no accessible linux/arm here.
You are right. I should have tried it before filing as a issue. Sorry.
I'll try it later by QEMU or something. Thank you for your reply.

Input:
package main

import (
	"syscall"
)
func main() {
	t := new(syscall.Time_t)

	_, err := syscall.Time(t)
	if err != nil {
		println(err.Error())
	}
}

Output:
function not implemented

As I expected, linux return ENOSYS. is it enough info?

For the record, root of the problem is code-generation scripts couldn't recognize #undef.
We should fix such scripts and hope nothing changes after re-generation.

@hirochachacha the syscall package is a mismash of incompatible implementations. The go runtime does not use syscall.Time, it uses an implementation of nanotime(2), although that depends on the platform you are calling it on.
If there is a fix that needs to be made, it will be in the x/sys/unix package, the syscall package is closed for modifications.

the syscall package is a mismash of incompatible implementations. The go runtime does not use syscall.Time, it uses an implementation of nanotime(2), although that depends on the platform you are calling it on.

I see. And also runtime's getrlimit is implemented by ugetrlimit.
Yes, runtime's implementation looks like more sophisticated and well tested than syscall's one to me.

If there is a fix that needs to be made, it will be in the x/sys/unix package, the syscall package is closed for modifications.

Fair enough.
By the way, do you want to accept such a trivial bug report?
I know you guys work for more important issues everyday.
Maybe you don't want to spare time for trivial one.
Maybe you don't want to see the issue tracker is filled by trivial ones.
I don't want annoy you. That's not my intention.
So when I found a trivial issue, what should I do?
Thank you for responses, anyway.

Trivial or not, if it's a bug, we need to fix it.
If you think it's trivial, perhaps the best way
is to just send a CL to fix it :)
I think we need to fix x/sys/unix, and fix the syscall
package if the fix is simple. (IIUC, the syscall
package is frozen for non-bugfixes and additions
except adding of new ports, but if the implementation
of some existing functions is wrong, then we'd better
fix it.)
Reopen this issue.

Thanks! I'll send a CL.

and fix the syscall package if the fix is simple.

Yes it's simple. For example, we can implement Time by gettimeofday,
Utime by utimes and Getrlimit by ugetrlimit.
But corresponding syscall numbers are already declaraed by api/go*.txt.
(i.e. SYS_TIME, SYS_UMOUNT, etc ...)
How can I treat these?

@hirochachacha in general the syscall package exists to support the standard library. If the standard library does not need or use the function (even if it is buggy or not implemented), the preferred way is to fix it in the x/sys/unix repository.

@davecheney I'm confusing. which should I follow?

@hirochachacha we cannot change any of the public values declared in the syscall package. You may have to declare some private constants instead.
Also, please try to make as small as possible a fix. If the issue is not apparent to callers of this code, ie the rest of the standard library, the recommendation is to fix the issue in the x/sys/unix package instead.

Those SYS_* constants are still correct, it's just they
can't be used by the current kernel, so leave them as
they are. The syscall numbers are currently automatically
generated, so it probably hard to add comments to
those numbers, but I think most people will use existing
functions rather than calling Syscall directly anyway, so
it probably won't affect much.
Just fix the implementation to use the correct syscalls.
For the functions in syscall package, I think if the fix
is simple, we can fix those functions. The syscall package
is to serve the standard library, that's the reason why
we don't extend it anymore, but existing bugs should
still be fixed, IMO.

Can you please talk to each other? I want to follow the decision.

I am sorry for the confusion. I will let you and @minux decide what to do.
On Sat, Feb 27, 2016 at 8:10 PM, hirochachacha<EMAIL_ADDRESS>wrote:

Can you please talk to each other? I want to follow the decision.
—
Reply to this email directly or view it on GitHub
https://github.com/golang/go/issues/14524#issuecomment-189609571.

No worries. Thanks! I will follow @minux 's decision here.

To make my suggestions more concrete:

don't change constants in either syscall or x/sys/unix
(my understanding is that the numbers are correct but they
are not implemented by the kernel anymore. please correct
me if I'm wrong.) I'm also open to delete those constants in
x/sys/unix, but we have to keep those in the syscall package.

move affected functions from auto-generated zsyscall
file into a linux/arm specific file, and implement them correctly.

For x/sys/unix only, consider adding tests for syscalls that
are straightforward to test. For example, we can test time.Now()
and unix.Time agrees with each other. The test should be
generic so that it runs on all linux platforms (not only arm).

don't change constants in either syscall or x/sys/unix (my understanding is that the numbers are correct but they are not implemented by the kernel anymore. please correct me if I'm wrong.) I'm also open to delete those constants in x/sys/unix, but we have to keep those in the syscall package.

I investigated it. according to this,  EABI is supported since 2.6.16.
I downloaded linux-2.6.16.
Here is related source code:
include/asm-arm/unistd.h
#define __NR_time			(__NR_SYSCALL_BASE+ 13)

...

#if !defined(CONFIG_AEABI) || defined(CONFIG_OABI_COMPAT)
#define __ARCH_WANT_SYS_TIME
#define __ARCH_WANT_SYS_OLDUMOUNT
#define __ARCH_WANT_SYS_ALARM
#define __ARCH_WANT_SYS_UTIME
#define __ARCH_WANT_SYS_OLD_GETRLIMIT
#define __ARCH_WANT_OLD_READDIR
#define __ARCH_WANT_SYS_SOCKETCALL
#endif

kernel/time.c
#ifdef __ARCH_WANT_SYS_TIME

asmlinkage long sys_time(time_t __user * tloc)
{
...
}
...
#endif /* __ARCH_WANT_SYS_TIME */

arch/arm/kernel/calls.S
/* 0 */		CALL(sys_restart_syscall)
...
/* 10 */	CALL(sys_unlink)
		CALL(sys_execve_wrapper)
		CALL(sys_chdir)
		CALL(OBSOLETE(sys_time))	/* used by libc4 */
		CALL(sys_mknod)
/* 15 */	CALL(sys_chmod)
...

syscall table is defined by calls.S . So syscall numbers are defined, but functions are not.

move affected functions from auto-generated zsyscall file into a linux/arm specific file, and implement them correctly.

I see.

For x/sys/unix only, consider adding tests for syscalls that are straightforward to test. For example, we can test time.Now() and unix.Time agrees with each other. The test should be generic so that it runs on all linux platforms (not only arm).

I guess you mean time.Unix. I understand.
Thank you.

I guess you mean time.Unix

Sorry, I was wrong. Unix.Time is right.

For x/sys/unix only, consider adding tests for syscalls that are straightforward to test. For example, we can test time.Now() and unix.Time agrees with each other. The test should be generic so that it runs on all linux platforms (not only arm).

I guess you mean time.Unix. I understand.

I'm really sorry. I didn't understand it. what "agrees with" exactly mean?
Is this mean: abs(timeA - timeB) < some value ?

On Sat, Feb 27, 2016 at 6:24 AM, hirochachacha<EMAIL_ADDRESS>wrote:

For x/sys/unix only, consider adding tests for syscalls that are
straightforward to test. For example, we can test time.Now() and unix.Time
agrees with each other. The test should be generic so that it runs on all
linux platforms (not only arm).

I guess you mean time.Unix. I understand.
I'm really sorry. I didn't understand it. what "agrees with" exactly mean?
Is this mean: abs(timeA - timeB) < some value ?

Repeat ten times and see if timeA == timeB at least once?

Repeat ten times and see if timeA == timeB at least once?

Is this preferable to timeA - timeB < n seconds? and why?
Maybe both of them use CLOCK_REALTIME, so sometimes it failed? I'm not sure.

I was talking about the 1-second granularity Time() syscall.

I sent a CL for syscall package.
I've rethought about deleting obsolete syscall numbers, and don't want to change it now.
So if the CL is acceptable, then it's OK to close this.
Thank you.

The CL wasn't approved. But I suppose no one wants to continue this.
So I close it.
Thank you for responses.


Confused with usage of external ADC.

Hello,
I am trying to read ACS712 value on ESP32 board which is connected through ADS1015 pin 1.
However I cannot figure out how to use it properly since example "ACS712_20_DC_external_ADC.ino" does not provide enough context to me how to read a specific pin.
Moreover when I include "ACS.setADC(wrapperACSPin, 5.0, 4095);" Other libraries starts doing some weird stuff like delaying function executions in random durations e.g. Ticker library wont function properly. It is like ESP32 is hanging.
Sorry for being a noob here. I am providing a portion of the code I am using below to read ACS value over ADS1015 pin 1.
Thank you.
#include <Arduino.h>
#include <ACS712.h>
#include <ADS1X15.h>

#define ADS1015_ADDRESS 0x48
#define ADS1015_SCL 1
#define ADS1015_SDA 2
#define ADS1015_RDY 3

//#define SENSOR_TMP6_ADSPIN 0
#define SENSOR_ACS712_ADSPIN 1
//#define SENSOR_DIST_ADSPIN 2

// ADS SETUP ///
ADS1015 ads1015(ADS1015_ADDRESS);

// ACS SENSOR SETUP ///
ACS712 ACS(4, 5.0, 4095, 100);

// ACS SENSOR WRAPPER FOR ADS1015 ///
uint16_t wrapperACSPin(uint8_t pin)
{
    int16_t ACSVal = ads1015.readADC(SENSOR_ACS712_ADSPIN);
    return ACSVal;
}

void readCurrent() {
    sensorCurrentValueRaw = ACS.mA_DC(10);
}

void sensorsInit() {
    ACS.setADC(wrapperACSPin, 5.0, 4095);
    ACS.autoMidPoint(0, 10);
}

void setup() {
    Wire.begin(ADS1015_SDA, ADS1015_SCL);
    Wire.setClock(400000);

    sensorsInit();
}

void loop {
    //Other code here...
}

Maybe including a much simpler method to read the ACS712 using ADS1X15 Library might be a better solution. Like including another definition in ACS712 constructor to indicate whether your ADS1X15 library is being used to read from it like below?.
ACS712(uint8_t analogPin, float volts = 5.0, uint16_t maxADC = 1023, float mVperAmpere = 100, bool useADS1X15 = true, char nameADS1X15 = ADS1015, int pinADS = 0)

Thanks for the issue.
Will try to come back to it today.

The idea of a specific constructor for the ADS1x15 sounds creative however there are at least a dozen other ADC devices.
It would make things too specific and it would result in a forest of constructors.
Still imho the idea is good thinking.

However I cannot figure out how to use it properly since example "ACS712_20_DC_external_ADC.ino" does not provide enough context to me how to read a specific pin.

The example is indeed not very instructive, so there should be a new one. Your project with an ADS1x15 seems a more explicit case. Have some other tasks so I'll try later this evening (19:00 here now)

@astorun
I have no hardware nearby to test, so the code will need adjustments as I do not know the ADS1015 details from my head.
Tried to keep the code minimal to read a DC current.
Please give it a try and post the output of the sketch.
//    FILE: ACS712_ESP32_external_ADC.ino
//  AUTHOR: Rob Tillaart
// PURPOSE: demo to measure mA DC with external ADC
//     URL: https://github.com/RobTillaart/ACS712

#include <Arduino.h>
#include <ACS712.h>
#include <ADS1X15.h>

//  I2C config
#define ADS1015_ADDRESS         0x48
#define ADS1015_SCL             22   //  default SCL ESP32
#define ADS1015_SDA             21   //  default SDA ESP32

//  ADS1x15 config
#define SENSOR_ACS712_ADSPIN    1

//  explicit params for demo
ADS1015 ads1015(ADS1015_ADDRESS, &Wire);  //  ADS1015 == 12 bit

//  SENSOR_ACS712_ADSPIN sets pin 1 of the ADS1015, 5.0 volt, 4095 = 12 bit, 100 = mVperAmpere
ACS712 ACS(SENSOR_ACS712_ADSPIN, 5.0, 4095, 100);

//  ACS712 ADC WRAPPER FOR ADS1015
uint16_t readADS1015(uint8_t pin)
{
  uint16_t ADS_raw = ads1015.readADC(pin);
  //  Serial.print("ADS_raw: ");
  //  Serial.println(ADS_raw);
  return ADS_raw;
}

///////////////////////////////////////////////////////////////

void setup()
{
  Serial.begin(115200);
  while (!Serial);
  Serial.println(__FILE__);
  Serial.print("ACS712_LIB_VERSION: ");
  Serial.println(ACS712_LIB_VERSION);
  Serial.println();

  //  ESP32 set wire pins explicitly
  Wire.begin(ADS1015_SDA, ADS1015_SCL);
  Wire.setClock(400000);

  //  initialize ADS1015, if fail => report
  if (ads1015.begin() == false)
  {
    Serial.println("ADS1x15 not found. Check wires and pins. Reboot.");
    while(1);
  }

  //  verify the ADS is working in raw mode
  Serial.println(readADS1015(SENSOR_ACS712_ADSPIN));

  //  set up the external ADC for the ACS712
  ACS.setADC(readADS1015, 5.0, 4095);
}

void loop()
{
  int mA = ACS.mA_DC();
  Serial.println(mA);
  delay(1000);
}

//  -- END OF FILE --

Thanks for the updated code,
Your code works as intended when running alone.
Then we implemented it to our code but it is still adding a huge delay to the arduino ticker library when we include the ACS.setADC(readADS1015, 5.0, 4095);.
Output is around -2 with ACS.autoMidPoint(0, 10);
We have been using your ACS712 library before without any ADC in between and it works great. However including ADS1015 with your ADS1X15 library adding a delayed response to Ticker library behavior in random durations, as much as a up to a minute.
We can be able to get a raw data from ACS712 via ADS1015 without any issues with the following code below using ADS1X15 library and we have other sensors connected to the same ADS1015 and they are working as supposed to. ACS712 raw output is around 1250.
void debugInit() {

    int adspin0 = ads1015.readADC(SENSOR_TMP36_ADSPIN);
    int adspin1 = ads1015.readADC(SENSOR_ACS712_ADSPIN);
    int adspin2 = ads1015.readADC(SENSOR_DIST_ADSPIN);
    int adspin3 = ads1015.readADC(NA_ADSPIN);

    Serial.print("adspin0 TMP36:");
    Serial.print(adspin0);
    Serial.print("  -  adspin1 ACS712:");
    Serial.print(adspin1);
    Serial.print("  -  adspin2 DIST:");
    Serial.print(adspin2);
    Serial.print("  -  adspin3 NA:");
    Serial.println(adspin3);

    Serial.print("sensorCurrentValueRaw:");
    Serial.println(sensorCurrentValueRaw);
    Serial.println("-");
}

Our code consists about 50000 lines of code and as far as I can tell it only affects the Ticker library for some reason. Not sure if the other part of our code is responsible of this issue or there is some conflict between Ticker library and Wrapper code.

The ACS712 code for setADC() just setting a function pointer, so I expect that part is not the prime suspect.
Therefor I will dive into the ADS1x15 library to see if I can find clues.

Output is around -2 with ACS.autoMidPoint(0, 10);

The ADS1015 is an ADC that returns a signed 15 bit so the midpoint is around zero. So seems OK.

However including ADS1015 with your ADS1X15 library adding a delayed response to Ticker library behavior in random durations, as much as a up to a minute.

Can you add this line after ads1015.begin() to see what the data-rate setting is? Expect value 4.
Serial.println(ads1015.getDataRate();

Test 2
Can you add this line after ads1015.begin()
ads1015.reset();

@astorun
Have you seen this?
From the GITHUB site of the ticker library: https://github.com/sstaub/Ticker
Advice: for use with ESP boards and mbed based Arduino boards like Arduino Nano RP2040 Connect and Raspberry Pi Pico (using the official Arduino core) the TickTwo library https://github.com/sstaub/TickTwo is recommanded avoiding name conflicts.
Don't know if you have name conflicts as mentioned here.

@astorun
in the Ticker constructor there is a strange line
if (resolution == MICROS) timer = timer * 1000;

If you set the timer to 1.000.000 micros in the constructor, it multiplies the time by 1000.
Do you somewhere use Ticker with micros?

We are using built-in official ESP32 ticker library for arduino: https://github.com/espressif/arduino-esp32/tree/master/libraries/Ticker,
Which is different(?) from the https://github.com/sstaub/Ticker I suppose.
I will include test 1 and test 2 to our code and will report the outputs in a moment.

OK, other Ticker library, I'll have a look at it.

I see that arguments are casted to unsigned int .
Are there signed parameters in your call back functions?

@astorun
Do you use other I2C devices in your project?
Could it be that the I2C is interfering with the esp_timer?

@astorun
Esp_timer library has sometimes problems, I found this describing wifi as disruptive force.
https://www.esp32.com/viewtopic.php?t=25642
Maybe such interference is only there if the ticker and I2C runs on same core?

I see that arguments are casted to unsigned int . Are there signed parameters in your call back functions?

Nope. There are total of 5 that we coded by ourselves. 4 of them are float and the only unsigned int is the one with acs712 wrapper function.
However, we are using tons of other libraries and we are not sure if they have any functions built-in with signed int.
#include <Arduino.h>
#include <SPI.h>
#include <Ticker.h>
#include <functions.h>
#include <Preferences.h>
#include <settings.h>

#include <WiFi.h>
#include <wifiConnect.h>
#include <HTTPClient.h>
#include <firmwareUpdate.h>

#include <ACS712.h>
#include <ADS1X15.h>

#include <device.h>
#include <beeper.h>
#include <sensorCalibrate.h>

#include <displayLGFX.h>
#include <renderUI.h>

No. We have only one I2C device and that is ADS1015.
Not sure if that helps but we are using tons of tickers to read from sensor values and call some other functions constantly with varying times.
Also, after couple of hours today, we realized ESP32 hangs and restarts itself if ACS.setADC(readADS1015, 5.0, 4095); is included.
This is our setup function below, if that helps.
void setup() {
    #if SERIAL_ENABLED
        Serial.begin(115200);
    #endif

    // WIRE BEGIN //
    Wire.begin(ADS1015_SDA, ADS1015_SCL);
    Wire.setClock(100000);

    // MACHINE INFO //
    device_setup_init();
    delay(10);

    // DISPLAY SETUP //
    display_setup_init();
    renderui_setup_init();
    delay(10);

    // MACHINE AUTH CHECK //
    delay(10);

    // ADS SETUP //
    //  initialize ADS1015, if fail => report
    if (ads1015.begin() == false)
    {
        Serial.println("ADS1x15 not found. Check wires and pins.

On default, wifi is turned off during startup and it wont powered off until user requests it.
Also in our trials, we did not turned on Wifi. So, it was always off. This is the code called during setup process when esp32 is booted to setup wifi.
void wifiSetup() {
  WiFi.setSleep(WIFI_PS_NONE); // Disable WiFi sleep
  WiFi.mode(WIFI_OFF);
  WiFi.onEvent(wiFiEvent);
  WiFi.setHostname(hostname.c_str()); /*ESP32 hostname set*/
}

If that helps, we have and SPI touchscreen running with LovyanGFX and LVGL library. Not sure if it is related. Here is the code below for screen initialization.
/////////////////////////////////////////////////////////////////
/*
  ESP32 | LVGL8 | Ep 0. GFX Setup (ft. LovyanGFX)
  Video Tutorial: https://youtu.be/IPCvQ4o_WP8
  Created by Eric N. (ThatProject)
*/
/////////////////////////////////////////////////////////////////

#include <lvgl.h>
//#define LGFX_USE_V1
#include <LovyanGFX.hpp>
#include "ui.h"

class LGFX : public lgfx::LGFX_Device
{
lgfx::Panel_ST7796      _panel_instance;
lgfx::Bus_SPI           _bus_instance;   // SPI
lgfx::Light_PWM         _light_instance;
lgfx::Touch_XPT2046     _touch_instance;

public:
  LGFX(void)
  {
    {
      auto cfg = _bus_instance.config();
      cfg.spi_host = SPI3_HOST;                 // (VSPI_HOST or HSPI_HOST)
      cfg.spi_mode = 0;                         // SPI (0 ~ 3)
      cfg.freq_write = 40000000;                // SPI (80MHz)
      cfg.freq_read  = 16000000;                //
      cfg.spi_3wire  = false;                   //
      cfg.use_lock   = true;                    //
      cfg.dma_channel = SPI_DMA_CH_AUTO;        // Set the DMA channel (1 or 2. 0=disable)
      cfg.pin_sclk = 16;                        // LCD_SCLK
      cfg.pin_mosi = 17;                        // LCD_MOSI
      cfg.pin_miso = 18;                        // LCD_MISO     (-1 = disable)
      cfg.pin_dc   = 15;                        // LCD_DC       SPI (-1 = disable) Data Command control pin
      _bus_instance.config(cfg);                //
      _panel_instance.setBus(&_bus_instance);
    }

    {
      auto cfg = _panel_instance.config();
      cfg.pin_cs           =    11;             // LCD_CS      (-1 = disable)
      cfg.pin_rst          =    13;             // LCD_RST     (-1 = disable)
      cfg.pin_busy         =    -1;             // BUSY        (-1 = disable)
      cfg.memory_width     =   320;
      cfg.memory_height    =   480;
      cfg.panel_width      =   320;
      cfg.panel_height     =   480;
      cfg.offset_x         =     0;
      cfg.offset_y         =     0;
      cfg.offset_rotation  =     0;
      cfg.dummy_read_pixel =     8;
      cfg.dummy_read_bits  =     1;
      cfg.readable         =  true;
      cfg.invert           = false;
      cfg.rgb_order        = false;
      cfg.dlen_16bit       = false;
      cfg.bus_shared       =  true;
      _panel_instance.config(cfg);
    }

    {
      auto cfg = _light_instance.config();
      cfg.pin_bl = 14;                          // LCD_BL
      cfg.invert = false;
      cfg.freq   = 44100;
      cfg.pwm_channel = 7;
      _light_instance.config(cfg);
      _panel_instance.setLight(&_light_instance);
    }

    {
      auto cfg = _touch_instance.config();
      cfg.x_min      = 0;
      cfg.x_max      = 319;
      cfg.y_min      = 0;
      cfg.y_max      = 479;
      cfg.pin_int    = -1;                      // INT pin number to which is connected
      cfg.bus_shared = true;                    // Set to true when using a common bus with the screen
      cfg.offset_rotation = 0;                  // Adjustment when the display and touch direction do not match Set with a value of 0 to 7
      cfg.spi_host = SPI3_HOST;
      cfg.freq = 2500000;                       // SPI set clock
      cfg.pin_sclk = 16;                        // LCD_SCLK
      cfg.pin_mosi = 17;                        // LCD_MOSI
      cfg.pin_miso = 18;                        // LCD_MISO
      cfg.pin_cs   = 12;                        // LCD_TOUCH_CS
      _touch_instance.config(cfg);
      _panel_instance.setTouch(&_touch_instance);
    }

    setPanel(&_panel_instance);
  }
};

LGFX tft;

//Change to your screen resolution
static const uint32_t screenWidth  = 480;
static const uint32_t screenHeight = 320;
static lv_disp_draw_buf_t draw_buf;

/*Static or global buffer(s). The second buffer is optional*/
static lv_color_t buf_1[screenWidth * 10];
//static lv_color_t buf_2[screenWidth * 10];

//Display flushing
void disp_flush( lv_disp_drv_t *disp, const lv_area_t *area, lv_color_t *color_p )
{
   uint32_t w = ( area->x2 - area->x1 + 1 );
   uint32_t h = ( area->y2 - area->y1 + 1 );

   tft.startWrite();
   tft.setAddrWindow( area->x1, area->y1, w, h );
   //tft.pushColors( ( uint16_t * )&color_p->full, w * h, true );
   tft.writePixels((lgfx::rgb565_t *)&color_p->full, w * h);
   tft.endWrite();

   lv_disp_flush_ready( disp );
}

//Read the touchpad
void touchpad_read( lv_indev_drv_t * indev_driver, lv_indev_data_t * data )
{
   uint16_t touchX, touchY;
   bool touched = tft.getTouch( &touchX, &touchY);
   if( !touched )
   {
      data->state = LV_INDEV_STATE_REL;
   }

else
{
data->state = LV_INDEV_STATE_PR;
  //Set the coordinates
  data->point.x = touchX;
  data->point.y = touchY;

}
}
//Give feedback to the user
void feedback_audio(_lv_indev_drv_t *, uint8_t event) {
if (event == LV_EVENT_PRESSED) {
  Serial.println("LV EVENT PRESSED DETECTED");
}

if (event == LV_EVENT_RELEASED) {
  Serial.println("LV EVENT RELEASED DETECTED");
}

}
void display_setup_init()
{
tft.setBrightness(0);
tft.begin();
tft.setRotation(1);
lv_init();
uint16_t calData[] = { 3787, 3868, 3835, 200, 205, 3885, 168, 193};
tft.setTouchCalibrate(calData);
/*
std::uint16_t fg = TFT_WHITE;
std::uint16_t bg = TFT_BLACK;
if (tft.isEPD()) std::swap(fg, bg);
uint16_t calibrationData[8];
tft.calibrateTouch(calibrationData, fg, bg, std::max(tft.width(), tft.height()) >> 3);
for(int i=0; i<8; i++){
Serial.print(calibrationData[i]);
Serial.print(", ");
}
*/
/*Initialize disp_buf with the buffer(s). With only one buffer use NULL instead buf_2 */
lv_disp_draw_buf_init(&draw_buf, buf_1, NULL, screenWidth * 10);
//Initialize the display
static lv_disp_drv_t disp_drv;
lv_disp_drv_init( &disp_drv );
//Change the following line to your display resolution
disp_drv.hor_res = screenWidth;
disp_drv.ver_res = screenHeight;
disp_drv.flush_cb = disp_flush;
disp_drv.draw_buf = &draw_buf;
lv_disp_drv_register( &disp_drv );
//Initialize the input device driver
static lv_indev_drv_t indev_drv;
lv_indev_drv_init(&indev_drv);                                 //Basic initialization
indev_drv.type = LV_INDEV_TYPE_POINTER;                        //Touch pad is a pointer-like device
indev_drv.read_cb = touchpad_read;                             //Set your driver function
indev_drv.feedback_cb = feedback_audio;                           //Set your driver function
lv_indev_t * disp_indev = lv_indev_drv_register(&indev_drv);   //Register the driver in LVGL and save the created input device object
ui_init();
}
void displayInit()
{
lv_timer_handler();
}

that is a lot of information...

Also, after couple of hours today, we realized ESP32 hangs and restarts itself if ACS.setADC(readADS1015, 5.0, 4095); is included.

Does this mean it works for some hours and then it stops?
Or does it not work at all?

Is it possible to add another I2C device (eg pcf8574) and see if that breaks the project too?
(my gut feeling points to i2C, just don't know how exactly it interferes)

Ok I think we found the culprit!
If we set a sampling value, it starts doing some weird stuff and slows down the esp32.
sensorCurrentValueRaw = ACS.mA_DC(10);
However if we do not provide sampling value, it works as intended!
sensorCurrentValueRaw = ACS.mA_DC();
From the mainpage of AC712 library, there is an description how cycles are working.
If we understand correctly, providing a sample value reads the sensor by given number or times and averages to smooth out the results.
The library has 4 core functions:

float mA_peak2peak(frequency = 50, cycles = 1)
float mA_DC(cycles = 1)
float mA_AC(frequency = 50, cycles = 1)
float mA_AC_sampling(frequency = 50, cycles = 1)
The parameter cycles is used to measure multiple cycles and average them.

To measure DC current a single analogRead() with conversion math is sufficient to get a value. To stabilize the signal analogRead() is called at least twice.

Is it possible to add another I2C device (eg pcf8574) and see if that breaks the project too? (my gut feeling points to i2C, just don't know how exactly it interferes)

Sadly no, we are using a custom manufactured PCB and there is no way we can add another device.

By your suggestion that I2C might be the issue, I increased the I2C clock from 100000 to 400000 to see if that is going to make any difference and tested with sensorCurrentValueRaw = ACS.mA_DC(10);.
However, the issue is still persists. We reduced the wire speed to 100000 due to pcb limitation. We are opted to use 10k resistors instead of 1k on I2C SDA/SCL pins.
On ADS1015 datasheet it suggests using lower resistor values for faster I2C speeds, around 2k. Not sure if that contributes the issue.

Ok I think we found the culprit!
If we set a sampling value, it starts doing some weird stuff and slows down the esp32.
sensorCurrentValueRaw = ACS.mA_DC(10);

That might be blocking indeed (not for minutes but enough to corrupt scheduling).
Maybe adding a call to yield() in some loops of the ACS712 library to provide context switching and give the ticket thread a chance to run.
(Should be easy to test)
To be continued tomorrow (for me at least)

Ok I think we found the culprit!
If we set a sampling value, it starts doing some weird stuff and slows down the esp32.
sensorCurrentValueRaw = ACS.mA_DC(10);

That might be blocking indeed (not for minutes but enough to corrupt scheduling).
Maybe adding a call to yield() in some loops of the ACS712 library to provide context switching and give the ticket thread a chance to run. (Should be easy to test)
To be continued tomorrow (for me at least)

Thanks for the update and possible solution! We will be waiting for any update. Until then we are going to run the library without any sampling. Moreover, adding ADS1015 seems doing a better job than ESP32 internal ADC and we might not need a software smoothing at all :).

The esp32 (s1?) has non linearities in the adc, which cannot be removed by averaging only. These need end of scale adjustments.

From the mainpage of AC712 library, there is an description how cycles are working.
If we understand correctly, providing a sample value reads the sensor by given number or times and averages to smooth out the results.

Yes, as the internal ADC's of various boards are not that precise this helps to improve reading to certain extend.
, ghly a factor 2 times more samples improves 0.5 bit accuracy.
So factor 4 gives 1 bit, factor 8 gives 1.5 bit, factor 16 gives 2 bits improvement. (noise can be around half a bit).
Problem with oversampling is that the duration of the measurement increases. Thus if you have a fluctuating signal oversampling will smooth out part of the detailed signal.
Today I will create a develop branch you can test to see if the yield() solution meets your needs. .

Created develop branch - https://github.com/RobTillaart/ACS712/tree/develop -
This version calls yield in mA_DC() every 3 analogReads so it is far less blocking but only for DC.
For AC the solution is to create a separate thread for the INA226 I think.
All AC measurements needs many samples to get the signal,

We tested with develop branch and result is the same. The delay is still there.
Moreover we discovered another issue.
While I was looking at the library we saw a new midpoint feature specifically for DC.
uint16_t autoMidPointDC(uint16_t cycles = 1)
Decided to give it a try with a recommended value of 100.
ACS.autoMidPointDC(100);
However this time we got the following error and firmware refused to work alltogether.
[  4485][E][Wire.cpp:513] requestFrom(): i2cRead returned Error 263
Not sure if both issues are related.

Also if it helps, our hardware is ESP32-S3 N8R2

Error 263 is a timeout google told me, one of the causes can be bad wiring. It seems to occur more often with ESP32 and other I2C devices. So it seems not a problem of the ads1x15 library, but an ESP32 one.
E.g. with a Sensirion sensor
https://www.google.com/url?sa=t&source=web&rct=j&opi=89978449&url=https://github.com/espressif/arduino-esp32/issues/8056&ved=2ahUKEwj7pL3-ndeDAxWn_rsIHUz8CxgQFnoECBsQAQ&usg=AOvVaw2K9RSnKXVA5faMQ9_j30yh
Possibly the ESP32 wire library allows to set a wire timeout to shorten the delay.
An other option might be to check with an other version of the ESP32 compiler version.

We tested with develop branch and result is the same. The delay is still there.

Thanks for testing,
Does your code uses explicit multithreading, and have you divided the liad over the two cores based upon the losd per thread?

Thanks for the quick reply.
No, we do not have any multithreading in our application.
We suspect it might be caused by our resistor choice on I2C lines that might not allowing full 400000 clock speed.
For now everything working as intended without providing any sampling value.
We will revise our hardware and test it again to see if it is going to make any difference.

Do you have an oscilloscope to see the sinal quality of the I2C lines?
The longer the wires the smaller the pull up  resistors on the SDA an SCL. My rule of thumb is
25 cm  == 10K
50 cm == 4K7
100 cm == 2K2
250 cm == 1K
Formula:   R == 250 / length
Furthermore you should use shielded wire for the I2C if there is a chance of noise from motors etc. Either from your own project or the environment your product has to operate in.

@astorun
Any progress to report?

Sorry for the late reply. We have been extremely busy lately with the hardware itself.
Today, we had the chance to try different things with the library, however it does not play out again.
At the end, we decided to removed the library and used the following code below to get the readings from ADS1X15 library and manually calculated the current with the following code below.
void readCurrent() {
    int16_t currentADCVal = ads1015.readADC(SENSOR_ACS712_ADSPIN);

    // Convert the ADC value to voltage
    float currentADCVolt = ads1015.toVoltage(currentADCVal);
    sensorCurrentValueFloat = (currentADCVolt - 2.5) / 0.100;
    sensorCurrentValueInt = sensorCurrentValueFloat * 1000;
}

We are calling the readCurrent function with ticker function within every 5ms.
readCurrentTicker.attach_ms(readCurrentInterval, readCurrent);
It is working without any issues.
I believe wrapper implementation is not efficient enough to deal with the complex code structure or calling it too often causes other function to block or hang the esp32.
I suggest a different implementation method of ACS712 library with ADS1X15 without using any wrapper function. We do not know how ACS712 library the works in the background, but using it with ADS1X15 causing some sort of bottleneck under specific scenarios for our application, where timing is critical. Maybe implementing another method to adjust the time between each readings or finding another method without blocking too much might solve the issue.
Thanks for the help though.

Thanks for the update,
Your solution is straightforward and if it works then you should use it. Nothing beats simplicity.
If there are no more questions you may close the issue.


I want to create a pull request, but cannot run the website

What happened:
[josevnz@dmaf5 falco-website-grpc]$ make serve
(npm install && cd themes/docsy && git submodule update -f --init && cd ../..)
npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>(node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for<EMAIL_ADDRESS>wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

audited 123 packages in 0.967s

14 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

Submodule path 'assets/vendor/Font-Awesome': checked out '951a0d011f8c832991750c16136f8e260efa60b5'
Submodule path 'assets/vendor/bootstrap': checked out 'a716fb03f965dc0846df479e14388b1b4b93d7ce'
hugo server --minify \
	--buildDrafts \
	--buildFuture
Start building sites …
hugo v0.98.0-165d299cde259c8b801abadc6d3405a229e449f6 linux/amd64 BuildDate=2022-04-28T10:23:30Z VendorInfo=gohugoio
WARN 2022/05/11 17:37:20 The google_news internal template will be removed in a future release. Please remove calls to this template. See https://github.com/gohugoio/hugo/issues/9172 for additional information.
WARN 2022/05/11 17:37:22 .Path when the page is backed by a file is deprecated and will be removed in a future release. We plan to use Path for a canonical source path and you probably want to check the source is a file. To get the current behaviour, you can use a construct similar to the one below:

  {{ $path := "" }}
  {{ with .File }}
	{{ $path = .Path }}
  {{ else }}
	{{ $path = .Path }}
  {{ end }}

Re-run Hugo with the flag --panicOnWarning to get a better error message.
WARN 2022/05/11 17:37:22 found no layout file for "headers" for kind "home": You should create a template file which matches Hugo Layouts Lookup Rules for this combination.
WARN 2022/05/11 17:37:22 The google_news internal template will be removed in a future release. Please remove calls to this template. See https://github.com/gohugoio/hugo/issues/9172 for additional information.
WARN 2022/05/11 17:37:22 found no layout file for "headers" for kind "home": You should create a template file which matches Hugo Layouts Lookup Rules for this combination.
WARN 2022/05/11 17:37:22 The google_news internal template will be removed in a future release. Please remove calls to this template. See https://github.com/gohugoio/hugo/issues/9172 for additional information.
WARN 2022/05/11 17:37:22 found no layout file for "headers" for kind "home": You should create a template file which matches Hugo Layouts Lookup Rules for this combination.
WARN 2022/05/11 17:37:22 The google_news internal template will be removed in a future release. Please remove calls to this template. See https://github.com/gohugoio/hugo/issues/9172 for additional information.
WARN 2022/05/11 17:37:22 found no layout file for "headers" for kind "home": You should create a template file which matches Hugo Layouts Lookup Rules for this combination.
WARN 2022/05/11 17:37:22 The google_news internal template will be removed in a future release. Please remove calls to this template. See https://github.com/gohugoio/hugo/issues/9172 for additional information.
WARN 2022/05/11 17:37:22 found no layout file for "headers" for kind "home": You should create a template file which matches Hugo Layouts Lookup Rules for this combination.
Error: Error building site: TOCSS: failed to transform "scss/main.scss" (text/x-scss). Check your Hugo installation; you need the extended version to build SCSS/SASS.: this feature is not available in your current Hugo version, see https://goo.gl/YMrWcn for more information
Built in 2779 ms
make: *** [Makefile:8: serve] Error 255

My hugo version is the latest
[josevnz@dmaf5 falco-website-grpc]$ hugo version
hugo v0.98.0-165d299cde259c8b801abadc6d3405a229e449f6 linux/amd64 BuildDate=2022-04-28T10:23:30Z VendorInfo=gohugoio

What you expected to happen:
Server running on http://localhost:1313/
How to reproduce it (as minimally and precisely as possible):
make serve

Found the issue. Falco needs this version of hugo to work:
hugo-0.80

Hugo 0.98.0-1 will not work.

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
Provide feedback via https://github.com/falcosecurity/community.
/lifecycle stale

Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.
If this issue is safe to close now please do so with /close.
Provide feedback via https://github.com/falcosecurity/community.
/lifecycle rotten

@josevnz we upgraded the version up to 0.101.0, your issue may be solved now

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.
Provide feedback via https://github.com/falcosecurity/community.
/close

@poiana: Closing this issue.

In response to this:

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.
Provide feedback via https://github.com/falcosecurity/community.
/close

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


How I can make the footer credits link open at the same page?

How I can make the footer credits link open at the same page not by a new tab? It is now footer.credits.href you should implement something like footer.credits.to. No, the best way is not href or to. Let's change it to link. If the first character of value it will be to otherwise link.
There is another way of doing it like footer.credits.extrenal boolean value. This sound more better than checking for if the first character is / or not.

@bdrtsky ; should we shape a stable definition for a "link" type in our themes?
Maybe move these types to Elements?

As far as I know, latest NuxtLink support both internally and no need to differ href/to. We can try just to replace a with NuxtLink


Syncrobit Miners not connecting

I followed the steps to reimage my syncrobit miners with the nebra firmware. when i try to connect to them via the nebra app i get an error that says disconnected. Is there any solution to this? Or do I just need to keep these miners on the network for a long time until they start pushing packets to helium?

Do you mean when you try to connect via Bluetooth?
Which app are you using?

@NguyeningPlays can you share any screenshots or error messages you are seeing?

I think it could be the same issue as here... But not totally sure...
https://github.com/NebraLtd/hm-config/issues/233

here is the error I am getting.Sent from my iPhoneOn Feb 5, 2023, at 4:04 PM, Aaron Shaw @.***> wrote:
@NguyeningPlays can you share any screenshots or error messages you are seeing?
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

@NguyeningPlays nothing came through?
You might need to log on to GitHub and upload it

The error I am getting when I try to connect to the miner through the nebra app on my phone.

@NguyeningPlays do you have two trying to load at once? Can you try with just one at a time?

@NguyeningPlays Can you please let us know the app version and android version as well. Helps us reproduce the error.

I tried it individually and I still have the same issue. I mean I have 3 more miner I can try to reimage, but I feel like I will run into the same issue. Unless I am missing a step in the reimaging process.

@NguyeningPlays Can you please let us know the app version and android version as well. Helps us reproduce the error.

@NguyeningPlays do you have two trying to load at once? Can you try with just one at a time?

I tried it individually and I still have the same issue. I mean I have 3 more miner I can try to reimage, but I feel like I will run into the same issue. Unless I am missing a step in the reimaging process.

@NguyeningPlays do you have two trying to load at once? Can you try with just one at a time?

I tried it individually and I still have the same issue. I mean I have 3 more miner I can try to reimage, but I feel like I will run into the same issue. Unless I am missing a step in the reimaging process.

@NguyeningPlays Can you please let us know the app version and android version as well. Helps us reproduce the error.

I am using iPhone14 iOS 16.1.1 and Nebra app version 1.0.6. When I downloaded the app it asked to get permissions from the Helium app instead of me putting my seed phrase manually so I might log out and try to add that manually and see if I am able to add miners after that.

@NguyeningPlays Can you please let us know the app version and android version as well. Helps us reproduce the error.

I am using iPhone14 iOS 16.1.1 and Nebra app version 1.0.6. When I downloaded the app it asked to get permissions from the Helium app instead of me putting my seed phrase manually so I might log out and try to add that manually and see if I am able to add miners after that.

still having issues connecting to the miners...

I am having the same issue. "Error .... device was disconnected". I am using firmware 2<IP_ADDRESS>-16-helium-syncrobit-2023-02-24-OpenFleet. And I'm using IOS Nebra app version 1.0.11.

I've had this issue before, you need to use a phone with an older version of Bluetooth e.g. Bluetooth 5 or older. I have a Pixel 6 with Bluetooth version 5.2 and it doesn't work but if I use my older Huawei P30 Pro it works fine. This is an issue that has plagued the Syncrobit devices, not a Nebra issue.

Interesting. So this sounds like an issue with Bluetooth driver on the compute module units inside? However, this isn't hard coded so if running our firmware it would be the upstream drivers that balenaOS are using. Which is presumably coming from the Raspberry Pi firmware repo?

Raspberry Pi CM4 presumably if you are using our software?
The CM4 has Bluetooth 5.0 - but Ble 5.2 devices should be compatible with BLE5.0 I think right @pritamghanghas ?

Possibly related to this issue:
https://github.com/RPi-Distro/bluez-firmware/issues/8#event-8559576548

And

I tried a phone with an older version of blue tooth and got the same issue. so I am at a loss why my multiple miners dont work. with this firmware.

@NguyeningPlays can you try with the latest Nebra app?

I still get the same error. Sent from my iPhoneOn May 24, 2023, at 4:40 PM, Aaron Shaw @.***> wrote:
@NguyeningPlays can you try with the latest Nebra app?
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

Hello guys,
I am new here and also still with the topic of helium mining.
Unfortunately I am not getting anywhere with the setup. The hotspot does not want to connect to the Helium network and I do not understand why.
I already wrote to the support but didn't really get a solution.
I have created screenshots to show you what I mean exactly.
You are my hope to solve the problem.
I am very grateful for any helpful tips.

the latest version of the app shouldn't have the issue.

the latest version of the app shouldn't have the issue.

Thanks for the answer.
Which app do you mean?

I'm reading your ticket back so please allow me some time to respond, I see you've made multiple replies over the last few days, don't worry we can fix it just we're really busy and we want to answer everyone.
#430847 for Nebra Use

My issue never got fixed and its been like 6 months…Sent from my iPhoneOn Aug 4, 2023, at 5:20 AM, WayneNebra @.***> wrote:
I'm reading your ticket back so please allow me some time to respond, I see you've made multiple replies over the last few days, don't worry we can fix it just we're really busy and we want to answer everyone.
#430847 for Nebra Use
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

My issue never got fixed and its been like 6 months…Sent from my iPhoneOn Aug 4, 2023, at 5:20 AM, WayneNebra @.> wrote: I'm reading your ticket back so please allow me some time to respond, I see you've made multiple replies over the last few days, don't worry we can fix it just we're really busy and we want to answer everyone. #430847 for Nebra Use —Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.>

There is no issue to fix. The Bluetooth works fine


Add blueprint for Webpack

Add blueprint for using Webpack as frontend build tool / module bundler.

Modernized version no longer includes frontend code. Webpack bundling for backend apps makes little sense.


Common features

Hi,
is a little time that I use this plugin and I write some things that could be useful to many developers:

why not use tags git for the versions?
why dependencies are written in the README.md and not in package.json?

One piece of advice I can give is to make the plugin also available through bower and not only as a package npm.
If you agree I can give you a hand to do some of the things that I have suggested.

Hi @fox91,
of course you can help with these things!
Can you send a PR with the modification of package.json and the new bower.json file?
Then, I can tag the repository with the current version (0.1.6).
Feel free to collaborate with other suggestions. Thanks!

Hi @bielfrontera,
in the coming days I will provide the changes!


Choice covered by long decimals

Whats' the most UI friendly solution here ? Using scientific notation such as 1E-13 ?

Scientific notation may not suit all users, as it assumes familiarity. An alternative, user-friendly solution is preferable.
I suggest displaying a fixed number of decimal places (e.g., 4, 0.000) for long decimals in the UI, while providing a tooltip to show the full number when users hover or click on it.

We can shorten it


Opening DFM preview fails

OS: MacOS High Sierra
VS Code Version: 1.22.2
DocFX Extension version: 0.1.3
While working with files in https://github.com/MicrosoftDocs/sandbox, when I open try to view a DFM preview the extension fails with the follow error message
[Child process Error]: usage: chmod [-fhv] [-R [-H | -L | -P]] [-a | +a | =a [i][# [ n]]] mode|entry file ... chmod [-fhv] [-R [-H | -L | -P]] [-E | -C | -N | -i | -I] file ...

Hi @cecilphillip , thanks for reporting this.  Did you happen to launch the preview using the DocFX extension keybindings or through the markdown extension UI?

I tried opening it via the command palette DocFx: Open DFM Preview

Thanks for confirming.  I've opened an issue for this in the DocFx repo.  I'll close this one out but status can be tracked in the new issue.  Thanks @cecilphillip .


Deprecate existing code

+1 pending appveyor not taking forever

@mglodack: That means this will never be merged, because that's never going to happen
:rage:


[Question]: How can I reproduce the FullAttention results on the Ruler dataset

Describe the issue
Thank you for such a solid piece of work. I followed the instructions in the README and ran the following command:
bash run.sh gradientai/Llama-3-8B-Instruct-262k hf ./result
However, I couldn't reproduce the 4K context length results mentioned in the paper.
The results are as shown in the attached image.
Am I doing something wrong?

 0              1              2              3                4                5                6                7                8      9     10     11    12    13

0  Tasks  niah_single_1  niah_single_2  niah_single_3  niah_multikey_1  niah_multikey_2  niah_multikey_3  niah_multivalue  niah_multiquery     vt   cwe    fwe  qa_1  qa_2
1  Score          100.0          100.0          100.0            100.0            100.0            100.0             83.0            100.0  100.0  94.4  93.33  64.0  44.0
2  Nulls           0/25           0/25           0/25             0/25             0/25             0/25             0/25             0/25   0/25  0/25   0/25  0/25  0/25

Hi @LfieLike, thanks for your interest in MInference.
Indeed, we used this script to run the results, and they align quite closely with those in the RULER repo. It seems that QA1 and QA2 experienced a noticeable drop in points.
Could you try running the following command?
bash run.sh gradientai/Llama-3-8B-Instruct-262k minference ./result


ADBDEV-5549: Implement default transformation flags for gpfdist (#1152)

Implement default transformation flags for gpfdist (#1152)
Currently, gpfdist transformation can only be applied to table source on
external table level. It can be done by specifying #transform tag. Sometimes it
may be not handy to specify the same transformation for all source files. The
goal of the patch is to implement new flags with the default transformation name
for input and output transformations. The default transformation(s) can be set
at gpfdist start and applied only if table level transformation is not
specified.
New flags are a subject of only basic check. The idea was to keep the same
behavior and check transformation existence only at runtime.
The test shows a behavior described in patch goal.
Resolved Merge conflicts resolved in:

gpfdist_help
gpfdist.c
input/exttab1.source
output/exttab1.source

(cherry picked from commit 2f6e3ef9af0c74b5297a5577566fbf0d6b8c58e4)

Note: Do not squash to preserve authorship

In the description:

Resolved Merge conflicts resolved in:
sounds a bit strange...


Testing Nessus 7.0.2

okay, just doing a little testing of nessus 7.0.2 here.  First, I downloaded the latest RPM, created a new folder to hold the rpm in the repo.
step 1

adjusted the dockerfile to point to the new image.
COPY Nessus-7.0.2/Nessus-7.0.2-es5.x86_64.rpm /tmp/
# run the yum install twice as workaround for rpmdb checksum error with overlayfs
RUN (yum -y --nogpgcheck localinstall /tmp/Nessus-7.0.2-es5.x86_64.rpm || \
    yum -y --nogpgcheck localinstall /tmp/Nessus-7.0.2-es5.x86_64.rpm) && \
    yum clean all

step 2
I build the image locally.
cd ~/docker-nessus
docker build -t nessus-unlicensed .

### after it does it's build, check
docker images
nessus-unlicensed              latest              cc7c533368c4        12 hours ago        730MB

step 3
I run the image and license it via the GUI.
docker run -d --name nessus7 -p 8834:8834 --mac-address 02:42:ac:11:00:01  nessus-unlicensed

go to https://<IP_ADDRESS>:8834
step 4
Put in your license key and create an account

step 5
preserve the image data and now that it is licensed properly in /nessus-data
docker stop nessus7
docker commit nessus7 nessus-licensed

Notice unlicensed vs. licensed image sizes.

In this procedure, we call it nessus-unlicensed.  In my local images I just called it nessus.
cd nessus-data
docker cp nessus-licensed:/opt/nessus/sbin .
docker cp nessus-licensed:/opt/nessus/sbin .

step 6
now that we have the data, create the nessus-licensed-data image
docker build -t nessus-licensed-data .

step 7
Run the newly created nessus7 image with --volumes-from nessus-licensed-data
docker create --name nessus-licensed-data nessus-licensed-data true
docker run -d --name nessus72 -p 8834:8834 --mac-address 02:42:ac:11:00:01  --volumes-from nessus-licensed-data nessus7

Works to preserve the data needed for --volumes-from nessus-licensed-data

done.


Render Linode > Create > Details > Alert box below password generator.

After:

Before:

Coverage remained the same at 93.759% when pulling b17e232cf672cdb0785bd039866ca1461b23243a on na3d:fix-linode-create-details-box into 62e48243c409ebb3c53a1e9cea4a92503145326f on linode:master.


Memory Leak with shallowMount / mount

Subject of the issue
Seeing a 2MB heap size increase after each test using shallowMount / mount.
Steps to reproduce
Run this command with the below setup:
./node_modules/.bin/jest -- "DummyTest-test.js"
Vue Version 2.7.10
Vue Test Utils Version 1.3.3
Jest Version 29.0.3
Node Version 14.20.0
vue/vue2-jest Version 28.1.0
DummyTest-test.js
import { shallowMount } from "@vue/test-utils";
import DummyComponent from "../DummyComponent.vue";

let iterations = [...Array(9999).keys()];
let wrapper;
let heap;

afterAll(() => {
  iterations = null;
  wrapper = null;
  heap = null;
});

afterEach(() => {
  wrapper.destroy();
  wrapper = null;
  heap = null;
});

it.each(iterations)(`Test`, () => {
  wrapper = shallowMount(DummyComponent);
  heap = (process.memoryUsage().heapUsed / 1024 / 1024).toFixed(2);
  console.log(`Heap Size: ${heap} MB`);
  expect(true).toBe(true);
});

DummyComponent.vue
<template>

Hi

</template>

jest.config.js
module.exports = {
  testEnvironment: "jsdom",
  transform: {
    "^.+\\.js$": "babel-jest",
    "^.+\\.vue$": "@vue/vue2-jest",
  },
};

Expected behaviour
Heap Size should remain consistent after each iteration of the test.
Actual behaviour
Seeing a 2MB memory leak.

Is anyone else experiencing this issue?
Changing node versions (12, 16, 18) did not resolve the issue.
This is a vue 2 project, so I cannot use the Vue 3 version of vue-test-utils.

If anyone else is experiencing this issue or can reproduce with the steps listed in the original post, that would be great to know. The project I'm working on has ~6000 tests and this memory leak is causing trouble.

I am able to reproduce the issue

Uh oh... anyone up to dig into this and find the problem?

Any progress on this? This memory leak causes trouble in a test suite for a rather big component, where each mount increases the heap by ~5 MB which is not a problem on my pc locally, but the build pipeline is running out of memory frequently.


indexing for java and python

java is indexed.
but enrichDocumentInfo happens every time a file is opened and on every document change.
its probably not an issue when a file is opened but on document change it may happen too many times.
we need to check:

we enrich a DocumentInfo that was fetched from the index, we add the spans to DocumentInfo. it is the same reference that is in the cache.  so maybe the next time the file is opened we don't need to enrich again because the spans are there already. there is no api to update the cache with a new DocumentInfo like there is in Rider.
on document change, instead of fully computing code object discovery for the file we can process only the code block that was changed and update DocumentInfo if necessary. again, need to check if when updating a DocumentInfo that was fetched from the cache still has the spans that were added the first time.

python is not indexed, so again, when a file is opened its not such a big issue, but on docuement change we do full discovery for every event and maybe that is an issue.

when a document is changed in python we should think about not running fill discovery, maybe using a timer to reduce the amount of re-scanning of the whole file.


[BUG] dependency-watchdog scales KCM to 0 when creating a cluster on a seed running kubernetes 1.22.2

Describe the bug:
After creating a cluster on a seed that runs on kubernetes v1.22.2 the dependency-watchdog scales down the shoot's KCM to 0 because its external probe for the kube-apiserver fails. After around 15 minutes the external probe starts succeeding and the dependency-watchdog scales KCM back to 1.
Expected behaviour:
The dependency-watchdog's external probe to succeed and the KCM to not get scaled.
How To Reproduce (as minimally and precisely as possible):
Create a shoot cluster on a seed that runs on kubernetes v1.22.2. Wait for the KCM deployment to get created with 1 replica and afterwards observe that it gets scaled down to 0 replicas.
Logs:
I1025 12:20:43.601789       1 scaler.go:72] Update event on cluster: shoot--<project>--<name>
I1025 12:20:46.564940       1 reflector.go:268] k8s.io/client-go/informers/factory.go:135: forcing resync
I1025 12:20:54.122195       1 prober.go:360] shoot-kube-apiserver/shoot--<project>--<name>/internal: probe succeeded
I1025 12:20:54.122214       1 prober.go:375] shoot-kube-apiserver/shoot--<project>--<name>/internal: probe result: &scaler.probeResult{lastError:error(nil), resultRun:3}
I1025 12:21:04.122542       1 prober.go:363] shoot-kube-apiserver/shoot--<project>--<name>/external: probe failed with error: Get https://api.<shoot-name>.<project>.internal.dev.k8s.ondemand.com/version?timeout=10s: context deadline exceeded (Client.Timeout exceeded while awaiting headers). Will retry...
I1025 12:21:04.122576       1 prober.go:375] shoot-kube-apiserver/shoot--<project>--<name>/external: probe result: &scaler.probeResult{lastError:(*url.Error)(0xc00156cf60), resultRun:3}
I1025 12:21:04.122603       1 prober.go:405] Scaling down dependents of shoot-kube-apiserver/shoot--<project>--<name>: apps/v1.Deployment/kube-controller-manager: replicas=0: in progress...
I1025 12:21:05.277701       1 prober.go:476] Scaling down dependents of shoot-kube-apiserver/shoot--<project>--<name>: apps/v1.Deployment/kube-controller-manager: replicas=0: successful

Anything else we need to know?:
After some time, around 30 minutes, the kube-apiserver external probe starts working again and KCM gets scaled back to 1.
Environment:

Gardener version: master
Seed kubernetes version (use kubectl version): v1.22.2
Cloud provider or hardware configuration: so far observed on GCP and Azure
Others:

@plkokanov  -- I've also seen it during one of my local testing but it was mainly happening --

When machine creation has failed for some reason (this was observed with v1.35 upgrade and machines were in pending state, which was somehow resolved with v1.35.1 )
When I tried to delete such a cluster where machine creation was in pending state and not progressing, in such a case the KCM was continuously scale down and the deletion won't progress beyond a certain point.
Have you noticed this in similar condition.

Also I noticed there is already a known issue #25 by @amshuman-kr  on something similar to what I've observed.
Just wanted to confirm if you face the similar situation.

After some time, around 30 minutes, the kube-apiserver external probe starts working again and KCM gets scaled back to 1.

The external probe initially failing and then later succeeding after 15-30m seems to suggest DNS issues. Could it similar to #22?
I don't think #25 is relevant here because that may manifest only during shoot deletion.

I also suspected that it could be caused by the DNS, but it also happens when a cluster is created (so no DNS switch). I will investigate further next week, though

Update: this issue does not seem to happen on AWS (coincidentally route53 is where the DNS records for my tests are created). And since last week I'm also having trouble to reproduce it on GCP and Azure

This issue strikes again on Azure.

In the last 14 days all shoot-release-test-suite runs (against a Shoot that is just migrated) failed.
Symptoms are the same - KCM is wrongly scaled down to 0 by dependency-watchdog. Log output from test execution:
{"level":"info","msg":"Deployment kube-scheduler is healthy with 1/1 replicas","ts":"2022-01-04T16:26:29.160Z"}
{"level":"info","msg":"Deployment kube-controller-manager is healthy with 0/0 replicas","ts":"2022-01-04T16:26:29.160Z"}
{"level":"info","msg":"Deployment kube-apiserver is healthy with 1/1 replicas","ts":"2022-01-04T16:26:29.160Z"}

I was able to reproduce this issue and once I took a tcp dump to see where the connection is breaking. From what I see it seems that the API server url is resolved correctly and a packet is sent to the right place, however there are not any packets coming back to the dependency-watchdog.

I tried to reproduce the issue several times with a seed with kubernetes v1.22.7 on gcp creating new clusters while monitoring the dependency-watchdog logs and the kube-controller-manager availability. Unfortunately, I could not reproduce this issue.
Our somewhat recent changes (a couple of weeks ago) to improve istio-ingressgateway stability might have helped fixing this issue or I was just lucky/unlucky so that it always succeeds for me.
Please report if this issue is still occurring even for the migration scenario.

I found what the reason for this error is: https://github.com/gardener/gardener/pull/5995#issuecomment-1138921606
And I also opened an issue: https://github.com/gardener/gardener/issues/6036
So I will close this now as this will be addressed in gardener.


Fixed spelling of Mark Pilgrim's name

The real title of his book (Dive into Python) is used, as is Steve Jobs's name, so I assume this is just a typo and not some legal issue.

yeah, thanks :)


Prevent SDK 3 to 2 transition in UI

This disables the option in the project settings UI to switch a non SDK-2 project to SDK 2.

The inverse (2 to 3) should warn that it is irreversible before committing to it.

Good idea


Invalid GitHub URL for hello.sh file

Hello,
In the Azure PowerShell  and the Azure CLI examples, there seems to be an invalid GitHub link for the hello.sh file. I get a 404 error when testing the snippets.
Is there any alternative GitHub RAW URL we can update both the examples with?

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

ID: d2de55b5-9d87-fdb9-3040-6bdf3cf8ff0b
Version Independent ID: 4e3fbc53-a0d2-182a-9d57-b94caba27fbf
Content: Azure VM extensions and features for Linux - Azure Virtual Machines
Content Source: articles/virtual-machines/extensions/features-linux.md
Service: virtual-machines
Sub-service: extensions
GitHub Login: @MsGabsta
Microsoft Alias: gabsta

@ericd-mst-github, I will take a look at this.

Hi @MsGabsta just wanted to check if there are any updates to this. Thanks!

Thank you for your feedback @ericd-mst-github, the URL given "https://raw.githubusercontent.com/me/project/hello.sh" is an example only its not intended to be a working example.

#please-close


[FLINK-6652] [core] Fix handling of delimiters split by buffers in DelimitedInputFormat

This PR fixes a bug introduced by fix FLINK-5771 / PR #3316. That fix resets the read position if a character sequence matches a prefix of a multi char delimiter. This will yield an IndexOutOfBoundsException if prefix spans the boundaries of the read buffer.
This fix moves the prefix of the multi char delimiter to the beginning of the read buffer if the read buffer was completely read. In case the read position has to be reset, the prefix is still in the read buffer and can be parsed again.

FYI, the reference solutions to the batch training exercises are failing, and it looks to me like it's because of this issue.

Thanks for the review @zentol!
I moved the check to initBuffers() which is called from open().

+1.


Page Send Event

I am trying to do a keypress with phantomjs on a page...
page.sendEvent('keypress', page.event.key.A, null, null, 0x02000000 | 0x08000000);
this works on phantomjs... how can we let key the keypress event to happen with this library?
Couldn't find anything in docs related to sendEvent... Please if you can add an example...
Thank you in advance

Hi. This sendEvent is implemented. But page.event.key.A is not. You have to find the value for that yourself.
phantomjs> page.event.key.A
65

Remember that this is just a wrapper around phantomjs so not everything is implemented. There is a difference between NodeJS and PhantomJS. If you need 100% features then just using PhantomJs is the better option.

@amir20 i am new to this project... do we have to invoke page.sendEvent with page.invokeMethod('sendEvent')?
I was using this in vanilla phantom script: page.sendEvent('keypress', page.event.key.A, null, null, 0x02000000 | 0x08000000);
Can you  please guide me how to convert this for your project... will be really grateful to you for your help

You can use page.sendEvent but, as @amir20 said, you'll have to find the key value yourself, and you can do just that here. As you can see page.event.key.A corresponds to the number 65, so your snippet could be rewritten as:
page.sendEvent('keypress', 65, null, null, 0x02000000 | 0x08000000)

@elias-winberg I am stuck with this for around 3 weeks now... i just cannot get the keypress event working... (it works when i write a script for phantomjs through cli)
My code:
phantom.create()
      .then(instance => {
        phInstance = instance;
        outObj = phInstance.createOutObject();
        outObj.urls = [];
        return instance.createPage();
      })
      .then(pagex => {
        page = pagex;
        page.setting('userAgent','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36');
        return page.open(`http://xyz.com`);
      })
      .then((data)=> {
        page.invokeMethod('sendEvent', 'keypress', 65, null, null, 0x02000000 | 0x08000000);
        return 1
      })
      .then(data2=> {
        page.close();
        phInstance.exit();
        res.send(data2 + ' ')
      })
      .catch(error => {
        console.log(error);
        phInstance.exit();
      });

Can you please tell why this is not able to fire keypress event....??? i would be very thankful for your help

There are various issues with your code, but I tried to resolve them. Let me know if it works.
phantom.create()
    .then(instance => {
        phInstance = instance;
        outObj = phInstance.createOutObject();
        outObj.urls = [];
        return instance.createPage();
    })
    .then(pagex => {
        page = pagex;
        return page.setting('userAgent', 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36');
    })
    .then(() => {
        return page.open(`http://xyz.com`);
    })
    .then(status => {
        return page.evaluate(function (selector) {
            document.getElementById(selector).value = '1234';
            return document.getElementById(selector).value;
        }, 'myInput');
    })
    .then(data => {
        return page.sendEvent('keypress', 65, null, null, 0x02000000 | 0x08000000);
    })
    .then(data => {
        res.send(data + ' ');
        phInstance.exit();
    })
    .catch(error => {
        console.log(error);
        phInstance.exit();
    });

@elias-winberg Really Thankful to you for your kind help... it worked !! Cheers!.... Can you please help me out on more thing... is there a way to wait for
page.property('onResourceRequested', function (requestData,networkRequest, out) {} function to end before sending the res.send()... i am using the this way (last part with outObj) to save some of the urls and the send it as response... but the res.send() is fired before onResourceRequested is finished.. i can see the needed  urls in console and in the outObj... Thank You again... you saved my day...

Can you not send the data once the 'onLoadFinished' event is emitted?

@elias-winberg let me explain... the page loads.. the keypress fires an ajax... which gives me some required urls... can onLoadFinished be setup for the ajax request which is fired after page has loaded and keypress event has happened ?? (I think that the onLoadFinished fires only for initial page load- not after that). Thank you


Non-coder, but willing to pay for setup

Hey Jussihi,
Is it possible you can help me set this beauty up for a fee?
I'm not trying to lowball, I know how to value the time of a coder ;p
If interrested contact me on

I'm absolutely not taking money


prepare testing for subtree

tests for core would probably fail with the current subtree state

https://app.circleci.com/pipelines/github/determined-ai/shared-web/38/workflows/55f95f63-129f-4e96-b46d-5f7517d6eda1/jobs/46 this is the expected test failure

consider this case:
change is introduced in core to shared.
how would a dev in core run tests against saas. this would require the test script to be able to "push" the changes from core to shared-web or saas repo. (maybe a cp -r?)


insert_batch not working CI - 3.1.5

Hi Team,
I have issue in CI with php version 5.6.30, I am trying to execute the insert_batch on following data but it is giving me several warnings.
$orders = array() for(loop) {      $orders[] = array("key1" => "value1", "key2" => "value2") }
My array will look like following.
array(   [0] => array("key1" => "value1", "key2" => "value2") )
And I receive so many warnings some of them are as follows.
A PHP Error was encountered Severity: Warning Message: Invalid argument supplied for foreach() Filename: database/DB_query_builder.php Line Number: 2582
I am stuck in this issue it is blocking my further implementation. Am I missing something or any work around for this situation?
BTW What CI documentation suggest is something like this.
array(array("key1" => "value1", "key2" => "value2"))
which is not possible as far as I see until I create it manually.

Hi Guys, it seems to be issue from my end. it is solved now.
thanks


SteamApiError

Hi!
I got the following error when I was trying to make list
SteamApiError: __init__() got an unexpected keyword argument 'recurring_sub'

Can't reproduce, looks like extra argument in steam api object
Add ignoring all unknown attributes 629fad7ae2e7045f79d8f800b88ae65b97d511b6
Wait for release


[flash_ctrl] err_code.rd_err doesn't capture intg error in the middle of transaction

use #15143
cmd:
./util/dvsim/dvsim.py ./hw/ip/flash_ctrl/dv/flash_ctrl_sim_cfg.hjson -i flash_ctrl_integrity -r 1 -s<PHONE_NUMBER> --waves
@4312991.8ns
tb.dut.u_eflash.gen_flash_cores[1].u_core.u_rd.intg_ecc_err_o
tb.dut.u_eflash.gen_flash_cores[1].u_core.rd_err_o
tb.dut.u_eflash.gen_flash_cores[1].u_core.rd_done_o
tb.dut.u_reg_core.u_err_code_rd_err.qs[0:0]
This is ctrl read and read response. Integrity error is injected from the storage.
Intg err also triggers rd_err but it cannot be captured in err_code.rd_err.

@jdonjdon i might need some more context on what we are trying to test here.
Specifically in this case, the rd_err_o you're seeing at 17320 is actually a read error for the host.
So instead of seeing rd_done_o, you'll see host_req_done_o.
On the next one, it's actually a controller issued transaction, that's why you'll see rd_done_o.
Although now i'm worried we're mixing the host read done and controller read done in the testbench, so wanted to check with you to see if i'm misunderstanding.

@jdonjdon i might need some more context on what we are trying to test here. Specifically in this case, the rd_err_o you're seeing at 17320 is actually a read error for the host. So instead of seeing rd_done_o, you'll see host_req_done_o.
On the next one, it's actually a controller issued transaction, that's why you'll see rd_done_o.
Although now i'm worried we're mixing the host read done and controller read done in the testbench, so wanted to check with you to see if i'm misunderstanding.

@tjaychen Ah~ I messed up while I try to narrow down the issue. Let me rewrite description.
Please see the above.

New figure is attached here

@jdonjdon sorry i can't tell what's changed. It looks the same to me.

o i see. Let me have a closer look.

is the test supposed to fail? because mine is just running.

is the test supposed to fail? because mine is just running.

@tjaychen yes this test will fail with following error
UVM_ERROR @ 4313603.8 ns: (csr_utils_pkg.sv:435) [csr_utils::csr_rd_check] Check failed obs == exp (0 [0x0] vs 1 [0x1]) Regname: flash_ctrl_core_reg_block.err_code.rd_err

@jdonjdon are you talking about this timestamp here?
if yes... this is still a case where the error is going back to the host.
 Just because op_start is set doesn't mean the controller will win this round.  In my setup at least the controller is still losing.  Can you check ctrl_fsm_idle? That will tell you who should be winning the arbitration.

@tjaychen This is TB issue.
integrity error is not asserted for some transaction even though it is marked 'err_asserted'.
Fixed in #15142


Session viewport pause resume

The list of SessionEvents defined in the C++ had been updated but the Scala-side hadn't yet, so I added https://github.com/ctc-oss/omega-edit/pull/280/commits/655caff079ebaa5e51317be20d7448843298a550.


Website URL/certificate woes...

Hello fellows, long time no see, glad to see the project is still kicking.
the Github "homepage" field points to https://socketstream.com whose certificate has expired. The HTTP URL is redirected to HTTPS.
The certificate for the .org is registered for *.anaphenix.com, but at least the HTTP version is served.
Edit: looking deeper into the cert error messages, they are not self-signed as I initially though. Post updated accordingly.

Hi,
I've started the process of reissuing the certificate for it, we will see how it goes.

The SSL cert for socketstream.com has been updated

👍
Works from here now.


Port codes related to cpu cores from clickhouse

What problem does this PR solve?
Issue Number: close #6429 #6434
Problem Summary:
What is changed and how it works?
Check List
Tests

[ ] Unit test
[ ] Integration test
[ ] Manual test (add detailed scripts or steps below)
[ ] No code

Side effects

[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Breaking backward compatibility

Documentation

[ ] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Changes MySQL compatibility

Release note

None

/run-build-arm64-release

/run-build-arm64-release

/rebuild

/cc @windtalker @SeaRise

can use the value in server info https://github.com/pingcap/tiflash/blob/master/dbms/src/Server/ServerInfo.h which is more accurate and compatible.

can use the value in server info https://github.com/pingcap/tiflash/blob/master/dbms/src/Server/ServerInfo.h which is more accurate and compatible.

values in ServerInfo is calculated by this function, so ServerInfo can't help us.

can use the value in server info https://github.com/pingcap/tiflash/blob/master/dbms/src/Server/ServerInfo.h which is more accurate and compatible.

values in ServerInfo is calculated by this function, so ServerInfo can't help us.

no, actually it reuse the logic from tivk https://github.com/tikv/tikv/blob/master/components/tikv_util/src/sys/cgroup.rs

We can get the server_info from tikv as @Lloyd-Pottiger said, which is more portable than the CH's one. https://github.com/pingcap/tiflash/issues/4879
I did not get why this PR is related to https://github.com/pingcap/tiflash/issues/6434, can you elaborate more about it?

We can get the server_info from tikv as @Lloyd-Pottiger said, which is more portable than the CH's one. feat: add a function to get number of logical cpu cores #4879
I did not get why this PR cause the error in TiFlash get wrong cpu cores in k8s pod #6434, can you elaborate more about it?

max_streams of xxxxInputStream is determined by Context's max_threads which is initialized by getNumberofPhysicalCPUCores(). In x86 virtual environment, we get max_threads as 48 which is physical cpu cores while getting max_threads as 128 which is logical cpu cores in arm virtual environment. 128 is much larger than 48, so it will use more threads and exceed the limit more easily.

/run-build-arm64-release

/run-build-arm64-release

/run-build-arm64-release

/run-build-arm64-release

/run-all-tests

/run-all-tests

/run-all-tests

/run-all-tests

/merge

/run-all-tests


Scrollable Popup Menu

Hi! I'm currently trying to do a scrollable popup menu, but I'm not sure if this is the right way to do it. I tried asking in stack overflow but no answers so far.
The question link as reference!
https://stackoverflow.com/questions/51644300/scrollable-flutter-popup-menu
Thanks in advance!

@zoechi actually the question is 22 days old, that’s why I’m trying here too.

I see. I missed that.
Perhaps you could try to make it more clear what you try to accomplish, what you tried, and where you failed.

No worries! What would be better, stack overflow clarification or post what you requested in this issue / new issue?

It would be better to keep this question on StackOverflow.
GitHub isn't the best place for support questions.
The SO question should show some effort, some code that demonstrates what you tried, and an explanation how the result differs from the expected result.
Questions that are just ask for code are often not answered.

Okk! Will do, thanks a lot!


config: TolerateMissingHugePagesCgroupController -> TolerateMissingHugetlbController

ref: https://github.com/containerd/cri/pull/1519#issuecomment-652331640
Also, the TOML tag didn't correspond with the Go struct name and the JSON tag.

@dims PTAL

@AkihiroSuda looks like it's officially called "HugeTLB Controller" in Kernel documentation?
I am fine either way @AkihiroSuda :) if i remember right, i was just trying to reduce the length of the key.
[1] https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v1/hugetlb.html

/test pull-cri-containerd-node-e2e

Updated to use the short name and also added the doc

/test pull-cri-containerd-verify


Visual script nodes list or automated node path

Godot version:
v3.1.dev.calinou.1800664
OS/device including version:
windows 10 x64
Issue description:
When putting a function node (ex:get position) from nodes in scene(ex: area2d), and change hierarchy (ex:set area2d child to position2d) the path in the function node will be incorrect and needs to change by hand (need to set the "node path" manually).
But in big project changing hierarchy of just one node will affect many function nodes, and they all need to correct the path for each function node manually.
In this situation godot need a list of function nodes that needs to be corrected, and when click on item in this list will select and focus on the specified node.
Or make the nodes in the scene tab has a unique name or ID and the path will point always to the correct node even if hierarchy changed,in this case a list of function nodes is needed too for function nodes without path (node deleted and function node remain).

The same thing happens in gdscript. I recommend using a export variable.

It'll save the info inside of whatever scene the vs is attached.

Exported variables are good for organizing , what I mean if you use dragged properties and functions and then you change hierarchy, the project will mess up, and if you don't know the nodes that needs to be fixed then you have to check all nodes !
I think Godot 1)need to show the nodes with wrong path (mark visually / list)
2)need to show the node where the error happen (zoom to node + mark visually)
3)need to show search result for specific node (list of result)

Feature and improvement proposals for the Godot Engine are now being discussed and reviewed in a dedicated Godot Improvement Proposals (GIP) (godotengine/godot-proposals) issue tracker. The GIP tracker has a detailed issue template designed so that proposals include all the relevant information to start a productive discussion and help the community assess the validity of the proposal for the engine.
The main (godotengine/godot) tracker is now solely dedicated to bug reports and Pull Requests, enabling contributors to have a better focus on bug fixing work. Therefore, we are now closing all older feature proposals on the main issue tracker.
If you are interested in this feature proposal, please open a new proposal on the GIP tracker following the given issue template (after checking that it doesn't exist already). Be sure to reference this closed issue if it includes any relevant discussion (which you are also encouraged to summarize in the new proposal). Thanks in advance!


Missing Features for MT3620, RTC with clock selection and battery backup

When will this be supported on the device, US version (SKU:102991012)?

Hi - please see Using the real-time clock with Azure Sphere, added as part of our 18.11 release.


Missing image manifest

Latest image seems to be missing manifest.
sha256-138adba92408  dfddc826cf8271902eba7da8360ec3fc08e525d89d24d242d9ed.sig missing in repository ghcr.io/fluxcd/helm-controller
This is observed in a flux instance that tries to retrieve the image.

The sig layer is the Cosign signature, why would you use that as a container image?

These are the images shipped with latest Flux:
$ flux install --export | grep ghcr
        image: ghcr.io/fluxcd/helm-controller:v0.29.0
        image: ghcr.io/fluxcd/kustomize-controller:v0.33.0
        image: ghcr.io/fluxcd/notification-controller:v0.31.0
        image: ghcr.io/fluxcd/source-controller:v0.34.0

I just noticed that there was 0 downloads on the imagetag that flux is having an issue with. https://github.com/fluxcd/helm-controller/pkgs/container/helm-controller
But using the release tag is better anyway I think, but should it be possible to refer the sha-tag?

The sig layer is a signature, has nothing to do with the actual image. If you want to use the SHA, GH displays it here https://github.com/fluxcd/helm-controller/pkgs/container/helm-controller/67446687?tag=v0.29.0

Anyway I see no reason why would you use a SHA, we don't overrite tags, we follow semver, so it's best to use the tag.

Ok, could be some misconfiguration the flux instance. Sorry for reporting this as an issue.

I did some testing with
docker manifest inspect --verbose ghcr.io/fluxcd/helm-controller:v0.28.1
which returns a manifest.
but this does not
docker manifest inspect --verbose ghcr.io/fluxcd/helm-controller:v0.29
manifest unknown

Well that's a Docker bug, works fine with crane:
$ crane manifest ghcr.io/fluxcd/helm-controller:v0.29.0
{
  "mediaType": "application/vnd.oci.image.index.v1+json",
  "schemaVersion": 2,
  "manifests": [
    {
      "mediaType": "application/vnd.oci.image.manifest.v1+json",
      "digest": "sha256:c37ddefc9aa52dd4193eb3ec970f679edb89f030efde19b61f6dc55ef5ab646e",
      "size": 865,
      "platform": {
        "architecture": "amd64",
        "os": "linux"
      }
    },
    {
      "mediaType": "application/vnd.oci.image.manifest.v1+json",
      "digest": "sha256:9a8b1ff0773d46534451996b36ea87ba515511672be176ac491828d769caf700",
      "size": 865,
      "platform": {
        "architecture": "arm",
        "os": "linux",
        "variant": "v7"
      }
    },
    {
      "mediaType": "application/vnd.oci.image.manifest.v1+json",
      "digest": "sha256:83550c8b00c50e7b940db12ea80bc3fe45b0b4d6b61b0acd0e9d34ba365ad619",
      "size": 865,
      "platform": {
        "architecture": "arm64",
        "os": "linux"
      }
    },
    {
      "mediaType": "application/vnd.oci.image.manifest.v1+json",
      "digest": "sha256:9a28867faa0547576ac110fe1306d9547aec700873d2985ef1192ccb3135634a",
      "size": 840,
      "annotations": {
        "vnd.docker.reference.digest": "sha256:c37ddefc9aa52dd4193eb3ec970f679edb89f030efde19b61f6dc55ef5ab646e",
        "vnd.docker.reference.type": "attestation-manifest"
      },
      "platform": {
        "architecture": "unknown",
        "os": "unknown"
      }
    },
    {
      "mediaType": "application/vnd.oci.image.manifest.v1+json",
      "digest": "sha256:6ad871a8283ef3212b9d3e53531188529422df5912fb01a739562557339cc672",
      "size": 840,
      "annotations": {
        "vnd.docker.reference.digest": "sha256:9a8b1ff0773d46534451996b36ea87ba515511672be176ac491828d769caf700",
        "vnd.docker.reference.type": "attestation-manifest"
      },
      "platform": {
        "architecture": "unknown",
        "os": "unknown"
      }
    },
    {
      "mediaType": "application/vnd.oci.image.manifest.v1+json",
      "digest": "sha256:00e71909ad39165ed34d8c9770286b87a547d2a1f032266ba336a39a40beac60",
      "size": 840,
      "annotations": {
        "vnd.docker.reference.digest": "sha256:83550c8b00c50e7b940db12ea80bc3fe45b0b4d6b61b0acd0e9d34ba365ad619",
        "vnd.docker.reference.type": "attestation-manifest"
      },
      "platform": {
        "architecture": "unknown",
        "os": "unknown"
      }
    }
  ]
}

You need to also use buildx like so:
docker buildx imagetools inspect ghcr.io/fluxcd/helm-controller:v0.29.0

@dagb we build the images with Docker Buildkit, and in the latest release, Docker switch the images to application/vnd.oci.image.index.v1+json, older versions were using application/vnd.docker.distribution.manifest.list.v2+json. I guess docker manifest wasn't update along with Buildkit... you may want to report this bug to the Docker team.

Thanks for noticing me. In fact docker manifest inspect now works, but flux still complains. Guess there is a bug there too.
flux will fail to auto-release workloads with matching images, ask the repository administrator to fix the inconsistency","ts":"2023-02-06T06:53:31.943522145Z","warn":"manifest for tag sha256-138adba92408dfddc826cf8271902eba7da8360ec3fc08e525d89d24d242d9ed.sig missing in repository ghcr.io/fluxcd/helm-controller

Who longs that error? I f it’s Flux v1, we no longer maintain it.

Yes it is flux v1, so that could be the problem here.

Flux v1 doesn't work on signed images, you need use Flux v2 image automation.


BitmapText from atlas doesn't display properly with canvas renderer

Version
Phaser 3.52 and newer
Description
I use the technique when I combine bitmap font texture with atlas to reduce draw calls and improve performance. It stopped working since the commit https://github.com/photonstorm/phaser/commit/9116eddf99c40d236c6af628894b223ee3531ed6
Example Test Code
https://codesandbox.io/s/laughing-framework-44p38?file=/index.ts
Additional Information
This example also doesn't work if you will change renderer (line 37) to Canvas - http://labs.phaser.io/edit.html?src=src\game objects\bitmaptext\static\bitmaptext-atlas.js

Thanks for opening this issue, and for submitting a PR to fix it. We have merged your PR into the master branch and attributed the work to you in the Change Log. If you need to tweak the code for whatever reason please submit a new PR.


Add support for SH1106

This PR adds support for SH1106 requested in #4. We do not need to change the initialization for this to work, so this can be done without having to do another hardware abstraction like done in #52. Thanks to @hallard for working on the initial PR.
Using the SH1106 Display is as simple as including #include <SH1106.h> and using it via the constructor SH1106. As done for the SSD1306 SH1106 is an alias of SH1106Wire.
I also implemented the display using brzo in SH1106Brzo.h.

Looks good. Thank you @FWeinb and @hallard!