How do I configure webpack to expose my javascript class in the global context?

Laravel Mix Version: 0.8.3
Node Version (node -v): 7.6.0
NPM Version (npm -v):  4.2.0
OS: Windows 10

Description:
How do I configure webpack to expose my javascript class in the global context within a variable of my own, like MyClass? I have the same question as in this post http://stackoverflow.com/questions/34357489/calling-webpacked-code-from-outside-html-script-tag
How do we configure that in our webpack.mix.js?

Can't you just assign it to the window object after your import it?
import MyClass from './MyClass.js';
window.MyClass = MyClass;


Canary/Active Cluster Retry on 404

WARNING: If you want to report crashes, leaking of sensitive information,
and/or other security issues, please consider
reporting them using appropriate channels.
Title: Retry request on another cluster in weighted cluster
Description:
We are in the process of setting up Envoy to use as a Load Balancer for an application that serves a mix of HTML pages and static files. We are setting up a weighted cluster for Canary deploys, so that we can send fractional traffic to the Canary. However, since the servers serve static files, this creates a problem. There are some cases in which a request may be routed based on weight to the active cluster, but the file doesn't exist on that cluster. In this case we want to retry the request against the canary. I have setup the retry policy, but that only seems to retry against the same cluster, not the other cluster. Is this a configuration issue, or a limitation of envoy?
Here is our virtual host config -
            virtual_hosts:
              - name: "site"
                domains: ["*"]
                retry_policy:
                  retry_host_predicate:
                    - name: envoy.retry_host_predicates.previous_hosts
                  host_selection_retry_max_attempts: 3
                  retry_on: "retriable-status-codes"
                  retriable_status_codes: [404]
                routes:
                  - match:
                      prefix: "/"
                      headers:
                        - name: "cookie"
                          safe_regex_match: { google_re2: {}, regex: ".*?(srv\\=canary).*?" }
                    route: { cluster: canary }
                  - match:
                      prefix: "/"
                      headers:
                        - name: "cookie"
                          safe_regex_match: { google_re2: {}, regex: ".*?(srv\\=active).*?" }
                    route: { cluster: active }
                  - match: { prefix: "/" }
                    route:
                      weighted_clusters:
                        clusters:
                          - name: active
                            weight: 95
                            response_headers_to_add:
                              - header: { key: Set-Cookie, value: "srv=active; HttpOnly; SameSite=Lax; Path=/;" }
                          - name: canary
                            weight: 5
                            response_headers_to_add:
                              - header: { key: Set-Cookie, value: "srv=canary; HttpOnly; SameSite=Lax; Path=/;" }

          http_filters:
          - name: envoy.router

[optional Relevant Links:]=
Trying to use the documentation here -
https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/http/http_connection_management#arch-overview-http-retry-plugins
https://www.envoyproxy.io/docs/envoy/latest/api-v2/api/v2/route/route_components.proto#envoy-api-msg-route-retrypolicy

cc @snowp @zuercher. I know this comes up occasionally and we should probably have a FAQ or some guidance on this. I think this can probably be done either with the subset LB (using metadata) or possibly the aggregate cluster but I'm not sure and will defer to them.

Also wanted to chime in that we're facing a similar situation.
This was surprising to find as the default behavior of retrying against a potentially bad cluster seems to be a bad idea.  If the original request had a 50/50 chance of going to a bad cluster, the retries should be subject to the same weighting rule, or at least have an option to force the retry against all clusters or a specific subset of clusters.

Currently the only way to retry between clusters is to use the aggregate cluster - none of the routing/retry mechanism are able to target more than one cluster for a given route, so the only way to hit more than one is to aggregate multiple with the cluster.
The weighted cluster route is a fairly simple dice roll between the listed clusters, with the random value only computed once (so that filters can clear the route cache without the result changing).
I think you could get the behavior you describe by using aggregate clusters to dictate the retry preferences:
Assuming you want to hit cluster A and B, define aggregate cluster AB and aggregate cluster BA (which orders A and B in opposite orders). Then do a weighted cluster route between AB and BA, with the previous_priorities retry plugin enabled. That way retries should walk down the list of priorities, hitting the other cluster after the first failure.
I'm not sure if we want to try to make weighted_cluster more flexible by itself or if we think that adding more docs around these kind of retry setups would be sufficient.

Okay, I think I am understanding. However, I can see in the docs here for Aggregate Clusters that the retry priorities won't work? https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/aggregate_cluster#example
here is a larger snippet of the config. I feel like this is close to what you are describing, however it's not working.
         route_config:
            name: ${STACK_NAME}
            virtual_hosts:
              - name: ${STACK_NAME}
                domains: ["*"]
                routes:
                  - match:
                      prefix: "/"
                      headers:
                        - name: "cookie"
                          safe_regex_match: { google_re2: {}, regex: ".*?(_wm_${STACK_NAME}_srv\\=canary).*?" }
                    route:
                      cluster: canary
                      metadata_match:
                        filter_metadata:
                          "envoy.lb":
                            "stage": "canary"
                  - match:
                      prefix: "/"
                      headers:
                        - name: "cookie"
                          safe_regex_match: { google_re2: {}, regex: ".*?(_wm_${STACK_NAME}_srv\\=active).*?" }
                    route:
                      cluster: active
                      metadata_match:
                        filter_metadata:
                          "envoy.lb":
                            "stage": "active"
                  - match: { prefix: "/" }
                    route:
                      retry_policy:
                        retry_priority:
                          name: envoy.retry_priorities.previous_priorities
                          typed_config:
                            "@type": type.googleapis.com/envoy.config.retry.previous_priorities.PreviousPrioritiesConfig
                            update_frequency: 2
                        retry_on: retriable-status-codes
                        retriable_status_codes:
                          - 404
                      weighted_clusters:
                        clusters:
                          - name: active_then_canary
                            weight: ${ACTIVE_WEIGHT}
                            response_headers_to_add:
                              - header: { key: Set-Cookie, value: "srv=active; HttpOnly; SameSite=Lax; Path=/;" }
                          - name: canary_then_active
                            weight: ${CANARY_WEIGHT}
                            response_headers_to_add:
                              - header: { key: Set-Cookie, value: "srv=canary; HttpOnly; SameSite=Lax; Path=/;" }

          http_filters:
          - name: envoy.router
  clusters:
    - name: canary_then_active
      connect_timeout: 0.25s
      lb_policy: CLUSTER_PROVIDED
      cluster_type:
        name: envoy.clusters.aggregate
        typed_config:
          "@type": type.googleapis.com/envoy.config.cluster.aggregate.v2alpha.ClusterConfig
          clusters:
            # cluster primary, secondary and tertiary should be defined outside.
            - canary
            - active
    - name: active_then_canary
      connect_timeout: 0.25s
      lb_policy: CLUSTER_PROVIDED
      cluster_type:
        name: envoy.clusters.aggregate
        typed_config:
          "@type": type.googleapis.com/envoy.config.cluster.aggregate.v2alpha.ClusterConfig
          clusters:
            # cluster primary, secondary and tertiary should be defined outside.
            - active
            - canary
    - name: active
      connect_timeout: 0.25s
      type: STRICT_DNS
      lb_policy: ROUND_ROBIN
      load_assignment:
        cluster_name: active
        endpoints:
          - lb_endpoints:
              - endpoint:
                  address:
                    socket_address:
                      address: ${ACTIVE_UPSTREAM}
                      port_value: ${ACTIVE_UPSTREAM_PORT}
    - name: canary
      connect_timeout: 0.25s
      type: STRICT_DNS
      lb_policy: ROUND_ROBIN
      load_assignment:
        cluster_name: canary
        endpoints:
          - lb_endpoints:
              - endpoint:
                  address:
                    socket_address:
                      address: ${CANARY_UPSTREAM}
                      port_value: ${CANARY_UPSTREAM_PORT}
                metadata:
                  filter_metadata:
                    "envoy.lb":
                      "canary": true

any help would be appreciated.

Hi @bringking, do you managed to get it to work? Can you share how you accomplished it?


Create a Data Integration solution page

Story
No response
Description
Create a new solution page that focuses on the Data Integration use case.
Here is a rough draft of the content. https://docs.google.com/document/d/1ErE2dsYHg5tdCDDVMpBC9PTcmASSK8No6D7KCzivkb8/edit?usp=sharing

Just checking, given you've assigned this to yourself Ian, are you planning on dev'ing/designing yourself?

@joepavitt The formatting is too complicating for me to do efficiently so I need your help. I have added all the content and I think it all fits. The section on the challenges needs formatting. I also want to have at the top a graph similar to below but nicer looking.  I will open an art request too.

I have linked to the branch I created. At least I hope I have....

If you have any picture on what you'd like layout wise, please do also send that, can be in any format (Figma, Powerpoint, Pen/Paper) just so I know what you were aiming for.

yes, that's hte diagram you wanted though, right? Not the page layout?

Very quick layout draft, ignore content of diagram, but layout of sections is in place, obviously subject to feedback/improvements:
https://user-images.githubusercontent.com/99246719/230168311-7bf4aa17-bbfd-497d-ad99-895273770e60.mov

updated prototype: https://www.figma.com/proto/hXDN5PnY3TmeQSv3n7Hna5/FlowForge-Website?page-id=0%3A1&node-id=1236-6629&viewport=-20944%2C-263%2C0.48&scaling=min-zoom&starting-point-node-id=804%3A2591&show-proto-sidebar=1
https://user-images.githubusercontent.com/99246719/233120897-3706559c-a48a-4266-95cb-24ca67794498.mov

@iskerrett is there any particular CTA/message you want to have at the bottom of this page like we do on the others? Not seeing anything in the Google doc

How about something like:
'Contact us to discover how FlowForge can help use Node-RED for your Data Integration requirements.


Update cli commands

Fixes #15144

/assign @chenopis

Seems still not correctly showed on page...
website:

vs
md file preview:

Seems still not correctly showed on page...
website:

