fzf: 0.36.0 -> 0.37.0

Diff: https://github.com/junegunn/fzf/compare/0.36.0...0.37.0
Changelog: https://github.com/junegunn/fzf/blob/0.37.0/CHANGELOG.md
Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[x] 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
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

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

32 packages built:

adl
arsenal
felix-fm
fishPlugins.forgit
fishPlugins.fzf-fish
fontpreview
fzf
fzf-git-sh
fzf-zsh
kakounePlugins.fzf-kak
navi
python310Packages.pyfzf
python311Packages.pyfzf
spacevim
sway-launcher-desktop
sysz
tmuxPlugins.extrakto
tmuxPlugins.fuzzback
tmuxPlugins.tmux-fzf
unipicker
vimPlugins.fzf-hoogle-vim
vimPlugins.fzf-lua
vimPlugins.fzf-vim
vimPlugins.fzfWrapper
vimPlugins.telescope-zoxide
vimPlugins.vim-fzf-coauthorship
vimPlugins.vim-zettel
vimPlugins.zoxide-vim
xmloscopy
ytfzf
zoxide
zsh-forgit

Result of nixpkgs-review pr 212481 run on aarch64-darwin 1

1 package marked as broken and skipped:

fontpreview

1 package failed to build:

arsenal

25 packages built:

felix-fm
fzf
fzf-git-sh
fzf-zsh
navi
python310Packages.pyfzf
python311Packages.pyfzf
spacevim
sysz
tmuxPlugins.extrakto
tmuxPlugins.fuzzback
tmuxPlugins.tmux-fzf
unipicker
vimPlugins.fzf-hoogle-vim
vimPlugins.fzf-lua
vimPlugins.fzf-vim
vimPlugins.fzfWrapper
vimPlugins.telescope-zoxide
vimPlugins.vim-fzf-coauthorship
vimPlugins.vim-zettel
vimPlugins.zoxide-vim
xmloscopy
ytfzf
zoxide
zsh-forgit

this has been merged, but github was being github: https://github.com/NixOS/nixpkgs/commit/4be063c1732e919b5788e862aa224fbe351bbf25


Bug: lnurl links use https when LNbits is a tor hidden service

The spec requires onion addresses to be http instead of https.
All wallets I tried enforce this, and therefore lnurl doesn't work over tor with LNbits.

This seems to be an issue with how raspiblitz sets up LNbits, not an issue with LNbits itself

This has been fixed btw.
rootzoll/raspiblitz#2485


[ci] Fix windows canary build failure

Workround windows command line too long issue, reduce classpath length

Why implementation matters here?


Bounds of faces detected are offset when using it with Skia frame processors

Using skia to draw bounding boxes around the detected face, but the boxes are always offset to the bottom right.
 const { detectFaces } = useFaceDetector({     performanceMode: 'fast',     contourMode: 'none',     landmarkMode: 'none',     classificationMode: 'none',     autoScale: false,   });
`const frameProcessor = useSkiaFrameProcessor((frame) => {
'worklet';
const faces = detectFaces(frame);
frame.render();
const canvasWidth = frame.width;
const canvasHeight = frame.height;

// Centralized oval bounds for face fitting
const ovalBounds = {
  x: canvasWidth / 4,
  y: canvasHeight / 4,
  width: canvasWidth / 2,
  height: canvasHeight / 2,
};

// Calculate oval center
const ovalCenterX = ovalBounds.x + ovalBounds.width / 2;
const ovalCenterY = ovalBounds.y + ovalBounds.height / 2;

// Margin of error for detection
const marginOfError = 50; // Adjust as needed for user comfort

let faceIsWithinBounds = false;

if (faces.length > 0 && !isProcessing) {
  faces.forEach((face) => {
    // Scale the face coordinates to match the canvas dimensions
    const scaleX = canvasWidth / frame.width;
    const scaleY = canvasHeight / frame.height;

    const faceX = face.bounds.x * scaleX;
    const faceY = face.bounds.y * scaleY;
    const faceWidth = face.bounds.width * scaleX;
    const faceHeight = face.bounds.height * scaleY;

    // Draw the bounding box around the face
    const paint = Skia.Paint();
    paint.setColor(Skia.Color('blue')); // Bounding box color (blue for debugging)
    paint.setStyle(PaintStyle.Stroke);
    paint.setStrokeWidth(5);
    frame.drawRect({ x: faceX, y: faceY, width: faceWidth, height: faceHeight }, paint);

    // Check if face center is within the oval bounds with a margin of error
    const faceCenterX = faceX + faceWidth / 2;
    const faceCenterY = faceY + faceHeight / 2;

    faceIsWithinBounds =
      Math.abs(faceCenterX - ovalCenterX) <= marginOfError &&
      Math.abs(faceCenterY - ovalCenterY) <= marginOfError;
  });

  if (faceIsWithinBounds) {
    myFunctionJS(); // Triggers JS function to set the face detected state
  }
}

// Draw the static oval with updated color based on detection
const ovalPaint = Skia.Paint();
ovalPaint.setColor(Skia.Color(faceIsWithinBounds ? 'green' : 'red')); // Green if face detected within bounds
ovalPaint.setStyle(PaintStyle.Stroke);
ovalPaint.setStrokeWidth(5);
frame.drawOval(ovalBounds, ovalPaint); // Draw the static oval

}, []);
`
Expected behaviour:
there is a static oval on screen that is supposed to change color when a face is detected in it. This version of the code is with some scaling attempted on the actual bounds but it hasn't worked. (the blue box is the one drawn based on the bounds recieved.)
I can hardcode an offset to make it work with my device, but need a solution that should work regardless of the device being used.
Device: Samsung Galaxy M51
IOS: Android
package.json:
{
  "name": "face",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "android": "react-native run-android",
    "ios": "react-native run-ios",
    "lint": "eslint .",
    "start": "react-native start",
    "test": "jest"
  },
  "dependencies": {
    "@shopify/react-native-skia": "^1.3.13",
    "axios": "^1.7.7",
    "react": "18.3.1",
    "react-native": "0.75.2",
    "react-native-fs": "^2.20.0",
    "react-native-reanimated": "^3.15.1",
    "react-native-vision-camera": "^4.5.3",
    "react-native-vision-camera-face-detector": "^1.7.1",
    "react-native-worklets-core": "^1.3.3"
  },
  "devDependencies": {
    "@babel/core": "^7.20.0",
    "@babel/preset-env": "^7.20.0",
    "@babel/runtime": "^7.20.0",
    "@react-native/babel-preset": "0.75.2",
    "@react-native/eslint-config": "0.75.2",
    "@react-native/metro-config": "0.75.2",
    "@react-native/typescript-config": "0.75.2",
    "@types/react": "^18.2.6",
    "@types/react-test-renderer": "^18.0.0",
    "babel-jest": "^29.6.3",
    "eslint": "^8.19.0",
    "jest": "^29.6.3",
    "prettier": "2.8.8",
    "react-test-renderer": "18.3.1",
    "typescript": "5.0.4"
  },
  "engines": {
    "node": ">=18"
  }

screenshot attached to better convey the issue

Try setting your blue box x position at const faceX = face.bounds.x - face.bounds.width;.
Also, there's no need to use scale with skia as it uses frame size to work and your scale is always 1 anyway
const canvasWidth = frame.width;
...
const scaleX = canvasWidth / frame.width; // you're dividing frame.width by frame.width - makes no sense

For me I've and a fter observing frame width and height and face bounds width and height which make no sense to me! successfully calculated "actualFaceBounds" as follows:
// I don't even know what to call these variable names though
const scaleX = layout.width / frame.width;
const scaleY = layout.height / frame.height;

const actualFaceBounds = {
  x: face.bounds.x * scaleX,
  y: face.bounds.y,
  width: face.bounds.width,
  height: face.bounds.height * scaleY,
}

@luicfrr here is a log of some values:
console.log({ frameWidth: frame.width, frameHeight: frame.height })
// outputs: {"frameHeight": 480, "frameWidth": 640}
console.log({ faceBoundsWidth: face.bounds.width, faceBoundsHeight: face.bounds.height })
// outputs: {"faceBoundsHeight": 220, "faceBoundsWidth": 217}

while the app is in portrait mode, and face bounds seems almost like a square!
Any explanations?

for me i need to rotate it to 90 degree as frame was rotated
      // Center the frame
      frame.translate(frame.width / 2, frame.height / 2);
      frame.rotate(90, 0, 0); // Adjust rotation based on orientation
      frame.translate(-frame.height / 2, -frame.width / 2);

      const faces = detectFaces(frame);

                const rect = Skia.XYWHRect(
            frame.height - face.bounds.x - face.bounds.height,
            face.bounds.y,
            face.bounds.width,
            face.bounds.height,
          );


using outputPdf() got an exception: Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases may not be exported

this.worker.from(this.element).outputPdf() got an exception:

https://stackoverflow.com/questions/22710627/tainted-canvases-may-not-be-exported


Adding Paytm clone Webpage

