Omnisharp fails to load certain .csproj files, unable to write lines to temporary file

Environment data
dotnet --info output:
.NET Command Line Tools (1.0.0-preview2-003131)

Product Information:
 Version:            1.0.0-preview2-003131
 Commit SHA-1 hash:  635cf40e58

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.16299
 OS Platform: Windows
 RID:         win10-x64

VS Code version: 1.18.1
C# Extension version: 1.13.1
Steps to reproduce
Loading a C# project with a .csproj file inherently similar to this scripts template in VS Code.
Expected  behavior
Omnisharp should successfully load, giving the project Intellisense luxuries and the rest of Omnisharp's cool features.
Actual behavior
Omnisharp fails to load the .csproj file, named scripts.
[fail]: OmniSharp.MSBuild.ProjectFile.ProjectFileInfo
        Could not write lines to file "\\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs". The UNC path should be of the form \\server\share.
[warn]: OmniSharp.MSBuild.MSBuildProjectSystem
        Failed to load project file 'd:\Alice\osu!\storybrew\projects\be-your-light\scripts.csproj'.
d:\Alice\osu!\storybrew\projects\be-your-light\scripts.csproj

Full log
Starting OmniSharp server at 2017-12-10 15:57:57
    Target: d:\Alice\osu!\storybrew\projects\be-your-light\storyboard.sln

OmniSharp server started
    Path: C:\Users\Starrodkirby86\.vscode\extensions\ms-vscode.csharp-1.13.1\.omnisharp\OmniSharp.exe
    PID: 6876

[info]: OmniSharp.Stdio.Host
        Starting OmniSharp on Windows 6.2.9200.0 (x64)
[info]: OmniSharp.MSBuild.Discovery.MSBuildLocator
        Located 2 MSBuild instance(s)
            1: Visual Studio Professional 2017 15.3.26730.12 - "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin"
            2: StandAlone 15.0 - "C:\Users\Starrodkirby86\.vscode\extensions\ms-vscode.csharp-1.13.1\.omnisharp\msbuild\15.0\Bin"
[info]: OmniSharp.MSBuild.Discovery.MSBuildLocator
        Registered MSBuild instance: Visual Studio Professional 2017 15.3.26730.12 - "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin"
[info]: OmniSharp.Cake.CakeProjectSystem
        Detecting Cake files in 'd:\Alice\osu!\storybrew\projects\be-your-light'.
[info]: OmniSharp.Cake.CakeProjectSystem
        Could not find any Cake files
[info]: OmniSharp.DotNet.DotNetProjectSystem
        Initializing in d:\Alice\osu!\storybrew\projects\be-your-light
[info]: OmniSharp.DotNet.DotNetProjectSystem
        Auto package restore: False
[info]: OmniSharp.DotNet.DotNetProjectSystem
        Update workspace context
[info]: OmniSharp.DotNet.DotNetProjectSystem
        Resolving projects references
[info]: OmniSharp.MSBuild.MSBuildProjectSystem
        Detecting projects in 'd:\Alice\osu!\storybrew\projects\be-your-light\storyboard.sln'.
[info]: OmniSharp.MSBuild.MSBuildProjectSystem
        Loading project: d:\Alice\osu!\storybrew\projects\be-your-light\scripts.csproj
[fail]: OmniSharp.MSBuild.ProjectFile.ProjectFileInfo
        Could not write lines to file "\\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs". The UNC path should be of the form \\server\share.
[warn]: OmniSharp.MSBuild.MSBuildProjectSystem
        Failed to load project file 'd:\Alice\osu!\storybrew\projects\be-your-light\scripts.csproj'.
d:\Alice\osu!\storybrew\projects\be-your-light\scripts.csproj

[info]: OmniSharp.Script.ScriptProjectSystem
        Detecting CSX files in 'd:\Alice\osu!\storybrew\projects\be-your-light'.
[info]: OmniSharp.Script.ScriptProjectSystem
        Could not find any CSX files
[info]: OmniSharp.Stdio.Host
        Invoking Workspace Options Provider: OmniSharp.Roslyn.CSharp.Services.CSharpWorkspaceOptionsProvider
[info]: OmniSharp.Stdio.Host
        Configuration finished.
[info]: OmniSharp.Stdio.Host
        Omnisharp server running using Stdio at location 'd:\Alice\osu!\storybrew\projects\be-your-light' on host 4728.

Other remarks
Loading traditional projects, such as ones created fresh in Visual Studio, do work. Omnisharp can load those kinds of projects successfully without any hitches. These particular projects that Omnisharp is failing to load are generated by an editor program, which are based off this file I linked earlier. Perhaps there is something inherently different about this kind of project file?
This error does not occur when using the v1.12.1 release. It may be possible that this bug occurs due to an introduced feature or change made from v1.13.0 and higher. The error also occurs in Omnisharp v1.13.0, along with the latest release, v1.14.0-beta2.

@starrodkirby86 OmniSharp was updated to use MSBuild included with Visual Studio 2017 if you have it installed. It looks like you have VS 2017 15.3 installed. Would you mind updating your VS installation to see if a newer MSBuild release solves this for you?

I can replicate this behaviour on two machines, most notably on a Windows 7 SP1 machine that has no Visual Studio installed.
Visual Studio Code 1.18.1
C# Extension version: 1.13.1
Log
Starting OmniSharp server at 2017-12-13 21:48:20
    Target: c:\Users\Florian\Desktop\storybrew.1.58\projects\testproject\storyboard.sln

OmniSharp server started
    Path: C:\Users\Florian\.vscode\extensions\ms-vscode.csharp-1.13.1\.omnisharp\OmniSharp.exe
    PID: 1448

[info]: OmniSharp.Stdio.Host
        Starting OmniSharp on Windows 6.1.7601.65536 (x64)
[info]: OmniSharp.MSBuild.Discovery.MSBuildLocator
        Located 1 MSBuild instance(s)
            1: StandAlone 15.0 - "C:\Users\Florian\.vscode\extensions\ms-vscode.csharp-1.13.1\.omnisharp\msbuild\15.0\Bin"
[info]: OmniSharp.MSBuild.Discovery.MSBuildLocator
        MSBUILD_EXE_PATH environment variable set to 'C:\Users\Florian\.vscode\extensions\ms-vscode.csharp-1.13.1\.omnisharp\msbuild\15.0\Bin\MSBuild.exe'
[info]: OmniSharp.MSBuild.Discovery.MSBuildLocator
        Registered MSBuild instance: StandAlone 15.0 - "C:\Users\Florian\.vscode\extensions\ms-vscode.csharp-1.13.1\.omnisharp\msbuild\15.0\Bin"
            CscToolExe = csc.exe
            CscToolPath = C:\Users\Florian\.vscode\extensions\ms-vscode.csharp-1.13.1\.omnisharp\msbuild\15.0\Bin\Roslyn
            MSBuildExtensionsPath = C:\Users\Florian\.vscode\extensions\ms-vscode.csharp-1.13.1\.omnisharp\msbuild
            MSBuildToolsPath = C:\Users\Florian\.vscode\extensions\ms-vscode.csharp-1.13.1\.omnisharp\msbuild\15.0\Bin
[info]: OmniSharp.Cake.CakeProjectSystem
        Detecting Cake files in 'c:\Users\Florian\Desktop\storybrew.1.58\projects\testproject'.
[info]: OmniSharp.Cake.CakeProjectSystem
        Could not find any Cake files
[info]: OmniSharp.DotNet.DotNetProjectSystem
        Initializing in c:\Users\Florian\Desktop\storybrew.1.58\projects\testproject
[info]: OmniSharp.DotNet.DotNetProjectSystem
        Auto package restore: False
[info]: OmniSharp.DotNet.DotNetProjectSystem
        Update workspace context
[info]: OmniSharp.DotNet.DotNetProjectSystem
        Resolving projects references
[info]: OmniSharp.MSBuild.MSBuildProjectSystem
        Detecting projects in 'c:\Users\Florian\Desktop\storybrew.1.58\projects\testproject\storyboard.sln'.
[info]: OmniSharp.MSBuild.MSBuildProjectSystem
        Loading project: c:\Users\Florian\Desktop\storybrew.1.58\projects\testproject\scripts.csproj
[fail]: OmniSharp.MSBuild.ProjectFile.ProjectFileInfo
        Could not write lines to file "\\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs". Der UNC-Pfad muss folgendes Format haben: \\server\share.
[warn]: OmniSharp.MSBuild.MSBuildProjectSystem
        Failed to load project file 'c:\Users\Florian\Desktop\storybrew.1.58\projects\testproject\scripts.csproj'.
c:\Users\Florian\Desktop\storybrew.1.58\projects\testproject\scripts.csproj

[info]: OmniSharp.Script.ScriptProjectSystem
        Detecting CSX files in 'c:\Users\Florian\Desktop\storybrew.1.58\projects\testproject'.
[info]: OmniSharp.Script.ScriptProjectSystem
        Could not find any CSX files
[info]: OmniSharp.Stdio.Host
        Invoking Workspace Options Provider: OmniSharp.Roslyn.CSharp.Services.CSharpWorkspaceOptionsProvider
[info]: OmniSharp.Stdio.Host
        Configuration finished.
[info]: OmniSharp.Stdio.Host
        Omnisharp server running using Stdio at location 'c:\Users\Florian\Desktop\storybrew.1.58\projects\testproject' on host 212.

I also confirmed that it is working fine with v1.12.1

Thank you for your response, @rchande .
Upgraded my VS to 15.5. However, I'm still getting the same MSBuild error:
Starting OmniSharp server at 2017-12-13 14:01:46
    Target: d:\Alice\osu!\storybrew\projects\be-your-light\storyboard.sln

OmniSharp server started
    Path: C:\Users\Starrodkirby86\.vscode\extensions\ms-vscode.csharp-1.13.1\.omnisharp\OmniSharp.exe
    PID: 14868

[info]: OmniSharp.Stdio.Host
        Starting OmniSharp on Windows 6.2.9200.0 (x64)
[info]: OmniSharp.MSBuild.Discovery.MSBuildLocator
        Located 2 MSBuild instance(s)
            1: Visual Studio Professional 2017 15.5.27130.2003 - "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin"
            2: StandAlone 15.0 - "C:\Users\Starrodkirby86\.vscode\extensions\ms-vscode.csharp-1.13.1\.omnisharp\msbuild\15.0\Bin"