vs
md file preview:

should be fixed now

/lgtm


Generated Issue: ConnectionException

Exception: Predis\Connection\ConnectionException
Code: 10061
Message:
Request: GET /Jikan-rest/jikan-rest/public/
Enter Addition Details:

Have you installed/started Redis?
sudo apt install redis
sudo service start redis

Closing due to inactivity, please feel free to open another issue if your problem persists.


JodaTime with DBFlow?

I want to setup a column with type DateTime. Correct me if I'm wrong but from my understanding DBFlow does not support Joda Time's DateTime? therefore would I have to create a TypeConverter in order for this to work?
Something like:
@Table(database = SampleDB.class)
public class SampleTable {

    //.....

    @Column(typeConverter = DateTimeConverter.class)
    private DateTime mDateTime;

    //.....
}

public final class DateTimeConverter extends TypeConverter<String, DateTime> {

    @Override
    public String getDBValue(DateTime model) {
        if (model != null) {
            return model.toString();
        }

        return null;
    }

    @Override
    public DateTime getModelValue(String data) {
        if (data != null) {
            return DateTime.parse(data);
        }

        return null;
    }

}

This would save the DateTime as a String though, does DBFlow automatically convert String's that match dates into SQL DATETIME?

Yes you need to create A custom TypeConverter which is very simple. To the second question, no you have to do it a manually and in this case it translates the type of the Column from DateTime to String, meaning it will be of type TEXT.


redis2 filer store: use lua script for atomicity

Atomicity of scripts
Redis uses the same Lua interpreter to run all the commands. Also Redis guarantees that a script is executed in an atomic way: no other script or Redis command will be executed while a script is being executed. This semantic is similar to the one of MULTI / EXEC. From the point of view of all the other clients the effects of a script are either still not visible or already completed.
However this also means that executing slow scripts is not a good idea. It is not hard to create fast scripts, as the script overhead is very low, but if you are going to use slow scripts you should be aware that while the script is running no other client can execute commands.

The redis2 is used by many Redis API compatible key-value stores, which usually do not support Lua.
This change would reduce the compatibility. How about moving it to a different "redis_lua" version, or adding an option to toggle this feature?

codes are added to detect lua script support

thanks! I think this isSupportLuaScript() works. However, the lua script logic and the Go logic are mixed together with "if/else". The lua logic needs to always be 100% consistent with Go logic. This is not easy to test or refactor.
Please change to redis2_lua. In the future, you can even add transactional support there.
Or the current redis2 can switch to pipeline to achieve the same goal.

One additional benefit of this PR is to reduce one network trip to Redis server, which can improve performance quite a bit.
I would like this to be a separate Redis filer store implementation so that all Redis and variants with Lua support can use this.


Fix URL in fetch_grants.py

The USPTO bulk data URL has changed slightly, and the old URL no longer works. This PR allows fetch_grants.py to successfully download the files in grant_files.txt.

Thanks for the update! Accepting now. I think I may add back in the non-overwriting behavior and make it a flag option at the top of the file. That way when you update you don't have to download every file again.


Using the algorithm of imuFilter with gyroscope(l3g20h) and accelerometer(lsm303) sensors

Hello @RCmags
I am rewriting the code to assemble it under the stm32f411ceu6 or BlackPill in the Arduino ecosystem.

I receive raw data, process it using the calibration function

calibrateSensor(gyroBias, accelBias);

I normalize the axes like this:
ax = ((aix * ACCEL_RANGE) / ACCEL_SCALE); // 1G
and
gx = ((gix * GYRO_RANGE) / GYRO_SCALE); // DPS
gx *= DEG_TO_RAD; // radians per second

After the filter, I multiply the orientation angles by 57.32 to get the angles(ROLL, PITCH, YAW) in degrees/second again.
I output port data to the serial in a format that is understandable to the visualizer for processing.
And most importantly, as a result, I do not see the “magic” of the Kalman filter.
Orientation angles (yaw generally drifts probably half a degree per second, even the Majwick filter didn’t work that bad), roll also goes away quickly.
Even with a coefficient

#define GAIN 1.0

The algorithm doesn't want to calculate orientation angles based only on the accelerometer, it still uses a gyroscope, otherwise I can't explain the drift I see.
https://github.com/RCmags/imuFilter/assets/1788098/d650af09-ba42-42bd-a604-5146ab450850
and
https://github.com/RCmags/imuFilter/assets/1788098/072de865-9257-4229-832d-11f172a151d9
Code below
/*
 This sketch shows to initialize the filter and update it with the imu output. It also shows how to get the euler angles of the estimated heading orientation.
*/

/* NOTE: The accelerometer MUST be calibrated for the fusion to work. Adjust the
   AX, AY, AND AZ offsets until the sensor reads (0,0,0) at rest.
*/

#define AHRS_VERSION 13.1

#define PROCESSING
// #define DEBUG

#include <Wire.h>
// library Adafruit LSM303
#include <Adafruit_LSM303.h>
// library  L3DG20
#include <L3G.h>

// #include <basicMPU6050.h>       // Library for IMU sensor. See this link: https://github.com/RCmags/basicMPU6050
    #include <imuFilter.h>            // https://github.com/RCmags/imuFilter/

/* // Gyro settings:
#define         LP_FILTER   3           // Low pass filter.                    Value from 0 to 6
#define         GYRO_SENS   0           // Gyro sensitivity.                   Value from 0 to 3
#define         ACCEL_SENS  0           // Accelerometer sensitivity.          Value from 0 to 3
#define         ADDRESS_A0  LOW         // I2C address from state of A0 pin.   A0 -> GND : ADDRESS_A0 = LOW
                                        //                                     A0 -> 5v  : ADDRESS_A0 = HIGH
// Accelerometer offset:
constexpr int   AX_OFFSET = 0;          // Use these values to calibrate the accelerometer. The sensor should output 1.0g if held level.
constexpr int   AY_OFFSET = 0;          // These values are unlikely to be zero.
constexpr int   AZ_OFFSET = 0;

//-- Set the template parameters:

basicMPU6050<LP_FILTER,  GYRO_SENS,  ACCEL_SENS, ADDRESS_A0,
             AX_OFFSET,  AY_OFFSET,  AZ_OFFSET
            >imu; */

// =========== Settings ===========
imuFilter fusion;

#define G (9.80665)
#define DEG_TO_RAD (M_PI/180)
#define RAD_TO_DEG (180/M_PI)

#define GYRO_RANGE 2000.0f
// #define GYRO_SCALE 28571.4f
#define GYRO_SCALE 32768.0f
#define ACCEL_RANGE 8.0f
#define ACCEL_SCALE 32768.0f

#define STATUS_LED PC13
#define SERIAL_BAUD (115200)

#define GAIN          0.9    /* Fusion gain, value between 0 and 1 - Determines orientation correction with respect to gravity vector.If set to 1 the gyroscope is dissabled. If set to 0 the accelerometer is dissabled (equivant to gyro-only) */

#define SD_ACCEL      0.1     /* Standard deviation of acceleration. Accelerations relative to (0,0,1)g outside of this band are suppresed. Accelerations within this band are used to update the orientation. [Measured in g-force] */

#define FUSION        true    /* Enable sensor fusion. Setting to "true" enables gravity correction */

int16_t aix, aiy, aiz, gix, giy, giz;// raw
float ax, ay, az, gx, gy, gz, mx, my, mz;// G | deg/s | uGauss
float axX, ayY, azZ, gxX, gyY, gzZ, mxX, myY, mzZ;// m/s^2 | rad/s | microtesla (uT)

float gyroBias[3] = {0, 0, 0}, accelBias[3] = {0, 0, 0}; // Bias corrections for gyro and accelerometer

Adafruit_LSM303 lsm303;
// Adafruit_LSM303 lsm303(&Wire1);
L3G gyro;

void setup() {
  Serial.begin(SERIAL_BAUD);
  Wire.begin();

  Serial.print("AHRS ver: "); Serial.println(AHRS_VERSION, 1);

  pinMode(STATUS_LED, OUTPUT);  // Status LED
  digitalWrite(STATUS_LED, HIGH); // stm32f411 led OFF

  // Calibrate imu
  // imu.setup();
  // imu.setBias();

  // Adafruit LSM303
	initAccelMag();
	// L3DG20
	initGyro();

  // read accel + mag data
  lsm303.read();
  // read gyro data
  gyro.read();

  calibrateSensor(gyroBias, accelBias);

  #ifdef DEBUG

  Serial.print("gyroBias[0]: ");
  Serial.println(gyroBias[0]);
  Serial.print("gyroBias[1]: ");
  Serial.println(gyroBias[1]);
  Serial.print("gyroBias[2]: ");
  Serial.println(gyroBias[2]);

  Serial.print("accelBias[0]: ");
  Serial.println(accelBias[0]);
  Serial.print("accelBias[1]: ");
  Serial.println(accelBias[1]);
  Serial.print("accelBias[2]: ");
  Serial.println(accelBias[2]);

  delay(2000);

  #endif

  aix = lsm303.accelData.x - accelBias[0]; // RAW X
aiy = lsm303.accelData.y - accelBias[1]; // RAW Y
aiz = lsm303.accelData.z + accelBias[2]; // RAW Z

  ax = ((aix * ACCEL_RANGE) / ACCEL_SCALE); // G
  // ax *= G; // in 9.8 m/s/s
  ay = ((aiy * ACCEL_RANGE) / ACCEL_SCALE); // G
  // ay *= G; // in 9.8 m/s/s
  az = ((aiz * ACCEL_RANGE) / ACCEL_SCALE); // G
  // az *= G; // in 9.8 m/s/s

  #if FUSION
    // Set quaternion with gravity vector
    // fusion.setup( imu.ax(), imu.ay(), imu.az() );
    fusion.setup( ax, -az, ay );
  #else
    // Just use gyro
    fusion.setup();
  #endif
}

