FirebaseError: Messaging: This browser doesn't support the API's required to use the firebase SDK. (messaging/unsupported-browser).

I implemented the FCM in my flutter web project. It works fine in Chrome but in Safari the web application stop working.
Flutter doctor:
[✓] Flutter (Channel beta, 1.25.0-8.1.pre, on Mac OS X 10.15.7 19H2 darwin-x64, locale en-US)
[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
[✓] Xcode - develop for iOS and macOS (Xcode 12.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 4.0)
[✓] Connected device (2 available)

dependencies added:
firebase_core: "^0.5.3"
firebase_messaging: "^8.0.0-dev.10"

The problem is in the moment that I added the dependencies. First start to ask for the initialization, if I initialize it I get this error:
FirebaseError: Messaging: This browser doesn't support the API's required to use the firebase SDK. (messaging/unsupported-browser). and the app stops working.

Hi @SantyTaco
The offical example doesn't run on the web because flutter_local_notifications
Can you please provide  a complete reproducible minimal code sample
Thank you

Thank you Taha for your answer, the main problem is that we have a flutter mobile app for android and ios. A functionality for ios devices needs to leave from the mobile app to the web app to be completed. The ios devices for default use safari so when we implemented the firebase messaging into the flutter web app in safari the web app does not work. I could reproduce it in the default flutter app. These is the code:

pubspec.yaml
`name: flutter_web_test
description: A new Flutter application.

The following line prevents the package from being accidentally published to
pub.dev using pub publish. This is preferred for private packages.
publish_to: 'none' # Remove this line if you wish to publish to pub.dev
The following defines the version and build number for your application.
A version number is three numbers separated by dots, like 1.2.43
followed by an optional build number separated by a +.
Both the version and the builder number may be overridden in flutter
build by specifying --build-name and --build-number, respectively.
In Android, build-name is used as versionName while build-number used as versionCode.
Read more about Android versioning at https://developer.android.com/studio/publish/versioning
In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
Read more about iOS versioning at
https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
version: 1.0.0+1
environment:
sdk: ">=2.7.0 <3.0.0"
dependencies:
flutter:
sdk: flutter
firebase_core: "^0.5.3"
firebase_messaging: "^8.0.0-dev.10"
The following adds the Cupertino Icons font to your application.
Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^1.0.0
dev_dependencies:
flutter_test:
sdk: flutter
For information on the generic Dart part of this file, see the
following page: https://dart.dev/tools/pub/pubspec
The following section is specific to Flutter.
flutter:
The following line ensures that the Material Icons font is
included with your application, so that you can use the icons in
the material Icons class.
uses-material-design: true
To add assets to your application, add an assets section, like this:
assets:
- images/a_dot_burr.jpeg
- images/a_dot_ham.jpeg
An image asset can refer to one or more resolution-specific "variants", see
https://flutter.dev/assets-and-images/#resolution-aware.
For details regarding adding assets from package dependencies, see
https://flutter.dev/assets-and-images/#from-packages
To add custom fonts to your application, add a fonts section here,
in this "flutter" section. Each entry in this list should have a
"family" key with the font family name, and a "fonts" key with a
list giving the asset and other descriptors for the font. For
example:
fonts:
- family: Schyler
fonts:
- asset: fonts/Schyler-Regular.ttf
- asset: fonts/Schyler-Italic.ttf
style: italic
- family: Trajan Pro
fonts:
- asset: fonts/TrajanPro.ttf
- asset: fonts/TrajanPro_Bold.ttf
weight: 700

For details regarding fonts from package dependencies,
see https://flutter.dev/custom-fonts/#from-packages
**web/index.html**

flutter_web_test

`
**main.dart**
`import 'package:firebase_core/firebase_core.dart';
import 'package:flutter/material.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
runApp(MyApp());
}
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
// This is the theme of your application.
//
// Try running your application with "flutter run". You'll see the
// application has a blue toolbar. Then, without quitting the app, try
// changing the primarySwatch below to Colors.green and then invoke
// "hot reload" (press "r" in the console where you ran "flutter run",
// or simply save your changes to "hot reload" in a Flutter IDE).
// Notice that the counter didn't reset back to zero; the application
// is not restarted.
primarySwatch: Colors.blue,
// This makes the visual density adapt to the platform that you run
// the app on. For desktop platforms, the controls will be smaller and
// closer together (more dense) than on mobile platforms.
visualDensity: VisualDensity.adaptivePlatformDensity,
),
home: MyHomePage(title: 'Flutter Demo Home Page'),
);
}
}
class MyHomePage extends StatefulWidget {
MyHomePage({Key key, this.title}) : super(key: key);
// This widget is the home page of your application. It is stateful, meaning
// that it has a State object (defined below) that contains fields that affect
// how it looks.
// This class is the configuration for the state. It holds the values (in this
// case the title) provided by the parent (in this case the App widget) and
// used by the build method of the State. Fields in a Widget subclass are
// always marked "final".
final String title;
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State {
int _counter = 0;
void _incrementCounter() {
setState(() {
// This call to setState tells the Flutter framework that something has
// changed in this State, which causes it to rerun the build method below
// so that the display can reflect the updated values. If we changed
// _counter without calling setState(), then the build method would not be
// called again, and so nothing would appear to happen.
_counter++;
});
}
@override
Widget build(BuildContext context) {
// This method is rerun every time setState is called, for instance as done
// by the _incrementCounter method above.
//
// The Flutter framework has been optimized to make rerunning build methods
// fast, so that you can just rebuild anything that needs updating rather
// than having to individually change instances of widgets.
return Scaffold(
appBar: AppBar(
// Here we take the value from the MyHomePage object that was created by
// the App.build method, and use it to set our appbar title.
title: Text(widget.title),
),
body: Center(
// Center is a layout widget. It takes a single child and positions it
// in the middle of the parent.
child: Column(
// Column is also a layout widget. It takes a list of children and
// arranges them vertically. By default, it sizes itself to fit its
// children horizontally, and tries to be as tall as its parent.
//
// Invoke "debug painting" (press "p" in the console, choose the
// "Toggle Debug Paint" action from the Flutter Inspector in Android
// Studio, or the "Toggle Debug Paint" command in Visual Studio Code)
// to see the wireframe for each widget.
//
// Column has various properties to control how it sizes itself and
// how it positions its children. Here we use mainAxisAlignment to
// center the children vertically; the main axis here is the vertical
// axis because Columns are vertical (the cross axis would be
// horizontal).
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(
'You have pushed the button this many times:',
),
Text(
'$_counter',
style: Theme.of(context).textTheme.headline4,
),
],
),
),
floatingActionButton: FloatingActionButton(
onPressed: _incrementCounter,
tooltip: 'Increment',
child: Icon(Icons.add),
), // This trailing comma makes auto-formatting nicer for build methods.
);
}
}
`
I used this plug in to implement the FCM into the flutter web, it would be grate that if safari does not support FCM the web app continue working with out messaging.

Hi @SantyTaco
Thanks for filing the issue, providing details, I can reproduce this
Preview

dependencies:
  flutter:
    sdk: flutter
  cupertino_icons: ^0.1.3
  firebase_core: ^0.5.3
  firebase_messaging: ^8.0.0-dev.11
  flutter_local_notifications: ^3.0.2
  http: ^0.12.2

flutter doctor -v
[✓] Flutter (Channel beta, 1.25.0-8.1.pre, on macOS 11.1 20C69 darwin-x64, locale en-GB)
    • Flutter version 1.25.0-8.1.pre at /Users/tahatesser/Code/flutter_beta
    • Framework revision 8f89f6505b (2 weeks ago), 2020-12-15 15:07:52 -0800
    • Engine revision 92ae191c17
    • Dart version 2.12.0 (build 2.12.0-133.2.beta)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Volumes/Extreme/sdk
    • Platform android-30, build-tools 30.0.3
    • ANDROID_HOME = /Volumes/Extreme/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Volumes/Extreme/Xcode.app/Contents/Developer
    • Xcode 12.3, Build version 12C33
    • CocoaPods version 1.10.0

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

[✓] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)

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

[✓] Connected device (2 available)
    • Taha’s iPad (mobile) • 00008020-000255113EE8402E • ios            • iOS 14.3
    • Chrome (web)         • chrome                    • web-javascript • Google Chrome 87.0.4280.88

• No issues found!

Hi @TahaTesser, very good. I hope it helps to resolve the issue.