[info]: OmniSharp.MSBuild.Discovery.MSBuildLocator
        Registered MSBuild instance: Visual Studio Professional 2017 15.5.27130.2003 - "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin"
[info]: OmniSharp.Cake.CakeProjectSystem
        Detecting Cake files in 'd:\Alice\osu!\storybrew\projects\be-your-light'.
[info]: OmniSharp.Cake.CakeProjectSystem
        Could not find any Cake files
[info]: OmniSharp.DotNet.DotNetProjectSystem
        Initializing in d:\Alice\osu!\storybrew\projects\be-your-light
[info]: OmniSharp.DotNet.DotNetProjectSystem
        Auto package restore: False
[info]: OmniSharp.DotNet.DotNetProjectSystem
        Update workspace context
[info]: OmniSharp.DotNet.DotNetProjectSystem
        Resolving projects references
[info]: OmniSharp.MSBuild.MSBuildProjectSystem
        Detecting projects in 'd:\Alice\osu!\storybrew\projects\be-your-light\storyboard.sln'.
[info]: OmniSharp.MSBuild.MSBuildProjectSystem
        Loading project: d:\Alice\osu!\storybrew\projects\be-your-light\scripts.csproj
[fail]: OmniSharp.MSBuild.ProjectFile.ProjectFileInfo
        Could not write lines to file "\\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs". The UNC path should be of the form \\server\share.
[warn]: OmniSharp.MSBuild.MSBuildProjectSystem
        Failed to load project file 'd:\Alice\osu!\storybrew\projects\be-your-light\scripts.csproj'.
d:\Alice\osu!\storybrew\projects\be-your-light\scripts.csproj

[info]: OmniSharp.Script.ScriptProjectSystem
        Detecting CSX files in 'd:\Alice\osu!\storybrew\projects\be-your-light'.
[info]: OmniSharp.Script.ScriptProjectSystem
        Could not find any CSX files
[info]: OmniSharp.Stdio.Host
        Invoking Workspace Options Provider: OmniSharp.Roslyn.CSharp.Services.CSharpWorkspaceOptionsProvider
[info]: OmniSharp.Stdio.Host
        Configuration finished.
[info]: OmniSharp.Stdio.Host
        Omnisharp server running using Stdio at location 'd:\Alice\osu!\storybrew\projects\be-your-light' on host 9612.

As before, projects created in Visual Studio do not have this build error. Only the projects generated from the scripts.csproj file in the opening post seem to do that so far.

After some troubleshooting it occured that starrodkirby86 had linked not quite the correct file.
Although very similar, the scripts template looks or rather looked like this.
The notable difference being the line
<IntermediateOutputPath>\</IntermediateOutputPath>
Originally this line was supposed to stop the creation of an obj/ directory.
Starting with v.1.13.0 it now seems to be mandatory.
For the time being we opted to set it to a shared cache folder in order to circumvent the problem.
It appears to me as odd that with v1.13.1 IntermediateOutputPath can no longer be set to \ while OutputPath still can.

I got the same problem, (in my case) creating a cordova project, adding a windows platform and loading plug-ins.
So if there is a .sln-file AND you have Visual-Studio installed, maybe you get further help, if you open the sln-file with Visual Studio getting a Migration Report.
I assume if Visual-Studio can't build, OmniSharp can't also, as it uses the same build engine.


Numeric restrictions in template rules

To allow indicating that a statement must have a scaled score > 0.8, for example.

I'm against this due to the added complexity for processing. You can already indicate this in a human readable form and there's nothing to stop systems familiar with specific profiles adding custom validation/processing.

Pending a concrete proposal from an advocate, will be left for consideration post 1.0. If a particular proposal happens, we'll take a look.


When you cover the sensor: it shows ‘Direct sun’.

It should be darker. Is it just the flakiness of the light resistor?

lightMeter.setLightLevel(value) expects a number between 0-1 where 0 is darkness and 1 is brightness.
The light resistor does the opposite (darkness is 1, brightness is 0) this code could flip the value to correct it before publishing e.g.
var value = (1 - this.value).toString()


Failed to create the WebView control

Environment
Windows build number: Microsoft Windows [Version 10.0.17763.1217]
PowerToys version: 0.18.0
PowerToy module for which you are reporting the bug (if applicable):

Steps to reproduce

Start PowerToys
RMB click on PowerToys icon in taskbar
3.Click Settings

Expected behavior
Settings
Actual behavior
Message about error
Screenshots

We migrated to a new Settings which requires Windows 10 version 1903 or above (build 18362)


"Absolute score" of a logistic regression classifier

In the paper in 4.3, you mention a phrase is included if their absolute score is above 1.5. In this context, what does absolute score reference?

I believe the (full) sentence you're referencing is
"Phrases are scored using the logistic regression with n-gram features described in Section 4.1, and included if their absolute score is over 1.5."
So, absolute score denotes the score computed from the ngram logistic regression (very basic, follows Zhang et. al 2016, and described in 4.1.2). In particular, for a given phrase, the corresponding score is the sum of the scores for the words and ngrams contained within that phrase


Naming convention in tokenized dir

Question:
What should output filenames look like resulting from tokenize_stories()?
It seems like write_to_bin() expects hashed names in this directory, which I'm not producing directly from tokenize_stories() (i.e. from PTBTokenizer).
Context:
On Mac OS, using stanford-corenlp-full-2016-10-31/stanford-corenlp-3.7.0.jar.
Example:
If one of the "stories" input file names is "A" then after executing tokenize_stories(), a file called "A" appears in the corresponding tokenized_stories_dir, as opposed to hashhex("A").
It seems PTBTokenizer is working (at least partially) since the tokenized "A" does have, for example, spaces between punctuation marks and -LRB- for left parenthesis.
Outlook:
Specifically, in write_to_bin(), there is
story_fnames = [s+".story" for s in url_hashes]
However, if hashed names are not produced by tokenize_stories(), then a "fix" is
story_fnames = [s + ".story" for s in url_list]

Are you using the Standford 2016 Parser or 2017 Parser? If you want to know how the files look like after tokenization, you can check this repository: https://github.com/JafferWilson/Process-Data-of-CNN-DailyMail
You can check the links and download the required data for training. Let me know if there is any issue.

Hello. The 2016 parsers, specifically from the "stanford-core-nlp-full-2016-10-31" package.
PTBTokenizer does not output hexxed filenames, nor does it seem it's intended to.
Rather, it outputs filenames exactly as provided by the argument provided to the option -ioFileList. E.g. in the following lines from "tokenize_stories()" there is no hexxing; hence, the fix I mentioned above is sufficient in this case.
  stories = os.listdir(stories_dir)  # the filenames in stories_dir are not assumed to be hexxed
  # make IO list file
  print "Making list of files to tokenize..."
  with open("mapping.txt", "w") as f:
    for s in stories:
      f.write("%s \t %s\n" % (os.path.join(stories_dir, s), os.path.join(tokenized_stories_dir, s)))


Unr 3849

Description

Fixes: UNR-5610 - UnrealGDK/Setup.sh throws sed: can't read : No such file or directory

Release note
TODO
Tests

Tested on macOS Big Sur
Tested the full install path, the incremental install path, the CN & Mobile paths

Documentation
CHANGELOG entry will suffice.
TODO
If your change updates Setup.bat, Setup.sh, core SDK version, any C# tools in SpatialGDK\Build\Programs\Improbable.Unreal.Scripts, or hand-written schema in SpatialGDK\Extras\schema:

Increment the number in RequireSetup. This will automatically run Setup.bat or Setup.sh when the GDK is next pulled.

Primary reviewers
@MatthewSandfordImprobable

Ugh, GitHub targeted this at 0.11.0.


chore: set exact as true by default

Closes https://github.com/tannerlinsley/react-query/issues/1725

Not sure what the reason was to change this behavior in v3. Let’s wait for the input of @tannerlinsley here.
Maybe we should only change it for getQueryData and not for .find ?

Followed up by https://github.com/tannerlinsley/react-query/pull/1756


Node type tutorial

This PR adds a tutorial on how to create new node types in OpenTOSCA. It also includes tips and tricks and examples of ScriptArtifacts and PythonScriptArtifacts.

follow up at https://github.com/OpenTOSCA/opentosca-docker/pull/51


Add possibility to expand/collapse Sidebar by swiping

@netmenya This task requires the implementation of a swipe hoc or I can use (https://github.com/dogfessional/react-swipeable)[https://github.com/dogfessional/react-swipeable]


Added clarity to usage with Composer

👎 Not normally correct. Just confusing.

Shouldn't the README state:
php composer.phar require--dev vlucas/phpdotenv

Instead of
php composer.phar require vlucas/phpdotenv

?

Not dev.

And why not then?
The README says:

phpdotenv is made for development environments, and generally should not be used in production

I'm using Heroku's config vars for production, why would I need to install phpdotenv as require instead of require-dev?

phpdotenv is made for development environments, and generally should not be used in production

That readme line is outdated, and needs fixing. You should not be executing phpdotenv, or indeed, any other similar library using php-fpm, or related. Instead, you should do something like what Laravel's config system does, and cache environment variables into computed config files, using a console command.


Add 60 emojis

From Objects & Symbols categories. Reviewing systematically.

@canadianveggie some of these may be a stretch - let me know if I went too far


Yourkit Logo + Acknowledgement

@cos please review. We need to acknowledge yourkit to be able to use their tool.


[Question] Data binding to html elements

Hi @cferdinandi,
short question about data binding to html elements in context to #112.
I have some places in my html layout which need to be filled by template variables. Place ${store.data.value1 doesn't work. So all template variables need to be used with Reef template part from code? So for each single value I need a additional component and attach it?
Something like:
const c1 = new Reef('#elem1', {
    store:store,
    template: function(props) {
        return `${props.value1}`
    }
})

Each time a try to fill a single value to a small html element? Is that fine because of the count of (small) components?
Isn't a template part which could be handled by a single component.

No, you can set default or always synced values inside any component. https://reefjs.com/advanced/#default-and-state-based-html-attributes

I know about variables inside of a component. That needs additional components, because the variable is needed outside of a component templates.
Would it ok to use 5 oder 10 components attached to the app to fill some single values of the page? Or may it a performance problem?
I have a index.html file with some base html layout and elements. So HTML isn't returned by a components template! So an additional component or some Javascript to change elements innerhtml.

Templates should always return HTML. If you need the properties of a component for use elsewhere, you can access them directly on that components data property.


transitionCheckOptions config causes build failure

The instructions from the README caused my Gradle build to fail.
nexusPublishing {
    transitionCheckOptions {
        maxRetries = 100
        delayBetween = Duration.ofSeconds(5)
    }
}

The error was: A problem occurred evaluating root project 'my-project'. > Cannot set the property 'maxRetries' because the backing field is final.
This was fixed by using .set instead.
nexusPublishing {
    transitionCheckOptions {
        maxRetries.set(100)
        delayBetween.set(Duration.ofSeconds(5))
    }
}

I guess the documentation is ahead of releasing. I ran into exactly the same issue (I wonder why 😂 😂 ) => #136

Good point. I merged it without thinking about that aspect :-/. I will think if it is easier to rollback it or release a new version :-).


Flutter Web, Autofills saved passwords without showing Suggestion for TextFormField(obscureText: true)

Steps to reproduce

Run Project on Stable Mode in Flutter Web
Create TextFormField(obscureText: true)
On Browser save password popup save the credentials
Refresh app and Click(Focus) on the text field.
It will get filled with the stored credential instead of suggesting it.

Expected results
The user should be shown the browser credential selection dropdown instead of automatically filling the text field upon focus.
Actual results
The Text field gets filled with saved credentials on focus.
Code sample
Code sample
import 'package:flutter/material.dart';

void main() {
  runApp(const MyWidget());
}

class MyWidget extends StatelessWidget {
  const MyWidget({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(

      routes: {
      '': (context) => const MyForm(),
      'details': (context) => const MyForm(),
    }, home: const MyForm());
  }
}

class MyForm extends StatefulWidget {
  const MyForm({super.key});

  @override
  State<MyForm> createState() => _MyFormState();
}

class _MyFormState extends State<MyForm> {
  final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Form(
        key: _formKey,
        child: Column(
          children: [
            TextFormField(
              obscureText: true,
            ),
            TextFormField(
              obscureText: true,
            ),
            TextFormField(
              obscureText: true,
            ),
            TextFormField(
              obscureText: true,
            ),
            ElevatedButton(
                onPressed: () {
                  _formKey.currentState?.save();
                  Navigator.of(context).pushNamed('details');
                },
                child: const Text("Go to details")),
          ],
        ),
      ),
    );
  }
}

