iOS  onChangeText does not fire if only one character

Description
The onChangeText for my TextInput used for a ChatBox is not working. After reset the text state to '' (after sending a message), the first character is always lost and the onChange event is not fired.
React Native Version
0.72.0
Output of npx react-native info
System:
OS: macOS 13.4
CPU: (10) x64 Apple M1 Pro
Memory: 45.71 MB / 16.00 GB
Shell:
version: "5.9"
path: /bin/zsh
Binaries:
Node:
version: 16.14.0
path: /usr/local/bin/node
Yarn:
version: 1.22.19
path: /usr/local/bin/yarn
npm:
version: 8.3.1
path: /usr/local/bin/npm
Watchman:
version: 2<IP_ADDRESS>
path: /usr/local/bin/watchman
Managers:
CocoaPods:
version: 1.11.3
path: /usr/local/bin/pod
SDKs:
iOS SDK:
Platforms:
- DriverKit 22.4
- iOS 16.4
- macOS 13.3
- tvOS 16.4
- watchOS 9.4
Android SDK: Not Found
IDEs:
Android Studio: 2022.2 AI-222.4459.24.2221.9971841
Xcode:
version: 14.3.1/14E300c
path: /usr/bin/xcodebuild
Languages:
Java:
version: 15.0.2
path: /usr/bin/javac
Ruby:
version: 2.6.10
path: /usr/bin/ruby
npmPackages:
"@react-native-community/cli": Not Found
react:
installed: 18.2.0
wanted: 18.2.0
react-native:
installed: 0.72.0
wanted: 0.72.0
react-native-macos: Not Found
npmGlobalPackages:
"react-native": Not Found
Android:
hermesEnabled: true
newArchEnabled: false
iOS:
hermesEnabled: true
newArchEnabled: false
Steps to reproduce
Happens only with TextInput with multiline enabled, only iOS, only this specific flow

User input any characters into <TextInput/>, and press Send
After msg is sent, <TextInput/> value is cleared via setText('')
After that, when user input one character, onChangeText doesn't fire.

Other flows onChangeText works normally, such as

Pressing 2 characters
Clear the textinput via backspace
Disable multiline

Snack, code example, screenshot, or link to a repository
Snack: https://snack.expo.dev/@tylerc/blessed-ice-cream
The same issue can't be reproduced in Snack, only happens on iOS simulator or actual device
https://github.com/facebook/react-native/assets/86952204/2595e47e-4fda-4a8e-ae93-a4a3221f53b9
import React, {useCallback, useState} from 'react';
import {
  SafeAreaView,
  StyleSheet,
  Text,
  TextInput,
  TouchableOpacity,
  View,
} from 'react-native';

function App(): JSX.Element {
  const [value, setValue] = useState('');

  const onChangeText = useCallback((text: string) => {
    console.log('onChangeText', text);
    setValue(text);
  }, []);

  const onPressSend = useCallback(() => {
    setValue('');
  }, []);

  return (
    <SafeAreaView>
      <View style={styles.container}>
        <TextInput
          style={styles.textInput}
          multiline
          value={value}
          onChangeText={onChangeText}
        />
        <TouchableOpacity style={styles.sendContainer} onPress={onPressSend}>
          <Text
            style={[styles.sendButton, textStateStyle(value).conditionalStyle]}>
            {'Send'}
          </Text>
        </TouchableOpacity>
      </View>
    </SafeAreaView>
  );
}
const textStateStyle = (value: string) =>
  StyleSheet.create({
    conditionalStyle: {color: value.length ? 'dodgerblue' : 'lightgrey'},
  });

const styles = StyleSheet.create({
  container: {flexDirection: 'row'},
  textInput: {
    height: 100,
    flex: 1,
    borderColor: 'black',
    borderWidth: 1,
    marginLeft: 5,
  },
  sendContainer: {
    alignItems: 'center',
    justifyContent: 'center',
    padding: 10,
  },
  sendButton: {fontSize: 16, fontWeight: '800'},
});

export default App;

Same issue with https://github.com/facebook/react-native/issues/38094 , only I repro with minimum code

Same issue here. Events onChange and onChangeText are broken on iOS with multiline TextInput. Android is fine. I noticed it after upgrading to 0.71.8 from 0.67.4.

@cortinico Please assign the issue to me.

@cortinico Please assign the issue to me.

Feel free to send over a PR whenever you can

@cortinico
Added a PR:
https://github.com/aroravarun/react-native/pull/1#issue-1786878105

has this been fixed yet? currently breaking my app..

I have tried a few other PRs but the issue still persists for me

Will this fix also come to older react-native versions fe 0.71.* ?
I patched the file react-native/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.m in version 71 based on the changes from the PR. But i must say, patching react-native doesn't feel good.
Thanks!

This problem persists to this day


PDB format: insertion code support

The insertion code is currently not parsed.
See http://www.wwpdb.org/documentation/file-format-content/format33/sect9.html#ATOM
Adding support has consequences when comparing atoms for identity where at least one has an insertion code set.

done (dev branch). select residue with number 10 and insertion code A:  10^A

Will insertion codes be supported in selection ranges? That is in general problematic as there's no guaranteed order of the insertion codes... e.g. in 1a2c the first few residues have this ordering: 1H, 1G, 1F, 1E, 1D, 1C, 1B, 1A, 1, 2, 3 ...


FileSystemWatcher may cause problems in containers - inotify limits and ASP.NET Core

Looking around the web I'm seeing years of issues with FileSystemWatcher saying "The configured user limit (n) on the number of inotify instances has been reached."
UPDATE: Looks like https://github.com/dotnet/corefx/blob/a10890f4ffe0fadf090c922578ba0e606ebdd16c/src/System.IO.FileSystem.Watcher/src/System/IO/FileSystemWatcher.Linux.cs#L371 will assume when inotify_add_watch fails with an ENOSPEC it must but an issue with inotify instances being out of range. In fact, ENOSPEC can also mean "the kernel failed to allocate a needed resource."

From the Man Page - The user limit on the total number of inotify watches was reached or the kernel failed to allocate a needed resource

Phrased differently. There's two Error Cases and we throw a message that implies there's just One.
This is becoming more prevalent in container situations in constrained sandboxes. I'm trying to deploy https://github.com/shanselman/superzeit (just clone and "now --public" or run locally with docker) to Zeit.co and I'm hitting this regularly. I don't think I'm hitting a limit. I think Zeit (and others) are blocking the syscall.
I think there are two issues here:
1 We should return a different error message if inotify_add_watch fails, and then circuit break so that FileSystemWatcher doesn't prevent the app from starting. If we CAN startup without a watch successfully, we should.
2 It seems DOTNET_USE_POLLING_FILE_WATCHER=1 is used in dotnet-watch and the aspnet file providers but the base System.IO FileSystemWatcher class doesn't support DOTNET_USE_POLLING_FILE_WATCHER? We should probably be consistent.
- If I change reloadOnChange: false in Program.cs to bypass the first watch that is set on AppSettings.json, I end up hitting it later when Razor/MVC sets up its FileWatchers.