I ran into this problem too. Downgrading to firebase_messaging 8.0.0-dev.9 seems to be a temp workaround. The release notes state 8.0.0-dev.10 FEAT: web implementation (#4206).

Downgrading doesn't seem to solve the issue for me.
On browsers that does not support messaging the app does not even open but on browsers supporting messaging it loads fine.
Uncaught (in promise) FirebaseError: Messaging: This browser doesn't support the API's required to use the firebase SDK. (messaging/unsupported-browser).
c errors.ts:92
create errors.ts:128
 index.ts:56
getOrInitializeService provider.ts:194
getImmediate provider.ts:95
_getService firebaseApp.ts:127
i firebaseNamespaceCore.ts:228
n firebaseNamespaceCore.ts:209
getMessagingInstance messaging.dart:20
new firebase_messaging_web.dart:36
registerWith firebase_messaging_web.dart:25
registerPlugins generated_plugin_registrant.dart:25
main web_entrypoint.dart:14
runBody async_patch.dart:84
_async async_patch.dart:123
main$ web_entrypoint.dart:13
dartRunMain main_module.bootstrap.js:20
$dartRunMain main_module.bootstrap.js:19
Any workarounds or fixes would be very helpful.

Downgrading doesn't seem to solve the issue for me.
On browsers that does not support messaging the app does not even open but on browsers supporting messaging it loads fine.
Uncaught (in promise) FirebaseError: Messaging: This browser doesn't support the API's required to use the firebase SDK. (messaging/unsupported-browser).
c errors.ts:92
create errors.ts:128
 index.ts:56
getOrInitializeService provider.ts:194
getImmediate provider.ts:95
_getService firebaseApp.ts:127
i firebaseNamespaceCore.ts:228
n firebaseNamespaceCore.ts:209
getMessagingInstance messaging.dart:20
new firebase_messaging_web.dart:36
registerWith firebase_messaging_web.dart:25
registerPlugins generated_plugin_registrant.dart:25
main web_entrypoint.dart:14
runBody async_patch.dart:84
_async async_patch.dart:123
main$ web_entrypoint.dart:13
dartRunMain main_module.bootstrap.js:20
$dartRunMain main_module.bootstrap.js:19
Any workarounds or fixes would be very helpful.

I believe the JS promise rejection is making the Dart side explode on initialization. firebase_messaging_web.dart does not check the JS API of isSupported before getting on its way.
I'm guessing if isSupported() is checked before trying to init messaging on the Dart side would fix the issue. However FirebaseMessaging.instance would either have to return null or a full no-op implementation of FirebaseMessagingWeb. I lean towards the full no-op when a browser isn't supported.
For my use-case, I don't care if this package works on the web but I need it to not explode for any browser. I use Messaging only with mobile platforms. If no one is actively looking into this I'd take a crack at a PR for it.

I believe the JS promise rejection is making the Dart side explode on initialization. firebase_messaging_web.dart does not check the JS API of isSupported before getting on its way.
I'm guessing if isSupported() is checked before trying to init messaging on the Dart side would fix the issue. However FirebaseMessaging.instance would either have to return null or a full no-op implementation of FirebaseMessagingWeb. I lean towards the full no-op when a browser isn't supported.
For my use-case, I don't care if this package works on the web but I need it to not explode for any browser. I use Messaging only with mobile platforms. If no one is actively looking into this I'd take a crack at a PR for it.

@dineshshanmugam Downgrading works for me -
firebase_core: ^0.5.3
firebase_messaging: 8.0.0-dev.10

@dineshshanmugam Downgrading works for me -
firebase_core: ^0.5.3
firebase_messaging: 8.0.0-dev.10

I believe the JS promise rejection is making the Dart side explode on initialization. firebase_messaging_web.dart does not check the JS API of isSupported before getting on its way.
I'm guessing if isSupported() is checked before trying to init messaging on the Dart side would fix the issue. However FirebaseMessaging.instance would either have to return null or a full no-op implementation of FirebaseMessagingWeb. I lean towards the full no-op when a browser isn't supported.
For my use-case, I don't care if this package works on the web but I need it to not explode for any browser. I use Messaging only with mobile platforms. If no one is actively looking into this I'd take a crack at a PR for it.

Would you do this favor?

I believe the JS promise rejection is making the Dart side explode on initialization. firebase_messaging_web.dart does not check the JS API of isSupported before getting on its way.
I'm guessing if isSupported() is checked before trying to init messaging on the Dart side would fix the issue. However FirebaseMessaging.instance would either have to return null or a full no-op implementation of FirebaseMessagingWeb. I lean towards the full no-op when a browser isn't supported.
For my use-case, I don't care if this package works on the web but I need it to not explode for any browser. I use Messaging only with mobile platforms. If no one is actively looking into this I'd take a crack at a PR for it.

Would you do this favor?

@dineshshanmugam Downgrading works for me -
firebase_core: ^0.5.3
firebase_messaging: 8.0.0-dev.10

i updated to firebase_messaging: "8.0.0-dev.9" and this seems to work  for some reason dev.10 doesn't seem to do the trick.

@dineshshanmugam Downgrading works for me -
firebase_core: ^0.5.3
firebase_messaging: 8.0.0-dev.10

i updated to firebase_messaging: "8.0.0-dev.9" and this seems to work  for some reason dev.10 doesn't seem to do the trick.

Anyone following, check out this PR https://github.com/FirebaseExtended/flutterfire/pull/4644 for a local work around if you can't wait for this to be merged.

Anyone following, check out this PR https://github.com/FirebaseExtended/flutterfire/pull/4644 for a local work around if you can't wait for this to be merged.

This fix is included in 8.0.0-dev.14 even though the release notes don't mention it

This fix is included in 8.0.0-dev.14 even though the release notes don't mention it

This fix is included in 8.0.0-dev.14 even though the release notes don't mention it

It is mentioned in the web packages changelog - https://pub.dev/packages/firebase_messaging_web/changelog#010-dev5 - but yes this has shipped :)

This fix is included in 8.0.0-dev.14 even though the release notes don't mention it

It is mentioned in the web packages changelog - https://pub.dev/packages/firebase_messaging_web/changelog#010-dev5 - but yes this has shipped :)

Ooohh...my bad missed that. Thank you!

Ooohh...my bad missed that. Thank you!

Yes, currently working in 8.0.0-dev.14. Thank you guys!

Yes, currently working in 8.0.0-dev.14. Thank you guys!


Utilize Embedded Postgres for Dev Db

Hi!
I came across this project which I use for testing and thought this would be perfect for Atlas.
I think defaulting to using an embedded database would improve DX and perform better. For example, I use Atlas in a local docker-compose file and the dev database is an annoyance. It either requires me to create a custom image or spin up a Postgres container (which is then complicated to shutdown on migration complete). Additionally, requiring a manual installation of Postgres or Docker in Docker feels overkill.
I believe the major downside of Embedded Postgres is an additional dependency / bigger binary. Perhaps there’s a way to mitigate this or make it optional?
I wouldn’t mind opening a PR for this if there’s interest.

Heads up, I've tried using that project in the past for testing and found that it wouldn't work in our pipeline.

Thanks for the suggestion, @jackHedaya. However, I prefer not to use this project in Atlas for two reasons: whatever we choose should work for all different drivers and flavors (pgvector, postgis, etc.), and the project itself is not really embedding Postgres, but instead downloading it from the internet and running it as a process - which I prefer to avoid and use a more standard tool like Docker for this purpose.
If you need to use a dev-database in one of the containers defined in your docker-compose file (I guess you use one of the atlas schema commands?), you should define another container in the docker-compose.yaml for the dev-database and pass it as an argument to Atlas rather than using a docker:// URL in the commands. The dev-database can be reused between executions, as Atlas cleans its work after it's done.

Thank you for the detailed explanation! I have no complaints on the effectiveness of spinning up a migration db. Rather, it's the resource utilization of an unused / redundant database that was irking me.
Regardless, it's a small qualm and the design decision makes more sense now. Thank you!


Should resolveJsonModule resolve json files without a .json file extension?

TypeScript Version:  2.9.0-dev.20180521

Search Terms:

json
resolveJsonModule

Code
In a project using resolveJsonModule.
For a file:
import foo = require('./foo')
import foo2 = require('./foo.json')

console.log(foo, foo2);

Expected behavior:
If we follow node, both imports are resolved
Actual behavior:
Only the foo2 import is resolved. The import without the .json file extension is not resolved

This would be very cool

I don't think we want to do this since we want developer to explicitly choose json file module resolution to avoid accidental includes and having no way to not include it.

This is causing me a headache. My app has to import a bunch of AVRO schemas kept in a common repo, which all have .avsc extension. Now thanks to your artificial restrictions ("to avoid accidental imports") I'm spending my time writing some silly workarounds instead of developing the actual app.

Any chance of having the json file resolve even if it doesn't have the extension?
I have an external dependency that didn't specify the extension.
I think it should be a concern of the developer to pay attention to the collisions. Preferably, the typescript compiler should warn about the collisions, but I'm not sure about the performance/development implications of this.


json.decoder.JSONDecodeError Not able to get response from bard

Hey, so i was using my script and it was working fine, since the last 2 days it is not working properly I've tried upgrading to the latest bardapi version from 0.1.33 to 0.1.38 but still not getting the desired response from bard. I have tried resetting my cookies, changed my network as well.
OS: Windows 11
Python: 3.11
Using proxy: No
Bardapi==0.1.38 Error Message
Error
Traceback (most recent call last):
  File "C:\Users\Admin\Documents\Scripts\main.py", line 302, in <module>
    main()
  File "C:\Users\Admin\Documents\Scripts\main.py", line 257, in main
    bard_report_name = bard_report(reference)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Admin\Documents\Scripts\main.py", line 70, in bard_report
    final_response = bard.get_answer(prompt)['content']
                     ^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Admin\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\bardapi\core.py", line 332, in get_answer
    resp_dict = json.loads(resp.content.splitlines()[-5])[0][2]
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.11_3.11.1776.0_x64__qbz5n2kfra8p0\Lib\json\__init__.py", line 346, in loads
    return _default_decoder.decode(s)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.11_3.11.1776.0_x64__qbz5n2kfra8p0\Lib\json\decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.11_3.11.1776.0_x64__qbz5n2kfra8p0\Lib\json\decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

I have experienced some similar issues recently.
Resetting cookie will allow the system working for a short while.

Traceback (most recent call last):
  File "/opt/venv/lib/python3.10/site-packages/discord/app_commands/commands.py", line 827, in _do_call
    return await self._callback(self.binding, interaction, **params)  # type: ignore
  File "/app/main.py", line 669, in askbard
    bard_answer = await bard.get_answer(question)
  File "/opt/venv/lib/python3.10/site-packages/bardapi/core_async.py", line 225, in get_answer
    resp_dict = json.loads(resp.content.splitlines()[3])[0][2]
IndexError: list index out of range

I got a similar exception to this one; I think Google changed how Bard behaves.

Google Bard doesn't seem to have changed its interface; it appears to be an issue that has been present since its inception. The responses could be due to a temporary ban, rate limiting, or failure to receive well-structured answers to repeated identical questions.
However, this was temporary, and it was observed that normal functionality resumed after some time.
These issues could manifest as index errors or encoding errors.
Possible error messages

Numerous users reported the issue as a temporary glitch resolved by resetting cookies, restarting the browser, logging in, or waiting it out. (Mostly resolved over time).

Traceback (most recent call last):
  File "/opt/venv/lib/python3.10/site-packages/discord/app_commands/commands.py", line 827, in _do_call
    return await self._callback(self.binding, interaction, **params)  # type: ignore
  File "/app/main.py", line 669, in askbard
    bard_answer = await bard.get_answer(question)
  File "/opt/venv/lib/python3.10/site-packages/bardapi/core_async.py", line 225, in get_answer
    resp_dict = json.loads(resp.content.splitlines()[3])[0][2]
IndexError: list index out of range

or
Traceback (most recent call last):
  File "C:\Users\Admin\Documents\Scripts\main.py", line 302, in <module>
    main()
  File "C:\Users\Admin\Documents\Scripts\main.py", line 257, in main
    bard_report_name = bard_report(reference)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Admin\Documents\Scripts\main.py", line 70, in bard_report
    final_response = bard.get_answer(prompt)['content']
                     ^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Admin\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\bardapi\core.py", line 332, in get_answer
    resp_dict = json.loads(resp.content.splitlines()[-5])[0][2]
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.11_3.11.1776.0_x64__qbz5n2kfra8p0\Lib\json\__init__.py", line 346, in loads
    return _default_decoder.decode(s)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.11_3.11.1776.0_x64__qbz5n2kfra8p0\Lib\json\decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.11_3.11.1776.0_x64__qbz5n2kfra8p0\Lib\json\decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

Thanks for your help. I tried with new cookies and it worked.


Set-AzureADKerberosServer cmdlet - new parameter not mentioned

Within the section:
https://docs.microsoft.com/en-us/windows/security/identity-protection/hello-for-business/hello-hybrid-cloud-trust#deploy-azure-ad-kerberos
Does the Set-AzureADKerberosServer cmdlet need to be ran with the -SetupCloudTrust parameter in order to setup CloudTrust properly? It seems this way.
Also, executing the Get-AzureADKerberosServer cmdlet shows that CloudTrustDisplay has no value until the cmdlet is executed with that parameter.
I want to confirm with you that this is in fact true.
Thanks!

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: f37c7491-e550-86a8-5897-61d1a22c6631
Version Independent ID: f37c7491-e550-86a8-5897-61d1a22c6631
Content: Hybrid Cloud Trust Deployment (Windows Hello for Business) - Windows security
Content Source: windows/security/identity-protection/hello-for-business/hello-hybrid-cloud-trust.md
Product: m365-security
GitHub Login: @Gitprakhar13
Microsoft Alias: prsriva

Steve Syfuhs states that parameter is unrelated. Closing.


Add normalized metrics

It would be nice if there are normalized metrics such as normalized deviation and normalized rmse.
I implemented it, but I don't know where to assign these the type of error, so I won't PR.
If you tell me the category of ND or NRMSE, I will promote the implemented code :)