Using HTML & CSS creating a paytm clone website (issue #4683)
Ui/Ux design of paytm

Adding a paytm clone webpage.

Fully responsive webpage
interactive design
Added a section to say this is not official website only made for educational purposes

Checklist:

[x] I have mentioned the issue number in my Pull Request.
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have created a helpful and easy to understand README.md

checkout the code and i made it completely fully responsive webpage

@TusharKesarwani @pranjay-poddar @MohitGupta121 @Saurabh-kumar09
Respected Sir,
Please review this PR and if everything feels good kindly merge it under GSSoC '23.

PR before issue assigned


Unable to undo after paste in Firefox

When using the demo page, if I paste a complete credit card number into the credit card input then press ⌘-Z to undo, the cursor jumps back to the beginning of the input, but the pasted digits aren't removed.
Undoing after pasting 1, 2, or 3 digits into an empty credit card input works. The bug seems to only be triggered if pasting causes spaces to be inserted.
Observed in Firefox 40 for OS X. Chrome 45 and Safari both work fine.

This definitely stinks! Unfortunately, I don't see a way to fix it without breaking more-critical behavior in other browsers. The issue is this: pasting triggers our reformat* handlers, which set the value asynchronously, but in Firefox (version 40), changes to an input field that are triggered asynchronously are not grouped into a single event in the undo buffer. We could make the handler synchronous, but that breaks cursor position and pasting itself (not just undo) in some mobile browsers (e.g. old Android Browser). Since pasting is more critical than paste-undo, we can't do that. Note that paste-undo is also non-functional in most IE versions.

Makes sense. Thank you for the follow-up and explanation.


fix(nextjs-mf): fix client-side compilation

I noticed in the nextjs example in the examples repo, none of the files were being compiled into the static/chunks directory.  This appears to be due to the child compiler not running when isServer=false.  I've fixed the condition so that childCompiler.run(...) will run when isServer=false.

Failed check looks unrelated to my change.

Amazing. Thank you


Asynchronous Client: "Error while parsing an incomplete packet socketio" on first heartbeat killing the connection

Hi! Thanks for spending your time working on this library. It's great to see support for an asynchronous client.
Problem Description
Running the asynchronous client a bit longer (25 seconds) seems to crash it with the error "Error while parsing an incomplete packet socketio".
This also results in one CPU core being 100% utilized, suggesting that there is some busy waiting or similar.
While debugging this, I found that this appears to be the heartbeat which causes the crash.
Steps To Reproduce
Run this Python server:
import socketio
import eventlet

sio = socketio.Server(async_mode='eventlet')
app = socketio.WSGIApp(sio)

@sio.event
def connect(sid, environ):
    print('Client connected:', sid)

@sio.event
def disconnect(sid):
    print('Client disconnected:', sid)

@sio.event
def foo(sid, data):
    print('foo event received:', data)

if __name__ == '__main__':
    eventlet.wsgi.server(eventlet.listen(('localhost', 4200)), app)

Connect with this Rust client:
use futures_util::FutureExt;
use log::{error, info};
use rust_socketio::{
    asynchronous::{Client, ClientBuilder},
    Event, Payload, TransportType,
};
use serde_json::json;
use std::time::Duration;
use tokio::{
    signal::{
        self,
        unix::{signal, SignalKind},
    },
    time::sleep,
};

#[tokio::main]
async fn main() {
    env_logger::Builder::new().parse_default_env().init();

    info!("Starting");

    // define a callback which is called when a payload is received
    // this callback gets the payload as well as an instance of the
    // socket to communicate with the server
    let callback = |payload: Payload, socket: Client| {
        async move {
            match payload {
                Payload::String(str) => println!("Received: {}", str),
                Payload::Binary(bin_data) => println!("Received bytes: {:#?}", bin_data),
            }
            socket
                .emit("test", json!({"got ack": true}))
                .await
                .expect("Server unreachable");
        }
        .boxed()
    };

    // get a socket that is connected to the admin namespace
    let socket = ClientBuilder::new("http://localhost:4200/")
        .transport_type(TransportType::Websocket)
        .on(Event::Connect, |_payload, _client| {
            {
                async move {
                    info!("Connected!");
                }
                .boxed()
            }
        })
        .on(Event::Close, |_payload, _client| {
            {
                async move {
                    info!("Connection closed!");
                }
                .boxed()
            }
        })
        .on(Event::Error, |err, _| {
            async move { error!("Error: {:#?}", err) }.boxed()
        })
        .on("test", callback)
        .connect()
        .await
        .expect("Connection failed");

    // emit to the "foo" event
    let json_payload = json!({"token": 123});
    socket
        .emit("foo", json_payload)
        .await
        .expect("Server unreachable");

    info!("Sent foo event");

    info!("Waiting 30 seconds");
    sleep(Duration::from_secs(30)).await;

    let json_payload = json!({"token": 123});
    socket
        .emit("foo", json_payload)
        .await
        .expect("Server unreachable");

    info!("Sent foo event");

    let mut sigterm = signal(SignalKind::terminate()).expect("unable to create sigterm signal");
    tokio::select! {
        _ = signal::ctrl_c() => {
            info!("Received SIGINT, shutting down.");
        },
        _ = sigterm.recv() => {
            info!("Received SIGTERM, shutting down.");
        },
    }

    socket.disconnect().await.expect("Disconnect failed");
}

Here's the corresponding Cargo.toml:
[package]
name = "client"
version = "0.1.0"
edition = "2021"

[dependencies]
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
rust_socketio = { version = "0.4.1-alpha.1", features = ["async"] }
env_logger = { version = "0.10" }
log = "0.4"
tokio = { version = "1", features = ["macros", "rt", "signal", "time"] }
futures-util = "0.3"

Notice that after 25 seconds the error is printed. While the event can still be sent out, waiting for some more time will disconnect the client as shown in the output of the Python server.
Moreover, notice how the CPU load increases to 100% for one core.
Possible Solution
Digging through the code, I found that the asynchronous implementation of the packet handling in Socket::stream:
https://github.com/1c3t3a/rust-socketio/blob/4a2ecd2bf8b60a8696d725053f00b21a82b7fd6b/socketio/src/asynchronous/socket.rs#L132-L146
is missing a check for packet.packet_id == EnginePacketId::Message || packet.packet_id == EnginePacketId::MessageBinary similar to the one in the synchronous version:
https://github.com/1c3t3a/rust-socketio/blob/4a2ecd2bf8b60a8696d725053f00b21a82b7fd6b/socketio/src/socket.rs#L123-L143
Adding that check appears to be working as expected.
I created #312 which solves that.

Hi @sirkrypt0, thanks a lot for catching the bug and explaining the fix so thoroughly! Very much appreciated! :) I will review the PR shortly.

Let me know if you need a review of this soon, I probably do one over the weekend otherwise!


Some recommendation about the adding rank numbers  in Powerrename.

When the enumeration lift is replaced, the renamed files are sequentially numbered from (1) to (9), then (10) to (99) and (100) to (999). This will result in incorrect sorting. Even better is to allow the user to decide how the numbers are displayed. So it can be that today I name file-001 to file-100 in folder A, and tomorrow I name file-101 to file-200 in folder A, etc. For files located in different folders, can it be sorted from 1 every time by default when sorting? Thanks :-)
By the way, When sorting, it would be better to allow users not to force the use of spaces and parentheses. Customization is better, maybe my opinion, please excuse me.

This is maybe an duplicate of or related on an existing issue. But I can't find it at the moment.

good idea, going to dup this against https://github.com/microsoft/PowerToys/issues/3814


Textarea

We already have <vs-input /> but not <vs-textarea />

I'm going to add the ** vs-textarea ** component after finishing the ssr support in all the components already created. Thank you very much for the contribution, when you have created, I will notify you so you can check it

The component vs-textarea was added in the last update, thank you very much for the contribution
http://localhost:7070/vuesax/components/textarea.html#label

Shouldn't be this the same style as the normal input?

The font style is smaller
There are no primary colors applied by default
The textarea label is different from the input label
The textarea label does not jump top like the input label does

How can I make textarea style same with input? Like border, color, etc.
Because when I use input and textarea at same page with different style, it's look so bad.

we are going to add a variant so that it is equal to the input, thank you very much for the contribution

Ready and the style is similar

how can I use this component? is it made for version 4?


ExcelWriterMixin missing Number

writeRow method uses only String method to write cell - it's very confusing.
It would be better to check whether value is the Number ( or NaN )
or expect that column is an object with keys; value, type (String/Number/Formula), style etc ?
if (isNaN(value)){
    this._excel.worksheet.Cell(this._excel.currentRow, index + 1).String(value);
} else {
    this._excel.worksheet.Cell(this._excel.currentRow, index + 1).Number(value);
}

Another problem is the low write performance: 10columns x 5000 rows => (> 20sec).
excel4node is the fastest module ?
Have you any experience in another one.
Anyway, thank you for datapumps.

Released 0.3.23, which adds .columnType method to the pump, and also enables setting column types in .writeHeaders. Regarding performance, we also experience the bad performance of excel4node in terms of both memory and processor usage.
I've checked a number of excel modules before choosing excel4node. This module seemed to be easy to use and working, i didn't check performance. I will check now, however I think that most modules will build the XML DOM and the zip (xlsx is a zip containing xmls) in the memory, and writing large files that way will always consume lots of memory and cpu. If you only export one worksheet in your excel, you may export to csv and then convert it to excel with a command line tool.
I close this bug now, but will open a new one for perfomance issues.


Minor update on Lychee

We do support slideshow :)

@ildyria Is there a way to auto-advance the slideshow? I can't seem to get it to work on the demo. Perhaps this is an admin feature that is not available in the demo?

Demo is old (4.2 vs 5.0), but there is a setting which allows you to state how long you stay on an image.
We are working on getting a better demo live. :)


Publish the site online

I have now set up the whole page and it works in npm run dev I have uploaded the mint-site to github and then trying to publish the app on Vercel. I am getting a lot of errors and the page are not showing. What am I doing wrong?
have search for a whole day but got stuck here atm, really thank full for help 💯

Found the issue.
Need to run the commands on vercel


[Feature]: Asset Module support asset/source