void loop() {

  // read accel + mag data
  lsm303.read();
  // read gyro data
  gyro.read();

  aix = lsm303.accelData.x - accelBias[0]; // RAW
	aiy = lsm303.accelData.y - accelBias[1]; // RAW
	aiz = lsm303.accelData.z + accelBias[2]; // RAW

  ax = ((aix * ACCEL_RANGE) / ACCEL_SCALE); // 1G
  // ax *= G; // in 9.8 m/s/s
  ay = ((aiy * ACCEL_RANGE) / ACCEL_SCALE); // 1G
  // ay *= G; // in 9.8 m/s/s
  az = ((aiz * ACCEL_RANGE) / ACCEL_SCALE); // 1G
  // az *= G; // in 9.8 m/s/s

  // Serial.print("ax: ");
  // Serial.println(ax);
  // Serial.print("ay: ");
  // Serial.println(ay);
  // Serial.print("az: ");
  // Serial.println(az);

	gix = gyro.g.x - gyroBias[0];// RAW
	giy = gyro.g.y - gyroBias[1];// RAW
	giz = gyro.g.z - gyroBias[2];// RAW

  gx = ((gix * GYRO_RANGE) / GYRO_SCALE); // DPS
  gx *=  DEG_TO_RAD; // radians per second
  gy = ((giy * GYRO_RANGE) / GYRO_SCALE); // DPS
  gy *=  DEG_TO_RAD; // radians per second
  gz = ((giz * GYRO_RANGE) / GYRO_SCALE); // DPS
  gz *=  DEG_TO_RAD; // radians per second

  #ifdef DEBUG
  Serial.print("aix: ");
  Serial.println(aix);
  Serial.print("aiy: ");
  Serial.println(aiy);
  Serial.print("aiz: ");
  Serial.println(aiz);
  // Serial.print("ax: ");
  // Serial.println(ax);
  // Serial.print("ay: ");
  // Serial.println(ay);
  // Serial.print("az: ");
  // Serial.println(az);
  Serial.print("gix: ");
  Serial.println(gix);
  Serial.print("giy: ");
  Serial.println(giy);
  Serial.print("giz: ");
  Serial.println(giz);
  // Serial.print("gx: ");
  // Serial.println(gx);
  // Serial.print("gy: ")
  // Serial.println(gy);
  // Serial.print("gz: ");
  // Serial.println(gz);
  delay(200);
  #endif

  // Update filter:

  #if FUSION
    /* NOTE: GAIN and SD_ACCEL are optional parameters */
    fusion.update( gx, -gz, -gy, ax, az, ay, GAIN, SD_ACCEL );
  #else
    // Only use gyroscope
    fusion.update( imu.gx(), imu.gy(), imu.gz() );
  #endif

/*   // Display angles:
  Serial.print( fusion.pitch() );
  Serial.print( " " );
  Serial.print( fusion.yaw() );
  Serial.print( " " );
  Serial.print( fusion.roll() );

  // timestep
  Serial.print( " " );
  Serial.print( fusion.timeStep(), 6 );

  Serial.println();  */

	#ifdef PROCESSING

	Serial.print("Orientation: ");
	Serial.print(fusion.pitch() * RAD_TO_DEG); // roll
	Serial.print(" ");
	Serial.print(fusion.roll() * RAD_TO_DEG); // pitch
	Serial.print(" ");
	Serial.println(fusion.yaw() * RAD_TO_DEG); // yaw

	#endif

}

bool initAccelMag()
// void initAccelMag()
{

	bool successAccelMag = false;

	if (!lsm303.begin())
	{
	successAccelMag = false;
	#ifdef DEBUG
	Serial.println("Failed to autodetect accel + mag LSM303!");
	#endif
	while (1);
	} else {
	successAccelMag = true;
	#ifdef DEBUG
	Serial.println("Accel + mag LSM303 FOUND!");
	#endif
	}

  lsm303.enable_temperatureSensor();
  // tempRaw = lsm303.get_temperatureData();
	// lsm303.setMagGain(Adafruit_LSM303::LSM303_MAGGAIN_1_3);
	lsm303.setMagGain(Adafruit_LSM303::LSM303_MAGGAIN_8_1);
	// 0x08 = 0b00001000 2g
	// lsm303.write8(LSM303_ADDRESS_ACCEL, Adafruit_LSM303::LSM303_REGISTER_ACCEL_CTRL_REG4_A, 0x08);
	// 0x18 = 0b00011000 4g
	// lsm303.write8(LSM303_ADDRESS_ACCEL, Adafruit_LSM303::LSM303_REGISTER_ACCEL_CTRL_REG4_A, 0x18);
	// 0x28 = 0b00101000 8g
	lsm303.write8(LSM303_ADDRESS_ACCEL, Adafruit_LSM303::LSM303_REGISTER_ACCEL_CTRL_REG4_A, 0x28);
	// 0x38 = 0b00111000 16g
	// lsm303.write8(LSM303_ADDRESS_ACCEL, Adafruit_LSM303::LSM303_REGISTER_ACCEL_CTRL_REG4_A, 0x38);

	// 0 Boot - 00 HP-Filter - 0 filtered data selection - 0 HP filter enabled for int2 source - 0 HP filter enabled for int1 source -
	// 00 HP Filter Cut off Frequ
	// 0b00000000
    // lsm303.write8(LSM303_ADDRESS_ACCEL, Adafruit_LSM303::LSM303_REGISTER_ACCEL_CTRL_REG2_A, 0x00);
    // 0b10000100 - 0x84
    // lsm303.write8(LSM303_ADDRESS_ACCEL, Adafruit_LSM303::LSM303_REGISTER_ACCEL_CTRL_REG2_A, 0x84);
    // 0b11111111 - 0xF
    // lsm303.write8(LSM303_ADDRESS_ACCEL, Adafruit_LSM303::LSM303_REGISTER_ACCEL_CTRL_REG2_A, 0xFF);

    lsm303.enable_temperatureSensor();

	return successAccelMag;

}

bool initGyro()
// void initGyro()
{

    bool successGyro = false;

    if (!gyro.init())
    {
    successGyro = false;
    #ifdef DEBUG
    Serial.println("Failed to autodetect gyro L3GD20!");
    #endif
    while (1);
    } else {
    successGyro = true;
    #ifdef DEBUG
    Serial.println("Gyro L3DG20 FOUND!");
    #endif
    }
	// enableDefault
    // 0x5F = 0b01011111
	// DR = 01 (190 Hz ODR); BW = 01 (25 Hz bandwidth); PD = 1 (normal mode); Zen = Yen = Xen = 1 (all axes enabled)
    gyro.enableDefault();
    // gyro.writeReg(L3G::CTRL_REG4, 0x00); // 250 dps full scale 0b0000000
    // gyro.writeReg(L3G::CTRL_REG4, 0x10); // 500 dps full scale 0b00100000
    gyro.writeReg(L3G::CTRL_REG4, 0x20); // 2000 dps full scale 0b00110000
    // gyro.writeReg(L3G::CTRL_REG1, 0x0F); // normal power mode, all axes enabled, ODR 95Hz, Cut-Off 12.5 Hz - 0b00001111

	// 0x6F = 0b01101111
	// DR = 01 (190 Hz ODR); BW = 10 (50 Hz bandwidth); PD = 1 (normal mode); Zen = Yen = Xen = 1 (all axes enabled)
	// gyro.writeReg(L3G::CTRL_REG1, 0x6F);
	// 0xAF = 0b10101111
	// DR = 10 (380 Hz ODR); BW = 10 (50 Hz bandwidth); PD = 1 (normal mode); Zen = Yen = Xen = 1 (all axes enabled)
	// gyro.writeReg(L3G::CTRL_REG1, 0xAF);
	// 0xBF = 0b10111111
	// DR = 10 (380 Hz ODR); BW = 11 (100 Hz bandwidth); PD = 1 (normal mode); Zen = Yen = Xen = 1 (all axes enabled)
	gyro.writeReg(L3G::CTRL_REG1, 0xBF);

    return successGyro;

}

// Function which accumulates gyro and accelerometer data after device initialization. It calculates the average
// of the at-rest readings and then loads the resulting offsets into accelerometer and gyro bias registers.
void calibrateSensor(float * dest1, float * dest2)
{
  uint8_t data[12]; // data array to hold accelerometer and gyro x, y, z, data
  uint16_t ii, packet_count, fifo_count;
  int32_t gyro_bias[3] = {0, 0, 0}, accel_bias[3] = {0, 0, 0};

  // uint16_t  gyrosensitivity  = 131;   // = 131 LSB/degrees/sec
  // uint16_t  accelsensitivity = 16384;  // = 16384 LSB/g
  uint16_t  gyrosensitivity  = GYRO_RANGE;
  uint16_t  accelsensitivity = ACCEL_RANGE;

  fifo_count = 100;
  packet_count = fifo_count/12;// How many sets of full gyro and accelerometer data for averaging

  for (ii = 0; ii < packet_count; ii++) {
    int16_t accel_temp[3] = {0, 0, 0}, gyro_temp[3] = {0, 0, 0};

    // Form signed 16-bit integer for each sample in FIFO
    accel_temp[0] = (int16_t) lsm303.accelData.x;
    accel_temp[1] = (int16_t) lsm303.accelData.y;
    accel_temp[2] = (int16_t) lsm303.accelData.z;
    gyro_temp[0]  = (int16_t) gyro.g.x;
    gyro_temp[1]  = (int16_t) gyro.g.y;
    gyro_temp[2]  = (int16_t) gyro.g.z;

    // Sum individual signed 16-bit biases to get accumulated signed 32-bit biases
    accel_bias[0] += (int32_t) accel_temp[0];
    accel_bias[1] += (int32_t) accel_temp[1];
    accel_bias[2] += (int32_t) accel_temp[2];
    gyro_bias[0]  += (int32_t) gyro_temp[0];
    gyro_bias[1]  += (int32_t) gyro_temp[1];
    gyro_bias[2]  += (int32_t) gyro_temp[2];

}
    // Normalize sums to get average count biases
    accel_bias[0] /= (int32_t) packet_count;
    accel_bias[1] /= (int32_t) packet_count;
    accel_bias[2] /= (int32_t) packet_count;
    gyro_bias[0]  /= (int32_t) packet_count;
    gyro_bias[1]  /= (int32_t) packet_count;
    gyro_bias[2]  /= (int32_t) packet_count;

  if(accel_bias[1] > 0L) {accel_bias[1] -= (int32_t) accelsensitivity;}  // Remove gravity from the z-axis accelerometer bias calculation
  else {accel_bias[1] += (int32_t) accelsensitivity;}

// Push gyro biases to hardware registers

  dest1[0] = (float) gyro_bias[0]/(float) gyrosensitivity; // construct gyro bias in deg/s for later manual subtraction
  dest1[1] = (float) gyro_bias[1]/(float) gyrosensitivity;
  dest1[2] = (float) gyro_bias[2]/(float) gyrosensitivity;

// Output scaled accelerometer biases for manual subtraction in the main program
  dest2[0] = (float)accel_bias[0]/(float)accelsensitivity;
  dest2[1] = (float)accel_bias[1]/(float)accelsensitivity;
  dest2[2] = (float)accel_bias[2]/(float)accelsensitivity;
}