Hi @leejoonhun ,
We recently included two normalized metrics the scaled Continuous Ranked Probability Score (sCRPS)
and the mean Squared Scaled Error (MSSE). There are other relative metrics available too like
Here is the documentation of the relative error metrics:

https://nixtla.github.io/neuralforecast/losses.pytorch.html#scale-independent-errors
https://nixtla.github.io/neuralforecast/losses.pytorch.html#scrps.__init__

Oh, sorry for the stupid question..
ND and NRMSE appear in this paper.

I think the paper does not write the NRMSE equation, from what I see there are several versions:
https://stats.stackexchange.com/questions/116238/normalized-rmse

I implemented first version of the link, but I didn't know there were many versions..
It may be misunderstood, so I don't think they need to be added :)

Would you be able to share your first version implementation?
We could make it available in the next PR, it does not matter if it is in numpy we have pytorch and numpy mirror.


Improve notification while database is created

It would be good to improve database creation notification:

show database creation progress (e.g. percentage and records read)
when database creation takes more than 1h, notification shows only "1h" without minutes

The 1h part comes from the system, so nothing can be done here (or you would have to add the duration to the notification text).

From my point of view (as user) the most important is to have some visible progress what is going on. When background service that update database lose synchronization with user interface, the notification is the only information visible.
If "1h" comes from the system I wouldn't change it, but the first point with e.g. percentage and records read would be useful.

I have handed off this project to @devee. The new official repository for this work is a now at https://gitlab.com/deveee/Local-GSM-Backend.
If this is still an issue, please open it on the new repository with the new maintainer.

I have handed off this project to @devee. The new official repository for this work is a now at https://gitlab.com/deveee/Local-GSM-Backend.
If this is still an issue, please open it on the new repository with the new maintainer.


homograph attack prevention by toASCII option

I am using quill-magic-url which uses normalize-url (and lets me pass in options through to it).
I am trying to figure out the best way in this setup to prevent homograph attack where a bad user enters something that looks like http://ebаy.com (hover over) but is actually linking to equivalent IDN (punycode): http://ebаy.com
https://blog.blazeinfosec.com/what-you-see-is-not-what-you-get-when-homographs-attack/
I believe it might be ideal if the browser safe version of normalize-url optionally converted url to ascii format to prevent this.
import punycode from "punycode";
...
if(toASCII) {
punycode.toASCII(url);
}

Thoughts?

This package already does this. I added a test to prove it: https://github.com/sindresorhus/normalize-url/commit/e69796d35f858e593f6ea50ce4274942a3bb352c


Some Integration and e2e tests are not properly cleaning up project/namespaces after test execution

/kind bug
What versions of software are you using?
Operating System:
Any
Output of odo version:
How did you run odo exactly?
The problem is seen on test triggered by PRs, and when triggered manually
Actual behavior
Some tests clean up the projects/namespaces that were created for execution, but not all of them
Expected behavior
All tests (no matter what test type) must cleanup resources created during execution
Any logs, error output, etc?
Running the following commands to see how many projects are in the cluster
kubectl get projects -o=custom-columns=NAME:.metadata.name | grep -E "^[a-z]{10}$" | wc -l

and this to see the timestamp, many will be older than one day, meaning they do not belong to a current test execution in progress
kubectl get projects -o=custom-columns=NAME:.metadata.name,CREATED:.metadata.creationTimestamp
Proposed solution:
Manually execute each test script and check if projects are left behind after execution is completed to identify the scripts that need to be updated.

@rnapoles-rh Isn't this issue same as https://github.com/openshift/odo/issues/4467 . Putting two QE effort on the same issue doesn't make sense, I guess.

@prietyc123  Yesterday during cabal it was agreed that there could be two different causes for project being left behind:

some test not cleaning properly after execution
PSI jobs failing to complete and the cleanup job will not get executed
This new issue will take care of the first one.


Devmapper Graph Driver Misc cleanup

This pull request fixes issue #12032

@vbatts
Can you please have a look.

One not, but it all LGTM and a nice cleanup

*nit

@vbatts
Fixed the issue you had pointed out.

-96 awesomeee

@jfrazelle what are you even saying? ;-)

LGTM

to the line of code, theres minus a lot hahaha LGTM


toil) update all shell scripts to pass shfmt

toil) update all shell scripts to pass shfmt
partial fix for https://github.com/AsahiLinux/asahi-installer/issues/309, shellcheck changes separate
toil) undo shfmt bug until it is fixed
in a nutshell, shfmt incorrect places a space between the HEREDOC operator and its LABEL when asked to places spaces after a redirect
to see changes, ignoring whitespace ...
git diff -U0 -w HEAD^ HEAD

which outputs:
diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 0000000..8111ee5
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,4 @@
+[*.sh]
+indent_style = space
+indent_size = 2
+
diff --git a/build.sh b/build.sh
index 93530b6..be67100 100755
--- a/build.sh
+++ b/build.sh
@@ -67 +67 @@ else
-    digest=$( \
+  digest=$(
@@ -71,2 +71,3 @@ else
-        $LIBFFI_MANIFEST_URI \
-        | jq -r '[.manifests[] |
+      $LIBFFI_MANIFEST_URI |
+      jq -r '[
+          .manifests[] |
@@ -75 +76 @@ else
-            ] | first | .annotations."sh.brew.bottle.digest"' \
+        ] | first | .annotations."sh.brew.bottle.digest"'
@@ -124 +125 @@ mkdir -p "$PACKAGE/Frameworks/Python.framework"
-7z x -so "$DL/$PYTHON_PKG" Python_Framework.pkg/Payload | zcat | \
+7z x -so "$DL/$PYTHON_PKG" Python_Framework.pkg/Payload | zcat |
@@ -127 +127,0 @@ mkdir -p "$PACKAGE/Frameworks/Python.framework"
-
@@ -145 +144,0 @@ rm -f _test* _tkinter*
-
diff --git a/push.sh b/push.sh
index 85a35c5..e3b5796 100755
--- a/push.sh
+++ b/push.sh
@@ -13 +13,4 @@ case "$1" in
-    *) echo "Usage: $0 [prod|dev]" 1>&2; exit 1;;
+  *)
+     echo "Usage: $0 [prod|dev]" 1>&2
+     exit 1
+     ;;
@@ -31 +34,3 @@ put() {
-    cat /tmp/ret; echo; echo
+  cat /tmp/ret
+  echo
+  echo
diff --git a/scripts/update-far.sh b/scripts/update-far.sh
index beec9bf..e2a95dd 100755
--- a/scripts/update-far.sh
+++ b/scripts/update-far.sh
@@ -12,3 +12,3 @@ curl -s https://fedora-asahi-remix.org/installer_data.json > /tmp/far.json
-BUILD=$(jq -r < /tmp/far.json \
-    ".os_list[].name | select(. | test(\"$VERSION\")) | sub(\".*\\\\((?<i>.*)\\\\).*\"; \"\\(.i)\")" \
-    | sort -r | head -1)
+BUILD=$(jq -r \
+  ".os_list[].name | select(. | test(\"$VERSION\")) | sub(\".*\\\\((?<i>.*)\\\\).*\"; \"\\(.i)\")" </tmp/far.json  |
+    sort -r | head -1)
@@ -34 +34,4 @@ if [ "$1" == "-u" ] ; then
-    git diff-index --quiet --cached HEAD -- || { echo "There are uncommitted changes, not updating" ; exit 1 ; }
+  git diff-index --quiet --cached HEAD -- || {
+      echo "There are uncommitted changes, not updating"
+      exit 1
+  }
diff --git a/src/install.sh b/src/install.sh
index a053848..18970cd 100755
--- a/src/install.sh
+++ b/src/install.sh
@@ -21 +20,0 @@ export PATH="$PWD/bin:/usr/bin:/bin:/usr/sbin:/sbin:$PATH"
-
diff --git a/src/step2/step2.sh b/src/step2/step2.sh
index 1932e8d..6a6c9ff 100755
--- a/src/step2/step2.sh
+++ b/src/step2/step2.sh
@@ -13 +13,4 @@ cd "${self%%step2.sh}"
-system_dir="$(cd ../../../; pwd)"
+system_dir="$(
+  cd ../../../
+  pwd
+)"

blocks #311 #312 #313 #314 #315 #316 #317 #318 #319 #320

