idea: expose as a browser extension

My dream / vision would be:

Install Browser WebExtension "discovery-swarm" (I've written Chrome extensions that communicate with pages via postMessage, so I know how to inject a new global API into all the web pages.)
Install OS service for "discovery-swarm". (I've gotten some experience doing this with hypergit)
Pages can magically communicate with "discovery-swarm" via a global.

Example page usage:
let sw = await window.getDiscoverySwarm()
// only difference between "sw" and normal "discovery-swarm" is it's async instead of sync.
// Promises resolve once the command & return value passes from page -> WebExtension -> OS Service -> WebExtension -> page.
await sw.listen(1000)
await sw.join('ubuntu-14.04') // can be any id/name/hash

sw.on('connection', function (connection) {
  console.log('found + connected to peer')
})

Holyshit I just realized this idea can be generalized to any node module. Oh man. Hang on this is nutz. I can't believe nobody has done this. (Also, I can't believe the Chrome Web Store is flooded with extensions that do nothing but replace the text "Node.js" with "The One True Dev Language" or "My Butt".)

I don't think you even need an extension if you have a local service running. My goal is to allow browser pages to talk to the local gateway directly, and fallback to public discovery-swarm gateways if one doesn't exist. With this you can skip the first step and have the JS import a library which implements the discoverySwarm API and auto-discovers a gateway.
A few years ago I was inspired by leapmotion's JavaScript SDK, it started a local WS server along with the software needed to make the leapmotion work, and the JS SDK automatically connected to the server if it existed. From the point of view of a developer, I just had to focus on the JS API, and the integration was handled for me behind the scenes.
I really want to have a similar experience with this. Just import the module in your JS, and use it (optionally specifying a domain for the WS server).

Ah, I see. Yeah... so a raw WebSocket API would be annoying, I think, but wrapped in a small JS library that makes a lot of sense. I still think there's room for a browser extension - I really like the IPFS Companion chrome extension - but that might be orthogonal / unrelated to the WebSocket idea.

😁 😁 😁 😁 😁 😁 😁 😁 😁 😁 😁 😁 😁 😁 😁 😁 😁 😁 😁 😁 😁 😁 😁
So much good stuff happening! I decided not to pursue the browser extension idea, and stay focused on hypergit and isomorphic-git. I need to get isomorphic-git to the point where you can clone over WebRTC.


Output Format: Prometheus

Todo

[x] observation time fields,
[x] forecast data,
[x] update README
[ ] hourly forecast data

Details
I would be interested in a Prometheus-style format output similar to the json output that is already provided. https://prometheus.io/docs/concepts/data_model/
This can be used then to scrape wttr.in easily for monitoring systems.

It is an interesting idea.
Maybe we could add additional representation.
Would this work for the beginning?
jq -r 'keys_unsorted[] as $k | "\($k) \(.[$k])"'

I don't think that it might work as the RHS needs to be numeric.
https://prometheus.io/docs/practices/naming/
temperature_celsius{location="Berlin"} 28.9

There's a python client library that probably is the best approach to do the output formatting base on the data object.
https://github.com/prometheus/client_python

Do I understand it right, that only current values make sense, and there is no need to export forecast values? At least at the beginning.
Question #2:
if you say that the RHS has to be numeric, do I understand it right, that non-numeric fields should not be exported at all?

Forecast makes sense as well.
Non-numeric fields can be exported as dimensions.
  "current_condition": [
    {
      "FeelsLikeC": "21",
      "FeelsLikeF": "70",
      "cloudcover": "0",
      "humidity": "31",
      "localObsDateTime": "2020-05-22 11:44 AM",
      "observation_time": "09:44 AM",
      "precipMM": "0.0",
      "pressure": "1021",
      "temp_C": "21",
      "temp_F": "70",
      "uvIndex": 6,
      "visibility": "10",
      "weatherCode": "113",
      "weatherDesc": [
        {
          "value": "Sunny"
        }
      ],
      "weatherIconUrl": [
        {
          "value": ""
        }
      ],
      "winddir16Point": "SE",
      "winddirDegree": "130",
      "windspeedKmph": "19",
      "windspeedMiles": "12"
    }
  ],

could become (i left some of the items out):
FeelsLikeC{forecast="0h"} 21
FeelsLikeF{forecast="0h"} 70
cloudcover{forecast="0h"} 0
humidity{forecast="0h"}  31
localObsDateTime_epoch{forecast="0h"}<PHONE_NUMBER>
observation_time_hour{forecast="0h"}s 584
weatherDesc{forecast="0h", description="Sunny"} 1
winddir16Point{forecast="0h", direction="SE"} 1

for the hourly prediction it could look like this:
FeelsLikeC{forecast="1h"} 21
FeelsLikeF{forecast="1h"} 70
cloudcover{forecast="1h"} 0
humidity{forecast="1h"}  31
localObsDateTime_epoch{forecast="1h"}<PHONE_NUMBER>
observation_time_hour{forecast="1h"}s 584
weatherDesc{forecast="1h", description="Sunny"} 1
winddir16Point{forecast="1h", direction="SE"} 1

I've added the first trivial implementation of the Promethus output format.
Could you please take a look at it?
$ curl wttr.in/Regensburg?format=p1
FeelsLikeC(forecast="0h") 11
FeelsLikeF(forecast="0h") 53
cloudcover(forecast="0h") 100
humidity(forecast="0h") 97
precipMM(forecast="0h") 6.7
pressure(forecast="0h") 1013
temp_C(forecast="0h") 12
temp_F(forecast="0h") 54
uvIndex(forecast="0h") 1
visibility(forecast="0h") 6
winddirDegree(forecast="0h") 1
windspeedKmph(forecast="0h") 11
windspeedMiles(forecast="0h") 7
weatherDesc{forecast="0h", description="Moderate rain"} 1
winddir16Point{forecast="0h", description="N"} 1

What is missing at the moment:

observation date/time, epoch;
observation time, today (btw. why is it _hour in your example, if units are minutes?)
forecast
location name (do we need it? probably yes)
localized weather condition name (irrelevant for wttr.in, aber ist durchaus sinnvoll für de.wttr.in)

If you are going to add it to some monitoring system (and if it will work as expected :),
could you please post a couple of screenshots here, just for better understanding
how it should look like, especially non-numerical fields

Thanks for the initial implementation!
I've sent in https://github.com/chubin/wttr.in/pull/468
What I would suggest is to make "EXPORTED_FIELDS" a map to comply with prometheus-style metric names: https://prometheus.io/docs/practices/naming/#metric-names
_hour in my example was a mistake, good catch. It should be minutes.

Merged, deployed, please test.
Do you have some nice screenshot with that how it is looking now?

curl -s "http://wttr.in/Berlin?format=p1" | promtool check metrics

temperature_fahrenheit use base unit "celsius" instead of "fahrenheit"
temperature_feels_like_fahrenheit use base unit "celsius" instead of "fahrenheit"

looks good, I'd ignore the complaints around fahrenheit, there might be users needing it.
I don't have any dashboard setup yet, but simply ingested into prometheus.

Now one should add the time fields, and the forecast data,
extend the README and one can publish this new feature.
I wonder if anybody would use it, but the idea seems to be very interesting

I added a few more bits here: https://github.com/chubin/wttr.in/pull/471

I've cleaned up the code a little bit. I hope you will like it

Again, not being able to test and probably we should consider using the prometheus python client to create those metrics instead of doing concatenations at some point

Yes sure, we can do it, but I am not sure that it will give us anything,
at least data conversion into the Prometheus format per se
is now implemented literally with one single line
Please test

Thanks for the fix and cleanups, looks good to me! So the last remaining bit is transforming the hourly output, right?

Yes, I believe so. It should not bee too hard, because we already have almost everything for that.
What I still can't understand, why do you need Prometheus format (an how only this idea came on your mind?) if you don't even have a Prometheus dashboard?

The next step is to expose it in grafana (that's where I'll create the dashboard in), but to get there I needed the exposed metrics exposed first and ingested in my prometheus instance.

Yes, but now it works, i.e. you can already add it to Grafana (presuming you already have it)?
Or do you want to add the hourly forecast first?

@mrueg Manuel, no news here?

@chubin sorry, for the late reply. Due to some private events I didn't have time to work on the grafana dashboard yet. For feature parity with the json output the hourly forecast would be perfect.

@mrueg Agree. I will add it

Howdy, amazing functionality. Hope it will move further. Just one notice.
Would be nice to have town/location label in metric.
issue: curl -s 'wttr.in/{Nuremberg,Hamburg,Berlin}?format=p1' | grep -v ^# | sort
 ...
temperature_feels_like_celsius{forecast="current"} -2
temperature_feels_like_celsius{forecast="current"} -4
temperature_feels_like_celsius{forecast="current"} -4
 ...

Currently the only way it to create a job in prometheus for each location, as job label will be added automatically by prometheus itself.

I returned to this issue and would like to finalize it.
@marijus-ravickas Marjus, it is good idea. Could you give an example how it should look like?
Just a short example, so that I could understand it better

@marijus-ravickas Marjus, it is good idea. Could you give an example how it should look like? Just a short example, so that I could understand it better

curl -s 'wttr.in/{Nuremberg,Hamburg,Berlin}?format=p1' | grep '^windspeed_kmph'                                                                                20:56:09
windspeed_kmph{forecast="current"} 13
windspeed_kmph{forecast="current"} 11
windspeed_kmph{forecast="current"} 11

Example above, should look like:
curl -s 'wttr.in/{Nuremberg,Hamburg,Berlin}?format=p1' | grep '^windspeed_kmph'                                                                                20:56:09
windspeed_kmph{location="Nuremberg", forecast="current"} 13
windspeed_kmph{location="Hamburg,"forecast="current"} 11
windspeed_kmph{location="Berlin,"forecast="current"} 11

this would allow us to use PromQL functions with location labels. PromQL example:
avg by (location) (windspeed_kmph)

I am not an expert in python, but could make a PR for this functionality if You want.

@marijus-ravickas Marjus, it is good idea. Could you give an example how it should look like? Just a short example, so that I could understand it better

curl -s 'wttr.in/{Nuremberg,Hamburg,Berlin}?format=p1' | grep '^windspeed_kmph'                                                                                20:56:09
windspeed_kmph{forecast="current"} 13
windspeed_kmph{forecast="current"} 11
windspeed_kmph{forecast="current"} 11

Example above, should look like:
curl -s 'wttr.in/{Nuremberg,Hamburg,Berlin}?format=p1' | grep '^windspeed_kmph'                                                                                20:56:09
windspeed_kmph{location="Nuremberg", forecast="current"} 13
windspeed_kmph{location="Hamburg,"forecast="current"} 11
windspeed_kmph{location="Berlin,"forecast="current"} 11

this would allow us to use PromQL functions with location labels. PromQL example:
avg by (location) (windspeed_kmph)

I am not an expert in python, but could make a PR for this functionality if You want.

I could achieve similar results using prometheus static config labels:
- job_name: 'wttr_in_baltoji_voke'
  static_configs:
    - targets: ['wttr.in']
      labels:
        location: 'baltoji-voke'
  metrics_path: '/Baltoji-voke'
  params:
    format: ['p1']
- job_name: 'wttr_in_berlin'
  static_configs:
    - targets: ['wttr.in']
      labels:
        location: 'berlin'
  metrics_path: '/Berlin'
  params:
    format: ['p1']

This would result in these metrics, as an example:
temperature_feels_like_celsius{forecast="current", instance="wttr.in:80", job="wttr_in_baltoji_voke", location="baltoji-voke"}
temperature_feels_like_celsius{forecast="current", instance="wttr.in:80", job="wttr_in_berlin", location="berlin"}

Hi @chubin , Great tool.
Any plans to add forecasts on promethus format?

@marijus-ravickas

I am not an expert in python, but could make a PR for this functionality if You want.

Please go ahead. Just make a PR and we will merge it.
@cmyrsh
Yes.
Could you please share an example how the response could look like

Hi @chubin
when I run
curl -X GET "v2.wttr.in/Amsterdam?format=p1"
the output contains following line
windspeed_kmph{forecast="current"} 22

Although it does not contain forecast for wind speed
eg
windspeed_kmph{forecast="1d"} 22

That is what I am asking for.
The json output "format=j1" contains this info

@cmyrsh now it is clear; we will do it. Should we add forecast for the same time intervals that we have in JSON?


docs: add config for terraform fmt

The "-" argument must be provided to the terraform fmt command in order to read from STDIN. From terraform fmt -h:
    If DIR is not specified then the current working directory will be used.
    If DIR is "-" then content will be read from STDIN. The given content must
    be in the Terraform language native syntax; JSON is not supported.

Thank you!


[web] Email Autofill broken on Firefox

Bug
A common use case on the web is autofill for an email + password combination.
In Flutter, this can be achieved using an AutofillGroup and two TextFields using the appropriate AutofillHints.
After saving the email + password combination to the browser, Flutter should autofill the email and password the next time the user interacts with that text field.
Broken on Firefox
However, on Firefox only the password is autofilled when clicking onto the email field. On the flip side, when clicking the password field, both the email and password are autofilled. So this is clearly a bug and probably a trivial one to fix.
Illustration
I have illustrated the broken behavior in the following screen recording:
https://user-images.githubusercontent.com/19204050/127579138-c7629cf7-12ef-42f9-a795-ba20916278c1.mp4
On the left side, you can see the app running on Chrome (where everything works fine) and on the right side, you can see it running on Firefox (where it is broken and shows the described behavior).
Steps to Reproduce
Follow the steps shown in the video by running the following code:

Click to expand minimal sample code and version
import 'package:flutter/material.dart';

void main() {
  runApp(MaterialApp(
    title: 'Autofill bug',
    home: Scaffold(
      body: Center(
        child: FractionallySizedBox(
          widthFactor: 1 / 3,
          child: const Bug(),
        ),
      ),
    ),
  ));
}

class Bug extends StatefulWidget {
  const Bug({Key? key}) : super(key: key);

  @override
  State createState() => _BugState();
}

class _BugState extends State<Bug> {
  var _showingTextFields = true;

  void _hideTextFields() {
    setState(() {
      _showingTextFields = false;
    });
    Future.delayed(const Duration(seconds: 1), () {
      if (!mounted) return;
      setState(() {
        _showingTextFields = true;
      });
    });
  }

  @override
  Widget build(BuildContext context) {
    if (!_showingTextFields) return const SizedBox();
    return AutofillGroup(
      child: Column(
        mainAxisSize: MainAxisSize.min,
        children: [
          Padding(
            padding: const EdgeInsets.all(8.0),
            child: TextField(
              autofillHints: [AutofillHints.email],
              decoration: InputDecoration(
                prefixIcon: const Icon(Icons.alternate_email_outlined),
                labelText: 'Email',
                border: OutlineInputBorder(),
              ),
            ),
          ),
          Padding(
            padding: const EdgeInsets.all(8.0),
            child: TextField(
              autofillHints: [AutofillHints.password],
              obscureText: true,
              decoration: InputDecoration(
                prefixIcon: const Icon(Icons.password_outlined),
                labelText: 'Password',
                border: OutlineInputBorder(),
              ),
            ),
          ),
          Padding(
            padding: const EdgeInsets.all(8.0),
            child: OutlinedButton(
              onPressed: _hideTextFields,
              child: Text('Reset text fields'),
            ),
          ),
        ],
      ),
    );
  }
}

[✓] Flutter (Channel stable, 2.2.3, on Microsoft Windows [Version 10.0.19043.1110], locale en-US)
    • Flutter version 2.2.3
    • Framework revision f4abaa0735 (4 weeks ago), 2021-07-01 12:46:11 -0700
    • Engine revision 241c87ad80
    • Dart version 2.13.4

Hi @creativecreatorormaybenot,
Thanks for filing the issue, I am able to reproduce it on the latest stable channel, but I see that its broken on the latest master channel for the chrome too. Clicking on email or password input field should auto fill both the fields.
master 2.5.0-2.0.pre.69
               Chrome on the left    ❌                                 Firefox on the right ❌

https://user-images.githubusercontent.com/31410839/127641245-e7c4733f-670a-490b-b94e-a51a0df08c3e.mov
stable 2.2.3
               Chrome on the left  ✅                                  Firefox on the right. ❌

https://user-images.githubusercontent.com/31410839/127641265-91f6e678-c4e3-4bff-8c01-dc7505d0a85e.mov
✅ : No Issue ❌: Issue reproduced

flutter doctor -v
[✓] Flutter (Channel stable, 2.2.3, on macOS 11.4 20F71 darwin-arm, locale en-GB)
    • Flutter version 2.2.3 at /Users/mahesh/Documents/flutter
    • Framework revision f4abaa0735 (4 weeks ago), 2021-07-01 12:46:11 -0700
    • Engine revision 241c87ad80
    • Dart version 2.13.4

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Users/mahesh/Library/Android/sdk
    • Platform android-30, build-tools 30.0.3
    • ANDROID_HOME = /Users/mahesh/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.4, Build version 12D4e
    • CocoaPods version 1.10.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)