It would be great if you tried to run this code with similar sensors or others, for example icm20948 or bno055.
Let me know if you need a graphic attitude indicator in the processing language, I will send it to you in an archive.
I also plan to test the algorithm based on raw data from the gyroscope and accelerometer from the flight gear simulator, as I did here

https://forum.flightgear.org/viewtopic.php?f=36&t=42308

I would be glad for a little help.

@brightproject Hi bright,
I'm happy to help with the conversion of the code. Unfortunately, I don't have the hardware to help you develop the converted code, so at best I can only provide suggestions that might be helpful.
Upon reading your explanation, It's not clear to me whether you've been able to obtain clean, almost drift free outputs for the gyroscope and accelerometer. Please note that for the fusion algorithm to work, the angular velocity must be measured in degrees/second, and the acceleration must be measured in g-units (dimensionless unit). In the case of acceleration, it must read |g| = 1.0 (magnitude of gravity) when the sensor is held perfectly level.
Moreover, the fusion algorithm will not correct for an uncalibrated angular velocity and acceleration. These must be calibrated manually before being fed through the filter.
Also (and very importantly), sometimes the orientation the IMU is held at when level, will not correspond to the acceleration vector (0,0,1)  which the fusion algorithm expects. You may have to swap the acceleration components to a different coordinate system to orient the vector properly. Example: (Ax, Ay, Az) -> (-Ax, Az, Ay)
Another important thing is the GAIN variable. This value should ideally not be very large. Think of it like the alpha parameter of an exponential moving average. If GAIN=1 the fusion output will just be the instantaneous acceleration vector.
Moving forward: For now, lets just focus on the output of your IMU to see if its compatible with the form expected by imuFilter.

Collected data in the setup and loop section below
Accel + mag LSM303 FOUND!
Gyro L3DG20 FOUND!
ax: -64.00 ay: 4112.00 az: -432.00
gx: 108 gy: -35 gz: 62
gyroBias[0]: 0.05 gyroBias[1]: -0.02 gyroBias[2]: 0.03
accelBias[0]: -8.00 accelBias[1]: 513.00 accelBias[2]: -54.00
aix: -72 aiy: 3647 aiz: -454
ax: -0.02 ay: 0.89 az: -0.11
gix: 2 giy: 2 giz: -3
gx: 0.00 gy: 0.00 gz: -0.00
aix: -40 aiy: 3663 aiz: -454
ax: -0.01 ay: 0.89 az: -0.11
gix: -4 giy: -2 giz: 3
gx: -0.00 gy: -0.00 gz: 0.00
aix: -56 aiy: 3663 aiz: -406
ax: -0.01 ay: 0.89 az: -0.10
gix: -13 giy: 7 giz: 0
gx: -0.01 gy: 0.01 gz: 0.00
aix: -24 aiy: 3615 aiz: -470
ax: -0.01 ay: 0.88 az: -0.11
gix: 7 giy: -7 giz: 6
gx: 0.01 gy: -0.01 gz: 0.01
aix: -40 aiy: 3631 aiz: -470
ax: -0.01 ay: 0.89 az: -0.11
gix: -2 giy: 0 giz: 3
gx: -0.00 gy: 0.00 gz: 0.00
aix: -72 aiy: 3631 aiz: -438
ax: -0.02 ay: 0.89 az: -0.11
gix: 5 giy: -3 giz: -9
gx: 0.01 gy: -0.00 gz: -0.01
aix: -56 aiy: 3615 aiz: -422
ax: -0.01 ay: 0.88 az: -0.10
gix: -8 giy: -7 giz: -2
gx: -0.01 gy: -0.01 gz: -0.00

Acceleration values are both in raw values and in units of G.
Angular velocities are also in raw values and in rad/sec.

#define GYRO_RANGE 2000.0f
#define ACCEL_RANGE 8.0f

You wrote that gyroscopes should be set in degrees per second - is this probably a mistake?

Ouff! Sorry!!!! Here I am trying to  help and I made a mistake. Yes, I meant radians/second!!!
That embarrassment aside, that accelerometer values seem to be miscalibrated. The magnitude of the vector ~(ax: -0.01 ay: 0.89 az: -0.11) is approximately ~0.9.
This filter requires the resting acceleration be exactly 1 in magnitude, as it uses any deviation from this value Error = Accel_Mag - 1 to determine whether to apply a correction or not. In this case, you should manually calibrate the accelerometer to achieve 1g in magnitude indifferent of how its rotated when the sensor is at rest.
The SD_ACCEL parameter of fusion.update( gx, -gz, -gy, ax, az, ay, GAIN, SD_ACCEL );  determines whether the acceleration vector will update the heading, if Error < SD_ACCEL. Notice how if the acceleration is not calibrated and normalized, the error will be larger than the allowed tolerance.
Next step: After calibrating the accelerometer, how does the fusion algorithm react to the gyroscope and accelerometer values in isolation? try:
fusion.update( 0, 0, 0, ax, az, ay, GAIN, SD_ACCEL );
and
fusion.update( gx, -gz, -gy );
If the accelerometer and gyroscope axes are aligned properly, the acceleration should slowly converge towards the heading estimated by the gyroscope. If the acceleration by itself causes the heading output to diverge then swap the sign of one of the acceleration components.

Good day @RCmags
I've switched to other programming a bit, I'm making a GUI for an aircraft instrument.

But I'm still interested in your filter implementation.
Do you still want to explain some points to me and help me?
Do you have an ESP32 or STM32 microcontroller available?
And also some kind of USB-TTL converter.
I could show you how to get raw orientation data from the FlightGear flight simulator and substitute it into your filter.
You would figure out how to set up the algorithm faster than I did.
I would be grateful if you were interested in this🙂

Sure I would be happy to help out. Just let me known what you want assistance with.
Unfortunately I don't have either of the boards you mentioned, but I can buy whichever one you're interested in focusing on. The only issue I see is getting the gyroscope you're using. I only have MPU6050's at hand.

In general, in order to close the development loop of HITL or SITL, at least one of the microcontrollers STM32, ESP8266 or ESP32, is needed.
You can also use some MEMS sensor, like BNO055/08X or ICM-20948 or something simpler, like MPU9250/6050 or LSM6DSM.

Although in general, gyroscope and accelerometer sensors are not needed, i.e. they will be obtained from the simulator, based on the jbsim engine.
Please tell me, by what method did you check and configure your algorithm?
The hardest part is to get stable attitude angles with noise and drift factors in flight.
I tried using Madgwick and RTMUlib algorithms in flight, the latter worked very well in flight, even with noise added to the simulated data.
Has your algorithm been tested in a highly dynamic environment?
For example, a car/train ride or in flight?🙂

Lets go with the STM32 since it seems to have better compatibility with Arduino library compared to the ESP32. Do you think we'll need a magnetometer of some kind? I could get an MPU9250 if that's the case.

Please tell me, by what method did you check and configure your algorithm?

The method I've used to configure the Filter has just been simple manual calibration.
For the accelerometer, I've just placed the IMU on a level table then read the X, Y, and Z axis values. If they're not very close to (0,0,1)g, that bias is subtracted from the acceleration fed to the filter algorithm.
For the gyroscope I've used my basicMPU6050 library since it automatically calibrates the gyroscopes on startup. It then counters drift if the gyroscope signal is within an given error band.

Has your algorithm been tested in a highly dynamic environment?
For example, a car/train ride or in flight?

Yes! I've used it in the flight controller for a radio controlled helicopter and to stabilize the pitch axis of a weight-shift controlled airplane. In both cases, the filter has worked very well despite combined noise sources from unbalanced motors, propellers and low frequency pulses from a large rotor. If you'd like to see the devices in action, I can upload some videos on youtube.

Lets go with the STM32

Hello @RCmags
If you have time and microcontrollers available, then you can try to get data from the flight simulator FlightGear and feed this data into the algorithm for output to the artificial horizon indicator.
For a quick understanding of the process, I would like to offer you my code, which includes a parser of data received in the serial port from the simulator FlightGear, processing this data and output to the serial port for the GUI, which is also in the folder with the code, written in the processing language.
It seems to me that to understand how to modify your code, I would like to offer you to copy the library code RTIMULib2 and load it into stm32 and work with it and the flight simulator FlightGear.
https://github.com/user-attachments/assets/8926b46f-e503-4359-87a2-5143b0b8b2e3
After that, you will be able to integrate this functionality into your code and try to set up your Kalman filtering algorithm.
I don't understand your algorithm well, but you work with it and understand it well enough.
In the video, the data is obtained directly from the simulator, i.e. the orientation angles are the same as in the simulator.
This is set by a flag in the code:

#define SIM_ANGLES

Please let me know when you are ready to try the code and I will send it to you by email or here, via github.
I will show you and tell you further how to install, configure and run everything.


Replace ResponseFuture with Box<dyn>

Re: this, turns out adding an associated type to HttpClient would break the trait objectivity. So instead, more Box<dyn>!

But let's do without the Box::into_pin(), please...

With a little refactoring, yes.


Flutter: History of Flutter and timeline of flutter versions.

README File to get information related to how flutter started. how flutter evolved, how  flutter works, who owns flutter, timeline, etc

interested to contribute.

Can you assign this work to me .

Interested

Sorry for inconvenience to others... You can contribute on exercise issue ...  We will be having a more uniform way to divide the work soon.. wait for some time

@rithish26 am closing this issue...as it contain onlu irrelevant information.

@rithish26  I am closing this issue as it contains irrelevant information please do not work on it


Python asyncio servers don't terminate on SIGINT/SIGTERM when running multiple servers in the same event loop

What version of gRPC and what language are you using?
Python, grpcio 1.59.2
What operating system (Linux, Windows,...) and version?
Linux, MacOS
What runtime / compiler are you using (e.g. python version or version of gcc)
Python 3.10
What did you do?
Please provide either 1) A unit test for reproducing the bug or 2) Specific steps for us to follow to reproduce the bug. If there’s not enough information to debug the problem, gRPC team may close the issue at their discretion. You’re welcome to re-open the issue once you have a reproduction.
import asyncio
import signal

# pip install grpcio==1.59.2 grpcio-health-checking==1.59.2
import grpc
from grpc_health.v1 import health, health_pb2_grpc

async def serve(port: int) -> None:
    server = grpc.aio.server()
    health_pb2_grpc.add_HealthServicer_to_server(health.HealthServicer(), server)
    server.add_insecure_port(f"[::]:{port}")

    for sig in (signal.SIGINT, signal.SIGTERM):
        asyncio.get_event_loop().add_signal_handler(
            sig, lambda: asyncio.ensure_future(server.stop(0))
        )
    await server.start()
    await server.wait_for_termination()

async def main() -> None:
    # If we run only one server instance, the main process is able to terminate on SIGINT/SIGTERM
    # await serve(8000)

    # If we run multiple server instances, the main process doesn't terminate on SIGINT/SIGTERM
    await asyncio.gather(serve(8000), serve(8001))

if __name__ == "__main__":
    asyncio.run(main())

What did you expect to see?
The main process terminates on SIGINT/SIGTERM, even when multiple server instances are running
What did you see instead?
The main process doesn't terminate on SIGINT/SIGTERM, when multiple server instances are running. It does terminate on SIGINT/SIGTERM when only one server instance is running.
Make sure you include information that can help us debug (full error message, exception listing, stack trace, logs).
See TROUBLESHOOTING.md for how to diagnose problems better.
Anything else we should know about your project / environment?
N/A

Hi. I don't think this is related to gRPC. If you add a log to the signal handlers, you'll see that you're overriding the same signal handler, which is why only one of the servers is terminating.


encoded empty set is decoded as an empty vector

Is this intentional?

No, not intentional. It should decode to an empty set. Looking into this today.

Thanks!

I fixed some transitive dependency conflicts and switched to latest transit-clj and it no longer happens.


(WIP) Trivial header redefine

Describe the contribution
Partially address #554
Just does the trivial redefine of a header
Since no source selection, requires all the elements that are referenced to still exist but allows  moving, adding, etc.  Once source selection is available, can redefine handling or remove fields (update API implementations).
Note, depends on apps actually using the real SB header definitions for this to work (size will fail if using CFE_SB_CMD_HDR_SIZE).
NOT FOR MERGE  - this actually shows an example of redefining header, don't merge!
Testing performed
Built with redefined header, used updated cmdUtil to test that the field was added as expected.
Expected behavior changes
Just an example, but adds a field to the header
System(s) tested on

Hardware: cFS Dev Server
OS: Ubuntu 18.04
Versions: Bundle + this commit, updated cmdUtil

Additional context
See #554 for context
Third party code
None
Contributor Info - All information REQUIRED for consideration of pull request
Jacob Hageman - NASA/GSFC

Note refactoring ccsds.h/cfe_sb.h would allow this to be a cleaner include, but not investing too much until this is reviewed.

At closer inspection, for my use case I really just need to redefine CCSDS_CmdSecHdr_t and CCSDS_TlmSecHdr_t...  working on shifting this example.

I actually really prefer more of a general solution as suggested in https://github.com/nasa/cFE/issues/724#issuecomment-635967634
Recommending cpu1_*.h gets a generic generate_include_configfile treatment and becomes *.h early in the include path.  Then refactoring ccsds.h could make it trivial to customize the secondary header, or full header, or whatever.  This also addresses mission configuration of app header files...

@skliper when would you like to bring this to the CCB?

Closing this example/thread... see discussion on #728.  Power users can just include from the target defs directory if they are OK with multiple files with the same name in the tree, alternatively #751 provides a mechanism to generate_config_includefile from within apps (and I assume modules).


Update to build 20150213-build-10.0-002

Completed support for address parsing in all current countries in the world. (This adds support for CL, DO, ET, HU, IN, IS, KG, KW, LU, MO, NI, NO, PA, PE, PY, RS, RU, SA, SL, SN)
Add support to ilib.LocaleInfo to return the start and end of the weekend for the locale. This returns days-of-the-week numbers (ie. Sunday=0, Monday=1, etc.)
The number of fraction digits supported by the ilib.NumFmt class is now limited from 0 to 20 explicitly. Previously, it was quietly limited by the JS engine. Now, negative numbers go to 0, and numbers greater than 20 mean exactly 20.
Fixed an exception in ilib.DateFmt when some formats could not be loaded from the locale data
Fixed Korean name parsing to be able to handle spaces in the name
Worked around a problem in Chrome 40 where the value of navigator.language no longer conforms to BCP-47. In the US for example, navigator.language now has "en-us" in it instead of "en-US" like it had in previous versions.

Aaron, this is the enyo-ilib part of the submissions. The ilib-webapp part is not yet submitted to the TV build.

@aarontam Could you merge this PR? The ilib-webapp part is already applied with more the latest version as 20150316-build-10.0-004. and Applying ilib build 20150331-build-10.0-005 to ilib-webapp for TV is also in progress.

Hi @gouniLee, yep no problem, I'll take care of the merge.

@aarontam Thank you!

Closing in favor of https://github.com/enyojs/enyo-ilib/pull/117.


add support for localization

It would be nice to structure the docs in a way so it's possible for people to translate to Japanese, Chinese and other languages easily.

From the Twitter poll the following languages came up

Spanish (most upvotes)
Portuguese
Turkish

I can help with Turkish translation.

@Batuhanalperen great, I am still working out the framework for handling translations. Let me get back to you this weekend when I have implemented the MVP. Would be awesome if we could test it out on the front page, so if you want to get started already you could translate those bits and prepare the text content.
Thanks.

I think it looks great! But it needs a little more localization. I'll do this later.

-ENGLISH

NAV

HOME
LEARN
DOCS
COMMUNITY
GITHUB

HERO

Get started
GET STARTED

WELCOME

Create complex web apps with ease!
Imba was born to make developing web applications fun again. It features a clean and readable syntax inspired by ruby, compiles to readable and performant JavaScript, and works inside the existing ecosystem.
Imba treats DOM elements as a first-class citizens. Your declarative views are compiled to a !memoized dom!, which is an order of magnitude faster than todays virtual dom implementations. We truly believe that it opens up for a new way of developing web applications.
The interactive screencasting platform Scrimba.com is written in Imba, both frontend and backend.

FOOTER

Twitter
GitHub
Issues
Chat

-TÜRKÇE

NAV

ANASAYFA
ÖĞREN
DÖKÜMANLAR
TOPLULUK
GITHUB

HERO

Başlayalım
BAŞLAYALIM

WELCOME

Karmaşık web uygulamalarını oluşturmak artık çocuk oyuncağı!
Imba, web uygulamalarını geliştirmeyi tekrar eğlenceli kılmak için doğdu. Ruby'den esinlenilmiş saf ve okunabilir sözdizimine sahip, etkili ve okunabilir JavaScript'i derleyen ve halihazırdaki ekosistemde çalışabilir niteliktedir.
Imba, DOM elementlerine birinci sınıf vatandaş gibi davranır. Tanımlanan görünümleriniz, bugünün sanal DOM uygulamalarından daha hızlı büyüklük sırasına sahip olan !memoize edilmiş! bir DOM'a derlenir. Biz Imba'nın web uygulamaları geliştirmek için yeni bir çağ açtığına inanıyoruz.
İnteraktif video platformu olan Scrimba.com'un hem front-end'i, hem de back-end'i Imba ile yazılmıştır.

FOOTER

Twitter
GitHub
Sorunlar
Sohbet

is a translation in French is needed ?

@unplugandplay would be nice but first we need to get stuff working. If you are interested I can contact you again at a later stage.

@Batuhanalperen I tried out some of your translations, great work!
I am getting close to having something that can be reviewed soon. The only missing bit is the client side loading of the markdown files.
What do you think about Crowdin so far?

Got it working now, looks like I just forgot to run yarn run build 😊 I will start cleaning up the PR and add a language picker.

@Batuhanalperen Can you open a pull request with some of the Turkish files? Would be nice to get the following structure:
tr-TR/
└── guide
    ├── hero.md
    ├── scrimba.md
    └── welcome.md

I will then merge it and rebase my changes on top.
Thanks.

@scanf I can't download the translates which I made it on Crowdin. So, I am not able to create pull request. Crowdin says "Ask a project manager to enable Offline Translation."

@scanf I can see that you've already added the translated files to the project. I didn't understand what you want me to do for you.