Pro tip: If you want a project to consider new formatting and coding style conventions, opening 10 independent bugs and sending PRs without any discussion is a really rude way to do it and I now have no interest in pursuing any of this. I'm pretty sure I've cumulatively spent more time dealing with your spam than formatting the relatively small amount of shell scripts we have. Do better.


PROP-1376 - Upgrading Kamon to 1.0

Are there no other changes required?
Would it also make sense to bump other deps?

Are there no other changes required?
Would it also make sense to bump other deps?

seems to be fine like this!
Just bumped the other deps


Providing Roles for an account

TODO

[ ] PR referring to this issue

In order for the roles middleware to have some dummy data:
prerequisites: log in as einstein
Transcript of my tty:
~/code/owncloud/ocis-accounts adapt-settings-bundle-model*
❯ micro call com.owncloud.api.settings RoleService.AssignRoleToUser '{"assignment": {"accountUuid": "4c510ada-c86b-4815-8820-42cdf82c3d51", "role": "user"}}'

{}

~/code/owncloud/ocis-accounts adapt-settings-bundle-model*
❯ micro call com.owncloud.api.settings RoleService.AssignRoleToUser '{"assignment": {"accountUuid": "4c510ada-c86b-4815-8820-42cdf82c3d51", "role": "user"}}'

~/code/owncloud/ocis-accounts adapt-settings-bundle-model*
❯ micro call com.owncloud.api.settings RoleService.ListRoleAssignments '{"assignment": {"accountUuid": "4c510ada-c86b-4815-8820-42cdf82c3d51"}}'

{
  "assignments": [
    {
      "account_uuid": "4c510ada-c86b-4815-8820-42cdf82c3d51",
      "role": "user"
    }
  ]
}

With the latest changes we can already fetch the roles and permissions from the settings service.

We already have predefined default roles in ocis-settings. Close this issue, or keep it?


store: Implement hashmod sharding

Is your feature request related to a problem? Please describe.
To handle very large TSDB buckets, allow sharding with hashmod
Describe the solution you'd like to see
Specifying a replica count for stores will automatically generate a bucket relabel config that splits with hashmod.
      spec:
        containers:
        - args:
          - store
          - |
            --selector.relabel-config=
              - action: hashmod
                source_labels: ["__block_id"]
                target_label: shard
                modulus: 3
              - action: keep
                source_labels: ["shard"]
                regex: 0

Describe alternatives you've considered
Label or time range sharding is also an option, but IMO this setup would be easier to scale.
Additional context
For example, we have a bucket storage with 10k individual TSDB blocks coming from a dozen Prometheus instances. Rather than try to manually shard based on external lables, we can reasonably evenly divide the work among a number of replicas based on consistent hash of block ID.
See the Relabling docs: https://thanos.io/tip/thanos/sharding.md/#relabelling

This is something that I wanted to build from the very first commit and now it seems the time has come :)

We ended up switching from this operator to kube-thanos. It turns out there was no need for an operator. It just got in the way.


we hav an error after install project.

"The Mix manifest does not exist. (View: /home/vagrant/code/laravel-adminpanel/resources/views/frontend/layouts/app.blade.php) (View: /home/vagrant/code/laravel-adminpanel/resources/views/frontend/layouts/app.blade.php) ◀"
that error appears after we try to load a project page

This is because you haven't done npm run dev

thank you! i hav just do it and all works. and I came to delete my comment and see that you have already answered!!!
I'm so ssory

No issues, have a blast..:sunglasses:


Enable Auto Image Upgrade while Creating new VMSS - CLI Change Request

Preconditions

[X] No need to upgrade Python SDK or the Python SDK is ready.

Related command
az vmss create --name myScaleSet --resource-group myResourceGroup --set UpgradePolicy.AutomaticOSUpgradePolicy.EnableAutomaticOSUpgrade=true
Resource Provider
Compute Resource Provider
Description of Feature or Work Requested
Allow customers to enable Auto OS Image Upgrades on their VM Scale Sets for 1P Gallery using CLI. This capability is already available on Powershell and API. The 1P Gallery is created as part of Project Standard to ensure 1P assets have an improved security posture. In order for customers to migrate to the gallery they need to enable Auto OS Image Upgrades (https://learn.microsoft.com/en-us/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-automatic-upgrade?toc=%2Fazure%2Fvirtual-machines%2Ftoc.json).
Minimum API Version Required
Use Compute API version 2018-10-01 or higher
Swagger PR link / SDK link
https://learn.microsoft.com/en-us/cli/azure/vmss?view=azure-cli-latest#az-vmss-create
Request Example
No response
Target Date
2024-04-30
PM Contact
Maulik Shah
Engineer Contact
Deepali Gupta
Additional context
This feature is required for the 1P Image Gallery as well as for other customers that use the Auto OS Image Upgrade capability to remain secured.

Thank you for opening this issue, we will look into it.


Firestore cursor methods not working with document snapshots

Firebase SDK version: 5.5.0
Firebase Product: firestore

I'm using Firebase Admin SDK in Firebase Cloud Functions environment. I noticed that firebase.firestore.Query cursor methods, such as startAt, startAfter etc, are not working correctly when called with DocumentSnapshot as argument.
Collection test is populated with the following documents:
a: { v: "a", sort: 1 }
b: { v: "b", sort: 0 }
c: { v: "c", sort: 2 }
Here's my cloud function code:
const db = admin.firestore();
const coll = db.collection('test');
const query = coll.orderBy('sort');

return coll
  .doc('a')
  .get()
  .then((snap) =>
    query
      .startAt(snap)
      .get()
  )
  .then((snaps) => {
    console.log(snaps.size);
  });

Expected behavior to receive two documents (a and c), instead the following exception is thrown:
Error: Cannot encode type ([object Object]) to a Firestore Value
    at Function.encodeValue (/user_code/node_modules/firebase-admin/node_modules/@google-cloud/firestore/src/document.js:669:11)
    at Query._buildPosition (/user_code/node_modules/firebase-admin/node_modules/@google-cloud/firestore/src/reference.js:1267:44)
    at Query.startAt (/user_code/node_modules/firebase-admin/node_modules/@google-cloud/firestore/src/reference.js:1295:28)
    at coll.doc.get.then (/user_code/index.js:20:8)
    at process._tickDomainCallback (internal/process/next_tick.js:135:7)

BTW, the same code works fine with Firebase Javascript SDK:
<script src="https://www.gstatic.com/firebasejs/4.6.2/firebase.js"></script>
<script src="https://www.gstatic.com/firebasejs/4.6.2/firebase-firestore.js"></script>
<script>
  firebase.initializeApp(/* ... */);

  const db = firebase.firestore();
  const coll = db.collection('test');
  const query = coll.orderBy('sort');

  coll
    .doc('a')
    .get()
    .then((snap) =>
      query
        .startAt(snap)
        .get()
    )
    .then((snaps) => {
      console.log(snaps.size);
    });
</script>

Output:
> 2

Oh, I found a note in documentation saying that these methods are not supported Node.js client. I'm now closing this issue.
A viable replacement for me is offset method. I think documentation for Firestore Node.js client should be linked from Firebase documentation to avoid confusion :)


Make Scheduler and FinallyOperator final classes

Coverage remained the same at 100.0% when pulling 45b4e3050b4c4d62ee73500144f52862fca89ddc on mbonneau:finally-finalized into 9e0a79f395f4fd97ff68fee68fd615ab99389aa2 on ReactiveX:master.


Issue #1733 Fixed catalog view infinite scroll on mobile browsers

Related issues
https://github.com/DivanteLtd/vue-storefront/issues/1733
Short description and why it's useful
Catalog view infinite scroll fix for mobile browsers

Tested on Android mobile Chrome and Firefox and works fine. We need to test it on iOS mobile Chrome.
BrowserStack doesn't allow me to test localhost URLs on iOS devices


Cant Sign up !

Since, when I install and open the app, it says to log in or sign up if you are new. So i just simply sign up, and it isn't signing up and showing this error message

it shows the same for me. I know im a bit late but if you found the fix please tell me


Change NHS number input type to number

Trello: https://trello.com/c/qLvXB4r5/106-change-nhs-number-input-to-type-numeric
What
Make the input for NHS number numeric
Example rendered output:
<div class="govuk-form-group">
  <label for="input-9468206c" class="gem-c-label govuk-label">
    NHS Number
  </label>
  <input name="nhs_number" class="gem-c-input govuk-input govuk-input--width-20" id="input-9468206c" type="text" inputmode="numeric" pattern="[0-9]*" value="">
</div>

Why
Because our NHS colleages, tell us to wash our hands and use numeric inputs for NHS numbers.
Also the design system and publishing components make it easy.

If this is the case do we need to strip out spaces? Does the pattern HTML let us input spaces? If people are on a computer they won't have the numeric keyboard pop up and they mgiht enter the spaces if they're reading a leter they have.

Good thought, just checked inputting with spaces,
it allows it!

@nickcolley This change will give:
<input name="account-number" class="gem-c-input govuk-input" id="input-74b4a56c" type="text" inputmode="numeric" pattern="[0-9]*">

I think it's only missing the spellcheck attribute - would that be essential?

@nickcolley i think that's what's output:

publishing components are smart enough to take the numeric type and do the right thing by the design system.
I think it turns out that's also the answer to @issyl0's question

Ah okay, the component's API is misleading as we try to align with the DOM normally.
For spellcheck:

If you are asking users for information which is not appropriate to spellcheck, like a reference number, name, email address or National Insurance number, disable the spellcheck.

Hmm, I we can't add the spellcheck attribute with the component. I'll add it as an issue to the Publishing Components repo, if it isn't already there - but I don't think we can add it here without hardcoding the input element.
I think the components API was left as is to preserve backwards compatibility.

thanks both!


EFO3 alternative term

Alternative_term has been replaced by has_exact_synonym
This will allow us to use the spectrum of synonym annotation including has_broad_synonym and has_narrow_synonym more effectively to provide further information per each term.

We need to make sure that we handle http://www.ebi.ac.uk/efo/alternative_term and synonyms appropriately.

Should be solved with branch af-269-efo3-alternative-term on data_pipeline


fix: select security bug

When query select pass column without primary key in response all columns including relations columns shows those not including in config.select.
Issue is fixed will small check if query.select doesn't includes primary key user config.select as columns.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


GPT generate is not working as expected

The data generation functionality is not performing as intended, and the absence of error logs makes it challenging to pinpoint the issue. Additionally, the loading bar continues to spin indefinitely without any timeout.

@sauraz I don't have any issues (see video). Is your OPENAI_API_KEY .env variable set?
https://github.com/AlexandroMtzG/saasrock-kb/assets/8606530/ff86e864-0ddc-466e-a376-0c70749e945d

Thank you for the quick reply. I see that my free credits on OPEN API have been expired. It was throwing a 429.


When will you release the T5 version?

The T5 version is present. All the data-to-text tasks use T5.


1.0.5 does not exists at Packagist

The last version does not exists at Packagist:
https://packagist.org/packages/jeffreyhyer/bamboohr
Maybe the webhook failed?

I think this caused by the line at composer.json:
"version": "1.0.4",
You don't need the version in your composer.json. Composer and Packagist can work with tags. I recommend to remove this line form composer.json and only work with tags.

Thanks for the heads up, it seems that tagging a release through the GitHub UI doesn't trigger the webhook properly for packagist. I've fixed the issue with the 1.0.6 release (which is functionally identical to v1.0.5, just a version/tag bump).


Improve the load2audit shell scripts

This improvement will allow the shell scripts to be run from any directory.

Combine with issue #3 updating the truth sets to include companies


API and cookie does not work at all

I tried to get the cookies from chrome session and I also set an API Key but the test_connection.py always give a "not properly configured" output.
What is wrong here ?
Maybe you can give us a list, which cookies are really necessary.
Should they be separated by space or not ?
What is wrong with using API ? I set a new secret, copy+pasted it over and it just got ignored. I used model gtp-4, gpt-3.5  - nothing works.

Note: Managed to get the Cookie setup running. I had to restart Chrome without any addons.


create nx_version.txt

create nx_version.txt

create nx_version.txt

please help review my work Setup local development environment for NetworkX #3

Thanks!

thanks too
On Thu, Oct 19, 2023, 10:17 AM Mridul Seth @.***> wrote:

Thanks!
—
Reply to this email directly, view it on GitHub
https://github.com/networkx/outreachy/pull/251#issuecomment-1770401554,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A4PDVTYMCXWE6OJAD2RPU7LYADVZ7AVCNFSM6AAAAAA6CAQVBSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONZQGQYDCNJVGQ
.
You are receiving this because you authored the thread.Message ID:
@.***>


Update alpine:3.20 Docker digest to 1e42bbe

This PR contains the following updates:

Package
Type
Update
Change

alpine
final
digest
beefdbd -> 1e42bbe

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

Branch automerge failure
This PR was configured for branch automerge. However, this is not possible, so it has been raised as a PR instead.

Branch has one or more failed status checks


Questions about experiment details

Hello, it is surprising that the original llama retrieves almost unrelated caption, may I ask how you conduct the experiment? I failed to find more details.😂

Have the same question. How do you conduct retrieval experiments on the original Llava? Are there any additional instructions or take the caption as input directly? @Yif-Yang

It seems like there might be a bit of misunderstanding. We conducted retrieval experiments on LLaMA3 not Llava, using the MS COCO 5K dataset (where each image has five captions; we used the first two captions to retrieve each other as positive samples and reported the Top-1 retrieval accuracy). We use the COCO retrieve score to measure the LLM's ability to distinguish different captions.
For Llava1.5, we didn’t conduct retrieval tasks but rather focused on image understanding tasks, which were validated on various QA benchmarks. Could you explain specifically what you mean by "retrieval experiments on the original Llava"?
Glad to help if you feel any confusion.

Have the same question. How do you conduct retrieval experiments on the original Llava? Are there any additional instructions or take the caption as input directly? @Yif-Yang

It seems like there might be a bit of misunderstanding. We conducted retrieval experiments on LLaMA3 not Llava, using the MS COCO 5K dataset (where each image has five captions; we used the first two captions to retrieve each other as positive samples and reported the Top-1 retrieval accuracy). We use the COCO retrieve score to measure the LLM's ability to distinguish different captions.
For Llava1.5, we didn’t conduct retrieval tasks but rather focused on image understanding tasks, which were validated on various QA benchmarks. Could you explain specifically what you mean by "retrieval experiments on the original Llava"?
Glad to help if you feel any confusion.

Apologies for my misspeaking. I was referring to the original LLaMA3's caption-to-caption experiment. Could you clarify if the positive caption samples were directly used as input to LLaMA3, or if there was some prefix or instruction added to guide LLaMA3 in completing the retrieval task? Thank you for your response.

We directly use the first two captions of an image as text inputs without any prefixes. For example, in the COCO dataset with 5K images, we take the first caption of each image as text_set_1 and the second caption as text_set_2. Then, we use the 5K captions in text_set_1 as queries to retrieve captions from text_set_2. For each query, retrieval is considered correct only if the top-1 retrieved caption corresponds to the same image's text_set_2 caption. Finally, we calculate the average accuracy across all 5K queries.
Validation results show that the native LLaMA3 achieves only 5% accuracy, while CLIP's text encoder achieves 25%. After fine-tuning, LLaMA3 reaches 29%, demonstrating the importance of our fine-tuning approach. This highlights the necessity of improving feature distinguishability when using LLMs to fine-tune CLIP.
Feel free to ask more details if you still feel confused, glad to help~

Have the same question. How do you conduct retrieval experiments on the original Llava? Are there any additional instructions or take the caption as input directly? @Yif-Yang

It seems like there might be a bit of misunderstanding. We conducted retrieval experiments on LLaMA3 not Llava, using the MS COCO 5K dataset (where each image has five captions; we used the first two captions to retrieve each other as positive samples and reported the Top-1 retrieval accuracy). We use the COCO retrieve score to measure the LLM's ability to distinguish different captions.
For Llava1.5, we didn’t conduct retrieval tasks but rather focused on image understanding tasks, which were validated on various QA benchmarks. Could you explain specifically what you mean by "retrieval experiments on the original Llava"?
Glad to help if you feel any confusion.

Apologies for my misspeaking. I was referring to the original LLaMA3's caption-to-caption experiment. Could you clarify if the positive caption samples were directly used as input to LLaMA3, or if there was some prefix or instruction added to guide LLaMA3 in completing the retrieval task? Thank you for your response.

We directly use the first two captions of an image as text inputs without any prefixes. For example, in the COCO dataset with 5K images, we take the first caption of each image as text_set_1 and the second caption as text_set_2. Then, we use the 5K captions in text_set_1 as queries to retrieve captions from text_set_2. For each query, retrieval is considered correct only if the top-1 retrieved caption corresponds to the same image's text_set_2 caption. Finally, we calculate the average accuracy across all 5K queries.
Validation results show that the native LLaMA3 achieves only 5% accuracy, while CLIP's text encoder achieves 25%. After fine-tuning, LLaMA3 reaches 29%, demonstrating the importance of our fine-tuning approach. This highlights the necessity of improving feature distinguishability when using LLMs to fine-tune CLIP.
@Eve1f @Pryest Feel free to ask more details if you still feel confused, glad to help~

Thank you for your response! You've done an outstanding job, but this experiment might lack some rationality. Perhaps providing some prompts to LlaMA3 would lead to a better experimental setup and a more convincing conlusion. 😊

Thank you for your suggestion. Here's the reasoning: CLIP's pretraining method inherently does not use prefixes, as it relies on contrastive learning between images and captions. Therefore, we believe that using prefix-free caption-to-caption accuracy best reflects the issue we aim to highlight—the insufficient feature distinguishability of the output layer, which fails to assist in CLIP training. This aspect might be open for further discussion, but I feel the current experiment is quite reasonable.

Thx 4 response. Still think putting pure caption into LLM for text embedding not a strong baseline. Nevermind.

Thx 4 response. Still think putting pure caption into LLM for text embedding not a strong baseline. Nevermind.

Indeed, it’s true that this may not an ideal baseline for evaluating the capabilities of LLMs. However, our goal is not to evaluate the abilities of LLMs themselves. Instead, we are investigating the discriminative capabilities of different textual descriptions under the premise of how LLMs can assist CLIP. CLIP was trained without prefixed text, so we designed our experiments accordingly. Otherwise, we would have to add prefixes during CLIP’s training, which, while explored in some works, is quite unconventional and not the focus of our study.
Additionally, if we were to include prefixes for this experiment, I believe the results would remain similar. We have unpublished progress that has already validated this. That said, I believe the experimental design in our LLM2CLIP paper is appropriate for our objectives.
Thank you for your attention, and we welcome further discussion. Our goal is to contribute meaningful knowledge to the community, and your suggestions help us improve.


Updating the module to latest version will create additional fstab entries for the same swapfile

Upgrading the module to latest version produces additional fstab entry/entries for the same swapfile:
# Old
/swapfile0  swap    swap    defaults    0   0
# New
/swapfile0  /swapfile0  swap    defaults    0   0

I suspect this is related to the introduction of swap_file::files resource, but I have not looked at this closely.

@mattock Is this the usecase of using the old module, upgrading, then running puppet again?

Closing this as no update in a year, any problems or reproducible scenario, I will re-open

I think this problem was introduced by refactoring of the module. Users who have never used the earlier non-refactored module are not affected, so I think it is reasonable to close this.


Multiple Actions Keys with same Handlers

Hi,
I'm wondering what would be the correct syntax to have action assigned to more than one key:
Example of switch styled reducer:
export default function user(state = {}, action = {}) {
  switch (action.type) {
    case LOAD_ACCOUNT:
    case LOG_IN_SUCCESS:
      return {
        ...state,
        accountStatus: 'loaded',
        account: action.payload.account
      };
  }
  return state;
}

But avoid doing it like this, because it won't be that transparent when there are more actions:
const ACTION_HANDLERS = {

  [LOG_IN_SUCCESS] : (state, action) => ({
    ...state,
    loginStatus: 'loaded',
    token: action.payload.token
  })
}

ACTION_HANDLERS[LOAD_ACCOUNT] = ACTION_HANDLERS[LOG_IN_SUCCESS]

Or maybe it is a good way after all?

This is just a personal preference, I wouldn't say one is measurably better than the other, but use whatever makes the most sense to you. There is (at least) one other option, which is to use named functions to make it slightly more clear:
const handleLoginSuccess = (state, action) => ({ ... })

const ACTION_HANDLERS = {
  [LOG_IN_SUCCESS]: handleLoginSuccess,
  [LOAD_ACCOUNT]: handleLoginSuccess,
}

Just pick what makes the most sense to you :).


What is keeping this from official release.

Hi, what is keeping this from being released officially? I'm assuming there not being a generator is one issue? anything else?

You can try out this one for now I guess: https://github.com/luckymarmot/Paw-OpenAPI3Importer/releases


client bug

i use the HttpClient to connect a server, after sending, if server broken, the client will broken too.

Thank you, but could you elaborate on what you mean by: the client will be broken too?


Add support for .xip file format of XCode download

Keep dmg support for older files
Checklist:

[ ] Tests included.
[x] Lint and formatter run with no errors.
[x] Tests all pass.

This PR should not be accepted as is - the xip file is XCode not tools so build would have to invoke other osxcross scripts. Best to close it I think and if required add support to extract from XCode download later. Seems unlikely as the file is huge and not something developers would keep around.


Remove glide cache from image to dramatically reduce docker image size

I found that docker image dramatically increased after tracing feature merge. Investigation shown that glide cache has significant size and after application build we do not need it at all.
$ docker run janus:dev du -hs /root/.glide
246.4M	/root/.glide

👍


Create and show single-elimination brackets on the tournament-detail-view

We want to let the users see the match brackets in the tournament. The number of brackets depends on the number of players, and if needed, some brackets may contain only one player (when there is an odd number of players in that round). When the tournament is created, all the players will be randomly assigned to a match with another player. Since this is for a single-elimination tournament, each time the tournament gets to the next round, the number of brackets is divided by the maximum number of players that can play the game (rounds up), and the match assignment for that round is randomly created based on the result of the last round.

We have implemented the brackets feature. Currently, when a tournament is created, players in the tournament will be automatically randomly assigned to different matches (brackets). When one round of matches is done, a function is provided in tournaments_function.py to randomly assign winners of the last round to brackets for the next round. Note that the concept of a "round" is not implemented right now since games have not been implemented and hence the result of a match cannot be determined. We may add this "round" later in other pull requests. Also note that currently, the brackets are created as soon as the tournament is created. This is for testing purposes. However, after the concept of "registration deadline" is added, the brackets should be created after the registration deadline has passed so that users have time to sign up for and quit a tournament. The related pull request is #189 .

Close statement:
@MikeChen012345 worked on the main code logic for brackets
@MuyanXie worked on the logic of single elimination and discussed details about elimination together with brackets
@Riyush Helped with putting together the documentation and discussion details about the brackets and best practices


[WIP] 5.0 release

Following the directions of the architectonical decisions made for the 5.1 release, we want this library for be usable for as many users as possible. That's why, we want to provide also a full Swift 5.0 support relying on RxSwift as a substitute for Combine.

Danger has errored
[!] Invalid Dangerfile file: No such file or directory - ./output. Updating the Danger gem might fix the issue. Your Danger version: 6.0.6, latest Danger version: 6.0.9
 #  from Dangerfile:6
 #  -------------------------------------------
 #
 >  bq_helpers.scan_files
 #
 #  -------------------------------------------

  Generated by :no_entry_sign: Danger

In response of every point:

The support of Carthage don't work, NIO don't support Carthage because don't have shared schemes.

Maybe the best option here is to drop Carthage support, discussable though.

The name of the Product has changed from Mini to MiniSwift, I think that is more easy to use import Mini that import MiniSwift, Swift is redundant in this context.

The Cocoapods bundle still is being named and imported by import Mini, I'm changing the SPM to have the same name, my bad 🤦♂ .

Similar to 2, the name of the xcodeproj has changed and the Sources folder have a unnecessary level called MiniSwift

Fixed!

The protocol State, I think that should be renamed to StoreState because State is too generic.

Ain't protocol named State. There's a file named State.swift, renamed to StateType.swift to match its contents.

We don't have Changeable behavior for store state anymore?

Not needed anymore 🎉 .

This PR drop compatibility with fastlane utils (https://github.com/bq/fastlane-plugin-test_scheme) and danger plugin (https://github.com/bq/danger-bq_helpers), the result of the build is changed, I think that we need to see how to continue with this path or see how to support SPM without affecting most of the dependencies used. I think that we can update our plugins to use SPM.

I don't think that dropping dependencies is bad in this manner. As for now, I have updated the Fastfile to pass the tests in every platform and report the coverage to codecov.io, how the packages are created with SPM and how they are tested and compiled have changed and will change in further versions of SPM, so we'll need to keep this up-to-date.

The LICENCE file is present, I propose to remove the license in every header because is redundant and lost focus in the important thing: the code

Is a common thing to copy one file or another, avoiding the license. It's a common OSS practice to add the license resume in the header, it is a small paragraph and it establishes that every source file is under the same license as the repo itself.

Rake is intended to resolve and prepare the project to build.. I think the swift build should be inside the rake script

I have updated the Rakefile to support rake build and rake test.

We need a guide or talk in order to understand all changes and see how to pass from current stable code (in master) to this new version.

As the current version lacks of documentation and usage out of the @bq/apps environment, I think a talk would be easier to manage. For the rest, the README file has a pretty usage guide and a fine amount of tests of how to use the different parts of the architecture. I don't deny the addition of an Example Project in further PRs if needed 😄 .

I think this version should be v1.0.0

It is, sir!

Codecov don't register coverage for every platform anymore. The script should be executed after pass the test for every platform.

It should be doing it by now.

pod repo update step is necessary on travis? his took a huge amount of seconds to resolve.

Removed from the travis.yml file!


[Bug] GraphQL Intellisense ignores default values for non-null parameters

Insomnia Version: 6.2.0
Operating System: Mac OS Mojave 10.14

Details
The new addition that limits the introspection query is awesome, but I've found a bug with how the Intellisense handles the results. I have a number of query functions that take optional parameters. These parameters are implemented as non-null types with default values. An example of such looks like this:
accounts(count: Int! = -1, skip: Int! = 0): [Account!]

(The purpose of such being that I can treat the function like a database query, passing along the count and skip values to the corresponding SQL query in the backend.)
When Insomnia pulls the schema from the introspection query, I get the red underlines on all the function calls where these parameters aren't specified, saying that the parameters are "required but not provided".

This is incorrect behavior, as the schema should deduce by the presence of a default value that even though the parameter is not nullable, it is still optional. From what I can tell, this behavior is consistent across all functions, whether they are the root query or a nested query.
For reference, this is the relevant part of the introspection query that shows the types and default values of the parameters:
{
  "name": "accounts",
  "description": null,
  "args": [
    {
      "name": "count",
      "description": null,
      "type": {
        "kind": "NON_NULL",
        "name": null,
        "ofType": {
          "kind": "SCALAR",
          "name": "Int",
          "ofType": null
        }
      },
      "defaultValue": "-1"
    },
    {
      "name": "skip",
      "description": null,
      "type": {
        "kind": "NON_NULL",
        "name": null,
        "ofType": {
          "kind": "SCALAR",
          "name": "Int",
          "ofType": null
        }
      },
      "defaultValue": "0"
    }
  ],
  "type": {
    "kind": "LIST",
    "name": null,
    "ofType": {
      "kind": "NON_NULL",
      "name": null,
      "ofType": {
        "kind": "OBJECT",
        "name": "Account",
        "ofType": null
      }
    }
  },
  "isDeprecated": false,
  "deprecationReason": null
}

This behavior is entirely handled by the graphql and codemirror-graphql packages. It looks like there's are new versions so I'll bump them and see if that fixes things.


Codes?

Great Job, and when the codes will be released?

Thanks for your attention. We plan to release the codes next month.

Thank you for your reply. I am waiting for your codes.

Thanks for your patience. We have released the code.


[FIX] : Top bar collides with body

Issues :

User : if the body of the page is too big, it will slide under the top bar
Code : the top bar has in absolute positioning which makes it non ideal to dev page body as you always have to take the top bar height into account

Fixes :

remove absolute positioning on top bar, and add a global layout to the whole app to position the body and the top bar at once

Tips :

The layout should be called AppLayout.tsx and should be placed in components/layouts/AppLayout
It should be used in _app.tsx and wrap the whole app body and the top bar.
It should position the topbar and the body nicely using flex.

Img of bug :

Thanks for making the issue, this is a recent regression due to some changes to the structure of the page where we added absolute positioning in order to easily be able to center content.
If you want to address the issue, keep in mind that content in the body should be able to be easily centered on the page. That includes with the Navbar not offsetting the centering. A good idea would be to use grid layout, but probably requires some changes.
This truly would be great to have done! Having help with this would be super valuable.
Also I think following the new structure and putting the layout in common/components/layouts/AppLayout would be preferable over using components/ where all legacy components currently are.

:information_source: I was thinking maybe the best way to go could be to add a Navbar and a Footer with grid layout.
We don't currently use a footer, but I see some value with it. Potentially moving the GitHub and Discord links down there in the future.

This has been resolved


Update CONTRIBUTING.md

Make minor adjustments to CONTRIBUTING.md, which I think it is better, even though it does not affect reading formerly:

Fix typo.

Unify phraseology.

Codecov Report

Merging #3487 into dev will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff          @@
##             dev   #3487   +/-   ##
=====================================
  Coverage   99.1%   99.1%
=====================================
  Files         18      18
  Lines       1112    1112
  Branches     299     299
=====================================
  Hits        1102    1102
  Misses        10      10

Continue to review full report at Codecov.

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

Thanks！


add ordered data stores to oauth2 branch

it's including assets api commits because i didn't pull the branches correctly last time, oops

i think im doing something wrong again


Not working on macOS High Sierra

Hi there,
I know that macOS High Sierra was released just few days ago, but just wanted to warn those of you who develop on Mac.
That's what I'm getting from the lib in console:
Unhandled event: xpc.Dict{"kCBMsgId":4, "kCBMsgArgs":xpc.Dict{"kCBMsgArgState":5}}

Same here

Same in Noble
https://github.com/sandeepmistry/noble/issues/679

One of the reasons why it might fail is that Apple switched from com.apple.bluehd to com.apple.bluetoothd.
And here
https://github.com/currantlabs/ble/blob/master/darwin/device.go#L80
We explicitly connect to com.apple.bluehd.

And therefore state event changed from 6 to 4
https://github.com/currantlabs/ble/blob/master/darwin/device.go#L19

Ok, I made it work
Here are my changes:
evtStateChanged               = 4

d.pm = xpc.XpcConnect("com.apple.bluetoothd", d)
d.cm = xpc.XpcConnect("com.apple.bluetoothd", d)

I think we could come up with some kind of ConnectionProvider`` and EventCodesProvider``` which would be selected based on the version of macOS.

I tried with that changes, with and without sudo, and it says
Scanning for 5s...
done

without showing any device (and there are ~320 devices BLE that I can see with the Apple Bluetooth Explorer)

This PR from Noble appears to have added the new XPC API calls needed for High Sierra:
https://github.com/sandeepmistry/noble/pull/689
The https://github.com/go-ble/ble fork of ble seems like has some work in this area... @moogle19 can you please fill us in on what you are up to, and how we can help?

I just submitted a PR https://github.com/go-ble/ble/pull/2 on the branch that @moogle19 has been working on. It should work on both High Sierra, as well as on El Capitan/Yosemite. Anyone who can help by testing on High Sierra would be most helpful.

For anyone interested, please check out https://github.com/go-ble/ble/issues/3

@deadprogram I will try to test it on this week.

@deadprogram did you guys change public API?

@deadprogram and btw, is go-ble is intended to be a proxy repo for fixes or a completely independent fork ? Wondering, maybe it's better to move to it.

@moogle19 made a change to the API related to Addr or something like that. Relatively small change.
From what I can tell, it is a more active fork and hence why I have mostly moved to it. I guess it is the new "main" fork?

@deadprogram Ok, I will try to move to it and see how it works on High Sierra.

@deadprogram it works!


Javascript Intellisense not working

VSCode Version: 1.4.0
OS Version: Ubuntu 14.04

I followed all the instructions on the Intellisense for JS setup page. I have a project folder which contains the following jsconfig.json file:
{ 	"compilerOptions": { 		"target": "ES5" 	}, 	"exclude": [ 		"node_modules" 	] }
Also installed typings and dt~node (with --global) using it in my project directory.
Now when I try to edit a js file in my project folder, IntelliSense does not work, not even simple autocomplete. If I try to trigger it using Ctrl + Space, a box with text "Loading..." appears and stays like that forever.
When I edit files outside my project directory individually, autocomplete works fine. (tried both HTML and JS files).
I also set the tssserver output option to verbose and checked the output window. This is the output after a few attempts at using Intellisense:

Sending request: open (0). Response expected: no. Current queue length: 0
Arguments: {
"file": "/home/midhul/jsws/dump/test.js",
"fileContent": "console."
}
Sending request: geterr (1). Response expected: no. Current queue length: 0
Arguments: {
"delay": 0,
"files": [
"/home/midhul/jsws/dump/test.js"
]
}
Sending request: projectInfo (2). Response expected: yes. Current queue length: 0
Arguments: {
"file": "/home/midhul/jsws/dump/test.js",
"needFileNameList": true
}
TypeScript Service: canceled request with sequence number 4
TypeScript Service: canceled request with sequence number 16
TypeScript Service: canceled request with sequence number 18
TypeScript Service: canceled request with sequence number 20
TypeScript Service: canceled request with sequence number 22
TypeScript Service: canceled request with sequence number 24
TypeScript Service: canceled request with sequence number 26
TypeScript Service: canceled request with sequence number 28
TypeScript Service: canceled request with sequence number 39
TypeScript Service: canceled request with sequence number 50
TypeScript Service: canceled request with sequence number 52
TypeScript Service: canceled request with sequence number 68
TypeScript Service: canceled request with sequence number 83
TypeScript Service: canceled request with sequence number 116
TypeScript Service: canceled request with sequence number 118
TypeScript Service: canceled request with sequence number 120
TypeScript Service: canceled request with sequence number 122
TypeScript Service: canceled request with sequence number 124
TypeScript Service: canceled request with sequence number 126
TypeScript Service: canceled request with sequence number 128
TypeScript Service: canceled request with sequence number 139
TypeScript Service: canceled request with sequence number 146
TypeScript Service: canceled request with sequence number 149
TypeScript Service: canceled request with sequence number 152
TypeScript Service: canceled request with sequence number 157
TypeScript Service: canceled request with sequence number 170
TypeScript Service: canceled request with sequence number 172
TypeScript Service: canceled request with sequence number 187
TypeScript Service: canceled request with sequence number 197
TypeScript Service: canceled request with sequence number 199
TypeScript Service: canceled request with sequence number 200

Issue resolved, there were some large video files in my project folder. Shifting them to another folder and excluding it in jsconfig.json did the job. Wonder why autocomplete is being affected by video files o.O

@dbaeumer this is similar to the other issues I have seen #11260 and #11258. I am glad that OP could resolve his issues by moving the video files, but this was not the case in the bugs I opened.
Closing for now and will continue to keep my eye out for how to reproduce this reliably.

Opened an issue in TS to try to get to the bottom of this.
https://github.com/Microsoft/TypeScript/issues/10735

adding large file to exclude solve the problem

@xujihui1985 can you make your comment in this issue https://github.com/Microsoft/TypeScript/issues/10735


[proxy] Fix: don't cache user & dbname in node info cache

    Upstream proxy erroneously stores user & dbname in compute node info
    cache entries, thus causing "funny" connection problems if such an entry
    is reused while connecting to e.g. a different DB on the same compute node.

    This PR fixes the problem but doesn't eliminate the root cause (complexity) just yet.
    I'll revisit this code and make it more type-safe in the upcoming PR.

Discussion: https://neondb.slack.com/archives/C02S1G47EQ3/p1675804192491309

Looks good as a quick fix. But speaking more generally in that structure:
pub struct Config {
    pub(crate) user: Option<String>,
    pub(crate) password: Option<Vec<u8>>,
    pub(crate) auth_keys: Option<Box<AuthKeys>>,
    pub(crate) dbname: Option<String>,
    pub(crate) options: Option<String>,
    pub(crate) application_name: Option<String>,
    pub(crate) ssl_mode: SslMode,
    pub(crate) host: Vec<Host>,
    pub(crate) port: Vec<u16>,
    pub(crate) connect_timeout: Option<Duration>,
    pub(crate) keepalives: bool,
    pub(crate) keepalive_config: KeepaliveConfig,
    pub(crate) target_session_attrs: TargetSessionAttrs,
    pub(crate) channel_binding: ChannelBinding,
    pub(crate) replication_mode: Option<ReplicationMode>,
}

probably we don't need to cache anything besides host / port?

Looks good as a quick fix. But speaking more generally in that structure:
...

Precisely, but it takes more time.

After some chatting approving this because we are hurrying up. Would prefer to see a regression test using proxy as a whole to demonstrate this particular bug because from the changed lines it is not obvious how these fix it.

I'll implement a proper mocked console api for local proxy tests. This will close the gap.


Addressed in https://github.com/discopy/discopy/pull/129


Simple LightTweaks node

This is a simple implementation of a node for applying downstream tweaks to lights. It's basically identical in functionality to the existing Parameters node, but with lights as a target. It might be that this is sufficient for Image Engine's needs for now, if the plan is to box it up to provide an interface more specific to our custom lights. Or it might be that we want to consider these potential additions before merging :

Custom UI for automatically adding parameters taken from the currently selected light.
A way of doing modifications using expressions (oldValue * 2 + .1) rather than just overwrites.
Anything else folks would like.

A way of doing modifications using expressions (oldValue * 2 + .1) rather than just overwrites.

I tend to consider relative overrides harmful as an update of previous value (by another department) can result in unexpected results.
Let's say you have a "sequence" and "shot" overrides, you modify your shot to be brighter (old + 50.0), you do this on multiple shots. Few days later, your lead realize the whole sequence would need modification and decide to apply this on the whole sequence. Again, after few days someone else reopen your shot to rerender something. Result will be different than before because of relative expression.
It's mostly a workflow/experience question but while seductive (everyone think about it when you work with overrides), I never found relative expression efficient in practice, it create more harm than positive effect in the shot life where everything is better to be considered stable/baked and avoid as much as possible external relations.
However, creating a "baked" override writting a simple expression + enter is interesting. Or at least, a way to detect relative expression to prevent users from publish for example.
My 2 cts.

Custom UI for automatically adding parameters taken from the currently selected light.

Sounds useful in general.  Not sure if it would be used at IE - I guess if it works well enough, it might not be necessary to build a custom UI here.  Are you thinking it would be an option to add all parameters from the current light, or would the menu expand to list all the options for parameters from the current light that could be added?  The main issue I see preventing this from being really slick is that you don't have access to any UI metadata from the light node to show parameters in the right sections.
Anyway, this feels like something to play with before deciding exactly what we want, and it probably shouldn't delay rolling out a first pass?

A way of doing modifications using expressions (oldValue * 2 + .1) rather than just overwrites.

Surveyed a couple of IE lighters about this.  They are quite confident that they do want relative modifications, and that the node would be kind of useless without them in certain cases.  ( For example, if you have a car headlight rig made up of 6 lights, and you want to double the brightness of the rig, looking up values for each individual light would be really annoying ).
I raised Narann's concern, and it didn't worry them much.  They felt that shot tweaks would often need to be reevaluated anyway if there are changes to the sequence rig, whether those local changes are relative or absolute.  So they don't seem concerned about being given enough rope to hang themselves.
They did think that an expression seemed overly complicated - they felt that 4 modes ( "Set", "Add", "Subtract", "Multiply" ) cover every use case they care about.  So maybe just make it a drop down?  Typing a tint color into an expression would be annoying.

about the concern raised by Narann,
there would be a way to get relative override as well as protection from upstream change.
Using a flag to either set the override to be dynamic and get all the benefit of having light rig updates influence you override, or to set the override to be static and protect yourself from upstream modification.
That might be a bit overkill if lighters are confident that dynamism is what they want but if they ever feel a need for this different behaviour, there is certainly way to implement that.
Cheers

@danieldresser. Cool, I've implemented the relative tweaks. I don't think this rules out expressions in the future if we find a need - it would just be an additional "Expression" setting in the "Mode" dropdown alongside "Add", "Multiply" etc. Since I don't think it will take too long, I'm also going to do the "add from selected light" feature before updating the PR though.
@narann. Thanks for your thoughts - I definitely think that's a reasonable position to take, but not one that we'll enforce in Gaffer (I can't bite the hand that feeds me!). Gaffer does have a pretty flexible UI which can be modified with config files though, so you'll be able to hide the relative tweak modes if you wanted to prevent their use at a particular facility, or on a particular show etc. The magic incantation will be Gaffer.Metadata.registerPlugValue( GafferScene.LightTweaks, "tweaks.*.mode", "plugValueWidget:type", "" ), which will remove the widget for that plug.
@lucienfostier I don't see how this dynamic/static concept could be implemented - can you elaborate?

Sorry, should have said before - I've updated this to include  "Add from selected" and "Add from affected" menu items to automatically add tweaks based on existing lights.

Gah! Needs a rebase now I merged the ShaderView

Rebased.


Report error if the variables in elim is unresolved or resolved to somewhere else

Resolving elim is done in Producer, this is not very good.


Year and decade change buttons direction for RTL

The month is changed according to RTL when the header buttons are clicked (in Day View). I suppose we should do the same for the year and decade change buttons (in Month View and Year View).
I could do the PR if you are ok.

1.0 has been released if you still want to work on this @RomeroMsk ?

Sorry, I still use the 0.9 version and have no time to upgrade and test the new release right now.

@charliekassel, could you please check and accept the PR?


can't download the youtube video

$ youtube-dl --verbose https://www.youtube.com/watch\?v\=D6MY7T0JZKw
[debug] System config: []
[debug] User config: []
[debug] Command-line args: [u'-v', u'--proxy', u'http://<IP_ADDRESS>:8118', u'--verbose', u'https://www.youtube.com/watch?v=D6MY7T0JZKw']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2016.10.07
[debug] Python version 2.7.10 - Darwin-16.4.0-x86_64-i386-64bit
[debug] exe versions: ffmpeg 3.2.2, ffprobe 3.2.2
[debug] Proxy map: {u'http': u'http://<IP_ADDRESS>:8118', u'https': u'http://<IP_ADDRESS>:8118'}
[youtube] D6MY7T0JZKw: Downloading webpage
[youtube] D6MY7T0JZKw: Downloading video info webpage
[youtube] D6MY7T0JZKw: Extracting video information
[youtube] {43} signature length 42.40, html5 player en_US-vfl8LqiZp
[youtube] D6MY7T0JZKw: Downloading player /yts/jsbin/player-en_US-vfl8LqiZp/base.js
ERROR: Signature extraction failed: Traceback (most recent call last):
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1005, in _decrypt_signature
    video_id, player_url, s
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 919, in _extract_signature_function
    errnote='Download of %s failed' % player_url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 516, in _download_webpage
    res = self._download_webpage_handle(url_or_request, video_id, note, errnote, fatal, encoding=encoding, data=data, headers=headers, query=query)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 423, in _download_webpage_handle
    urlh = self._request_webpage(url_or_request, video_id, note, errnote, fatal, data=data, headers=headers, query=query)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 403, in _request_webpage
    return self._downloader.urlopen(url_or_request)
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 2001, in urlopen
    return self._opener.open(req, timeout=self._socket_timeout)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 423, in open
    protocol = req.get_type()
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 285, in get_type
    raise ValueError, "unknown url type: %s" % self.__original
ValueError: unknown url type: /yts/jsbin/player-en_US-vfl8LqiZp/base.js
 (caused by ValueError(u'unknown url type: /yts/jsbin/player-en_US-vfl8LqiZp/base.js',)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1005, in _decrypt_signature
    video_id, player_url, s
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 919, in _extract_signature_function
    errnote='Download of %s failed' % player_url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 516, in _download_webpage
    res = self._download_webpage_handle(url_or_request, video_id, note, errnote, fatal, encoding=encoding, data=data, headers=headers, query=query)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 423, in _download_webpage_handle
    urlh = self._request_webpage(url_or_request, video_id, note, errnote, fatal, data=data, headers=headers, query=query)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 403, in _request_webpage
    return self._downloader.urlopen(url_or_request)
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 2001, in urlopen
    return self._opener.open(req, timeout=self._socket_timeout)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 423, in open
    protocol = req.get_type()
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 285, in get_type
    raise ValueError, "unknown url type: %s" % self.__original
ValueError: unknown url type: /yts/jsbin/player-en_US-vfl8LqiZp/base.js
Traceback (most recent call last):
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 694, in extract_info
    ie_result = ie.extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 356, in extract
    return self._real_extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1584, in _real_extract
    encrypted_sig, video_id, player_url, age_gate)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1015, in _decrypt_signature
    'Signature extraction failed: ' + tb, cause=e)
ExtractorError: Signature extraction failed: Traceback (most recent call last):
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1005, in _decrypt_signature
    video_id, player_url, s
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 919, in _extract_signature_function
    errnote='Download of %s failed' % player_url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 516, in _download_webpage
    res = self._download_webpage_handle(url_or_request, video_id, note, errnote, fatal, encoding=encoding, data=data, headers=headers, query=query)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 423, in _download_webpage_handle
    urlh = self._request_webpage(url_or_request, video_id, note, errnote, fatal, data=data, headers=headers, query=query)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 403, in _request_webpage
    return self._downloader.urlopen(url_or_request)
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 2001, in urlopen
    return self._opener.open(req, timeout=self._socket_timeout)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 423, in open
    protocol = req.get_type()
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 285, in get_type
    raise ValueError, "unknown url type: %s" % self.__original
ValueError: unknown url type: /yts/jsbin/player-en_US-vfl8LqiZp/base.js
 (caused by ValueError(u'unknown url type: /yts/jsbin/player-en_US-vfl8LqiZp/base.js',)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

** The other video links are fine **

You are using an outdated version of youtube-dl. Read this FAQ entry if you have troubles updating.

yes, after sudo youtube-dl -U, it work fine


fix: Regular error showing Total timeout of API google.logging.v2.LoggingServiceV2 exceeded 600000 milliseconds

This is a proposed fix to accept a global callback for Log.delete and Log.write methods through LogOptions
Fixes #<1185> 🦕

From the issue (#1185) it is not clear what developers except to get. The complains sound like they do not want an application to crash in a case the retries fail to ingest the log. In this respect, the fix does not resolve the problem if the callback is not provided.

Based on user's feedback in a bug, the suggestion was: "I assume a lot of users will want to set up some sort of global error catching for this particular error."
Do you have specific proposal in mind how to fix this?

The quoted suggestion comes from one out of four people who describe scenarios that generally caused by failure in retrying mechanism due to transient connectivity error or because the ran their application in the not connected environment.
One of the cases resulted in printing the error to STDOUT where it was catched by a logging agent and eventually reported to Cloud Logging backend.
In my opinion the problem is when this error crashes the application. It is a good idea to provide a way to define the error callback. I suggest to add a default error handling if nothing is provided, so the application would not crash.

The quoted suggestion comes from one out of four people who describe scenarios that generally caused by failure in retrying mechanism due to transient connectivity error or because the ran their application in the not connected environment.
One of the cases resulted in printing the error to STDOUT where it was catched by a logging agent and eventually reported to Cloud Logging backend.
In my opinion the problem is when this error crashes the application. It is a good idea to provide a way to define the error callback. I suggest to add a default error handling if nothing is provided, so the application would not crash.

I believe we cannot provide default callback since client may call log.write with await and put the call inside try/catch - this way default callback from code will "swallow" any thrown error, thus catch becomes to be redundant. Worth mentioning that it is eventually will violate our contract with users who does await with try/catch.


com.fasterxml.jackson.core.jackson dependency harmonization

Parquet as a whole depends on many jackson versions, also legacy release.
there are 2 overlapping dependencies on com.fasterxml.jackson.core bundles:
2.7.1, 2.3.1 and 2.3.0
[INFO] +- org.apache.arrow:arrow-vector:jar:0.1.0:compile
[INFO] |  +- joda-time:joda-time:jar:2.9:compile
[INFO] |  +- com.fasterxml.jackson.core:jackson-annotations:jar:2.7.1:compile
[INFO] |  +- com.fasterxml.jackson.core:jackson-databind:jar:2.7.1:compile
[INFO] |  |  - com.fasterxml.jackson.core:jackson-core:jar:2.7.1:compile
and
[INFO] +- com.fasterxml.jackson.core:jackson-databind:jar:2.3.1:compile
[INFO] |  +- com.fasterxml.jackson.core:jackson-annotations:jar:2.3.0:compile
[INFO] |  - com.fasterxml.jackson.core:jackson-core:jar:2.3.1:compile
It would be better to have only 1 non overlapping dependency tree from jackson.
Then other submodules of Parquet depend on old "codehaus" release. These should be harmonized as well, at least those that do not need that version to cope with other third party libraries that need the old one.
I spotted this one.
Parquet jackson
[INFO] org.apache.parquet:parquet-jackson:jar:1.9.1-SNAPSHOT
[INFO] +- org.codehaus.jackson:jackson-mapper-asl:jar:1.9.13:compile
[INFO] +- org.codehaus.jackson:jackson-core-asl:jar:1.9.13:compile
Reporter: Davide Gesino
Related issues:

Remove Jackson classes from public API (is blocked by)

Note: This issue was originally created as PARQUET-1173. Please see the migration documentation for further details.

Gabor Szadovszky / @gszadovszky:
I don't think we should synchronize the version of dependencies and transitive dependencies. We should upgrade to the latest fasterxml jackson instead of using the ancient codehaus one, though.
The problem is that the codehaus jackson is part of the Avro public API (see AVRO-1605). It means, we are not able to drop the codehaus dependency until Avro removes jackson from its API.


Add barrier proposal

This proposal is designed to primarily address #8, though it also interacts with a few other issues, notably #19 and PR #29.
Lots of discussion on #8 integrated into this proposal, notably including that it uses explicit load/store functions.
Main questions from my perspective are around whether we want to enable a more stable unsafe API first, and what people think of usability of the proposal.

Thank you for your PR! One small thing is that the proposal is under tree/main/docs/src/rfcs instead of docs/src/rfcs.
Rendered

@XAMPPRocky whoops, didn't trim enough of the path when I added it 🤦 - will fix!

Closing this due to inactivity, if someone would like to start pushing on this again, feel free to reopen.


fix cases when a is undefined

sometimes when i1 is 'cfg', a is undefined.

thank you very much for diving in, I will validate that.

Initial pull request has been included.