[✓] IntelliJ IDEA Community Edition (version 2021.1.2)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 57.0.5
    • Dart plugin version 211.7233

[✓] VS Code (version 1.58.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.24.0

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-arm64   • macOS 11.4 20F71 darwin-arm
    • Chrome (web)    • chrome • web-javascript • Google Chrome 91.0.4472.164

• No issues found!

[✓] Flutter (Channel master, 2.5.0-2.0.pre.69, on macOS 11.4 20F71 darwin-arm, locale en-GB)
    • Flutter version 2.5.0-2.0.pre.69 at /Users/mahesh/Documents/flutter_master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision ccf6f0353a (10 minutes ago), 2021-07-29 01:50:54 -0700
    • Engine revision 40451453ab
    • Dart version 2.14.0 (build 2.14.0-361.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Users/mahesh/Library/Android/sdk
    • Platform android-30, build-tools 30.0.3
    • ANDROID_HOME = /Users/mahesh/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.4, Build version 12D4e
    • CocoaPods version 1.10.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)

[✓] IntelliJ IDEA Community Edition (version 2021.1.2)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 57.0.5
    • Dart plugin version 211.7233

[✓] VS Code (version 1.58.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.24.0

[✓] Connected device (4 available)
    • sdk gphone arm64 (mobile)  • emulator-5554                        • android-arm64  • Android 11 (API 30) (emulator)
    • iPhone 12 Pro Max (mobile) • 6A434744-B348-4FB3-AB10-131292174456 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-4
      (simulator)
    • macOS (desktop)            • macos                                • darwin-arm64   • macOS 11.4 20F71 darwin-arm
    • Chrome (web)               • chrome                               • web-javascript • Google Chrome 92.0.4515.107

• No issues found!

Hi @creativecreatorormaybenot
There are two issues here
Firefox issue on current stable
This is https://github.com/flutter/flutter/issues/68005, we don't need separate issues for email hint, as hints take a list of hints, you can provide email and password hints like this and neither of them work on Firefox on the current stable
       autofillHints: const <String>[
                  AutofillHints.username,
                  AutofillHints.email
                ],

Autofill web regression for all browsers
This has been reported in https://github.com/flutter/flutter/issues/86497, autofill broke since 2.3 on the web, independent from browsers. This is also reproduced in https://github.com/flutter/flutter/issues/87309#issuecomment-889812906
closing as a duplicate for both issues explained above


Renaming a vue file to .ts yields wrong file

when renaming .vue file to .ts typescript rename will rename the file to ${file}_________module

Are you renaming import statement or file from explorer?

File explorer in vscode

This should be fixed by #35. Reopen if not fixed.

Still happens with the https://github.com/znck/vue-developer-experience/commit/252054da80afc0841b10fc91f321fe0e71acd660

Is it possible for you to add a failing test case?

P.S. If you want to pair-and-debug, let me know on discord.


problem with flytos linux img on rpi4

video streaming api is not working on  rpi4 image
even ros nodes usb_cam ,uvc_cam not working
also facing issues in import function in  opencv

Are you sure this is the right repo for your issue? It doesn't look related to Slate at first glance.

Closing due to inactivity - but please feel free to reopen the issue if necessary.


Specs dir can now be defined as env variable

(my very first) pull request for https://github.com/getgauge/gauge/issues/984
Comments are welcomed

@cla-bot recheck PR.

I had another suggestion, the env variable can take a comma separated list of spec directories. The GetSpecDir function can return a array of spec directories. This would be really useful to have.
Also, it looks like this is your first contribution to Gauge. Before we can look at your pull request, you'll need to sign our Contributor License Agreement (CLA).
Please visit https://gauge-cla.herokuapp.com/ to read and sign it.

@cla-bot check if all the contributors of this pull request has signed our CLA.

As far as I can see, the current structure of the specification location is not that it supports comma separated lists. Because some places expect to work with one value. But I will see

Now it would be a difference of passing multiple spec location to Gauge.
When from command line, it would be gauge run specs1 specs2", so space separation When from property file, it would be gauge_specs_dir = specs1,specs2", so comma separation.
Is this acceptable ? @nehashri

I renamed the existing method GetSpecFiles to GetSpecFilesFrom (in lack of better name), because I wanted to avoid that all callers have to switch to []string, when not needed.
And it seems that GO does not support overloading ?!

@cla-bot check if all the contributors of this pull request has signed our CLA.

@jackperalta Also, Before we can look at your pull request, you'll need to sign our Contributor License Agreement (CLA).
Please visit https://gauge-cla.herokuapp.com/ to read and sign it.

@jackperalta Thank you for your contribution :)


+ does not insert a blank line at cursor

My Setup

Operating System: Windows 10

App Version: 2.11.0

[x] I have tested with the latest version

[x] I can simulate the issue easily

Description

Type some text
Arrow over to where you want to insert a blank line
Hit ctrl+enter

Current Behavior
The cursor goes down one row but does not insert a blank line before the cursor
Expected Behavior
A blank line should be inserted before the cursor.  Ctrl+enter is used to create a newline, and works when typing at the end of the text.  When typing in the middle of the text, it should insert the newline there, not at the end of the line of text.  This is particularly annoying when trying to type markdown and put your code on a newline in order to identify the codetype ('''sql vs '''select *).

I'm closing this issue since it is a behavior present in the web client too.
As a workaround, I'd suggest the SHIFT + ENTER combination.


Rectangle.Contains does not include right and bottom edges

currently we have
public bool Contains(int x, int y) => this.X <= x && x < this.Right && this.Y <= y && y < this.Bottom;
should read
public bool Contains(int x, int y) => this.X <= x && x <= this.Right && this.Y <= y && y <= this.Bottom;

Actually I think the issue is that the Right  & Bottom values are off by one
At the moment if the you have Rect @ 0,0 10x10 the Bottom & right are currently 10 when infact they should be 9.

Is that true? if I have 0,0 and 1x1 the bottom and right should be "0" ? I think "<=" is correct.

I think they are both wrong but the fact the bottom & right are off by one makes the contains return the correct value.

Look correct to me.
We have
public bool Contains(int x, int y) => this.X <= x && x < this.Right && this.Y <= y && y < this.Bottom;

System.Drawing.Primitives has
public bool Contains(int x, int y) => X <= x && x < X + Width && Y <= y && y < Y + Height;

Our Right and Bottom properties match
        /// <summary>
        /// Gets the x-coordinate of the right edge of this <see cref="Rectangle"/>.
        /// </summary>
        public int Right
        {
            [MethodImpl(MethodImplOptions.AggressiveInlining)]
            get
            {
                return unchecked(this.X + this.Width);
            }
        }

        /// <summary>
        /// Gets the y-coordinate of the bottom edge of this <see cref="Rectangle"/>.
        /// </summary>
        public int Bottom
        {
            [MethodImpl(MethodImplOptions.AggressiveInlining)]
            get
            {
                return unchecked(this.Y + this.Height);
            }
        }

I'm closing this. I've double checked it against the Sytem.Drawing.Primitives.Rectangle and we match


Question: memory usage

I use the following code to generate a thumbnail image on my parse sever. It does

fetch the image from an URL to a buffer
run sharp on it to resize, save result in buffer
create parse file from buffer
save the parse file to DB

Parse.Cloud.httpRequest({url: coverartUrl})
.then(function(response) {
	var sharp = require("sharp");
	return sharp(response.buffer).resize(size, size).toFormat('jpeg').toBuffer()
}).then(function(buffer) {
	console.log("Buffer returned, creating Parse File");
	var base64Buffer = buffer.toString("base64");
	var filename = channel.get("coverart").name() + "_thumbnail.jpg";
	var file = new Parse.File(filename, { base64: base64Buffer }, "image/jpeg");
	return file.save();
}).then(function(file) {
	console.log("Thumbnail saved");
	return channel.set(coverartAttribute, file);
});

I run this code on about 30 images. This will cause nodejs to use > 500MB memory afterwards. Garbage collection does not clean the memory even after waiting some time.
I tried to fix it by explicitly setting some buffers to null. But it did not help. Any idea what I am doing wrong and what is causing the memory leak?

Hello, I suspect "500MB" is the peak RSS for this task, which will include free memory that has yet to be released back to the OS. It looks like an original image, its thumbnail and a base64 encoded version of the thumbnail will all be in memory and ineligible for GC until the promise chain ends.
If you've not already done so, I'd recommend experimenting with the cache settings and reading #714 and #429.

until the promise chain ends.

This is my main problem: It is not cleared even after all promises are fullfilled.

I tried to set sharp.cache(false);. This did also not reduce the memory usage.

Got memory leak too.
This is my code:
async function resize(imageURL) {
    let thumbnailURLs = {};
    let filename = ulid();
    let storage, file, stream, resizer;

    storage = new GCS({
        projectId: process.env.GCLOUD_PROJECT || config.project_id,
        keyFileName: process.env.GCLOUD_PROJECT ? null : config.keyfile_path,
        credentials: process.env.GCLOUD_PROJECT ? null : config.credentials_path
    }).bucket(config.bucket.line);
    storage.makePublic({
        includeFiles: true
    });
    file = storage.file(filename);
    stream = file.createWriteStream({
        gzip: true,
        public: true,
        metadata: {
            cacheControl: "public, max-age=120",
            contentType: "image/jpeg",
            metadata: {
                createdAt: Date.now()
            }
        }
    });

    resizer = sharp()
        .resize(config.resize.line.width, config.resize.line.height)
        .background({ r: 255, g: 255, b: 255, alpha: 0 })
        .embed()
        .jpeg();

    await new Promise((resolve, reject) => {
        request(imageURL)
            .pipe(resizer)
            .pipe(stream)
            .on("error", err => {
                reject(err);
            })
            .on("finish", () => {
                resolve(true);
            });
    });

    thumbnailURLs.example = `https://example.com/${config.bucket.line}/${filename}`;

    return thumbnailURLs;
}

I have to run it to resize about 30000 files but it fails at about 100. I don't know what to do anymore now.

Hello, what is being described here as a "memory leak" is almost certainly peak memory usage, memory that is either still ineligible for garbage collection or has been freed but has yet to be returned to the OS.

@lovell got any advice to minimize memory usages when using sharp?

@JesusIslam, have you tried upgrading to node.js 7? I've found that V8 5.4+ is more eager to return memory to the OS, which made a big difference in a long-running app that uses sharp's stream API in a way that's similar to what you're doing.
Also, if you're on linux, try adding you app to a cgroup and specify a memory.soft_limit_in_bytes value for it.

@papandreou
I am using v7.8.0 atm.
Turned out the culprit was initializing GCS module inside the  async function that is called inside a loop. I solved it by initializing only once outside of the loop. After I do that the memory leak problem got away. This makes me unable to ran it using dynamic bucket to upload the picture to, but it works for my current use case, so yea.
Not sharp's fault I think.

Thanks all, I'll close.


[CSBindings] Infer key path types from superclass constrained existen…

…tial values
If type of the key path expression is convertible to an existential
value with a superclass constraint represented as a known key
path type, we can use it to inform key path inference.
Resolves: rdar://93103421

@swift-ci please test

@swift-ci please test macOS platform

@swift-ci please test source compatibility release


Gardena integration not available/loaded

Dears,
I recognized a few days ago that the Gardena integration is not available any more.
Within the integrations its listet as "not loaded" as attached. Reboot or any other action does not show any positive effects...
Is this a common issue temporary or some fault on my side?
Thanks a lot in advance !
BR
Alex

Hello,
Have you updated to latest version ?
Jérémie
Le lun. 12 févr. 2024, 13:13, Pilot2023 @.***> a écrit :

Dears,
I recognized a few days ago that the Gardena integration is not available
any more.
Within the integrations its listet as "not loaded" as attached. Reboot or
any other action does not show any positive effects...
Is this a common issue temporary or some fault on my side?
Thanks a lot in advance !
BR
Alex
Gardena.not.loaded.jpg (view on web)
https://github.com/py-smart-gardena/hass-gardena-smart-system/assets/121667461/1f75f166-0638-47a5-b74a-f82d28fd57a6
—
Reply to this email directly, view it on GitHub
https://github.com/py-smart-gardena/hass-gardena-smart-system/issues/199,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAARGI24FE3HYWX2G7B7E3TYTIBNJAVCNFSM6AAAAABDETX2CWVHI2DSMVQWIX3LMV43ASLTON2WKOZSGEZTAMBRGE3DOOA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Hi, yes I did the updates...BR
-------- Ursprüngliche Nachricht --------Von: Jérémie Klein @.> Datum: 12.02.24  13:14  (GMT+01:00) An: py-smart-gardena/hass-gardena-smart-system @.> Cc: Pilot2023 @.>, Author @.> Betreff: Re: [py-smart-gardena/hass-gardena-smart-system] Gardena integration not available/loaded (Issue #199)
Hello,
Have you updated to latest version ?
Jérémie
Le lun. 12 févr. 2024, 13:13, Pilot2023 @.***> a écrit :

Dears,

I recognized a few days ago that the Gardena integration is not available

any more.

Within the integrations its listet as "not loaded" as attached. Reboot or

any other action does not show any positive effects...

Is this a common issue temporary or some fault on my side?

Thanks a lot in advance !

BR

Alex

Gardena.not.loaded.jpg (view on web)

https://github.com/py-smart-gardena/hass-gardena-smart-system/assets/121667461/1f75f166-0638-47a5-b74a-f82d28fd57a6

—

Reply to this email directly, view it on GitHub

https://github.com/py-smart-gardena/hass-gardena-smart-system/issues/199,

or unsubscribe

https://github.com/notifications/unsubscribe-auth/AAARGI24FE3HYWX2G7B7E3TYTIBNJAVCNFSM6AAAAABDETX2CWVHI2DSMVQWIX3LMV43ASLTON2WKOZSGEZTAMBRGE3DOOA

.

You are receiving this because you are subscribed to this thread.Message

ID: @.***>

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

I did another reboot and its working now.Thanks a lot for your quick reply.I thought I did everything I can already. Sometimes its easier as you think  ;)BR Alex
-------- Ursprüngliche Nachricht --------Von: Jérémie Klein @.> Datum: 12.02.24  13:14  (GMT+01:00) An: py-smart-gardena/hass-gardena-smart-system @.> Cc: Pilot2023 @.>, Author @.> Betreff: Re: [py-smart-gardena/hass-gardena-smart-system] Gardena integration not available/loaded (Issue #199)
Hello,
Have you updated to latest version ?
Jérémie
Le lun. 12 févr. 2024, 13:13, Pilot2023 @.***> a écrit :

Dears,

I recognized a few days ago that the Gardena integration is not available

any more.

Within the integrations its listet as "not loaded" as attached. Reboot or

any other action does not show any positive effects...

Is this a common issue temporary or some fault on my side?

Thanks a lot in advance !

BR

Alex

Gardena.not.loaded.jpg (view on web)

https://github.com/py-smart-gardena/hass-gardena-smart-system/assets/121667461/1f75f166-0638-47a5-b74a-f82d28fd57a6

—

Reply to this email directly, view it on GitHub

https://github.com/py-smart-gardena/hass-gardena-smart-system/issues/199,

or unsubscribe

https://github.com/notifications/unsubscribe-auth/AAARGI24FE3HYWX2G7B7E3TYTIBNJAVCNFSM6AAAAABDETX2CWVHI2DSMVQWIX3LMV43ASLTON2WKOZSGEZTAMBRGE3DOOA

.

You are receiving this because you are subscribed to this thread.Message

ID: @.***>

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

you need version 1.1.0 or 1.1.1-rc1

Hi, unfortunately I have the same problem. I have already tried deleting everything and everything worked again until I restarted. I'm using the latest beta version (1.1.1-rc1), but it's the same problem.
I have also tried to create a new API, unfortunately the same result.
Greetings

Hi, unfortunately I have the same problem. I have already tried deleting everything and everything worked again until I restarted. I'm using the latest beta version (1.1.1-rc1), but it's the same problem.
I have also tried to create a new API, unfortunately the same result.
Greetings

I had the same, Clear install, new API, V1.1.1, works one time, after reboot it won‘t work anymore

Same behavior here. It seems to me it’s not reliable on restart/reboot HA. Sometimes it works, sometimes not. I am on all latest supported versions.

Same here. Integration not loaded (failed to set up):
Logger: homeassistant.config_entries
Source: config_entries.py:444
First occurred: 01:26:21 (1 occurrences)
Last logged: 01:26:21

Error setting up entry for gardena_smart_system
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/anyio/_core/_tasks.py", line 115, in fail_after
    yield cancel_scope
  File "/usr/local/lib/python3.12/site-packages/httpcore/_backends/anyio.py", line 114, in connect_tcp
    stream: anyio.abc.ByteStream = await anyio.connect_tcp(
                                   ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/anyio/_core/_sockets.py", line 222, in connect_tcp
    await event.wait()
  File "/usr/local/lib/python3.12/site-packages/anyio/_backends/_asyncio.py", line 1613, in wait
    await self._event.wait()
  File "/usr/local/lib/python3.12/asyncio/locks.py", line 212, in wait
    await fut
asyncio.exceptions.CancelledError: Cancelled by cancel scope 7f61af5098b0

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py", line 10, in map_exceptions
    yield
  File "/usr/local/lib/python3.12/site-packages/httpcore/_backends/anyio.py", line 113, in connect_tcp
    with anyio.fail_after(timeout):
  File "/usr/local/lib/python3.12/contextlib.py", line 158, in __exit__
    self.gen.throw(value)
  File "/usr/local/lib/python3.12/site-packages/anyio/_core/_tasks.py", line 118, in fail_after
    raise TimeoutError
TimeoutError

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/httpx/_transports/default.py", line 67, in map_httpcore_exceptions
    yield
  File "/usr/local/lib/python3.12/site-packages/httpx/_transports/default.py", line 371, in handle_async_request
    resp = await self._pool.handle_async_request(req)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/httpcore/_async/connection_pool.py", line 268, in handle_async_request
    raise exc
  File "/usr/local/lib/python3.12/site-packages/httpcore/_async/connection_pool.py", line 251, in handle_async_request
    response = await connection.handle_async_request(request)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/httpcore/_async/connection.py", line 99, in handle_async_request
    raise exc
  File "/usr/local/lib/python3.12/site-packages/httpcore/_async/connection.py", line 76, in handle_async_request
    stream = await self._connect(request)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/httpcore/_async/connection.py", line 124, in _connect
    stream = await self._network_backend.connect_tcp(**kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/httpcore/_backends/auto.py", line 30, in connect_tcp
    return await self._backend.connect_tcp(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/httpcore/_backends/anyio.py", line 112, in connect_tcp
    with map_exceptions(exc_map):
  File "/usr/local/lib/python3.12/contextlib.py", line 158, in __exit__
    self.gen.throw(value)
  File "/usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py", line 14, in map_exceptions
    raise to_exc(exc) from exc
httpcore.ConnectTimeout

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 444, in async_setup
    result = await component.async_setup_entry(hass, self)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/gardena_smart_system/__init__.py", line 49, in async_setup_entry
    await gardena_system.start()
  File "/config/custom_components/gardena_smart_system/__init__.py", line 85, in start
    await self.smart_system.authenticate()
  File "/usr/local/lib/python3.12/site-packages/gardena/smart_system.py", line 80, in authenticate
    self.token_manager.load_from_oauth2_token(await self.client.fetch_token(
                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/authlib/integrations/httpx_client/oauth2_client.py", line 125, in _fetch_token
    resp = await self.post(
           ^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/httpx/_client.py", line 1877, in post
    return await self.request(
           ^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/authlib/integrations/httpx_client/oauth2_client.py", line 90, in request
    return await super().request(
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/httpx/_client.py", line 1559, in request
    return await self.send(request, auth=auth, follow_redirects=follow_redirects)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/httpx/_client.py", line 1646, in send
    response = await self._send_handling_auth(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/httpx/_client.py", line 1674, in _send_handling_auth
    response = await self._send_handling_redirects(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/httpx/_client.py", line 1711, in _send_handling_redirects
    response = await self._send_single_request(request)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/httpx/_client.py", line 1748, in _send_single_request
    response = await transport.handle_async_request(request)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/httpx/_transports/default.py", line 370, in handle_async_request
    with map_httpcore_exceptions():
  File "/usr/local/lib/python3.12/contextlib.py", line 158, in __exit__
    self.gen.throw(value)
  File "/usr/local/lib/python3.12/site-packages/httpx/_transports/default.py", line 84, in map_httpcore_exceptions
    raise mapped_exc(message) from exc
httpx.ConnectTimeout

Same issue. For me it broke in this way directly after the update to 2024.2.4

Hi guys. Same here but I found that every time it will not work it is possible to force it to work by disabling integration and then enabling it again. Seams that since last changes in HA there is some issue with vacuums that affects movers too. I am concluding it from fact that my roborock integration does the same and same method helps to get it working.

There is a new beta release 1.1.1-rc2
can you try ? (i am not sure it will help, but I'll try to have a look after your feedback)

1.1.1-rc3 seems to be working after one core restart. Needs further testing! Why not implement the reload service for this integration? It's the only one I've encountered so far that doesn't have a reload service!

Hello,
I am not sure to understand what you are talking about when saying ' reload service'.
Do you have an example ?

https://community.home-assistant.io/t/wth-is-there-no-reload-integration-service/467191

As you can see, the Gardena integration doesn't have a reload option...

I also have this problem after restarting HA, i usally have to disable and enable this integration again.

Even though I cannot contribute much information: I got the same issue that I always need to reload it manually after a restart.

I got the same issue that I always need to reload it manually after a restart

After update to RC3 first start of system was ok and each following restart shows that problem is still present

Same problem here. Sometimes even restarting does not help. Only creating new API credentials worked. So there also seems to be something wrong with API polling and/or API limits.

I got the same issue that I always need to reload it manually after a restart

Exactly the same here...

The same by me, again. Version 1.1.1-rc3 did solve the problem for some time but now the problem came back.
Sometimes its running without problems after restart. Mostly I have to disable/enable the integration manually...

I have the same issue and see it after I had (nightly) internet connection interruption (03:47). It seems, that normally this integration or the remote server reconnects each 2 hours?


only works if opposite: true?

Is this intentional?
FF 25, winidows 7

Many add
this.opposite = this.isXAxis ? true : false;
to the plugin to make sure it handles this by itself?

That doesn't make sense... Both X axis and Y axis are not opposite by default.

Well as the plugin requires that x is opposite and y is not, then this should make sure that both are correct?
Here I have set both axis wrong (xAxis is not opposite but yAxis is), but it still works.
http://jsfiddle.net/jsCJF/131/

The opposite option normally dictates whether an axis should be rendered on the left or right side for vertical axes, or bottom or top tide for horizontal.
When the axis is set up to cross the other axis on a specific value, none of this makes sense. Therefore the opposite flag is set internally to aid in positioning. The option should be ignored, though I see that it affects where the labels are drawn.


FOSS YouTube Client for iOS

Does anyone know an Open-Source YouTube Client for iOS which can be installed via AltStore as an IPA file & are like NewPipe and YouTube Vanced for Android ?

The github issues is not a place for asking help. You'd have better luck asking this in the community forum.


Add subdomains which resolve to cloud metadata addresses

Add 2 subdomains which resolve to various cloud provider metadata IPs.
For general cloud services, one should resolve to: <IP_ADDRESS>
For Alibaba, one should resolve to: <IP_ADDRESS>
Once created, the metadata-*yaml templates can be updated to use them.

@sullo this is now supported with linked PR, confirmed on self-hosted instance, and changes will reflect to interact.sh as soon as we create new release for interactsh and restart the server.
$host aws.hackwithautomation.com
aws.hackwithautomation.com has address <IP_ADDRESS>
aws.hackwithautomation.com mail is handled by 1 mail.hackwithautomation.com.

$host alibaba.hackwithautomation.com
alibaba.hackwithautomation.com has address <IP_ADDRESS>
alibaba.hackwithautomation.com mail is handled by 1 mail.hackwithautomation.com


Receiving uncompiled source (import/export) with Webpack 2 (inject-loader 2.0.0 / 3.x)

I used inject-loader with webpack 1.x and it functioned perfectly. Porting the code to webpack 2 gives some funny errors.
If I change the code to use require("inject-loader!... I get errors like so:
ERROR in ./~/inject-loader/lib!./source/ccc/CCCProxy.js
Module parse failed: /home/user/work/my-project/node_modules/inject-loader/lib/index.js!/home/user/work/my-project/node_modules/babel-loader/lib/index.js!/home/user/work/my-project/source/ccc/CCCProxy.js 'import' and 'export' may only appear at the top level (30:0)
You may need an appropriate loader to handle this file type.
|  * @created 2015-08-25
|  */
| import CustomObject from "core/CustomObject";
| import CCCResponse from "ccc/CCCResponse";
| import CCCManagerLocator from "misc/locators/CCCManagerLocator";
 @ ./test/specs/ccc/CCCProxy.spec.js 27:29-66
 @ ./test \.spec\.js$
 @ ./test/index.js

If I leave it as "inject!..., I get other errors:
ERROR in ./test/specs/ccc/CCCProxy.spec.js
Module not found: Error: Can't resolve 'inject' in '/home/user/work/my-project/test/specs/ccc'
 @ ./test/specs/ccc/CCCProxy.spec.js 27:29-59
 @ ./test \.spec\.js$
 @ ./test/index.js

I'm using Node 6.8 with Webpack 2.1.0-beta.26. I've tried inject-loader 2.0.1 and v3 beta. My code is es6 using import/export being transpiled with babel 6. All code is transpiled correctly to commonjs format which I can confirm by checking the output.

Ahhh what if instead you use inject-loader!... instead of just inject.

@TheLarkInn That's what I did for my first try 😬 - It works (as in webpack recognises the loader), but that's exactly when I get the non-babelified output (with imports etc.). If I look at the output without trying to use inject-loader, all imports/exports are converted to commonjs as expected.

Webpack 2 requires the -loader suffix on the loader so you must be inject-loader.
What do your webpack, karma and babel configs look like? I would also try rolling inject-loader back to 2.0.1 as I've never gotten v3 beta to work and it installs by default.

@perry-mitchell Thanks for the report, sorry that something seems to be not working correctly.
These errors;
ERROR in ./test/specs/ccc/CCCProxy.spec.js
Module not found: Error: Can't resolve 'inject' in '/home/user/work/my-project/test/specs/ccc'
 @ ./test/specs/ccc/CCCProxy.spec.js 27:29-59
 @ ./test \.spec\.js$
 @ ./test/index.js

...are as @rmp135 & @TheLarkInn have identified — inject alone is not enough for inject-loader to be correctly resolved.
As for the actual error — it looks from that error that babel is not compiling es6 imports leading to code like this being output;
// wrapper applied by inject-loader
function injectWrapper() {
  // your code here...
  import foo from 'bar';

  // etc...
}

Which is obviously invalid leading to the error 'import' and 'export' may only appear at the top level. I suspect that you probably need to change some config to ensure that dependencies are CJS by the time the inject-loader wrapper is applied.
Is it possible to provide a failing tests case / example?

I would also try rolling inject-loader back to 2.0.1 as I've never gotten v3 beta to work and it installs by default.

Thanks @rmp135, I'll try that in the next couple of days when I'm back in front of the workspace.

inject alone is not enough for inject-loader to be correctly resolved.

Thanks @plasticine - Yeah I guess that's the case there. I'll only be using inject-loader from now on, but at least it's possible to alias in the webpack config (or so I've seen).

I suspect that you probably need to change some config to ensure that dependencies are CJS by the time the inject-loader wrapper is applied.

This is the tricky part.. I'm not sure how to do that. I haven't found any documentation in webpack that covers how to change the processing order when mixing inline + config loaders. I know how to change the order if only in-line or only config, but not together.

This is my config (cobbled together from various files as it's currently being composed per environment):
const webpack = require("webpack");

module.exports = {

    entry: {
        test: path.resolve(__dirname, "../test/index.js")
    },

    module: {
        rules: [
            {
                test: /\.html$/,
                use: "raw-loader"
            },
            {
                test: /\.js$/,
                use: "babel-loader",
                exclude: /\/node_modules\//
            },
            {
                test: /\.png$/,
                loaders: [
                    {
                        loader: "url-loader",
                        options: {
                            limit: 8192
                        }
                    },
                    {
                        loader: "image-webpack-loader",
                        query: {
                            progressive: true,
                            bypassOnDebug: true,
                            optimizationLevel: 7,
                            interlaced: false
                        }
                    }
                ]
            },
            {
                test: /\.json$/,
                use: "json-loader"
            }
        ]
    },

    node: {
        setImmediate: false
    },

    output: {
        path: path.resolve(__dirname, "../dist"),
        filename,
        pathinfo: true
    },

    plugins: [
        new webpack.DefinePlugin({
            __ENTRY__: JSON.stringify(scriptType),
            __ENV__: JSON.stringify(environment),
            __DEV__: ["testing", "development"].indexOf(environment) >= 0
        }),
        new webpack.ProvidePlugin({
            setImmediate: "misc/vendor/setimmediate",
            Promise: "promise-polyfill"
        })
    ],

    resolve: {
        extensions: [".js", ".json", ".html"],
        modules: [
            path.resolve(__dirname, "../source"),
            path.resolve(__dirname, "../node_modules"),
            path.resolve(__dirname, "../test")
        ]
    }

};

There may be variables not defined but they are in the working environment. Obviously inject-loader is already installed (currently at v3).

I've made 2 examples:

Webpack 2 with inject-loader 2
Webpack 2 with inject-loader 3

Both fail with the same issue.

You need a .babelrc file to actually tell babel how to transform the files.
One to prove it works would be the following.
{
  presets: "es2015"
}

Also, upgrade to<EMAIL_ADDRESS>That patch is important, it  won't work otherwise.

Ah I forgot to include that! But I did run them with it. I'll update the examples later. I'll also update inject loader to that ver, thanks.

@perry-mitchell Awesome 🏆 Thanks very much — I’ll have a look at your examples and see if I can work out what’s going on. I would love to make inject-loader a bit more developer friendly in this area (at least try and catch some of this stuff and surface it as warnings or something if possible).
Unfortunately due to the nature of the tooling and environment that inject-loader works in there will always be many nasty edge cases around config to deal with. :( I’m trying to mess around with making this better for 3.x.
Also as @rmp135 noted, 2.0.1 is important.

I updated both gists:

Inject-loader v2 now uses 2.0.1 and has a .babelrc file
Inject-loader v3 now has a .babelrc file

The results? Puzzling. V3 dies with a different error:

But... v2 now works!

It seems that v2.0.0 and v3.x of inject-loader don't work at all with webpack 2 in this scenario, but 2.0.1 did the trick. The updated v2 gist now works correctly for me.

@perry-mitchell Awesome — glad it’s working (kinda).
Yep, 2.0.0 was actually completely broken, so I’m glad the version bump got things moving again. :)
3.x is still a bit of a work in progress, so I’m not surprised that it’s not working yet. I’m actively working on it though, and it will support Webpack3 once done (hopefully I’ll have time soon).

Thanks for the help @plasticine and others - this is a fantastic tool for testing! I'll be watching the 3.x release closely.

@perry-mitchell I would actually love to use your examples in the repo — would you be open to contributing them? Hopefully it would help others get up to speed. :)

Please go ahead!
I'll be writing a post on this shortly as well, which I'll link here when I'm done 🙂

I'm also happy to make a PR if that's what you meant..

@perry-mitchell Awesome—thanks! Nah, it’s OK, I’ll package it up. Will make sure I credit you though :+1:

Also worth noting to avoid a .babelrc like this one, which I had at work:
{
    "presets": [
        ["es2015", { "modules": false }]
    ]
}

Disabling the module format change will almost always cause this error to appear.

That's because it isn't converting the modules.
What I settled on was running the tests under a different environment.
{
    "env": {
        "test": {
            "presets": [
                ["es2015"]
            ]
        }
    },
    "presets": [
        ["es2015", { "modules": false }]
    ]
}

Then setting process.env.NODE_ENV = "test"; inside the karma.conf.js file. You could  also set the NODE_ENV environment variable on the command line if you wished.

@perry-mitchell @rmp135 Hey peeps, have merged #25 which includes a bunch of fixes — namely webpack2 support (> 2.2) and usage examples for both webpack 1 & 2 with babel. Going to release that as 3.0.0-beta3 shortly/now.

Great! I'll give it a go tomorrow or next week in our primary script.


Use custom tachyon to make spark distribution

@bghit Press the merge button and the commits in this Pull Request (PR) will be merged into your 1.5.0-experiment branch.


Structure refactor

Files and structure have been changed to bring a higher level of decoupling and structure functions in a way that reflects their functionality. Older files have been deleted.
Includes the following changes:

Image upload functions added to a images.js utility, rather than being distributed in other utility files
Enums also contain a function used to interconnect CWV threshold combinations*
Created a new version of the generate script to test this new logic
Updated licenses to reflect current year

The following is missing:

A new, detailed ReadMe
Template files to illustrate how to create new audits
Not all files currently have a fileoverview description
Unit test for functions that require Apps Script service mocks
Missing a fix to support multiple slides appended after the main loop has finished

Some of these items have been prioritised to avoid increasing the size of this PR even further, or due to complexity/time/effort requirements.
*Adding it to the Performance audit file would encapsulate it given the current audit generation logic. There are some potential strategies to follow with its design, but this seemed like an adequate temporary approach.

Thanks Adam, will add issues to fix those points!


only Xcode 13 required to be able to build the application.

Describe the bug
flutter newer versions requires a newer xcode versions , also publishing the app the App Store requires xcode version to be 14 at least.
so, how can I integrate the package with my project .
i'm using xcode 13.4 and it's too hard for me to downgrade it

Hello!
Thank you for your input.
The note in the documentation that Xcode 13 is required is bit misleading. You can use Xcode 13 or newer, so Xcode 13.4 will work just fine. I personally use Xcode 14.3.1 without any issue. We'll clarify the note about Xcode version in upcoming release.

@yardexx
I got this issue with my Xcode 13.4.1 and 13.0 when I tried to build the ios project
Failed to build module 'TalsecRuntime'; this SDK is not supported by the compiler (the SDK is built with 'Apple Swift version 5.8 (swiftlang-<IP_ADDRESS>.2 clang-14<IP_ADDRESS>.100)', while this compiler is 'Apple Swift version 5.6.1 (swiftlang-<IP_ADDRESS>3.66 clang-13<IP_ADDRESS>)'). Please select a toolchain which matches the SDK.

That seems odd. We'll look into it.

Hello,
we will update the documentation for the minimum version of Xcode being 14.3 currently. The SDK is being built with newer versions of Xcode gradually.
Is there any specific reason for not upgrading the Xcode? App Store submission gradually requires developers to update Xcode as well.
Kind regards,
Talsec team


[BUG] System.Net.Http.HttpRequestException: Response status code does not indicate success: 403 (Forbidden).

Acknowledgement of preliminary instructions

[X] I have read the preliminary instructions, and I am certain that my problem has not already been addressed.
[ ] My answer given in the checkbox above is a lie.

What problem did you encounter?
Bloxstrap_20240812T105543Z.log

Please update your Bloxstrap to the lastest version. (2.7.0)

does this mean i wont be able to use 2.5.4 anymore for multi-instance cuz im getting the same error 😡

does this mean i wont be able to use 2.5.4 anymore for multi-instance cuz im getting the same error 😡

Use the latest version. Older versions of Bloxstrap are not supported and may break.


Multiple Building Not in Center

Describe the bug 📝
I am a long time user of IFC Loader, currently my database is still using IFC file so my step is to load the ifc file and directly change it to fragments
I am trying to load multiple buildings, but each building is not centered of threejs scene. It seems that the position of each building follows the position of the first loaded building.
Additionally, I don't fully understand how the classifier works. When I load multiple buildings and implement the spatial structure, not all floors appear.
Here is my code:
async loadSimpleIfc(
    name: string,
    filePath: string,
    position: { x: number; y: number; z: number },
    rotation: {
      heading: number;
      pitch: number;
      roll: number;
    },
    scale: number,
    rotationTuneParams: {
      heading: number;
      pitch: number;
      roll: number;
    } | null,
  ) {
    const file = await fetch(filePath);
    const data = await file.arrayBuffer();
    const buffer = new Uint8Array(data);
    const ifcModel = await this.fragmentIfcLoader.load(buffer, true);

    const boundingbox = new THREE.Box3().setFromObject(ifcModel);
    const centerVector = boundingbox.getCenter(new THREE.Vector3());
    const helper = new THREE.BoxHelper(ifcModel);
    this.world.scene.three.add(helper);

    const indexer = this.components.get(OBC.IfcRelationsIndexer);

    await indexer.process(ifcModel);
    const ifcProperties = ifcModel.getLocalProperties();

    const dataExport = this.fragments.export(ifcModel);

    const model = this.fragments.load(dataExport, { coordinate: true });

    const setTransparency = (object, opacity) => {
      object.traverse((child) => {
        if (child instanceof THREE.Mesh) {
          if (Array.isArray(child.material)) {
            child.material.forEach((m) => {
              m.transparent = true;
              m.opacity = opacity;
            });
          } else {
            child.material.transparent = true;
            child.material.opacity = opacity;
          }
        }
      });
    };

    setTransparency(model, 0.5);

    const posX = position.x - this.originOffset.x - centerVector.x;
    const posY = position.y - this.originOffset.y;
    const posZ = position.z - this.originOffset.z - centerVector.z;

    model.position.set(posX, posY, posZ);

    this.world.scene.three.add(model);

    if (import.meta.env.MODE === 'development') {
      const geometry = globalTracker.track(
        new THREE.SphereGeometry(0.2, 32, 16),
      );
      const material = globalTracker.track(
        new THREE.MeshBasicMaterial({ color: 0x00ff00 }),
      );
      const sphere = globalTracker.track(new THREE.Mesh(geometry, material));
      sphere.position.set(
        position.x - this.originOffset.x,
        position.y - this.originOffset.y,
        position.z - this.originOffset.z,
      );

      this.world.scene.three.add(sphere);
    }

    await indexer.process(ifcModel);
    const json = indexer.serializeModelRelations(ifcModel);

    const relations = indexer.getRelationsMapFromJSON(json ?? '');
    indexer.setRelationMap(ifcModel, relations);

    const classifier = this.components.get(OBC.Classifier);
    classifier.byEntity(ifcModel);
    await classifier.bySpatialStructure(ifcModel);

    this.ifcModelData.push({
      name,
      ifcModel: model,
      ifcProperties,
      position: {
        x: position.x - this.originOffset.x - centerVector.x,
        y: position.y - this.originOffset.y,
        z: position.z - this.originOffset.z - centerVector.z,
      },
      rotation,
      scale,
      classifier: classifier,
    });

    return this.ifcModelData;
  }```

### Reproduction ▶

_No response_

### Steps to reproduce 🔢

_No response_

### System Info 💻

```shell
{
  "name": "dasiot-app-dsm-console",
  "version": "0.48.2-a.8",
  "private": true,
  "scripts": {
    "start": "LOCIZE_ENV=development vite",
    "build": "tsc && node --max_old_space_size=4096 ./node_modules/vite/bin/vite.js build",
    "test": "jest",
    "test:build": "jest src/test --ci --watchAll=false",
    "playwright-test": "npx playwright test",
    "format": "prettier --write \"src/**/*.ts\" \"src/**/*.tsx\"",
    "lint": "eslint \"src/**/*.ts\" \"src/**/*.tsx\" --fix",
    "prepare": "husky install",
    "analyze": "source-map-explorer 'build/assets/*.js'",
    "locize:download": "node tools/locizeDownload.mjs"
  },
  "eslintConfig": {
    "extends": [
      "react-app",
      "react-app/jest"
    ],
    "overrides": [
      {
        "files": [
          "**/*.ts?(x)"
        ],
        "rules": {
          "react/prop-types": "off"
        }
      }
    ]
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  },
  "dependencies": {
    "@beeinventor/dasiot-react-component-lib": "^1.8.4",
    "@beeinventor/mapbox-gl-draw-scale-rotate-mode": "^0.1.2",
    "@date-io/date-fns": "^2.17.0",
    "@emotion/react": "^11.11.1",
    "@emotion/styled": "^11.11.0",
    "@livekit/react-components": "1.1.0",
    "@mapbox/mapbox-gl-draw": "^1.4.3",
    "@mapbox/mapbox-gl-language": "^1.0.1",
    "@mui/icons-material": "^5.14.18",
    "@mui/material": "^5.14.18",
    "@mui/x-date-pickers": "^5.0.20",
    "@reduxjs/toolkit": "^1.9.7",
    "@tanstack/react-query": "^4.36.1",
    "@tanstack/react-query-devtools": "^4.36.1",
    "@testing-library/jest-dom": "^5.17.0",
    "@testing-library/react": "^13.4.0",
    "@testing-library/user-event": "^14.5.1",
    "@thatopen/components": "~2.1.0",
    "@thatopen/components-front": "~2.1.0",
    "@thatopen/fragments": "^2.1.0",
    "@thatopen/ui": "~2.1.0",
    "@turf/turf": "^6.5.0",
    "@types/qrcode": "^1.5.5",
    "axios": "^0.27.2",
    "cesium": "1.93.0",
    "classnames": "^2.3.2",
    "d3": "^7.8.5",
    "date-fns": "^2.30.0",
    "date-fns-tz": "^2.0.0",
    "dotenv": "^16.3.1",
    "geojson": "^0.5.0",
    "history": "^5.3.0",
    "hls.js": "^1.4.12",
    "html5-qrcode": "^2.3.8",
    "http-proxy-middleware": "^2.0.6",
    "i18next": "^21.10.0",
    "i18next-chained-backend": "^3.1.0",
    "i18next-http-backend": "^1.4.5",
    "i18next-locize-backend": "^5.1.5",
    "i18next-resources-to-backend": "^1.2.0",
    "jest-transform-stub": "^2.0.0",
    "json-sort-cli": "^2.1.11",
    "livekit-client": "1.1.1",
    "locize": "^2.4.6",
    "locize-cli": "^7.14.12",
    "mapbox-gl": "^2.15.0",
    "mobile-drag-drop": "3.0.0-rc.0",
    "notistack": "^2.0.8",
    "peerjs": "^1.5.1",
    "qrcode": "^1.5.3",
    "react": "^18.2.0",
    "react-dom": "^18.2.0",
    "react-i18next": "^11.18.6",
    "react-map-gl": "^7.1.6",
    "react-redux": "^8.1.3",
    "react-router-dom": "^6.24.1",
    "react-virtualized-auto-sizer": "^1.0.20",
    "react-window": "^1.8.9",
    "react-window-infinite-loader": "^1.0.9",
    "socket.io-client": "^4.7.2",
    "source-map-explorer": "^2.5.3",
    "stats.js": "^0.17.0",
    "three": "^0.160.1",
    "three-mesh-bvh": "^0.5.24",
    "typescript": "^4.9.5",
    "web-ifc": "0.0.56",
    "web-ifc-three": "^0.0.118",
    "web-vitals": "^2.1.4",
    "workbox-core": "^6.6.0",
    "workbox-expiration": "^6.6.0",
    "workbox-precaching": "^6.6.0",
    "workbox-routing": "^6.6.0",
    "workbox-strategies": "^6.6.0",
    "xlsx": "^0.18.5"
  },
  "devDependencies": {
    "@playwright/test": "^1.44.0",
    "@types/d3": "^7.4.3",
    "@types/geojson": "^7946.0.13",
    "@types/jest": "^29.5.8",
    "@types/mapbox-gl": "^2.7.18",
    "@types/mapbox__mapbox-gl-draw": "^1.4.6",
    "@types/node": "^17.0.45",
    "@types/react": "^18.2.37",
    "@types/react-dom": "^18.2.15",
    "@types/react-redux": "^7.1.30",
    "@types/react-router": "^5.1.20",
    "@types/react-router-dom": "^5.3.3",
    "@types/react-virtualized-auto-sizer": "^1.0.3",
    "@types/react-window": "^1.8.8",
    "@types/react-window-infinite-loader": "^1.0.9",
    "@types/three": "0.160.0",
    "@typescript-eslint/eslint-plugin": "^5.62.0",
    "@typescript-eslint/parser": "^5.62.0",
    "@vitejs/plugin-basic-ssl": "^1.0.1",
    "@vitejs/plugin-react": "^2.2.0",
    "eslint": "^8.53.0",
    "eslint-config-airbnb": "^19.0.4",
    "eslint-config-airbnb-typescript": "^17.1.0",
    "eslint-config-prettier": "^8.10.0",
    "eslint-plugin-import": "^2.29.0",
    "eslint-plugin-jsx-a11y": "^6.8.0",
    "eslint-plugin-prettier": "^4.2.1",
    "eslint-plugin-react": "^7.33.2",
    "eslint-plugin-react-hooks": "^4.6.0",
    "eslint-plugin-simple-import-sort": "^10.0.0",
    "husky": "^8.0.3",
    "jest": "^29.7.0",
    "lint-staged": "^13.3.0",
    "prettier": "^2.8.8",
    "ts-jest": "^29.1.1",
    "vite": "^5.0.12",
    "vite-plugin-pwa": "^0.17.5",
    "vite-plugin-svgr": "^4.2.0"
  },
  "lint-staged": {
    "src/**/*.{js,ts,tsx}": [
      "eslint --fix",
      "prettier --write"
    ],
    "src/**/*.json": "npx jsonsort"
  },
  "resolutions": {
    "react-error-overlay": "^6.0.10"
  }
}

Used Package Manager 📦
pnpm
Error Trace/Logs 📃
No response
Validations ✅

[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a repository issue and not a framework-specific issue. For example, if it's a THREE.js related bug, it should likely be reported to mrdoob/threejs instead.
[X] Check that this is a concrete bug. For Q&A join our Community.
[X] The provided reproduction is a minimal reproducible example of the bug.

@agviegas I have another problem, when I set the coordinate to false, the position of loaded multiple buildings will reset to 0 or the center of the three.js scene. However, the position of the y-axis is not. Not all buildings are on the same ground axis. shown in the figure bellow.
I have tried to use classifier and spatial structure however is not fit well with multiple building. some how other ifcBuildingStoreys is not show.

https://codesandbox.io/p/sandbox/ifc-loader-minimum-fnwf79?file=%2Fsrc%2FIFCViewer.js
Structure actually need to show this storeys

@suryakumara I'm not sure I'm following, but I'll do my best:

Model position: when you set coordinate to false the IFC is displayed exactly in the position where it was exported, which might not be with its ground level in the plane Y=0. That said, if it's not behaving the way you expect, you can send me the models privately to<EMAIL_ADDRESS>and I'll take a look.

Model tree: you mean that you are missing some storeys, right? You can send me the models privately to<EMAIL_ADDRESS>and I'll take a look.

Anyways, for traceability's sake, it's better to keep 1 problem per issue. So feel free to open a new issue ticket and send me the models, and I'll take a look.


types broken for typescript esm support

Initial checklist

[X] I read the support docs
[X] I read the contributing guide
[X] I agree to follow the code of conduct
[X] I searched issues and couldn’t find anything (or linked relevant results below)

Affected packages and versions
5.3.2
Link to runnable example
No response
Steps to reproduce
The module identifies itself as type=module, yet the corresponding index.d.ts at<EMAIL_ADDRESS>on lines 193, 194, 218 and 226 uses non esm compliant imports.
This causes the TypeScript compiler to fail when using new node12 and nodenext moduleResolution modes.
Expected behavior
should work
Actual behavior
does not work
Runtime
No response
Package manager
No response
OS
No response
Build and bundle tools
No response

What isn’t ESM about those imports?
Stuff works in all our ESM projects. Feel free to propose a solution that works for everyone

@wooorm import '..' maps to a directory. There are NO directory imports in esm. Esm ALWAYS requires a file specification with extension. The only exception is through either import maps or node modules, where in both cases additional mappings are needed to tell javascript what explicit file to import.

It works fine in TS in ESM, as the build here shows. If it doesn’t for you, perhaps you should report to TypeScript that they should generate .d.ts files that work with nodenext moduleResolution?

@wooorm Have you tried with the new nodenext resolution mode for TypeScript?
Also compare here: https://nodejs.org/api/esm.html
--> Mandatory file extensions

The problem is: You are using a non esm moduleResolution mode for TypeScript -> 'node', while it should be -> 'nodenext' for esm.

To reiterate, feel free to propose a solution that works for everyone.


WIP: external volumes should use Volume.Source.DockerVolume protos

new protobufs have landed in mesos as per https://issues.apache.org/jira/browse/MESOS-5012
WARNING: to build this PR you need to have the .jar files from a mesos:tip build installed to lib
TODO:

[x] refactor unit tests
[ ] integration test with mesos:tip

depends on EPIC: https://issues.apache.org/jira/browse/MESOS-4355

/cc @sttts

lgtm when the tests are green.

tests won't be green until we're on a version of mesos with the protobuf
changes: either backported to 0.28.x (likely) or 0.29
On Mon, May 2, 2016 at 9:31 AM, Dr. Stefan Schimanski <
<EMAIL_ADDRESS>wrote:

lgtm when the tests are green.
—
You are receiving this because you were assigned.
Reply to this email directly or view it on GitHub
https://github.com/mesosphere/marathon/pull/3832#issuecomment-216234985


Install error

Hello.
Thank you for your efforts in advancing the field of voice separation.
I have a question in install process.
After downloading conda,
I command "conda env create -f look2hear.yml",
and then I get a this issue,

Can you help me?
Thanks!

For this error, you can change the look2hear.yml with ctcdecode==1.0.2

thank you for your help, but I get another error

in error, "No module named 'torch'" but I already install torch in my root
I proceeded as follows:

git clone
change ctcdecode==1.0.3 -> 1.0.3 in look2hear.yml
command $conda env create -f look2hear.yml in root

Can you tell me which part seems to be wrong?
I really want to train spmamba
thank you !

You can remove this library without installing it first.

I remove ctcdecode in look2head.yml list, and than it's done !
thank you.
and then I try to install ctcdecode using pip, but it fail.
I try to launch audio_train.py, but I get this error.

do you have any idea?
Thanks!

https://github.com/JusperLee/SPMamba/blob/main/look2hear/layers/stft_tfgn.py

Thank you I solved !
and I have a question,
what kind of dataset did you use for train?
Did you train model using Libri2Mix?
because I want to train using Libri2Mix dataset, but I don't understand where to change the code.

Please,, Can you help me..?

I want to know data folder format, and json file format

librimix.zip
The preprocessing and datamodule of Librimix can be found in the link. I'm currently revising the thesis, so I don't have time to modify the code of this code repository.

okay thank you so much ! ! !

Hello.
I succeeded in processing the data. Thank you for you help.
However, the following error occurred.

Help me please..

Excuse me.
I get one more error

so, I checked 'serialize' in audio_model : SPMamaba.py
but, I couldn't find it
please help me,,

Is this code have a inference code?
I cannot find it

https://github.com/JusperLee/TDANet/blob/main/audio_test.py

Thank you so much,
but This code is TDANet inference code.
Is there any code suitable for SPMamba..?
Sorry for making so many requests.

Yes. It is suitable for SPManba

Thank you for your help! ! !

I have one question.
What is the command you enter when running audio_test.py?
What is the "main_args" in the script?

Thank you!

I have one question.
Where is 'normalize_tensor_wav' function?

Thank you!

Hello, I have one more question,
If model training stops in the middle, how can I train it again?


The ability to get the current directory in the fileinfo object

Should be a simple tweak, i'll put in a PR later:
public function __construct($filePathname, $newName = null)
{
    $desiredName = is_null($newName) ? $filePathname : $newName;
    $this->name = pathinfo($desiredName, PATHINFO_FILENAME);
    $this->directory = pathinfo($desiredName, PATHINFO_DIRNAME);
    $this->extension = strtolower(pathinfo($desiredName, PATHINFO_EXTENSION));
    parent::__construct($filePathname);
}

/**
 * Get directory path of the current file
 *
 * @return string
 */
public function getDirectory()
{
    return $this->directory;
}

Edit just realized FileInfo doesn't even exist anymore.


Queue playing second item in the queue when it finishes

Bug
Queue playing the second item in the queue when it finishes.
And interfering with the playlist too.
To Reproduce
Steps to reproduce the behavior:

Go to https://odysee.com/
Add a few videos to the queue(for example, 3 videos)
When all the items in the queue finish (the 3rd one in the example), the second item in the queue start playing.
without closing tab go to playlist(pre-requirement- some playlists created :) )
play a playlist
after finishing the first item in the playlist, the second item in the Queue(note this item is not in the playlist) starts playing.
The playlist is changed to the queue

Expected behavior
if it is the end of the queue don't do anything. if it is a playlist continue with the playlist.
System Configuration

Operating system: Windows 10.
Brave Version 1.52.126 Chromium: 114.0.5735.133

@keikari can you repro?

Yup, same happening here.

is this still open ?

Still happening here, checked on Odysee.com and locally running from master.

@revanthmadasu still reproducible on the site.

Also, when i delete the item from the queue. It re-add itself at the bottom of the queue after a few videos.

Also: "I think it is broader in scope than just what is reported there, i.e. even if the second video is removed from the queue, that video will appear at the end of the queue list and play after the end of every single other video in the list."


attempt to index global 'BSONNull' (a nil value)

FATAL: `thread_run' function failed: oltp-mongo.lua:247: attempt to index global 'BSONNull' (a nil value)

This happens during the run step, I get through the preparation step just fine.  I have a docker  repo to test this out:
https://github.com/joshuacox/gymongonasium
make in that directory and it ought to build sysbench and mongorover from source and test it against the mongo container

update:
docker run -d --name mymongodb mongo:3.4 && docker run -it -e GYMONGO_PYTHON=0 -e GYMONGO_SYSBENCH=1 --link mymongodb:mongodb joshuacox/gymongonasium

or to build from scratch using the makefile make sysbench

Hi,
Have you found any solution (except not running the sum_ranges that produces the error).
Thanks

I had the same problem.
My solution: At the beginning of oltp-mongo.lua, add the following statement:
local BSONNull = require("mongorover.luaBSONObjects.BSONNull")


no need review just for trigger ci

What problem does this PR solve?

Issue Number: close #xxx
What is changed and how it works?
Check List
Tests

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

Code changes

Has exported function/method change
Has exported variable/fields change
Has interface methods change
Has persistent data change

Side effects

Possible performance regression
Increased code complexity
Breaking backward compatibility

Related changes

Need to cherry-pick to the release branch
Need to update the documentation
Need to update key monitor metrics in both TiCDC document and official document

Release note
Please add a release note.
If you don't think this PR needs a release note then fill it with `None`.

/run-dm-integration-tests

/run-dm-integration-tests

/run-dm-integration-tests

/run-dm-integration-tests

Codecov Report

Merging #4957 (0f97111) into master (687e248) will decrease coverage by 0.4053%.
The diff coverage is 60.7468%.

Flag
Coverage Δ

cdc
60.8729% <52.9850%> (+0.2743%)
:arrow_up:

dm
51.6243% <64.6326%> (-0.8453%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.
@@               Coverage Diff                @@
##             master      #4957        +/-   ##
================================================
- Coverage   56.1240%   55.7186%   -0.4054%
================================================
  Files           522        523         +1
  Lines         65325      66502      +1177
================================================
+ Hits          36663      37054       +391
- Misses        25094      25792       +698
- Partials       3568       3656        +88

ci passed merge into feaature branh now
https://ci2.pingcap.net/blue/organizations/jenkins/dm_ghpr_integration_test/detail/dm_ghpr_integration_test/4543/
https://ci.pingcap.net/blue/organizations/jenkins/tiflow-verify-go1.18-pipeline/detail/tiflow-verify-go1.18-pipeline/315/pipeline


Task 7,8,9

SourceCode/2023/Oct2023/Basics/Sruthilaya/Task7/project.json
Main.xaml:

I've noticed you're not using Log Message in your workflow. Understand it's easy to forget, but remember it’s important for understanding the flow path. This helps greatly when we need to maintain or troubleshoot. So, do ensure you're using it.

NoFile:

I can't find your Automation Hub URL. You gotta define this as per our organization's requirement. No sweat, just head to the "Project Settings" and you can slot it in there.

Score:
Total: 5 points

Code completion: 1/2 (One file is missing)
Execution: 2/2
Annotations and comments: 1/1

SourceCode/2023/Oct2023/Basics/Sruthilaya/Task8/project.json
Main.xaml

Code Completion: 2 - The work file is complete but requires some improvements.
Execution: 1.5 - The execution could be affected by the lack of logging information for error identification.
Annotations and comments: 1 - Not many comments were found and meaningful variable name is missing for better understanding.

Feedback:

Remember to make use of Log Message activities. These become critical when the code moves beyond development stage for easy debugging and understanding the flow. Incorporate them at essential points in your workflow.
Avoid having activities with default names. Always aim for intuitive and descriptive names to indicate their specific roles in the workflow. This makes code maintenance and debugging easier.

NoFile

Code Completion: 2 - The work file is complete but requires some additional information based on organization policy.
Execution: 2 - The execution doesn't seem to be hampered due to the missing information but it might not conform to the organizational standards.
Annotations and comments: 2 - As there is no file for review, comments or annotations score doesn't apply here.

Feedback:

Your organization requires you to define an `Automation Hub URL

SourceCode/2023/Oct2023/Basics/Sruthilaya/Task9/project.json
Based on my review, I have the following feedback for your code:
For "Main.xaml":

Log Message not used in workflow Main: Using Log Message activities can greatly help in understanding the flow path, particularly for maintenance and error tracking. It's a good practice to use them both during development and post-release.

For "NoFile":

Your organization requires your project to have an Automation Hub URL defined: You can easily fix this by going to the 'Project Settings' and adding the required information.

Score:
Code Completion: 1 (Some functionalities are missing)
Execution: 2 (No execution issues found)
Annotations and Comments: 1 (Log message activity is missing which is a key aspect of annotations)
Please take into account these constructive comments for enhancing the quality and readability of your code.

@sharidas2210
Task -7
Code verified.
Task -8
Code verified. Default activity names

Task -9
Code verified.


ValidationException translatable message

The default message should come from the localization strings.
I also send a pull request on laravel/laravel repo with the original string in the lang/validation.php file (Link: https://github.com/laravel/laravel/pull/4487)

We can't use a foundation helper from a component.

The tests are failing because "Class translator does not exist", how is the best option to implement this translation instead? should I check if the translator functions is available before translate? or there is a more idiomatic way of laravel handle this?


Authentication & login fixes

Some fixes & cleanup in the area of authentication and users. This should hopefully solve infinite redirects when the user fails the password.
Includes two security fixes:

information leak of registered users
missing CSRF protection around background uploads

Pull Request Test Coverage Report for Build 387

69 of 82 (84.15%)  changed or added relevant lines in 18 files are covered.
3 unchanged lines in 3 files lost coverage.
Overall coverage increased (+0.004%) to 53.605%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

util/passport.js
0
1
0.0%

routes/friendhub.js
7
9
77.78%

util/user.js
4
6
66.67%

frontend.js
0
4
0.0%

routes/user.js
4
8
50.0%

Files with Coverage Reduction
New Missed Lines
%

frontend.js
1
77.54%

routes/user.js
1
43.72%

routes/devices_compat.js
1
36.84%

Totals

Change from base Build 384:
0.004%

Covered Lines:
4391

Relevant Lines:
7600

💛  - Coveralls


Add optional name kwarg to server.crontab

Which will enable changing the command.

https://github.com/Fizzadar/pyinfra/commit/bb115e388cc1ca6b9a0d2d5510f31215d70a6040


Cannot redefine property throwPos when fighting Arryn vs. ranger with razor disc

Here's one example. Doesn't matter what code the player uses, Arryn errors out immediately: Cannot redefine property: throwPos. I don't know why this is happening, but it seems possible that it is something to do with the opponent having the razor disc and Arryn having that as part of her hero. Need to debug further and maybe come up with a simpler test case.

Another example
Goliath vs trapper with sparkbomb.
Any line of code it will be seen as an illegal attempt to modify the missile's target object.

Can you make the dueling-grounds level available in the public db dump? Then we may be able to debug this issue.

Cavern Survival is in that dump; the same error can be triggered there.


libfmt >=8.0.0 compatibility

Attempting to fix compatibility with libfmt-8.0.0 mentioned in #1143 and https://bugs.gentoo.org/797649. I don't really have any idea what I'm doing in C++, so criticism welcome (and probably necessary).
The issue with parse_nonnegative_int comes from the libfmt change here, where the third argument becomes an integer. Previously on error the function returned -1, now it returns the third argument, which I've changed to -1 here. I'm unsure about side effects of the ctx object no longer being passed into parse_nonnegative_int. This function was also moved from fmt/format.h to fmt/core.h and namespaces seem to have changed along the way, so specifying fmt::detail:: makes it compile (for me) but not sure if there's a better way.
tm_format was also apparently moved out of libfmt's public API. Declare it similarly here. This seems to work at runtime for me.

Thank you for reviewing! Seems like CI needs to be approved for first time contributors to prevent abuse. Hopefully this helps certain rolling release downstreams in any case

Thanks for the patch!


Unused variable warning

warning: variable "left" is unused (if the variable is not meant to be used, prefix it with an underscore)
  lib/smart_city/helpers.ex:44

fixed in https://github.com/smartcitiesdata/smart_city/pull/12


Cache git templates locally

the fetch that copier does for this case is too slow.

Originally posted by @bburgin in https://github.com/copier-org/copier/discussions/449#discussioncomment-1371169
And it's true. Copier should cache downloaded templates, so next fetches are faster.

Or there might be possible optimizations, like partial clones, or single branch clones:
# clone only the remote primary HEAD (default: origin/master)
git clone <url> --single-branch

# as in:
git clone <url> --branch <branch> --single-branch [<folder>]

If we go with caching: I guess we'll just need to fetch/pull each time we generate/update a project again, and if it fails clone the template repo again, do I understand correctly?

For me copier takes 5.5 seconds when updating from a template stored in a remote git repo vs. 0.7 seconds when the template is checked out locally. I still think caching the template repo makes a lot of sense. The cache could be created in ~/.cache/copier. Can you reopen because this issue was not solved in accordance with the original description. The cache could also be used for quick local development/template fixes before pushing them.

Maybe we can just use https://pypi.org/project/git-autoshare/ behind the scenes automatically.

Two arguments against using git-autoshare:

It is licensed under GPLv3, which would poison our MIT license.
It doesn't seem actively maintained.

Fair points. Then we can just cache a local git mirror and use temporary worktrees to speed things up.


Support encrypted PEM private keys in gRPC c core

In current gRPC c core implementation of SSL transport security, we can only pass unencrypted SSL key. SSL keys are often passphrase encrypted.
We'd like to expose an option in gRPC for supporting encrypted SSL private key.

This can be done adding something like this to the SSL context:
int
passphrase_cb (char *buf, int size, int rwflag, void *u)
{
    strncpy ( buf, (char*) u, size );
    buf [size - 1] = '\0';

    return strlen ( buf );
}

// ...

// at SSL context creation
std::string passphrase = user_callback ();
SSL_CTX_set_default_passwd_cb ( grpc_context, passphrase_cb );
SSL_CTX_set_default_passwd_cb_userdata ( grpc_context, (void*) passphrase.c_str () );

In some cases, the passphrase comes from a derived salt. For that reason, you must give an opportunity to the GRPC user to set the passphrase via callback.
Regards,
J. A.

Supporting PEM passphrase in grpc core is something worth doing. But it is not high priority for us and we do not have resource. We could either have interns to implement, or feel free to implement yourself and contribute.

Okay. Thanks for the info.


Azcopy list command doesn't return any properties on Azure Files

Which version of the AzCopy was used?
azcopy version 10.19.0
Which platform are you using? (ex: Windows, Mac, Linux)
Tested in Windows X64 and MacOS ARM64 - Both had the same behaviour
What command did you run?
azcopy list https://.file.core.windows.net/? --properties LastModifiedTime
What problem was encountered?
The outputs didn't have any properties included. In the above example command LastModifiedTime was returned as "0001-01-01 00:00:00 +0000 UTC" for all files. See the screenshots below.
Windows x64

ARM64

How can we reproduce the problem in the simplest way?
Create a storage account with Azure Files. Upload some files in to a Azure Files container. Run the above command with a SAS Token
Have you found a mitigation/solution?
No.

Fixed in 10.20.1


Example1 always shows 1 or 0, even when output is {3,4,5,6}

In example1.c I changed output to:
const double output[4] = {3, 4, 5, 6};
Compiled and re-run example1 and I still see only 1 and 0 as a result.

Sigmoid activation, used by default, can return only values from 0 to 1.
You could try something like
const double output[4] = {0.3, 0.4, 0.5, 0.6};

to bring the training data in range, or you could change the output activation to genann_act_linear which will allow it to hit those higher values.


Updating liquid clustering on incremental runs breaks concurrency for incremental tables

Describe the bug
Since the additions of

updating the liquid clustering https://github.com/databricks/dbt-databricks/pull/765 and
updating column descriptions https://github.com/databricks/dbt-databricks/commit/198b56900a18c957388984b20687d5a32d01c530

We no break concurrency because of alter table statements running at the same time as another process is writing to the same table
Steps To Reproduce
Run several dbt processes at the same time for example when using different source systems
dbt run -s common_table --vars '{"source_systems": ["SOURCE_1"]}'
dbt run -s common_table --vars '{"source_systems": ["SOURCE_2"]}'
dbt run -s common_table --vars '{"source_systems": ["SOURCE_3]}'
Expected behavior
By default do not run liquid clustering updates or column updates when incremental is run. This behavior should be controlled perhaps with a config parameter and if it is empty (default) then do not update column descriptions or liquid clustering columns.
As a quick and dirty fix we added if not is_incremental() checks to incremental materialization here https://github.com/databricks/dbt-databricks/blob/52e9c7a379ccd3a0496c9e60e1493706596b1bf1/dbt/include/databricks/macros/materializations/incremental/incremental.sql#L113
    {% if tblproperties is not none and not is_incremental() %} {# override: add incremental check, to not break concurrency #}
        {% do apply_tblproperties(target_relation, tblproperties.tblproperties) %}
      {%- endif -%}
    {%- endif -%}
    {% if not is_incremental() %} {# override: add incremental check, to not break concurrency #}
        {% do persist_docs(target_relation, model, for_relation=True) %}
    {%- endif -%}

Screenshots and log output

System information
The output of dbt --version:
Core:
  - installed: 1.8.6
  - latest:    1.8.7 - Update available!

  Your version of dbt-core is out of date!
  You can find instructions for upgrading here:
  https://docs.getdbt.com/docs/installation

Plugins:
  - databricks: 1.8.6 - Update available!
  - spark:      1.8.0 - Up to date!

  At least one plugin is out of date or incompatible with dbt-core.
  You can find instructions for upgrading here:
  https://docs.getdbt.com/docs/installation

Additional context
Add any other context about the problem here.

When running multiple instances of dbt targetting the same table. There has been quite a lot of work by databricks to support concurrent writes. It would be a shame if this is not supported by default, or there is no way to remove these concurrency breaking processes. I have discovered that the following break concurrency:

Optimize. If DATABRICKS_SKIP_OPTIMIZE is not set to true. See issue
updating liquid clustering (see above). Also this issue  is related
updating docs generation (see above). Seems like documents are also updating (table comment) every run even though there are no changes.

If we would allow similar variables for docs generation and liquid clustering, we would be able to support optimized scheduled runs with multiple instances of dbt targetting the same table. See this issue


request.on('done') not firing in 1.12 versions

This event doesn't seem to fire any longer in the latest 1.12 versions

A quick check over the test suite tells me that there is not a single test case for this functionality. :disappointed: There's test cases for doneInProc though, and these two share the same implementation. Do you have a reproducible, minimal test case for me?

I just checked this again, and the done event is fired in the same cases in 1.11 and 1.12.

I'm having the same issue on 1.13.2. I'm having to rely on the Request callback at the moment.

@neverfox Can you provide a reproducible test case? It's really hard for me to understand how people encounter this issue, as tedious comes with a bunch of unit and integration tests which specifically check that the done token is fired correctly.

Let me give it a shot.