What problem does this feature solve?
If set rules as asset/source, it would throw a Error: unreachable: unknow module type: asset/source
module.exports = {
  module: {
   rules: [
     {
        test: /\.jpg$/,
        type: "asset/source",
        generator: {
        dataUrl: {
           mimetype: "text/plain"
	}
     }
   ]
  }
};

What does the proposed API of configuration look like?
https://webpack.js.org/guides/asset-modules/#source-assets

We should already support asset/source, and it is expected that it cannot be used together with dataUrl. Perhaps the error message here could be optimized to make it clearer.

We should already support asset/source, and it is expected that it cannot be used together with dataUrl. Perhaps the error message here could be optimized to make it clearer.

OK, I will modify it to make more clearer.


Installing this theme failed

Schönen Guten Abend Sergej!
I'm loving so far what you're doing here! I'm glad I found this project here — please, keep up this great work: Finally a good new foundation for developing a Shopify theme in 2021!
I'm sorry, I still don't quite understand how to install your foundation theme on top of Theme Lab. Furthermore, I followed your guidelines here: https://github.com/uicrooks/shopify-theme-lab#getting-started and now I wish to also use the foundation theme as well.
What is the recommended way to install this theme? Because I'm only getting these error messages after copying your files over the Theme Lab files:
ERROR in ./src/main.js 7:0-34
Module not found: Error: Can't resolve 'vue-screen' in '/Users/.../src'

ERROR in ./src/main.js 8:0-47
Module not found: Error: Can't resolve 'v-lazy-image' in '/Users/.../src'

Thank you for your help!

Abend Albert 👋🏻
I think you were already on the right track.
You don't have to install the theme on top Shopify Theme Lab. All the files from Shopify Theme Lab are already included this theme's repo.
Simply clone this repo like you normally would and run npm install. That should fix your issue.
Alternatively, you can run the following command and select the theme from the prompt menu:
npx themelab create <directory-name> --preset

Abend Albert 👋🏻
I think you were already on the right track.
You don't have to install the theme on top Shopify Theme Lab. All the files from Shopify Theme Lab are already included this theme's repo.
Simply clone this repo like you normally would and run npm install. That should fix your issue.
Alternatively, you can run the following command and select the theme from the prompt menu:
npx themelab create <directory-name> --preset

Thank you Sergej. This solved it for me!
Can't wait to start building my new Shopify theme with Theme Lab!

Thank you Sergej. This solved it for me!
Can't wait to start building my new Shopify theme with Theme Lab!


Additional info related to routes.json

Hi,
I'm new to the json-server project and I'm trying to set up the routes.json file but finding it hard, is it possible to get some help with it ? (hope it's the right place to ask)
this is the data i'm using:
{
  "posts": [
    { "id": 1, "title": "json-server1", "author": "typicode" },
	{ "id": 2, "title": "json-server2", "author": "typicode" },
	{ "id": 3, "title": "json-server3", "author": "typicode" }
  ],
  "comments": [
    { "id": 1, "body": "some comment1", "postId": 1 },
	{ "id": 2, "body": "some comment2", "postId": 1 },
	{ "id": 3, "body": "some comment3", "postId": 2 },
	{ "id": 4, "body": "some comment4", "postId": 3 }
  ],
  "morecomments": [
    { "id": 1, "body": "some more comment1", "commentId": 1 },
	{ "id": 2, "body": "some more comment2", "commentId": 1 },
	{ "id": 3, "body": "some more comment3", "commentId": 3 },
	{ "id": 4, "body": "some more comment4", "commentId": 4 }
  ],
  "profile": { "name": "typicode" }
}

how should the routes.json file be set up in this case ?
Thanks a lot.

Hi @lioralt ,
Yes, it's the right place :) everything seems fine in your db.json.
Actually, you need to pass routes.json only if you need to add custom routes.
For example, if you're not satisfied with the default route GET /posts, you can add a routes.json:
routes.json
{
  "/api/": "/"
}

That will make /posts available also under /api/posts, as well as /api/comments, /api/profile, ...
Or you can say, I want /my/awesome/post to redirect to a specific post, for example /posts/1:
routes.json
{
  "/my/awesome/post": "/posts/1"
}

But once again, if you're fine with the default routes (which are described here), you don't need to worry about routes.json.

Thanks for the super fast reply.
The thing is that i want to use nested resources and i saw that the default routes support only one level...
for exampl, something like:
/posts/1/comments/1/morecomments
How should my routes.json file should be in the case mantioned above ?

You can have named params :param:
{
  "/posts/:postId/comments/:commentId/moreComments": "/comments/:commentId/moreComments"
}

Thanks @typicode , i appreciate the help.

You're welcome.


Little Update

Short Description:
Adding a little modify and one new file
Fixes/Resolves/Closes (please use correct syntax):

Add a full list of Pokémon for a better autorelease, with any leve for each
Change simple setting in config.json "auth_service": "google or ptc" to become simpler fro a new users choose account type
Add a Pokeballs types in to items filters (have to set the values according to your LV)

The ptc line in your config is incorrectly tpc.

@KingTheRipper please rebase on lastest dev, then fix as persgcoldsuns comments, and fix travis errors (if any)

Code should be submit to dev branch

Wrong branch. Please create PR to dev branch.


Bug: functions are not working

Application Environment
Provide information about your development environment:

React Native version: 0.74.5
RN Bluetooth Classic version: 1.0.5

Hello, I'm using react native with Expo and I have followed your docs for the expo plugin configs,
I'm able to get data for the device variables.
But I'm unable to use the functions, getting errors of undefined.

Sorry I missed this, is this android/ios?  isConnected should be available on both environments.  Is this the only function that isn't available, or is it the only one that you are using?
https://github.com/kenjdavidson/react-native-bluetooth-classic/blob/7e5c889670c56fa87954aee3baff9001e21f5568/src/BluetoothDevice.ts#L70
which just calls through to
https://github.com/kenjdavidson/react-native-bluetooth-classic/blob/7e5c889670c56fa87954aee3baff9001e21f5568/src/BluetoothModule.ts#L117
Can you provide some more context of what type of object device is in. that instance?
What functions are available on it?
You'll need to debug a little.

Hello @kenjdavidson ,
I'm using react-native (using expo).
This is my code for your reference
`import { Alert } from "react-native";
import RNBluetoothClassic, {
BluetoothDevice,
} from "react-native-bluetooth-classic";
import { TBluetoothOtherDevice } from "./BluetoothTypes";
export const scanOtherDevices = async (): Promise<BluetoothDevice[]> => {
try {
if (!RNBluetoothClassic) {
throw new Error("RNBluetoothClassic is not initialized");
}
// const available = await RNBluetoothClassic.requestBluetoothEnabled();

const devices = await RNBluetoothClassic.startDiscovery();
// console.log(devices);

const filteredDevices = devices.filter((d) => {
  const device = d as TBluetoothOtherDevice;
  device["source"] = "react-native-bluetooth-classic";
  return !device.name.includes(":");
});

setTimeout(() => RNBluetoothClassic.cancelDiscovery(), 10000);

return filteredDevices;

} catch (error) {
console.error("Error scanning for devices: ", error);
return [];
}
};`
Here, I get the list of scanned devices (including bluetooth headset devices, tvs, etc...)
But next step, when I try to connect the device (creating a function) ...
`export const connectToClassicDevice = async (
device: BluetoothDevice | TCombinedDevice
) => {
try {
// const isConnectedDevice1 = await device.isConnected();
const isDeviceBonded = await device.bonded;
console.log("Device: ");
// console.log(isConnectedDevice1);

// if (!isDeviceBonded) {
//   Alert.alert(AppConfig.name, "Device is not bonded");
// }

// const connectedDevice = await device.connect();
console.log("DN :" + device.name);
console.log("DN ADR: " + device.address);
console.log("DN Bonded: " + isDeviceBonded);
// console.log("CD: " + connectedDevice);
// console.log("isConnectedDevice: " + isConnectedDevice);
console.log("****");

} catch (error) {
console.log(Failed to connect the device: ${device.name});
console.error(error);
}
};
`
Here in the above code...
I'm able to print device name (variables), but I try to access the functions I get the error like either undefined or its not a function

Actually I was trying to connect the device but it was failing.
So I started to debug line by line
and I tried to print the variables creating with try catch to find the exact error.
I get bug exactly at the functions....
// const isConnectedDevice1 = await device.isConnected();

For the other types...
TCombinedDevice? TBluetoothOtherDevice?
I getting data from other ble library, but currently I don't pass the data (Its commented on the another part of the file)

For example, when I try to access the functions...

I get the similar error...
[TypeError: device.XXXXX() is not a function (it is undefined)]

While I appreciate the screenshots of the console, you really need to breakpoint the line and show what kind of object that actually is?
Is it a BluetoothDevice object and actually doesn't have those functions.  If this were the case, there would be a bunch of issues related to that coming in (I would assume).
You're calling
export const connectToClassicDevice = async (
  device: BluetoothDevice | TCombinedDevice
) => {

But you're not showing where you're calling that, or what the actual object is that you're passing in.   Javascript is so shitty that it could be fine during compile time but completely different during runtime, so you'll need to debug it.

Well, based on that it sure looks like the BluetoothDevice it's got both _bluetoothModule and _nativeDevice.   Not really sure why it doesn't have the functions associated to that class.
You'll need to do a little more debugging to find out where that object is created.

Hello @kenjdavidson,
I could not find the error.
But do you have an working example (link) implemented.
So that it will be easy for me to understand and debug it.

Not sure what you mean, there is a working example in the react-native-bluetooth-classic-apps project (along side this one) which is used (or at least what I used when I actively did development) to verify and run the library.  You can take a look at it and see what's up.
There are also a large number of projects that use this library, that you can access and look at from the main page (right side panel).

Yes, Thank you for providing react-native-bluetooth-classic-apps repo.
https://github.com/kenjdavidson/react-native-bluetooth-classic-apps
I don't know about this repo.
Let me check the my code with the example and I can able to bug in my code.

Hello @kenjdavidson,
After analyzing the examples, I changed my implementation so I used
`
export const connectToClassicDeviceWithRetries = async (
device: BluetoothDevice | TCombinedDevice,
retries = 3
) => {
let attempt = 1;
try {
console.log(
Atempt: ${attempt} to connect device - ${device.name}, address: ${device.address}
);
const connection = await RNBluetoothClassic.connectToDevice(
device.address,
{
connectorType: "rfcomm",
delimiter: "\n",
charset: Platform.OS === "ios" ? 1536 : "utf-8",
}
);
if (connection) {
  console.log("Connection successful");
  console.log(connection);
  return;
}

} catch (error) {
console.error(Failed to connect on attempt: ${attempt}, error);
attempt++;
if (attempt >= retries) {
  console.error(`Max retries reached. Could not connect to the device`);
}

}
};
export const connectToClassicDevice = async (
device: BluetoothDevice | TCombinedDevice
) => {
try {
const isDeviceBonded = await device.bonded;
console.log("Device: ");
// const connectedDevice = await device.;
console.log("DN :" + device.name);
console.log("DN ADR: " + device.address);
console.log("DN Bonded: " + isDeviceBonded);

const isConnected = await RNBluetoothClassic.isDeviceConnected(
  device.address
);

if (isConnected) {
  console.log("Device is already connected");
  return;
} else {
  console.log("Device is not connected, can be connected");
}

await connectToClassicDeviceWithRetries(device);

} catch (error) {
console.log(Failed to connect the device: ${device.name});
console.error(error);
}
};
`
But at the end, I'm unable to connect the device.
I get with an error,

Here I don't know to resolve it.
Is there any possible solutions for the error ?
Please let me know.
Thank you.

The error says that the socket isn't open, most likely your device isn't accepting or ready to connect.
Get Outlook for Androidhttps://aka.ms/AAb9ysg

From: Deepak Guptha @.>
Sent: Tuesday, August 27, 2024 8:59:12 PM
To: kenjdavidson/react-native-bluetooth-classic @.>
Cc: Ken Davidson @.>; Mention @.>
Subject: Re: [kenjdavidson/react-native-bluetooth-classic] Bug: functions are not working (Issue #339)
Hello @kenjdavidsonhttps://github.com/kenjdavidson,
After analyzing the examples, I changed my implementation so I used
`
export const connectToClassicDeviceWithRetries = async (
device: BluetoothDevice | TCombinedDevice,
retries = 3
) => {
let attempt = 1;
try {
console.log(
Atempt: ${attempt} to connect device - ${device.name}, address: ${device.address}
);
const connection = await RNBluetoothClassic.connectToDevice(
device.address,
{
connectorType: "rfcomm",
delimiter: "\n",
charset: Platform.OS === "ios" ? 1536 : "utf-8",
}
);
if (connection) {
console.log("Connection successful");
console.log(connection);
return;
}
} catch (error) {
console.error(Failed to connect on attempt: ${attempt}, error);
attempt++;
if (attempt >= retries) {
console.error(Max retries reached. Could not connect to the device);
}
}
};
export const connectToClassicDevice = async (
device: BluetoothDevice | TCombinedDevice
) => {
try {
const isDeviceBonded = await device.bonded;
console.log("Device: ");
// const connectedDevice = await device.;
console.log("DN :" + device.name);
console.log("DN ADR: " + device.address);
console.log("DN Bonded: " + isDeviceBonded);
const isConnected = await RNBluetoothClassic.isDeviceConnected(
device.address
);
if (isConnected) {
console.log("Device is already connected");
return;
} else {
console.log("Device is not connected, can be connected");
}
await connectToClassicDeviceWithRetries(device);
} catch (error) {
console.log(Failed to connect the device: ${device.name});
console.error(error);
}
};
`
But at the end, I'm unable to connect the device.
I get with an error,
image.png (view on web)https://github.com/user-attachments/assets/e0dfae82-89c1-4156-956a-7f8310b76070
Here I don't know to resolve it.
Is there any possible solutions for the error ?
Please let me know.
Thank you.
—
Reply to this email directly, view it on GitHubhttps://github.com/kenjdavidson/react-native-bluetooth-classic/issues/339#issuecomment-2313880174, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABPMJL33ZFLULNAGAJPTVTDZTUOGBAVCNFSM6AAAAABM7D3TK2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMJTHA4DAMJXGQ.
You are receiving this because you were mentioned.Message ID: @.***>

Is there any possible alternate solution to debug ?
Because I tried to connect with another device but getting the same error.

Besides debugging... No.
You need to ensure the other devi e is set to accept. Not sure what device you're trying to connect with.
Get Outlook for Androidhttps://aka.ms/AAb9ysg

From: Deepak Guptha @.>
Sent: Tuesday, August 27, 2024 9:37:31 PM
To: kenjdavidson/react-native-bluetooth-classic @.>
Cc: Ken Davidson @.>; Mention @.>
Subject: Re: [kenjdavidson/react-native-bluetooth-classic] Bug: functions are not working (Issue #339)
Is there any possible alternate solution to debug ?
Because I tried to connect with another device but getting the same error.
image.png (view on web)https://github.com/user-attachments/assets/d7d2959d-ac0c-4de2-88f7-0b6cf6a705b5
—
Reply to this email directly, view it on GitHubhttps://github.com/kenjdavidson/react-native-bluetooth-classic/issues/339#issuecomment-2313917131, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABPMJL6UK2F2J4ZEEGAKBHDZTUSVXAVCNFSM6AAAAABM7D3TK2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMJTHEYTOMJTGE.
You are receiving this because you were mentioned.Message ID: @.***>

I was trying to connect with Bluetooth headset and Bluetooth speakers.
The main goal of the app, is to connect the bluetooth devices (headset and speakers) and control them like (adjusting the volumes and getting battery status)

Bluetooth headset and speakers usually use the H2soemthing profile, not the SPP profile.  You'll need to actually put the devices into accept mode and attempt to connect them, but it probably won't happen.   You need to read a lot more about the bluetooth profiles available, this library may not be the best choice for what you're doing.

Hello @kenjdavidson,
Thank you for letting me know.
I didn't know about the specific bluetooth profile and I decided to go on with another better library like "react-native-ble-plx" or "react-native-ble-manager".

Those are two completely different libraries that survey different purposes. But I appreciate your thoughts on them being better.
Glad you got it working.
Get Outlook for Androidhttps://aka.ms/AAb9ysg

From: Deepak Guptha @.>
Sent: Wednesday, August 28, 2024 10:58:32 AM
To: kenjdavidson/react-native-bluetooth-classic @.>
Cc: Ken Davidson @.>; Mention @.>
Subject: Re: [kenjdavidson/react-native-bluetooth-classic] Bug: functions are not working (Issue #339)
Hello @kenjdavidsonhttps://github.com/kenjdavidson,
Thank you for letting me know.
I didn't know about the specific bluetooth profile and I decided to go on with another better library like "react-native-ble-plx" or "react-native-ble-manager".
—
Reply to this email directly, view it on GitHubhttps://github.com/kenjdavidson/react-native-bluetooth-classic/issues/339#issuecomment-2315603847, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABPMJL3MIWBHH43PM6PMU3TZTXQRRAVCNFSM6AAAAABM7D3TK2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMJVGYYDGOBUG4.
You are receiving this because you were mentioned.Message ID: @.***>


Building an IsolatingClassLoader with multiple parent relationships instead of a single one

This PR adds a way to specify multiple parent relationships when building an IsolatingClassLoader.
This allows for the following case:

Infrastructure classes are under one classloader, and they need to be isolated from a user classpath
User classpath needs to delegate to the infrastructure classloader for API classes
Some infrastructure classes should be able to delegate to the user classpath for certain reflection cases

Concrete example:

Samza infrastructure classpath needs to be isolated from user classpath to avoid dependency conflicts
User classpath needs to implement certain Samza interfaces (e.g. SamzaApplication) in order to execute the application
Samza consumer needs to be able to access schema classes (e.g. Avro schemas) on the user classpath in order to pass objects of the schema type(s) to the user code (schema classes are loaded through reflection)

By having multiple parent relationships, we can avoid a circular delegation using 3 classloaders:

Contains the Samza API classes
Contains the Samza consumer implementation
Contains the user classpath

The main classloader will have 2 parent relationships: (1) is a parent of (2) with IsolationLevel.FULL, (3) is a parent of (2) with IsolationLevel.NONE. This allows (2) to delegate to (1) for API classes, and it allows (2) to delegate to (3) for schemas.
(3) will also be an IsolatingClassLoader with a single parent which is (1), with IsolationLevel.FULL. This allows (3) to delegate to (1) for API classes.

Looks good overall, but I'd like us to consider whether we can expand the second new test case. Also:
1. Can you please squash the three commits into one.

2. Can you update the doc, as you mentioned in your own TODO? It'd be good to commit doc changes atomically with the code changes.

Yep, I can squash the commits right before merging in.
Yep, I will update the docs in this PR.


Update ion URL in RequestScheduler

One of the throttling overrides in RequestScheduler was set for assets.cesium.com which is no longer used. This PR replaces it with the new URL, assets.ion.cesium.com

Thanks for the pull request @jjhembd!

:heavy_check_mark: Signed CLA found.
:grey_question: CHANGES.md was not updated.

If this change updates the public API in any way, please add a bullet point to CHANGES.md.

:grey_question: Unit tests were not updated.

Make sure you've updated tests to reflect your changes, added tests for any new code, and ran the code coverage tool.

Reviewers, don't forget to make sure that:

[ ] Cesium Viewer works.
[ ] Works in 2D/CV.

Thanks @jjhembd! This is probably worth mentioning in CHANGES.md. Can you please add an item?

Thanks @jjhembd!


Added another silly name to the list!

This is exactly the type of PR I expect on the Friday of a week-long virtual meeting.


Token Metrics Incorrect For Large Datasets

Fixed in https://github.com/sambanova/generative_data_prep/pull/79


The problem in graphics.

https://github.com/eleurent/highway-env/blob/62b7f3f9ac8d17e4121d465601ed7dc828832c39/highway_env/envs/common/graphics.py#L70-L77
Hello! Thanks for your excellent work. But I have encountered a problem in use. The display of the vehicle trajectory seems that it doesn't work.
When I debug, the console shows 'HighwayEnv' object has no attribute 'ACTIONS'. How should I do?

Hi, thank you for the feedback, it should work now :)


[PDB] ghidra.app.util.bin.format.pdb2.pdbreader.PdbException: Unknown TPI Version: 1

Describe the bug
When trying to import a PDB file to the library from the attached archive, an error occurs:
ghidra.app.util.bin.format.pdb2.pdbreader.PdbException: Unknown TPI Version: 1

To Reproduce
Steps to reproduce the behavior:

Import attached in the archive binary with its .pdb file. Default analysis options were used.

Attachments
halflife_722build_server.zip
application.log
Environment (please complete the following information):

OS: [Windows 10, 64 bit]
Java Version: OpenJDK Temurin 21.0.5+11-LTS
Ghidra Version: [11.2]
Ghidra Origin: [official GitHub distro]

Additional context
I tried to import separately with button for PDB load and Ghidra shows me that the GUID of .dll and .pdb matches, so it doesn't look like it was from a different version of the binary or fake.
Note to the archive: the modification date of .pdb was not saved because I extracted the file from a special package format in which the game content is stored: https://developer.valvesoftware.com/wiki/PAK (so don't think that it's fake generated by random user or something like that, the package format file itself retain the original date and it's a ripoff from disk, so I have reasons to believe that this is genuine).
Moreover, I imported all this into IDA Pro in MSDIA mode (cfg/pdb.cfg) and it went well, IDA didn't seem to give errors and showed me all the symbols and structures from that PDB, so I think the issue is clearly on the Ghidra side.

Another datapoint ; same error but reporting "unknown TPI version: 86380448" with the attached PDB.
coredll_de_platfbuilder.zip

@SmileyAG I started investigating what is going on here.  First off, MSFT has a hack in their code for identifying the existence of the IPI (what I had called Item) version of the TPI (type).  This works great for them, as they own the code space and know when they introduce new versions.  I had coded something that I thought would work like theirs, but also would trigger if a new version was encountered. Their hack included a last step of just trying to decode the IPI to see if it was successful, but this has a conflicting need for our identifying new MSFT versions.  I have a tentative fix that still needs work, but then I was able to let processing continue.  Next, I encountered issues in some that I had written for an older DBI format, but I had never had a PDB that had this format, so no real testing occurred.  Good news is that I already have something coded that needs fixed.  The issue I encountered has to deal with padding in the header, and I think I've overcome that, but I've run into another problem that I have not yet launched into.
@fenugrec Thank you for the additional data for this problem. I believe it should help test the fixes or even identify additional issues.


Transitive dependencies from custom configuration type are not being pulled

Hello,
I have a custom plugin that creates a custom configuration type named bundle.
Bundles in my case are text files with xml content on it. Doing this I could manage to add those files as artifact dependencies to other projects.
This works as expected. But when the bundle projects are published together with a POM file to any repository, I can add the dependency as well to any other project, but at this point the transitive dependencies are not being pulled and packaged in the secondary project.
Digging a little with debug logs I can see messages saying that my bundle dependency was being processed and there was no jar file for it, so its pom was ignored. And yes, there is no jar file because the artifact is only a text file, but the project configuration could have other files or jars as dependencies (that are required for some content of my bundle xml files) and I wanted to have those dependencies pulled together, which are not happening.
14:41:12.971 [DEBUG] [org.gradle.api.internal.artifacts.repositories.resolver.MavenResolver] POM file found for module 'com.ca.apim.otk:apim-otk-poc:5.0.0-SNAPSHOT' in repository 'MavenLocal' but no artifact found. Ignoring.

Looking to this log seems like gradle is ignoring the fact that my artifact is a file and not a package, and I can ensure that it is there in the local maven repository.
This is my plugin source code definition:
https://github.com/ca-api-gateway/gateway-developer-plugin/blob/master/gateway-developer-plugin/src/main/java/com/ca/apim/gateway/cagatewayconfig/CAGatewayDeveloper.java
And my project A is publishing this pom:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.ca.apim.otk</groupId>
  <artifactId>apim-otk-poc</artifactId>
  <version>5.0.0-SNAPSHOT</version>
  <packaging>bundle</packaging>
  <name>apim-otk-poc</name>
  <organization>
    <name>CA API Management</name>
  </organization>
  <dependencies>
    <dependency>
      <groupId>otk-assertions</groupId>
      <artifactId>otk-assertions</artifactId>
      <version>1</version>
      <classifier>bundle</classifier>
    </dependency>
    <dependency>
      <groupId>com.ca.apim.otk</groupId>
      <artifactId>OTKDatabaseAssertion</artifactId>
      <version>1.0.0-SNAPSHOT</version>
      <classifier>assertion</classifier>
    </dependency>
  </dependencies>
</project>

And my project B has this artifact as dependency:
dependencies {
    bundle group: 'com.ca.apim.otk', name: 'apim-otk-poc', version: '5.0.0-SNAPSHOT', ext: 'bundle'
}

But I miss the transitive dependencies when looking into project B.
Please advise, thank you.

This is a use case where Gradle Module Metadata could help. I strongly recommend looking into it as a way to resolve the problem.
By leveraging Maven metadata, for non standard POM packaging, and relying on the Maven - Gradle integration, you are bound to encounter issues that can come from different sources:

Effectively abusing the POM format
Non supported cases in the POM support in Gradle itself

Because the Gradle Module Metadata by design has a much more open format, you should not encounter the same limitations.

Hi @ljacomet, thank you for the answer.
However, upgrading my project to gradle 5 or 6 is not an option at the moment. Do you know if there is any workaround for this using gradle 4.10.x?
Thank you

@joao-borges in case this is still an issue for you:
If you can use another extension as bundle, I think it should work with POMs, because Gradle (and Maven) would look at an artifact with an extension matching the packaging in the pom. Only, for some extensions it does not work, because they are "special" packagings which are reserved for JARs with a certain structure (see full list of these extensions here). bundle is in that list.
I am closing this, as there is nothing we can do for already released versions.
If you have further questions, please start a discussion in the forum.


Feature: adds configurable query parameters to tile endpoints

Hi all. I recently stumbled upon a use-case for having query parameters present in URLs. Being able to configure Tegola's queries on the fly with optional URL query parameters for filtering down data can simplify configuration for large datasets that would otherwise have many layers defined manually.
Defining a query parameter is as simple as this:
[[maps.params]]
name = "param"
token = "!PARAM!"
default = "7"

This will configure a parameter named param with the SQL replacement token !PARAM!. The default key is optional and allows you to specify a default value for the parameter if none is provided. Without a default specified, the replacer will default to substituting an empty string.
The endpoint then becomes queryable at:
http://server:8080/maps/example/{z}/{x}/{y}.pbf?param=123

Currently, to prevent SQL injection, parameter values are limited to values matching the following regular expression. This is to limit control characters from being injected via query parameters:
[a-zA-Z0-9,._-]+

This obviously needs more work and I am open to feedback regarding security. I've also thought of limiting the scope of query parameters to integers only since most of the use cases I've found for this feature involve numeric ID matching in queries.
Any and all feedback is welcome. I hope others can find value in this contribution.

@dechristopher awesome! This feature has been requested before so it's great you tackled it! I should be able to get a review in the next week.
cc @gdey @ear7h

@dechristopher awesome! This feature has been requested before so it's great you tackled it! I should be able to get a review in the next week.
cc @gdey @ear7h

Any chance to review yet?

I'll look at this Friday. @dechristopher  do you know why the test is failing? Have not dug into the logs. But a quick scan is complaining about bbox. I know you are dynamically changing that in the SQL.

I'll look at this Friday. @dechristopher do you know why the test is failing? Have not dug into the logs. But a quick scan is complaining about bbox. I know you are dynamically changing that in the SQL.

Unsure why the tests are failing on the runner. They run cleanly on my machine. I'll investigate and see if I can come up with a fix.

This is a really cool feature! Thanks for getting it started!
WRT to input validation I think the best approach is to use the "placeholder" mechanism offered by pgx (it's described briefly in  pgx.Query). I think the biggest difficulty with this is getting the numbering right, and keeping track of it. I've come up with a function that could do that, but I'm not sure how it would fit with that part of the code base:
https://play.golang.org/p/Dk6SWSf2f_N
This is also missing a few things like case insensitivity and special handling of the builtin tokens. The later could be implemented by writing to the queryArgs map after writing the user provided args (so any colliding user provided args get overwritten).

Another consideration with this PR is going to be the tile cache. If the query params can produce different features based on the query strings, we're going to need to revisit the tile cache. Alternatively, we can say if filter params are used, then no caching is allowed right now.

@dechristopher and @kszafran apologies for the slow response. I missed the comments you two dropped in here. I'm interested in bringing this feature to life as well, but I posted some concerns with the current implementation. It might be easier to work on the design in real-time via slack. We can keep the discussion here as well, but I don't think we should be using context.Context to pass around the filters. I think we should enhance the Tilter interface:
// Tiler is a Layers that allows one to encode features in that layer
type Tiler interface {
	Layerer

	// TileFeature will stream decoded features to the callback function fn
	// if fn returns ErrCanceled, the TileFeatures method should stop processing
	TileFeatures(ctx context.Context, layer string, t Tile, fn func(f *Feature) error) error
}

We can add another parameter to TileFeatures for filters. I'm not sure what the design for Filters should be yet, but I think this thread already has some ideas brewing. Ideally we can figure out a design that allows us to filter not only SQL providers but other future providers too (i.e. GeoJSON). We don't need to implement the filters now, but I would like to consider them.

Hi!
I'm starting working to push this feature forward. The main issue currently is the SQL injection vulnerability. We definitely need to use prepared statements, i.e., replace all user-defined parameters with $1, $2 and so on, and pass the values as arguments.
Unfortunately, this means that we need to have type information available for parameters.
So far the idea is to have parameters configured like this:
[[maps.params]]
name = "param2"
token = "!PARAM2!"
# only very simply types are suppored: `int`, `string`, `float`, `bool`
type = "int"
# `?` will be replaced with the actual value
# if `sql` is not specified, it is considered to be `?`
sql = "AND ANSWER = ?"
# if the parameter value is missing from the HTTP query, this value will be used
# `default_value` is an optional parameter. If it is not defined, the parameter is considered as required and cliet will get 400 error
default_value = "42"
# instead of `default_value`, `default_sql` can be defined, e.g. to omit param query entirely:
#default_sql = ""
# defining both `default_value` and `default_sql` is forbidden

I will be really glad to hear any feedback or thoughts on this.

I'm working with @bemyak on preparing the spec for this. Another approach that I would propose is like this:
[[maps.params]]
name = "param2"
token = "!PARAM2!"
type = "int"
# if `sql` is not specified, it is `?` by default, so just the param value and not a whole expression
sql = "AND answer = ?"
# if the parameter is not specified by the caller, this value will be used instead
# if "default" is not defined, the `!PARAM2!` will be replaced with an empty string instead of "sql"
default = "42"
# "required" could be used in cases where we don't want to specify a "default" value, but want to make the parameter mandatory
required = "true"

The main difference compared to @bemyak proposal is how we behave when there's no default and a caller does not specify the parameter. There are a few different cases that we like to handle:

parameter is required
parameter is optional and we use a default value if it's not specified
parameter is optional and we skip the whole condition if it's not specified

Those can be achieved with both designs. I just think that having only default plus replacing the token with an empty string would be simpler than having both default_value and default_sql`. Here's how you could achieve the three use cases:
1:
sql = "SELECT ST_AsMVTGeom(geometry, !BBOX!) ... AND answer = !ANSWER!"
...
[[maps.params]]
name = "answer"
token = "!ANSWER!"
type = "int"
required = "true"

2:
sql = "SELECT ST_AsMVTGeom(geometry, !BBOX!) ... AND answer = !ANSWER!"
...
[[maps.params]]
name = "answer"
token = "!ANSWER!"
type = "int"
default = "42"

3:
sql = "SELECT ST_AsMVTGeom(geometry, !BBOX!) ... !ANSWER!"
...
[[maps.params]]
name = "answer"
token = "!ANSWER!"
type = "int"
sql = "AND answer = ?"

@bemyak and @kszafran apologies for the slow response and thanks for the effort on this issue.
Additional context to this discussion:

The original issue around filtering a layer dynamically
A PR that was submitted which has review comments: I recall the main issue I had with this PR was the abuse of context.Context. I think we need to figure out a more defined way to pass this information around rather than stuffing it into context. I think enhancing the TileProvider interface is the way to go.

Additional considerations:

When dynamic tile filtering is implemented, we need to think about how the tile cache is supposed to work. Currently the tile cache is either enabled or disabled. This is not configured on a per map basis. It seems to me that enabling tile filtering will require the tile cache to be off. If this is the case, I think we need to investigate if we want to support cache configs on a per map basis so we can allow for some maps to leverage the cache but others to have dynamic filtering.

SQL injections are a very real problem with this feature. I'm trying to figure out where the responsibility should lie for sanitizing the input. Tegola could be responsible for this as you're proposing. Alternatively we could use Postgres functions and pass on the responsibility to the database function. This might be more prone to error though as it's pushing the security responsibility to the implementer, but it would simplify the implementation in tegola. We might just be able to get away with a "query string whitelist" in the config that would then look for query strings and then turn them into tokens. Here's an example of calling a database function from tegola:

SELECT * FROM my_tile_func(!ZOOM!, !BBOX!, !FILTER_1!, !FILTER_2!)

I have used this pattern in tegola to push complex query logic to the database and it's quite nice.
Let's chat in real time:
This feature is one I would like to get right. I see the value, and I'm happy to support the effort. I do think it deserves some strong vetting though as the feature can be prone to abuse. Maybe we should try to chat through some of this in real time. You can find us in a couple of Slack channels:

https://slack.go-spatial.org/
The #go-spatial channel in Gopher Slack: https://gophers.slack.com

@ARolek Thanks for the comments! @bemyak is actively working on a PR. It's almost ready and we should soon be able to create a PR to the upstream. If you want to take a look already, check out https://github.com/SharperShape/tegola/pull/6.
How about this - once we're ready, we'll create a PR to the upstream, and then we could have a call to discuss it (e.g. on Google Meet)? Slack is fine, too. Our implementation solves SQL injection by using query arguments instead of putting parameter values into the query string itself. For now, caching is disabled for parameterized maps, but I imagine that could be improved in the future.

How about this - once we're ready, we'll create a PR to the upstream, and then we could have a call to discuss it (e.g. on Google Meet)?

Love it. Once we get there we can see who can all join the discussion. Thanks for working on this contribution.

#867 supersedes this PR.


Callbacks to promises

Closes #318
Mostly of the code was replaced with promises. There are still parts in the utility files that keeps using callbacks.
Tested with testrpc, with and without --blocktime flag, and in rinkeby test net.

@fernandomg could I review, or PR will be amended?

@vbaranov I'm about to push a few modifications and that's all, give me a couple minutes

@vbaranov ready, please review. Thank you!

I'll test today with another public chain. Maybe, the problem was caused by Kovan itself: http://authorities.kovan.network/.
@fernandomg I'll let you know

Yes, Kovan seems to be acting weird, not sure why.

@vbaranov fix done, thank you for the feedback!

@vbaranov can we merge this?

@fvictorio  yes, no issues for me now. I'll merge.


No restricted path for two paths only work partially

Usging Eslint with the no-restricted-paths pluging. This usually works nice, but right now I have rather peculiar behaviour.
I do not want to be able to import desktop components into mobile. And I do not want to import mobile components into desktop.
So I created these rules:
{
    "target": "./src/react/desktop",
    "from": "./src/react/mobile"
},
{
    "target": "./src/react/mobile",
    "from": "./src/react/desktop"
}

Then I tested this, importing a mobile component into a desktop component:
import ColorPalette from '../../mobile/design/components/ColorPalette';

And importing a desktop component into my mobile:
import {Button} from '../../../../desktop/Button';

Then running ESLint to see if I got errors.
There is where I discovered that it does work for desktop, where I get an error for importing the mobile ColorPalette.
However I did not get an error for importing the desktop item Button.
I also tried other files, and different variations of the import. Per example:
import {IconButton} from '../../../../desktop/IconButton';
import {IconButton} from '../../../../desktop/IconButton/IconButton';
import IconButton from '../../../../desktop/IconButton';
import IconButton from '../../../../desktop/IconButton/IconButton';

none of them triggered the error.
I also checked the spelling in the imports as well as the spelling in the config file. All point to the correct files and directories.
What could be the cause of this behaviour?

If you flip the order in the config, does it flip which one properly errors?

No I tried but it doesn't


Stuck when fe start

Hi, there are two questions hope to get help.
Q1:  When I start a fe follower, it get stuck and no longer starting. Both memory and disk resources are sufficient. I don't know what the problem is.

Q2: I am creating an HA cluster and have started a leader and two followers. The followers are running normally, but the status of followers is false in mysql. How can I solve it?

looks like your host has two IP addresses, be sure you have configured the priority_networks to allow FE to find the correct IP network to listen to and validate the followers.


UAN updates to create stable 2.3.* artifacts

Summary and Scope

Add the kdump fix to master which was missing
Simplify the building of the Docker config image
Pin to stable versions of COS and CSM packages

Testing
Loki
Test description:
This was installed on loki and a UAN images was built with the COS 2.2 recipe.
uan03 was fully booted
Risks and Mitigations
There are still fixes for gpg checking to fully disable it on a CSM 1.0 system that doesn't
have signing keys.
Pull Request Checklist

[x] Version number(s) incremented, if applicable
[x] Copyrights updated
[x] License file intact
[x] Target branch correct
[ ] CHANGELOG.md updated
[x] Testing is appropriate and complete, if applicable
[x] HPC Product Announcement prepared, if applicable

Force pushed after rebasing on master to address merge conflict.


Add --location and --time options to the import command

I'm working to import a large existing photo collection, and the metadata is either missing or incorrect for a large number of the photos.
I've been importing batches of photos, watching the terminal to see where Elodie puts them, and then using the update command to fix any mistakes. This works well enough when the photos end up in two or three locations, but can be difficult to manage if they get spread all over the place due to bad metadata.
Is it possible to include the --location and --time options from the update command in the import command? This would allow me to hard code the destination folder if I know when/where the incoming photos were taken.

This is something that can be added but no ETA from my side. If you're familiar with python then we can review the approach in this issue and you can submit a pull request .

This is something that can be added but no ETA from my side. If you're familiar with python then we can review the approach in this issue and you can submit a pull request .


Update bcdedit--dbgsettings.md

Fix for the issue #2266
https://github.com/MicrosoftDocs/windows-driver-docs/issues/2266

@Therena - Thanks for this PR. The fix looks good.


bump java sdk version

the script for auto-bumping the rook version in the java microserice didn't work in the last time.
i think I already fixed it, we'll know only on the next rook publish.
but for now, the latest rook release fix a critical livetail bug, so I'm bumping it manualy.

/jira open task


zipfile builder does not use uses id to determine content

If the field 'usesid' is not empty string then that value pointed to should be the content instead of the original file entry. Does not "chain'.

Fixed by commit: 7f9c3bdf1506b85e4f651bddb95daca4d3b5ee73


Added project deprecation warning to the README.

As this project is no longer being maintained in favor of ember-cli-code-coverage, I added a deprecation warning to the top of the README to inform other developers.

Approved


CustomNPC mod - Npc cant execute command

Hello, i have an issue with LuckPerm and the mod CustomNpc the npc cannot execute command like /tppos or /warp cause of LuckPerm - Sponge version :/
Here the screen of /lp verbose :
https://images.discordapp.net/.eJwFwUEOhCAMAMC_cLe0UED8zIYgQRMVAvW02b_vzFe941KbOkT63LTez5nb2GFKG6kWqK3Vq6R-Tsjt1kkk5eMuj0xtmLwPhjmawKuNyNoSMjnvrGMOa4gBtUEKC7oF_Yc8IAJZ6E9Vvz-LtiOq.F555lLny1ou1irIY8QfcBaHfqWU
Thanks !

You need to grant the NPC access to that command.
Refer to the documentation for CustomNpc on how to do that.


Protect against Abort for wkt output with very large floats

Closes #1903

Performance doesn't seem to suffer significantly:
this PR:
[62.50%] ··· benchmarks.IOSuite.time_read_from_wkb                                                                                144±2ms
[75.00%] ··· benchmarks.IOSuite.time_read_from_wkt                                                                                936±2ms
[87.50%] ··· benchmarks.IOSuite.time_write_to_wkb                                                                                88.5±2ms
[100.00%] ··· benchmarks.IOSuite.time_write_to_wkt                                                                                449±0.8ms

vs. main:
[12.50%] ··· Running (benchmarks.IOSuite.time_read_from_wkb--)....
[62.50%] ··· benchmarks.IOSuite.time_read_from_wkb                                                                                143±0.9ms
[75.00%] ··· benchmarks.IOSuite.time_read_from_wkt                                                                                910±1ms
[87.50%] ··· benchmarks.IOSuite.time_write_to_wkb                                                                                87.5±1ms
[100.00%] ··· benchmarks.IOSuite.time_write_to_wkt                                                                                445±0.9ms

BTW, I just confirmed that the same issue is there for the Z coordinate, and we dont have a GetZMax GEOS function...

Seems we would need a lower threshold for Windows ..

Do we want to include it for 2.0.2?

Don’t think we should rush this for 2.0.2. It’s been there probably for a long time and it only just came up. I also think we should fix this for the Z coordinate.

Seems we would need a lower threshold for Windows ..

I guess we need to approach the 128-size buffer mentioned in the GEOS issue theoretically.

The additional check on the Z coordinate does give ~ 7% performance regression:
· Discovering benchmarks
· Running 4 total benchmarks (1 commits * 1 environments * 4 benchmarks)
[ 0.00%] ·· Benchmarking existing-py_home_casper_code_shapely_.venv_bin_python
[12.50%] ··· Running (benchmarks.IOSuite.time_read_from_wkb--)....
[62.50%] ··· benchmarks.IOSuite.time_read_from_wkb                                                                                144±0.8ms
[75.00%] ··· benchmarks.IOSuite.time_read_from_wkt                                                                                912±3ms
[87.50%] ··· benchmarks.IOSuite.time_write_to_wkb                                                                                87.8±1ms
[100.00%] ··· benchmarks.IOSuite.time_write_to_wkt                                                                                475±0.9ms

The additional check on the Z coordinate does give ~ 7% performance regression:

Should there somewhere be a shortcut for not looping over the whole coordseq if the geometry actually has no z coordinates? (in that case GEOSCoordSeq_getZ_r just always gives NaNs?)

The additional check on the Z coordinate does give ~ 7% performance regression:

Should there somewhere be a shortcut for not looping over the whole coordseq if the geometry actually has no z coordinates? (in that case GEOSCoordSeq_getZ_r just always gives NaNs?)

The reason I do this for all geometries, is that GetCoordinateDimension will return 2 if the first Z coordinate is a NaN - but then other coordinates could still contain out of bound coordinates resulting in a crash.
But we're lucky: GEOS 3.11 also does the same link to decide whether to write Z coordinates in WKT.
GEOS 3.12 does HasZ when not removing empty dimensions (https://github.com/libgeos/geos/blob/35c10bfbc79a1af42dc427072a4a3f663288db33/src/io/WKTWriter.cpp#L217C39-L217C43) which is the default, which boils down to the same behaviour as GEOS 3.11.
So I'll add the HasZ and some tests to verify
For collections we probably still need to iterate, but for simple geometries not.

Performance regression is down to an acceptable levels again:
[62.50%] ··· benchmarks.IOSuite.time_read_from_wkb             144±0.7ms
[75.00%] ··· benchmarks.IOSuite.time_read_from_wkt               912±3ms
[87.50%] ··· benchmarks.IOSuite.time_write_to_wkb               88.2±1ms
[100.00%] ··· benchmarks.IOSuite.time_write_to_wkt              452±0.6ms


[BEAM-3135] Adding futures dependency to python SDK

Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Make sure there is a JIRA issue filed for the change (usually before you start working on it).  Trivial changes like typos do not require a JIRA issue.  Your pull request should address just this issue, without pulling in other changes.
[ ] Each commit in the pull request should have a meaningful subject line and body.
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue.
[ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Run mvn clean verify to make sure basic checks pass. A more thorough check will be performed on your pull request automatically.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

sdk_worker is importing futures module without declaring it in setup.py
Adding the direct dependency to futures to fix the dependencies of python sdk.

Hi @aaltay, can you please take a look?


[smurf] How to get the reported performance

Thank you for the good work of SMURF. I am trying to replicate the reported performance on the training set of the Sintel dataset, namely 1.71 EPE on Clean and 2.58 EPE on Final.
I used apply_smurf.py on the sintel sequences but cannot get the same performance. Could you please provide some instructions on what commands to run?
Thank you.

Hi, I am trying to replicate results on FlyingChairs testing set and on KITTI training set. Here are the commands I ran and the corresponding outputs:
Eval on provided checkpoints
FlyingChairs
I ran:
python -m smurf_evaluator --eval_on="chairs:/data/FlyingChairs_tfrecord/test" --global_gpu_batch_size=1 --num_gpus=1 --checkpoint_dir='/path/to/checkpoint'

I got:
I0407 13:16:56.373906<PHONE_NUMBER>76224 smurf_evaluator.py:82] New checkpoint found: /home/users/rmarsal/dev/smurf/checkpoints/smurf/chairs/ckpt-76
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
chairs-EPE: 1.966786, chairs-ER: 0.058409, chairs-best-occl-thresh: -1.000000, chairs-census: 1.770922, chairs-eval-time(s): 271.058564, chairs-inf-time(ms): 308.539359, chairs-occl-f-max: -1.000000, chairs-smooth1: 0.000000, chairs-smooth2: 0.008453, chairs-total_loss: 1.779375

Should I had to expect EPE 1.72 with this checkpoint as in Table 2 in the paper ? I also tried to set the height and the weight to 368 and 496 as in the paper but the performance are slightly worse.
KITTI
I ran:
python -m smurf_evaluator --eval_on="kitti:/data/kitti_data/data_scene_flow_training-tfrecords" --global_gpu_batch_size=1 --num_gpus=1 --checkpoint_dir='/path/to/checkpoint'

It returns:
Waiting for a new checkpoint, at /home/users/rmarsal/dev/smurf/checkpoints/smurf/kitti, latest is /home/users/rmarsal/dev/smurf/checkpoints/smurf/kitti/ckpt-31
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
kitti-EPE(noc): 30.468662, kitti-EPE(occ): 39.341362, kitti-ER(noc): 0.955546, kitti-ER(occ): 0.958396, kitti-best-occl-thresh: 0.000000, kitti-eval-time(s): 194.786156, kitti-inf-time(ms): 402.838845, kitti-occl-f-max: 0.240043

I tried different image dimension : 384 1280 and 296 696 but the result is still roughly the same.
Re-training models
FlyingChairs
I ran this with the settings of the repo:
python -m smurf_main --from_scratch=True \
--train_on="chairs:/data/FlyingChairs_tfrecord/train" --eval_on="chairs:/data/FlyingChairs_tfrecord/test" \
--plot_dir=$PATH_CHAIRS --checkpoint_dir=$PATH_CHAIRS \
--global_gpu_batch_size=8 --num_gpus=8  \
--height=384 --width=512 \
--weight_smooth1=2.0 --weight_smooth2=0.0 \
--evaluate_during_train=True \

As settings of the repo are slightly different from those of the paper I tried them too:
python -m smurf_main --from_scratch=True \
--train_on="chairs:/data/FlyingChairs_tfrecord/train" --eval_on="chairs:/data/FlyingChairs_tfrecord/test" \
--plot_dir=$PATH_CHAIRS --checkpoint_dir=$PATH_CHAIRS \
--global_gpu_batch_size=8 --num_gpus=8  \
--selfsup_after_num_steps=30000 --selfsup_ramp_up_steps=7500 \
--lr_decay_after_num_steps=60000 \
--weight_smooth1=4.0 --weight_smooth2=0.0 \
--selfsup_mask='none' \

But the model did not learn anything in both cases: EPE remain above 11.
KITTI
I fine-tuned the FlyingChairs model provided for KITTI with the setting of the repo:
python -m smurf_main
--train_on="kitti:/data/kitti/data_scene_flow/_test_384x1280_fullseq-tfrecords" --eval_on="kitti:/data/kitti/data_scene_flow/_training-tfrecords" \
--init_checkpoint_dir='/path/to/chairs/checkpoints'
--global_gpu_batch_size=8 --num_gpus=8  \
--height=296 --width=696 \
--occlusion_estimation='brox'

I got:
Step is 76000
75 -- total-loss: 12.162772, census-loss: 11.476587, data-time: 4.658461, learning-rate: 0.000000, selfsup-loss: 0.651478, smooth1-loss: 0.000000, smooth2-loss: 0.034706, supervision-loss: 0.000000, train-time: 3135.333538
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
kitti-EPE(noc): 1.903955, kitti-EPE(occ): 2.641327, kitti-ER(noc): 0.075511, kitti-ER(occ): 0.086005, kitti-best-occl-thresh: 0.974359, kitti-eval-time(s): 126.104367, kitti-inf-time(ms): 186.461623, kitti-occl-f-max: 0.906196

I also tried the same training from scratch and the result become:
Step is 76000
75 -- total-loss: 10.951851, census-loss: 10.805418, data-time: 4.501820, learning-rate: 0.000006, selfsup-loss: 0.129271, smooth1-loss: 0.000000, smooth2-loss: 0.017162, supervision-loss: 0.000000, train-time: 3094.687700
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
kitti-EPE(noc): 1.975226, kitti-EPE(occ): 2.862183, kitti-ER(noc): 0.077030, kitti-ER(occ): 0.090028, kitti-best-occl-thresh: 0.974359, kitti-eval-time(s): 126.648766, kitti-inf-time(ms): 194.172957, kitti-occl-f-max: 0.903836

As settings of the repo are slightly different from those of the paper I tried them too:
python -m smurf_main \
    --reset_global_step=True --reset_optimizer=True \
    --evaluate_during_train=True \
    --train_on="kitti:/data/kitti/data_scene_flow/_test_384x1280_fullseq-tfrecords" --eval_on="kitti:/data/kitti/data_scene_flow/_training-tfrecords" \
    --checkpoint_dir=$PATH_KITTI \
    --plot_dir=$PATH_KITTI \
    --init_checkpoint_dir='/path/to/chairs/checkpoints' \
    --global_gpu_batch_size=8 \
    --num_gpus=8 \
    --height=296 \
    --width=696 \
    --occlusion_estimation='brox' \
    --weight_smooth1=0.0 \
    --weight_smooth2=4.0 \
    --num_train_steps=75000 \
    --selfsup_after_num_steps=30000 \
    --selfsup_ramp_up_steps=7500 \
    --lr_decay_after_num_steps=60000 \
    --lr_decay_steps=1500 \
    --dropout_rate=0 \
    --selfsup_mask='none' \
    --occ_after_num_steps_brox=0 \

I got:
Step is 76000
75 -- total-loss: 12.162772, census-loss: 11.476587, data-time: 4.658461, learning-rate: 0.000000, selfsup-loss: 0.651478, smooth1-loss: 0.000000, smooth2-loss: 0.034706, supervision-loss: 0.000000, train-time: 3135.333538
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
kitti-EPE(noc): 1.903955, kitti-EPE(occ): 2.641327, kitti-ER(noc): 0.075511, kitti-ER(occ): 0.086005, kitti-best-occl-thresh: 0.974359, kitti-eval-time(s): 126.104367, kitti-inf-time(ms): 186.461623, kitti-occl-f-max: 0.906196

I expected at least one of the previous configuration to match the performance of the paper without multi-frame supervision (i.e EPE=2.45 and ER(occ)=7.53) but I am actually far from them.
@AustinCStone how to reproduce the performance of your paper? Should I trust the instructions of the "Experimental Details" section of your repo or the hyperparameters indicated in your paper? Do you notice any mistake in the commands above that could explain such disparities between the results I got and those of your paper?
Thank you

Thank you for the good work of SMURF. I am trying to replicate the reported performance on the training set of the Sintel dataset, namely 1.71 EPE on Clean and 2.58 EPE on Final.
I used apply_smurf.py on the sintel sequences but cannot get the same performance. Could you please provide some instructions on what commands to run?
Thank you.

It turns out that the provided Sintel model is Sintel-Test (which is useful to me as well). In case this information is useful @remimar. In addition, adjusting max_rec_iters can make a difference, say 16.

What should be the EPE of the Flying Chairs pre-trained model on the Chairs test dataset?

Thank you for the good work of SMURF. I am trying to replicate the reported performance on the training set of the Sintel dataset, namely 1.71 EPE on Clean and 2.58 EPE on Final.
I used apply_smurf.py on the sintel sequences but cannot get the same performance. Could you please provide some instructions on what commands to run?
Thank you.

It turns out that the provided Sintel model is Sintel-Test (which is useful to me as well). In case this information is useful @remimar. In addition, adjusting max_rec_iters can make a difference, say 16.

hi, If you train from scratch by the instructions of the "Experimental Details" on Sintel clean test, does it work when running inference step on Sintel clean train? thank you for your experience.

Thank you for the good work of SMURF. I am trying to replicate the reported performance on the training set of the Sintel dataset, namely 1.71 EPE on Clean and 2.58 EPE on Final.
I used apply_smurf.py on the sintel sequences but cannot get the same performance. Could you please provide some instructions on what commands to run?
Thank you.

It turns out that the provided Sintel model is Sintel-Test (which is useful to me as well). In case this information is useful @remimar. In addition, adjusting max_rec_iters can make a difference, say 16.

Can you reproduce the results of the paper from scratch? There is a big gap between my reproduced results and those reported in the paper.


Bitcoin Gold suffers a 51% attack again

Found just 'Binance increases escrow periods' info, in addition.

what is going on here?  articles are all mixed up.  doesnt make sense.

Did not quite catch you, I've committed just 1 article. If it was made in the wrong way, I am sorry and would appreciate if you can provide explanations/comments

sorry, my fault. looked at the wrong thing and got confused. merging.


Demo site: "FIDO Client error: 1 (OTHER ERROR)"

I have just purchased 2 Yubikey NEOs. I was able to register them with Google but am now having trouble. When I try and use the demo site https://demo.yubico.com/u2f?tab=register I get the following:
 Traceback (most recent call last):
  File "/root/python-u2flib-server-demo/examples/yubiauth_server.py", line 161, in __call__
    raise Exception("FIDO Client error: %s" % error)
Exception: FIDO Client error: 1 (OTHER ERROR)

Same for both keys. Have restarted Chrome and rebooted.
Chrome Version 56.0.2924.87 (64-bit)
MacOS 10.12.3

Please contact support for support issues. Off the top of my head, try disabling any extensions you have activated in Chrome, it's possible one of them is interfering with U2F.

Apologies. I had seen another Github issue for this project dealing with the same error on Ubuntu.


cuda runtime error (11) : invalid argument at /pytorch/aten/src/THC/THCGeneral.cpp:383     I have only one 2080ti,but I encounter this bug, could you give me some suggestions,please?

Hi,
The code should be working on 2080Ti with pytorch 1.0. Could you provide the training command that you used?


How to get NFT metadata?

        "accounts": [             {                 "publicKey": "FMR1zwHNJQUSTZ6MQXFaUdz2QfUqUvjidCyAcG6dh5CD",                 "owner": "GsguXojeGATpZGW8VNfW8qQCBVodbW2qGS8bUEbdGZfv",                 "isAssociatedTokenAccount": true,                 "lamports": 2039280,                 "accountCount": 1,                 "tokenMint": "8vfMHx8sxoqYs5V11e6LbdVFBUFwgEgXL292r3vpSBTT",                 "symbol": "",                 "tokenName": "Unknown 8vfMHx8sxoqYs5V11e6LbdVFBUFwgEgXL292r3vpSBTT",                 "decimalPlaces": 0,                 "quantityDecimal": 1,                 "quantityRaw": 1             }         ],         "count": 1
That is a response that we geting, and how to get NFT description and properties from metadata?

Hm, this is strange?

But when you check on explorer it shows correct owner:
https://explorer.solana.com/address/8g3nahwRZwtQqVcdZyTS3weZ2732SHLPV2htJaYMGdcS?cluster=devnet

I think I have to find program derived address?

thanks. will you also able to add the encoding type for getAccountInfo so we can pass jsonParsed which could simplify this bit?

yes


Fix go get by updating import path to: github.com/erbbysam/DNSGrep

Hi @erbbysam , if you are OK with update the import path to the correct folder (something like github.com/erbbysam/DNSGrep), I can send a PR. Do you support it?
Similar to: https://github.com/erbbysam/DNSGrep/issues/3

@hsluoyz I'd suggest you raise the PR anyway, if it's not merged others will fork / take over the project.


PHP DocBlock - don't show hover cards for @-mentioned users

Issue Type: Bug
Create a PHP docblock with @return or @todo and hover it.
/**
 * test
 * @todo fix that thing
 * @return something
*/

Good list of tags
https://github.com/php-fig/fig-standards/blob/master/proposed/phpdoc-tags.md
Related: #2498 & #3122
Extension version: 0.32.0
VS Code version: Code 1.61.2 (6cba118ac49a1b88332f312a8f67186f7f3c1643, 2021-10-19T14:57:20.575Z)
OS version: Windows_NT x64 10.0.18363
Restricted Mode: No
Remote OS version: Linux x64 5.4.72-microsoft-standard-WSL2

To verify:

Install the pre-release version of the extension.
Open a folder that contains a clone of a GitHub repo.
Create a PHP file
Add the doc block from the original issue.
Hover over @return and @todo and verify that no GitHub user hover is shown.


plugins/nabla: init

Add nabla.nvim, an helper to take scientific notes in Neovim.
Fixes #2423

@mergify queue

Commit name, sounds like the start of something great. ;P

Commit name, sounds like the start of something great. ;P

Oops X)


FastForward : redirect to the next page requiring a response

Previously, fastForward was redirecting to the lastReachedPage (last accessed page)
In the case of going back and modifying an answer (or even resetting and going back further), which could trigger cleaning actions, it could lead to empty intermediary pages.
In https://github.com/InseeFr/Drama-Queen/issues/129 , we decided temporarily to remove the fastForward button.
We want to put it back, and that the button redirects to the first page without an answer instead of the last accessed page

see https://github.com/InseeFr/Lunatic/issues/1038


Flash Init fails when CONFIG_SPI_NOR_IDLE_IN_DPD=y

Describe the bug
spi_nor_configure function fails when CONFIG_SPI_NOR_IDLE_IN_DPD and CONF_SPI_NOR_SFDP_MINIMAL are enabled.
acquire_device must be called before calling spi_nor_process_sfdp. After the call to spi_nor_process_sfdp call release_device.
We are using a nrf52832.
The nrf connect version is v2.1.3.
The zephyr version is:
VERSION_MAJOR = 3
VERSION_MINOR = 1
PATCHLEVEL = 99
VERSION_TWEAK = 0
Here is the modified code in the function:  static int spi_nor_configure(const struct device *dev)
The modified code snipit starts at line 1093 in spi_nor.c
#else /* CONFIG_SPI_NOR_SFDP_MINIMAL /
/ For devicetree and runtime we need to process BFP data and
* set up or validate page layout.
*/
acquire_device(dev);
rc = spi_nor_process_sfdp(dev);
release_device(dev);
if (rc != 0) {
	LOG_ERR("SFDP read failed: %d", rc);
	return -ENODEV;
}

Please also mention any information which could help others to understand
the problem you're facing:

What target platform are you using?
What have you tried to diagnose or workaround this issue?
Is this a regression? If yes, have you been able to "git bisect" it to a
specific commit?
...

To Reproduce
Build for eta compute nrf52832 platform.
Expected behavior
A clear and concise description of what you expected to happen.
Impact
This was a show stopper for us.
Logs and console output
Environment (please complete the following information):

OS:  Windows
Toolchain nrf connect v2.1.3

Additional context
Using a mx25u6432f external flash, with spi communication.

This mentions nRF connect SDK, not zephyr, can you reproduce this in current main of zephyr, if it does not reproduce please close this issue and raise this on https://devzone.nordicsemi.com/ instead

In addition to the nrf connect version, I also documented the zephyr
version:
We are using a nrf52832.
The nrf connect version is v2.1.3.
The zephyr version is:
VERSION_MAJOR = 3
VERSION_MINOR = 1
PATCHLEVEL = 99
I checked the zephyr main branch and the issue exists.
Regards,
Joe
On Tue, Jan 17, 2023 at 2:17 PM Jamie @.***> wrote:

This mentions nRF connect SDK, not zephyr, can you reproduce this in
current main of zephyr, if it does not reproduce please close this issue
and raise this on https://devzone.nordicsemi.com/ instead
—
Reply to this email directly, view it on GitHub
https://github.com/zephyrproject-rtos/zephyr/issues/53790#issuecomment-1385411393,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AV5GQER4C4U6ETZQOWA5QETWS2LYLANCNFSM6AAAAAAT2XRMWM
.
You are receiving this because you authored the thread.Message ID:
@.***>

--
This email (including its attachments) is intended only for the person or
entity to which it is addressed and may contain information that is
privileged, confidential or otherwise protected from disclosure.
Unauthorized use, dissemination, distribution or copying of this email or
the information herein or taking any action in reliance on the contents of
this email or the information herein, by anyone other than the intended
recipient, or an employee or agent responsible for delivering the message
to the intended recipient, is strictly prohibited. If you are not the
intended recipient, please do not read, copy, use or disclose any part of
this e-mail to others. Please notify the sender immediately and permanently
delete this e-mail and any attachments if you received it in error.
Internet communications cannot be guaranteed to be timely, secure,
error-free or virus-free. The sender does not accept liability for any
errors or omissions.

@JoeEtacompute can you reproduce this in vanilla Zephyr? nRF Connect SDK is a different project and questions about this should go to https://devzone.nordicsemi.com/

Closing due to lack of response from reporter.


Regression bug: scrollpoint with fixed position broken as of 1.2.1

ui-scrollpoint no longer works with the style position:fixed for the ui-scrollpoint class.
See these two Plunkers:
Working, Version 1.1.0
Try scrolling up and down.
Now try it with the latest version
Failing, Version 1.2.1
I haven't dug into exactly where the problem lies, but I thought it was worth reporting it now, with an example.
Is this perhaps a CSS problem? Using position: fixed is a necessity, I think, if you want to affix an element relative to the window, when it may be inside some other non-static ancestor.

Looks like 1.2.0 works:
1.2.0 test
So this is definitely a bug with the most recent 1.2.1 commits by @plong0 . @plong0 , can you take a look when you have a chance?

Hey thanks for reporting this!  I do see what you mean and I think this is a really important use case for ui-scrollpoint.  It's something I have dug into, so here are a couple notes on the issue:

I have found that position: fixed; will not work reliably within a ui-scrollpoint-target.  It does seem to work in Chrome, but digging into it on SO, I learned that this is an incorrect implementation of the CSS spec as position: fixed; is meant to always be relative to the window, not the parent element.

When an element is fixed position, by logical design there is no way for the scroll offset to pass it.  The solution used in 1.2.0 is to set the fixLimit variable, which essentially caches the element's position while the ui-srollpoint class is not applied.  I have pushed a fix to my branch that does this.
Plunkr: http://plnkr.co/edit/KmMIswpxOuXKSt0zrklN?p=preview

Keep in mind that changing the positioning of the element removes it from the layout, so neighbouring elements would also change position.

RE: Notes 1 & 3 ...
I have developed a ui-scrollpoint-pin directive that offers these enhancements:

allows pinning/stickying of elements relative to the parent/ui-scrollpoint-target
injects a placeholder to maintain the layout/flow of neighbouring elements

My question to the community about this feature is whether it is within the scope of ui-scrollpoint or should it be its own project?
Although there are some "sticky" modules out there, I didn't find any that use ui-scrollpoint, and I do see a DRY benefit to using ui-scrollpoint.  After reflecting on it, I am feeling that there is actually quite a lot that could be done around pinning/stickying elements and much of it would be out of scope of ui-scrollpoint.
Some examples of features of a pinning module (in addition to the two noted above):

Pin Containers - when an element hits the edge, it gets sent to a sidebar or some other container
Pin Stacking - when an element collides with an already pinned element, it stacks under that element rather than overlapping it

I definitely think that these could be beneficial, and I'm also unsure whether they belong in UI-Scrollpoint. I see UI-scrollpoint as a library for taking actions (adding/removing classes, etc) based on position. But it is agnostic about what the styles or classes are, and maybe that is for the best.
One possibility could be to make scrollpoint injectable, link affix in Angular Strap:
https://github.com/mgcrea/angular-strap/blob/master/src/affix/affix.js
That might make it possible for a whole array of versatile tools to be made.
For example, I'd love to have a library that does a sort of soft affix at both ends of an element: Say you have a div element that you want to affix, and that might be taller than the window. The behavior I imagine is that if you scroll down, it scrolls until the BOTTOM of the div is in view, then affixes the element to the bottom. If you change scroll directions, it should immediately un-affix, and allow you to scroll up until the TOP is in view, then affix it to the top. It is not simple behavior—dependent on scroll direction—but it seems like it would be useful enough that it should be out there.

Closed via #11


Add operator for doing ranges automatically

This lets me do something like ,x or 10,x and automatically fix only a particular range

@fahhem
Firstly, I apologize for the delay in replying to you.
I do not use "vim-operator-user" unfortunately.
To decide whether to use "vim-operator-user" is the users themselves.
Therefore it is not possible to accept your pull-request.
However the introduction of "vim-operator-user" will be described in the README.
Thx.


[BUG] I can access /admin-blog page, even if I have not logged in

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
If i access directly via url https://wanderlust-beta.vercel.app/add-blog without logging in, I can easily view the page.
Expected Behavior
Ideally only if the user is authenticated he should be let to view the page, else we should show page of "Oops sorry you are not authorized for this page"
Reproduction steps
1. Don't login
2. Go to https://wanderlust-beta.vercel.app/add-blog
3. You'll be able to view the page

Screenshots
No response
Logs
No response
Browsers
No response
OS
No response

can i work on this sir please assign me @krishnaacharyaa

Hi @Ameerjafar Can you kindly let us know your approach and ETA? And kindly refer the above PR, it says this issue has dependency with #172 issue. So ideally we need to solve it and then get back to this

Hi there! I'm excited to contribute to this project and would love to work on this issue. Could you please assign it to me? Thanks!

kindly assign this task to me.I can help with this bug

@bikashsahh @thefarhanahmad  Code-of-conduct

Closed as resolved


travis: cache the gems

Cache the dependencies as per
http://docs.travis-ci.com/user/caching/#Caching-directories-(Bundler%2C-dependencies)
Should speed up the build quite a bit, bundle install currently takes 1:30m on travis.

Why would caching gems fail the build? Come on Travis

Was literally just wondering the same thing

Could not load native IDN implementation.
/home/travis/build/jayroh/thredded/spec/gemfiles/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/example_group.rb:656:in `method_missing': undefined method `its' for #<Class:0x00000006932a78> (NoMethodError)

wha

looks like it's the addressable gem?

The issue was that by default Travis caches the gems in vendor/bundle relative to the Gemfile location. The Gemfiles are located in spec/gemfiles, therefore the test files of the gems themselves get picked up by the rspec spec/**/*_spec.rb command. The fix is:
bundler_args: --path ../../vendor/bundle

Now that I have commit access, merged it myself. Didn't see you started looking into it!

:smile:  :+1: