Feature Request: Lazy ProjectReference Resolution

It would be nice if MSBuild implemented an "XBuild-ism": in xbuild, Build/dependency graph generation does not "properly" load project files and referenced <Import/> files.
Consider the following project:
LazyProjectReferences.zip
$ curl -o LazyProjectReferences.zip https://github.com/Microsoft/msbuild/files/2673257/LazyProjectReferences.zip
$ unzip LazyProjectReferences.zip
$ cd LazyProjectReferences
$ msbuild

This project is "special" in that App.csproj depends on "MSBuild artifacts" which are created by Generator.csproj: Generator.csproj copies Generator.targets and Generator.dll into $(OutputPath), and App.csproj then attempts to <Import> Generator.targets and use the <Generator/> tasks which is declared within it.
This (bizarre?) build setup works with xbuild: xbuild-log.txt
It fails with msbuild:
App\App.targets(9,5): error MSB4036: The "Generator" task was not found. Check the following: 1.) The name of the task in the project file is the same as the name of the task class. 2.) The task class is "public" and implements the Microsoft.Build.Framework.ITask interface. 3.) The task is correctly declared with <UsingTask> in the project file, or in the *.tasks files located in the "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\bin" directory.

The reason this works with xbuild is because xbuild is "lazy" and reads the MSBuild files twice: Once looking for @(ProjectReference), in order to construct the project dependency graph and compute the build order.  This is not a "real" project parsing; as such, not all syntax is fully evaluated.  During this first parsing, the <Generator/> invocation within App.targets is ignored.  (The <Import/> is followed, but making the <Import/> conditional on Generator.targets existing fixes the problem; during the first build, $(OutputPath)Generator.targets won't exist, but because App.targets isn't "fully" parsed, there is no issue with the "potentially invalid" <Generator/> invocation.)
Once the build order has been computed, then xbuild builds the project "for real".  Generator.csproj is built, creating files into $(OutputPath).  Then App.csproj is loaded "for real," and because Generator.csproj already built, $(OutputPath)Generator.targets now exists and can be <Import/>ed, which in turn allows the <Generator/> task to be used.
I would love it if MSBuild also did this.
Why?  Becuase right now I need to separate out my unit test build from my "main" build, because the unit tests depend upon outputs produced by the main build:

xamarin-android/Xamarin.Android.sln
xamarin-android/Xamarin.Android-Tests.sln

Originally I had only one solution which contained both the unit tests and the "main product"; I had to split them up in order to even begin building with proper MSBuild instead of xbuild.  I'm still irate about this.

The new static-graph build process comes close to doing this, but it builds the same project objects that it loaded and extracted ProjectReference information from, so they wouldn't get the just-built targets.
cc @AndyGerlicher


Integrated File Browser

Use indexed files for a simple file browser.
This can be used with the modification date of the file for selecting new files quickly

Closed by #96


Add extended log status for NGINX Amplify

Just moving discussion about this from:
https://github.com/maximejobin/rocket-nginx/issues/65
NGINX Amplify collects metrics based on your access_log format.  As an easy proposed change, I might suggest adding an extended log format to the generated rocket config:
log_format rocket '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for" ' '"$host" sn="$server_name" ' 'rt=$request_time ' 'ua="$upstream_addr" us="$upstream_status" ' 'ut="$upstream_response_time" ul="$upstream_response_length" ' 'cs=$upstream_cache_status' ;

And then using it like so:
access_log  /var/log/nginx/rocket.log  rocket;

For completeness, you might consider also enabling additional error logging:
error_log /var/log/nginx/error.log warn;

These are just the recommended defaults for enabling additional metrics from our docs:
https://amplify.nginx.com/docs/guide-metrics-and-metadata.html#additional-nginx-metrics
For performance reasons you might want to tune/limit the number of variables being logged.  For that I would consider identifying key performance metrics for rocket users from this list:
https://amplify.nginx.com/docs/guide-metrics-and-metadata.html#nginx-metrics
And changing the above settings appropriately.  It may be easier to let me know which metrics you are interested in and I can suggest a log format and error log level.

Well, I'm interested in a default configuration that would suit most people. Then, I would make it easy for people to alter it if they need to.
What do you think ?

Sounds great!  I think the recommended config above should suit most use cases.

I'm revisiting this issue. Why does it have to be included in Rocket-Nginx?
Shouldn't be configured at a higher level?

It's been awhile, but looking back over #65 I don't think it has to be included in rocket-nginx.  So long as a user can configure the log format (and enable error logging) the NGINX Amplify agent should be able to collect all required metrics.
You had expressed in interest in including a "default" log format that would work for most users, which is why I shared the Amplify recommended format and log settings.
Quite a bit has changed, and I am no longer working at NGINX or associated with the NGINX Amplify product/project directly, although I am happy to lend my (dated) knowledge to helping figure out what (if anything) to do here.

Thank you for you quick answer, Grant!
I do believe I misunderstood what Amplify would do and including it made no sense when I revisited. Thanks for the clarification. I will close that issue.


[MAS2.1.1] Unable to use Inspect functionality using keyboard.

Actual Result:
User is not able to access chat text lines using keyboard and hence not able to inspect them using keyboard.
Expected Result:
User should be able to access chat text lines using keyboard and hence should be able to inspect them using keyboard.
Repro Steps:

Open the Bot Framework V4 Emulator.
Click on open bot and choose the .bot file that is available in the bot folder.
Verify that live chat tab is open.
Notice 'Inspector' section present in right side.
Click on any chat text using mouse and notice that Information related to this chat text line is appearing in the Inspector section.
Now try to perform the same using keyboard.

User Impact:
Keyboard dependent users won't be able to use the controls which are not accessible using keyboard in any way.
Test Environment:
OS: Windows 10
OS Build: 17134.167
OS Version: 1803
Browser: Edge
Impacted MAS Link:
MAS 2.1.1 – Keyboard (36)
Attachment:
MAS2.1.1_BotFrameworkEmulator_Chat_Inspector.zip

Reassigned to @compulim since this is a change that needs to be started in WebChat


Include damage type and category in "damage-received" roll options

Includes updates to "(Skeleton) Bone Powder" and Gibbering Mouther "Reactive Gnaw" to demonstrate utility.

This isn't going to work, as it'll just dump all the roll options from all instances into a single list.

Is there another way to handle it?

The cases you've included should already be possible by predicating on item roll options.


feat: support file-level sort mode control syntax

As in #24 , we need a syntax to control the file-level sort mode.
This pr introduce syntax control sortmode {sort_mode} to do it.

@skyzh Done! ❤


Stop executing zuul jobs in test code change

We don't have to run zuul jobs when the change affects only kuttl tests or env tests.

recheck
let me re-run the job once... but the change does not affect the functionality so we can override the result if some of these zuul jobs fail again.

/override rdoproject.org/github-check


Running linkifyHTML on null throws an error instead of returning null or empty string

I'd suggest validating the string before passing it in, I'm not able to account for every possible invalid input.


PHPLIB-1034: Use PHP 8.2 as latest-stable in edge versions

PHPLIB-1034

CI failures in CSFLE tests are likely depending on the libmongoc bump in https://github.com/mongodb/mongo-php-driver/pull/1409 for FLEv2.


Implement ScalaSchema

In src/main/scala/schemas.scala there is a unimplemented ScalaSchema object.
We need to give it a proper implementation of type Prim[A], ie the "set" of primitive types in the Scala world. That would be a subset of the kind * types in the standard library: Int, Boolean, String, etc.
I'm not sure there is a convenient way to encode that but this is worth a try.

I'll take this one


add testing framework and library

Maybe we could add the workflow first, and then see if it works adding the code? Anyway, this is the test code and library code I have

Bummer, it didn't run any tests :(

@matiascognite what is the command to run tests?

@polomani locally it runs the tests with mvn verify. Or mvn --update-snapshots --batch-mode verify for that matter

There we go, I had to explicitly include the test file with the surefire plugin


added a new rebus-football

Associated Issue: #121
Summary of Changes

Added rebus Football, using the "Foot" and the "Ball" emoticon.

Pull Request Test Coverage Report for Build 706

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 87.143%

Totals

Change from base Build 514:
0.0%

Covered Lines:
158

Relevant Lines:
180

💛  - Coveralls

@ollelauribostrom please review my PR. Thanks


Add doc(cfg()) support

docs.rs always builds docs with nightly Rust, so an alternative approach is to enable doc_auto_cfg only with nightly builds. You can determine channel in build.rs with rustc_version  crate.

Run build.rs everytime the doc is runned is not really a good idea. I will stick with the manual meta w/ cfg approach.


pip install not working

on Ubuntu 20.04.5 LTS
As root, pip3 install spleeter or pip install spleeter tells me: Successfully installed spleeter-2.3.2
But running spleeter separate -p spleeter:2stems -o output audio_example.mp3 gives me errors, like these:
/usr/lib/python3/dist-packages/requests/__init__.py:89: RequestsDependencyWarning: urllib3 (1.26.6) or chardet (3.0.4) doesn't match a supported version!
  warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "
/home/atom/.local/lib/python3.8/site-packages/scipy/__init__.py:146: UserWarning: A NumPy version >=1.16.5 and <1.23.0 is required for this version of SciPy (detected version 1.24.1
  warnings.warn(f"A NumPy version >={np_minversion} and <{np_maxversion}"
Traceback (most recent call last):
  File "/usr/local/bin/spleeter", line 8, in <module>
    sys.exit(entrypoint())
  File "/usr/local/lib/python3.8/dist-packages/spleeter/__main__.py", line 256, in entrypoint
    spleeter()
  File "/usr/local/lib/python3.8/dist-packages/typer/main.py", line 214, in __call__
    return get_command(self)(*args, **kwargs)
  File "/usr/local/lib/python3.8/dist-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python3.8/dist-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python3.8/dist-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/lib/python3.8/dist-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python3.8/dist-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/usr/local/lib/python3.8/dist-packages/typer/main.py", line 497, in wrapper
    return callback(**use_params)  # type: ignore
  File "/usr/local/lib/python3.8/dist-packages/spleeter/__main__.py", line 114, in separate
    from .separator import Separator
  File "/usr/local/lib/python3.8/dist-packages/spleeter/separator.py", line 27, in <module>
    from librosa.core import istft, stft
  File "/usr/local/lib/python3.8/dist-packages/librosa/__init__.py", line 211, in <module>
    from . import core
  File "/usr/local/lib/python3.8/dist-packages/librosa/core/__init__.py", line 5, in <module>
    from .convert import *  # pylint: disable=wildcard-import
  File "/usr/local/lib/python3.8/dist-packages/librosa/core/convert.py", line 7, in <module>
    from . import notation
  File "/usr/local/lib/python3.8/dist-packages/librosa/core/notation.py", line 8, in <module>
    from ..util.exceptions import ParameterError
  File "/usr/local/lib/python3.8/dist-packages/librosa/util/__init__.py", line 83, in <module>
    from .utils import *  # pylint: disable=wildcard-import
  File "/usr/local/lib/python3.8/dist-packages/librosa/util/utils.py", line 10, in <module>
    import numba
  File "/usr/local/lib/python3.8/dist-packages/numba/__init__.py", line 38, in <module>
    from numba.core.decorators import (cfunc, generated_jit, jit, njit, stencil,
  File "/usr/local/lib/python3.8/dist-packages/numba/core/decorators.py", line 12, in <module>
    from numba.stencils.stencil import stencil
  File "/usr/local/lib/python3.8/dist-packages/numba/stencils/stencil.py", line 11, in <module>
    from numba.core import types, typing, utils, ir, config, ir_utils, registry
  File "/usr/local/lib/python3.8/dist-packages/numba/core/registry.py", line 4, in <module>
    from numba.core import utils, typing, dispatcher, cpu
  File "/usr/local/lib/python3.8/dist-packages/numba/core/dispatcher.py", line 13, in <module>
    from numba.core import (
  File "/usr/local/lib/python3.8/dist-packages/numba/core/compiler.py", line 6, in <module>
    from numba.core import (utils, errors, typing, interpreter, bytecode, postproc,
  File "/usr/local/lib/python3.8/dist-packages/numba/core/callconv.py", line 12, in <module>
    from numba.core.base import PYOBJECT, GENERIC_POINTER
  File "/usr/local/lib/python3.8/dist-packages/numba/core/base.py", line 1255, in <module>
    _initialize_llvm_lock_event()
  File "/usr/local/lib/python3.8/dist-packages/numba/core/utils.py", line 446, in inner
    res = fn()
  File "/usr/local/lib/python3.8/dist-packages/numba/core/base.py", line 1252, in _initialize_llvm_lock_event
    ll.ffi.register_lock_callback(enter_fn, exit_fn)
AttributeError: module 'llvmlite.binding.ffi' has no attribute 'register_lock_callback'

or
/usr/lib/python3/dist-packages/requests/__init__.py:89: RequestsDependencyWarning: urllib3 (1.26.6) or chardet (3.0.4) doesn't match a supported version!
  warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "
/home/atom/.local/lib/python3.8/site-packages/scipy/__init__.py:146: UserWarning: A NumPy version >=1.16.5 and <1.23.0 is required for this version of SciPy (detected version 1.24.1
  warnings.warn(f"A NumPy version >={np_minversion} and <{np_maxversion}"
/usr/local/lib/python3.8/dist-packages/numba/types/__init__.py:110: FutureWarning: In the future `np.long` will be defined as the corresponding NumPy scalar.  (This may have returned Python scalars in past versions.
  long_ = _make_signed(np.long)
Traceback (most recent call last):
  File "/usr/local/bin/spleeter", line 8, in <module>
    sys.exit(entrypoint())
  File "/usr/local/lib/python3.8/dist-packages/spleeter/__main__.py", line 256, in entrypoint
    spleeter()
  File "/usr/local/lib/python3.8/dist-packages/typer/main.py", line 214, in __call__
    return get_command(self)(*args, **kwargs)
  File "/usr/local/lib/python3.8/dist-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python3.8/dist-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python3.8/dist-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/lib/python3.8/dist-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python3.8/dist-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/usr/local/lib/python3.8/dist-packages/typer/main.py", line 497, in wrapper
    return callback(**use_params)  # type: ignore
  File "/usr/local/lib/python3.8/dist-packages/spleeter/__main__.py", line 114, in separate
    from .separator import Separator
  File "/usr/local/lib/python3.8/dist-packages/spleeter/separator.py", line 27, in <module>
    from librosa.core import istft, stft
  File "/usr/local/lib/python3.8/dist-packages/librosa/__init__.py", line 211, in <module>
    from . import core
  File "/usr/local/lib/python3.8/dist-packages/librosa/core/__init__.py", line 5, in <module>
    from .convert import *  # pylint: disable=wildcard-import
  File "/usr/local/lib/python3.8/dist-packages/librosa/core/convert.py", line 7, in <module>
    from . import notation
  File "/usr/local/lib/python3.8/dist-packages/librosa/core/notation.py", line 8, in <module>
    from ..util.exceptions import ParameterError
  File "/usr/local/lib/python3.8/dist-packages/librosa/util/__init__.py", line 83, in <module>
    from .utils import *  # pylint: disable=wildcard-import
  File "/usr/local/lib/python3.8/dist-packages/librosa/util/utils.py", line 10, in <module>
    import numba
  File "/usr/local/lib/python3.8/dist-packages/numba/__init__.py", line 15, in <module>
    from . import config, errors, _runtests as runtests, types
  File "/usr/local/lib/python3.8/dist-packages/numba/types/__init__.py", line 110, in <module>
    long_ = _make_signed(np.long)
  File "/usr/local/lib/python3.8/dist-packages/numpy/__init__.py", line 284, in __getattr__
    raise AttributeError("module {!r} has no attribute "
AttributeError: module 'numpy' has no attribute 'long'

If I follow the instructions for testing with poetry, all of the tests pass.
I'm not a python expert. Is there a way to turn the scripts that pass all of the tests into a compiled executable? Is there a better way to get this running?

Got it working.
As root: pip3 install 'NumPy<1.23.0'


Unable to create policy tags

When running the following from Cloud Shell in the /tagging/policy_tags folder
python create_policy_tag_taxonomy.py taxonomy.yaml
I see
Traceback (most recent call last):
File "/home/admin_/cdmc/tagging/policy_tags/create_policy_tag_taxonomy.py", line 21, in
from google.cloud.bigquery import datapolicies
ImportError: cannot import name 'datapolicies' from 'google.cloud.bigquery' (/usr/local/lib/python3.9/dist-packages/google/cloud/bigquery/init.py)
Have updated all runtimes and libraries to latest versions and ran pip install -r requirements.txt

to fix the issue with command python create_policy_tag_taxonomy.py taxonomy.yaml
I updated below line
from google.cloud.bigquery import datapolicies
to this
from google.cloud import bigquery_datapolicies
and all occurrences of datapolicies with bigquery_datapolicies in create_policy_tag_taxonomy.py file


fix(better_uptime): handle null verify_ssl

Changes

#950  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @NathanFlurry and the rest of your teammates on  Graphite


FancyZones Override "Excluded Apps"

Description of the new feature / enhancement
In the FancyZones, any excluded apps that are in the list will not be snapped to a specific zone. If for example the SHIFT key will be pressed, this will disable the exclude and will snap the window to the area zone.
Scenario when this would be used?
Any time that I do want to snap a window to a specific zone, this will enable me to do that and not use the windows zone.
Supporting information
No response

Are you saying that there are apps in your excluded apps list, but they do not get excluded? /needinfo

Description of the new feature / enhancement
In the FancyZones, any excluded apps that are in the list will not be snapped to a specific zone. If for example the SHIFT key will be pressed, this will disable the exclude and will snap the window to the area zone.
Scenario when this would be used?
Any time that I do want to snap a window to a specific zone, this will enable me to do that and not use the windows zone.
Supporting information
No response

Good 👍🏻😊


Change url in component

Hey guys,
I want to implement a client application where a user can provide a server url.
So the socket url needs to be dynamically set.
At the moment I have to hardcode the url to app.module.ts:
import { SocketIoModule, SocketIoConfig } from 'ng-socket-io';
const config: SocketIoConfig = { url: 'http://xxx.xxx.x.x:PORT' };

but I need something like this (serverUrl is an input in home.html. connectToServer() is called on a button click):
export class HomePage {
    serverUrl: '';

    constructor(public navCtrl: NavController, private socket: Socket) {}

    connectToServer() {
        this.socket.connect(this.serverUrl);

        if (this.socket.ioSocket.connected) {
            this.navCtrl.push('DeckPage');
        }
    }
}

Can you guys provide any help?
Thanks in Advance!
Best regards
Nick

Hello,
I also need to make the URL configurable, have you found a solution for this situation?

@Injectable()
export class Socket_Test extends Socket {
constructor() {
    super({ url: '<SOCKET_URL>', options: {"rememberUpgrade":true,
                                                "transports":["websocket","polling"],
                                                "secure":true,"rejectUnauthorized":true,
                                                "autoConnect":false,
                                                "query":"token=<TOKEN VALUE>"
                                              } });

}

init(token){
  this.ioSocket.query = {token:token};
}

}
call function
this.socket.init();
this.socket.connect();


Add has blog field to badgers

Pre-flight checklist

[x] Unit tests
[x] GraphiQL tested
[x] Client app tested
[ ] Gif added


Proposed property: partition topology

I think "partition topology" would be worth adding as a property (Steen & Seebach example 5).
Not a very important property, but it has some visual appeal and has some relationships with other properties.  See for example:

https://math.stackexchange.com/questions/4871848/is-every-regular-alexandrov-topology-a-partition-topology
https://math.stackexchange.com/questions/4097094/what-is-the-name-for-a-topological-space-whose-kolmogorov-quotient-is-discrete

This would also allow to deduce traits for some existing spaces like S5, S6, and consolidate theorems for discrete and indiscrete.
@StevenClontz, @danflapjax and others, what do you think?

I think that's a great idea. Besides having a partition as a basis, a nice characterization of the property is that a set is open iff it is closed. As a result, this would complete the set of what I see as the simplest topological properties (at least in the interior algebra): the universally quantified statements relating sets to their interiors and closures.   Let's see if @StevenClontz is also ok with the idea.  And if so, would you be interested in working on this as your time allows, since you recently submitted a PR for improving S6?  If so, we'll assign this issue to you.

Cool with me. 👍

@prabau Yeah, I'd be interested in contributing this (as time allows, as you say)

Thank you.  No rush


Introducing nx for caching

What it does

Mainly a like-for-like for the following package scripts: build, test:ci, typecheck

These three commands will still be called as they have been (e.g.: npm run build) and have the same effect. They have been optimized to add intelligent caching so we never need to run the same command on the same code twice!
(build was also optimized to run it's rollup and tsc commands in parallel, whereas before they were in sequence)

The pr workflow file was updated - it will still run the same checks as it had before, but it will now run all checks in parallel (as opposed to in sequence)
Adding nx means that we can use nx for task running which gives us some nice things - for example we can use the command: nx run-many --target=build to run all build tasks in the workspace, which includes all examples.

this could be a nice addition to add to the pr.yml file, so we can assert none of the examples broke by the PR's changes
intelligent caching has been added here as well (see the video for a demo!)

Missed this in the video, but looks like we need a dependency on from build-js (the rollup script), so it runs before we can run our tests.
I added that to the project.json file:
{
  "name": "root",
  "targets": {
    // ...
    "test:ci": {
      "command": "vitest",
      "inputs": ["packageSources", "{workspaceRoot}/packages/*/__tests__/**/*"],
      "dependsOn": ["build-js"] // <== just added this line
    }
  }
}

With the timings (and typecheck being the long stick), the result is this "pipeline" in the pr script:


[ST] Delegate is Gnosis Pay Safe

Describe the bug
A 71 USDT transaction from Polygon to Gnosis is stuck due to slippage (tolerance set at 0.3%, asking for 0.38%) https://connextscan.io/tx/0x817807e24ab605efc18991e1c01948671d85c7a85103b910ca098dc4396a4e62
The delegate address is a Gnosis Pay Safe that can't be connected or used to sign the slippage tolerance bump.
Link to ticket in discord
https://discord.com/channels/454734546869551114/1221460517110026240/1221463077040427080

how was this created?

pinged lifi about how they set their delegate, will advise on their integration but this is set at the time of xcall. going to keep an eye on the transfer though

done


Example doesn't work

Examples >> Example >> workspace file doesn't work - can't find podfile.lock, manifest and etc.
When I run pod install I get the following error:
[!] Due to the previous naïve CocoaPods resolver, you were using a pre-release version of `PINCache`, without explicitly asking for a pre-release version, which now leads to a conflict. Please decide to either use that pre-release version by adding the version requirement to your Podfile (e.g. `pod 'PINCache', '= 3.0.1-beta.3'`) or revert to a stable version by running `pod update PINCache`.

[!] `xcodeproj` was renamed to `project`. Please update your Podfile accordingly

@gerchicov-bp Can you try to run pod update PINCache and then pod install again?

@gerchicov-bp I'm gonna close this issue. Feel free to re-open if the error persists after pod update.


CLI refinements

Implemented point 1 and 2 from #6

@lukaszklekot Awesome, thank you very much! I'll take a closer look later today or tomorrow.

@lukaszklekot Thanks again, nice work!

@ole My pleasure, thanks.


[Feature Request]: New window capture notification

Feature description
It would be great if we could get a notification that would trigger upon you successfully changing your capture window using the "Capture foreground window with hotkey" feature. A simple "Window changed!" would do, with the optional functionality of giving the name of the process that the capture has swapped to underneath.
Implementation Ideas
No response

Does obs-websocket support this event?

I found a way by reading the log files. The moment when the captured window changed is marked in them.
But this solution does not use obs-websocket and will only work with the local version of OBS.
A better solution would be to ask the obs-websocket developers to add a new feature (as has been done here before) but it will probably take a long time.


Maybe a mistake in ValidateTor.isJSON()

@zunpiau
The code in question is this
/**
   * check if the string is valid JSON.
   *
   * @param str the str
   * @return the boolean
   */
  public boolean isJSON(String str) {
    try {
      // check against JSONObject
      new JSONObject(str);
    } catch (JSONException ex) {
      // check against JSONArray
      try {
        new JSONArray(str);
      } catch (JSONException ex1) {
        return false;
      }
      return false;
    }
    return true;
  }

I don't see an issue here, please explain your change.  When I look at your change in the PR you return true inside the first catch , which is wrong. Because if the first call to create a JSON object from the string failed only then the code would enter the catch code block. In this state since a JSON cannot be created this should return a false i.e it is not a JSON.

Hmm, you are right 🤔. I only need to check this PR once locally before merging.
Thank you for your contribution :)

@zunpiau can you change the target branch to be develop?
Thanks

Closing as duplicate of PR #3


Make rest of bare git calls use util.path and add " around where missing.

.execSync("git…") → .execSync("${this.util.path}"…)
Hopefully finally fixes #21 for reals.

I am approving it and merging. Will test and release later today. Next time you send PR, please, send it against develop branch. Thank you for your contribution. Very clean PR.


Bug fix - Fixed type always being set to None.

BUG: In get_proxyscrape_resource, type always gets set to None when creating a Proxy no matter what the proxytype value is . This is because the ternary expression is missing some logic.
FIX: Added missing logic.

Pull Request Test Coverage Report for Build 42

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 38:
0.0%

Covered Lines:
474

Relevant Lines:
474

💛  - Coveralls

Pull Request Test Coverage Report for Build 42

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 38:
0.0%

Covered Lines:
474

Relevant Lines:
474

💛  - Coveralls

Pull Request Test Coverage Report for Build 42

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 38:
0.0%

Covered Lines:
474

Relevant Lines:
474

💛  - Coveralls

Another great catch! 👍


A9 dataset for monocular 3D object detection

Hi, I would be interest in using your dataset for monocular 3D object detection. However, I noticed that unfortunately you provide mostly bounding box corner points projected onto the image.  With that I would mean:

3D dimension (height, width, length)
3D location in camera frame (X, Y, Z)
3D rotation. Ideally the rotation matrix in camera frame.

Hi Johannes,
for monocular 3D object detection please use the sequences below. They contain 3D bounding boxes (3D location, 3D dimensions and yaw rotation):
TUM Traffic Highway Dataset:  Sequence a9_dataset_r00_s01 and a9_dataset_r00_s02.

contains 642 labeled images with 11,355 labeled 3D bounding boxes

TUM Traffic Intersection Dataset: Sequence a9_dataset_r02_s01, a9_dataset_r02_s02, a9_dataset_r02_s03, and a9_dataset_r02_s04.

contains 4,800 labeled images with 62,396  labeled 3D bounding boxes

Best,
Walter


$say broken

Trying to use more than one word in $say doesn't work anymore.

$say 0 results in dan acting as if there's no input


fix: include icon width in fitToContent calculation

:tada: This PR is included in version 2.2.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


 Tested in 1.5.0.alpha.10.
Test to reproduce:
[10:41am] ~/Desktop/basefontdemo ian@ianmbp% cat testdoc.adoc
= Test *document*: this all comes out bold, as it should

This line should be *bold*, but only the explicitly-styled word is actually bold in the output PDF.

[10:44am] ~/Desktop/basefontdemo ian@ianmbp% cat themes/test-theme.yml
base:
  font_family: Helvetica
  font_color: 000000
  font_size: 20pt
  font_style: bold

title_page:
  font_style: bold

[10:44am] ~/Desktop/basefontdemo ian@ianmbp% asciidoctor-pdf --version
Asciidoctor PDF 1.5.0.alpha.10 using Asciidoctor 1.5.3 [http://asciidoctor.org]
Runtime Environment (ruby 2.2.1p85 (2015-02-26 revision 49769) [x86_64-darwin14]) (lc:UTF-8 fs:UTF-8 in:- ex:UTF-8)

[10:44am] ~/Desktop/basefontdemo ian@ianmbp% asciidoctor-pdf -a pdf-stylesdir=themes -a pdf-style=test testdoc.adoc

Right you are. For some reason, we weren't applying the base_font_style. I've sent a pull request to implement this change.

Dan
Thank you! You're doing an amazing job with Asciidoctor and Asciidoctor-pdf. It's really appreciated.

Thanks @iwrigley!
Tons of that credit goes to the Asciidoctor supporters, who enable me to work on Asciidoctor each day. https://salt.bountysource.com/teams/asciidoctor


Environment variable in config file & 'name' column

I get an error when using a environment variable together with a wildcard * as part of the file-name

Azure DevOps Build Pipeline returns the following error: "##[error]ADFT0007: Could not find object: trigger.$($Env:Environment)*"

I have configured the environment variable in the Publish task:

Column [name] does not support env-variables.
I think you have some edge case where you have triggers for various environment in one ADF.
This is neither not typical, nor recommended.

Hi' Kamil I manged to create a work-around with simply adding a PowerShell task before the publish task where I remove triggers which is not associated with the specific environment i'm working on :

This technic allows for creating multiple triggers which then is associated with the specific environment from which DevOps Release pipeline is publishing to. When collecting all environment trigger configurations within the development branch it possible to run different sets of operations for different environments.
Development Branch

Published Development ADF

Published User Acceptance Test ADF

With the latest CI/CD recommendations from MS it looks like the only way to securely handle environment specific triggers - do you have another suggestion ? :)

@ivankragh, good job.
I have good news for you: you can leave all files where they are and EXCLUDES or INCLUDE selected file:

Doc:
https://github.com/SQLPlayer/azure.datafactory.tools#filtering-file-example


Query limit not working with pager enabled.

The pagerination pageSize overrides the limit set in the query
$query = Objects::find()->orderBy('name ASC')->limit(50);
        $dataProvider = new ActiveDataProvider([
                'query' => $query,
                'pagination' => array('pageSize' =>24)
        ]);

The above produces
find.count({"ns":"geekobjects.objects","limit":-1,"batchSize":0,"skip":-1,"flags":0,"query":{},"fields":[],"started_iterating":false})

Which in turns overrides the limit of 50 and returns all of the collections instead of 50
$query = Objects::find()->orderBy('name ASC')->limit(50);
        $dataProvider = new ActiveDataProvider([
                'query' => $query,
                'pagination' => false
        ]);

the above produces
find({"ns":"geekobjects.objects","limit":50,"batchSize":0,"skip":0,"flags":0,"query":{"$query":{},"$orderby":{"name":1}},"fields":[],"started_iterating":false})

which limits the query to 50 items but now there isn't a pager since it was set to false.
I don't know if it was intended to do this / or if this is a bug / or if I'm not doing this correctly.

use yii\data\ArrayDataProvider;

$query = Objects::find()->orderBy('name ASC')->limit(30);
        $dataProvider = new ArrayDataProvider([
            'allModels' => $query->all(),
            'pagination' => ['pageSize' => '10']
        ]);

This seems to work.
I can't get any of the mongo ways in the docs to work though.

MongoDB does not support multiple limits, it simply does not exist within MongoDBs own querying capacity.
One limit will override the other. You have to do what you are there with the ArrayDataProvider.

Update:
I ended up going with this and just forgot about the limit until it gets added as a feature.
[code]
$query = Objects::find()->orderBy('name ASC');
$dataProvider = new ActiveDataProvider([
'pagination' => ['pageSize' =>24],
'query' => $query,
]);
[/code]
The above used 5.4m of memory (yii2 is 3.4 empty) with 300k records / documents.
The only problem with this is that it uses 2 queries. one for the pager and one for the retrieving of the records.
[code]
$query = Objects::find()->orderBy('name ASC')->limit(24);
$provider = new ArrayDataProvider([
'allModels' => $query->all(),
'pagination' => [
'pageSize' => 10,
],
]);
[/code]
the above on the same documents used 534m of memory which doesn't work for anyone.  The plus side is it only uses one query for the pager and retrieving of the records.
Is there a way to have the low memory usage (first block of code) and only use one query like the second code block for both pager and retrieving of documents?

This issue does not relates to the MongoDB. It appears for regular DB just as well.
ActiveDataProvider resets limit, while calculating total items count:
https://github.com/yiisoft/yii2/blob/master/framework/data/ActiveDataProvider.php#L165
Thus limit setup has not effect.
We can preserve the original query limit during total count calculation, but if you for example specify an offset - data provider still will show invallid results.

ran into this one yesterday. It was unexpected behavior.

what is the use case for this? Usually a pagination is applied to control the limit and offset. What is the meaning of the manually specified limit?

Page size?

page size is controled by the pagination, why set it manually?

apart from the usecase, it was confusing to work with from a development perspective

To me it is unclear what this issue is about.

is it about performance? To reduce query count to one you can set totalCount on the dataprovider, but I do not see how you get it.
is it about specifying the pagination page size in the query instead of the pager? if so, why?
about something else?

well, its quite simple. If you are setting a limit, you are expecting it to be respected. Whether its a pagination widget or another widget.

what exactly do you expect? setting a limit and adding a pagination is ambigous. When you are on page 2 with limit 35 and a page size of 10. How many records do you want to see?

I would expect it to behave like a ceiling, comparable with totalCount.

So you want to paginate only part of the data? e.g. the query would return 100 records and you set limit to 50. with page size 10 you get 5 pages? What is the use case for that?

@cebe Queries with big offset can be really slow on big sets of data. Setting limit in this way can save lots of server resources.

@cebe Another example - deep paging in distributed system, like Elastic Search
Reference
https://www.elastic.co/guide/en/elasticsearch/guide/current/pagination.html
Once the limit is set to query, the desired behavior is to paginate only limited part of data

I just ran into this problem and wanted to share my use case. We offer a 100 top (most-recent) posts dataset like:
$query = Posts::find()->orderBy('created_at DESC')->limit(100);

What is the use case for that?

The ActiveDataProvider use case is to allow users to page through this top 100 list with the expectation that we'd have 10 pages of 10 posts each. With the current behavior, this top 100 list would have over 80 pages with 8000+ records.
One could argue that this should be fine (and maybe even better) since end users have access to more data and can control what page they are on, but this is an editorial/design argument and not a technical argument. And in our case, the editorial/design decision was in favor of limiting the accessible portion of the dataset to the last 100 posts.
Workaround
I am currently working around the problem by wrapping my LIMITed query with another query. I imagine that there might be some performance hit for doing this, but I haven't evaluated that so performance may or may not be an issue. Either way, it still feels like a hacky workaround:
// original limited query
$limitedQuery = Posts::find()->orderBy('created_at DESC')->limit(100);

// wrap limited query as a subquery and select everything from it
$query = Yii::createObject(ActiveQuery::class, [Posts::class])
    ->select('*')
    ->from(['limited' => $limitedQuery]);

$dataProvider = new ActiveDataProvider([
    'query' => $query,
]);

Proposed Change
I'd like to propose adding a limit property on ActiveDataProvider with the following options:

false (default) preserves the current behavior for backward compatibility,
true causes the data provider to respect a limit already set on the query, or
an integer will override a limit that may or may not be already set on the query

Example 1
$query = Posts::find()->orderBy('created_at DESC')->limit(100);
$dataProvider = new ActiveDataProvider([
    'query' => $query,
    'limit' => false, // default
]);

The 100 limit on the query is ignored. The pagination will range over all records in the table. This is the same as the current (and as @dynasource said, unexpected) behavior when the developer has gone out of their way to set a limit on the query before using it in the ActiveDataProvider.
The end user would see as many pages of posts as needed to show all rows in the database table.
Example 2
$query = Posts::find()->orderBy('created_at DESC')->limit(100);
$dataProvider = new ActiveDataProvider([
    'query' => $query,
    'limit' => true, // respect the query limit
]);

The 100 limit on the query is respected. The prepareTotalCount() method in ActiveDataProvider will reflect 100 at most.
The end user would see at most 10 pages of 10 posts each.
Example 3
$query = Posts::find()->orderBy('created_at DESC')->limit(100);
$dataProvider = new ActiveDataProvider([
    'query' => $query,
    'limit' => 120, // explicit limit
]);

The 100 limit on the query is ignored, but a 120 limit is imposed. The prepareTotalCount() method in ActiveDataProvider will reflect 120 at most.
The end user would see at most 12 pages of 10 posts each.

This was supposed to be integrated in Milestone 2.1.1 but it hasn't been?
I'm trying to display only 20 results paged with 5 items and it isn't working.

There was no 2.1.1 release. It's moved to Yii 3.0.


Support an anchor on the line below a title as a hyperlink target

Example of the syntax:
### This Is A Title

In v1.6.1


[BUG] oiiotool unusable on Apple Silicon

Describe the bug
Using oiiotool after building natively on Apple Silicon produces the following error:
==> /opt/homebrew/Cellar/openimageio/<IP_ADDRESS>/bin/oiiotool --info /opt/homebrew/Library/Homebrew/test/support/fixtures/test.jpg 2>&1
oiiotool ERROR: read : "/opt/homebrew/Library/Homebrew/test/support/fixtures/test.jpg": unknown error
Full command line was:
> oiiotool --info /opt/homebrew/Library/Homebrew/test/support/fixtures/test.jpg

To Reproduce
Steps to reproduce the behavior:

Build OIIO natively on Apple Silicon
Run oiiotool --info on any jpeg file.

Expected behavior
No errors.
Evidence
This error was encountered while trying to package OIIO for Apple Silicon: https://github.com/Homebrew/homebrew-core/pull/70469
CI logs: https://github.com/Homebrew/homebrew-core/pull/70469/checks?check_run_id=1835730809
Platform information:

OIIO branch/version: <IP_ADDRESS>
OS: macOS 11.2
C++ compiler: Apple clang version 12.0.0 (clang-1<IP_ADDRESS>)
Any non-default build flags when you build OIIO: None.

IF YOU ALREADY HAVE A CODE FIX: There is no need to file a separate issue,
please just go straight to making a pull request.

I don't have an M1 machine myself, so it's a bit difficult for me to get proper debug information. However, if you have a preferred method for extracting debug information that can be scripted, I'll attempt to run it on Homebrew CI.

Strangely enough, this failure seems to depend on the path of the jpeg file you try to pass to oiiotool. See https://github.com/Homebrew/homebrew-core/pull/72567 for details.

I don't have an M1, either. What I really need is for somebody with an M1 who can interactively reproduce this error, and then we can have a debugging correspondence session and get to the bottom of it, with me putting code on GH with some extra error instrumentation that can narrow this down.

I'll update this thread with whatever findings I have and I'll try getting output you request whenever I have free cycles to spend on this.
Here is latest stacktrace after building as Debug:
❯ /opt/homebrew/bin/oiiotool --info test12345678901234.jpg
test12345678901234.jpg :    1 x    1, 3 channel, uint8 jpeg

❯ /opt/homebrew/bin/oiiotool --info test123456789012345.jpg
/tmp/openimageio-20210603-27391-guutbe/oiio-Release-<IP_ADDRESS>/src/libutil/ustring.cpp:396: TableRep: Assertion 'str.c_str() == c_str() && str.size() == length' failed.
 0# OpenImageIO_v2_2::Sysutil::stacktrace() in /opt/homebrew/Cellar/openimageio/<IP_ADDRESS>/lib/libOpenImageIO.2.2.15.dylib
 1# OpenImageIO_v2_2::stacktrace_signal_handler(int) in /opt/homebrew/Cellar/openimageio/<IP_ADDRESS>/lib/libOpenImageIO.2.2.15.dylib
 2# _sigtramp in /usr/lib/system/libsystem_platform.dylib
 3# pthread_kill in /usr/lib/system/libsystem_pthread.dylib
 4# abort in /usr/lib/system/libsystem_c.dylib
 5# OpenImageIO_v2_2::ustring::TableRep::TableRep(OpenImageIO_v2_2::string_view, unsigned long) in /opt/homebrew/Cellar/openimageio/<IP_ADDRESS>/lib/libOpenImageIO.2.2.15.dylib
 6# OpenImageIO_v2_2::TableRepMap<256u, 4096u>::insert(OpenImageIO_v2_2::string_view, unsigned long) in /opt/homebrew/Cellar/openimageio/<IP_ADDRESS>/lib/libOpenImageIO.2.2.15.dylib
 7# OpenImageIO_v2_2::ustring::make_unique(OpenImageIO_v2_2::string_view) in /opt/homebrew/Cellar/openimageio/<IP_ADDRESS>/lib/libOpenImageIO.2.2.15.dylib
 8# input_file(int, char const**) in /opt/homebrew/bin/oiiotool
 9# std::__1::function<void (OpenImageIO_v2_2::ArgParse::Arg&, OpenImageIO_v2_2::span<char const* const, -1l>)>::operator()(OpenImageIO_v2_2::ArgParse::Arg&, OpenImageIO_v2_2::span<char const* const, -1l>) const in /opt/homebrew/Cellar/openimageio/<IP_ADDRESS>/lib/libOpenImageIO.2.2.15.dylib
10# OpenImageIO_v2_2::ArgParse::Impl::parse_args(int, char const**) in /opt/homebrew/Cellar/openimageio/<IP_ADDRESS>/lib/libOpenImageIO.2.2.15.dylib
11# OpenImageIO_v2_2::ArgParse::parse_args(int, char const**) in /opt/homebrew/Cellar/openimageio/<IP_ADDRESS>/lib/libOpenImageIO.2.2.15.dylib
12# getargs(int, char**) in /opt/homebrew/bin/oiiotool
13# main in /opt/homebrew/bin/oiiotool
zsh: abort      /opt/homebrew/bin/oiiotool --info test123456789012345.jpg

CC @cho-m, who's been trying to debug this. They've figured out the error arises when the path passed to oiiotool is too long.

oh, that's a really interesting stack trace.
That seems really different from the "oiiotool ERROR: read :" errors you were getting before.
Are you saying that there are some times when it gives you an error message, and other times when it has a legit crash?
I have some ideas to explore, but I really need somebody who can try things out an an M1 for me.
This kind of thing is going to be a lot easier when GitHub offers M1 as a choice for Actions CI.

In Homebrew, we will build as Release, so I think all the errors weren't showing up.
I am currently running a build with -DCMAKE_BUILD_TYPE=Debug and this is stacktrace that occurred.
I can try things out as I am using an M1 mac.

oh, I see -- you're saying you get a crash in debug mode, but a vague error in release mode?
Are you able to build from source if I tell you a git branch to try?
Just to test this, are you able to build the current 'master' and get the crash and/or error? If so, I'll make a test branch for you today that will help us narrow this down.

I did see similar error after building master branch, though I can't guarantee all the build flags are the same from original environment.
Even oiiotool --help has similar stacktrace.
I am assuming that Release build should remove assertions, which may be why we aren't seeing exception in Homebrew's CI.

Also, here is local make output for ustring.cpp where the assertion is triggered:
cd /Users/cho-m/Desktop/oiio/build/src/libutil && /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -DOpenImageIO_EXPORTS -DOpenImageIO_Util_EXPORTS -DUSE_FREETYPE=1 -DUSE_OCIO=1 -DUSE_OPENCOLORIO=1 -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -I/Users/cho-m/Desktop/oiio/build/include/OpenImageIO -I/Users/cho-m/Desktop/oiio/build/include -I/Users/cho-m/Desktop/oiio/build/src/include -I/Users/cho-m/Desktop/oiio/src/include -I/Users/cho-m/Desktop/oiio/ext/fmt/include -I/usr/local/include -isystem /opt/homebrew/include -isystem /opt/homebrew/include/Imath -g -arch arm64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -fPIC -Wall -Werror -Wno-unused-function -Wno-overloaded-virtual -Wno-unneeded-internal-declaration -Wno-unused-private-field -Wno-tautological-compare -Qunused-arguments -Wunknown-warning-option -Wno-unused-local-typedefs -fno-math-errno -std=c++14 -MD -MT src/libutil/CMakeFiles/OpenImageIO_Util.dir/ustring.cpp.o -MF CMakeFiles/OpenImageIO_Util.dir/ustring.cpp.o.d -o CMakeFiles/OpenImageIO_Util.dir/ustring.cpp.o -c /Users/cho-m/Desktop/oiio/src/libutil/ustring.cpp

In ustring.cpp, on line 379, you'll see
#elif defined(_LIBCPP_VERSION)

can you try changing that to
#elif defined(_LIBCPP_VERSION) && !_LIBCPP_BIG_ENDIAN

???
I have a feeling that my handling of that case for big endian turned out not to be correct and perhaps was never tested on a real machine.

Tried modifying and re-compiling, but still same error.

Local Build stacktrace for --info
❯ ../bin/oiiotool --info test123456789012345.jpg
/Users/cho-m/Desktop/oiio/src/libutil/ustring.cpp:396: TableRep: Assertion 'str.c_str() == c_str() && str.size() == length' failed.
 0# OpenImageIO_v2_3_5::Sysutil::stacktrace() in /Users/cho-m/Desktop/oiio/build/lib/libOpenImageIO_Util_d.2.3.5.dylib
 1# OpenImageIO_v2_3_5::stacktrace_signal_handler(int) in /Users/cho-m/Desktop/oiio/build/lib/libOpenImageIO_Util_d.2.3.5.dylib
 2# _sigtramp in /usr/lib/system/libsystem_platform.dylib
 3# pthread_kill in /usr/lib/system/libsystem_pthread.dylib
 4# abort in /usr/lib/system/libsystem_c.dylib
 5# OpenImageIO_v2_3_5::ustring::TableRep::TableRep(OpenImageIO_v2_3_5::string_view, unsigned long) in /Users/cho-m/Desktop/oiio/build/lib/libOpenImageIO_Util_d.2.3.5.dylib
 6# OpenImageIO_v2_3_5::ustring::TableRep::TableRep(OpenImageIO_v2_3_5::string_view, unsigned long) in /Users/cho-m/Desktop/oiio/build/lib/libOpenImageIO_Util_d.2.3.5.dylib
 7# OpenImageIO_v2_3_5::TableRepMap<256u, 4096u>::make_rep(OpenImageIO_v2_3_5::string_view, unsigned long) in /Users/cho-m/Desktop/oiio/build/lib/libOpenImageIO_Util_d.2.3.5.dylib
 8# OpenImageIO_v2_3_5::TableRepMap<256u, 4096u>::insert(OpenImageIO_v2_3_5::string_view, unsigned long) in /Users/cho-m/Desktop/oiio/build/lib/libOpenImageIO_Util_d.2.3.5.dylib
 9# OpenImageIO_v2_3_5::UstringTable::insert(OpenImageIO_v2_3_5::string_view, unsigned long) in /Users/cho-m/Desktop/oiio/build/lib/libOpenImageIO_Util_d.2.3.5.dylib
10# OpenImageIO_v2_3_5::ustring::make_unique(OpenImageIO_v2_3_5::string_view) in /Users/cho-m/Desktop/oiio/build/lib/libOpenImageIO_Util_d.2.3.5.dylib
11# OpenImageIO_v2_3_5::ustring::ustring(OpenImageIO_v2_3_5::string_view) in /Users/cho-m/Desktop/oiio/build/test/../bin/oiiotool
12# OpenImageIO_v2_3_5::ustring::ustring(OpenImageIO_v2_3_5::string_view) in /Users/cho-m/Desktop/oiio/build/test/../bin/oiiotool
13# input_file(int, char const**) in /Users/cho-m/Desktop/oiio/build/test/../bin/oiiotool
14# OpenImageIO_v2_3_5::ArgParse::Arg::action(int (*)(int, char const**))::'lambda'(OpenImageIO_v2_3_5::ArgParse::Arg&, OpenImageIO_v2_3_5::span<char const* const, -1l>)::operator()(OpenImageIO_v2_3_5::ArgParse::Arg&, OpenImageIO_v2_3_5::span<char const* const, -1l>) const in /Users/cho-m/Desktop/oiio/build/test/../bin/oiiotool
15# decltype(std::__1::forward<OpenImageIO_v2_3_5::ArgParse::Arg::action(int (*)(int, char const**))::'lambda'(OpenImageIO_v2_3_5::ArgParse::Arg&, OpenImageIO_v2_3_5::span<char const* const, -1l>)&>(fp)(std::__1::forward<OpenImageIO_v2_3_5::ArgParse::Arg&>(fp0), std::__1::forward<OpenImageIO_v2_3_5::span<char const* const, -1l> >(fp0))) std::__1::__invoke<OpenImageIO_v2_3_5::ArgParse::Arg::action(int (*)(int, char const**))::'lambda'(OpenImageIO_v2_3_5::ArgParse::Arg&, OpenImageIO_v2_3_5::span<char const* const, -1l>)&, OpenImageIO_v2_3_5::ArgParse::Arg&, OpenImageIO_v2_3_5::span<char const* const, -1l> >(OpenImageIO_v2_3_5::ArgParse::Arg::action(int (*)(int, char const**))::'lambda'(OpenImageIO_v2_3_5::ArgParse::Arg&, OpenImageIO_v2_3_5::span<char const* const, -1l>)&, OpenImageIO_v2_3_5::ArgParse::Arg&, OpenImageIO_v2_3_5::span<char const* const, -1l>&&) in /Users/cho-m/Desktop/oiio/build/test/../bin/oiiotool
16# void std::__1::__invoke_void_return_wrapper<void>::__call<OpenImageIO_v2_3_5::ArgParse::Arg::action(int (*)(int, char const**))::'lambda'(OpenImageIO_v2_3_5::ArgParse::Arg&, OpenImageIO_v2_3_5::span<char const* const, -1l>)&, OpenImageIO_v2_3_5::ArgParse::Arg&, OpenImageIO_v2_3_5::span<char const* const, -1l> >(OpenImageIO_v2_3_5::ArgParse::Arg::action(int (*)(int, char const**))::'lambda'(OpenImageIO_v2_3_5::ArgParse::Arg&, OpenImageIO_v2_3_5::span<char const* const, -1l>)&, OpenImageIO_v2_3_5::ArgParse::Arg&, OpenImageIO_v2_3_5::span<char const* const, -1l>&&) in /Users/cho-m/Desktop/oiio/build/test/../bin/oiiotool
17# std::__1::__function::__alloc_func<OpenImageIO_v2_3_5::ArgParse::Arg::action(int (*)(int, char const**))::'lambda'(OpenImageIO_v2_3_5::ArgParse::Arg&, OpenImageIO_v2_3_5::span<char const* const, -1l>), std::__1::allocator<OpenImageIO_v2_3_5::ArgParse::Arg::action(int (*)(int, char const**))::'lambda'(OpenImageIO_v2_3_5::ArgParse::Arg&, OpenImageIO_v2_3_5::span<char const* const, -1l>)>, void (OpenImageIO_v2_3_5::ArgParse::Arg&, OpenImageIO_v2_3_5::span<char const* const, -1l>)>::operator()(OpenImageIO_v2_3_5::ArgParse::Arg&, OpenImageIO_v2_3_5::span<char const* const, -1l>&&) in /Users/cho-m/Desktop/oiio/build/test/../bin/oiiotool
18# std::__1::__function::__func<OpenImageIO_v2_3_5::ArgParse::Arg::action(int (*)(int, char const**))::'lambda'(OpenImageIO_v2_3_5::ArgParse::Arg&, OpenImageIO_v2_3_5::span<char const* const, -1l>), std::__1::allocator<OpenImageIO_v2_3_5::ArgParse::Arg::action(int (*)(int, char const**))::'lambda'(OpenImageIO_v2_3_5::ArgParse::Arg&, OpenImageIO_v2_3_5::span<char const* const, -1l>)>, void (OpenImageIO_v2_3_5::ArgParse::Arg&, OpenImageIO_v2_3_5::span<char const* const, -1l>)>::operator()(OpenImageIO_v2_3_5::ArgParse::Arg&, OpenImageIO_v2_3_5::span<char const* const, -1l>&&) in /Users/cho-m/Desktop/oiio/build/test/../bin/oiiotool
19# std::__1::__function::__value_func<void (OpenImageIO_v2_3_5::ArgParse::Arg&, OpenImageIO_v2_3_5::span<char const* const, -1l>)>::operator()(OpenImageIO_v2_3_5::ArgParse::Arg&, OpenImageIO_v2_3_5::span<char const* const, -1l>&&) const in /Users/cho-m/Desktop/oiio/build/lib/libOpenImageIO_Util_d.2.3.5.dylib
20# std::__1::function<void (OpenImageIO_v2_3_5::ArgParse::Arg&, OpenImageIO_v2_3_5::span<char const* const, -1l>)>::operator()(OpenImageIO_v2_3_5::ArgParse::Arg&, OpenImageIO_v2_3_5::span<char const* const, -1l>) const in /Users/cho-m/Desktop/oiio/build/lib/libOpenImageIO_Util_d.2.3.5.dylib
21# OpenImageIO_v2_3_5::ArgParse::Impl::parse_args(int, char const**) in /Users/cho-m/Desktop/oiio/build/lib/libOpenImageIO_Util_d.2.3.5.dylib
22# OpenImageIO_v2_3_5::ArgParse::parse_args(int, char const**) in /Users/cho-m/Desktop/oiio/build/lib/libOpenImageIO_Util_d.2.3.5.dylib
23# getargs(int, char**) in /Users/cho-m/Desktop/oiio/build/test/../bin/oiiotool
24# main in /Users/cho-m/Desktop/oiio/build/test/../bin/oiiotool
zsh: abort      ../bin/oiiotool --info test123456789012345.jpg

Local Build stacktrace for --help
❯ bin/oiiotool --help
oiiotool -- simple image processing operations
OpenImageIO 2.3.5dev http://www.openimageio.org

...

    --unpremult                   Divide all color channels of the current image by the alpha
                                    to "un-premultiply"
    --premult                     Multiply all color channels of the current image by the alpha

/Users/cho-m/Desktop/oiio/src/libutil/ustring.cpp:396: TableRep: Assertion 'str.c_str() == c_str() && str.size() == length' failed.
 0# OpenImageIO_v2_3_5::Sysutil::stacktrace() in /Users/cho-m/Desktop/oiio/build/lib/libOpenImageIO_Util_d.2.3.5.dylib
 1# OpenImageIO_v2_3_5::stacktrace_signal_handler(int) in /Users/cho-m/Desktop/oiio/build/lib/libOpenImageIO_Util_d.2.3.5.dylib
 2# _sigtramp in /usr/lib/system/libsystem_platform.dylib
 3# pthread_kill in /usr/lib/system/libsystem_pthread.dylib
 4# abort in /usr/lib/system/libsystem_c.dylib
 5# OpenImageIO_v2_3_5::ustring::TableRep::TableRep(OpenImageIO_v2_3_5::string_view, unsigned long) in /Users/cho-m/Desktop/oiio/build/lib/libOpenImageIO_Util_d.2.3.5.dylib
 6# OpenImageIO_v2_3_5::ustring::TableRep::TableRep(OpenImageIO_v2_3_5::string_view, unsigned long) in /Users/cho-m/Desktop/oiio/build/lib/libOpenImageIO_Util_d.2.3.5.dylib
 7# OpenImageIO_v2_3_5::TableRepMap<256u, 4096u>::make_rep(OpenImageIO_v2_3_5::string_view, unsigned long) in /Users/cho-m/Desktop/oiio/build/lib/libOpenImageIO_Util_d.2.3.5.dylib
 8# OpenImageIO_v2_3_5::TableRepMap<256u, 4096u>::insert(OpenImageIO_v2_3_5::string_view, unsigned long) in /Users/cho-m/Desktop/oiio/build/lib/libOpenImageIO_Util_d.2.3.5.dylib
 9# OpenImageIO_v2_3_5::UstringTable::insert(OpenImageIO_v2_3_5::string_view, unsigned long) in /Users/cho-m/Desktop/oiio/build/lib/libOpenImageIO_Util_d.2.3.5.dylib
10# OpenImageIO_v2_3_5::ustring::make_unique(OpenImageIO_v2_3_5::string_view) in /Users/cho-m/Desktop/oiio/build/lib/libOpenImageIO_Util_d.2.3.5.dylib
11# OpenImageIO_v2_3_5::ustring::ustring(OpenImageIO_v2_3_5::string_view) in /Users/cho-m/Desktop/oiio/build/lib/libOpenImageIO_d.2.3.5.dylib
12# OpenImageIO_v2_3_5::ustring::ustring(OpenImageIO_v2_3_5::string_view) in /Users/cho-m/Desktop/oiio/build/lib/libOpenImageIO_d.2.3.5.dylib
13# OpenImageIO_v2_3_5::getattribute(OpenImageIO_v2_3_5::string_view, OpenImageIO_v2_3_5::TypeDesc, void*) in /Users/cho-m/Desktop/oiio/build/lib/libOpenImageIO_d.2.3.5.dylib
14# OpenImageIO_v2_3_5::get_string_attribute(OpenImageIO_v2_3_5::string_view, OpenImageIO_v2_3_5::string_view) in /Users/cho-m/Desktop/oiio/build/bin/oiiotool
15# formatted_format_list(OpenImageIO_v2_3_5::string_view, OpenImageIO_v2_3_5::string_view) in /Users/cho-m/Desktop/oiio/build/bin/oiiotool
16# print_help_end(std::__1::basic_ostream<char, std::__1::char_traits<char> >&) in /Users/cho-m/Desktop/oiio/build/bin/oiiotool
17# print_help(OpenImageIO_v2_3_5::ArgParse&) in /Users/cho-m/Desktop/oiio/build/bin/oiiotool
18# getargs(int, char**) in /Users/cho-m/Desktop/oiio/build/bin/oiiotool
19# main in /Users/cho-m/Desktop/oiio/build/bin/oiiotool
zsh: abort      bin/oiiotool --help

Diff:
diff --git a/src/libutil/ustring.cpp b/src/libutil/ustring.cpp
index 7f6df36f..d7594092 100644
--- a/src/libutil/ustring.cpp
+++ b/src/libutil/ustring.cpp
@@ -376,7 +376,7 @@ ustring::TableRep::TableRep(string_view strref, size_t hash)
     OIIO_DASSERT(str.c_str() == c_str() && str.size() == length);
     return;

-#elif defined(_LIBCPP_VERSION)
+#elif defined(_LIBCPP_VERSION) && !_LIBCPP_BIG_ENDIAN
     // libc++ uses a different std::string representation than gcc.  For
     // long char sequences, it's two size_t's (capacity & length) followed
     // by the pointer to allocated characters. (Gory detail: see the

OK, just as a test for now, change the same line to
#elif defined(_LIBCPP_VERSION) && 0

I just want to verify that if we don't do the code in that block, everything else seems to be ok.
Do you know what preprocessor symbol we can check to know if this is being compiled for an M1 Mac versus an Intel?

I did try just removing the entire section and didn't hit the assertion error, which I think would be similar to what you are looking for.
Not exactly sure what is recommended preprocessor symbols.
Perhaps some of the arch-related ones like __arm64__ or __aarch64__ for M1 mac's ARM processor and __x86_64__ for Intel processor (optionally combined with __APPLE__)

OK, I will propose a fix based on arch64 that will skip the problem code.
When I get more hands-on access to an M1, I'll figure out what was really going wrong and how to fix the broken code. Disabling it makes the ustrings internally take more memory, but will be correct and is worth the tradeoff until I can find the root problem.

Thanks, @lgritz
Once there is a commit available, we can try applying patch on Homebrew-side and make it available to users.

Here's the PR: https://github.com/OpenImageIO/oiio/pull/2990
If you verify that this works, I will backport and release an OIIO <IP_ADDRESS> with just this one little fix.

Previous issues are gone with patch:
❯ file bin/oiiotool
bin/oiiotool: Mach-O 64-bit executable arm64

❯ bin/oiiotool --info /opt/homebrew/Library/Homebrew/test/support/fixtures/test.jpg
/opt/homebrew/Library/Homebrew/test/support/fixtures/test.jpg :    1 x    1, 3 channel, uint8 jpeg

❯ bin/oiiotool --help
oiiotool -- simple image processing operations
OpenImageIO 2.3.5dev http://www.openimageio.org
...
Input formats supported: bmp, cineon, dds, dpx, ffmpeg, fits, gif, hdr, heif, ico, iff, jpeg, null, openexr, png, pnm, psd, raw, rla, sgi, socket,
    softimage, targa, tiff, webp, zfile
Output formats supported: bmp, dpx, fits, gif, hdr, heif, ico, iff, jpeg, null, openexr, png, pnm, rla, sgi, socket, targa, term, tiff, webp, zfile
OpenColorIO 2.0.1, color config: built-in
Known color spaces: "linear", "default", "rgb", "RGB", "sRGB", "Rec709"
Filters available: box, triangle, gaussian, sharp-gaussian, catmull-rom, blackman-harris, sinc, lanczos3, radial-lanczos3, nuke-lanczos6, mitchell,
    bspline, disk, cubic, keys, simon, rifman
Dependent libraries: FFMpeg Lavf58.76.100, gif_lib 5.2.1, libheif 1.12.0, jpeglib 9.4, null 1.0, OpenEXR 3.0.3, libpng 1.6.37, libraw 0.20.2-Release,
    LIBTIFF Version 4.3.0, Webp 1.2.0
OIIO 2.3.5dev built for C++14/201402 no SIMD
Running on 8 cores 16.0GB
Full OIIO documentation can be found at
    https://openimageio.readthedocs.io

Is there a specific test you want me to run?

I'm sure that's fine. I'll merge the fix and cut a release when CI is done.

Backported and released as v<IP_ADDRESS>

Thanks, @lgritz.


Update iot-hub-devguide-security.md

@jlian : Thanks for your contribution! The author(s) have been notified to review your proposed change.


PR: Fix toolbar title and tabify of external plugins

Description of Changes

[x] Wrote at least one-line docstrings (for any new functions)
[x] Added unit test(s) covering the changes (if testable)

[x] Included a screenshot or animation (if affecting the UI, see Licecap)

Issue(s) Resolved

Fixes #
Affirmation
By submitting this Pull Request or typing my (user)name below,
I affirm the Developer Certificate of Origin
with respect to all commits and content included in this PR,
and understand I am releasing the same under Spyder's MIT (Expat) license.

I certify the above statement is true and correct:

@ccordoba12 If you can check these PRs that pop through the work with TDK that would be great, but if they become critical/blockers and test are passing I will be merging them.


Upload to a configurable root path instead of STATIC_URL

It seems to me that django-cumulus needs a way to handle absolute urls being specified. It is legal to have a static url setting like:
STATIC_URL = "http://mycdn.com/static/"

However, if you do this and run /manage.py syncstatic -v 2 you can see that it uploads to the container:

$ ./manage.py syncstatic -v 2 -t
Uploaded http://mycdn.com/static/500.html
Uploaded http://mycdn.com/static/favicon.ico
Uploaded http://mycdn.com/static/admin/css/base.css
....

This is really not what you want because it goes into the CDN server's container under my container/http://mycdn.com/static/500.html
When you think about it, you're not uploading to a URL, but to a path. I suggest having a CUMULUS_ROOT setting so that we can specify where to upload to. It can be made backwards compatible by defaulting to /static/ but people can then change it if they specify absolute urls.

I probably should have said fully qualified instead of absolute above. I should also point out that this is a valid static url setting:
STATIC_URL = "//static.myserver.com/static/"
…which doesn't seem very compatible with this line of code. When a browser  sees that it will use either http or https depending on how the page was loaded. It's useful so the page doesn't have to change depending on how it's served.


chore: added docker #1164

Related Issue
Closes #1164

Description

Added the link for docker.
Screenshots

Checklist

[x] My code adheres to the established style guidelines of the project.
[ ] I have included comments in areas that may be difficult to understand.
[x] My changes have not introduced any new warnings.
[x] I have conducted a self-review of my code.

@deepshikha2708, The description doesn't really define what Docker is. Please try providing a shorter and simpler description that helps people understand what Docker is.

will you please put the tags @JasonDsouza212


Temporaily patch converters to fix support for LowCardinality strings

This is a temporary fix for #833. At the moment, the sqlutil package in the Plugin SDK does not correctly handle the LowCardinality data types. I thought we'd fixed this in #814, but it turns out that the GetConverter() function is not actually called by anything within the SDK or out code as expected.
Until we can patch this upstream, I've added two extra converters for now, that can be removed when we can introduce more generic handling of these types.

I think LowCardinality is mainly used with strings so this should be fine for now. Maybe we can just strip this modifier before calling GetConverter? I don't think it affects the type scanning/reflection once it gets to the client, so if we strip it, it should be effectively the same as String.

@SpencerTorres

Maybe we can just strip this modifier before calling GetConverter? I don't think it affects the type scanning/reflection once it gets to the client, so if we strip it, it should be effectively the same as String.

That is more or less how the original fix worked, however the GetConverter() function is not actually called by anything (maybe it's just a test helper function? not sure), so we needed to just add a new converter for the time being. As you mention above, we figured that as only strings are supported by LowCardinality out-of-the-box, that we'd be fine with just covering these cases for now.
Unfortunately, this is blocked on some failing tests in CI at the moment, but the test failures are intermittent and do not seem to occur locally, making this quite a tricky one to debug. We'll have more info ASAP, but for now I'm going to move this back to draft.


Add --config option

This addresses https://github.com/myint/rstcheck/issues/56
This is a tentative implementation of my proposed solution of adding a --config option, open to discussion. This pull request is not yet ready to be merged; at the very least, it would need additional documentation and tests.

Seems reasonable to me! I'll take another look once you complete the tests/documentation you mention.

Documentation and tests have been added in a second commit. I also documented the previously undocumented possibility to have the configuration in setup.cfg. I took the liberty of switching the order of docs and foo in the example file structure in the documentation, as that's the structure a Python project foo would generally have. When talking about setup.cfg, it seemed  confusing to have a project docs with a documentation folder foo, as opposed to a project foo with a documentation folder docs.
This should now be ready to merge if @myint  has no further objections.

Thanks @stsewd  for pointing these out. So I think this is merged now, so I don't know if I can still fix these typos on my branch and amend this pull request. @myint, do you just want to make these two fixes on your own master? That might be easier than working through a pull request.

Please go ahead and create a pull request. Thanks!


GIS application

How can I use cvat for gis application? I mean at least intergration with google map (use google map for annotation), use shapes etc

Please, describe your use-case. How do you want to use google maps for annotations? To visualize GPS data or .. ?

I would like to visualize existing polygons (with geo coordinates) and add new ones

I see. Unfortunately right now integration with any maps is not supported.

Got it, thanks


The mouse device manager does not surface the profile's speed property

It is a common scenario on PC devices for users to modify the speed of the mouse cursor. While the mouse device profile has a speed value is not easily accessed / modified in code.
I propose exposing the profile's MouseSpeed property and consider adding a DoubleClickSpeed as well (to more closely match configuration options on Windows and other operating systems).
Unfortunately, this is a breaking change as it modifes the IMixedRealityMouseDeviceManager interface and the MixedRealityMouseInputProfile (though this may be containable using default data).

I think there's a low likelihood that IMixedRealityMouseDeviceManager is actually being extended in crazy ways externally from the MRTK (i.e. this is probably a case where folks are just using the default).
If someone is extending/greatly modifying it, posting here would be great, but otherwise it seems like these changes are additive and should be okay.
The main thing here is that the profiles changes we make should be backwards compatible (using a combination of default data + FormerlySerializedAs). If this is not honored, we should chat to figure out how to make sure folks aren't broken by this.

The main thing here is that the profiles changes we make should be backwards compatible (using a combination of default data + FormerlySerializedAs).

I believe i can implement in such a way as to maintain profile compat.

I think this is a great idea. The backwards profile compatibility would be important.


Remove register component example

Alaska Airlines Pull Request
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Resolves: # (issue, if applicable)
Summary:
Please summarize the scope of the changes you have submitted, what the intent of the work is and anything that describes the before/after state of the project.
Remove custom component registration example, as it is not working on docsite as expected
Type of change:
Please delete options that are not relevant.

[ ] New capability
[x] Revision of an existing capability
[ ] Infrastructure change (automation, etc.)
[ ] Other (please elaborate)

Checklist:

[x] My update follows the CONTRIBUTING guidelines of this project
[x] I have performed a self-review of my own update

By submitting this Pull Request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
Pull Requests will be evaluated by their quality of update and whether it is consistent with the goals and values of this project. Any submission is to be considered a conversation between the submitter and the maintainers of this project and may require changes to your submission.
Thank you for your submission!
-- Auro Design System Team

:tada: This PR is included in version 4.5.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Can’t update repo on Beta 7

Update Sileo to versions 2.4.2

NewTerm(root)：
apt-get upgrade it's worked.

You need to upgrade Sileo to 2.4.2 or above, from https://repo.getsileo.app/.


Code style : unneeded comma

At the end of many arrays and objets there are comma like in this example :
bot.client.write('close_window', {
      windowId: window.id,
    });

Is there a reason for this ?

New properties and elements can be added on subsequent lines without changing the prior line to add a comma (= cleaner diff)

As deathcap said, I really like this method because it allows you to easily add new properties...
... but, it's technically not "clean" coding. Especially because trying this kind of thing in JSON will make it crash. It's pretty much a matter of opinion. For a more official / widespread project, it might be smarter to remove them to avoid any trouble, but then again, it doesn't really matter.

I'm ok with that reason, I'll just have to figure out how to explain WebStorm that's it's ok.

Actually, yeah this might make the commits diff slightly better.
But it makes the actual code you look at uglier.
So I still think removing these comma is better.

But it makes the actual code you look at uglier.

I disagree; I think the line-to-line consistency is prettier.
But aesthetics will always be a matter of opinion, so I think we should defer to the functionality advantages of terminating lines with commas. If all the lines are syntactically interchangeable, diffs are tidier, and reordering lines is easier. Over the last few years of maintaining dependency lists in package.json files, I've been burned by the necessary comma inconsistency at least 5 times. (I would add a line and forget to add a comma to the previous line, or I would reorder lines and forget to move the commas around independently.) This frustration is one of the motivations for https://github.com/andrewrk/liblaxjson .
On a similar note, I'd like to discuss this style:
var vec3 = require('vec3')
  , assert = require('assert')
  , zlib = require('zlib')

My opinion is that this looks terrible. But opinions aside, this also seems functionally deficient, because the first line is different from the others. An independent problem is that the last line is missing a semicolon, which is technically not a problem, but it's a bit scary to rely on semicolon insertion.
I propose this syntax instead:
var vec3 = require('vec3');
var assert = require('assert');
var zlib = require('zlib');

This syntax is super normal, easy, consistent, etc. Why would anyone do anything else?

I agree with your second point.
I'm afraid I can't agree with your first point though.
To me this :
{
  'a':'b',
  'c':'d',
  'e':'f',
}

is the same as {'a':'b', 'c':'d','e':'f',}.
It would also mean we would write stuff like [3,4,] (with line breaks), I just don't like it, it doesn't make sense.
Javascript accepts this yes, but I don't think using it is a good thing.
It also doesn't seem very standard in node.js. For example this https://github.com/feross/standard doesn't allow for additional comma.

Also, looks what happens when mojang mess with json https://github.com/andrewrk/mineflayer/blob/master/lib/chat_message.js#L122

Oh well, the recently released last version of webstorm (https://youtrack.jetbrains.com/issue/WEB-3538#tab=History) apparently is ok with that. If it stops saying all lines with a trailing comma are an error, I might make do with that convention...

https://github.com/PrismarineJS/node-minecraft-protocol/blob/master/src/protocol.js
node-minecraft-protocol doesn't have these trailing comma.

So, indeed WebStorms 10 allows to not error on these trailing comma.
I guess it doesn't matter that much.


Doesnt seem to work on iOS9

This is an awesome project, thanks!
I'm trying to share a photo from iPhoto (iPhone 6S iOS 9.0.2) to your airplay server with no success. I can connect to the server from the control center menu, but when trying to share, it doesn't show on this list.
Whats the use case you are supporting right now?

@oNaiPs Thanks for your interest in this project. To be honest, this module is currently work-in-progress. At the moment all my attention is geared towards a collection of more low-level modules that this module can combine to become a complete reference implementation of the entire AirPlay protocol. So I don't recommend anyone to be using this at the moment.
You can see my current work with AirPlay protocol here: https://gist.github.com/watson/50e46a6085ffc805d326
What particular feature are you looking for?

@watson I was just trying out the example/server.js. I was wondering if this device model tries to use some earlier airplay protocol reference?
What are you referencing to write the protocol?

@oNaiPs The protocol is always evolving, but in many cases one can get away with using an older version of the protocol since iOS devices will fall back if it detects an Apple TV running an older version of the firmware (which can be spoofed).
I'm using Wireshark and a special piece of hardware that let's me intercept packets sent to and from my testing gear (Apple TV, AirPort Express etc). But I'm also building upon a lot of other peoples work, mostly the Unofficial AirPlay Protocol Specification by Clément Vasseur, though that document is pretty outdated by now - but it's still a good starting point. At some point I would like to make an updated version of it.

@watson Can you tell me how to capture the RTSP packet in iOS9 devices?There are only mDNS packets when i use wireshark.

@weiyi308 your network interface needs to be running in promiscuous mode. I've had some issues with this myself, with is why I've bought a hardware switch with a monitor port. That way I can connect my Apple TV using an ethernet cable and have the switch copy all traffic to/from the Apple TV to my laptop and have Wireshark simply listen on the ethernet interface instead.

"""
one can get away with using an older version of the protocol since iOS devices will fall back if it detects an Apple TV running an older version of the firmware (which can be spoofed).
"""
can you give more info about this?

hello  ？

@notedit There's generally two ways that the version of the protocol is negotiated:

When advertising the AirPlay server on the network (using Bonjour), it's possible to set hardware version and software version in the TXT record. You can see the configuration details that this module advertises here: https://github.com/watson/airserver/blob/master/settings/vasseur.json
Clients will sometimes try to call API endpoints that's only supported by newer versions of the protocol. In those cases just behave like an old Apple TV would that doesn't support it - I think one would normally just respond with a 404 for an unsupported HTTP endpoint

thanks,  it works.


Update menu.cpp

As an awesome contributing member of society and open source software, I have created an extremely major addition to the source. I hope my contribution suffices for years to come, and new generations stare in awe when they see my coding skills in action. thank you.

lmao alright

lmao alright

diac


bug: Hardware Back Button control on Android does not work well. However, if there is no screen transition.

Bug Report
Ionic version:

[x] 5.1
Current behavior:

On Android, pressing the back button on the first page of a project always causes the app to close.
This happens absolutely even if the control of the back button is overridden so as not to quit the application according to the following Hardware Back Button.
However, once you have moved to another screen, the app will not exit even if you go back to the first page and press the back button.
https://github.com/ionic-team/ionic-docs/blob/master/src/pages/developing/hardware-back-button.md
Expected behavior:

Even if the screen transition is not performed, the overwriting process of Hardware Back Button is executed and the application is not terminated.
Steps to reproduce:

Related code:

I've pushed a sample below.
https://github.com/masatada-kurihara/ionic-back-button-test
The overwriting process of the back button is described in the NgOninit of HomePage, but the moment I start the application, the process is not executed.
After the transition to FugaPage, the back button overwriting process is enabled.
Other information:

Probably not occurring in ionic4.8.1.
Ionic info:

Ionic:

   Ionic CLI                     : 6.8.0 (/Users/masatada.kurihara/.nvm/versions/node/v12.9.1/lib/node_modules/@ionic/cli)
   Ionic Framework               : @ionic/angular 5.1.0
   @angular-devkit/build-angular : 0.803.26
   @angular-devkit/schematics    : 8.3.26
   @angular/cli                  : 8.3.26
   @ionic/angular-toolkit        : 2.2.0

Cordova:

   Cordova CLI       : 9.0.0<EMAIL_ADDRESS>   Cordova Platforms : not available
   Cordova Plugins   : not available

Utility:

   cordova-res                          : not installed
   native-run (update available: 1.0.0) : 0.2.8

System:

   Android SDK Tools : 26.1.1 (/Users/masatada.kurihara/Library/Android/sdk)
   ios-deploy        : 1.9.4
   NodeJS            : v12.9.1 (/Users/masatada.kurihara/.nvm/versions/node/v12.9.1/bin/node)
   npm               : 6.13.7
   OS                : macOS Catalina
   Xcode             : Xcode 11.4.1 Build version 11E503a

Thanks for the issue. I am going to close this as this is not a bug in Ionic Framework.
Ionic Framework does not terminate the application for you automatically. This is something the developer needs to add to their application. If the application is quitting even if you have not added any code to do so, then the source of the issue is likely coming from somewhere else. I tested this in a Capacitor application, and the application does not quit when pressing the hardware back button (as expected).
Please see https://ionicframework.com/docs/developing/hardware-back-button#exiting-the-app for examples on how to exit the application. Thanks!

@liamdebeasi
Do not close the ticket.
Even if you override the hardware button processing according to that documentation, Cordova will still close the app.
A sample is provided below. Please execute ionic cordova run android.
https://github.com/masatada-kurihara/ionic-back-button-test

I am not able to reproduce that behavior using the reproduction you provided. When pressing the hardware back button on the root page, Cordova did not exit the application.
Can you provide an example of Cordova closing the application when pressing the back button?

@liamdebeasi
Thanks for trying it out.
It seems to be occurring only on Android 9.x devices. I'll look into it a bit more.

@liamdebeasi
I tried the same behavior on the same app, on Android 8.
Problem not occurred.
There may be problems with Android 9.x and above.

@liamdebeasi
I tried it on several devices.This seems to happen on Android 9.0 and later.
I feel like this is a Cordova/Capacitor issue (or interface on ionic issue), do you have any knowledge on this?
[] 7.0 (nexus7)
[] 8.0 (Zenfone4)
[x] 9.0 (pixel2)
[x] 9.1 (galaxy s9)
[x] 10.0 (pixel3)
@toshiya-sato
Thanks for the supplement.

Thanks for the follow up. I tried your application on a Pixel 3 running Android 9 and a Pixel XL Running Android 10 with Capacitor and Cordova.
I was unable to reproduce this behavior on any device running Capacitor, but I was able to reproduce this behavior on Android 9+ only when using Cordova. This sounds like a Cordova bug, so I would recommend you file an issue with the project maintainers. Thanks!

@liamdebeasi
It was a problem with the cordova-plugin-splashscreen.
https://github.com/apache/cordova-plugin-splashscreen/issues/186


TOT build fails on WSL2

The error messages should be fairly self-explanatory:
Environment:  Linux NVWIN <IP_ADDRESS>-microsoft-standard-WSL2 #1 SMP Wed Aug 25 23:20:18 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
Cargo / rust version (defaults in the current apt repo for Ubuntu + WSL2) are 1.53.0
Compiling clap v3.0.10
error[E0658]: arbitrary expressions in key-value attributes are unstable                                                 --> /home/jkh/.cargo/registry/src/github.com-1ecc6299db9ec823/clap-3.0.10/src/lib.rs:8:39                                |                                                                                8 | #![cfg_attr(feature = "derive", doc = include_str!("../README.md"))]                                                  |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^                                                    |                                                                                = note: see issue #78835 <https://github.com/rust-lang/rust/issues/78835> for more information

This is expected behaviour for Rust 1.53. From our README:

The current oldest supported version of the Rust compiler is 1.54.

If it doesn't work for Rust 1.54 either, please let us know!

If you cannot/do not want to upgrade, you could try to build version 0.0.9 or 0.0.8.


Weird Lines in Status Bar

I am getting these weird lines in the status bar

OS: Kali GNU/Linux Rolling x86_64
Desktop Environment: XFCE
Font: Nerd Font SourceCodePro, size 11.
The weird thing is these lines did not appear back when I was still using GNOME.

Nevermind, fixed it using this: https://github.com/powerline/fonts/tree/master/SourceCodePro


[dv/flash_ctrl] Test flash_ctrl_rw_evict_en_all failing in the CS over ECC related error

Description
When running test flash_ctrl_rw_evict_en_all in the CS the test failing over ECC error:
https://github.com/lowRISC/opentitan/blob/5ed1d6057d7572b3df0fca4877e61b7d774318d4/hw/ip/flash_ctrl/dv/env/flash_otf_item.sv#L233-L235
This happens because both icv_err & dec68.err[1] are set and skip_err_chk is 0.
https://github.com/lowRISC/opentitan/blob/5ed1d6057d7572b3df0fca4877e61b7d774318d4/hw/ip/flash_ctrl/dv/env/flash_otf_item.sv#L216-L217
https://github.com/lowRISC/opentitan/blob/5ed1d6057d7572b3df0fca4877e61b7d774318d4/hw/ip/flash_ctrl/dv/env/flash_otf_item.sv#L199-L201
https://github.com/lowRISC/opentitan/blob/44361d06406bdafeeb0663a4f56f6c047e7fe09a/hw/ip/prim/rtl/prim_secded_pkg.sv#L1001-L1005

There are two issues

'last-mile scoreboad' was not connected in closed source tb.
Vendor specific partition adjustment for both closed and open source env

Both are solved in #18233 and #18303


Device role font color customization

As ...
Nelly - Network Engineer
I want ...
to be able to customize the font color for a device role color
So that ...
text is more easily readable in dark mode against certain device role color selections
I know this is done when...
there is an option to select a font color when creating a device role
Optional - Feature groups this request pertains to.

[ ] Automation
[ ] Circuits
[ ] DCIM
[ ] IPAM
[ ] Misc (including Data Sources)
[ ] Organization
[ ] Plugins (and other Extensibility)
[ ] Security (Secrets, etc)
[ ] Image Management
[X] UI/UX
[ ] Documentation
[ ] Other (not directly a platform feature)

Database Changes
Unsure
External Dependencies
Unsure

We should look at just not inverting labels and buttons.


Howto: test release process (dry run)

We can test these changes while doing a new release? Or there are other ways?
Originally posted by @zhenik in https://github.com/fredrikhgrelland/vagrant-hashistack/pull/303#issuecomment-688481698

This could be an option to dry-run workflow files locally : https://github.com/nektos/act
However, looks like it does not support macos-latest as a runner and most of the jobs in our workflow file run on macos-latest: https://github.com/nektos/act#runners

Every PR will now require a label denoting the change type change/* and will dry-run the release process on every CI-job.
A new label action/releasewill run the actual release process.


Moved init dispatch from constructor to componentDidMount

Related issue: #79

this is great, you're so pro-active! :+1:


Update MD file on new branch 2017-24-17_05-11-09

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

split/updateTestRef.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Visual Studio Enterprise Bootstrapper fails checksum

Description
It appears that the boostrap installer for visual studio was updated between now & the last build of the image 17 hours ago.
2024-07-09T22:17:12.0540120Z ==> azure-arm.image: Provisioning with powershell script: D:/a/1/s/runner-images/images/windows/templates/../scripts/build/Install-VisualStudio.ps1
2024-07-09T22:17:17.8059780Z     azure-arm.image: Downloading Bootstrapper ...
2024-07-09T22:17:17.8066898Z     azure-arm.image: Downloading package from https://aka.ms/vs/17/release/vs_Enterprise.exe to C:\Users\***\AppData\Local\Temp\vs_Enterprise.exe...
2024-07-09T22:17:17.8070812Z     azure-arm.image: Package downloaded in 0.16 seconds
2024-07-09T22:17:17.8083562Z     azure-arm.image: Signature thumbprint do not match expected.
2024-07-09T22:17:17.8088536Z     azure-arm.image: At C:\Program Files\WindowsPowerShell\Modules\ImageHelpers\InstallHelpers.ps1:972 char:9
2024-07-09T22:17:17.8089946Z     azure-arm.image: +         throw "Signature thumbprint do not match expected."
2024-07-09T22:17:17.8099064Z     azure-arm.image: +         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2024-07-09T22:17:17.8100258Z     azure-arm.image:     + CategoryInfo          : OperationStopped: (Signature thumb...match expected.:String) [], RuntimeException
2024-07-09T22:17:17.8112433Z     azure-arm.image:     + FullyQualifiedErrorId : Signature thumbprint do not match expected.

https://learn.microsoft.com/en-us/visualstudio/releases/2022/release-history

Just downloaded it from the same URL as the build & I got a different checksum than what's in the json:
> Get-FileHash -Algorithm SHA256 .\vs_Enterprise.exe | select Hash

Hash
----
C2CE3760F11EB4CE723831409CE88476AB7A7C68D02EC0D3419BB9C028E2D878

vs
https://github.com/actions/runner-images/blob/8e6b0c0d6d1e2f58a802585a91ddd8f6386fd675/images/windows/toolsets/toolset-2022.json#L180C23-L180C63
Platforms affected

[X] Azure DevOps
[X] GitHub Actions - Standard Runners
[X] GitHub Actions - Larger Runners

Runner images affected

[ ] Ubuntu 20.04
[ ] Ubuntu 22.04
[ ] Ubuntu 24.04
[ ] macOS 11
[ ] macOS 12
[ ] macOS 13
[ ] macOS 13 Arm64
[ ] macOS 14
[ ] macOS 14 Arm64
[X] Windows Server 2019
[X] Windows Server 2022

Image version and build link
this is from building a custom image.  https://github.visualstudio.com/runner-images/_build/results?buildId=136320&view=results shows a run 17 hrs ago...im assuming the vs_enterprise.exe file was updated since then.
Is it regression?
https://github.visualstudio.com/runner-images/_build/results?buildId=136320&view=logs&j=747417c8-a650-5aed-afed-d9b52dbd7d24
Expected behavior
vs install succeeds
Actual behavior
vs install fails on checksum
Repro steps
run the generate image ps1

@tehsuk Thank you for bringing this issue to us. We are looking into this issue and will update you on this issue after investigating.

@tehsuk  Visual studio cli signature has been updated, Could you please retry by forking latest code from main branch.
Closing this issue,Thank you.


Update FindESMF.cmake file to match ESMF 8.5.0

Description

This PR updates the FindESMF.cmake file in MAPL to match that of ESMF v8.5.0. I don't think it's strictly necessary, but it keeps us consistent with the ESMF version we require.
Related Issue

Motivation and Context

Consistency!
How Has This Been Tested?

I hope to test it tomorrow with a spack build.
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Trivial change (affects only documentation or cleanup)

Checklist:

[ ] I have tested this change with a run of GEOSgcm (if non-trivial)
[x] I have added one of the required labels (0 diff, 0 diff trivial, 0 diff structural, non 0-diff)
[x] I have updated the CHANGELOG.md accordingly following the style of Keep a Changelog

Testing shows this as zero-diff.


Zooming while dragging scene causes incorrect offset

Seems inverse or something (or like... it should be inverse maybe, when its not)

Is this related to #85 maybe?
could it be whats causing it???
I dont see how it could but maybe worth considering it at the same time


test-branch/execute-job/wrong-comment-on-pr/745dd124-b130-4e65-91fa-b5fdc01db67a

PR for testing 90ed3e17cd2b9362b0fd902c2b817024123b5d49

comment 1


Fix the R sample that is incompatible with roxygen2.

I got the error bellow when try to generate R document from this sample file: https://github.com/github/linguist/blob/master/samples/R/import.r#L195-L196
@TODO [hello.R#196]: unknown tag

In R, lines that starts with #' are for roxygen2. So we should use # for usual code comments.

I added the sample in #1142 from https://github.com/klmr/modules.
It's okay if sample files have a few errors. They are here to represent the in-the-wild usage of the language, with the occasional syntactic errors. We use then to train the Bayesian classifier and for our own tests. Syntactic errors are something we should be able to handle.

Thanks for quick response! I got it 👍