feat: migrate to hookable package

🔗 Linked issue
Resolves: https://github.com/nuxt/nuxt/issues/24419

❓ Type of change

[ ] 📖 Documentation (updates to the documentation, readme or JSdoc annotations)
[ ] 🐞 Bug fix (a non-breaking change that fixes an issue)
[ ] 👌 Enhancement (improving an existing functionality like performance)
[x] ✨ New feature (a non-breaking change that adds functionality)
[ ] 🧹 Chore (updates to the build process or auxiliary tools and libraries)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description
This PR moves Nuxt 2 to the hable package successor, hookable, which allows us to unregister hooks and create developer experience more similar to Nuxt 3 / Bridge

📝 Checklist

[x] I have linked an issue or discussion.
[ ] I have updated the documentation accordingly.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (5eb1b32) 66.20% compared to head (9cb7817) 66.22%.

Additional details and impacted files
@@            Coverage Diff             @@
##              2.x   #24426      +/-   ##
==========================================
+ Coverage   66.20%   66.22%   +0.01%
==========================================
  Files          93       93
  Lines        4119     4121       +2
  Branches     1169     1169
==========================================
+ Hits         2727     2729       +2
  Misses       1126     1126
  Partials      266      266

Flag
Coverage Δ

unittests
66.22% <100.00%> (+0.01%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Focus on cell component when editing

Is it possible to focus or pass the enter key event to the custom component when in editing mode (forceComponent is set to true) ?
My use case:
I have a custom Select options component inside the cell, with forceComponent: true. I would like to capture the enter key event/focus and open the Select dropdown.

I'll have to make sure of this, but enter key event is currently being propagated.
https://nadbm.github.io/react-datasheet/ <-- check the last example with the select component

Since the autoFocus attribute is used on react-select, which focuses the component on mount, the Select component is focused. But when using forceComponent:true.. I cannot use autoFocus attribute, in which case, the focus event/enter key event does not propagate from ComponentCell.
Solution:


Update documentation and tests

also adds in general linting for better readability and updated travis.

You will notice that I switched the Implementation to Edd Mann's first implementation, because the performance is the same as Implementation Number 6, without violating any best practices.

I know it is a massive Pull Request (sorry!), but I wanted you to see each change one-by-one. Feel free to squash them all into a single commit, if you want.
If you want to see how the changes will appear on your repo, then you can just review my fork to see everything at once.

You are awesome. I created this repositories to joke two years ago. By reading your commits I have seen a lot of mistakes I did,  maybe because I come back from plane 😁.   Thank you ! 😊

No problem! Even the "joke" modules can turn out to be useful. For Front-end (UI) work, it can be helpful to have a reliable way to reverse a string.


Correct install.php

Hi,
thank you for this project, that I'm trying to install (on PHP5.6).
I think that there are some issues with the dbDriver selection during the installation:

the Illuminate\Console\Command already manages the default argument, so the askQuestion can be simplified.
the choices should not be prefixed with pdo_
I have an empty db password: it should be the default

Thanks for the pull request.

Unfortunately, the patch failed. The password still required and the database driver failing with the following error "Unsupported driver [l]" :(
You can choose between:

You fix the patch, and I will test it again.
I can modify your patch and merge it.

Thanks for your work

I'll let you modify it (I now use another fork of tinyissue: https://github.com/pixeline/bugs because it support tags update)


this is a version bump

This is to get recent fixes deployed.
Developement on further enhancements is going to be done in the
version5 branch and there will be a 4.0.9 release to inform of 5.0.0
before it launches.  but I think its important to get the script tag fix
and p-name parsing fixes out sooner.

forcing this merge through to release as its not a code change at all


Overwrite and required

When using environment configuration as an override to a file-based configuration (e.g. viper w/yaml), the field needs to overwrite the existing when present in environment variables, use existing value if it is non-zero, and error if the value is both zero and not present in the configuration.
Currently overwrite makes required error when the field is non-zero, but not present in the environment variables.

Hi @FedorLap2006
Thank you for opening an issue. The "contract" for required is:

If a field is required, processing will error if the environment variable is unset.

So I think this is behaving as intended. Changing this semantic would be a little weird, because it's not possible to differentiate between a field set to the zero value vs a field unset. For example, consider a string field:
type MyStruct struct {
  Field string `env:"FIELD,required"`
}

By default, envconfig will error. However, if the environment variable is set to the empty string (export FIELD=""), this will succeed. In other words, required says "the environment variable must be set". It does not say "the struct field must be set".


ROS 1 node

I am very interested in switched to GPU accelerated tag detection. April tag tracking is part of the work flow for many projects in my lab but like many we are all still using ROS1.
Could you make a ROS1 node for this?

It's understandable that projects on ROS1, can benefit from our GPU acceleration work in ROS 2.  We are not releasing packages for ROS 1 because Melodic goes end of life this year and Noetic goes end of life in 2025.
With our upcoming release this month for GTC, you could lift the AprilTag library and header from the ROS 2 node, into http://wiki.ros.org/apriltag_ros.

Thanks @gordongrigor
https://nvidia-isaac-ros.github.io/concepts/fiducials/apriltag/tutorial_apriltag_ros1_bridge.html


Cannot find module "cypress-image-snapshot/command" error.

I am getting this current issue whenever I try to run any of my tests in Cypress.

This is my current configuration in "cypress/plugins/index.js"
const {
  addMatchImageSnapshotPlugin,
} = require('cypress-image-snapshot/plugin');

const browserify = require('@cypress/browserify-preprocessor');

module.exports = on => {
  addMatchImageSnapshotPlugin(on);
};

module.exports = (on, config) => {
  // `on` is used to hook into various events Cypress emits
  // `config` is the resolved Cypress config
  const options = browserify.defaultOptions;
  options.browserifyOptions.bundleExternal = false;
  // options.browserifyOptions.basedir = __dirname;
  // options.browserifyOptions.paths = ["./node_modules/", path.resolve(__dirname, "../../Bundles/")];
  // options.browserifyOptions.noParse = ["C:\\Users\\MWalker\\Workspace\\SStream-Client\\lib\\3.0\\Bundles\\Core.js"];
  on("file:preprocessor", browserify(options));
};

I have added import { addMatchImageSnapshotCommand } from 'cypress-image-snapshot/command'; in commands.js and still encountering this issue.

In cypress/plugins/index.js you should only assign module.exports once.  You can add addMatchImageSnapshotPlugin in the same function as your other plugins like so:
module.exports = (on, config) => {
  // `on` is used to hook into various events Cypress emits
  // `config` is the resolved Cypress config
  const options = browserify.defaultOptions;
  options.browserifyOptions.bundleExternal = false;
  // options.browserifyOptions.basedir = __dirname;
  // options.browserifyOptions.paths = ["./node_modules/", path.resolve(__dirname, "../../Bundles/")];
  // options.browserifyOptions.noParse = ["C:\\Users\\MWalker\\Workspace\\SStream-Client\\lib\\3.0\\Bundles\\Core.js"];
  on("file:preprocessor", browserify(options));

  addMatchImageSnapshotPlugin(on);
};

For addMatchImageSnapshotCommand I just realized that the readme is incorrect, you should actually add the command in cypress/support/index.js.

I made the changes recommended and I'm still getting the same error as before. The following is my "cypress/support/index.js"
import { addMatchImageSnapshotCommand } from 'cypress-image-snapshot/command';
require('./commands.js');
require("../../Bundles/Core.js");
require("../../Bundles/Collections.js");
require("../../Bundles/Drawing.js");
require("../../Bundles/SFL.js");

Cypress.on('uncaught:exception', (err, runnable) => {
  // returning false here prevents Cypress from
  // failing the test
  return false
})

I was able to get the module working by specifying the full path in the import statement.
import { addMatchImageSnapshotCommand } from "../../node_modules/cypress-image-snapshot/command";

My node_modules folder was outside my cypress folder. Thanks for the help.


Makyen: Watch screw\W*you(('?r?e?.{0,20}?(mother|m[ou]m(m?y)?|sister|brother|father|dad|pop))|r?self)?

Makyen requests the watch of the watch_keyword screw\W*you(('?r?e?.{0,20}?(mother|m[ou]m(m?y)?|sister|brother|father|dad|pop))|r?self)?. See the Metasmoke search here and the Stack Exchange search here.

Coverage remained the same at 65.091% when pulling de32c9cc2eac1e298d026e81f6f34ccc230a50b1 on auto-blacklist-1524357408.5729682 into de53f1e3fef15c7ab8f56a4993cf4a08a8dedfb0 on master.

!!/approve


modified toolbar disabled icons drawing

Ciao,
I modified the way toolbar draw the icons of disabled items.
What I didn't like was the gray square around the disabled icons even if the icons had transparent pixels.
Basically I modified the graphics::rgb_to_wb function adding a flag to skip the transparent pixels of the icons.
Here the result:

For sure there are better way to implement this behavior... I chose the easier without digging to deep into graphic/image code.

Thanks for your PR!


Refresh plugin for March 2023

I used my admin powers to replay the run with my Jenkinsfile changes here: https://ci.jenkins.io/job/Plugins/job/mina-sshd-api-plugin/job/PR-52/2/
@Dohbedoh could this please be merged and released? This is needed for our work on multi-module Maven projects in PCT.

@basil I launched the release https://github.com/jenkinsci/mina-sshd-api-plugin/actions/runs/4517292093/jobs/7956378445. Should be available soon.

@basil done https://github.com/jenkinsci/mina-sshd-api-plugin/releases/tag/2.9.2-62.v199162f0a_2f8

Thank you! I have tested the result and I am now unblocked.


Issues with >100MB on Cloudflare

When uploading files larger than 100MB to TelDrive, a 413 error is thrown, which means the entity is too large.
No such problems on NextCloud.

Nextcloud also divides the files into much smaller "parts", teldrive divides the files into at least 500MB packages each, which is then canceled by the limitation on the part of Cloudflare.

This problem is due to cloudflare settings

@Mak5er, I know, it's a paid feature

@Mak5er, I know, it's a paid feature

By the way, do you know of any analogues where this is free?


Implementing client.connected() check or client.loop() breaks other parts of program.

Hi there,
I'm working on a project where I want to connect a Controllino with an ESP8266-01 WiFi module.
I can successfully connect to a WiFi and connect to a local (C#-based) broker on that WiFi. Both the PubSubClient and the broker confirms this.
However, I have run into an issue when I want to check for new messages and renew the connection (via mqttClient.loop()) in the void loop method. Likewise, if I want to check the current connectivity state (mqttClient.connected()), my WiFi connectivity stops working entirely, and I am no longer able to connect to the WiFi.
#include <PubSubClient.h>
#include <WiFiEsp.h>
#include <Controllino.h>  //Baseline Controllino library. Mandatory in order to use CONTROLLINO_xx aliases for pins in sketch.

//WiFi credentials, and Broker information.
char ssid[] = "XXXXX";            // Network SSID (name)
char pass[] = "xxxxxx!";        // Network password
int status = WL_IDLE_STATUS;     // the WiFi radio's status

char serverIP[] = "<IP_ADDRESS>";
int portNumber = 1883;
//char macArrayToSend[6]; For later use

//Setting up arrays for easier management of leds and buttons.
int buttonLEDs[] = {CONTROLLINO_D0, CONTROLLINO_D1, CONTROLLINO_D2, CONTROLLINO_D3, CONTROLLINO_D4, CONTROLLINO_D5, CONTROLLINO_D6, CONTROLLINO_D7, CONTROLLINO_D8};
int buttonAnalog[] = {CONTROLLINO_A0, CONTROLLINO_A1, CONTROLLINO_A2, CONTROLLINO_A3, CONTROLLINO_A4, CONTROLLINO_A5, CONTROLLINO_A6, CONTROLLINO_A7, CONTROLLINO_A8};

//WiFi Client. Used to establish connection to local WiFi
WiFiEspClient espClient;

//MQTT Client
PubSubClient mqttClient(serverIP, portNumber, espClient);

void callback(char* topic, byte* payload, unsigned int length) {
  Serial.print("Message arrived [");
  Serial.print(topic);
  Serial.print("] ");
  for (int i=0;i<length;i++) {
    Serial.print((char)payload[i]);
  }
  Serial.println();
}

//----------* Functions *---------//
void setupMQTTClient(){
  Serial.println("[MQTT] Attempting to connect to broker...");

  mqttClient.setCallback(callback);
  bool connectionResult = mqttClient.connect("CONTROLLINO", "superSecretUN", "superSecretPW");

  Serial.print("[MQTT] Connection result: ");
  Serial.println(connectionResult);

  while (!connectionResult){
    Serial.println("[MQTT] Connection failed!");
    delay(1500);
    connectionResult = mqttClient.connect("CONTROLLINO", "superSecretUN", "superSecretPW");
  }

  if (connectionResult){
    Serial.println("[MQTT] Connection established!");
    Serial.println("[MQTT] Subscribing to topic...");
    //mqttClient.subscribe("CONTROLLINO", 1); //Breaks the program
  }
}

void setupWiFi(){
  WiFi.init(&Serial2); //Initialize connection via Serial2.

  if (WiFi.status()==WL_NO_SHIELD){
    Serial.println("WiFiEsp] WiFi shield not present");
    while(true);
  }

  while (status != WL_CONNECTED) {
    Serial.print("[WiFiEsp] Attempting to connect to WPA SSID: ");
    Serial.println(ssid);
    // Connect to WPA/WPA2 network
    status = WiFi.begin(ssid, pass);
  }
  Serial.println("[WiFiEsp] WiFi connection established!");
  Serial.print("WIFI Status: ");
  Serial.println(status);

}

//Turns on a button LED and waits for button press before continuing.
bool turnOnButton(int input){
  if (input > 24){ //Edge cases where designated LED does not exist in PLC.
    return false;
  }
  if (input == -1){ //Edge case where a reset of all LEDs is requested.
    for (int i = 0; i < sizeof(buttonLEDs); i++){
      digitalWrite(buttonLEDs[i], LOW);
    }
    return true;
  }
  else{
    //Turn on LED
    digitalWrite(buttonLEDs[input], HIGH);

    while(digitalRead(buttonAnalog[input])== LOW){
      //Keep waiting for the user to push the button.
    }
    //The button has been pushed down by the user.
    Serial.println("Button pushed");
    digitalWrite(buttonLEDs[input], LOW);
    return true;
  }
}

void printWifiStatus()
{
  //Print the SSID of the network currently connected to.
  Serial.print("SSID: ");
  Serial.println(WiFi.SSID());

  //Print WiFi module's IP address.
  IPAddress ip = WiFi.localIP();
  Serial.print("IP Address: ");
  Serial.println(ip);

  //Print WiFi module's MAC address.
  byte mac[6]={0,0,0,0,0,0};
  WiFi.macAddress(mac);
  Serial.print("MAC Address: ");
    Serial.print(mac[5], HEX);
    Serial.print(":");
    Serial.print(mac[4], HEX);
    Serial.print(":");
    Serial.print(mac[3], HEX);
    Serial.print(":");
    Serial.print(mac[2], HEX);
    Serial.print(":");
    Serial.print(mac[1], HEX);
    Serial.print(":");
    Serial.println(mac[0], HEX);

  //Print the received signal strength.
  long rssi = WiFi.RSSI();
  Serial.print("Signal strength (RSSI):");
  Serial.print(rssi);
  Serial.println(" dBm");
}

//Set up pins and LEDS using arrays.
void setupPins(){
  Serial.println("[CONTROLLINO] Setting up pins...");
  for (int i = 0; i < sizeof(buttonLEDs); i++){
    //Set up LED pins.
    pinMode(buttonLEDs[i], OUTPUT);
    digitalWrite(buttonLEDs[i], LOW);
    //Set up analog pins.
    pinMode(buttonAnalog[i], INPUT);
  }
  Serial.println("[CONTROLLINO] Pin setup succeeded");
}

void testButton(int input){
  bool test = false;
  Serial.print("Testing button: ");
  Serial.println(input);

  test = turnOnButton(input);
  if (test == true){
    Serial.println("Button succeeded");
  }else{
    Serial.println("Button failed");
  }
}
//----------* End of Functions *---------//

void setup() {
  Serial.begin(9600); //Regular serial printout to COM
  Serial2.begin(115200); //Serial connection to ESP8266 WiFi module

  setupPins();

  setupWiFi();

  printWifiStatus();

  setupMQTTClient();
}

void loop() {
  //mqttClient.loop() Breaks the program
}

Any help would be greatly appreciated, as I am at my wits end trying to get it to work 😢

Hello!
I have some problem like you, mine don't disconect to the wifi, only from the broker.
I isolate the problem in my case, and i have problem to use analog input...
try to comment every part where you use this and verify if this continues...
if not, the problems maybe the same...
https://github.com/knolleary/pubsubclient/issues/725

Hi @Psykozis,
Thank you for the reply, and the link to your own problem. I've tried a number of things, including commenting, reimplementing the entire project, tried compiling and running on a separate platform, etc. None of which seems to work.
I am not sure if our problems are the exact same structurally, but as others have commented in your issue, it seems to stem from ressource hogging in your program. It might be the same issue in my program. Sadly, I am not able to test it, as I no longer posses the equipment necessary :disappointed:

I'm not familiar with the controllino boards. But are you programming the ESP itself with the sketch? If so, <WiFiEsp.h> is an unknown to me. Have you tried your sketch with the <ESP8266WiFi.h> lib?


hadoop.conf.dir dependency not found for YarnConfigurationFactory.backend

when i try to run the docker image ghcr.io/exacaster/lighter:0.0.28-spark3.2.1 i get an error from micronaut:
"Failed to inject value for parameter [hadoopConfDir] of method [backend] of class: com.exacaster.lighter.backend.yarn.YarnBackend"
I'm not good at java/micronaut but it seems to be a problem in YarnConfigurationFactory.backend method which gets "hadoop.conf.dir" dependency.
as i mentioned i don't have much experience in Java/Micronaut so i tried to map a docker volume with HADOOP_CONF_DIR directory to the paths used in the Dockerfile:

tried to map a docker volume with HADOOP_CONF_DIR directory to the paths used in the Dockerfile: /etc/hadoop/conf.cloudera.yarn

what am i doing wrong?

further checks lead me to the source of the problem.
Micronaut can use dependencies from environment variables that are not declared in application.yml.
the solution is to add HADOOP_CONF_DIR environment variable, it would be nice if this will be added to the docs or set to default value /etc/hadoop/conf.cloudera.yarn


Add a human_readable_price property on Plan

Dashboard for reference:

It's not 1:1 to the dashboard due to the currency differences, but that's also not specifically the goal.

Looks good. For anyone reviewing this, the choice was made not to go with pluralize() due to future internationalization/localization efforts


no data without gps data

Dear Tananaev
i am using the traccar with mysql, using gps303 that is forwarded to the port 5001 (gps103protocol)
if the tracker sending the packedge with gps data then everything all right,
when the tracker have no gps signal, then it still sending the packedges without gps data but it is not recorded by traccar.
without gps data i still have informations in the packedge that i need like oil level.
these are the messages from the gps (by wireshark)
imei:359710046982931,tracker,150223202244,,F,122244.000,A,4733.7127,N,01902.4392,E,0.00 ,0 ,,1,1,84.13%, ,;

imei:359710046982931,tracker,150204093844,,L,, ,ee4 , ,6d4  , , , ,,1,1,84.13%, ,;

how can i get info from the tracker without gps data?
Thanks and Regards
peter

Traccar does not support messages without GPS data yet. I plan to fix it in future.

As i can see the regexp part should be changed in the gps103protocol, but
probably the java part too.
I do not know java (yet), so i need someone to do it for me, - i guess for
an experienced java programmer this is just a piece of cake.
Can i donate your project to encourage your to fix it in very soon? How much
would it cost?
Thanks
peter

From: Anton Tananaev<EMAIL_ADDRESS>Sent: Wednesday, March 04, 2015 9:22 PM
To: tananaev/traccar
Cc: petersusan
Subject: Re: [traccar] no data without gps data (#1108)
Traccar does not support messages without GPS data yet. I plan to fix it in
future.

Reply to this email directly or view
https://github.com/tananaev/traccar/issues/1108#issuecomment-77239000  it
on GitHub.
<https://github.com/notifications/beacon/ADu-JGd_yUYEjGtrQmydxgG1o8UQrfcnks5
nx2DngaJpZM4DpTyC.gif>

You are welcome to donate to the project, but I cannot give you any estimates on when it would be fixed.

So then in other words, how much would it cost to fix it for the
protocol103? - or should i find someone else / or learn java
Btw only regexp should be changed or java part too?

From: Anton Tananaev<EMAIL_ADDRESS>Sent: Wednesday, March 04, 2015 10:07 PM
To: tananaev/traccar
Cc: petersusan
Subject: Re: [traccar] no data without gps data (#1108)
You are welcome to donate to the project, but I cannot give you any
estimates on when it would be fixed.

Reply to this email directly or view
https://github.com/tananaev/traccar/issues/1108#issuecomment-77247361  it
on GitHub.
<https://github.com/notifications/beacon/ADu-JBKBuq4U5xtakuSKF2uDAv8Czay6ks5
nx2ttgaJpZM4DpTyC.gif>

Everything should be changed. We need new database tables, new model classes, new regex and modify decoder as well. If you want to see those in web interface you need to change web interface as well.
It's a major change and I don't want to do it before I switch to new web interface.

I believe this has been supported for a while now.


Unknown CMake command "qt_query_qml_module".

qt_query_qml_module was introduced in Qt 6.3, So it doesn't work under Qt 6.2, this cmake code needs to be changed.

Thanks for telling me this! Really sorry for the inconvenience! I'll fix it as soon as possible.


this.navCtrl.pop() crashs application with iframe

Bug Report
Ionic Info
Ionic:
ionic (Ionic CLI)  : 4.0.6 (/home/ratske/.nvm/versions/node/v8.11.2/lib/node_modules/ionic)
Ionic Framework    : ionic-angular 3.9.2
@ionic/app-scripts : 3.1.11
Cordova:
cordova (Cordova CLI) : 8.0.0
Cordova Platforms     : android 6.4.0
System:
Android SDK Tools : 26.1.1
NodeJS            : v8.11.2 (/home/ratske/.nvm/versions/node/v8.11.2/bin/node)
npm               : 5.6.0
OS                : Linux 4.10
Environment:
ANDROID_HOME : /home/ratske/Android/Sdk
Describe the Bug
My app has a page with an iframe in it and when I navigate in the website that the iframe shows and click to return in the header (in the app) the app reloads...
Steps to Reproduce
Steps to reproduce the behavior:

Push the page with iframe
Navigate in the iframe
navCtrl.pop()
App crushs

Take a look at this issue, seems to be the same as yours: #13812

i have same problem but the iframe is with flipping book when i use window.history.back() the page of the book back 1 page from first click, second click not do anything, third click back one page, fourth nothing etc....so how can i let the back button return completely from the page that have the iframe not the page of the book.
also i tried to destroy the iframe on ionViewWillLeave and ionViewDidLeave , same problem


sort.Search GuessingGame documentation example does not work

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

$ go version
go version go1.15.6 windows/amd64

Does this issue reproduce with the latest release?
Yes.
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
set GO111MODULE=auto
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\bobja\AppData\Local\go-build
set GOENV=C:\Users\bobja\AppData\Roaming\go\env
set GOEXE=.exe
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOINSECURE=
set GOMODCACHE=C:\GoLib\pkg\mod
set GONOPROXY=
set GONOSUMDB=
set GOOS=windows
set GOPATH=C:\GoLib
set GOPRIVATE=
set GOPROXY=https://proxy.golang.org,direct
set GOROOT=c:\go
set GOSUMDB=sum.golang.org
set GOTMPDIR=
set GOTOOLDIR=c:\go\pkg\tool\windows_amd64
set GCCGO=gccgo
set AR=ar
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m64 -mthreads -fmessage-length=0 -fdebug-prefix-map=C:\Users\bobja\AppData\Local\Temp\go-build702450142=/tmp/go-build -gno-record-gcc-switches

What did you do?

What did you expect to see?
Expected to play the game.
What did you see instead?
Console prompting for an answer to its question asked 2 questions on same prompt line, making the game unusable.
Found and seemed to fix the problem in the example code: changed the fmt.Scanf("%s", &s) to fmt.Scanf("%s\n", &s).

Sorry, the "What did you do>" question seemed to be unanswered. Answer is: Copied and ran the GuessingGame example from the sort.Search documentation.

Sorry, the "What did you do>" question seemed to be unanswered. Answer is: Copied and ran the GuessingGame example from the sort.Search documentation.

I tried this and it works fine as is, without the newline. We need more information.

I tried this and it works fine as is, without the newline. We need more information.

The example also work for me on Linux, but... #23562: Scanf works differently on Windows and Linux, and OP is using Windows. Possible root cause? The example was written and never tested on Windows?

The example also work for me on Linux, but... #23562: Scanf works differently on Windows and Linux, and OP is using Windows. Possible root cause? The example was written and never tested on Windows?

Here's the output when I run the code as it appears in the documentation:
Pick an integer from 0 to 100.
Is your number <= 50? y
Is your number <= 25? Is your number <= 12?
I double checked that my source code is properly formatted with Unix line
endings.
When I run it with the \n fix I noted, it works as expected.
I can't try it on Linux -- no easy access to a Linux box.
Could you guys try it on Windows? That should put it to bed quickly. If it
fails the same as it does for me, it's probably a Scan bug. If not, well,
this is not of any consequence to me. Just letting you know of the behavior
I'm seeing...
On Sun, Jan 10, 2021 at 11:52 AM Alberto Donizetti<EMAIL_ADDRESS>wrote:

The example also work for me on Linux, but... #23562: Scanf works
differently on Windows and Linux
https://github.com/golang/go/issues/23562, and OP is using Windows.
Possible root cause? The example was written and never tested on Windows?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/golang/go/issues/43612#issuecomment-757533674, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ABLA2AISTKNHDXXHCB3OC53SZIARXANCNFSM4V324NXQ
.

Here's the output when I run the code as it appears in the documentation:
Pick an integer from 0 to 100.
Is your number <= 50? y
Is your number <= 25? Is your number <= 12?
I double checked that my source code is properly formatted with Unix line
endings.
When I run it with the \n fix I noted, it works as expected.
I can't try it on Linux -- no easy access to a Linux box.
Could you guys try it on Windows? That should put it to bed quickly. If it
fails the same as it does for me, it's probably a Scan bug. If not, well,
this is not of any consequence to me. Just letting you know of the behavior
I'm seeing...
On Sun, Jan 10, 2021 at 11:52 AM Alberto Donizetti<EMAIL_ADDRESS>wrote:

The example also work for me on Linux, but... #23562: Scanf works
differently on Windows and Linux
https://github.com/golang/go/issues/23562, and OP is using Windows.
Possible root cause? The example was written and never tested on Windows?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/golang/go/issues/43612#issuecomment-757533674, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ABLA2AISTKNHDXXHCB3OC53SZIARXANCNFSM4V324NXQ
.

I can confirm the issue is reproducible on Windows (using cmd). So yeah I think #23562 is indeed the root cause.

I can confirm the issue is reproducible on Windows (using cmd). So yeah I think #23562 is indeed the root cause.

Closing as a dup of #23562.


Numeric is not a dry-types built-in type, fix coercion/validation

In 1.3+ if someone had a Numeric type parameter which worked in <1.3 - any valid non-blank value will silently fail validation
params { optional :price, type: Numeric }

This happens because dry-types does not contain built-in type for DryTypes::SomeScope::Numeric and const_get by default searches ancestors, thus finding ::Numeric.
Runtime error undefined method `[]' for Numeric:Class is treated as a validation error and leads to unexpected behavior.
This PR adds mapping for Numeric that fixes it, also fallback to const_get(.., false) will make similar issues easier to debug.

Right on. The change to not lookup inherited types in const_get seems to break a bunch of other stuff, though.
 30) Grape::Endpoint#declared when the param is missing and include_missing=false sets nested objects to be nil
      Failure/Error: MAPPING.fetch(type) { scope.const_get(type.name, false) }
      NameError:
        uninitialized constant #<Module:0x00005598ebeb08a0>::Set

Yep, reverted the const_get change, it's not that important for the fix

Thanks! Merged.


Fix importing as ESM by using conditional exports

First of all thanks for building this useful module. I'm experimenting a bit with sveltekit and run into some issues when trying to export my site as a static bundle. I'm getting following error:
> Using @sveltejs/adapter-static
> Named export 'SvelteToast' not found. The requested module '@zerodevx/svelte-toast' is a CommonJS module, which may not support all module.exports as named exports.
CommonJS modules can always be imported via the default export, for example using:

import pkg from '@zerodevx/svelte-toast';
const {SvelteToast} = pkg;

Apparently the build logic could not figure out that this package contains an ESM bundle, even though it is configured using the module property in package.json. Reading up on building hybrid (esm & cjs) node packages led me to believe that your package.json might be missing the conditional exports config. Adding it fixed my issue. I also rewrote your index and took advantage of export.

HI @kjagiello - thank you for taking the time to investigate this. Really appreciate the details you provided! 👍
I haven't had a chance to try out sveltekit yet, but I'm surprised there's an error given that the build pipeline for svelte-toast is derived from Svelte's component template. AFAIK if development is under the Svelte env, bundling is handled by the Svelte rollup or webpack plugins - which (I think) uses the svelte field in package.json as the entry-point.
The commits you made in this PR is probably best practice though so I'll merge this in. Thanks so much for your contribution! 🎉 💪

Yeah, I actually used your module with regular svelte before and had no problems at all there. Then I migrated to sveltekit and run into this issu.
Nevertheless, what you are saying would explain the error I'm getting from sveltekit. The svelte field in package.json points to the CommonJS module, which does not seem to work so good with sveltekit anymore – to clarify, it works fine for npm run dev, but not for npm run build with @sveltejs/adapter-static. The conditional export I've added seem to have higher precedence and thus helps the build process to choose the right module (the ES one).
Thanks for your quick review!

So I just realised this PR causes a regression (kind of) in regular Svelte:
[rollup-plugin-svelte] The following packages did not export their `package.json` file so we could not
check the "svelte" field. If you had difficulties importing svelte components from a package, then please
contact the author and ask them to export the package.json file.

- @zerodevx/svelte-toast

Toasts still work though, so it seems that's just a warning message? 🤷
The test version with this PR is at npm i @zerodevx/svelte-toast@next. What do you think is happening? 😆

Oh, true. Apparently when using exports, you have to explicitly export package.json if the bundler for some reason needs to access it, which is the case with rollup-plugin-svelte as it's inspecting it for the svelte field. Fix incoming in #13


Set up questions to learn more about users

Is your feature request related to a problem? Please describe.
Problem, lack of segmentation for understanding users and taking better product decisions.
Describe the solution you'd like
There's a setup questions page right now, but it should be not on onboarding, but rather it should feel natural, and not like invasive to the user.
Describe alternatives you've considered
We could find a way to put it in the onboarding flow.

this is fantastic.  user profiles would really help development and product management.  However, this only works if a resource is required to analyze this information (Applying AI!)

Not sure if i should file this "add on" - the information provided by the user could be folded into memories in terms of biasing what is important to the user due to the profile.  This could apply to chat as well.  a bias to the user profile.  LMK if that is a separate feature request

IMO P3

Maybe implemented


angular-adapter: does not re-render ui on signal changes

Describe the bug
I'm using a bog-standard setup of @tanstack/angular-query-experimental.
For some reason, none of the signals render a second time when the source is re-fetched.
Note: Please run the minimal example locally, since they don't run on either of stackblitz or codesandbox and i don't really know why not.
Here are the links to these services anyway:

https://stackblitz.com/~/github.com/bjesuiter/stackblitz-tanstack-query-angular-rerender-bug
https://codesandbox.io/p/github/bjesuiter/stackblitz-tanstack-query-angular-rerender-bug/draft/wizardly-ives

Your minimal, reproducible example
https://github.com/bjesuiter/stackblitz-tanstack-query-angular-rerender-bug
Steps to reproduce

clone the repo
npm i && npm start
Open the local url
See the first response from the world time api
in the tanstack devtools, click the refetch or invalidate button to refresh the data

Expected behavior
As a developer I expected to see the time on the screen update when I refetch the source from worldTimeApi, but for some reason the ui doesn't update.
How often does this bug happen?
Every time
Screenshots or Videos
No response
Platform

OS: macos

Tanstack Query adapter
angular-query
TanStack Query version
5.24.8
TypeScript version
5.3.3
Additional context
No response

Thanks for reporting this bug. It's fixed in v5.26.1


qq: 3.1.0-9572 -> 3.1.1-11223

Description of changes

Things done

Built on platform(s)

[x] x86_64-linux
[x] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 223870 run on aarch64-linux 1

1 package built:

qq

Result of nixpkgs-review pr 223870 run on x86_64-linux 1

1 package built:

qq


persisting az credentials

When running something like client.package_and_upload_dockerfile you will be prompted to go through the az login flow every time the file is run, even if you have already logged in. Is there any way we can cache this login?
Even running the same python file twice in the same terminal repeats the login process, I understand the first time the file is run needing to login, but subsequent calls should first check if the credentials are already valid.

hey @ryanraaschCDC any updates on this? This is not breaking functionality but it would be nice to not need to re-login every time I run my launching scripts.


Emissions Impact Dashboard Power BI report - Data are not updated

I followed the instruction on the documentation page - https://docs.microsoft.com/en-us/power-bi/connect-data/service-connect-to-emissions-impact-dashboard
24 hours has passed and the report has run a refresh every day for the last couple of days. However I still see data from the demo report.
I am getting no error? Please advice how and what can I do?
Thanks

Hi @AlonEkelund, did your issue ever get resolved?

Unfortunately no. I still cannot get data into the report. It is a problem as I want this to work. This is a strategic matter for us

@AlonEkelund
And in step 6 you put in the Billing account ID and in step 8 you logged in with the credentials which have access to the billing ID and has the permissions explained in the prerequisites, i.e. Power BI Pro license and an admin role with read/write permissions on the Azure tenant?
Sorry, just need to ask. I imagine you did this.

I am not familiar with the bit about the Azure benefit. Do you have any detail on how when you activate the benefit it changes your plan? What kinds of signs about that do you have?

Hi @AlonEkelund, I consulted with the product PM about what you wrote me, and they said that for this problem the best thing would be for you to open a support ticket at support.powerbi.com (I am a docs person). So I'm closing this github issue for now. If you find anything in the docs that needs improvement or clarification, please let us know. Anyway, sorry you've had to wait so long for this answer. I hope you manage to solve the problem!

You asked. step 6 you put in the Billing account ID and in step 8 you logged in with the credentials which have access to the billing ID and has the permissions explained in the prerequisites, i.e. Power BI Pro license and an admin role with read/write permissions on the Azure tenant? YES to all of that

And I did open a ticket both on Power BI support and Azure support. I talked to both teams. Non could give me a solution. I am waiting for one og the teams to solve the problem OR to suggest an alternat way to get the data.
I am guessing this is highly relevant for many other Microsoft Partners. At least it should be :-) I hoped some attention could be put on this matter and I am simply trying different angels and hoping some might have a solution.
Thank you

Hi @AlonEkelund, ok, thank you for that information. I will also let the product team know about that. I don't know if they'll be able to help, but at least they'll be informed.
Thanks again!


Geojson layer does not display polygon around the world

Summary
When creating a Geojson layer with a polygon stretching around the world it does not render, seems to me it always tries to render the smallest possible size (adding an extra point at [0, -90] makes it work).
My main issue is that a second polygon as cutout does not work at all, unless the first polygon has no negative coordinates, see screenshots 🤔
When using geojson.io everything works properly, see file attached.
map.geojson.zip
Reproducible sample code
import React from "react";
import { StyleSheet } from "react-native";
import MapView, { Geojson } from "react-native-maps";

export default function App() {
  const geojson = {
    type: "FeatureCollection",
    features: [
      {
        type: "Feature",
        properties: {},
        geometry: {
          coordinates: [
            [
              [-180, 90],
              [-180, -90],
              // [0, -90], // fix for polygon around the world
              [180, -90],
              [180, 90],
            ],
            [
              [-15, 35],
              [30, 35],
              [30, 75],
              [-15, 55],
              [-15, 35],
            ],
          ],
          type: "Polygon",
        },
      },
    ],
  } as any;

  return (
    <MapView style={styles.map} pitchEnabled={false} rotateEnabled={false}>
      <Geojson
        geojson={geojson}
        fillColor="rgba(0,0,0,0.5)"
        strokeColor="red"
      />
    </MapView>
  );
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    alignItems: "center",
    justifyContent: "center",
    padding: 20,
  },
  map: { flex: 1 },
});

Steps to reproduce
See description
Expected result

Actual result

React Native Maps Version
1.3.2
What platforms are you seeing the problem on?
iOS (Apple Maps)
React Native Version
0.71.8
What version of Expo are you using?
SDK 48
Device(s)
iPhone 12 Mini
Additional information
No response

One more issue: the country and city labels are rendered above the geojson layer. Changing the zIndex does not seem to have an effect.


BungeeCord support.

Are there any plans for the future about adding bungeecord's support, because it would be great :wink:

Tracking on https://github.com/OkaeriPoland/okaeri-platform/tree/feature/bungee-support
If needed okaeri-platform-bungee:0.4.0-preview is available in the repository.

Version 0.4.0-preview2 is now available featuring setup() method that allows to register own components, also fixes generic Component support.

Version 0.4.0-preview4 is now available, fixing startup errors, and providing alternative PlatformScheduler instead of BukkitScheduler.

Commands available from Feb 22 (release 0.4.1): https://github.com/OkaeriPoland/okaeri-platform/commit/df43804a3e60a93596ef753932f845d3607a1c47


Ledger bug With Tezos wallet

Upgraded my tezos software via ledger live. Now my Tezos wallet address is gone.  updated my software and restored my seeds. new wallet comes up. what gives?

@Anthony2NYC Hello, are you still having this issue or it has been resolved ?

@Anthony2NYC Hello, are you still having this issue or it has been resolved ?

Issue resolved. I found my keys, thanks. They are safely tucked away till my cryptos hit my target in 5 to 10 years. By then I'll be rich and can track down the Asian guy who stole some of my crypto, which I had in my other wallet. The guy who lived or may still live in prince street in soho. I have his name and address. I tracked him down. I'm the future he will be very  sorry for robbing from me.  I have all his info. Name address, family members addresses. His social and dob.
Sent from Yahoo Mail on Android
On Sun, Dec 6, 2020 at 5:17 PM<EMAIL_ADDRESS>wrote:
@Anthony2NYC Hello, are you still having this issue or it has been resolved ?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.


Array methods flat and flatMap are not polyfilled

Version
3.6.3
Reproduction link
https://github.com/runarberg/vue-cli-minimal-example
Environment info
npx @vue/cli info

Environment Info:

  System:
    OS: Linux 4.15 Ubuntu 18.04.2 LTS (Bionic Beaver)
    CPU: (4) x64 Intel(R) Core(TM) i7-7600U CPU @ 2.80GHz
  Binaries:
    Node: 11.2.0 - ~/.nvm/versions/node/v11.2.0/bin/node
    Yarn: Not Found
    npm: 6.4.1 - ~/.nvm/versions/node/v11.2.0/bin/npm
  Browsers:
    Chrome: Not Found
    Firefox: 66.0.2
  npmPackages:
    @vue/babel-helper-vue-jsx-merge-props:  1.0.0-beta.3
    @vue/babel-plugin-transform-vue-jsx:  1.0.0-beta.3
    @vue/babel-preset-app:  3.6.0
    @vue/babel-preset-jsx:  1.0.0-beta.3
    @vue/babel-sugar-functional-vue:  1.0.0-beta.3
    @vue/babel-sugar-inject-h:  1.0.0-beta.3
    @vue/babel-sugar-v-model:  1.0.0-beta.3
    @vue/babel-sugar-v-on:  1.0.0-beta.3
    @vue/cli-overlay:  3.6.0
    @vue/cli-plugin-babel: ^3.6.0 => 3.6.0
    @vue/cli-plugin-eslint: ^3.6.0 => 3.6.0
    @vue/cli-service: ^3.6.0 => 3.6.0
    @vue/cli-shared-utils:  3.6.0
    @vue/component-compiler-utils:  2.6.0
    @vue/preload-webpack-plugin:  1.1.0
    @vue/web-component-wrapper:  1.2.0
    eslint-plugin-vue: ^5.0.0 => 5.2.2
    vue: ^2.6.10 => 2.6.10
    vue-eslint-parser:  2.0.3
    vue-hot-reload-api:  2.3.3
    vue-loader:  15.7.0
    vue-style-loader:  4.1.2
    vue-template-compiler: ^2.5.21 => 2.6.10
    vue-template-es2015-compiler:  1.9.1
  npmGlobalPackages:
    @vue/cli: Not Found

Steps to reproduce

Create a new vue project with babel plugin
In your app use the flat or flatMap array methods

What is expected?
These array methods should be polyfilled
What is actually happening?
They are not polyfilled

Open your app in Chrome, Firefox or Safari and see it working.
Open it in Edge and see an error message:

[Vue warn]: Error in render: "TypeError: Object doesn't support property or method 'flat'"
TypeError: Object doesn't support property or method 'flat'

Note that babel is configured to polyfill any method that is used, this includes Array.from in the above example.
Also note that Array.prototype.{flat,flatMap} were approved for stage 4 in at TC-39 last January and have been moved to stable in core-js.

Coincidentally I also noticed that String.fromCodePoint is not polyfilled either. Does anyone know why this is?

preset-env's usage mode (which vue-cli uses by default) detects usage of features that need polyfills, but its detection isn't 100%.
In particular it has problems detecting things like new prototype methods when used on instances, like you do here.
This is because Babel chant now that this.list is an instance of Array, so this.list. flatMap isn't triggering the polyfill injection.
So we either have to import the polyfill manually, help Babel out by accessing the prototype explicitly (Array.prototype.flatMap), or switch to entry mode of the preset, which simply imports all polyfills required for the targeted browsers, wether used or not.

It's only stable in core-js 3, while we use core-js 2
https://github.com/babel/website/blob/master/docs/plugin-transform-runtime.md#core-js-aliasing

Instance methods such as "foobar".includes("foo") will only work when using corejs: 3.

Will be fixed once we upgraded to core-js v3 in Vue CLI v4.

While its cool that corejs3 improves this, I think the case that OP shared won't be fixable with it as well, since Babel can't infer the type of this.list - unless corejs3 takes a  "better safe than sorry" approach now and adds a polyfill as soon as it comes across any instance method that shares the name of a polyfillable method

unless corejs3 takes a "better safe than sorry" approach now

👀seems they do
https://github.com/babel/babel/blob/8ca99b9f0938daa6a7d91df81e612a1a24b09d98/packages/babel-plugin-transform-runtime/src/index.js#L296-L304

Interesting. Better safe then sorry I suppose 😄

Just noticed my app can't work in IE because of missing flatMap.
Adding

import "core-js/fn/array/flat-map";

to main.js solved the problem for me

@gavvvr The problem with this is that core-js 2 entered feature freeze more then a 1½ ago before .flattten was renamed to flat meaning you can’t write:
import 'core-js/fn/array/flat';

I think I’ll stick with not using these methods until we move to core-js 3 in the next major release of vue-cli.

It looks like this is still an issue in v4.0.0-rc.6:
$ npx @vue/cli@next info

Environment Info:

  System:
    OS: Linux 5.0 Ubuntu 19.04 (Disco Dingo)
    CPU: (4) x64 Intel(R) Core(TM) i7-7600U CPU @ 2.80GHz
  Binaries:
    Node: 12.1.0 - ~/.nvm/versions/node/v12.1.0/bin/node
    Yarn: Not Found
    npm: 6.9.0 - ~/.nvm/versions/node/v12.1.0/bin/npm
  Browsers:
    Chrome: Not Found
    Firefox: 69.0
  npmPackages:
    @vue/babel-helper-vue-jsx-merge-props:  1.0.0
    @vue/babel-plugin-transform-vue-jsx:  1.0.0
    @vue/babel-preset-app:  4.0.0-rc.6
    @vue/babel-preset-jsx:  1.1.0
    @vue/babel-sugar-functional-vue:  1.0.0
    @vue/babel-sugar-inject-h:  1.0.0
    @vue/babel-sugar-v-model:  1.0.0
    @vue/babel-sugar-v-on:  1.1.0
    @vue/cli-overlay:  4.0.0-rc.6
    @vue/cli-plugin-babel: ^4.0.0-rc.6 => 4.0.0-rc.6
    @vue/cli-plugin-eslint: ^4.0.0-rc.6 => 4.0.0-rc.6
    @vue/cli-service: ^4.0.0-rc.6 => 4.0.0-rc.6
    @vue/cli-shared-utils:  4.0.0-rc.6
    @vue/component-compiler-utils:  3.0.0
    @vue/preload-webpack-plugin:  1.1.1
    @vue/web-component-wrapper:  1.2.0
    eslint-plugin-vue: ^5.0.0 => 5.2.3
    vue: ^2.6.10 => 2.6.10
    vue-eslint-parser:  5.0.0
    vue-hot-reload-api:  2.3.4
    vue-loader:  15.7.1
    vue-style-loader:  4.1.2
    vue-template-compiler: ^2.6.10 => 2.6.10
    vue-template-es2015-compiler:  1.9.1
  npmGlobalPackages:
    @vue/cli: Not Found

Yeah, <template> is not processed by babel at the moment.
This could be fixed in Vue 3. For now, such use cases require manually editing of the polyfill option of the babel preset.

So, it's fixed in CLI v4 & Vue 3.


org.jvnet.hudson/embedded-rhino-debugger 1.2

Type: Missing
Summary:
org.jvnet.hudson/embedded-rhino-debugger 1.2
Details:
No license info in maven pom: https://repo1.maven.org/maven2/org/jvnet/hudson/embedded-rhino-debugger/1.2/embedded-rhino-debugger-1.2.pom
Source files indicate MPL-1.1
Resolution:
MPL-1.1
Affected definitions:

embedded-rhino-debugger 1.2

I think this should be MPL-1.1 OR GPL-2.0-or-later based on the full license block in the file headers:
 * ***** BEGIN LICENSE BLOCK *****
 * Version: MPL 1.1/GPL 2.0
 *
 * The contents of this file are subject to the Mozilla Public License Version
 * 1.1 (the "License"); you may not use this file except in compliance with
 * the License. You may obtain a copy of the License at
 * http://www.mozilla.org/MPL/
 *
 * Software distributed under the License is distributed on an "AS IS" basis,
 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
 * for the specific language governing rights and limitations under the
 * License.
 *
 * The Original Code is Rhino code, released
 * May 6, 1998.
 *
 * The Initial Developer of the Original Code is
 * Netscape Communications Corporation.
 * Portions created by the Initial Developer are Copyright (C) 1997-1999
 * the Initial Developer. All Rights Reserved.
 *
 * Contributor(s):
 *   Norris Boyd
 *   Kurt Westerfeld
 *
 * Alternatively, the contents of this file may be used under the terms of
 * the GNU General Public License Version 2 or later (the "GPL"), in which
 * case the provisions of the GPL are applicable instead of those above. If
 * you wish to allow use of your version of this file only under the terms of
 * the GPL and not to allow others to use your version of this file under the
 * MPL, indicate your decision by deleting the provisions above and replacing
 * them with the notice and other provisions required by the GPL. If you do
 * not delete the provisions above, a recipient may use your version of this
 * file under either the MPL or the GPL.
 *
 * ***** END LICENSE BLOCK ***** */

@ariel11 what do you think?


LWC

#qz-3449 done

This is only a WIP because if Travis fails to run or fails any of the lwc tests, I plan to rebase. If Travis passes, I'll remove the WIP status.

Tagged this version: breaking mostly because the connection uri for mimir has changed. It has changed is  only because mimir is a lwc itself and I didn't special case it. We could special case it if we want.

This was developed in parallel with the ongoing file system changes. I'd like to get this in sooner rather than later, porting this over to the new API incrementally after it lands in master. This PR gives us a baseline lwc API with integration tests running. Additionally when this lands we'll have a quasar artifact we can point to for in the S3 and Azure (and other) connectors.

We could special case it if we want.

IMO it's worth special-casing, since it's really easy to do and is a very nice QoL, but I won't stamp my feet about it.

Interesting error in mimir integration test, I'll investigate.

Also, the appveyor build is failing; I'll fix that.

@wemrysi the connection uri for mimir will not be changing. Thoughts on if this should be version: feature or version: breaking? It doesn't technically break anything anymore, but it is a landmark feature, which we could landmark with a breaking version.

@alissapajer I think a version: feature is fine.

@edmundnoble any further review that you'd like to add before merge?

@wemrysi this should be ready to go!


View Records of a page

View Records in page from the Entry Information page

Would you like us to test this on TEST2 @Vino-S?

Yes. Ready for testing on test2

Yes. Ready for testing on test2

Thank you, Vino.  This is working as expected.
On FreeBMD1, hovering over the page number produces the information "Page - click to see other entries on this page" - could this be added?
Also to note: on FreeBMD1, this information is available from the search results page, not the entry information page, and thus contains the age at death.  I will note that as a separate story.

Thank you, Vino.  This is working as expected.
On FreeBMD1, hovering over the page number produces the information "Page - click to see other entries on this page" - could this be added?
Also to note: on FreeBMD1, this information is available from the search results page, not the entry information page, and thus contains the age at death.  I will note that as a separate story.

Thank you @PatReynolds ,
On FreeBMD1, hovering over the page number produces the information "Page - click to see other entries on this page" - could this be added?
Yes, Pat. Will make the changes
I think the page header - eg "Records of 385 Page" needs expanding - perhaps "Records on District Volume Page" not just Page?
I will make the changes and also include the RecordType too
Also to note: on FreeBMD1, this information is available from the search results page, not the entry information page, and thus contains the age at death. I will note that as a separate story.
The FreeBMD2 search results page does not show Volume and Page, unlike FreeBMD1. so we cannot implement this feature on the search results page.
The display of Records in a Page  is similar to search results page so it does not show any information of Age at Death/ Mother's name/Spouse name. This information can only be viewed in the Entry Information Page.

Thank you @PatReynolds ,
On FreeBMD1, hovering over the page number produces the information "Page - click to see other entries on this page" - could this be added?
Yes, Pat. Will make the changes
I think the page header - eg "Records of 385 Page" needs expanding - perhaps "Records on District Volume Page" not just Page?
I will make the changes and also include the RecordType too
Also to note: on FreeBMD1, this information is available from the search results page, not the entry information page, and thus contains the age at death. I will note that as a separate story.
The FreeBMD2 search results page does not show Volume and Page, unlike FreeBMD1. so we cannot implement this feature on the search results page.
The display of Records in a Page  is similar to search results page so it does not show any information of Age at Death/ Mother's name/Spouse name. This information can only be viewed in the Entry Information Page.

Following changes are ready for testing in test2:

Improvised the page header

@PatReynolds to test those changes.

Link back to Entry Information Page

I wonder if saying"Cclicking on the page number shows all the entries on this page link opens in a new tab" rather than simply "(Link opens in new tab.)"
Display means it is easy to navigate back to the entry information page the user came from.  But they won't then be able to get back to their search.  Let's discuss in the scrum.

View Records of a page opens in a new tab(which is not the convention we follow). My reason was to keep it(Records of page) separate from Search Results.
Let me know, we can make the changes if needed.

@PatReynolds can you confirm if anything else is needed here? Otherwise we can close as fixed.

Thanks, @Vino, all good!


cache changes

There is some cache behaviour I noticed when studying the code. Some of it is document and some of it isn't. I think there might be some improvements that could be made. I tried looking through the PR/issue history to see if these changes were already considered and didn't find anything. I apologize if I missed it.
Undocumented behaviour:

Using both the MyXQL.prepare and MyXQL.query functions with the same query name will cause a match error in Connection.queries_get

Documented behaviour:

If you prepare a query with an already existing name using MySQL.prepare it will use the cached value and not update it.

This PR is suggesting to remove cache: :reference and make them all statement caches. My rationale is that it better matches the behaviour of the PREPARE command in MySQL. In MySQL if you issue a second PREPARE statement it will deallocate the first and create the new one.
I also thought about keeping cache: :reference and always closing the previous statement, if a name match is found in the cache. But I thought this way will save some network trips for when the statements are the same.
If you like this direction I will have to make some doc updates before this can be merged.
Thanks for considering.

Thanks @greg-rychlewski! The issue with cache statement is that it caches the whole query too and therefore it uses more memory and is slower as we compare the queries. The current behaviour is closer to DBConnection semantics, which is important for a more consistent Ecto experience?

@josevalim Thanks that makes sense. What do you think about keeping cache: :reference and always closing the previous statement if a name match is found in the cache? I would only have to keep the statement_id around to close it. This is how similar to how Postgrex is working. Postgrex is actually more aggressive and closes every time without checking the cache.

What would be the benefit of always closing it? Isn't the current mechanism more performant as it allows us to reuse queries?

Oh to allow you to prepare a query with the same name and get the new results. With the current behaviour it silently uses the old prepared statement and could potentially cause the user to get bad results without knowing it if the 2 statements have the same number of parameters.
As a toy example, if you do prepare(conn, "stmt", "select 1 - ?") and then change it to prepare(conn, "stmt", "select ? - 1) and issue execute(conn,  %Query{name: "stmt"}, [2]) you will get -1 instead of 1. And if you are relying solely on Ecto instead of the drives directly then switching between Postgrex and MyXQL will give you different behaviour.

That’s intentional, sorry. The point of named queries is that you have direct control over them. You are responsible for closing them when they change.
I thought Postgrex behaved the same too?

No worries. For me it's not an issue was just curious because it looks like Postgrex behaves differently.
It does not check the cache for referenced queries: https://github.com/elixir-ecto/postgrex/blob/master/lib/postgrex/protocol.ex#L3473
And it always closes first: https://github.com/elixir-ecto/postgrex/blob/master/lib/postgrex/protocol.ex#L293

If you want, I can still address this point in the PR:
Using both the MyXQL.prepare and MyXQL.query functions with the same query name will cause a match error in Connection.queries_get
Though this seems a bit tricky to get right. I can raise a more descriptive error? Currently you will get this

Ok, I see now. Sorry for being a slowpoke. I think closing before preparing would be fine. We just need to make sure that closing a name that does not exist will be fine for MySQL too?

Ah yeah that's a good point. I will test for that while updating this PR. Thank you!

@josevalim Thanks for the changes. Now the cache logic is more in line with Postgrex. The one difference is that we still need to hit the cache when preparing :reference queries to get the statement_id for the close message. But this also means we don't have to send unnecessary close statements.

:green_heart: :blue_heart: :purple_heart: :yellow_heart: :heart:


Merge pull request #112 from Storj/develop

DriveShare 0.4.2 Merge

Automatic build binary: driveshare_0.4.2.win32.exe sha: 4944c37f1a40e528703b619572ae74883ac6c6f9

Merge from master into develop with 0 changes? Sorry i have to close that pull request.


2 1-digit ansi instead of 1 3-digit for dim magenta

Hopefully this is more supported.
Fixes #17

Yeah I like this. works for me

It is a little weird to have the foreground color totally match the diff annotation though:

Can we tweak the foreground in another way?

That's because iterm doesn't support "dim" (\x1B\[2m) (it's supported in the nightly). Open the default terminal you'll see it.

chill:

🍦

Not sure the color is great... We can barely see what's written :/


Error running example reanimated code

Description
First, thank you for making this amazing package.  I can't believe I am only hearing about it just now 😍.
I am running this example:
import {useEffect} from 'react'
import {Canvas, Circle, Group} from '@shopify/react-native-skia'
import {useDerivedValue, useSharedValue, withRepeat, withTiming} from 'react-native-reanimated'
export const HelloWorld = () => {
  let size = 256
  let r = useSharedValue(0)
  let c = useDerivedValue(() => size - r.value)
  useEffect(() => {
    r.value = withRepeat(withTiming(size * 0.33, {duration: 1000}), -1)
  }, [r, size])
  return (
    <Canvas style={{flex: 1}}>
      <Group blendMode="multiply">
        <Circle cx={r} cy={r} r={r} color="cyan" />
        <Circle cx={c} cy={r} r={r} color="magenta" />
        <Circle cx={size / 2} cy={c} r={r} color="yellow" />
      </Group>
    </Canvas>
  )
}

export default HelloWorld

https://shopify.github.io/react-native-skia/docs/animations/reanimated/#hello-world
The reanimated v2 example seems to work just fine but the v3 circle example seems to be running but without UI updates:
https://github.com/Shopify/react-native-skia/assets/1450431/df1fdf8c-7e4b-42de-b7e1-cc28ff413716
These are my packet versions:

"@shopify/react-native-skia": "0.1.195",
"react-native-reanimated": "^3.3.0",
 "@config-plugins/react-native-ble-plx": "^6.0.0",
    "@expo-google-fonts/roboto-mono": "^0.2.3",
    "@expo/vector-icons": "^13.0.0",
    "@openspacelabs/react-native-zoomable-view": "^2.1.1",
    "@react-native-async-storage/async-storage": "1.17.11",
    "@reduxjs/toolkit": "^1.9.3",
    "@sentry/react-native": "4.15.2",
    "@shopify/react-native-skia": "0.1.195",
    "@thankthemaker/vesc-protocol": "git+https://github.com/bj97301/vesc-protocol.git",
    "buffer": "^6.0.3",
    "expo": "~48.0.9",
    "expo-application": "~5.1.1",
    "expo-constants": "~14.2.1",
    "expo-device": "~5.2.1",
    "expo-font": "~11.1.1",
    "expo-keep-awake": "~12.0.1",
    "expo-location": "~15.1.1",
    "expo-screen-orientation": "~5.1.1",
    "expo-splash-screen": "~0.18.2",
    "expo-status-bar": "~1.4.4",
    "expo-system-ui": "~2.2.1",
    "expo-updates": "~0.16.4",
    "nativewind": "^2.0.11",
   "react": "18.2.0",
    "react-native": "0.71.8",
    "react-native-ble-plx": "2.0.3",
    "react-native-error-boundary": "^1.2.3",
    "react-native-event-listeners": "^1.0.7",
    "react-native-fs": "^2.20.0",
    "react-native-gesture-handler": "~2.9.0",
    "react-native-loading-spinner-overlay": "^3.0.1",
    "react-native-reanimated": "^3.3.0",
    "react-native-slider": "^0.11.0",
    "react-native-toast-message": "^2.1.6",
    "react-redux": "^8.0.5",
    "sentry-expo": "~6.2.0"

Any idea what's going on?  When the expo auto refresh triggers the animation seems to be in progress and it shows when I save a few times.  I am using expo dev client.  I have new builds and have run npx expo start --dev-client --clear .  npx install used 0.1.172 but I was getting a strange use strict error so I upped the version to what was on the npm site(0.1.195).  Now I don't get errors but it does this odd thing.
Version
0.1.195
Steps to reproduce

copy and paste the example.
trigger expo refresh a few times

Note the circles show up after a bit
Snack, code example, screenshot, or link to a repository
https://github.com/Shopify/react-native-skia/assets/1450431/6900798a-f84a-4e1a-9a28-ed6ef9d4c6d1

Hi, @bj97301 - Thanks for posting the issue. I've added this to our example app and it works perfect right out of the box without any problems. Could you please do the same - try to create a new app, add RN Skia and REA and test? It might be something in the way your app is setup that we'd like to rule out first.

@chrfalch thank you very much for your time and helpful response.  I think its related to this:

Example:
https://github.com/bj97301/skiaReanimatedBug
I took some half-assed notes in the readme.md.  Let me know if you want the full assed notes ;)

Seems like reanimated 3 isnt in expo:
https://github.com/expo/expo/issues/21483#issuecomment-1607910145


vscode-extensions.ms-azuretools.vscode-docker: 1.24.0 -> 1.28.0

Description of changes

https://github.com/microsoft/vscode-docker/releases/tag/v1.28.0
https://github.com/microsoft/vscode-docker/compare/v1.24.0...v1.28.0

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Please update to v1.29.0. And I'll review it.

Hi @superherointj, no problem. I updated it to the latest version and added the missing meta attributes.


Disconnection issues with Mobile Devices

Update
BrowserStack support recommended the following configs. Seems to fix my issue, feel free to close if this seems unrelated to this plugin:
captureTimeout: 3e5,
browserNoActivityTimeout: 3e5,
browserDisconnectTimeout: 3e5,
browserDisconnectTolerance: 3

Original Issue
This may not be an issue with this plugin, and I've submitted a BrowserStack support request, but I thought I would cover my bases and submit the issue here as well.
Recently, we started having disconnection on iPhone tests typically after a specific number of tests "50 out of 201". I'm not sure if there is a setting in karma-browserstack-launcher that could help avoid disconnection?
From this video it looks as if the tests are completing successfully but still getting a "disconnection" which makes me think there is some sort of problem of communication between this plugin and BrowserStack http://cl.ly/1v0x1b2u1A3l
//****BS CONFIG****
{ username: 'xxxxx',
  accessKey: 'xxx',
  localIdentifier: 'bleepbloop',
  project: 'v1.0.7 [local:integration]',
  build: 'donate-frontend',
  name: 'firefox, ie, chrome, safari, iPhone 6 Plus, Samsung Galaxy S5',
  tunnelIdentifier: 'bleepbloop' }
//****BS RUN CONFIG****
{ key: 'xxx',
  localIdentifier: 'bleepbloop',
  jarFile: undefined,
  hosts: [ { name: 'localhost', port: 9876, sslFlag: 0 } ],
  proxyHost: null,
  proxyPort: null,
  proxyUser: null,
  proxyPass: null }

//***SETTINGS PASSED TO WORKER ****
 { os: 'OS X',
  os_version: 'El Capitan',
  device: undefined,
  browser: 'firefox',
  tunnelIdentifier: 'bleepbloop',
  browser_version: '43.0',
  url: 'http://localhost:9876/?id=65511367',
  'browserstack.tunnel': true,
  timeout: 300,
  project: 'v1.0.7 [local:integration]',
  name: 'firefox, ie, chrome, safari, iPhone 6 Plus, Samsung Galaxy S5',
  build: 'donate-frontend' }
***SETTINGS**** { os: 'Windows',
  os_version: '7',
  device: undefined,
  browser: 'ie',
  tunnelIdentifier: 'bleepbloop',
  browser_version: '11.0',
  url: 'http://localhost:9876/?id=61845585',
  'browserstack.tunnel': true,
  timeout: 300,
  project: 'v1.0.7 [local:integration]',
  name: 'firefox, ie, chrome, safari, iPhone 6 Plus, Samsung Galaxy S5',
  build: 'donate-frontend' }
***SETTINGS**** { os: 'WINDOWS',
  os_version: '8.1',
  device: undefined,
  browser: 'chrome',
  tunnelIdentifier: 'bleepbloop',
  browser_version: '46.0',
  url: 'http://localhost:9876/?id=90547240',
  'browserstack.tunnel': true,
  timeout: 300,
  project: 'v1.0.7 [local:integration]',
  name: 'firefox, ie, chrome, safari, iPhone 6 Plus, Samsung Galaxy S5',
  build: 'donate-frontend' }
***SETTINGS**** { os: 'OS X',
  os_version: 'El Capitan',
  device: undefined,
  browser: 'safari',
  tunnelIdentifier: 'bleepbloop',
  browser_version: '9.0',
  url: 'http://localhost:9876/?id=82673358',
  'browserstack.tunnel': true,
  timeout: 300,
  project: 'v1.0.7 [local:integration]',
  name: 'firefox, ie, chrome, safari, iPhone 6 Plus, Samsung Galaxy S5',
  build: 'donate-frontend' }
***SETTINGS**** { os: 'ios',
  os_version: '8.3',
  device: 'iPhone 6 Plus',
  browser: undefined,
  tunnelIdentifier: 'bleepbloop',
  browser_version: 'latest',
  url: 'http://localhost:9876/?id=3218706',
  'browserstack.tunnel': true,
  timeout: 300,
  project: 'v1.0.7 [local:integration]',
  name: 'firefox, ie, chrome, safari, iPhone 6 Plus, Samsung Galaxy S5',
  build: 'donate-frontend' }
***SETTINGS**** { os: 'android',
  os_version: '4.4',
  device: 'Samsung Galaxy S5',
  browser: undefined,
  tunnelIdentifier: 'bleepbloop',
  browser_version: 'latest',
  url: 'http://localhost:9876/?id=44703457',
  'browserstack.tunnel': true,
  timeout: 300,
  project: 'v1.0.7 [local:integration]',
  name: 'firefox, ie, chrome, safari, iPhone 6 Plus, Samsung Galaxy S5',
  build: 'donate-frontend' }

Typically the test disconnects after running 50 out of 201 tests

@dtothefp those config values should fix this issue. Mobile simulators need higher timeout values for them to work reliably.

Worth adding to the README.

I've noticed that mobile browsers (specifically Safari on iOS) will timeout if the actual Karma test area (when fixtures/elements are inserted) is pushed outside of the device viewport by lots of Karma " is executing..." rows. This typically happens if you are running more than 1 or 2 browsers against a Browserstack mobile device.
A short term workaround for this is to run mobile browsers first, so that there is less chance that the fixture area will be off-screen.


Dockerfile is not building

A clear and concise description of what the bug is.
How to reproduce the bug

Checkout 2.1.1.
Run docker build . -t superset or DOCKER_BUILDKIT=0 docker build . -t superset if you are on mac

I get the following error:
 > [superset-node 7/9] RUN npm ci:
...
69.19 npm ERR! gyp ERR! find Python **********************************************************
69.19 npm ERR! gyp ERR! find Python You need to install the latest version of Python.
69.19 npm ERR! gyp ERR! find Python Node-gyp should be able to find and use Python. If not,
69.19 npm ERR! gyp ERR! find Python you can try one of the following options:
69.19 npm ERR! gyp ERR! find Python - Use the switch --python="/path/to/pythonexecutable"
69.19 npm ERR! gyp ERR! find Python   (accepted by both node-gyp and npm)
69.19 npm ERR! gyp ERR! find Python - Set the environment variable PYTHON
69.19 npm ERR! gyp ERR! find Python - Set the npm configuration variable python:
69.19 npm ERR! gyp ERR! find Python   npm config set python "/path/to/pythonexecutable"
69.19 npm ERR! gyp ERR! find Python For more information consult the documentation at:
69.19 npm ERR! gyp ERR! find Python https://github.com/nodejs/node-gyp#installation
69.19 npm ERR! gyp ERR! find Python **********************************************************
69.19 npm ERR! gyp ERR! find Python
69.19 npm ERR! gyp ERR! configure error

This and several upcoming errors was solved by adding missing packages to the docker-file:
RUN apt-get update
RUN apt-get install -y python3 make gcc g++

Then I end up with the following:
 => [superset-node 10/11] COPY ./superset-frontend .                                                                                1.0s
 => ERROR [superset-node 11/11] RUN npm run build
...
138.7 / Processing: src/views/CRUD/alert/AlertReportModal.test.tsx
138.9 - Processing: src/views/CRUD/alert/AlertReportModal.tsx
------
Dockerfile:45
--------------------
  43 |
  44 |     # This seems to be the most expensive step
  45 | >>> RUN npm run ${BUILD_CMD}
  46 |
  47 |     ######################################################################
--------------------
ERROR: failed to solve: process "/bin/sh -c npm run ${BUILD_CMD}" did not complete successfully: exit code: 1

Expected results
I expect the docker image to build
Actual results
The docker image build fails
Screenshots
NA
Environment
(please complete the following information):

browser type and version: NA
superset version: 2.1.1
python version: NA
node.js version: NA
any feature flags active: No, a clean clone of 2.1.1 branch

Checklist
Make sure to follow these steps before submitting your issue - thank you!

[x] I have checked the superset logs for python stacktraces and included it here as text if there are any.
[x] I have reproduced the issue with at least the latest released version of superset.
[x] I have checked the issue tracker for the same issue and I haven't found one similar.

Additional context
I'm building on my Macbook running M2

Also, more than happy to create a PR to fix this issue once I get it sorted 😄

I can't reproduce this on amd64. I guess npm falls back to compiling packages on arm64 and therefore needs these build tools.


Allow passing function to limits.fileSize

limits: {
  fileSize: (req) => {
    return req.storage.maxFileSize;
  }
}

Why?

I'm using multer which is written on top of this package.
Users have their own storage data like maxFileSize and it's not hard-coded and the same for everyone.
Example:
Bill's maxFileSize is 1,048,576 Bytes and Alice's is 3,145,728 Bytes.
const upload = multer({
    storage,
    limits: {
        fileSize: (req) => {
            return req.storage.maxFileSize;
        },
    },
});

Seems like that feature makes more sense for multer’s API (declarative middleware) than busboy’s (single-use object constructed based on the request).

I agree, I don't think busboy is the right place to implement this sort of feature. What you're asking for should be able to be trivially implemented by just setting limits dynamically (when calling multer()) based on data hanging off of req.

Alright, I hope multer won't send me back to busboy 😁


Update CONTRIBUTING.md

Happy hacktoberfest. This request is for a tshirt my email is<EMAIL_ADDRESS>if contact info is needed aside from digital ocean. I am a freshman computer engineer.

Thanks @colinpeth for taking part in Hacktoberfest. I'm going to close this instead of merging it since these changes don't add information to the contributing guide. You should still get credit for making the PR, though. If you're interested in making more meaningful changes to VSCode, please have a look through https://github.com/Microsoft/vscode/wiki/How-to-Contribute and look at check out our good first issues list!


Collapse Search grid

Can you add the ability to close the sidebar with the search results? That would be useful when you split the screen, so you can get the biggest video possible.

added in version 1.0.12, now using avalondock


IQueryable is it supported?

I have an IQueryable and i which to filter it
but the problem when I use LinqToQuerystring I got this exeption
No method 'get_Item' exists on type 'System.Object'.
here is my code
[HttpGet]
public PageResult GetforGrid(ODataQueryOptions options, string data1)
{
try
{
DynamicTableRep dynamicTableRep = new DynamicTableRep(data1);
dynamic tbltype = dynamicTableRep.GetType();
            var dynamicQueryable = dynamicTableRep.GetAllAsQueryable();
            IQueryable<dynamic> qResult = dynamicQueryable.LinqToQuerystring(this.Request.RequestUri.Query, true);

            var results = options.ApplyTo(qResult);
            return new PageResult<dynamic>(results as IEnumerable<dynamic>,
                Request.GetNextPageLink(), Request.GetInlineCount());
        }
        catch (Exception ex)
        {
            Logs.Log(ex);
            return null;
        }
    }

Well, now I get this feeling:

Oh nooo! I'll admit I haven't had the time to invest in this recently, my comment from 2014 should still be relevant though.

Thanks for the quick answer ;)


chore: reorganize file structure for tools

Sorry @Im-Beast... this will cause a lot of merge conflicts with #25. Hopefully it's not too bad.

LGTM, shouldn't cause too much trouble with rebasing tbh


Feature Request: Allow Resolve of Invokable Classes

I created a new issue, because the old one was closed without the community feedback result. https://github.com/webonyx/graphql-php/issues/1088
I have a feature request which i want to propose. I would like to be able to specify an invokable class when resolving fields.
this brings the following advantages:

class dependencies are only resolved when the resolve is needed
configuration of the interface and resolving of business logic is separated
easier to create UnitTests for the resolvers

See example:
// Field configuration
$fields['test_field'] = [
    'description' => 'My Test Field',
    'type' => self::string(),
    'resolve' => TestInvokable::class
];

// Buisness Logic
class TestInvokable
{

    private FooBar $fooBar;

    public function __construct(FooBar $fooBar)
    {
        $this->fooBar= $fooBar;
    }

    public function __invoke($source, array $args): string
    {
        return 'FooBar';
    }
}

For implementation we need a place where the PSR container is optionally passed and use the container for resolving. Because an invokable class behaves the same way as a callable type, there are no differences after resolving it.
What is your opinion on this?

My point in https://github.com/webonyx/graphql-php/issues/1088#issuecomment-1073339288 stands, allowing fields to be defined as a callable and thus lazy loading their resolve function is a clean and sufficient abstraction. We have tests that ensure this definition style indeed works as intended - see https://github.com/webonyx/graphql-php/blob/master/tests/Type/DefinitionTest.php#L1886-L1984


Added svelte-swipe component

Thanks for submitting! svelte-swipe is already listed under the "layout and structure" section. Do you see a better place for it? Your PR is to an older version that didn't have the sections yet. (hence the merging conflicts)

Thanks for the reply. I didn't pull, that's why I missed it. closing PR then.


libbpf: 0.8.1 -> 1.0.1

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/libbpf/libbpf/releases.
meta.description for libbpf is: "Upstream mirror of libbpf"
meta.homepage for libbpf is: "https://github.com/libbpf/libbpf"
meta.changelog for libbpf is: ""
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
Warning: a test defined in passthru.tests did not pass
found 1.0.1 with grep in /nix/store/87273vdqcrgylw7i143dc35lk5vf6q7a-libbpf-1.0.1
found 1.0.1 in filename of file in /nix/store/87273vdqcrgylw7i143dc35lk5vf6q7a-libbpf-1.0.1

Rebuild report (if merged into master) (click to expand)

20893 total rebuild path(s)

20893 package rebuild(s)

First fifty rebuilds by attrpath

AusweisApp2
CHOWTapeModel
ChowKick
ChowPhaser
CuboCore.coreaction
CuboCore.corearchiver
CuboCore.corefm
CuboCore.coregarage
CuboCore.corehunt
CuboCore.coreimage
CuboCore.coreinfo
CuboCore.corekeyboard
CuboCore.corepad
CuboCore.corepaint
CuboCore.corepdf
CuboCore.corepins
CuboCore.corerenamer
CuboCore.coreshot
CuboCore.corestats
CuboCore.corestuff
CuboCore.coreterminal
CuboCore.coretime
CuboCore.coretoppings
CuboCore.coreuniverse
CuboCore.libcprime
CuboCore.libcsys
DisnixWebService
EBTKS
EmptyEpsilon
HentaiAtHome
MIDIVisualizer
OSCAR
OVMF
OVMFFull
PageEdit
R
SDL2
SDL2_gfx
SDL2_image
SDL2_mixer
SDL2_net
SDL2_sound
SDL2_ttf
SDL2_ttf_2_0_15
SDL_audiolib
SDL_compat
SDL_gpu
SDL_mixer
Sylk

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/87273vdqcrgylw7i143dc35lk5vf6q7a-libbpf-1.0.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A libbpf https://github.com/r-ryantm/nixpkgs/archive/7237bb2f6e5c8a59202c97b15e21458d80d22018.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/87273vdqcrgylw7i143dc35lk5vf6q7a-libbpf-1.0.1
ls -la /nix/store/87273vdqcrgylw7i143dc35lk5vf6q7a-libbpf-1.0.1/bin

Pre-merge build results
NixPkgs review skipped

Maintainer pings
cc @thoughtpolice @vcunat @saschagrunert @martinetd for testing.

No, we'll go for https://github.com/NixOS/nixpkgs/pull/193591