class DetailsScreen extends StatefulWidget {
  const DetailsScreen({super.key});

  @override
  State<DetailsScreen> createState() => _DetailsScreenState();
}

class _DetailsScreenState extends State<DetailsScreen> {
  final GlobalKey<FormState> _formKey = GlobalKey<FormState>();

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Form(
        key: _formKey,
        child: Column(
          children: [
            TextFormField(
              obscureText: true,
            ),
            TextFormField(
              obscureText: true,
            ),
            TextFormField(
              obscureText: true,
            ),
            TextFormField(
              obscureText: true,
            ),
          ],
        ),
      ),
    );
  }
}

Screenshots or Video

Screenshots / Video demonstration
https://github.com/user-attachments/assets/d329f93e-9079-4046-b106-a63693dce88d

Logs
Logs
NO Logs being printed for the above reproducible code.

Flutter Doctor output
Doctor output

[✓] Flutter (Channel stable, 3.24.5, on macOS 15.1.1 24B91 darwin-arm64, locale en-QA)
    • Flutter version 3.24.5 on channel stable at /Users/akashkrishnan/Documents/SDK/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision dec2ee5c1f (4 weeks ago), 2024-11-13 11:13:06 -0800
    • Engine revision a18df97ca5
    • Dart version 3.5.4
    • DevTools version 2.37.3

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/akashkrishnan/Library/Android/sdk
    • Platform android-34, build-tools 34.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 21.0.3+-79915917-b509.11)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 16.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 16B40
    • CocoaPods version 1.16.2

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

[✓] Android Studio (version 2024.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 21.0.3+-79915917-b509.11)

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

[✓] Connected device (3 available)
    • macOS (desktop)                 • macos                 • darwin-arm64   • macOS 15.1.1 24B91 darwin-arm64
    • Mac Designed for iPad (desktop) • mac-designed-for-ipad • darwin         • macOS 15.1.1 24B91 darwin-arm64
    • Chrome (web)                    • chrome                • web-javascript • Google Chrome 131.0.6778.110

[✓] Network resources
    • All expected network resources are available.

• No issues found!

Hi @akashgk, Thanks for filing the issue. Closing as duplicate of https://github.com/flutter/flutter/issues/152879
Please follow up on that issue for further updates.


Feature: Add list to the ui features

The feature is basically similar to a table without borders.
I want to render something like this:

At the moment i use this lib to print it.
I'm happy to style the content my self, but the column width would be good to get out of the box

Just for completion I added the lib I use at the moment in the comment.
https://github.com/yargs/cliui?tab=readme-ov-file#example


Networking stuff

Not packet stuff

also i dropped invalid mappings so ignore any rearrangements

ok nvm wait until tomorrow or later this week

let me know whan u test it


Override ID operations

Description of your changes
In order to show how https://github.com/crossplane-contrib/terrajet/pull/132 would work in the wild.
It depends on https://github.com/crossplane-contrib/provider-tf-azure/pull/83 , only the last commit is relevant.
I have:

[ ] Read and followed Crossplane's contribution process.
[ ] Run make reviewable test to ensure this PR is ready for review.

How has this code been tested

Closing in favor of https://github.com/crossplane-contrib/provider-tf-azure/pull/87


fix npe

Coverage decreased (-0.01%) to 48.878% when pulling 8d8e88c94b46cefd64bf7bfb7e72cd3e6fdaf204 on nobodyiam:fix-null into cf6700e9a04364ede51fb1d2f61055eb7dd66421 on ctripcorp:master.


Unicode code chart PDF renders incorrectly in Firefox native viewer

Attach (recommended) or Link to PDF file here:
Configuration:

Web browser and its version: Firefox 112.0
Operating system and its version: Windows 10
PDF.js version: ?
Is a browser extension: no, native

Steps to reproduce the problem:

Open https://www.unicode.org/charts/PDF/U0000.pdf

What is the expected behavior? (add screenshot)
What went wrong? (add screenshot)

Link to a viewer (if hosted on a site other than mozilla.github.io/pdf.js or as Firefox/Chrome extension):

Redirected from webcompat/web-bugs#121314

The code chart PDF renders correctly in Chrome, Edge, and SumatraPDF.

Interestingly it works with disableFontFace=true set, and the glyphs look reasonable in FontForge, so I wonder if this could perhaps indicate a bug in the Windows font-renderer?
@calixteman Can you reproduce this in non-Windows operating systems?

I can reproduce on windows 11 either but it's fine on mac os 13.3.1 and on Fedora 37.

On Windows, the right leg of the X in STX is wrongly rendered in Chrome viewer (it depends on the zoom level) and in the new Edge one (where SOH is correct)

Few glyphs (like the SOH) contains some contours with only 1 point and it doesn't really make sense. I'm a bit reluctant to just strip them out because if the instructions take them into account then the rendering will be wrong, hence my idea is just to remove the hints in such a case: the potential negative side effect could be to have some "not nice" glyphs when they're rescaled.
Let's try a patch and we'll see if they're some regressions...


String length is misscalculated for non english characters

Description
When writing strings in Hebrew I came across an issue where the length of a string was miscalculated:
#assert("abcd".len() == 4) // passes
#assert("אבגד".len() == 4) // failes
#assert("אבגד".len() == 8) // passes

A similar yet unrelated issue came up when trying to access the second character in a 4-character Hebrew string:
#"abcd".at(1) // passes
#"אבגד".at(1) // failies
#"אבגד".at(0) // passes

When I tested Arabic strings the same issue accured, and I assume other languages with non-Latin characters also suffer.
Reproduction URL
https://typst.app/project/rSBZiZo5emMNueaRpXSIac
Operating system
Windows
Typst version

[X] I am using the latest version of Typst

This is not a bug. The length function specifically gives you the number of bytes, and characters not in ASCII need more than one byte to encode.

This is not a bug. The length function specifically gives you the number of bytes, and characters not in ASCII need more than one byte to encode.
Similarly, at() uses byte indices.
What you actually should use is .clusters() or .codepoints() depending on what you want to do.

Hue, I just looked at the documentation and it seams you're right, sorry for the inconvenience.


Docs syntax issue

https://github.com/docker/docker/blob/17.03.x/docs/reference/commandline/service_create.md

OK with no issues
https://docs.docker.com/engine/reference/commandline/service_create/#specify-service-constraints---constraint

Table is messed up
And <tdnode.role	 is above the table
This is the table in HTML:

    node attribute
    matches
    example

    <tt>node.id</tt>
    Node ID
    <tt>node.id == 2ivku8v2gvtg4</tt>

    <tt>node.hostname</tt>
    Node hostname
    <tt>node.hostname != node-2</tt>

    <td<tt>node.role</tt></td>
    <tt>node role: manager</tt>
    <tt>node.role == manager</tt>

    <tt>node.labels</tt>
    user defined node labels
    <tt>node.labels.security == high</tt>

    <tt>engine.labels</tt>
    Docker Engine's labels
    <tt>engine.labels.operatingsystem == ubuntu 14.04</tt>