We need at a minimum, to have DOTNET_USE_POLLING_FILE_WATCHER respected everywhere. Another idea would be for a way to have FileSystemWatcher "fail gracefully." We need to test on systems with
Unhandled Exception: System.IO.IOException: The configured user limit (8192) on the number of inotify instances has been reached.
> [0]    at System.IO.FileSystemWatcher.StartRaisingEvents()
> [0]    at System.IO.FileSystemWatcher.StartRaisingEventsIfNotDisposed()
> [0]    at System.IO.FileSystemWatcher.set_EnableRaisingEvents(Boolean value)
> [0]    at Microsoft.Extensions.FileProviders.Physical.PhysicalFilesWatcher.TryEnableFileSystemWatcher()
> [0]    at Microsoft.Extensions.FileProviders.Physical.PhysicalFilesWatcher.CreateFileChangeToken(String filter)
> [0]    at Microsoft.Extensions.FileProviders.PhysicalFileProvider.Watch(String filter)
> [0]    at Microsoft.Extensions.Configuration.FileConfigurationProvider.<.ctor>b__0_0()
> [0]    at Microsoft.Extensions.Primitives.ChangeToken.OnChange(Func`1 changeTokenProducer, Action changeTokenConsumer)
> [0]    at Microsoft.Extensions.Configuration.FileConfigurationProvider..ctor(FileConfigurationSource source)
> [0]    at Microsoft.Extensions.Configuration.Json.JsonConfigurationSource.Build(IConfigurationBuilder builder)
> [0]    at Microsoft.Extensions.Configuration.ConfigurationBuilder.Build()
> [0]    at Microsoft.AspNetCore.Hosting.WebHostBuilder.BuildCommonServices(AggregateException& hostingStartupErrors)
> [0]    at Microsoft.AspNetCore.Hosting.WebHostBuilder.Build()
> [0]    at superzeit.Program.Main(String[] args) in /app/superzeit/Program.cs:line 17

Related issues?

https://github.com/dotnet/corefx/issues/5660
https://github.com/dotnet/corefx/search?q=inotify&type=Issues
This issue may have been related https://github.com/aspnet/Mvc/issues/8299 because the FileWatcher failed to watch.

@stephentoub @natemcmaster @muratg @pranavkm
dotnet --info

.NET Core SDK (reflecting any global.json):
 Version:   2.1.401
 Commit:    91b1c13032

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.17134
 OS Platform: Windows
 RID:         win10-x64
 Base Path:   C:\Program Files\dotnet\sdk\2.1.401\

Host (useful for support):
  Version: 2.1.3-servicing-26724-03
  Commit:  124038c13e

.NET Core SDKs installed:
  2.1.400 [C:\Program Files\dotnet\sdk]
  2.1.401 [C:\Program Files\dotnet\sdk]

.NET Core runtimes installed:
  Microsoft.AspNetCore.All 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.3-servicing-26724-03 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]

TryEnableFileSystemWatcher() - gets called regardless if DOTNET_USE_POLLING_FILE_WATCHER is set or not.
https://github.com/idefa/AspnetCoreHome/blob/master/FileSystem-rel-2.0.0/src/Microsoft.Extensions.FileProviders.Physical/PhysicalFilesWatcher.cs#L93

I think this PR should fix your problem: https://github.com/aspnet/FileSystem/pull/333
And it's solving this: https://github.com/aspnet/Mvc/issues/8173
/cc @pranavkm

use command
export DOTNET_USE_POLLING_FILE_WATCHER=true
it will work


jfyi: I created a Koding.com App for js2coffee.org

Hi,
I just want to let you know that I created a Koding.com App which is currently in review and hopefully added soon to the official apps.
Cheers!

how can we help?

well, i don't even know if it still works... nevermind... :)


(node:20233) UnhandledPromiseRejectionWarning: Error: socket hang up

os
[root@hyahm node]# cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core
version :
[root@hyahm node]# node -v
v8.11.1
[root@hyahm node]# npm -v
5.6.0
install   puppeteer
[root@hyahm node]# cnpm i puppeteer
✔ Installed 1 packages
✔ Linked 39 latest versions
Downloading Chromium r549031 - 97 Mb [====================] 100% 0.0s
Chromium downloaded to /opt/node/node_modules/_puppeteer<EMAIL_ADDRESS>✔ Run 1 scripts
✔ All packages installed (41 packages installed from npm registry, used 14s, speed 37.52kB/s, json 40(518.66kB), tarball 0B)

test.js:
const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch({args: ['--no-sandbox']});
  const page = await browser.newPage();
  await page.goto('https://www.baidu.com');
  await page.screenshot({path: 'example.png'});
  await browser.close();
})();

run it error
[root@hyahm node]# node test.js
(node:20233) UnhandledPromiseRejectionWarning: Error: socket hang up
    at createHangUpError (_http_client.js:331:15)
    at Socket.socketOnEnd (_http_client.js:423:23)
    at emitNone (events.js:111:20)
    at Socket.emit (events.js:208:7)
    at endReadableNT (_stream_readable.js:1064:12)
    at _combinedTickCallback (internal/process/next_tick.js:138:11)
    at process._tickCallback (internal/process/next_tick.js:180:9)
(node:20233) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:20233) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

in mac ,run it ok

https://github.com/GoogleChrome/puppeteer/issues/391 might be related.

need depend
yum install pango.x86_64 libXcomposite.x86_64 libXcursor.x86_64 libXdamage.x86_64 libXext.x86_64 libXi.x86_64 libXtst.x86_64 cups-libs.x86_64 libXScrnSaver.x86_64 libXrandr.x86_64 GConf2.x86_64 alsa-lib.x86_64 atk.x86_64 gtk3.x86_64 -y


Report a small bug, and a small fix: False alarm "could not determine the type of this expression"

Hello,
I encountered this annoying bug many times - the bug can be demonstrated by compiling this code:
(function(){
  /** @constructor */
  function MyClass() {}
  /** @type {!string} */ MyClass.prototype.myProp;
  /** @type {!MyClass} */({}).myProp;  <== Error: "could not determine the type of this expression"
})();

After long deep effort, it seems that this can be fixed by adding one line to com.google.javascript.jscomp.TypeInference:
Add this line:
objType.resolve(registry.getErrorReporter(), scope);

right after this line:
if (propertyType == null && objType != null) {

in the method
private JSType getPropertyType(JSType objType, String propName, Node n, FlowScope scope) {...}

This is a case of lying to the type system:
/** @type {!MyClass} */({}).myProp;

However, other than the useless code warning, I don't see the issue. Can you give more detail?

body p { margin-bottom: 0cm; margin-top: 0pt; }

Thanks.
A better example would be:

(function(){
    /** @constructor */
    function MyClass(){}
    /** @type {!string} */ MyClass.prototype.myProperty;

    function /** !boolean */ isMyClass(/** * */ x) {
        return (x instanceof MyClass) &&
  (x.myProperty.length > 10);
    }

    function myFunction(/** !Object */ myParameter){
        if (isMyClass(myParameter))
            alert(/** @type {!MyClass}
  */(myParameter).myProperty);
    }

})();

On 23-Mar-16 14:24, Chad Killingsworth
  wrote:

  This is a case of lying to the type system:

    /** @type {!MyClass} */({}).myProp;

  However, other than the useless code warning, I don't see the
    issue. Can you give more detail?
  —
    You are receiving this because you authored the thread.
    Reply to this email directly or view
      it on GitHub

I'm not seeing any issues on the latest version:
http://closure-compiler-debugger.appspot.com/#input0%3D(function()%257B%250A%2520%2520%2520%252F**%2520%2540constructor%2520*%252F%250A%2520%2520%2520function%2520MyClass()%257B%257D%250A%2520%2520%2520%252F**%2520%2540type%2520%257B!string%257D%2520*%252F%2520MyClass.prototype.myProperty%253B%250A%2520%2520%250A%2520%2520%2520function%2520%252F**%2520!boolean%2520*%252F%2520isMyClass(%252F**%2520*%2520*%252F%2520x)%2520%257B%250A%2520%2520%2520%2520%2520%2520%2520return%2520(x%2520instanceof%2520MyClass)%2520%2526%2526%2520(x.myProperty.length%2520%253E%252010)%253B%250A%2520%2520%2520%257D%250A%2520%2520%250A%2520%2520%2520function%2520myFunction(%252F**%2520!Object%2520*%252F%2520myParameter)%257B%250A%2520%2520%2520%2520%2520%2520%2520if%2520(isMyClass(myParameter))%250A%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520alert(%252F**%2520%2540type%2520%257B!MyClass%257D*%252F(myParameter).myProperty)%253B%250A%2520%2520%2520%257D%250A%2520%2520%250A%257D)()%253B%250A%250A%26input1%26conformanceConfig%26externs%26refasterjs-template%26includeDefaultExterns%3D1%26CHECK_CONSTANTS%3D1%26CHECK_DEPRECATED%3D1%26CHECK_ES5_STRICT%3D1%26CHECK_GLOBAL_NAMES%3D1%26CHECK_GLOBAL_THIS%3D1%26CHECK_MISSING_RETURN%3D1%26CHECK_PROVIDES%3D1%26CHECK_REQUIRES%3D1%26CHECK_SUSPICIOUS_CODE%3D1%26CHECK_SYMBOLS%3D1%26CHECK_TYPES%3D1%26CHECK_UNREACHABLE_CODE%3D1%26CHECK_VISIBILITY%3D1%26LANG_IN_IS_ES6%3D1%26MISSING_PROPERTIES%3D1%26PRESERVE_TYPE_ANNOTATIONS%3D1%26PRETTY_PRINT%3D1%26TRANSPILE%3D1
Are you perhaps using an old version of the compiler?

body p { margin-bottom: 0cm; margin-top: 0pt; }

It can be seen when you check "ENABLE_ALL_DIAGNOSTIC_GROUPS":

http://closure-compiler-debugger.appspot.com/#input0%3D(function()%257B%250A%2520%2520%2520%252F**%2520%2540constructor%2520*%252F%250A%2520%2520%2520function%2520MyClass()%257B%257D%250A%2520%2520%2520%252F**%2520%2540type%2520%257B!string%257D%2520*%252F%2520MyClass.prototype.myProperty%253B%250A%2520%2520%250A%2520%2520%2520function%2520%252F**%2520!boolean%2520*%252F%2520isMyClass(%252F**%2520*%2520*%252F%2520x)%2520%257B%250
A%2520%2520%2520%2520%2520%2520%2520return%2520(%2520x%2520instanceof%2520MyClass)%2520%2526%2526%2520(x.myProperty.length%2520%253E%252010)%253B%250A%2520%2520%2520%257D%250A%2520%2520%250A%2520%2520%2520function%2520myFunction(%252F**%2520!Object%2520*%252F%2520myParameter)%257B%250A%2520%2520%2520%2520%2520%2520%2520if%2520(isMyClass(myParameter))%250A%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520alert(%252F**%2520%2540type%2520%257B!MyClass%257D*%252F(myParameter).myProperty)%253B%250A%2520%2520%2520%257D%250A%2520%2520%250A%257D)()%253B%250A%250A%26input1%26conformanceConfig%26externs%26refasterjs-template%26includeDefaultExterns%3D1%26CHECK_CONSTANTS%3D1%26CHECK_DEPRECATED%3D1%26CHECK_ES5_STRICT%3D1%26CHECK_GLOBAL_NAMES%3D1%26CHECK_GLOBAL_THIS%3D1%26CHECK_MISSING_RETURN%3D1%26CHECK_PROVIDES%3D1%26CHECK_REQUIRES%3D1%26CHECK_SUSPICIOUS_CODE%3D1%26CHECK_SYMBOLS%3D1%26CHECK_TYPES%3D1%26CHECK_UNREACHABLE_CODE%3D1%26CHECK_VISIBILITY%3D1%26ENABLE_ALL_DIAGNOSTIC_GROUPS%3D1%26L
ANG_IN_IS_ES6%3D1%26MISSING_PROPERTIES%3D1%26PRESERVE_TYPE_ANNOTATIONS%3D1%26TRANSPILE%3D1
On 27-Mar-16 5:55, Chad Killingsworth
  wrote:

  I'm not seeing any issues on the latest version:
  http://closure-compiler-debugger.appspot.com/#input0%3D(function()%257B%250A%2520%2520%2520%252F**%2520%2540constructor%2520*%252F%250A%2520%2520%2520function%2520MyClass()%257B%257D%250A%2520%2520%2520%252F**%2520%2540type%2520%257B!string%257D%2520*%252F%2520MyClass.prototype.myProperty%253B%250A%2520%2520%250A%2520%2520%2520function%2520%252F**%2520!boolean%2520*%252F%2520isMyClass(%252F**%2520*%2520*%252F%2520x)%2520%

257B%250A%2520%2520%2520%2520%2520%2520%2520return%2520(
      x%2520instanceof%2520MyClass)%2520%2526%2526%2520(x.myProperty.length%2520%253E%252010)%253B%250A%2520%2520%2520%257D%250A%2520%2520%250A%2520%2520%2520function%2520myFunction(%252F**%2520!Object%2520*%252F%2520myParameter)%257B%250A%2520%2520%2520%2520%2520%2520%2520if%2520(isMyClass(myParameter))%250A%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520alert(%252F**%2520%2540type%2520%257B!MyClass%257D*%252F(myParameter).myProperty)%253B%250A%2520%2520%2520%257D%250A%2520%2520%250A%257D)()%253B%250A%250A%26input1%26conformanceConfig%26externs%26refasterjs-template%26includeDefaultExterns%3D1%26CHECK_CONSTANTS%3D1%26CHECK_DEPRECATED%3D1%26CHECK_ES5_STRICT%3D1%26CHECK_GLOBAL_NAMES%3D1%26CHECK_GLOBAL_THIS%3D1%26CHECK_MISSING_RETURN%3D1%26CHECK_PROVIDES%3D1%26CHECK_REQUIRES%3D1%26CHECK_SUSPICIOUS_CODE%3D1%26CHECK_SYMBOLS%3D1%26CHECK_TYPES%3D1%26CHECK_UNREACHABLE_CODE%3D1%26CHECK_VISIBILITY%3D1%26LANG_IN_IS_ES6%3D1%26MISSING_PROPERTIES%3D1%26PRESERVE_TYPE_ANNOTATIONS%3D1%26

PRETTY_PRI
      NT%3D1%26TRANSPILE%3D1
  Are you perhaps using an old version of the compiler?
  —
    You are receiving this because you authored the thread.
    Reply to this email directly or view
      it on GitHub

body p { margin-bottom: 0cm; margin-top: 0pt; }

Again, it can be seen when you check "ENABLE_ALL_DIAGNOSTIC_GROUPS":

http://closure-compiler-debugger.appspot.com/#input0%3D(function()%257B%250A%2520%2520%2520%252F**%2520%2540constructor%2520*%252F%250A%2520%2520%2520function%2520MyClass()%257B%257D%250A%2520%2520%2520%252F**%2520%2540type%2520%257B!string%257D%2520*%252F%2520MyClass.prototype.myProperty%253B%250A%2520%2520%250A%2520%2520%2520function%2520%252F**%2520!boolean%2520*%252F%2520isMyClass(%252F**%2520*%2520*

%252F%2520x)%2520%257B%250
A%2520%2520%2520%2520%2520%2520%2520return%2520(%2520x%2520instanceof%2520MyClass)%2520%2526%2526%2520(x.myProperty.length%2520%253E%252010)%253B%250A%2520%2520%2520%257D%250A%2520%2520%250A%2520%2520%2520function%2520myFunction(%252F**%2520!Object%2520*%252F%2520myParameter)%257B%250A%2520%2520%2520%2520%2520%2520%2520if%2520(isMyClass(myParameter))%250A%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520alert(%252F**%2520%2540type%2520%257B!MyClass%257D*%252F(myParameter).myProperty)%253B%250A%2520%2520%2520%257D%250A%2520%2520%250A%257D)()%253B%250A%250A%26input1%26conformanceConfig%26externs%26refasterjs-template%26includeDefaultExterns%3D1%26CHECK_CONSTANTS%3D1%26CHECK_DEPRECATED%3D1%26CHECK_ES5_STRICT%3D1%26CHECK_GLOBAL_NAMES%3D1%26CHECK_GLOBAL_THIS%3D1%26CHECK_MISSING_RETURN%3D1%26CHECK_PROVIDES%3D1%26CHECK_REQUIRES%3D1%26CHECK_SUSPICIOUS_CODE%3D1%26CHECK_SYMBOLS%3D1%26CHECK_TYPES%3D1%26CHECK_UNREACHABLE_CODE%3D1%26CHECK_VISIBILITY%3D1%26ENABLE_ALL_DIAGNOSTIC_GROUPS%3D1%26
L
ANG_IN_IS_ES6%3D1%26MISSING_PROPERTIES%3D1%26PRESERVE_TYPE_ANNOTATIONS%3D1%26TRANSPILE%3D1
:-)

On 27-Mar-16 5:55, Chad Killingsworth
  wrote:

  I'm not seeing any issues on the latest version:
  http://closure-compiler-debugger.appspot.com/#input0%3D(function()%257B%250A%2520%2520%2520%252F**%2520%2540constructor%2520*%252F%250A%2520%2520%2520function%2520MyClass()%257B%257D%250A%2520%2520%2520%252F**%2520%2540type%2520%257B!string%257D%2520*%252F%2520MyClass.prototype.myProperty%253B%250A%2520%2520%250A%2520%2520%2520function%2520%252F**%2520!boolean%2520*%252F%2520isMyClass(%252F**%2520*%2520*%252F%2520x)%2520%

257B%250A%2520%2520%2520%2520%2520%2520%2520return%2520(
      x%2520instanceof%2520MyClass)%2520%2526%2526%2520(x.myProperty.length%2520%253E%252010)%253B%250A%2520%2520%2520%257D%250A%2520%2520%250A%2520%2520%2520function%2520myFunction(%252F**%2520!Object%2520*%252F%2520myParameter)%257B%250A%2520%2520%2520%2520%2520%2520%2520if%2520(isMyClass(myParameter))%250A%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520alert(%252F**%2520%2540type%2520%257B!MyClass%257D*%252F(myParameter).myProperty)%253B%250A%2520%2520%2520%257D%250A%2520%2520%250A%257D)()%253B%250A%250A%26input1%26conformanceConfig%26externs%26refasterjs-template%26includeDefaultExterns%3D1%26CHECK_CONSTANTS%3D1%26CHECK_DEPRECATED%3D1%26CHECK_ES5_STRICT%3D1%26CHECK_GLOBAL_NAMES%3D1%26CHECK_GLOBAL_THIS%3D1%26CHECK_MISSING_RETURN%3D1%26CHECK_PROVIDES%3D1%26CHECK_REQUIRES%3D1%26CHECK_SUSPICIOUS_CODE%3D1%26CHECK_SYMBOLS%3D1%26CHECK_TYPES%3D1%26CHECK_UNREACHABLE_CODE%3D1%26CHECK_VISIBILITY%3D1%26LANG_IN_IS_ES6%3D1%26MISSING_PROPERTIES%3D1%26PRESERVE_TYPE_ANNOTATIONS%3D1%26

PRETTY_PRI
      NT%3D1%26TRANSPILE%3D1
  Are you perhaps using an old version of the compiler?
  —
    You are receiving this because you authored the thread.
    Reply to this email directly or view
      it on GitHub

body p { margin-bottom: 0cm; margin-top: 0pt; }

Lying to the type system is an established and honorable
institution...
Google-closure would have become useless if not for that.
From my experience with Google-Closure, you just can't avoid that
(at least elegantly).
Life is not a fairy-tale   ;-)

In my Eclipse environment, I have set up a "builder" that can
suppress Google-Closure warnings - like this (note the wildcard
"*"):
        myFunc();        // SUPRESS: variable * is undeclared

This feature (which - in my opinion - is a MUST in Google-Closure)
is extremely helpful in that it allows me to keep my (very large)
code without any warnings.
This way, when a new warning (which is obviously "interesting" to
me) is created - I can see it immediately.
The alternative would be hundreds of
warnings-that-will-never-go-away, and new MEANINGFUL warnings  -
which just can't be noticed.

I am giving you a feedback that you are used to ignore: you want the
code to be totally clean, without "lying".
However - this is how Google-Closure is at its best: shining in the
real world.
I would *never* have made it without your wonderful tool,
 however I would never be able to use Google-Closure without
"lying"...

In my view, the flag "ENABLE_ALL_DIAGNOSTIC_GROUPS" is very VERY
important, and yields the best warnings.
However - you chose to un-set it by default.
And why ?
The answer is: it generates many warnings which can't (at least not
elegantly) be fixed.
I my experience in the real world, this bug that I reported
eliminates many of these "false alarms" and is very important.

Once you support the "// SUPRESS: ..." feature, one could set the
"ENABLE_ALL_DIAGNOSTIC_GROUPS" flag without being flooded in
warnings.
And once you do that, by bug report would become much more
significant.

Please don't isolate yourselves in the "pure code" ivory tower: make
your awesome tool more usable in the real world !

On 23-Mar-16 14:24, Chad Killingsworth
  wrote:

  This is a case of lying to the type system:

    /** @type {!MyClass} */({}).myProp;

  However, other than the useless code warning, I don't see the
    issue. Can you give more detail?
  —
    You are receiving this because you authored the thread.
    Reply to this email directly or view
      it on GitHub


prims algorithm in c++[gssoc21]

💥 Proposal
prims algorithm in c++
Prim's Algorithm is a greedy method that is used to find minimum spanning tree for a given weighted undirected graph
time complexity : O(E Log V))
Have you read the Contributing Guidelines on Pull Requests?
yes

i want to work on this issue please assign me in c++

/assign

I would like to implement it in python. /assign

/assign


[Bug]: Build environment variables for preview deployments not working

Description
The build is failing saying it doesn't have a required variable, but it is set and is marked as a build variable. Could be a caching issue since it had built before with the variable not included as a build variable.
Minimal Reproduction (if possible, example repository)
(my steps)

deployed an app that requires an environment variable during build time. variable was set and marked as a build variable for production but not for preview
attempted to deploy for a PR. build failed as it didn't have the variable.
marked variable as build variable for preview deployments
redeployed. build still failed.

Exception or Error
No response
Version
v4.0.0-beta.146

Ah, nice catch! Fixing in the next version!


Editing Macros

In the Mod Description it's described that you can configure macros so they can repeat and do other in-depth actions.
My issue is that I am not able to find this option.
Thank you in advance.

The edit macro feature has been temporarily removed due to it crashing the game when trying to load too many actions. I am currently working on re-adding the looping and speed features.


Broken Link to Adobe Documentation[Bug]:

Where on segment.com/docs did you see this issue?
https://segment.com/docs/connections/destinations/catalog/adobe-analytics/
What browsers are you seeing the problem on?
Chrome
Please describe the issue.
The hyperlink used for further context on "Context Data Variables" goes to a page not found page.
Link used: https://marketing.adobe.com/resources/help/en_US/sc/implement/context_data_variables.html

@k-griese Thanks for spotting this.  I've fixed these links in our docs, though it may take a few days for the page to reflect the changes.


Update UniFi download link to 7.0.25

Replaces this PR https://github.com/unofficial-unifi/unifi-pfsense/pull/285 which only included 7.0.23.


Change pinned networks to a Set.

WHAT
Change pinned networks to a Set.
WHY
Ahead of a change to return Flow<Set>, make the change to UI classes separately.
HOW
Checklist :clipboard:

[x] Add explicit visibility modifier and explicit return types for public declarations
[x] Run spotless check
[x] Run tests
[x] Update metalava's signature text files

@wrkben I've broken up my PR, but trying to land. So will request post review. to make forward progress.


bring back kawaii mode

i'm a kawaii girl in a formerly kawaii world and now i'm in shambles

load bearing feature tbqh

load bearing feature tbqh

many are saying this

we need to bring it to mobile tbh

we need to bring it to mobile tbh

iirc the mobile app inherited the web setting? i remember seeing it in my mobile app.


fix: type augmentation and compiler-sfc types w/moduleResolution: bundler (fix #13106)

What kind of change does this PR introduce? (check at least one)

[X] Bugfix
[ ] Feature
[ ] Code style update
[ ] Refactor
[ ] Build-related changes
[ ] Other, please describe:

Does this PR introduce a breaking change? (check one)

[ ] Yes
[X] No

If yes, please describe the impact and migration path for existing applications:
The PR fulfills these requirements:

[X] It's submitted to the main branch for v2.x (or to a previous version branch)
[X] When resolving a specific issue, it's referenced in the PR's title (e.g. fix #xxx[,#xxx], where "xxx" is the issue number)
[x] All tests are passing: https://github.com/vuejs/vue/blob/dev/.github/CONTRIBUTING.md#development-setup
[x] New/updated tests are included

If adding a new feature, the PR's description includes:

[ ] A convincing reason for adding this feature (to avoid wasting your time, it's best to open a suggestion issue first and wait for approval before working on it)

Other information:
Each commit contains a pretty lengthy description to try to make things as clear as possible. Rather than reproduce that here, the short version is that this PR contains two bug fixes:

Fixes #13106 which deals with type augmentation being broken in the ecosystem when enabling the "moduleResolution": "bundler" typescript option. This is due to the export map requiring full filenames with extensions, even though they are almost never provided as such
Fixes an issue with the types being unavailable from a "type": "module" context when using "moduleResolution": "bundler" | "node16"

@yyx990803 Hey Evan is there any chance that this could be considered for a future vue 2.7.16 release before it reaches the end of the support window? This issue has been starting to show up more and more as a blocker recently as I have been running into cases where some libraries (such as Got) require configuring "moduleResolution": "bundler", but a bunch of stuff in the vue 2.7 ecosystem stops working when you enable this option. The actual changes required to fix things are minimal and just amount to small changes to the package.json exports map, and I tried to be extra thorough in my descriptions of what these things do to provide confidence in the overall safety of making these changes.
For more in depth information, please see the attached issue (which contains a reproducer), or the commit message here


RFC incompliance: HEAD requests should not send body

(Similar to #334 )
SImple reproduction:
package.json
{
  "dependencies": {
    "express": "^4.16.4",
    "morgan": "^1.9.1"
  }
}

app.js
const express = require('express')
const app = express()

const morgan = require('morgan');
app.use(morgan(
    ':remote-addr - :remote-user [:date[clf]] ":method :url HTTP/:http-version" :status :res[content-length] ":referrer" ":user-agent" :response-time ms'
));

const port = 3001
app.get('/', (req, res) => res.send('Hello World!'))
app.listen(port, () => console.log(`Example app listening on port ${port}!`))

node app.js
curl http://localhost:3001/
curl --head http://localhost:3001/

And in the logs in the same time:
::1 - - [01/Mar/2019:16:17:48 +0000] "GET / HTTP/1.1" 200 12 "-" "curl/7.61.0" 0.384 ms
::1 - - [01/Mar/2019:16:17:52 +0000] "HEAD / HTTP/1.1" 200 12 "-" "curl/7.61.0" 0.193 ms

Both requests ended in the same 12 bytes long body.
https://tools.ietf.org/html/rfc7231#section-4.3.2

... that the server MUST NOT
send a message body in the response (i.e., the response terminates at
the end of the header section).

So this sounds like an rfc violation to me.
To be honest I am not really sure about all the potential implications.
In my case one of our proxies (based on guzzle/curl) rejects similar requests.

Express is not actually sending the body; Node.js does not allow us to. The 12 in the logs is simply the value of the content-length header (see the morgan docs). This is allowed by the RFC (https://tools.ietf.org/html/rfc7230#section-3.3.2):

For messages that do not include a payload
body, the Content-Length indicates the size of the selected
representation (Section 3 of [RFC7231]).

Thanks. Sorry for the false alarm.
Then it seems that somebody something is lying in our proxy code... :-(


ne: 3.3.1 -> 3.3.2

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/ne/versions.
meta.description for ne is: "The nice editor"
meta.homepage for ne is: "https://ne.di.unimi.it/"
meta.changelog for ne is: ""
Updates performed

Version update

To inspect upstream changes

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 3.3.2 with grep in /nix/store/7zjs3i8ymsnaw6ks93wgxsx9ap4l46mh-ne-3.3.2
found 3.3.2 in filename of file in /nix/store/7zjs3i8ymsnaw6ks93wgxsx9ap4l46mh-ne-3.3.2

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

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
ne

Instructions to test this update (click to expand)

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

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

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/7zjs3i8ymsnaw6ks93wgxsx9ap4l46mh-ne-3.3.2
ls -la /nix/store/7zjs3i8ymsnaw6ks93wgxsx9ap4l46mh-ne-3.3.2/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

ne

Maintainer pings

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

1 package built:

ne


Add baked in validators for containsfield and excludesfield

[x] Tests exist or have been written that cover this particular change.

Change Details:

Adds containsfield baked in validator, as well as tests and documentation for containsfield.
Adds excludesfield baked in validator, as well as tests and documentation for excludesfield.

@go-playground/admins

Coverage decreased (-0.2%) to 99.837% when pulling 57fdb6c3398a96f88d81406ad438eb273180cf69 on fharding1:baked-in-contains-excludes-field into 6079fcc1869c6e9491df9f02e3d1d9b6bff2939d on go-playground:v9.

I considered making these validators panic on non-string types but it looks like that isn't the behavior of other validators so I decided against it. I also considered adding support for fmt.Stringer but did not for the same reason.

Hey @fharding1 thanks for the PR!
I just have one request, can it be renamed to fieldcontains and fieldexcludes?
I was confused by the naming, I was reading it as if it was checking that the actual field was contained in the struct rather than containing the value.

@joeybloggs thanks for the feedback, done.

excludesfield is still on godoc https://godoc.org/github.com/go-playground/validator#hdr-Field_Excludes_Another_Field

😔excludesfield and containsfield  is still on godoc, this keeps reporting errors.
https://godoc.org/github.com/go-playground/validator#hdr-Field_Excludes_Another_Field


Fix PyTorch device error when loading custom model

Using Python 3.8, fitbert 0.7.0, transformers 2.9.1, torch 1.5.0
when loading a custom Transformers model as described in the readme using:
BertForMaskedLM.from_pretrained('path to pretrained')
A runtime error occurs:
Expected object of device type cuda but got device type cpu for argument #1 'self' in call to th_index_select
The issue occurs at line 151: tens = tens.to(self.device)
but adding self.bert.to(self.device) to line 41 fixes this issue

@JasonObeid I released this change, it should be available in version 0.9.0

Looks great! Thanks for contributing!

No problem Sam, thanks for this great package!


Native support to generate/parse SDP records.

The JSEP draft spec establishes SDP as the session description format.  As far as I can tell, the existing OpenWebRTC SDP record generation & parsing is done in Javascript and is not readily available to native clients.  I suggest utilities be added to generate an SDP record from a local session, and parse an sdp record into a remote session.
Thanks,
Joe

Are we sure we want to perform string processing in native code? I thought it rather elegant that it was delegated to JS.

Well, the native client needs to be able to talk to a web client on the other end.  They need to exchange the session description in a consistent format.  So the native code needs to be able to generate/parse the SDP record.  I think it is fine if that is done via a native-invoked eval of the JS code, but it would be great if it were simple to call from the native code.  Maybe this is easy to do but if so, it's not obvious to me.

Similar discussion here https://github.com/EricssonResearch/openwebrtc/pull/129

There is a similar large volume of Java code included in the Android NativeCall app to assemble the JSON:
https://github.com/Rugvip/openwebrtc-examples/commit/dce2e8e38aff53a856ee3886dc1625840a00d444

Note that GStreamer has a SDP parsing/generation library already, libgstsdp from gst-plugins-base.

Yes, I spotted that earlier and have added it to my list of things to check out.  Thanks!

@stefanalund has now got some code working in iOS that parses the SDP using sdp.js and a JSContext and then gives an NSDictionary back. I expect similar things can be done on other platforms, the main issue is what to do in native C/GObject code.

What's missing in libgstsdp that would be required or useful here?

We would have to check. It's a possibility...

I think one suggestion for this would be to use the GStreamer SDP parsing code as part of a set of objects in OpenWebRTC that handle creation of those objects that are used by sessions. So for example something that takes an SDP and spits out the payloads and other bits and pieces needed to configure sessions. And then similarly something that can be configured and spit out an SDP.

We have written our own implementation for sdp pasring to json and vice versa.
Now, we need a way to generate SDP offer to be done in C, using openwebrtc.
Thanks.

You should be able to see in the JavaScript bridge code (https://github.com/EricssonResearch/openwebrtc/blob/master/bridge/client/webrtc.js#L449) how this is done. You basically need information about sessions, payloads and ICE candidates that you know that you support.

Ok. We will have a look into that. Thanks.

Hi,
I gone through the ios sdk for openWebRTCNativeHandler, where an example is provided for creating the offer. Thank you.


open64: 2 No such file or directory /db/db//osm3s_areas Unix_Socket::7

Hi there, i am trying to get the api to run. i have these variables:
OVERPASS_META=yes
OVERPASS_MODE=init
OVERPASS_PLANET_URL=http://download.geofabrik.de/europe/germany-latest.osm.bz2
OVERPASS_DIFF_URL=http://download.openstreetmap.fr/replication/europe/germany/minute/
OVERPASS_RULES_LOAD=10
running the container results in this output:
2024-10-09T14:29:13.636953033Z <IP_ADDRESS> - - [09/Oct/2024:14:29:13 +0000] "GET /api/interpreter?data=[out:json];node(8951963);out; HTTP/1.1" 200 634 "-" "curl/7.88.1"
2024-10-09T14:29:16.102558032Z runtime error: open64: 2 No such file or directory /db/db//osm3s_areas Unix_Socket::7
2024-10-09T14:29:16.106452509Z It took 0 to run the loop. Desired load is: 10%. Sleeping: 3
2024-10-09T14:29:18.745591303Z <IP_ADDRESS> - - [09/Oct/2024:14:29:18 +0000] "GET /api/interpreter?data=[out:json];node(4672305);out; HTTP/1.1" 200 634 "-" "curl/7.88.1"
2024-10-09T14:29:19.187224680Z runtime error: open64: 2 No such file or directory /db/db//osm3s_areas Unix_Socket::7
2024-10-09T14:29:19.190564922Z It took 0 to run the loop. Desired load is: 10%. Sleeping: 3
2024-10-09T14:29:22.272327009Z runtime error: open64: 2 No such file or directory /db/db//osm3s_areas Unix_Socket::7
2024-10-09T14:29:22.275038716Z It took 0 to run the loop. Desired load is: 10%. Sleeping: 3
2024-10-09T14:29:23.872252638Z <IP_ADDRESS> - - [09/Oct/2024:14:29:23 +0000] "GET /api/interpreter?data=[out:json];node(2776999);out; HTTP/1.1" 200 634 "-" "curl/7.88.1"
2024-10-09T14:29:25.357138402Z runtime error: open64: 2 No such file or directory /db/db//osm3s_areas Unix_Socket::7
2024-10-09T14:29:25.360897111Z It took 0 to run the loop. Desired load is: 10%. Sleeping: 3
2024-10-09T14:29:28.442788731Z runtime error: open64: 2 No such file or directory /db/db//osm3s_areas Unix_Socket::7
2024-10-09T14:29:28.446887667Z It took 0 to run the loop. Desired load is: 10%. Sleeping: 3
2024-10-09T14:29:28.997656981Z <IP_ADDRESS> - - [09/Oct/2024:14:29:28 +0000] "GET /api/interpreter?data=[out:json];node(9516056);out; HTTP/1.1" 200 634 "-" "curl/7.88.1"
2024-10-09T14:29:31.527795002Z runtime error: open64: 2 No such file or directory /db/db//osm3s_areas Unix_Socket::7
2024-10-09T14:29:31.531359032Z It took 0 to run the loop. Desired load is: 10%. Sleeping: 3
2024-10-09T14:29:34.077307868Z <IP_ADDRESS> - - [09/Oct/2024:14:29:34 +0000] "GET /api/interpreter?data=[out:json];node(9722446);out; HTTP/1.1" 200 634 "-" "curl/7.88.1"
2024-10-09T14:29:34.612661547Z runtime error: open64: 2 No such file or directory /db/db//osm3s_areas Unix_Socket::7
2024-10-09T14:29:34.615430994Z It took 0 to run the loop. Desired load is: 10%. Sleeping: 3
2024-10-09T14:29:37.698880225Z runtime error: open64: 2 No such file or directory /db/db//osm3s_areas Unix_Socket::7
2024-10-09T14:29:37.702605573Z It took 0 to run the loop. Desired load is: 10%. Sleeping: 3
2024-10-09T14:29:39.144882254Z <IP_ADDRESS> - - [09/Oct/2024:14:29:39 +0000] "GET /api/interpreter?data=[out:json];node(7325553);out; HTTP/1.1" 200 634 "-" "curl/7.88.1"
2024-10-09T14:29:40.782719225Z runtime error: open64: 2 No such file or directory /db/db//osm3s_areas Unix_Socket::7
2024-10-09T14:29:40.786851621Z It took 0 to run the loop. Desired load is: 10%. Sleeping: 3
2024-10-09T14:29:43.867553860Z runtime error: open64: 2 No such file or directory /db/db//osm3s_areas Unix_Socket::7
2024-10-09T14:29:43.870391626Z It took 0 to run the loop. Desired load is: 10%. Sleeping: 3
2024-10-09T14:29:44.223971518Z <IP_ADDRESS> - - [09/Oct/2024:14:29:44 +0000] "GET /api/interpreter?data=[out:json];node(3939488);out; HTTP/1.1" 200 634 "-" "curl/7.88.1"
2024-10-09T14:29:46.954178576Z runtime error: open64: 2 No such file or directory /db/db//osm3s_areas Unix_Socket::7
2024-10-09T14:29:46.958584529Z It took 0 to run the loop. Desired load is: 10%. Sleeping: 3
2024-10-09T14:29:49.326078448Z <IP_ADDRESS> - - [09/Oct/2024:14:29:49 +0000] "GET /api/interpreter?data=[out:json];node(4775712);out; HTTP/1.1" 200 634 "-" "curl/7.88.1"
2024-10-09T14:29:50.038335785Z runtime error: open64: 2 No such file or directory /db/db//osm3s_areas Unix_Socket::7
2024-10-09T14:29:50.042264932Z It took 1 to run the loop. Desired load is: 10%. Sleeping: 9
2024-10-09T14:29:54.442149280Z <IP_ADDRESS> - - [09/Oct/2024:14:29:54 +0000] "GET /api/interpreter?data=[out:json];node(4924389);out; HTTP/1.1" 200 634 "-" "curl/7.88.1"
2024-10-09T14:29:59.152285506Z runtime error: open64: 2 No such file or directory /db/db//osm3s_areas Unix_Socket::7
2024-10-09T14:29:59.155667518Z It took 0 to run the loop. Desired load is: 10%. Sleeping: 3
2024-10-09T14:29:59.545315805Z <IP_ADDRESS> - - [09/Oct/2024:14:29:59 +0000] "GET /api/interpreter?data=[out:json];node(830640);out; HTTP/1.1" 200 634 "-" "curl/7.88.1"
2024-10-09T14:30:02.239166904Z runtime error: open64: 2 No such file or directory /db/db//osm3s_areas Unix_Socket::7
2024-10-09T14:30:02.242753044Z It took 0 to run the loop. Desired load is: 10%. Sleeping: 3
2024-10-09T14:30:04.604736471Z <IP_ADDRESS> - - [09/Oct/2024:14:30:04 +0000] "GET /api/interpreter?data=[out:json];node(7866842);out; HTTP/1.1" 200 634 "-" "curl/7.88.1"
2024-10-09T14:30:05.326880762Z runtime error: open64: 2 No such file or directory /db/db//osm3s_areas Unix_Socket::7
2024-10-09T14:30:05.331050567Z It took 0 to run the loop. Desired load is: 10%. Sleeping: 3
2024-10-09T14:30:08.412734108Z runtime error: open64: 2 No such file or directory /db/db//osm3s_areas Unix_Socket::7
2024-10-09T14:30:08.416323538Z It took 0 to run the loop. Desired load is: 10%. Sleeping: 3
2024-10-09T14:30:09.696745534Z <IP_ADDRESS> - - [09/Oct/2024:14:30:09 +0000] "GET /api/interpreter?data=[out:json];node(9578284);out; HTTP/1.1" 200 634 "-" "curl/7.88.1"
2024-10-09T14:30:11.498004250Z runtime error: open64: 2 No such file or directory /db/db//osm3s_areas Unix_Socket::7
2024-10-09T14:30:11.501876967Z It took 0 to run the loop. Desired load is: 10%. Sleeping: 3
2024-10-09T14:30:13.488286607Z 2024-10-09 14:30:13 INFO: Using replication server at http://download.openstreetmap.fr/replication/europe/germany/minute/
2024-10-09T14:30:13.488306416Z 2024-10-09 14:30:13 DEBUG: Using given sequence ID 6296706
2024-10-09T14:30:13.488310916Z 2024-10-09 14:30:13 DEBUG: Starting download at ID 6296707 (max 100 MB)
2024-10-09T14:30:13.489208989Z 2024-10-09 14:30:13 DEBUG: Starting new HTTP connection (1): download.openstreetmap.fr:80
2024-10-09T14:30:13.528058904Z 2024-10-09 14:30:13 DEBUG: http://download.openstreetmap.fr:80 "GET /replication/europe/germany/minute//state.txt HTTP/11" 200 104
2024-10-09T14:30:13.550707545Z 2024-10-09 14:30:13 DEBUG: http://download.openstreetmap.fr:80 "GET /replication/europe/germany/minute//006/296/707.osc.gz HTTP/11" 200 13699
2024-10-09T14:30:13.553443002Z 2024-10-09 14:30:13 DEBUG: Downloaded change 6296707. (102345 kB available in download buffer)
2024-10-09T14:30:13.590914229Z /app/bin/update_from_dir --osc-dir=/db/diffs --version=2024-10-09T14:28:45Z --flush-size=16 --meta
2024-10-09T14:30:13.941086454Z Reading XML file ... finished reading nodes. Compute current ... ready. Flushing to database ....... done.
2024-10-09T14:30:14.249195580Z Reading XML file ... finished reading ways. Compute current ... ready. Flushing to database ....... done.
2024-10-09T14:30:14.593224827Z Reading XML file ... finished reading relations. runtime error: open64: 2 No such file or directory /db/db//osm3s_areas Unix_Socket::7
2024-10-09T14:30:14.596516689Z It took 0 to run the loop. Desired load is: 10%. Sleeping: 3
2024-10-09T14:30:14.755867608Z Flushing to database ....<IP_ADDRESS> - - [09/Oct/2024:14:30:14 +0000] "GET /api/interpreter?data=[out:json];node(7167263);out; HTTP/1.1" 200 634 "-" "curl/7.88.1"
2024-10-09T14:30:14.889795140Z ... done.
2024-10-09T14:30:15.125821878Z Update complete.
2024-10-09T14:30:15.129869915Z There are still some updates remaining
2024-10-09T14:30:15.204274243Z 2024-10-09 14:30:15 INFO: Using replication server at http://download.openstreetmap.fr/replication/europe/germany/minute/
2024-10-09T14:30:15.204292693Z 2024-10-09 14:30:15 DEBUG: Using given sequence ID 6296707
2024-10-09T14:30:15.204296913Z 2024-10-09 14:30:15 DEBUG: Starting download at ID 6296708 (max 100 MB)
2024-10-09T14:30:15.205165625Z 2024-10-09 14:30:15 DEBUG: Starting new HTTP connection (1): download.openstreetmap.fr:80
2024-10-09T14:30:15.238148861Z 2024-10-09 14:30:15 DEBUG: http://download.openstreetmap.fr:80 "GET /replication/europe/germany/minute//state.txt HTTP/11" 200 104
2024-10-09T14:30:15.239562709Z 2024-10-09 14:30:15 ERROR: Error while downloading diffs.
2024-10-09T14:30:15.263663408Z Empty version, skipping file
2024-10-09T14:30:15.264297922Z <?xml version='1.0' encoding='UTF-8'?>
2024-10-09T14:30:15.264303622Z <osmChange version="0.6" generator="libosmium/2.20.0">
2024-10-09T14:30:15.264306302Z </osmChange>
2024-10-09T14:30:15.265191475Z Update finished with status code: 3

over and over again. Is there anything i can try to make it work? or is this somehow known?
from within the container i cannot run this:
app/bin/dispatcher --osm-base --db-dir=/db/db --meta
File_Error No such file or directory 2 /db/db//osm3s_osm_base Unix_Socket::4

thanks a lot!!

Hi, I'm having the same, running this command:
docker run \
  -e OVERPASS_META=yes \
  -e OVERPASS_MODE=init \
  -e OVERPASS_PLANET_URL=http://download.geofabrik.de/europe/monaco-latest.osm.bz2 \
  -e OVERPASS_DIFF_URL=http://download.openstreetmap.fr/replication/europe/monaco/minute \
  -e OVERPASS_RULES_LOAD=10 \
  -v overpass-data:/db \
  -p 12345:80 \
  -i -t \
  --name overpass_monaco wiktorn/overpass-api

Did you find any solutions ?

no sadly not.
any other idea what to do?

What filesystem do you use for storing the database? Does it support unix sockets? I wonder if double forward slashes do not make a difference here.

Just for test, can you try running:
docker exec -it <your overpass container name> /bin/bash
apt update && apt install netcat-openbsd
nc -lU /db/socket-test

If netcat shows no errors, then indeed, your /db filesystem supports unix domain sockets and I can't understand why socket is missing, although all processes started correctly. If it fails, it means that whatever the filesystem is you mounted at /db, it's not supporting unix domain sockets and you need to fix this.


Issue 122: Fix error conv2d has multiple inbound nodes

This fixes #122

Not sure if there is any case where we have to use another node, but with this it seems to work fine.


Support for inline/embed images Attachments also normal Attachment

Support for inline/embed images Attachments also normal Attachment

New protected method "embedImages" to embed images in HTML include on $email['body_embed'], you can activate by send 'true' in "setEmbed" method
Every 'attachments' array now include 'disposition' (attachment|inline) and 'reference' (name as in HTML body if any)
Improve types PHPDocumentor comments
Improve code guidelines
Many minor fixes

Some email clients don't declare 'inline' or 'attachment' disposition on inline images. Now it's detectable based on subtype 'JEPG', 'GIF' and 'PNG'

Add priority (X-Priority) number extraction

this safed me a lot of time :) thank you very much

@SSilence Can you merge this please i need it too.


Add loading indicators

Description
As a user I would like to see the status of various tasks, like changing password, saving profile,etc
I would like to see a loading indicator when the process is running, instead of just a snack bar once the process has finished.
The following are the tasks where i would like to see it:

Change password
Saving profile.
(will add more incase I find any, feel free to add other such processes in the comments below)

Acceptance Criteria
Update [Required]

[ ] Add loading indicators

Definition of Done

[ ] All of the required items are completed.
[x] Approval by 1 mentor.

I hope some first timer picks this up, if not I'll ask the other maintainers to assign it to me :) good luck

completed all PRs apart from first timers, also looks like no one wants to pick this up. so.. @anitab-org/mentorship-flutter-maintainers  can I work on this? :smile:

go ahead @Techno-Disaster

3 day update : almost finished working on this locally kinda stuck due to a git issue


STORM-2781: Refactor storm-kafka-client KafkaSpout Processing Guarantees

Define processing guarantees as AT_LEAST_ONCE, AT_MOST_ONCE, NONE
Refactor method name from setForceEnableTupleTracking to setTupleTrackingEnforced
Throw IllegalStateException instead of IllegalArgumentException if spout attempts to emit an already committed message
Update documentation to reflect these changes

+1, good work.

I have squashed the commits and addressed the early return issue.

+1 again. The test failure is unrelated. Merged to master. There's a conflict when merging to 1.x, so please open another PR for that branch. Thanks.


v1.11 Changelog

@enahum I've made the requested changes ^

@esethna Can you help review this?

@enahum please help take another look and merge?


chore: Bundle the extension using esbuild

This should not affect the existing build and test flow, but adding an additional step right before building vsix package.
The esbuild.js is copied from VSCode extension generator template then format fixed by prettier.
This reduces the package size from ~5MB -> ~200KB.

Thanks for this PR! Properly bundling and minifying the extensions has been on my TODO list for a long time already.
I know that there were discussions on "should we build this extension via Bazel", but afaik they stalled. As such, I would be happy to move on with this PR. We can later still switch to Bazel, in case somebody is willing to put in the effort for this switch

I did a quick try (still not working) for using Bazel build for building this extension. It is more complicated even for only making a pbts command works in the build system. At first I thought it was at most just a bunch of genrules but it turns out it would be making npm repositories and I don't think I can finish them in a short time. (comparing to this pull request the first version is just done in under 10 minutes...)

I just made the corresponding changes in launch.json to support the debugging. I only validate that local breakpoint could be set in either "Launch Extension" and "Launch Extension Tests".
However I don't think I'm really understand how / why Debug Server works. It seems to be a debugging service for bazel build file instead of the plugin or typescript/javascript stuffs. I just made them into another binary, updating the referencedin package.json as well.

Still looking into the "watch" flow. I also have no idea for how to test these flow automatically to prevent regression.
For now I assume all developers are daily using it and would be triggered once broken again.


Redeploy of an EVC no longer fixes inconsistencies

Hi,
In the past we use redeploy feature to run a fresh setup of the EVC paths, and use it a lot in situations of problems like the EVC is having inconsistencies, the user is complaining about not forwarding, etc.
It happens that on 2023.2 we no longer can count on the redeploy feature to restart the deployment of the EVC:
> curl -X GET -u fulano -H 'Content-type: application/json' "https://xxxx/api/kytos/mef_eline/v2/evc/" > /tmp/evcs
> cat /tmp/evcs | jq -r '.["5679bb42a3a146"].current_path[]|.endpoint_a.id + " " + .endpoint_b.id + " " + (.metadata|tostring)'
00:00:00:00:00:xx:xx:03:1 00:00:00:00:00:xx:xx:04:1 {"s_vlan":{"tag_type":"vlan","value":15}}
00:00:00:00:00:xx:xx:10:25 00:00:00:00:00:xx:xx:04:32 {"s_vlan":{"tag_type":"vlan","value":1120}}
00:00:00:00:00:xx:xx:10:31 00:00:00:00:00:xx:xx:16:31 {"s_vlan":{"tag_type":"vlan","value":104}}
00:00:00:00:00:xx:xx:15:3 00:00:00:00:00:xx:xx:16:3 {"s_vlan":{"tag_type":"vlan","value":5}}
> curl -X PATCH -u fulano -H 'Content-type: application/json' "https://xxxx/api/kytos/mef_eline/v2/evc/{5679bb42a3a146}/redeploy"
Enter host password for user 'fulano':
{"response":"Circuit 5679bb42a3a146 redeploy received."}

> curl -X GET -u fulano -H 'Content-type: application/json' "https://xxxx/api/kytos/mef_eline/v2/evc/" > /tmp/evcs
> cat /tmp/evcs | jq -r '.["5679bb42a3a146"].current_path[]|.endpoint_a.id + " " + .endpoint_b.id + " " + (.metadata|tostring)'
00:00:00:00:00:xx:xx:03:1 00:00:00:00:00:xx:xx:04:1 {"s_vlan":{"tag_type":"vlan","value":15}}
00:00:00:00:00:xx:xx:10:25 00:00:00:00:00:xx:xx:04:32 {"s_vlan":{"tag_type":"vlan","value":1120}}
00:00:00:00:00:xx:xx:10:31 00:00:00:00:00:xx:xx:16:31 {"s_vlan":{"tag_type":"vlan","value":104}}
00:00:00:00:00:xx:xx:15:3 00:00:00:00:00:xx:xx:16:3 {"s_vlan":{"tag_type":"vlan","value":5}}

#
# As you can see, the service VLAN were still the same.
#

# Then we decided to redeploy the other EVC (11a6a9a8778945) which was conflicting with 5679bb42a3a146

> curl -X PATCH -u fulano -H 'Content-type: application/json' "https://xxxx/api/kytos/mef_eline/v2/evc/{11a6a9a8778945}/redeploy"
Enter host password for user 'fulano':
{"response":"Circuit 11a6a9a8778945 redeploy received."}

> curl -X GET -u fulano -H 'Content-type: application/json' "https://xxxx/api/kytos/mef_eline/v2/evc/" > /tmp/evcs
Enter host password for user 'fulano':
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 1892k  100 1892k    0     0   463k      0  0:00:04  0:00:04 --:--:--  463k

> cat /tmp/evcs | jq -r '.["5679bb42a3a146"].current_path[]|.endpoint_a.id + " " + .endpoint_b.id + " " + (.metadata|tostring)'
00:00:00:00:00:xx:xx:03:1 00:00:00:00:00:xx:xx:04:1 {"s_vlan":{"tag_type":"vlan","value":15}}
00:00:00:00:00:xx:xx:10:25 00:00:00:00:00:xx:xx:04:32 {"s_vlan":{"tag_type":"vlan","value":1120}}
00:00:00:00:00:xx:xx:10:31 00:00:00:00:00:xx:xx:16:31 {"s_vlan":{"tag_type":"vlan","value":104}}
00:00:00:00:00:xx:xx:15:3 00:00:00:00:00:xx:xx:16:3 {"s_vlan":{"tag_type":"vlan","value":5}}

> cat /tmp/evcs | jq -r '.["11a6a9a8778945"].current_path[]|.endpoint_a.id + " " + .endpoint_b.id + " " + (.metadata|tostring)'
00:00:00:00:00:xx:xx:10:25 00:00:00:00:00:xx:xx:04:32 {"s_vlan":{"tag_type":"vlan","value":1120}}
00:00:00:00:00:xx:xx:10:31 00:00:00:00:00:xx:xx:16:31 {"s_vlan":{"tag_type":"vlan","value":157}}
00:00:00:00:00:xx:xx:16:29 00:00:00:00:00:xx:xx:03:29 {"s_vlan":{"tag_type":"vlan","value":3}}
00:00:00:00:00:xx:xx:03:30 00:00:00:00:00:xx:xx:03:32 {"s_vlan":{"tag_type":"vlan","value":8}}
00:00:00:00:00:xx:xx:03:32 00:00:00:00:00:xx:xx:03:30 {"s_vlan":{"tag_type":"vlan","value":6}}

As can be seen above, even after some redeploys on two different EVCs, the service VLAN remained the same and as so the inconsistencies on the log, impacting the user. What triggered those inconsistencies? Just redeploying the EVCs in sequencial order (spaced with 5s). I had to disable both EVCs and then enable them again.

Indeed no same s vlans should be using in different EVCs, that's the root issue to be fixed:

Yes, I believe so.

Now using that to fix conflicting problems that shouldn't be in the first place was handy for network opertations, we could consider introducing a feature where that's an option for the redeploy such as instead of getting the next available, pick the last available svlan (that's not difficult to implement and cover with tests), and or also consider exposing which s-vlan should be used in all links (not sure how useful but could be a feature too)

You are right, I agree with you Vinicius. In this case, I suggest we use the same endpoint for redeploy and the default option to be choosing new s-vlans (but also adding an option to allow keep with the same). I'm saying this because the main usage of the redeployment now is exactly to handle those errors, so I think for usability it is better that the old behavior remains the same. What do you think?

redeploy and the default option to be choosing new s-vlans

That can be done, highly recommend to still add an option for that, because even though it was being used to also force new s-vlans, still using the same s-vlans without race conditions can also be valuable. But, yes you decide the default behavior of the option @italovalcy, whatever you think it's best. Since Ops were also used to use new s-vlans, that can be the default.
Implementation-wise, the easiest way that also minimizes other states to potentially implement this would be to remember/store if in the last deployemtn if the s-vlans was allocated as the next or last, and then in the next deployment pick up a different direction (from either next or last), since that's easy to get. But trying to remember which s vlan per link and storing all of that and passing down the the new deployment wouldn't be too trivial and a expressive amount of code. cc'ing @Alopalao to think about and contribute to the discussion since he was the main contributor of this part.

I agree with Italo, that would be the fastest implementation instead of comparing existing path with new one and trying to pick a different VLAN.
Now, about the cause of the issue, @italovalcy do you know if the flows for these conflicted EVCs were installed before and after the issue?

The behavior presented in this issue is expected. The VLAN is made available when the path is deleted and immediately used by the same EVC, resulting in the same VLAN.
We can implement two solutions to avoid the same VLAN but maintain some predictability.

Add an option to EVC to choose the "last" or "first" available VLAN for the links.
Remember the previous VLAN so the new VLAN is different. For example in case that the EVC is choosing the "first" VLAN available, the VLAN would be the smaller VLAN different than the previous VLAN. Naive implementation:

previous_vlan = 2
for vlan in range(1, 4095):
    if vlan != previous_vlan:
        vlan_taken = vlan
        break

In case of "last", the next VLAN would be the biggest VLAN different that the previous one.
Changes to mef_eline:

Add a field "last_tag" to EVC, if true the "last" VLAN will be taken. False is the default value.
Add a parameter to PATCH /mef_eline/v2/evc/{evc_id}/redeploy. last_tag a bool to determine new taken VLAN and it may change the last_tag value from the EVC if different. If there is not parameter, then the EVC will redeploy obeying the value stored in last_tag.

The behavior presented in this issue is expected. The VLAN is made available when the path is deleted and immediately used by the same EVC, resulting in the same VLAN.
We can implement two solutions to avoid the same VLAN but maintain some predictability.

Add an option to EVC to choose the "last" or "first" available VLAN for the links.
Remember the previous VLAN so the new VLAN is different. For example in case that the EVC is choosing the "first" VLAN available, the VLAN would be the smaller VLAN different than the previous VLAN. Naive implementation:

previous_vlan = 2
for vlan in range(1, 4095):
    if vlan != previous_vlan:
        vlan_taken = vlan
        break

In case of "last", the next VLAN would be the biggest VLAN different that the previous one.
Changes to mef_eline:

Add a field "last_tag" to EVC, if true the "last" VLAN will be taken. False is the default value.
Add a parameter to PATCH /mef_eline/v2/evc/{evc_id}/redeploy. last_tag a bool to determine new taken VLAN and it may change the last_tag value from the EVC if different. If there is not parameter, then the EVC will redeploy obeying the value stored in last_tag.

Hi Aldo and Vinicius, thanks for looking into this issue and providing this proposal. I would like to suggest another approach and see what you guys think.
If I understood correctly, the root cause of the problem is that we first release the resource, then we request new resources and finally we end up getting the same resource released before. My suggestion is for us to invert the logic here: request new resources, then release the current resources, then provision them. Using this logic we even avoid another problem: https://github.com/kytos-ng/mef_eline/issues/394
In other words, it seems like a correct assumption that we should release the current resources only if new resources are available.
What do you guys think?

Seems reasonable and the final result would be the same as in memorizing the previous VLAN. I think keeping the current_path will require a more careful implementation. Maybe even break down the cases in which the EVC are when changes in the topology occurred. As it is right now, most of the EVC path modification will require to delete the not longer used path. wdyt @viniarck

Checking for the case where we switch the order, I noticed that telemetry_int needs to know that an EVC has been "undeployed". For example, when updating an EVC and its needs deployment, the EVC will be remove before deploying. Maybe just send the "undeployed" event instead of deleting paths. For redeployment, we first delete as well but omitting it seems safe.

If I understood correctly, the root cause of the problem is that we first release the resource, then we request new resources and finally we end up getting the same resource released before.

That's true, but the root cause with the current implementation is the fact that now deallocating a s_vlan will put it back in order in the available_tags pool as opposed to in the end, so leaving room for it to get picked again sooner or even a new next, since they're allocated in order by default.

My suggestion is for us to invert the logic here: request new resources, then release the current resources, then provision them. Using this logic we even avoid another problem: #394

It's reasonable @italovalcy, but it's a medium/major change as you know and as @Alopalao pointed out, and especially since this is being asked to be backported, if we want to minimize refactoring risks and stability, I think we should deliver this incrementally: a) only fix s_vlan being different while providing a basic/minimal configuration option, and then later on 2024.2+ b) start considering other optimizations as you pointed out on https://github.com/kytos-ng/mef_eline/issues/394 when it gets prioritized.
Speaking of optimizations of not deallocating s_vlan first, there's a corner case with dynamic paths, where if a shared link has all s_vlans taken then it wouldn't be able to fully provision, whereas if deallocating that shared link first too it would give it back the s_vlan allowing it to provision, this is very rare but I think we need to reassess this type of thing too when considering other optimizations, that's different than the one you pointd out on 394, but it's related one.
That said, the option that @Alopalao suggested by remembering the s_vlan I think is good middle ground with also minimizing refactoring changes, since it's very lightweight implementation-wise we can provide guarantees that the s_vlan will be different (depending on the s_vlan specified strategy), while providing flexibility for in the future to change the s_vlan allocation strategy. And then, when b) gets prioritized this shouldn't impact on since the implementation would operate at a higher level so it could decide not to remove the path yet, and if a link up comes up and that path becomes active again then no convergence operation happens (that's assuming what we currently have that it doesn't need to try to search for a better path).
Can we go for a more incremental approach for now @italovalcy @Alopalao? Especially considering that's important to be backported for prod, unless that changed let us know, then we can consider the other adjacent proposals here too.

@Alopalao, regarding picking a different vlan, notice that in this example naive implementation in some cases it'd still need to give an extra s_vlan back too if it conflicted with the prior_s_vlan or old_s_vlan, it can work but now imagine with multiple EVCs doing all of this concurrently, it'll work too and the locks won't be held for too long since it's not too computationally expensive, but it can cause a bit of attrition with the underlying link and endpoints locks.
Since your implementation of picking the last tag has landed on master, can we also store which direction in the metadata was used and then pick the opposite side since that minimizes conflicts? The only exception would be when there's only one tag, but in that case it can either use the same or consider that's it's not available. In the future we can also provide an option to try to allocate a specific s_vlan too if ever needed, so storing both of these link metadata prior_s_vlan|old_s_vlan = number and s_vlan_prior_side|s_vlan_old_side = "first|last" might be handy I believe.
And then in the EVC we could expose this updatable attr: svlan_alloc_strategy: str = "different_or_same|different", where "different_or_same" would allocate a diff s_vlan alternating, and if there's only one it'd try to use the same, or different where it would be a hard requirement where it always need to be different, and then we set either of this values as a default. The prior implementation was equivalent to "different_or_same" since it was fully rotating for each link on each dealloc/alloc operation.
Food for thought. What do you think? cc'ing also @italovalcy if he has other ideas to contribute too.

Checking for the case where we switch the order, I noticed that telemetry_int needs to know that an EVC has been "undeployed". For example, when updating an EVC and its needs deployment, the EVC will be remove before deploying. Maybe just send the "undeployed" event instead of also deleting paths. For redeployment, we first delete as well but omitting it seems safe.

Yes, in summary, telemetry_int always follows mef_eline path changes + also the convergence of the external loops. So, whatever mef_eline does and will do in the future convergence path wise, telemetry_int has to keep following and subscribing to it. Also, telemetry_int also removes first in certain specific telemetry_int events like redeploy. Historically the full removal was desired to have and provided extra sanity in some cases, excluding the optimization part of what was being discussed here.

so storing both of these link metadata prior_s_vlan|old_s_vlan = number and s_vlan_prior_side|s_vlan_old_side = "first|last" might be handy I believe.

While this behavior can be achieved with minor changes, storing it in the link might require more changes. The problem is that we always find a new path for API request update and redeploy. mef_eline discards the previous path. Is it desirable to reuse the old path with only different VLANs for these cases? This would change the redeployment to instead re-installed flows in case where the path can be deployed again.

so storing both of these link metadata prior_s_vlan|old_s_vlan = number and s_vlan_prior_side|s_vlan_old_side = "first|last" might be handy I believe.

While this behavior can be achieved with minor changes, storing it in the link might require more changes. The problem is that we always find a new path for API request update and redeploy. mef_eline discards the previous path.

Oh yes, good observation. That would require keeping more states than I anticipated.

Is it desirable to reuse the old path with only different VLANs for these cases? This would change the redeployment to instead re-installed flows in case where the path can be deployed again.

That's a good point. For static EVCs, I'd say yes based on what Italo asked, the old path (either primary or backup) would always use a different s_vlan. But, now for this case for dynamic EVCs, there's the case that Italo was mentioning that if there's no other path the removal of this path could be delayed since a subsequent link up might or might not make it active again.


frontend: Remove purposeless title attributes from gear menu.

Removed the titles that didn't give any extra information to the user. Kept the Webathena one as it is informative.

Automated message from Dropbox CLA bot
@vaidap, it looks like you've already signed the Dropbox CLA. Thanks!

Looks great, will merge assuming it passes tests.

Merged, thanks @vaidap!


Crash on World entry

Loading world causes stack trace that refers to Immersive Portals.  I'm not running Optifine.
Stack Trace:
Description: Unexpected error

java.lang.NullPointerException: Unexpected error
	at com.qouteall.immersive_portals.SatinCompatibility.isSatinShaderEnabled(SatinCompatibility.java:40)
	at com.qouteall.immersive_portals.ModMainClient.switchToCorrectRenderer(ModMainClient.java:64)
	at net.minecraft.class_757.handler$zhe000$onBeforeRenderingCenter(class_757.java:1440)
	at net.minecraft.class_757.method_3192(class_757.java:543)
	at net.minecraft.class_310.method_1523(class_310.java:947)
	at net.minecraft.class_310.method_1514(class_310.java:585)
	at net.minecraft.client.main.Main.main(Main.java:202)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at net.fabricmc.loader.game.MinecraftGameProvider.launch(MinecraftGameProvider.java:193)
	at net.fabricmc.loader.launch.knot.Knot.init(Knot.java:138)
	at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:26)

Full Log:  https://pastebin.com/17Fyhfg6

New world, never launched before.

Having this similar issue as well:
Minecraft 1.15.1
Fabric: 0.7.2.build.175
Immersive Portals: 1.15.1-2

should be fixed in 1.15-3 version

Confirmed, crash is resolved.
FWIW, I don't know if it was true prior to the fix (my first attempt to use this mod), but without a portal I get 60 fps (4.2GHz Intel 7700k with 32GB RAM and a GeForce GTX 1080), but once I create a portal, that drops to about 19 fps once the world on the other side is visible.  It doesn't seem to improve over time.

Viewing a portal usually decrease fps from 10% to 40%. That's abnormal.
Does this happen without other mods? What's your render distance?

Render Distance was 16.  I dropped it to 8 and it's improved quite a bit.  I have a lot of other mods, some are worldgen-related, so I'm presuming to display the other side for the first time, there's a lot of worldgen happening once the portal is displayed.


Error during fetching a job  Error: No one left position or right position was found. Interpolation impossible. Client ID: 9

Actions before raising this issue

[X] I searched the existing issues and did not find anything similar.
[X] I read/searched the docs

Steps to Reproduce

Created a Rectangle Track Label on an image.
Deleted the image without deleting the Track Label Tag.
CVAT stopped working.

Expected Behavior
This should not occur as deleting a image containing the Track Label should just remove the Track Label.
Possible Solution
No response
Context

I have to get the data back as it is for a university project.
Environment
-Ubuntu Docker Install of CVAT

Duplicate #7406

Thanks for the quick reply. Also sorry about not researching thoroughly. Will make sure it doesn't happen again!


pytest-pystack raises exception when using with pytester fixture

Describe the bug
Pytest provides pytester fixture to allow to validate if fixtures provided by a package works correctly:
https://docs.pytest.org/en/7.1.x/reference/reference.html?highlight=pytester#pytester
However, this leads to run test in test and leads pytest-pystack to crash.
Process pystack_monitor:
Traceback (most recent call last):
  File "/home/czaki/.pyenv/versions/3.11.5/lib/python3.11/multiprocessing/process.py", line 314, in _bootstrap
    self.run()
  File "/home/czaki/.pyenv/versions/3.11.5/lib/python3.11/multiprocessing/process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "/home/czaki/.pyenv/versions/napari_3.11/lib/python3.11/site-packages/pytest_pystack/_monitor_process.py", line 57, in _run_monitor
    raise Exception(
Exception: new test should not start before previous test finished

This stacktrace comes from https://github.com/napari/napari/blob/cb7f46dfe0100c3afdd622faca768bc393b19636/napari/_tests/test_pytest_plugin.py
To Reproduce
Steps to reproduce the behavior:

Create a test that uses pytester fixture to run tests
Run it in environment with pytest-pystack

Expected behavior
Allow use pytester with pytest-pystack
Screenshots
If applicable, add screenshots to help explain your problem.
Environment (please complete the following information):

Operating System and Version: GitHub actions all systems

Will take a look at this soon

Hummm, I cannot reproduce this. I am checking with this test file:
import pytest
import time

pytest_plugins = 'pytester'

def test_make_napari_viewer(pytester):
    """Make sure that our make_napari_viewer plugin works."""

    # create a temporary pytest test file
    pytester.makepyfile(
        """
            import time
            time.sleep(100)
            assert 1 == 2

    """
    )
    # run all tests with pytest
    result = pytester.runpytest()

    # check that all 1 test passed
    result.assert_outcomes(passed=1)

And running python -m pytest the_file.py  --pystack-threshold=2 -vv work correctly as expected (pystack prints output after 2 seconds):
...
    (Python) File "/venv/lib/python3.10/site-packages/pluggy/_result.py", line 61, in from_call
        result = func()
    (Python) File "/venv/lib/python3.10/site-packages/pluggy/_manager.py", line 470, in <lambda>
        lambda: oldcall(hook_name, hook_impls, caller_kwargs, firstresult)
    (Python) File "/venv/lib/python3.10/site-packages/pluggy/_callers.py", line 102, in _multicall
        res = hook_impl.function(*args)
    (Python) File "/venv/lib/python3.10/site-packages/_pytest/runner.py", line 390, in pytest_make_collect_report
        call = CallInfo.from_call(collect, "collect")
    (Python) File "/venv/lib/python3.10/site-packages/_pytest/runner.py", line 340, in from_call
        result: Optional[TResult] = func()
    (Python) File "/venv/lib/python3.10/site-packages/_pytest/runner.py", line 388, in collect
        return list(collector.collect())
    (Python) File "/venv/lib/python3.10/site-packages/_pytest/python.py", line 576, in collect
        self._register_setup_module_fixture()
    (Python) File "/venv/lib/python3.10/site-packages/_pytest/python.py", line 589, in _register_setup_module_fixture
        self.obj, ("setUpModule", "setup_module")
    (Python) File "/venv/lib/python3.10/site-packages/_pytest/python.py", line 315, in obj
        self._obj = obj = self._getobj()
    (Python) File "/venv/lib/python3.10/site-packages/_pytest/python.py", line 573, in _getobj
        return importtestmodule(self.path, self.config)
    (Python) File "/venv/lib/python3.10/site-packages/_pytest/python.py", line 520, in importtestmodule
        mod = import_path(
    (Python) File "/venv/lib/python3.10/site-packages/_pytest/pathlib.py", line 584, in import_path
        importlib.import_module(module_name)
    (Python) File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
        return _bootstrap._gcd_import(name[level:], package, level)
    (Python) File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
    (Python) File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
    (Python) File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
    (Python) File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
    (Python) File "/venv/lib/python3.10/site-packages/_pytest/assertion/rewrite.py", line 178, in exec_module
        exec(co, module.__dict__)
    (Python) File "/tmp/pytest-of-root/pytest-26/test_make_napari_viewer0/test_make_napari_viewer.py", line 2, in <module>
        time.sleep(100)
``

Your example does not contain a test in the created file. Try this one:
import pytest
import time

pytest_plugins = 'pytester'

def test_make_napari_viewer(pytester):
    """Make sure that our make_napari_viewer plugin works."""

    # create a temporary pytest test file
    pytester.makepyfile(
        """
            import time

            def test_sleep():
                time.sleep(1)
                assert 1 == 2

    """
    )
    # run all tests with pytest
    result = pytester.runpytest()

    # check that all 1 test passed
    result.assert_outcomes(passed=1)

I could reproduce with this example but with Python 3.13 beta 1 soon I cannot prioritise this currently as I need to attend other projects. Maybe @gusmonod can take a look
Otherwise if you want to give it a go we can take a PR :)

Oh, actually I haven't realised you opened a PR here:
https://github.com/bloomberg/pytest-pystack/pull/11
Can you add a test for this and we can merge it?

Added test


added font awesome 5

I need to use Font Awesome 5, not just Font Awesome. I don't want to keep editing the node_modules/. This 3 line fix should fix the issue. Sorry if I did this wrong!

Hi @SyedAbutalib ! This is cool, thanks for helping out with this. We'll add this in v0.6!
Thanks!


@azure/batch: API version 2023-05-01 release

Packages impacted by this PR
@azure/batch
Issues associated with this PR
N/A
Describe the problem that is addressed by this PR
Release a new version of TS SDK according to Azure Batch's new API version (2023-05-01)
What are the possible designs available to address the problem? If there are more than one possible design, why was the one in this PR chosen?
N/A
Are there test cases added in this PR? (If not, why?)
Yes, to test new properties
Provide a list of related PRs (if any)
Swagger API change PR: https://github.com/Azure/azure-rest-api-specs/pull/24181
Command used to generate this PR:**(Applicable only to SDK release request PRs)
Checklists

[x] Added impacted package name to the issue description
[ ] Does this PR needs any fixes in the SDK Generator?** (If so, create an Issue in the Autorest/typescript repository and link it here)
[x] Added a changelog (if necessary)

/check-enforcer evaluate


GH-33976: [Python] Add scan ExecNode options

Continuing GH-34102, this adds the exec node options classes defined in the dataset module (scan, not yet write).

Issue: #33976

Going to merge this so I can continue with https://github.com/apache/arrow/pull/34401.


Document which font names are safe to use

See #81. Viz.js doesn't include fontconfig or have access to any system fonts, so Graphviz must fall back on its own metrics to estimate text span sizes. If other names are used, it may not measure text correctly.
See also:
https://github.com/ellson/graphviz/blob/master/lib/common/textspan.c
https://github.com/ellson/graphviz/blob/master/doc/fontfaq.txt

Is there some way for me to find out this info myself? Trial and error gave Courier as a working font, but me no like.

In this document you can find names of fonts supported by Graphviz natively.

I believe it is Times, Arial, Helvetica, and Courier.

I went for Helvetica and it's ok for now at least.

Strange. I got Marcins comment by email, but I don't see it on github.
On 2017-04-07 12:14, Marcin Stefaniuk wrote:

In this document http://www.graphviz.org/doc/fontfaq.txt you can find names of fonts supported by Graphviz natively.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/mdaines/viz.js/issues/82#issuecomment-292499031, or mute the thread https://github.com/notifications/unsubscribe-auth/AGDmKLoyISZCqnygp-pyHHVif6IrLUM-ks5rtgycgaJpZM4M1hAw.

@magjac I wrote this but just after that I had noticed that this link is already in first comment...


Suitable license attribution

@zanders3 I wanted to check you're happy with the attribution of the library and your work in the library we just open-sourced. - https://github.com/heroiclabs/nakama-dotnet
The README suggest we add this library as sources to a project which requires it.

Simply copy and paste the JSON Parser and/or the JSON Writer into your project. I also provide NuGet but I recommend the copy paste route ;)

That's what I've done but added it like so:

The source files have an MIT header at the top of each of them.
The folder with the sources has your MIT license file copied into it.
A note in the README mentions this project.

Let me know if you want anything changed. Thanks for the great work. 👍

That's great! Nice project.

Perfect. Thanks @zanders3!


yq options don't seem to be working in scripts/generateValues.sh

yq --version yq 3.1.0
jq is 1.7_pre20201109-r1 (gentoo), happens with 1.6 as well.
task: [generate] ./scripts/generateValues.sh
usage: yq [-h] [--yaml-output] [--yaml-roundtrip]
          [--yaml-output-grammar-version {1.1,1.2}] [--width WIDTH]
          [--indentless-lists] [--in-place] [--version]
          [jq_filter] [files ...]
yq: error: argument files: can't open '(.. | select(has("tag")) | pick(["registry","repository","tag","digest"])) as $i ireduce({}; setpath($i | path; $i))': [Errno 2] No such file or directory: '(.. | select(has("tag")) | pick(["registry"
,"repository","tag","digest"])) as $i ireduce({}; setpath($i | path; $i))'
usage: yq [-h] [--yaml-output] [--yaml-roundtrip]
          [--yaml-output-grammar-version {1.1,1.2}] [--width WIDTH]
          [--indentless-lists] [--in-place] [--version]
          [jq_filter] [files ...]
yq: error: argument files: can't open '(...|select(has("tag"))) |.repository | (. | parent | path | join("."))': [Errno 2] No such file or directory: '(...|select(has("tag"))) |.repository | (. | parent | path | join("."))'
usage: yq [-h] [--yaml-output] [--yaml-roundtrip]
          [--yaml-output-grammar-version {1.1,1.2}] [--width WIDTH]
          [--indentless-lists] [--in-place] [--version]
          [jq_filter] [files ...]
yq: error: argument files: can't open '(...|select(has("tag"))) |.repository | (. | sub("bitnami/(.*)", "${1}"))': [Errno 2] No such file or directory: '(...|select(has("tag"))) |.repository | (. | sub("bitnami/(.*)", "${1}"))'
================================================================
airflow
================================================================
usage: yq [-h] [--yaml-output] [--yaml-roundtrip]
          [--yaml-output-grammar-version {1.1,1.2}] [--width WIDTH]
          [--indentless-lists] [--in-place] [--version]
          [jq_filter] [files ...]
yq: error: argument files: can't open '(.. | select(has("tag")) | pick(["registry","repository","tag","digest"])) as $i ireduce({}; setpath($i | path; $i))': [Errno 2] No such file or directory: '(.. | select(has("tag")) | pick(["registry"
,"repository","tag","digest"])) as $i ireduce({}; setpath($i | path; $i))'
usage: yq [-h] [--yaml-output] [--yaml-roundtrip]
          [--yaml-output-grammar-version {1.1,1.2}] [--width WIDTH]
          [--indentless-lists] [--in-place] [--version]
          [jq_filter] [files ...]
yq: error: argument files: can't open '(...|select(has("tag"))) |.repository | (. | parent | path | join("."))': [Errno 2] No such file or directory: '(...|select(has("tag"))) |.repository | (. | parent | path | join("."))'
usage: yq [-h] [--yaml-output] [--yaml-roundtrip]
          [--yaml-output-grammar-version {1.1,1.2}] [--width WIDTH]
          [--indentless-lists] [--in-place] [--version]
          [jq_filter] [files ...]
yq: error: argument files: can't open '(...|select(has("tag"))) |.repository | (. | sub("bitnami/(.*)", "${1}"))': [Errno 2] No such file or directory: '(...|select(has("tag"))) |.repository | (. | sub("bitnami/(.*)", "${1}"))'

You are using a version that is too low. I recommend using version 4.30 or higher of yq for this script.
          architecture=""
          case $(uname -m) in
            x86_64)  architecture="amd64" ;;
            aarch64) architecture="arm64" ;;
          esac
          echo ${architecture}
          if ! hash yq 2>/dev/null
          then
            export VERSION=v4.30.5
            export BINARY=yq_linux_${architecture}
            wget https://github.com/mikefarah/yq/releases/download/${VERSION}/${BINARY}.tar.gz -O - | tar xz
            sudo mv ${BINARY} /usr/local/bin/yq
          fi

hmm, it looks like that's a fork or something (upstream https://pypi.org/project/yq/ shows 3.1.0) to be the latest.

edit: looks like you want the go implementation of yq


indexes for MQTs not shown

I am using DBeaver 3.5.3 as Eclipse Plugin for DB2 databases.
When expanding a database in the database navigator an MQT only has the child node Columns but not Indexes.
That is wrong because MQTS can have indexes too.

The missing folder with MQTs indexes will be added in the next version


PPF-280: add python 3.10 and 3.11 as part of tests

Codecov Report
Base: 100.00% // Head: 100.00% // No change to project coverage :thumbsup:

Coverage data is based on head (7df56da) compared to base (524136d).
 Consider uploading reports for the commit f520325 to get more accurate results

Additional details and impacted files
@@            Coverage Diff            @@
##            master      #281   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           18        18
  Lines          916       916
=========================================
  Hits           916       916

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


ouputting off is codevelop is empty fixes #645

Codecov Report

Merging #647 (584b1dc) into develop (28b03e4) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff            @@
##           develop     #647   +/-   ##
========================================
  Coverage    95.73%   95.73%
========================================
  Files          129      129
  Lines         8450     8450
========================================
  Hits          8090     8090
  Misses         360      360

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 28b03e4...584b1dc. Read the comment docs.


Always add an image to an existing list if that list name exists

It's possible to create duplicate lists with the same name using the List interface if you don't pick from the autocomplete. On the server side, check whether a list with the same name exists before adding a new one.

Fixed


Input scrubbing for UCI values

Fixes things for people who want a wifi name or password with '

@mpapierski it's possible escaping is enough not sure how much we want to get into it.


make tortoise initialization cheap

related: https://github.com/spacemeshos/go-spacemesh/issues/3006

2023-09-13T11:11:44.030+0200	INFO	tortoise initialized	{"duration": "33.563451505s", "name": ""}

during loading from disk

heap alloc objects

superseded by several other changes