@Batuhanalperen Sorry, missed that. I have enabled downloading now.
I actually haven't added your translations on copied them locally for testing, but  the sync process automatically included them in the l10n_use-markdown-for-all-text branch, but I don't plan on merging that since it has several issues. i). It generates commits for files which have not been translated and secondly the author of the translation does not receive attribution via git.
So if you could do the following that would be great

[ ] Create a new branch based on imba.io:master
[ ] Create the purposed structure from earlier

tr-TR/
└── guide
    ├── hero.md
    ├── scrimba.md
    └── welcome.md

[ ] Commit and open a pull request with those changes

Thanks.

I got to experiment this with the Turkish translation and it's working fine.
Before we can merge this the issues with the Crowdin synchronization should be resolved. I have tried asking their support about it. Would be great if we could use that longterm instead of manually adding files.
I will create a seperate issue as follow up for the navigation items.

@scanf Should I translate the title section? Like this one:
--- title: Imba Router  order: 4 ---

Hmm, this might work fine by default but the links will be very different from English. I suspect it will set limitations on how we can link things and introduce complexity to the refetch code when switching between languages.
Let’s leave the front matter (title) bits and come back to them later.
Thanks.

How can I help to translate it to Ukrainian?

@Bohooslav Yes, sent you an invite.
Thanks.

I started on the spanish translation. I will keep at it little by little

From the Twitter poll the following languages came up

Spanish (most upvotes)
Portuguese
Turkish

Great, looking forward to it.
If you notice any pain points with the process, please let me know. Even
better create a GitHub issue 🙏🏾
On Thu, Nov 21, 2019 at 2:53 PM Eric Tirado<EMAIL_ADDRESS>wrote:

I started on the spanish translation. I will keep at it little by little
From the Twitter poll
https://twitter.com/imbajs/status/1175276291576258561 the following
languages came up

Spanish (most upvotes)
Portuguese
Turkish

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/imba/imba.io/issues/49?email_source=notifications&email_token=AAHB25AHXFLVFBRK2D6BXH3QU2HFDA5CNFSM4IX5CTA2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEE2JJWY#issuecomment-557094107,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAHB25EZP24R6QHCQQHMSPLQU2HFDANCNFSM4IX5CTAQ
.

--
Mit freundlichen Grüßen
Alexander Alemayhu

I have made Ukrainian translation and verify it.


Update quickstart.md

What changed? Why?
The word "Lets" should be contracted to "Let's" to indicate "let us." This is a common grammatical error.
Notes to reviewers

How has it been tested?

🟡 Heimdall Review Status

Requirement
Status
More Info

Reviews

🟡
0/1

Denominator calculation

Show calculation

1 if user is bot
0

1 if user is external
0

From .codeflow.yml

1

Additional review requirements

Show calculation

Max
0

0

From CODEOWNERS

0

Global minimum
0

Max

1

1

1 if commit is unverified
0

Sum
1


Types aren't recognized if the project is setup with pnpm

Have you read the Contributing Guidelines on issues?

[X] I have read the Contributing Guidelines on issues.

Prerequisites

[X] I'm using the latest version of Docusaurus.
[ ] I have tried the npm run clear or yarn clear command.
[ ] I have tried rm -rf node_modules yarn.lock package-lock.json and re-installing packages.
[X] I have tried creating a repro with https://new.docusaurus.io.
[X] I have read the console error message carefully (if applicable).

Description
If a project is initialized with pnpm, types aren't being recognized. This is not an issue with npm. Manually importing missing types fixes the errors. So I wanted to report this as it may be a bug. Tested it on latest 2.4.1 and canary Alpha3.0.0.
Reproducible demo
No response
Steps to reproduce
You may reproduce this issue by starting a new project with the command pnpm create docusaurus. Yes, I did select the typescript option during setup.
Expected behavior
It should recognize types similar to when installed with npm.
Actual behavior
Getting missing type errors.

Also getting errors for and not limited to node types, react types etc.
Solution
Manually installing types like so

Your environment

Public source code:
Public site URL:
Docusaurus version used:
Environment name and version (e.g. Chrome 89, Node.js 16.4):
Operating system and version (e.g. Ubuntu 20.04.2 LTS):

Self-service

[ ] I'd be willing to fix this bug myself.

It should be mentioned that, as is shown in the issue mentioned above, in version 3 of Docusaurus there are 2 type errors: one for @docusaurus/theme-classic and another for node. Installing @docusaurus/theme-classic fixes the former and installing @types/node fixes the latter. Both can be installed as development dependencies as a temporary fix to make the command pass.

Yeah, indeed it is a solution.


Fix #7516

Summary
Fixes #7516 by passing the arguments through to the drawing function. Also added tests for this.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.002%) to 84.275%

Totals

Change from base Build<PHONE_NUMBER>:
0.002%

Covered Lines:
54833

Relevant Lines:
65064

💛  - Coveralls


Upgrade dependency

Upgrade<EMAIL_ADDRESS>to version

Please ignore this PR and close it. Generated by TestIM


It isn't clear how "Use asynchronous parallel processing" helps with minimized coordination

From the article:
"Use asynchronous parallel processing. If an operation requires multiple steps that are performed asynchronously (such as remote service calls), you might be able to call them in parallel, and then aggregate the results. This approach assumes that each step does not depend on the results of the previous step."
It isn't clear to me how this helps with minimizing coordination - I do understand that the parallel call approach is efficient but it is also more complex than serial calls.  I may be missing something that the author wanted to convey - do look into this and see if an update might help clarify this.

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

ID: de5c202d-cbea-a99e-c9c0-d4688121d797
Version Independent ID: 712375b6-5116-f734-3bcc-0466184ec885
Content: Minimize coordination - Azure Architecture Center
Content Source: docs/guide/design-principles/minimize-coordination.yml
Service: architecture-center
Sub-service: azure-guide
GitHub Login: @martinekuan
Microsoft Alias: pnp

@lets-data
Thanks for your feedback! We will investigate and update as appropriate.


Add a code of conduct to the project

Adds a Code of Conduct for Kitto's community based on Contributor Covenant's CoC. We just need an email address for people to privately report issues to.

Coverage remained the same at 86.594% when pulling e7d18de5dc286f29d22b43687df2007a951a2c15 on coc into af730382cda168038ff509626e17e58894d4904f on master.

Merged as 6aa9ae9d5c26a9 (changed the placeholder email address).


Fix bad indentation of JSON files

Fixes bad indentation of some JSON files, that means these are only whitespace changes.
I have fixed the indentation manually to not re-format all the files, so I might have missed a few cases.

@Marcono1234
What is your definition of "bad indentation"?
@dsarkar
Can you help us understand if there is a standard indentation which should be used here and which is preferred by the Open Source Team?
Are there any standard editor tools you are using to format json files prettily? Especially if you have any preferential tools for the Atom editor.

What is your definition of "bad indentation"?

This slightly differs between files, here are some examples of the fixed files. Ideally have a look at the changed indentation, in most cases it should be somewhat obvious, depending on how well GitHub or your Git client displays the changes.

settings.json:

Uses 2-space indentation but members of root object were indented by 4 spaces
Trailing } was indented

Many files of these project use 4-spaces for indentation but a few JSON object members or JSON array elements then suddenly use 3, 5 or 8 spaces

@Marcono1234
Thank you for explaining. I now understand that you found inconsistent indentation in various JSON files, so you based what was right and wrong according to how most of each individual file was formatted.
It's the faq.json and faq_de.json files that we normally collaborate on intensively, so it would be good to get agreement that these files should be indented with 4 character soft tabs. That ought to be documented somewhere as a coding convention (perhaps in CONTRIBUTING.md where there are some other best practices documented).
I found that it is simple to implement this in the Atom editor
File > Settings > Editor >
Soft Tabs
Tab Length 4 (default is 2)
Reformatting can be done by making a text selection, then
Edit > Lines > Auto Indent

@Marcono1234
"Proof of vaccination" starting at faq.json line 2120-2123 is inconsistently indented. It needs to be tabbed to the right.
https://github.com/corona-warn-app/cwa-website/blob/2eefb797205b910d08acd67698e83e09ad4151a9/src/data/faq.json#L2120-L2123

@Marcono1234
Would you also like to remove trailing whitespace whilst the json documents are being cleaned up?

@MikeMcC399 @Marcono1234
Adding 4 spaces as a standard in the contribution guide sounds like a good idea.

Thanks @MikeMcC399! I have fixed that incorrect indentation in faq.json (and a few other cases I missed) and trimmed trailing spaces.
I have force-pushed the changes to create a clean Git history. You can easily compare the difference to the previous commits by clicking on the text "force-pushed":

Reformatting can be done by making a text selection, then
Edit > Lines > Auto Indent

I am using VS Code and have not found a way to easily fix indentation. I was mainly working with Regex search patterns to detect this incorrect indentation.

@Marcono1234

I am using VS Code and have not found a way to easily fix indentation. I was mainly working with Regex search patterns to detect this incorrect indentation.

I looked at VS Code and I also couldn't see a way in that editor to auto indent. Atom is very nice to use in that respect.
Thanks for cleaning up the trailing whitespaces! (Btw. this is also easy to do in Atom - there is a package which deals with them).

@Marcono1234
I found a comment in https://github.com/corona-warn-app/cwa-website/blob/master/docs/CHANGE_WEBSITE_CONTENT.md where it says:
Use a proper JSON formatter after making your changes (e.g. the format document option of VSCode) from time to time
and in https://code.visualstudio.com/shortcuts/keyboard-shortcuts-windows.pdf there are some useful shortcuts:
Shift+Alt+F    Format document
Ctrl+K Ctrl+F  Format selection
Ctrl+K Ctrl+X  Trim trailing whitespace

I wasn't familiar with these capabilities of Visual Studio Code, since I don't normally use this editor.
You might like to try the "Format document" option, since it does find one other formatting error. This ought to be easier than using Regex.
There are now some conflicts in this PR due to other merges having taken place. Hopefully the conflicts can be resolved without too much work.