And there are layout issues relative the the new reference docs, maybe related the same problem : When you have a zoom activated (like +140%) and you click on a link with an anchor (like https://docs.docker.com/engine/reference/commandline/service_create/#set-service-mode---mode), the left part of the page body will be truncated. If you zoom out til 100%, it will "un-truncate", but if you zoom again, it's the right part which will be truncated.

This looks to be fixed on "master", and the 17.03.x branch but not yet in the 17.04.x branch (https://github.com/docker/docker/pull/31875)

cherry-picked the fix into the 17.04.x branch as well (https://github.com/docker/docker/pull/31902), so this should be fixed the next time the CLI reference-docs are redeployed.
@TristanCP can you open an issue for the layout issues in the documentation issue tracker (https://github.com/docker/docker.github.io/issues)? If possible with screenshots to explain the issue.
I'll close this issue here, because all fixes will be in when that PR is merged, and now depends on the docs to be redeployed. Thanks for reporting!

@thaJeztah It looks fixed as far as I can see on Chrome. I'll check again on Firefox later.

Perfect, thanks!

@thaJeztah i still see this issue


Update index.html

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign jstrachan
You can assign the PR to them by writing /assign @jstrachan in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@jstrachan: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

pr
bd7bd0f9c4f9cce7a905ef53ef8ddcfccc3127de
link
/retest

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.


On incoming assertions, blacklist "our" AuthnContextClassRefs

This issue is imported from pivotal - Originaly created at Jun 14, 2019 by Thijs Kinkhorst
If second factor has been verified with SFO, we will be sending one of "our own" AuthnContextClassRefs in the outgoing assertion. These are the AuthnContextClassRefs defined at https://wiki.surfnet.nl/display/SsID/SURFsecureID+Metadata+for+Service+Providers.
Currently, EB always copies the incoming AuthnContextClassRef from the IdP to the assertion to the SP.
It MUST be impossible for an IdP to 'impersonate' our values (e.g. claim that we did SFO in this way). Block any incoming IdP assertion (except those from the  SFO IdP, obviously) with a value in our namespace with an error. Whether SFO should have been used, or not does not matter.
"our namespace" is a configuration parameter. Add a configuration parameter for this that uses a regular expression to define which values are "ours", and are thus blacklisted. This setting can be empty/unset (e.g. when one does not use SFO in this installation). When unset any AuthnContextClassRef is allowed in the Assertion from the IdP.
The error when a assertion in blocked due to a blacklisted AuthnContextClassRef does not need its own screen, but should be clearly logged. E.g. "Assertion from IdP  contains a blacklisted AuthnContextClassRef: ''"
Estimation: 8 - 12h
Updated: 6/17/2019
While it was not a hard requirement a custom error page was added.

This story is blocked by #166702276 as we need to know about the SFO endpoint in order to enforce the blacklist. (Michiel Kodde - Jun 19, 2019)

I don't think it is, per se. We can always block incoming assertions on the standard acs endpoint which match the configured namespace, regardless of other SFO configuration. (Thijs Kinkhorst - Jun 19, 2019)

**EN**

    \'error_authn_context_class_ref_blacklisted\'                     => \'Error - AuthnContextClassRef value is invalid\',     \'error_authn_context_class_ref_blacklisted_desc\'                => \'<p>  Your %organisationNoun% sent a invalid AuthnContextClassRef attribute so therefore you cannot log in.     </p>\',
NL
    \'error_authn_context_class_ref_blacklisted\'                     => \'Error - AuthnContextClassRef waarde is niet toegestaan\',     \'error_authn_context_class_ref_blacklisted_desc\'                => \'<p>  Omdat je %organisationNoun% een ongeldig AuthnContextClassRef attribuut meestuurd daarom is het inloggen mislukt.     </p>\',
** PT**
Will ask domgon to trasnslate this after the EN translation is valid.
@thijskh could you validated the error messages when a AuthnContextClassRef was blacklisted? (bstrooband - Jul 15, 2019)

invalid / toegestaan is different. Maybe change 'invalid' to 'disallowed'. In the desc, replace "attribute" with "attribute value".
Proposed texts:
\'error_authn_context_class_ref_blacklisted\' => \'Error - AuthnContextClassRef value is disallowed\',
\'error_authn_context_class_ref_blacklisted_desc\' => \'<p> You cannot login because your %organisationNoun% sent a value for AuthnContextClassRef that is not allowed. </p>\',

\'error_authn_context_class_ref_blacklisted\' => \'Error - waarde van AuthnContextClassRef is niet toegestaan\',
\'error_authn_context_class_ref_blacklisted_desc\' => \'<p> je kunt niet inloggen omdat je %organisationNoun% een waarde stuurde voor AuthnContextClassRef die niet is toegestaan. </p>\',
``` (Thijs Kinkhorst - Jul 15, 2019)

@thijskh I\'ve implemented a 403 if  we block the incoming request. Is that ok or should for example a 400 be returned?

https://github.com/OpenConext/OpenConext-engineblock/pull/719#discussion_r304299663 (bstrooband - Jul 17, 2019)

403 is fine I think (Thijs Kinkhorst - Jul 17, 2019)

@thijskh The ValidateAuthnContextClassRef filter is used to filter internal used AuthContextClassRef values out of Authn requests.
While I was doing some testing I saw that the input filters were only triggered on the AssertionConsumer endpoint and nowhere else, also not on the newly created StepupAssertionConsumer endpoint.
When the Stepup GW posts a response back to EB on the StepupAssertionconsumer endpoint it's key is validated with the configured gateway sfo key and against the requester chain so in order to impersonate as GW someone has to bypass a lot of additional checks.
Is it sufficient to validate the AuthContextClassRef only on the AssertionCunsumer endpoint on the initial incoming AuthnRequest? (bstrooband - Aug 19, 2019)


ROX-21226: conceal addresses from clairify scanner errors

Description

The change hides potentially sensitive addresses from some errors returned by /v1/images/scan, when using clairify scanner.
User-facing documentation

[x] CHANGELOG is updated OR update is not needed
[x] documentation PR is created and is linked above OR is not needed

Testing and quality

[x] the change is production ready: the change is GA or otherwise the functionality is gated by a feature flag
[x] CI results are inspected

Automated testing

[x] added unit tests
[ ] added e2e tests
[ ] added regression tests
[ ] added compatibility tests
[ ] modified existing tests

How I validated my change

Before
me@work$ curl -u admin:password 'https://localhost:8443/v1/images/scan' --data '{"imageName": "ubuntu:23.04"}' -ks | jq
{
  "error": "image enrichment error: error scanning image: docker.io/library/ubuntu:23.04 error: scanning \"docker.io/library/ubuntu:23.04\" with scanner \"Stackrox Scanner\": Get \"https://scanner.stackrox.svc:8080/scanner/sha/sha256:ea1285dffce8a938ef356908d1be741da594310c8dced79b870d66808cb12b0f\": dial tcp <IP_ADDRESS>:8080: connect: connection refused",
  "code": 13,
  "message": "image enrichment error: error scanning image: docker.io/library/ubuntu:23.04 error: scanning \"docker.io/library/ubuntu:23.04\" with scanner \"Stackrox Scanner\": Get \"https://scanner.stackrox.svc:8080/scanner/sha/sha256:ea1285dffce8a938ef356908d1be741da594310c8dced79b870d66808cb12b0f\": dial tcp <IP_ADDRESS>:8080: connect: connection refused",
  "details": []
}

After
me@work$ curl -u admin:password 'https://localhost:8443/v1/images/scan' --data '{"imageName": "ubuntu:23.04"}' -ks | jq
{
  "code": 13,
  "message": "image enrichment error: error scanning image: docker.io/library/ubuntu:23.04 error: scanning \"docker.io/library/ubuntu:23.04\" with scanner \"Stackrox Scanner\": Get \"https://scanner.stackrox.svc:8080/scanner/sha/sha256:ea1285dffce8a938ef356908d1be741da594310c8dced79b870d66808cb12b0f\": dial tcp: connect: connection refused",
  "details": [],
  "error": "image enrichment error: error scanning image: docker.io/library/ubuntu:23.04 error: scanning \"docker.io/library/ubuntu:23.04\" with scanner \"Stackrox Scanner\": Get \"https://scanner.stackrox.svc:8080/scanner/sha/sha256:ea1285dffce8a938ef356908d1be741da594310c8dced79b870d66808cb12b0f\": dial tcp: connect: connection refused"
}

/retest


[Feature Request] Change topic in Skype chat

Issue Description
I want my bot to change the chat topic in a group chat.
Code Example
session.send("/topic topic_name");
Expected Behavior
The chat topic to change.
Actual Results
The chat topic doesn't change. The message is sent as "/topic topic_name"

@ming08108 This is not currently a feature, but we can add it to our backlog of feature requests.

Hi @ming08108 ,
Would it make sense to start a new chat for the new topic to keep the conversations distinct?
Sincerely,
IoTGirl

@IoTGirl No I want to change the topic on the fly.

Hi @ming08108
I understand your request but by changing the topic mid discussion you lose the context of the previous statements.  My thought is that this behavior may be "By Design" and probably why changing the topic after the discussion starts may not be supported.  For example if I start the discussion "Why I like dogs" then change the topic to "Gardening in the Pacific Northwest" the conversation history no longer makes sense.
Starting a new discussion solves this by both getting the new topic and keeping the contents discrete and relevant.
Sincerely,
IoTGirl

@IoTGirl you can change the topic in a normal skype chat as often as you want. I think that chatbots should have feature parity with regular clients.
It is not practical to create a new chat every time I want to change the topic.

I have been trying to do this in Consumer Skype and don't seem to have a topic available to be edited in the desktop UI.  Are you actually asking for this feature for Skype For Business?
Also, can you provide a walkthrough description your scenario where the topic should change in the BOT conversation?

@IoTGirl It works in consumer skype if you type "/topic [new topic name]" in the group chat box.
The usecase is to put topical news/ commodity pricing data in the topic so everyone can see it even if they don't want to read through all of the old messages.

Thank you for opening an issue against the Bot Framework SDK v3. As part of the Bot Framework v4 release, we’ve moved all v3 work to a new repo located at https://github.com/microsoft/botbuilder-v3. We will continue to support and offer maintenance updates to v3 via this new repo.
From now on, https://github.com/microsoft/botbuilder repo will be used as hub, with pointers to all the different SDK languages, tools and samples repos.
As part of this restructuring, we are closing all tickets in this repo.
For defects or feature requests, please create a new issue in the new Bot Framework v3 repo found here:
https://github.com/microsoft/botbuilder-v3/issues
For Azure Bot Service Channel specific defects or feature requests (e.g. Facebook, Twilio, Teams, Slack, etc.), please create a new issue in the new Bot Framework Channel repo found here:
https://github.com/microsoft/botframework-services/issues
For product behavior, how-to, or general understanding questions, please use Stackoverflow.
https://stackoverflow.com/search?q=bot+framework
Thank you.
The Bot Framework Team


New Component | ErrorBoundary

Create an Error Boundary component which renders a default fallback UI which shows the error in a user-friendly way.
Props API:

children: ReactNode
fallbackUI (default to something simple and clean, no Card, etc)
onError function

One thing to consider is how we can use the global analytics function from the context provider to wrap the onError function. (Error boundaries are all class components)
https://reactjs.org/docs/context.html
Here is a decent start:
import { Component } from "react";

class ErrorBoundary extends Component {
  constructor(props) {
    super(props);
    this.state = { hasError: false };
  }

  static getDerivedStateFromError(error) {
    return { hasError: true };
  }

  componentDidCatch(error, errorInfo) {
    if (this.props.onError) {
      this.props.onError(error, errorInfo);
    }
  }

  render() {
    if (this.state.hasError) {
      return this.props.fallbackUI;
    }

    return this.props.children;
  }
}

export default ErrorBoundary;

Are you looking for people to help out with this?


Add function to determine required fortress level

Depending on the building type, a specific fortress level is required to be allowed to build it. The new helper function returns such fortress level.

Thank You!


Factory Pattern missing Static declaration

https://github.com/fbeline/Design-Patterns-JS/blob/master/src/creational/factory/factory_es6.js
current:
class BmwFactory {

    create(type) {
        if (type === 'X5')
            return new Bmw(type, 108000, 300);
        if (type === 'X6')
            return new Bmw(type, 111000, 320);
    }
}

class Bmw {
    constructor(model, price, maxSpeed) {
        this.model = model;
        this.price = price;
        this.maxSpeed = maxSpeed;
    }
}

export default BmwFactory;

proposed:
class BmwFactory {

    static create(type) {
        if (type === 'X5')
            return new Bmw(type, 108000, 300);
        if (type === 'X6')
            return new Bmw(type, 111000, 320);
    }
}

class Bmw {
    constructor(model, price, maxSpeed) {
        this.model = model;
        this.price = price;
        this.maxSpeed = maxSpeed;
    }
}

export default BmwFactory;

the only difference is the static before the create method

https://github.com/fbeline/Design-Patterns-JS/pull/25


test: count coverage for all packages when unit testing

What problem does this PR solve?
By default, when testing package A with coverage, only lines in package A will be counted towards the final report, even if the tests called functions from package B.
In this project, however, almost all of our tests are written to parser_test.go. Thus even if parser_test.go invoked many functions in ast/* (package B), those coverages will be lost since parser_test.go is outside this directory (in package A).
What is changed and how it works?
We changed the default to tell Go to count coverage for all packages regardless of the source. The coverage report should be closer to reality.
It seems like covering all packages in atomic mode uses too much RAM for CircleCI when compiling (see attempts 2300, 2302 and 2305 in https://circleci.com/gh/pingcap/parser/tree/pull%2F377), so the test is split into two runs: once with race detector only and once with coverage only.
(An alternative is to split parser_test.go but I don't see much benefits doing so.)
Check List
Tests

Unit test

Code changes
Side effects
Related changes

PTAL @lamxTyler @jackysp


Add activity_pattern_arrangement

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 1

Complexity increasing per file
==============================
- pyrsa/vis/activity_pattern_arrangement.py  8

See the complete overview on Codacy

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@074213c). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #150   +/-   ##
=========================================
  Coverage          ?   81.76%
=========================================
  Files             ?       53
  Lines             ?     4717
  Branches          ?        0
=========================================
  Hits              ?     3857
  Misses            ?      860
  Partials          ?        0

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 074213c...5d021ed. Read the comment docs.


proposal: http/server.go: log from logger of server field

Proposal Details
Background
Available to log, that client has sent too big header.
Proposal
access *log.Logger from value server of type *Server, to be able for developer to get info when some client could not http handshake
https://github.com/golang/go/blob/b702e0438ae9577dcc642ba7696a89799c86c8b7/src/net/http/server.go#L1973-L1982
API changes
Minimal ? The *log.Logger is already implemented when its not passed into server, then its default logger or user can pass his user-defined struct
Benefits
Better metrics and information about connections to go app

Looks like duplicate of https://github.com/golang/go/issues/56028


Any way to load preset layout

Is there anyway to load preset layouts?  Either with html or svg that a user can then manipulate?

@impactcolor
The preset layout is already defined. (fixed, reponsive, fullscreen)
You must fork to define a new layout.
You can handle svg and html by ElementHandler.


Add developer/user documentation for fit benchmarking framework

From @Anders-Markvardsen on November 24, 2016 20:2
This is follow up to #17654 (closed).
Add developer/user documentation which explains beyond that of the systemtest added with #17654 how to run the benchmarking, and including how to add a new neutron_data fit problem and the format used for this.
(Optionally) also make zip available for download of the fit problems + simply python scripts for how to run these outside of a systemtest.
One option would be to have this documentation part of the FittingMinimizer concept page documentation
Copied from original issue: mantidproject/mantid#18114

Done in #25


Better handling of javac options when invoking directly

On upgrading to sbt 0.13.8:
[debug] Attempting to call com.sun.tools.javac.api.JavacTool@572e024c directly...
java.lang.IllegalArgumentException: invalid flag: -J-Xmx512m
	at com.sun.tools.javac.api.JavacTool.processOptions(JavacTool.java:206)

We need to increase the memory for javac, so if it does fork, we need it to use that setting, but if it doesn't fork, then it fails.  Some possibilities:

Automatically exclude -J options, possibly warning if present
Make it possible to check whether javac will be forked or not
Provide a separate set of options that only get used when javac is forked

+1 I am having this problem. How Can i force javac to be forked? Really need to up Xmx

@jroper @jsuereth +1 I am having this problem. How Can i force javac to be forked? Really need to up Xmx

+1 - I need this feature

FWIW I have a feeling this is fallout from https://github.com/sbt/sbt/pull/1702

+1


Pathfinding somewhat inconsistent wall edge behavior

The new pathfinding feature of Drag Ruler is great, albeit a bit inconsistent with wall edges.
Way there: https://i.imgur.com/puH2PAr.png
Way back: https://i.imgur.com/4oWr5ez.png
I think it may have to use a larger measuring line in order to hit those middle-of-the-wall wall-lines better.
https://i.imgur.com/6HMSaTa.png

The pathfinding algorithm is built so that it generates the shortest possible path. If the walls in a scene are laid out in a way where foundry allows a diagonal step around the corner, the routing algorithm will use that step. If you want to prevent this from happening, you need to change you wall layout to one that will disallow diagonal steps around the corner. This can be achieved by either drawing a box of walls that represents the actual thickness of the wall or by adding a little piece of invisible wall sticking out of corners. Just big enough to prevent the diagonal steps, but small enough that it doesn't hinder regular movement around the corner:

There is no good way for me to prevent cutting corners in the pathfinding algorithm. The algorithm used has no concept of what a corner is. It just tries to move the step that's most likely to bring it closer towards its goal and if it doesn't hit a wall during that step, the move is considered valid, and it will continue from the new space. So since the algorithm doesn't know anything about the walls on the scene (except those it ran into when it tried to move) there are no good avenues to pursue to try to avoid cutting those corners.
As for the inconsistency, this is a result of the pathfinder stopping its work as soon as it has found the shortest path. If there are multiple shortest paths, it'll stop searching as soon as the first shortest path is found. Since in the two screenshots you're walking the path in two different directions, the decisions made by the algorithm are slightly different, which leads the algorithm to find different routes. Trying to fix the inconsistency would require to not only calculate one shortest path, but all shortest paths and then to select one of them. This would incur a performance cost which isn't worth it for the improvement it would provide.

Thanks for the thorough explanation! :)

One idea. Premade maps don't come with specially prepared edges and it seems like quite a chore. As a solution maybe shift or skew the module's measuring line slightly towards the direction it is heading to have a higher chance to hit edges?
So if the movement is diagonally to the right then don't measure center to center, but slightly off-center to the right. Straight movements would not be affected by this.

But I mean to remember that you are using the methods of Foundry? So this seems like a better feature request for Foundry then.

Placing such walls can be easily done with a mall macro:
const length = 0.15; // The length of the generated wall segment, in number of squares

const lengthPixels = length * canvas.dimensions.size

function insertPointWithAngle(points, point, angle) {
  xmap = points.get(point.x);
  if (!xmap) {
    xmap = new Map();
    points.set(point.x, xmap);
  }
  anglearray = xmap.get(point.y);
  if (!anglearray) {
    anglearray = [];
    xmap.set(point.y, anglearray);
  }
  anglearray.push(angle);
}

const points = new Map();
for (const wall of canvas.walls.placeables.filter(w => w.data.move !== CONST.WALL_SENSE_TYPES.NONE)) {
  const wdata = wall.data;
  const p1 = {x: wdata.c[0], y: wdata.c[1]};
  const p2 = {x: wdata.c[2], y: wdata.c[3]};
  const angle_p1 = (Math.atan2(p2.y - p1.y, p2.x - p1.x) + 2 * Math.PI) % (2 * Math.PI);
  const angle_p2 = (angle_p1 + Math.PI) % (2 * Math.PI);
  insertPointWithAngle(points, p1, angle_p1);
  insertPointWithAngle(points, p2, angle_p2);
}

points.forEach((xmap, _) => xmap.forEach((angles, _) => angles.sort()));

const new_walls_raw = []

for (const [x, xmap] of points) {
  for (const [y, angles] of xmap) {
    for (let i = 1;i < angles.length;i++) {
      const angle1 = angles[i - 1];
      const angle2 = angles[i];
      const angle_diff = angle2 - angle1;

      if (angle_diff < Math.PI) continue;
      const angle_between = angle_diff / 2 + angle1;
      new_walls_raw.push({x, y, angle: angle_between});
    }
    const angle1 = angles[angles.length - 1];
    const angle2 = angles[0] + 2 * Math.PI;
    const angle_diff = angle2 - angle1;

    if (Math.PI <= angle_diff) {
      const angle_between = angle_diff / 2 + angle1
      new_walls_raw.push({x, y, angle: angle_between});
    }
  }
}

const new_walls = new_walls_raw.map(w => {
  const p2x = w.x + Math.cos(w.angle) * lengthPixels;
  const p2y = w.y + Math.sin(w.angle) * lengthPixels;
  const c = [w.x, w.y, p2x, p2y];
  const flags = {macro: {autogenerated: true}};
  const sight = CONST.WALL_SENSE_TYPES.NONE;
  const light = CONST.WALL_SENSE_TYPES.NONE;
  const sound = CONST.WALL_SENSE_TYPES.NONE;
  return {c, flags, sight, light, sound};
});

canvas.scene.createEmbeddedDocuments("Wall", new_walls);

And this one get's rid of them:
canvas.scene.deleteEmbeddedDocuments("Wall", canvas.walls.placeables.filter(w => w.data.flags.macro?.autogenerated).map(w => w.id));

Just needs to initialize xmap and anglearray so I guess a let xmap = points.get(point.x); and let anglearray = xmap.get(point.y); would suffice

Right. Seems I missed those. Updated the macro in case anyone else is stepping by and picking this up.

The default length of 0.15 might be too low for some movement angles. For my test map 0.25 seems to work well.


Tailscale_VPN CP: tailscale web not started after deploying CP

After deploying the Tailscale VPN Custom Partition, 'tailscale web' is not running. A reboot of the device is needed before Tailscale can be used.
I think starting of 'tailscale web' (e.g. nohup tailscale web >/root/tailscale-web.log 2>&1 & ) should be added below the line sudo systemctl start tailscaled in the tailscale-cp-init-script.sh script to resolve this issue.

I have a note in the readme file that a reboot is needed after CP deployed.
https://github.com/IGEL-Community/IGEL-Custom-Partitions/tree/master/CP_Source/Network/Tailscale_VPN

I will add the line to init script as well.


Cross-compile stuff for 2.11 too

This should be needed to embed that in almond (which supports both 2.11 and 2.12 - no plan to drop 2.11 support in the short term).

About https://github.com/scalameta/mbrowse/pull/110/commits/b45acd63792898db1a7fd0ae6e873a1bf9545770, there should have been no problem I think. cli doesn't depend on js.

I had initially disabled 2.11 for the js module, as it was taking too long to compile locally.

I added b45acd6 only to make +publish work, I tried +publishLocal and it failed with resolution errors. It's not strictly necessary but I like the simplicity of using 2.11-only artifacts for the 2.11 cross-build.

I had initially disabled 2.11 for the js module, as it was taking too long to compile locally.

Yeah, bundling the optimized client for the cli takes a really long time 😢 Fortunately, it's not as bad with fastOptJS when iterating on the webpack dev server.

We'll see if release works with the new cross-build for merge 🍿 https://travis-ci.org/scalameta/mbrowse/jobs/445668791


Upgrade ag-grid to 31.x

This can be reviewed in Toolbox with its corresponding PR: https://github.com/xh/toolbox/pull/709
This is a breaking change even if an app made no use of ColumnApi (which has been removed) because the version getting logic in an app'sBootstrap.ts file will need to be redone as in the Toolbox example.
See What's New in AG Grid 31 and Upgrading to AG Grid 31 for more details.
Hoist P/R Checklist
Pull request authors: Review and check off the below. Items that do not apply can also be
checked off to indicate they have been considered. If unclear if a step is relevant, please leave
unchecked and note in comments.

[x] Caught up with develop branch as of last change.
[x] Added CHANGELOG entry, or determined not required.
[x] Reviewed for breaking changes, added breaking-change label + CHANGELOG if so.
[x] Updated doc comments / prop-types, or determined not required.
[x] Reviewed and tested on Mobile, or determined not required.
[x] Created Toolbox branch / PR, or determined not required.

If your change is still a WIP, please use the "Create draft pull request" option in the split
button below to indicate it is not ready yet for a final review.

Pull request reviewers: when merging this P/R, please consider using a squash commit to
collapse multiple intermediate commits into a single commit representing the overall feature
change. This helps keep the commit log clean and easy to scan across releases. PRs containing a
single commit should be rebased when possible.

All set to merge this -- @cnrudd -- you mentioned an issue you wanted to discuss with atm?

@cnrudd  -- what would you think about using the applyGridOptions({}) form even if we are setting just a single option?  I think it would be more readable and consistent across our code and we would not have to specify the property name as a string, which seems so clunky to me.

@cnrudd -- what would you think about using the applyGridOptions({}) form even if we are setting just a single option? I think it would be more readable and consistent across our code and we would not have to specify the property name as a string, which seems so clunky to me.


No such file or directory: 'configs/dtu.yaml'

python E:\桌面\test\FastMVSNet\fastmvsnet/train.py --cfg configs/dtu.yaml
Traceback (most recent call last):
File "E:\桌面\test\FastMVSNet\fastmvsnet/train.py", line 293, in
main()
File "E:\桌面\test\FastMVSNet\fastmvsnet/train.py", line 271, in main
cfg = load_cfg_from_file(args.config_file)
File "E:\桌面\test\FastMVSNet\fastmvsnet/..\fastmvsnet\config.py", line 163, in load_cfg_from_file
with open(configs, "r") as f:
FileNotFoundError: [Errno 2] No such file or directory: 'configs/dtu.yaml'

@zhao-you-fei
The code is tested on a Linux system. On a Windows system, the format of data path may be different. You may change it youself.


added sql for count, struct updated

listInstrumentGroupsSQL was modified, but should stay flexible for other calls by ListInstrumentGroups and GetInstrumentGroup which both append sql like WHERE NOT DELETED or WHERE id = $1.  New query also ensures only active (non-deleted) instruments are being counted.

@brettpalmberg   Common Table Expressions seemed overly complicated and i wasn't able to get it produce accurate results.  If this is too ugly we could move to a view.  Feel free to rewrite with a CTE if it plays well with other calls that append to the query.

I looked at this a little bit more.  I think I like the idea of creating a view called v_instrument_group.  Getting the count would be similar to how we did it for v_instrument here.  What do you think?

closes USACE/instrumentation#110.
latest measurement field pending primary key/index on timeseries_measurements table and performance.


Mesh Beatles - Add collection

"inscription_icon": "d2166113e260410da7029e3abec014bba26d620276c20848cfeed232dc260729i0",
"supply": "3300",
"slug": "mesh-beatles",
"description": "Mesh Beatles(mesh.allonedao.com/) - is a collection of 3,300 Beatles designed for Bitcoin Ordinals. It was designed by the original designer of Beatles NFT powered by the aWSB Beatles community.",
"twitter_link": "https://twitter.com/allinonedao",
"discord_link": "https://discord.com/invite/q3X6HSPE5T",
"website_link": "https://mesh.allonedao.com/"
BTW, please ignore PR #2554
We have updated the ordinals id mappings. Thank you.

thanks for the merge. @MillHaus33


Security Updates - Framework

Summary of Changes:

Updating the package to "league/flysystem": "2.1.1"

How to Test
Composer install and check if the package has been updated
Ticket(s)
JIRA Ticket references (https://iamproperty.atlassian.net/browse/BAU-2068)

@jmsfwk I made the change following your request


PouchDB wrapper should not create directories for memory adapter

When creating a pouchdb wrapper via its factory, a directory is created to store the database. This is unnecessary when the pouchdb adapter is in-memory, as it is during testing.
This is low priority because the only side-effect is extra directories being created.
See this PR for specifics: https://github.com/AugurProject/augur/pull/1252/files#diff-0e459113e2991685a25ab67b41642104R90

Not worth the time to investigate.


chore: latest backport changes for version.lua

:tada: This PR is included in version 4.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


adding test files

added snapshot test for Dialog
added test files for AccordionPanel
added test files for ListGroup
added test files for ListItem
added test files for Label

This doesn't add a lot of coverage, but each of these components now has its own test file

Oh snap. Anne dropping the update request.

good catch Anne - I'll update


React take 2

Continuation of #10 branched from master.
This introduces:

React
Fluorine, which builds upon Redux and RxJS by @philplckthun

Right now the app only has components for the local map and the player arrow.

Interesting. One of radium, react-router, or history is causing issues with the cross compile.

App is certainly running now quite happily.

This is missing the arrow styling from #4 as well, we can reintroduce this so @philplckthun isn't blocked.

Ended up learning from https://github.com/rackt/react-router/issues/2687#issuecomment-163251350 that the combo of the peer deps changing in react-router and npm3 not installing peer deps by default was making the build fail in #14 (and sometimes in here).


[SPARK-46012][CORE] EventLogFileReader should not read rolling logs if app status file is missing

What changes were proposed in this pull request?
This PR aims to prevent EventLogFileReader from reading rolling event logs if appStatus is missing.
Why are the changes needed?
Since Apache Spark 3.0.0, appstatus_ is supposed to exist.
https://github.com/apache/spark/blob/839f0c98bd85a14eadad13f8aaac876275ded5a4/core/src/main/scala/org/apache/spark/deploy/history/EventLogFileWriters.scala#L277-L283
Does this PR introduce any user-facing change?
No.
How was this patch tested?
Pass the CIs.
Was this patch authored or co-authored using generative AI tooling?
No.

Could you review this when you have some time, @LuciferYang and @yaooqinn ?

Could you review this PR, @HyukjinKwon ?

Thank you! Merged to master/3.5/3.4/3.3.


Returning @count for group by queries

Quick question: Does this library return the per-group @count attribute for grouping results?
Here's the documentation from Sphinx:

5.7. Grouping (clustering) search results
The final search result set then contains one best match per group. Grouping function value and per-group match count are returned along as "virtual" attributes named @group and @count respectively.

http://sphinxsearch.com/docs/current.html

I think it does. Closing.


[Request] Hide the comments tab when comments is disabled for that specific video

https://greasyfork.org/en/scripts/467638-tabview-youtube-design-customization
Added to the "Tabview Youtube Design Customization"
Install Stylus and the userstyle to hide it.


Deserialize crashes under .Net 5

The following illustrates a crash under .Net 5 / C# 9:
		class Person
		{
			public Person(int age, string name, Person[] data)
			{
				Age = age;
				Name = name;
				Data = data;
			}

			public int Age { get; set; }
			public string Name { get; set; }
			public Person[] Data { get; set; }
		}

		private void Test()
		{
			var p = new Person(99, "acrobat", new Person[]
				{
					new Person(1, "abc", null),
					new Person(2, "xyz", null)
				});

			var result = JSON.Serialize(p);

			// throws exception
			var p2 = JSON.Deserialize<Person>(result);
		}

The problem on this one isn't .NET 5, it's the lack of a parameterless constructor on Person. If you add one, it should work correctly (verified locally):
public Person() {}

Thank you, that resolved it.


Design and Test Your First Integration Flow

When I tried this I and tested with postman I had to do a get with X-CSRF-Token = fetch and then populate this
for POST.
Ramesh

Hi Ramesh,
Could you please confirm, if you are pointing out an issue or something that you are facing to execute the tutorial?
anything which is blocking for you?

Vikram
The first issue that I mentioned relating to auth issue when we click on open connectors is related to the blog.
In the PDF I have also included related issues that are bound to come up.
I have written a blog
https://blogs.sap.com/2020/07/16/integration-suite-process-integration-sap-odata-with-splitter-gather
I plan to write blogs on all aspects and hoped that I will be able to resolve issues that I face with the help
of SAP. I understand that this is not part of the tutorial.  If you can, however, pass to the right people and
see what they say as it will help others as well who want to learn.
Best regards
Ramesh

Thank you for your feedback. The issue seems to be resolved, so I am closing the issue.
If you still have questions, feel free to reopen the issue.

Michael
Thanks for this. I just tried the open connector issue - Once I open the application I got the same error.
Error Attached.
Ramesh

Hi @rvodela ,
Thanks for your response.
The error message clearly tell that the " No Authorized user found"
Kindly check your role collections and assign the right one.
Please feel free to share if there are any further concerns.
Regards,
Vikram Kulkarni

Thanks for the response.  I have assigned all the roles and followed all the instructions mentioned in the tutorial.
I dont think that this is due the roles.  However I have given my id and subaccount id.  If possible can you look at
or let me know if open connectors is working for you - if so send me the all the authorizations you have given and let me check it out.
Best regards
Ramesh


Setting a breakpoint on VScode Windows breaks processing of node worker_threads when the project has a special character in the path

I was running into issues debugging any code using node worker_threads. Code would debug fine until it reached the creation of the worker thread where the process would start but nothing would happen.
This issue only occurred when breakpoints were set and enabled. If no breakpoints were enabled the code ran successfully.
Having a Special Character in my name all of my source code was ultimatly under a folder containing my name in the path Seán hence the issue was affecting me but not others.
Does this issue occur when all extensions are disabled?: Yes

VS Code Version: 1.84.1
OS Version: Windows_NT x64 10.0.22621

Steps to Reproduce:

Checkout the bug reproduction code here https://github.com/seanjb/node-worker-debug-issue to a path such as C:\tools\replicáte\node-worker-debug-issue note the special character in the path name.
Open the folder in vscode and attempt to debug (use script Bug V1 or Bug V2) ensuring no breakpoints are set. Process will run and close successfully.
Set a breakpoint anywhere in any file. Then debug again. The debugger freezes after the worker thread has been started. The worker thread process is visible but produces no output and the process does not complete.

Workaround
Move your project code to a path without special characters and it will bebug with breakpoints fine.

Debugger logs when the issue was encountered running code under a path with a special character C:\tools\replicáte\node-worker-debug-issue
vscode-debugadapter-ea6ad81b-bp-special-char.json.gz
Debugger loads when the issue was NOT encountered running same code under a path with no special character C:\tools\replicáte\node-worker-debug-issue
vscode-debugadapter-cb1870d8.json-bp-no-speical-char.gz

Duplicate the upstream issue: https://github.com/nodejs/node/issues/50516


[BUG] A blank browser is automatically getting launched when Playwright is executed over Selenium Grid

Context:

Playwright Version: 1.23.0
Operating System: Windows
Browser: Chrome/Edge
Selenium Server: 4.4.0

Code Snippet
public static void main( String[] args ) throws InterruptedException {
        Map<String,String> env = new HashMap<>();
        env.put("DEBUG","pw:browser*");
        env.put("SELENIUM_REMOTE_URL","http://<IP_ADDRESS>:4444");

        Playwright playwright = Playwright.create(new Playwright.CreateOptions().setEnv(env));
        Browser browser = playwright.chromium().launch(new BrowserType.LaunchOptions().setChannel("chrome").setHeadless(false));
        Page page = browser.newPage();
        page.navigate("https://playwright.dev/docs/selenium-grid");
        Thread.sleep(5000);
        // other actions...
        page.context().browser().close();
        playwright.close();
    }

Description of the Bug
I have a Local Selenium 4 Grid setup. Hub and Node both are running on my local system.

When I am trying to execute the playwright script, it launches 2 browsers instead of 1. And 1 of them is just a blank one.

I put, DEBUG=pw:browser* for debugging and below is the log.
2022-09-17T05:40:12.196Z pw:browser <selenium> connecting to http://<IP_ADDRESS>:4444/
2022-09-17T05:40:16.386Z pw:browser <selenium> connected to sessionId=624ba9e3aa78bdea3f2c987c67574550
2022-09-17T05:40:16.386Z pw:browser <selenium> using selenium v4
2022-09-17T05:40:16.387Z pw:browser <selenium> retrieved endpoint ws://<IP_ADDRESS>:4444/session/624ba9e3aa78bdea3f2c987c67574550/se/cdp for sessionId=624ba9e3aa78bdea3f2c987c67574550
2022-09-17T05:40:16.392Z pw:browser <ws connecting> ws://<IP_ADDRESS>:4444/session/624ba9e3aa78bdea3f2c987c67574550/se/cdp
2022-09-17T05:40:16.442Z pw:browser <ws connected> ws://<IP_ADDRESS>:4444/session/624ba9e3aa78bdea3f2c987c67574550/se/cdp
2022-09-17T05:40:23.829Z pw:browser <ws disconnecting> ws://<IP_ADDRESS>:4444/session/624ba9e3aa78bdea3f2c987c67574550/se/cdp
2022-09-17T05:40:23.841Z pw:browser <ws disconnected> ws://<IP_ADDRESS>:4444/session/624ba9e3aa78bdea3f2c987c67574550/se/cdp code=1005 reason=
2022-09-17T05:40:23.893Z pw:browser <selenium> disconnecting from sessionId=624ba9e3aa78bdea3f2c987c67574550
2022-09-17T05:40:24.638Z pw:browser <selenium> disconnected from sessionId=624ba9e3aa78bdea3f2c987c67574550

This is a know limitation. Selenium Grid will create a blank page every time when you launch a browser. There is usually no point in running with grid locally, it will only slow down the entire workflow and when you launch it remotely it should not be an issue since playwright will create pages in different contexts.

Hi @yury-s, I tried it remotely as well. It's the same. There is a blank browser present.

Are you suggesting there are already plans to fix this? if yes, how soon can we expect this?

Yes, you are right. This is how Selenium Grid works - when you launch a browser over the protocol, it will always create a blank page.

Are you suggesting there are already plans to fix this?

No, this is known limitation of Selenium Grid and we are not planning address that.

Thanks!


Request Channel Payloads from Requester

Clarifying that a channel sends PAYLOAD frames.

Depends on https://github.com/ReactiveSocket/reactivesocket/pull/153 and will need rebasing.
Need to also change wording later in the document explaining interaction model.
Not certain about wording yet.

@tmontgomery I'd appreciate your help getting the wording correct.

Some questions:

Why is the N bit not also present for REQUEST_STREAM?
The reference to 2^63-1 semantics from reactivestreams is made in both initial-request-n cases; but not for the REQUEST_N frame. Shouldn't it also be added there/moved to a global place?
Alternatively, do we want to have those same semantics (don't track demand), but for 2^32-1?

Alternatively, do we want to have those same semantics (don't track demand), but for 2^31-1?

I'd rather not. Honestly, over a network boundary I think the values should all be small-ish in almost all cases. And the performance benefit of the "don't track demand" thing just doesn't really matter when network is involved, whereas it has a slight benefit in-process. That's the only reason that exception was added.

The reference to 2^63-1 semantics from reactivestreams is made in both initial-request-n cases; but not for the REQUEST_N frame. Shouldn't it also be added there/moved to a global place?

Where do you suggest putting it?

Why is the N bit not also present for REQUEST_STREAM?

Why do we even have that N-bit? @tmontgomery what was the thinking on that?

Why do we even have that N-bit?

I think it is because request-channel frames can be sent multiple times (before we changed it in #154) for the same request but they may not necessarily have request-n. Since, we have changed that interaction now to only send request-channel once, that N-bit does not make sense and we can always have initial request-n

K, good. I'll remove that.

Should be fixed now.

Since we have the reference to "2^63-1 semantics from ReactiveStreams" in three places now, perhaps that could be combined and moved to the "Flow Control" section?

Trying again ... how about this?

An N-bit in REQUEST_STREAM doesn't make sense, I don't think.

@tmontgomery You good with these as well?

Good for me.


Transfer Learning

Hello,
I am working on a dataset similar to NTU120 and I would like to pre-train MS-G3D on NTU120 and fine-tune it on my custom dataset with only 25 classes (but same joint/bone structure).
Is there a way I can do that just editing the config files or do I need to alter some code?

Hi @egrassl,
Thanks for your interest! I think the repo by itself does not support transfer learning and you'll have to modify some code. However, there could be many ways to do it, and one simple, hacky way could be writing a new config file, loading pre-trained MS-G3D nets, modifying the network architecture to add/remove FC layers (model/), and disabling gradients to previous layers in main.py.
Hope this helps!


Fixed responsiveness issues for mobile view

Fixed padding and layout issues
Adjusted the navbar to prevent it from overlapping content.

Bro can you remove the changes you made in navbar, as I fixed the navbar myself and I don't want any changes in that as of now, so please keep the rest of the changes and revert the navbar changes also fix the conflicts...

@barakkenny run npm i or yarn install once again to generate package-lock.json and then give pr

I think there are two more conflicts

to fix the conflicts in package-lock,  fetch the latest changes locally run npm i or yarn install and then create a new pr for UserProfile, you need to address that @barakkenny

can i submit the pr to another branch e.g luson workflow

@barakkenny that's not even needed, you can delete this pr and create a new pr in this branch only, because the other branch is not in sync with this one


AttributeError: module 'streamlit' has no attribute 'chat_message'

运行streamlit run web_demo.py报错

升级streamlit
命令：pip install --upgrade streamlit


Fix application update not reflecting

Signed-off-by: MUzairS15<EMAIL_ADDRESS>Description
This PR fixes applications update not reflecting.
Notes for Reviewers
Signed commits

[x] Yes, I signed my commits.

Codecov Report

Merging #6076 (51483d6) into master (daae66e) will decrease coverage by 4.43%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##           master    #6076      +/-   ##
==========================================
- Coverage   17.93%   13.50%   -4.44%
==========================================
  Files         110      112       +2
  Lines       10414    10449      +35
==========================================
- Hits         1868     1411     -457
- Misses       8089     8731     +642
+ Partials      457      307     -150

Flag
Coverage Δ

gointegrationtests
?

unittests
13.50% <0.00%> (+0.27%)
:arrow_up:

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

Impacted Files
Coverage Δ

handlers/meshery_application_handler.go
0.00% <0.00%> (ø)

mesheryctl/internal/cli/root/system/update.go
1.05% <0.00%> (-58.95%)
:arrow_down:

mesheryctl/internal/cli/root/system/start.go
1.88% <0.00%> (-55.19%)
:arrow_down:

mesheryctl/internal/cli/root/system/status.go
1.14% <0.00%> (-55.18%)
:arrow_down:

mesheryctl/internal/cli/root/system/restart.go
1.92% <0.00%> (-48.08%)
:arrow_down:

mesheryctl/internal/cli/root/system/stop.go
2.00% <0.00%> (-46.67%)
:arrow_down:

mesheryctl/internal/cli/root/root.go
24.61% <0.00%> (-41.54%)
:arrow_down:

mesheryctl/internal/cli/root/system/logs.go
3.26% <0.00%> (-36.96%)
:arrow_down:

mesheryctl/internal/cli/root/version.go
0.00% <0.00%> (-32.95%)
:arrow_down:

mesheryctl/internal/cli/root/system/check.go
1.03% <0.00%> (-23.03%)
:arrow_down:

... and 10 more

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


images: Updating base image for balena

Updating this project so it builds correctly.
Closes #4
Change-type: patch
Signed-off-by: Gareth Davies<EMAIL_ADDRESS>

@balena-ci retest

Closing in favor off #8


Any chance to be able to query the current location Lat/Long? Seems like that functionality is not exposed currently?

I have been scouring the web for a solution that allows CLI to access the location info, and surprisingly, this topic seems to be "not a thing" due to increased permissions by Apple OS's lately...
Getting this info in the browser is trivial.
Any hints about this?

It's not possible with the current code but should be easy to add a call to CLLocationManager.requestLocation() to request the current location. I don't have time to look at this this week but I don't think it'll be hard -- will take a look as soon as I can.  The trick in Python is that because this method returns immediately (the location request is asynchronous), you need to create a threading event and then call the event's set() in the callback that requestLocation will call.

But of course, you'll have the same limitations as Locationator does -- you can't do this from the command line alone as the app needs to be able to request the proper permissions which can be done only through the GUI. But Locationator could easily provide a REST API endpoint your CLI could call (which is what it does now).

But Locationator could easily provide a REST API endpoint your CLI could call (which is what it does now).

I'm looking at the docs and don't see where I can make that API call to the server... am I missing something?

I took a quick stab at this but it failed with error. Will explore when I have more time (working on my taxes though I'd rather be working on this ;-) )  Requesting the location calls the delegate (which in Locationator is the main Locationator class) but it gives an error. Here's the diff if you want to work on this:
diff --git a/locationator/locationator.py b/locationator/locationator.py
index 4b53ce9..afb1682 100644
--- a/locationator/locationator.py
+++ b/locationator/locationator.py
@@ -129,6 +129,9 @@ class Locationator(rumps.App):
         self.menu_reverse_geocode = rumps.MenuItem(
             "Reverse geocode...", callback=self.on_reverse_geocode
         )
+        self.menu_current_location = rumps.MenuItem(
+            "Current location", callback=self.on_current_location
+        )
         self.menu_about = rumps.MenuItem(f"About {APP_NAME}", callback=self.on_about)
         self.menu_quit = rumps.MenuItem(f"Quit {APP_NAME}", callback=self.on_quit)
         self.menu_start_on_login = rumps.MenuItem(
@@ -141,6 +144,7 @@ class Locationator(rumps.App):
         self.menu = [
             # self.menu_auth_status,
             self.menu_reverse_geocode,
+            self.menu_current_location,
             None,
             self.menu_start_on_login,
             self.menu_install_tools,
@@ -250,6 +254,13 @@ class Locationator(rumps.App):
                 location, _geocode_completion_handler
             )

+    def on_current_location(self, sender):
+        """Request current location from Location Services"""
+        NSLog(str(self.location_manager.authorizationStatus()))
+        self.location_manager.startUpdatingLocation()
+        # self.location_manager.requestLocation()
+        # self.location_manager.stopUpdatingLocation()
+
     def on_install_remove_tools(self, sender):
         """Install or remove the command line tools"""
         if sender.title.startswith("Install"):
@@ -598,6 +609,15 @@ class Locationator(rumps.App):
             open_kwargs["encoding"] = encoding
         return open(*open_args, **open_kwargs)

+    def locationManager_didUpdateLocations_(
+        self, manager: CLLocationManager, locations: list[CLLocation]
+    ):
+        """Called when location is updated"""
+        self.log(f"didUpdateLocations: {manager} {locations}")
+
+    def locationManager_didFailWithError_(self, manager: CLLocationManager, error: Any):
+        """Handle errors from CLLocationManager"""
+        self.log(f"locationManager_didFailWithError_: {manager} {error}")

 def placemark_to_dict(placemark: CLPlacemark) -> dict:
     """Convert a CLPlacemark to a dict

Unfortunately, I’m as newbie on iOS. My primary is Android Native and then web dev. I’m new to iOS when I started working the Kotlin Multi-platform, so I have zero experience with Objective-C.
Thanks for the quick update!
Chris

On Apr 7, 2024, at 5:12 PM, Rhet Turnbull @.***> wrote:
I took a quick stab at this but it failed with error. Will explore when I have more time (working on my taxes though I'd rather be working on this ;-) ) Requesting the location calls the delegate (which in Locationator is the main Locationator class) but it gives an error. Here's the diff if you want to work on this:
diff --git a/locationator/locationator.py b/locationator/locationator.py
index 4b53ce9..afb1682 100644
--- a/locationator/locationator.py
+++ b/locationator/locationator.py
@@ -129,6 +129,9 @@ class Locationator(rumps.App):
self.menu_reverse_geocode = rumps.MenuItem(
"Reverse geocode...", callback=self.on_reverse_geocode
)

   self.menu_current_location = rumps.MenuItem(

       "Current location", callback=self.on_current_location

   )
   self.menu_about = rumps.MenuItem(f"About {APP_NAME}", callback=self.on_about)
   self.menu_quit = rumps.MenuItem(f"Quit {APP_NAME}", callback=self.on_quit)
   self.menu_start_on_login = rumps.MenuItem(

@@ -141,6 +144,7 @@ class Locationator(rumps.App):
self.menu = [
# self.menu_auth_status,
self.menu_reverse_geocode,

       self.menu_current_location,
       None,
       self.menu_start_on_login,
       self.menu_install_tools,

@@ -250,6 +254,13 @@ class Locationator(rumps.App):
location, _geocode_completion_handler
)

def on_current_location(self, sender):

   """Request current location from Location Services"""

   NSLog(str(self.location_manager.authorizationStatus()))

   self.location_manager.startUpdatingLocation()

   # self.location_manager.requestLocation()

   # self.location_manager.stopUpdatingLocation()

def on_install_remove_tools(self, sender):
"""Install or remove the command line tools"""
if sender.title.startswith("Install"):
@@ -598,6 +609,15 @@ class Locationator(rumps.App):
open_kwargs["encoding"] = encoding
return open(*open_args, **open_kwargs)

def locationManager_didUpdateLocations_(

   self, manager: CLLocationManager, locations: list[CLLocation]

):

   """Called when location is updated"""

   self.log(f"didUpdateLocations: {manager} {locations}")

def locationManager_didFailWithError_(self, manager: CLLocationManager, error: Any):

   """Handle errors from CLLocationManager"""

   self.log(f"locationManager_didFailWithError_: {manager} {error}")

def placemark_to_dict(placemark: CLPlacemark) -> dict:
"""Convert a CLPlacemark to a dict
—
Reply to this email directly, view it on GitHub https://github.com/RhetTbull/locationator/issues/12#issuecomment-2041625235, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABHLEYQJHTDS5GPZVEDFY4LY4HAGHAVCNFSM6AAAAABF3S465GVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBRGYZDKMRTGU.
You are receiving this because you authored the thread.

I figured this out.  Working on an update but may be a few days.

WOW! That’s amazing to hear!
I went thru at least 6 different approaches to this seemingly simple problem, but after Ventura, this is very locked down.
Anyway, I have no rush on this, and it’s good to hear you are working on this as it seems yours will be the only solution for using the command line to access the current GPS location.
Best,
Chris

On Apr 9, 2024, at 2:13 PM, Rhet Turnbull @.***> wrote:
I figured this out. Working on an update but may be a few days.
—
Reply to this email directly, view it on GitHub https://github.com/RhetTbull/locationator/issues/12#issuecomment-2045896315, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABHLEYQ7GPDPLL7ALX4NWADY4Q4WNAVCNFSM6AAAAABF3S465GVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBVHA4TMMZRGU.
You are receiving this because you authored the thread.

I've got this partially working. I can get the location once but subsequent calls produce an error. Once I figure it out, the API will look the following so you can hit the API from any app that can make an HTTP request and get back a JSON object with location:
http GET localhost:8000/current_location
Content-type: text/plain
Date: Fri, 12 Apr 2024 13:11:27 GMT
Server: SimpleHTTP/0.6 Python/3.11.7

{
    "altitude": 0.0,
    "course": -1.0,
    "error": null,
    "horizontal_accuracy": 35.0,
    "latitude": 38.82347632466596,
    "longitude": -104.64334336698116,
    "speed": -1.0,
    "timestamp": "2024-04-12T07:11:27.528566",
    "vertical_accuracy": -1.0
}

WOW! Amazing… Returning a cached result and error code would be acceptable, or maybe that should be up to the user’s application (im imagining here)
Thanks for the update and I look forward to using your project!
Chris

On Apr 12, 2024, at 8:13 AM, Rhet Turnbull @.***> wrote:
I've got this partially working. I can get the location once but subsequent calls produce an error. Once I figure it out, the API will look the following so you can hit the API from any app that can make an HTTP request and get back a JSON object with location:
http GET localhost:8000/current_location
Content-type: text/plain
Date: Fri, 12 Apr 2024 13:11:27 GMT
Server: SimpleHTTP/0.6 Python/3.11.7
{
"altitude": 0.0,
"course": -1.0,
"error": null,
"horizontal_accuracy": 35.0,
"latitude": 38.82347632466596,
"longitude": -104.64334336698116,
"speed": -1.0,
"timestamp": "2024-04-12T07:11:27.528566",
"vertical_accuracy": -1.0
}
—
Reply to this email directly, view it on GitHub https://github.com/RhetTbull/locationator/issues/12#issuecomment-2051739039, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABHLEYWTBLE4DBU76G7VZNLY47MYFAVCNFSM6AAAAABF3S465GVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANJRG4ZTSMBTHE.
You are receiving this because you authored the thread.

Implemented in release 0.2.0.  See docs here for new /current_location endpoint.

@all-contributors please add @realityexpander  for ideas

Thanks again for doing this!