@heinezen
I have opened https://github.com/corona-warn-app/cwa-website/pull/1667 to document the soft tab convention. The information belonged better in docs/CHANGE_WEBSITE_CONTENT.md rather than in CONTRIBUTING.md.
README.md contains the text:

Changing Things
Manuals for the most common use cases of updating website content are available in the docs folder.

and I think it is reasonable to expect anybody who is contributing to have read and referred to the "Changing Things" section in the README.md file.

Rebased onto master and went through the files again to check for incorrect indentation and afterwards compared it to the previous state of this pull request. I hope I did not miss any case.

@Marcono1234
If you use Shift+Alt+F in VSCode to reformat faq.json and faq_de.json it finds one missing newline in test_cert_rat_and_pcr.

Ah thanks, I have fixed them now.
Unfortunately when I use Shift+Alt+F it uses the Prettier extension for me by default (which seems to use 2 spaces for indentation); but even when I do F1 > "Format Document With..." > "JSON Language Features" it also 'fixes' some indentation unrelated formatting, which is not desired. That is why I originally avoided the built-in formatting support.

@Marcono1234
Perhaps we could find the right settings for https://github.com/corona-warn-app/cwa-website/blob/master/.vscode/settings.json so that the format option of Visual Studio Code produces consistent results when using it on the .json files in this repository?  That would benefit everybody.

I have implemented a proof of concept for a formatter configuration in #1684, feedback is appreciated!

@Marcono1234 @MikeMcC399 Thanks...


Hovering a lightbulb on Bing causes any link to be treated as a Fandom link

On Desktop, hovering Bing's lightbulb button causes the attached entry to become struck out as if it were a Fandom link, regardless of what the site actually is. The suggested link appears to be whichever link Indie Wiki Buddy inserted first.
For example, I was able to reproduce this with all of the lightbulb buttons on a Bing search for "Borreload Savage Dragon". The suggested link is always "Borreload Savage Dragon" on Yugipedia, even though there are several other suggested Yugipedia links (e.g. to "Card Gallery:Borreload Savage Dragon") on the same page.

This issue seems to only occur if Indie Wiki Buddy has removed a Fandom/Fextralife result from the search results.

Thanks for reporting this! Another user reported a related issue, in which a Bulbapedia result was disabled:

The underlying issue is that IWB searches the entirety of each search result for Fandom links. On Bing, a single search result can contain many links to many sites, such as in the "Explore further" section. This can lead to a single minor link to Fandom disabling the entire result. That's what we're seeing in both the Borreload and Cresselia examples.
With this commit, I've made it so that IWB will only check the "top-level" (header) link for Fandom. Links in those "explore further/more" sections should no longer activate IWB. I've also excluded the "Explore further" links from the link-disabling CSS, since those links may be useful to users.
With this change, those smaller Fandom links in the "explore further/more" sections will appear activated. I'll look into disabling those individually.
Here's how the "Borreload Savage Dragon" search looks after this commit:


The linked library 'iOSTest.a' is missing one or more architectures required by this target: armv7.

Godot version
3.3.2 stable
System information
Mac OS, GLES 3, Catalina 10.15.7
Issue description
When exporting for iOS, building for armv7 doesn't work anymore on 3.3.2 stable version.
Obs: The PrintScreen have more errors but just ignore it.

Steps to reproduce

Create a simple project
Export for iOS
Try to build

Minimal reproduction project
iOSTest.zip

That's expected, what iOS armv7 device is still compatible with the Apple Store? We don't distribute armv7 binaries anymore.
CC @godotengine/ios

I guess the only 32-bit devices which might still be relevant might be some of the iPads running iOS < 11. I don't know if they can still access the Apple Store though. https://david-smith.org/iosversionstats/
Either way, if you wish to target armv7 device, you need to compile the export template manually from the Godot source code using https://docs.godotengine.org/en/stable/development/compiling/compiling_for_ios.html (with arch=arm). We no longer provide these binaries as Apple ended support for 32-bit iOS devices more than 4 years ago.


[Get started]: Update step to safety shut down the proxy

Following the closure of #47 we changed the way developers should safely close down the proxy to using Ctrl + C.
We should update the section in the tutorial to reflect this change.
https://github.com/microsoftgraph/msgraph-developer-proxy/wiki/Using-the-Microsoft-Graph-Developer-Proxy-for-the-first-time#-stop-the-proxy-process-safely

Let's update the guidance after we released v0.3.0. For the current release, the guidance is correct.

Ah yes, good call @waldekmastykarz 😊

All references in docs updated to reflect the new way to close the proxy safely.


[Feature Request]: Add multimodal llms support to Bedrock

Feature Description
Claude 3 multimodal LLMs (sonnet, haiku) are available in Bedrock now, we need something like llama-index-multi-modal-llms-bedrockto support use case like multimodal RAG with Bedrock.
Reason
multi_modal_llms currently does not cover bedrock.
Value of Feature
This enables user to build multimodal RAG with models in Bedrock.

Commenting to also endorse this request.
It should be easy to make both models ("anthropic.claude-3-haiku-20240307-v1:0", "anthropic.claude-3-sonnet-20240229-v1:0") available at Llama Index.
Let me know if I can contribute somehow.


Update License in all the files

Enhancement
Issue
The project uses Apache-2.0 license which requires the LICENSE boilerplate to be added in all the files separately, which is missing in the project.
Suggestion
Add LICENSE boilerplate in all the *.go files.

@dougbtv can you please assign this task to me ?


Error when run python setup.py build_ext --inplace

window10 64bit, python3.6.2
E:\rszj\codes\python\render-py (master -> origin)
λ python setup.py build_ext --inplace
running build_ext
building 'speedup' extension
error: Unable to find vcvarsall.bat

I haven't tested it on windows, maybe you should specify the compiler, e.g.
python setup.py install -c mingw32

FYI: https://stackoverflow.com/questions/2817869/error-unable-to-find-vcvarsall-bat


Adds basic dropdown tests

Partially Fixes https://github.com/nordcloud/GNUI/issues/500#issue-1394676788
Clear selected option (X button) stays untested, sadly could not work out a good enough solution for it

:clap:


Streaming Leaflet Tiles over HTTPS / SSL

Hello,
I was wondering if it was possible to serve Leaflet map tiles over an https secure connection?  I am trying to create a leaflet map within an https webpage (uses SSL), and cannot load the leaflet tiles over http.  Is there any support for loading Leaflet Tiles over a secure connection?
Thanks!

Leaflet doesn't provide its own tiles: what source are you using for tiles?
For instance: if you're using OpenStreetMap:
L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {
    attribution: '© OpenStreetMap contributors'
}).addTo(map);

You can change this to use HTTPS by adding an s to the tile string:
L.tileLayer('https://{s}.tile.osm.org/{z}/{x}/{y}.png', {
    attribution: '© OpenStreetMap contributors'
}).addTo(map);

Thank you for the swift response.   I was previously using:
 var url = 'http://otile{s}.mqcdn.com/tiles/1.0.0/map/{z}/{x}/{y}.jpeg',
     attr ='Tiles Courtesy of MapQuest — Map data {attribution.OpenStreetMap}',
     service = new L.TileLayer(url, {subdomains:"1234",attribution: attr});
     map.addLayer(service);

I tried the following:
 L.tileLayer('https://{s}.tile.osm.org/{z}/{x}/{y}.png', {
     attribution: '© OpenStreetMap contributors'
 }).addTo(map);

in my application and was unable to load tiles from the osm tile server.  I received a:
 GET https://{s}.tile.osm.org/{x}/{y}/{z}.png net::ERR_INSECURE_RESPONSE

error in Chrome.  The application I am running this in has its own SSL certificate.  How would I load in tiles into my own HTTPS application?
Thank you!

This is not a Leaflet concern. It just loads images by an url. Security and certificates are server / application logic.

Their support emailed me today and said, "Yes, use tile.openstreetmap.org - we don't have a certificate for the abbreviated domain." Works for me now!

Does it still work for you? I use https://tile.openstreetmap.org and get an insecure connection warning

I was also having this issue Sammaye:

Does this work?
https://a.tile.openstreetmap.org/{z}/{x}/{y}.png

I used a different provider in the end (mapquest):
			$('#MapModal').on('shown.bs.modal', function (e) {

				var data = $(e.relatedTarget).data();
				var map = L.map('modalMap').setView([data.lat, data.long], 9);

				L.tileLayer('https://otile2-s.mqcdn.com/tiles/1.0.0/map/{z}/{x}/{y}.png', {
					maxZoom: 18,
					attribution: 'Map data © OpenStreetMap contributors, ' +
						'CC-BY-SA, ' +
						'Imagery © Mapquest',
					id: 'examples.map-i875mjb7'
				}).addTo(map);
			});

ESRI layers work with https https://esri.github.io/esri-leaflet/examples/basemap-with-labels.html

I solved it thanks to @F1LT3R
I had
http://{s}.tile.osm.org/{z}/{x}/{y}.png

and I had the SSL problem and I changed it to
https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png

and done!
thankyou

Awesome! Glad I could help.
On Tue, Nov 10, 2015 at 3:51 AM, Ayoze Barrera<EMAIL_ADDRESS>wrote:

I solved it thanks to @F1LT3R https://github.com/F1LT3R
I had
http://{s}.tile.osm.org/{z}/{x}/{y}.png http://tile.osm.org/{z}/{x}/{y}.png
and I had the SSL problem and I changed it to
https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png http://tile.openstreetmap.org/{z}/{x}/{y}.png
and done!
thankyou
—
Reply to this email directly or view it on GitHub
https://github.com/Leaflet/Leaflet/issues/3186#issuecomment-155360520.

Thanks for the hint about the https server. I actually thought OSM wouldn't support HTTPS at all.

Hi @ghybs ,
Thank you so much for your reply.
Sorry about the post at wrong place.
I will post my query on GIS Stack Exchange.
Thanks 👍

I ended up using this url instead,
in case anyone else wants it:
L.tileLayer('//{s}.tile.osm.org/{z}/{x}/{y}.png', {
    attribution: '© OpenStreetMap contributors'
}).addTo(map);

Basically 'http://{s}.tile.osm.org/{z}/{x}/{y}.png' to '//{s}.tile.osm.org/{z}/{x}/{y}.png'

I tried all the solutions here pertaining to the L.tileLayer code, but what did it for me:  in the index file of my site, the leaflet.css and leaflet.js were being called from an http site - changing those to https broke even my http site and didn't fix my https site.  So i copied the code for both the css and js files and saved them as leaflet.js and leaflet.css in my own server and therefore the reference to them in my index page is local and now everything works correctly.

@angarone We also ended up doing the same. Thanks for the tip


Registration on open.alphaess

Hallo,
I tried to add my inverter also on open.alphaess.com. Unfortunatly I did not get a verification code by email. I just get even after login a internal server error. I have registered my inverter after Installation already at alpha.ess - not open.alpha.ess. Could this interfere?
Is it also possible to use the API without having registered my inverter at open.alphaess but at alphaess?
Tanks for any support

I have exactly  the same issue.

There used to be an ongoing issue regarding it in the AlphaESS slack/github. And the only solution was to use the API (can bind via the API call) and get the info that way.
I can prolly work on improving the documentation surrounding all of that, now there is seemingly no one at alpha maintaining it

There used to be an ongoing issue regarding it in the AlphaESS slack/github. And the only solution was to use the API (can bind via the API call) and get the info that way.
I can prolly work on improving the documentation surrounding all of that, now there is seemingly no one at alpha maintaining it

I added the API calls for getting the check code and binding the invertor to the postman collection recently so maybe the best way to update the documentation is to refer to using postman to do that registration?

Yep, I'll update the config flow to include info regarding unable to add an account to openAPI, and link it to the read.md location and update the documentation in relation to that.
I'll open a PR for it later today when I get home

Thank you very much looking forward your update of read.md.
@CharlesGillanders not clear which postman collection your are refering to... can you comment ?
By the way within the read.md
"Once registered and logged in follow the instructions from https://github.com/alphaess-developer/alphacloud_open_api to find your inverter SN and CheckCode" looks like is a dead link.

@rk-code there is a PR open for it now, just pending to be pulled, ive replaced that dead link to the old dev GitHub with a reference to this image here https://imgur.com/a/Xm5t1s0
There doesn't seem to be any other good documentation (and the old link basically showed the same image as i linked)


ROCANA-9283: gowinlog passes subscribed channel

When handling the ForwardedEvents channel, gowinlog would receive events from all sorts of channels (Application, Setup, System, etc), and would try to use the channel name to retrieve the handle for that channel bookmark. It would fail with messages like No handle for channel bookmark Application.
This PR saves the original channel ForwardedEvents into the callback wrapper which is passed through EvtSubscribes callback as the context argument. Instead of using the channel from the event in PublishEvent, we use the channel discovered through the callback wrapper. This allows us to correctly save and retrieve bookmarks for ForwardedEvents, even though the events on the channel have their own distinct channels.

@adamlamar the code looks good; just one question:  will this change break anything when reading events from channels besides ForwardedEvents?
And also, when you merge this PR, can you copy the PR description into the JIRA?

Thanks @matthew-dailey! I copied the PR description into the jira.
Also, I did test by subscribing to the local channel Application and it worked as expected. Forgot to mention that though.


⚠ Bofrost.lu has degraded performance

In 2c2cffa, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 2047 ms

Resolved: Bofrost.lu performance has improved in 56e88a5.


(FACT-1872) Add support for dmi.product.uuid for Windows platforms

This leatherman PR needs to be merged first: https://github.com/puppetlabs/leatherman/pull/282
This is a successful ad-hoc build of an agent package based on these PRs: https://jenkins-master-prod-1.delivery.puppetlabs.net/view/puppet-agent/view/ad-hoc/job/platform_puppet-agent-extra_puppet-agent-integration-suite_adhoc-ad_hoc/306/

Note: the AppVeyor error is due to the wmi::uuid definition not being in leatherman yet, once that PR gets merged we can kick AppVeyor again to see it pass.

CLA signed by all contributors.

merged: puppetlabs/leatherman#282

It looks like the AppVeyor build uses a released version of leatherman and not the HEAD of 1.4.x, so that test will continue to fail. Instead I refer reviewers to the ad-hoc agent build results that Enis replicated above, and the passing acceptance tests in Jenkins.

This is blocked until AppVeyor is updated to use the appropriate branch of leatherman, otherwise it will fail in perpetuity after this PR is merged.

This is no longer blocked and ready for merge!


[CreateAccountTransaction] Set auto renew duration to 7890000 seconds

https://github.com/hashgraph/hedera-sdk-java/issues/223

already done:  https://github.com/hashgraph/hedera-sdk-js/blob/master/src/account/AccountCreateTransaction.ts#L23


Improve error message when no environments are found

Fixes https://github.com/Azure/azure-dev/issues/397

VSCode Extension Installation Instructions

Download the extension at https://azuresdkreleasepreview.blob.core.windows.net/azd/vscode/pr/556/azure-dev-0.3.0-alpha.vsix
Extract the extension from the compressed file
In vscode
a. Open "Extensions" (Ctrl+Shift+X)
b. Click the ...\ menu at top of Extensions sidebar
c. Click "Install from VSIX"
d. Select location of downloaded file


Cropper fails to install via NPM

Apparently the fengyuanchen/tooltip module has not been uploaded to NPM yet.
in my project package.json:
"cropper": "0.11.1",
npm install throws the following fatal error:
npm ERR! 404 Not Found
npm ERR! 404
npm ERR! 404 'fengyuanchen/tooltip' is not in the npm registry.
npm ERR! 404 You should bug the author to publish it
npm ERR! 404 It was specified as a dependency of 'cropper'

Duplicate of https://github.com/fengyuanchen/cropper/issues/442


Business logic

Pull Request Test Coverage Report for Build 166

26 of 26 (100.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 164:
0.0%

Covered Lines:
56

Relevant Lines:
56

💛  - Coveralls


Add a define on POSIX system for lua to silence a warning about tmpname vs mkstmp

Since the define LUA_USE_MACOSX and LUA_USE_LINUX seems to lead to the same subdefine it will do the job

LFTM, Thanks


Revert "feat: support market with helper contract"

Reverts Mach-Finance/contracts#12

Closing this PR in favour of manually removing SupportMarketHelper.t.sol


arp,nbd: drop flooping

Delete the flooding code upon acquiring leadership.
See #123

We will need to do this when we add virtual MAC support. It's up to you if you want to delete now and re-add later, or keep this for now (it's not harmful, just unnecessary) and edit later. I'll let you decide and either merge or close.


Correction for raw affiliation OpenAQ, Washington, D.C., USA

Correction needed for raw affiliation OpenAQ, Washington, D.C., USA
raw_affiliation_name: OpenAQ, Washington, D.C., USA
new_rors:
previous_rors: 04kb0nk47
works_examples: W4321996427
contact: 699ef1dc62fec1f71ed040839560c811:115fc7408f1a8b @ air.org

This issue was accepted and ingested by the OpenAlex team on 2024-10-09. The new affiliations should be visible within the next 7 days.


KeyError:'Tail'

ISSUE:
llm-graph-builder-main\backend\src\graph_transformers\llm.py", line 611, in process_response
nodes_set.add((rel["tail"], rel["tail_type"]))
KeyError: 'tail'
2024-12-03 10:17:49,894 - closing connection for extract api
INFO:     <IP_ADDRESS>:65204 - "POST /extract HTTP/1.1" 200 OK
2024-12-03 10:18:06,317 - Request disconnected
DISCRIPTION
The document I uploaded exceeds 20KB and an error as shown in the figure occurs. I would like to ask if there is a size limit for input files in this project, as I am using the qwen-long model.

Hi @alwayscheers there is size limit can you share your file so that we can try at our end

#841

@alwayscheers Can you share the file you tried.  Also are you using fireworks for qwen model?

Sure here is my txt:
test.txt
I am using the qwen-long API call service provided by aliyun platform.


Provide public list of TC members

Per discussion in #653, it makes sense to provide a public listing of the members of the Express TC: https://github.com/orgs/expressjs/teams/express-tc (list is not publicly visible).  I think this can be done in two ways:

Add a manual copy of https://github.com/orgs/expressjs/teams/express-tc to the README or another document in both https://github.com/expressjs/expressjs.com and https://github.com/expressjs/express repos.
Make the visibility of the list in https://github.com/expressjs/expressjs.com public by changing the visibility to "public" in https://github.com/organizations/expressjs/settings/teams. Then simply link to that list from README, Contributing.md, et. al.

The second option seems better to me, since then we wouldn't have to maintain the list manually in the README (if people join or leave TC).

Hi @crandmck, there is no button I can see anywhere to make the team more public than it is already. There are only two choices I can see: Visible or Secret. The TC team (and all teams in the org) are already set to Visible:

Unless we can figure out how to get that organization team publicly visible, we should keep the maintenance cost low by only doing a single list. Ideally (I believe I brought this up before), the expressjs.com website itself needs a section on it with the TC information (including members), the governance policy, etc. This would allow us to just add a link to the website with the names in all the READMEs instead of trying to keep it up-to-date everywhere.

Huh, I guess I was mistaken about being able to make the list public.  My bad.
We do have http://expressjs.com/en/resources/contributing.html already that provides the info from various MD files in the express repo (e.g. https://github.com/expressjs/express/blob/master/Contributing.md).  Unfortunately, I don't know of any way to "single source" it from those files, so I just copy/pasted it.  I guess we'd have to do the same with the TC member list.  Or we could just link to the file from that page.

This is now published at http://expressjs.com/en/resources/contributing.html#technical-committee.