Field import is inconsistent with Tableau behavior for other DBs

When I establish the connection to Elasticsearch and bring in fields, the result is inconsistent with what would happen for other Tableau connections:

Field names are not capitalized
Non-leading underscores are not replaced with spaces
The connection name is appended to the field

Consider these fields pulled in from a MySQL database and compare to pulling in fields from ES via the connector:

I am planning a migration of some workbooks from MySQL to Elasticsearch, and these differences require me to continually hand-adjust all imported fields from ES before I can "Replace Data Source". Is it possible to make the import of fields more Tableau-like?
see: http://onlinehelp.tableau.com/current/pro/desktop/en-us/help.htm#data_clean_adm.html

Yes it should be possible to do this.  Looks like providing Tableau with field name 'aliases'.  I think without aliases it echo the Data Source name to the end of the field in parenthesis.
This would be a breaking change so I will include this in a 3.0 release of the connector.

It's possible to reimplement the Tableau behavior in the article you link to (specifically the 'Naming Improvements' section), but it seems like Tableau should be applying these automatically.
I think Tableau is inconsistent beween Web Data Connector data sources and all other data sources... other data sources get the Naming Improvements but not WDC data sources.
I posted a question to Tableau's forum: https://community.tableau.com/message/622518#622518 to see if I can get a response.

I also updated the following branch: utc-time-fix-date-fields
With a new option under 'Override Field Defaults' > 'Improve Field Names'...
Let me know if this solves the problem - I dont have a Tableau Desktop license to test myself :(  - this maybe the workaround if the Tableau inconsistency is confirmed.

It seems that checking the "Improve Field Names" checkbox causes the connector to hang.
Time strings are being interpreted correctly now.

Alright I did fix an issue with the library used (Humanize) for the improve field naming.
I merged the date parsing feature to master and the 2.0 release branch - you'll see #61 is closed now.
I was able to test in Tableau Desktop (got a trial license for now).
See if the behavior of the field renaming that's currently in master is closer to what you need. I'm afraid it's an issue in Tableau in the difference with how it treats Web Data connectors vs other data sources.

Certainly usable for my needs - won't be a 1:1 swap of data sources (my MySQL data sources have a _timestamp column that gets converted to _Timestamp in Tableau), but now at least only a couple fields need to be altered instead of all of them.

bump

It looks like in Tableau 10.3, the issue regarding fields that use a leading underscore goes away.


Fuel Pump switch inop on PZ55

Became intermittent then stopped working completely. Tried with a brand new PZ 55 and still the problem persists. Now I have two PZ55 :-P

Is this DCS-BIOS related (only)?

I don't know. My first guess was that my PZ55 was deficient. But after buying a brand new PZ55, the same switch is still inop. This can't be happening to two PZ55 in  row.

No I mean is it DCS-BIOS that you have it configured to? Not key emulation?

Whether I am loading a DCS BIOS or a Key emulation blank profile, the switch keeps being unresponsive or at best unreliable. Looks like a USB issue maybe  more than a software one. But why and what changed. This is puzzling

I will close this. Adding that Logitech's own software showed the same results. So there is something wrong with the panels  / Windows 10.


V2 updates

Bringing some updates made on master v1.(3|4). Thought it would be nice to have this on v2 in order to simplify a possible future merge.
It has the permanent-tokens update (#63) too.

Awesome. I'll merge this after we merge #63 👍

Thanks again for this! I closed v2, but all this is part of #72 now.


Attaching Dev Commit Data to data payload

[x] commit hash
[x] commitTime
[x] ciName (netlify/local/vercel/etc)
[x] branch
[x] repoName
[x] repoUrl
[x] NodeEnv

Included as of v1.0.11


Project does not have a license

Can you add a license to this project? I'd like to use this library but I can't if it's not licensed.

Ok I added the MIT license


Android overscrolls timeout?

I'm not sure if this is expected behavior or not, but if you hold a view overscrolled the overscroll indicator will eventually timeout?  (From https://github.com/flutter/flutter/issues/4126):

This is an Android (not Material) feature and the Android overscroll indicators definitely do timeout. So yew, we should too.

OK.  Closing.

What I meant was: yes this is a bug. Flutter overscroll indicators should time out, just like native Android overscroll indicators do.


DOI link route to paper on usage dashboard?

@bherr2 should we be using https://doi.org/10.1101/2<IP_ADDRESS>7041 instead of https://www.biorxiv.org/content/10.1101/2<IP_ADDRESS>7041v1 on the usage dashboard? Want to verify before requesting. Thank you!

https://doi.org/10.1101/2<IP_ADDRESS>7041

They essentially go to the same place, but the DOI link will redirect to the latest version of the marker paper

Perfect, thanks for confirming. I'll request issues when I see these QoL improvements!

fixed this in this PR. @LibbyUX

@bhushankhope thank you!


Run the app on OneDrive

I want to use the Recycle Bin search feature on my OneDrive bin.
I've successfully added it to OneDrive site contents. Is there any way to run it on OneDrive?
Many thanks

@nguyencamha97 , please follow these steps:  https://github.com/abrcheng/SharePointOnlineQuickAssist/blob/main/Documents/Add SPOQA to OneDrive Host Site/Add SPOQA to OneDrive Host Site.md


Updates to readme with resources

Pull Request type

[ ] Bugfix
[ ] Feature
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes (Please run ./gradlew generateLock saveLock to refresh dependencies)
[ ] WHOSUSING.md
[ x] Other (please describe):

NOTE: Please remember to run ./gradlew spotlessApply to fix any format violations.
Changes in this PR
Updated readme with resources
Describe the new behavior from this PR, and why it's needed
Issue #
Alternatives considered
Describe alternative implementation you have considered

Looks good


Swift5 compile error

If build settings is set to Swift5 rise up a compile error.
private(set) var isLoading = false
Cannot override with a stored property 'isLoading'
how can i solve ?

This is for internal use, why do you need to override isLoading property as paginatedTableView takes care of it itself?


Add support for PreparedStatement

Can we please add support for PreparedStatement in the go client as we have for the Java client?
https://docs.pinot.apache.org/users/clients/java#query-methods

Are you refer to this: https://go.dev/doc/database/prepared-statements ?

trying to use go client to query pinot but it does not support sql params, can we add the support ?

connect.formatArg() also doesn't support for slice?
level=error msg="Failed to format query: failed to format parameter: unsupported type: []interface {}\n"


Bluetooth: Audio: Get function for bt_audio_codec_qos_pref.

Implement get function for bt_audio_codec_qos_pref for BAP endpoints Therefore no need to use the internal header file to get it.
This PR fixes https://github.com/zephyrproject-rtos/zephyr/issues/72359

@pin-zephyr Did you consider the approach of adding it as a field to bt_bap_ep_info?


unrecognized arguments: --ttl with  az network private-dns record-set

[unrecognized arguments: --ttl, while using the argument with "az network private-dns record-set a" as described in the documentation. ]

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

ID: d8ef1e49-3042-7815-3273-ee5debe4dcb5
Version Independent ID: a3ab4167-f0b8-a3a2-f8d4-7c0dec53a425
Content: az network dns record-set a
Content Source: latest/docs-ref-autogen/network/dns/record-set/a.yml
Service: virtual-network
GitHub Login: @rloutlaw
Microsoft Alias: routlaw

network


Please add service Google Chat

package.txt
README.txt
service.txt
webview.txt
gitignore.txt
index.txt

@putuniki - this is already present called hangoutschat.


feat: 503 conditional rendering of primitives

Closes #503

[x] Object prop is not reactive
[x] Conditional rendering is not working. v-if

@alvarosabu
Do you need a hand with the failing tests and linter?

It's pretty much done @andretchen0 if you take another look before merging 🙏🏻


Configurable move / zoom keys

After using uniplot now for a couple days, I found myself using the interactive mode quite often for some simple EDA on remote resources. However, I've been struggling a bit with the h/j/k/l key combinations for moving the bounding box ("struggling" is perhaps a too strong word here ^^), so I've been wondering if you would be up for having this configurable. If this option existed, I would change it to w/a/s/d.
The Options dataclass could be a good place for that, however, the question is whether this should be configurable per plot/histogram() call (1), or a global setting (2).
I don't believe people would need to change this behavior from plot to plot, so option 2 could make more sense here. In this case, a ClassVar on Options would already do the trick, allowing for (e.g.)
import uniplot
uniplot.Options.move_keys = "wasd"
uniplot.plot(...)

(just as an example, a proper setter is of course preferable here to change the class var)

It's definitely a cool idea. I've just tried remapping the keys locally, and it is an interesting FPS-like experience 😄 Especially if w is mapped to zooming in, rather than shift view upwards
Let's see if more people want this

In the meantime, feel free to play around with a possible wasd mapping on this separate branch.

And as a question for you @riga and if anyone else wants to chime in: Would you expect w to zoom in 🔍 or to move upwards ⬆ ?

I would expect

w to move up,
s to move down,
a to move left, and
d to move right.

I'd have no real preference for zooming, but perhaps e/r or f/g?


Fix for items larger than viewport

This builds on https://github.com/DockYard/ember-in-viewport/pull/88 with a couple of additions:

Rebased against master to fix merge conflicts
Fixes a bug in the isAxisInViewport when the element is larger than the viewport

@robwebdev If this is still applicable with the 3.0 version, I would love to help tackle this.


Stop using vars in kudoctl

What would you like to be added:
To ease some data sharing between packages we tend to use a global shared context captured here https://github.com/kudobuilder/kudo/blob/master/pkg/kudoctl/util/vars/vars.go
Let's drop that package and move toward passing along variables via function calls. It's hard to follow the data flow and see who change what and who is using what.
Why is this needed:
Code cleanup. Possibly also better testable code

@alenkacz agreed. I typically prefer a Configuration struct for items like this if the function signature starts getting too long.


cameraManager.stopVideoRecording doesn't triggering callback

Sometimes, cameraManager.stopVideoRecording seems work perfection in lower duration recording, but when try to do more recording then it will not return completion block, it was not going in below condition because runningMovieOutput.isRecording returning false (in CameraManager.swift) and didn't get callback :
if let runningMovieOutput = movieOutput,
         runningMovieOutput.isRecording {
         videoCompletion = completion
        runningMovieOutput.stopRecording()
}

I also tried different ways from given feedback like
1.) Moving cameraManager.cameraOutputMode in the "record" button method just before calling
cameraManager.startRecordingVideo()
but, this is not working.
2.) By checking and changing cameraOutputMode before start recording and after stop recording
Before start recording :
```
if cameraManager.cameraOutputMode == .stillImage {
print("Camera output is stillImage, switching to videoWithMic")
cameraManager.cameraOutputMode = .videoWithMic
}
cameraManager.startRecordingVideo()

      _After stop recording :_

        ```
cameraManager.stopVideoRecording { (URL, error) in
             print("Video Recording URL: ", URL!);

             if cameraManager.cameraOutputMode == .videoWithMic {
                     cameraManager.cameraOutputMode = .stillImage
             }
        }

I tried above solutions but none of these are working for me. 🙁
I am using CameraManager cocoapod (version 5.1.3)
Could you please help me out of this issue?
Waiting for your response...😌

Please follow the instructions:
cameraManager.addLayerPreviewToView(cameraView, newCameraOutputMode: .videoOnly) {
self.cameraManager.startRecordingVideo()
}

I have a question. I tried to stop recording, but it doesn't seem to have worked. Can you help me with this?


Cutscene not working

Describe your bug here.
The Cutscene is not working when im using this new 0.5.2 fnf folder. everytime when i put a script.lua on a mods data folder and enter the game then it crashed. i recheck the script.lua see if im miss anything or i didn't put the .mp4 on the video folder but there wasn't and it still crashed. Then my other idea is by using an old version fnf folder and it work for some reason
Command Prompt/Terminal logs (if existing)
No response
Are you modding a build from source or with Lua?
Lua
What is your build target?
Windows
Did you edit anything in this build? If so, mention or summarize your changes.
No, i'm not using assest folder. i only used mods folder to create a story

(ZeitHeld)
what path folder ur talking about?

the path, where your Engine/Game is saved in.
Mine e.g. was saved in something like:
user/#MyGames/FNF Mods/Psych Engine
And the second folder named was, for some reason, the fault for videos not playing at all

(ZeitHeld)
ok i see. but there wasn't any special character at all. i also try download a new latest fnf folder and put the script.lua and the mp4 on it. and it didn't work. (it crashed) i was wondering if maybe i miss some letter on the script.lua here what's inside the script.lua just let me know if im miss anything or this is just a bug
local allowCountdown = false
function onStartCountdown()
if not allowCountdown and isStoryMode and not seenCutscene then --Block the first countdown
startVideo('cutscene1');
allowCountdown = true;
return Function_Stop;
end
return Function_Continue;
end

im also experiencing the same issue
ive even tried changing the script name to "Videoscript" or something

I use the same script, or kind of code.
Maybe try to copy/"reinstall" the engine to a different folder

(ZeitHeld)
i already done that


How can i center map to again the default position lat and lng dynamcaly

I have this code

import React from "react";
import ReactDOM from "react-dom";
import { compose, withProps } from "recompose";
import {
  withScriptjs,
  withGoogleMap,
  GoogleMap,
  Marker,
  Circle
} from "react-google-maps";
import config from 'config';

const GoogleMaps = compose(
  withProps({
    /**
     * Note: create and replace your own key in the Google console.
     * https://console.developers.google.com/apis/dashboard
     * The key "AIzaSyBkNaAGLEVq0YLQMi-PYEMabFeREadYe1Q" can be ONLY used in this sandbox (no forked).
     */
    googleMapURL:
      "https://maps.googleapis.com/maps/api/js?key=" + config.googlemaps + "v=3.exp&libraries=geometry,drawing,places",
    loadingElement: <div style={{ height: `100%` }} />,
    containerElement: <div style={{ height: `300px` }} />,
    mapElement: <div style={{ height: `100%` }} />
  }),
  withScriptjs,
  withGoogleMap
)(props => (
  <GoogleMap defaultZoom={8} defaultCenter={new google.maps.LatLng(props.lat,  props.lng)}>
    {props.isMarkerShown && (
      <Marker position={{ lat: props.lat, lng: props.lng }} />
    )}
     {props.isCircle && (
      <Circle radius={10000}  visible={true} center={{ lat: props.lat, lng: props.lng }}/>
     )}
    </GoogleMap>
));

export { GoogleMaps };

after i have change the lat and lng props the element map stays on first position
how to center it to the marker ?
Many thanks
Carlos Vieira

Solution found...
center={new google.maps.LatLng(props.lat,  props.lng)}
thanks
Carlos Vieira

But with this solution don't you need to change the center every time user drags a map? I tried this approach (with setting center instead of defaultCenter) but I wasn't satisfied with the solution because it wasn't working well with drag event. Even though I updated the center on every dragend event

@bognix Can you please provide an example of how you updated the center on every dragend event?

@ryan-ds  Please follow the below steps to update the center on every drag end:-
1)Create a ref to the map and pass it as a prop to GoogleMap component.
2)Now create a handler for map drag as shown below:-
handleOnMapDrag(event) {
var dragLat = this._map.getCenter().lat(); //this._map is a ref to GoogleMap component created in step 1 above.
var dragLng = this._map.getCenter().lng();
}
Update your lat and lng states with dragLat and dragLng so that it will update the center on every dragend.
3)Pass this drag handler to onDragEnd prop to GoogleMap component.
You are all set now. Try out and let me know..!!

@ShintaroNippon  where did you import the google from? i.e. new google.maps

@ShintaroNippon 100% worked this solution
<Circle
### center={{
lat: item.lat,
lng: item.lng
}}
radius={2000}
visible={true}
options={{ strokeColor: "#ff0000" }}
/>


🐛 [firebase_messaging] Cannot receive background fcm background message on flutter

Bug report
Describe the bug
Background message is not working
D/FLTFireMsgReceiver(23619): broadcast received for message.
E/FLTFireBGExecutor(23619): Background isolate already started.
I/FLTFireMsgService(23619): Service has not yet started, messages will be queued.

Expected behavior
A clear and concise description of what you expected to happen.
Sample project
My Code :
@pragma('vm:entry-point')
Future<void> _firebaseMessagingBackgroundHandler(RemoteMessage message) async {
  await Firebase.initializeApp(options: DefaultFirebaseOptions.currentPlatform);
  print(message.toString());
}

Future main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp(options: DefaultFirebaseOptions.currentPlatform);
  FirebaseMessaging.onBackgroundMessage(_firebaseMessagingBackgroundHandler);
  await setupGlobalLocator();
  runZonedGuarded(() {
    runApp(
      MyApp(),
    );
  }, (error, stackTrace) {
    FirebaseCrashlytics.instance.recordError(error, stackTrace);
  });
}

Additional context
Add any other context about the problem here.

Flutter Doctor
[✓] Flutter (Channel stable, 3.3.4, on macOS 13.0 22A380 darwin-arm, locale en-US)
    • Flutter version 3.3.4 on channel stable at /Users/user/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision eb6d86ee27 (6 weeks ago), 2022-10-04 22:31:45 -0700
    • Engine revision c08d7d5efc
    • Dart version 2.18.2
    • DevTools version 2.15.0

[✓] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1)
    • Android SDK at /Users/user/Library/Android/sdk
    • Platform android-33, build-tools 32.1.0-rc1
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7772763)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14B47b
    • CocoaPods version 1.11.3

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

[✓] Android Studio (version 2021.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 11.0.11+0-b60-7772763)

[✓] IntelliJ IDEA Community Edition (version 2021.3.3)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • 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

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

[✓] VS Code (version 1.66.2)
    • VS Code at /Users/user/Downloads/Visual Studio Code.app/Contents
    • Flutter extension version 3.52.0

[✓] Connected device (4 available)
    • Pixel 2 (mobile) • HT83G1A00269       • android-arm64  • Android 11 (API 30)
    • SM T540 (mobile) • <IP_ADDRESS>:5555 • android-arm64  • Android 11 (API 30)
    • macOS (desktop)  • macos              • darwin-arm64   • macOS 13.0 22A380 darwin-arm
    • Chrome (web)     • chrome             • web-javascript • Google Chrome 107.0.5304.110

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

Flutter dependencies
Run flutter pub deps -- --style=compact and paste the output below:
Click To Expand
  firebase_messaging: ^14.1.0
  firebase_crashlytics: ^3.0.5
  firebase_core: ^2.2.0
  flutter_local_notifications: ^12.0.3
  permission_handler: ^10.2.0

I meet same problem only Android Background , ios working well

I am seeing the exact same issue on Android background messages...
firebase_messaging: ^14.1.0
D/FLTFireMsgReceiver(12436): broadcast received for message E/FLTFireBGExecutor(12436): Background isolate already started. I/FLTFireMsgService(12436): Service has not yet started, messages will be queued.

I am facing the same issue...
firebase_messaging: ^14.1.0

Hello, I'm facing same issue too on Android.

Ios working well, For android I didn't find any solution for this problem.

@krupikivan and everyone facing this issue: Can anybody confirm if this behavior is occuring using previous version of plugin too or not ? https://pub.dev/packages/firebase_messaging/changelog#1404
If not, and occurs only using latest plugin version, ie, 14.1.0, please provide complete verbose log for further debugging.

D/FLTFireMsgReceiver(27031): broadcast received for message
E/FLTFireBGExecutor(27031): Background isolate already started.
I/FLTFireMsgService(27031): Service has not yet started, messages will be queued.

The main function called twice when use onBackgroundMessage
FirebaseMessaging.onBackgroundMessage(_firebaseMessagingBackgroundHandler);

I am facing same issue in Android.

@krupikivan and everyone facing this issue: Can anybody confirm if this behavior is occuring using previous version of plugin too or not ? https://pub.dev/packages/firebase_messaging/changelog#1404
If not, and occurs only using latest plugin version, ie, 14.1.0, please provide complete verbose log for further debugging.

Unfortunately we're having the same issue with 14.04..

we're having the same issue with previous versions.

same here on Android Emulator.
Is there a 14.x version working?

We reverted back to:
firebase_core: ^1.20.1
firebase_messaging: ^12.0.2

(The firebase_messaging: 13* versions didn't work for us for other reasons, see: https://github.com/firebase/flutterfire/issues/9806 .)

@krupikivan  I'm testing it now. Notifications worked up until iOS 15 so far.
But since you are asking I'm suspecting that iOS 16 might be an issue? My iPhone is upgrading as I'm writing this. I'll report back.

Error: Member not found: 'FirebaseAppPlatform.verifyExtends'

I have that issue if I upgrade firebase_core to a 2.* version, see: https://github.com/firebase/flutterfire/issues/9806
Try downgrading firebase_core as well. That should work.

Hello, thanks for the report, I'm unable to reproduce it with the latest version of firebase messaging and the sample code.
2022-11-15 14:59:12.846  8897-8897  FLTFireMsgReceiver      io....ns.firebase.messaging.example  D  broadcast received for message
2022-11-15 14:59:12.861  8897-8897  FLTFireBGExecutor       io....ns.firebase.messaging.example  E  Background isolate already started.
2022-11-15 14:59:12.863  8897-8921  FLTFireMsgService       io....ns.firebase.messaging.example  I  Service has not yet started, messages will be queued.

I have the same messages, but the notification is showing as expected.
The reported error is about Android, please keep the thread clean, and open another issue for iOS if needed.

Since version 13 you need new permissions, did you follow the instructions:
BREAKING FEAT: firebase_messaging now includes this permission: Manifest.permission.POST_NOTIFICATIONS in its AndroidManifest.xml file which requires updating your android/app/build.gradle to target API level 33.

@Lyokone Could you please provide your sample code? I'm still having same Issue on Android

You can find the complete sample here: https://github.com/firebase/flutterfire/blob/master/packages/firebase_messaging/firebase_messaging/example/lib/main.dart

Same sample code, get the firebase token, go to messaging cloud send notification and notification is not showing in Android with same console log

@krupikivan, as said before, it works in all 3 states for me (foreground, background, and killed).
Did you checked this message: https://github.com/firebase/flutterfire/issues/9932#issuecomment-1315356027
Please send a complete example in the form of a Github repo so I can check this (with your Manifest)

@Lyokone
Inside manifest:
build.gradle: compileSdkVersion 33

Ok, we can work this out without me having to do a full reproduction repo. We'll see.
I did not have the permission previously. I added that now.
Result: It still does not work.
Let me give you a bit of additional info and screenshots:
android\app\src\main\AndroidManifest.xml looks like this:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="***">
    <application android:label="***"
        android:name="${applicationName}"
        android:icon="@mipmap/ic_launcher">
        <activity android:name=".MainActivity"
            android:exported="true"
            android:launchMode="singleTop"
            android:theme="@style/LaunchTheme"
            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
            android:hardwareAccelerated="true"
            android:windowSoftInputMode="adjustResize">
            <!-- Specifies an Android theme to apply to this Activity as soon as
                 the Android process has started. This theme is visible to the user
                 while the Flutter UI initializes. After that, this theme continues
                 to determine the Window background behind the Flutter UI. -->
            <meta-data android:name="io.flutter.embedding.android.NormalTheme"
                android:resource="@style/NormalTheme" />
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
        <!-- Don't delete the meta-data below.
             This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
        <meta-data android:name="flutterEmbedding"
            android:value="2" />
    </application>

    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
</manifest>

My dependencies look like this:
  firebase_core: ^2.2.0
  firebase_messaging: ^14.1.0

The Android version of my emulator is 12.

When I receive a notification in the background I get the following:
D/FLTFireMsgReceiver( 9494): broadcast received for message
E/FLTFireBGExecutor( 9494): Background isolate already started.
I/FLTFireMsgService( 9494): Service has not yet started, messages will be queued.

I hope we figure this out.

When I send a push notification from our backend, adb logcat shows the following:
11-15 14:54:40.834  1121  6992 W ChimeraUtils: Module com.google.android.gms.gcm has empty metadata display_name_string_id
11-15 14:54:40.837  9494  9494 D FLTFireMsgReceiver: broadcast received for message
11-15 14:54:40.843  9494  9494 E FLTFireBGExecutor: Background isolate already started.
11-15 14:54:40.845  9494  9516 I FLTFireMsgService: Service has not yet started, messages will be queued.
11-15 14:54:40.851  9494  9494 D FLTFireMsgReceiver: broadcast received for message
11-15 14:54:40.856  9494  9494 E FLTFireBGExecutor: Background isolate already started.
11-15 14:54:40.858  9494  9516 I FLTFireMsgService: Service has not yet started, messages will be queued.

As stated here, those messages are not indicative of the notification not being received.
Can you try the messaging sample app to see if it's related to your device? You have information on how to run the example app in the main.dart

@Lyokone I just created new flutter project and Background notification works in Android looks like we forgot to update some of the dependencies
Here is the sample code
https://github.com/krupikivan/firebase_notification_background

@krupikivan Glad to hear that, thanks for updating :)

Regarding setting up the sample app: I'm struggling with step 4:

Run flutterfire configure in the example/ directory to setup your app with your Firebase project.

Where is the flutterfire-binary supposed come from?

In any case: If this works for krupikivan with his sample application (and it works for you, Lyokone, as well), then I guess we can assume that it works in general. The question then is: What do I (and the other people in this thread) need to do to migrate our existing projects to the new version so that it works?
I'll report back if I find the solution.

@SvenSchoene  Double check your dependencies like
implementation platform('com.google.firebase:firebase-bom:31.0.3')

@Lyokone IM able to receive the notification but I'm not able to run anything inside _firebaseMessagingBackgroundHandler
In mi case I want to dispatch a FlutterLocalNotification inside _firebaseMessagingBackgroundHandler function and is not working. However FirebaseMessaging.onMessageOpenedApp works if I tap the notification

@krupikivan Thank you for the suggestion!
Unfortunately, that did not work. Even after a flutter clean.
Also: I can't find it anywhere in the docs that that dependency has to be added manually. How did you get the idea to add that?

Regarding your next reply: How do you get a notification if the background handler (and therefore FlutterLocalNotification) is not executed? Or is the notification that you can tap from Firebase itself?

@SvenSchoene  In my case notification is showing in my phone, but like you _firebaseMessagingBackgroundHandler is not executed.
When I created a new Firebase project through the Firebase console right after getting my google-service.json one of the this was one of the dependencies I had to migrate

@Lyokone Are you able to execute the peace of code inside _firebaseMessagingBackgroundHandler?

Experiencing the same, and I'm having a huge drop in received data messages in previous firebase_messaging versions also
https://github.com/firebase/flutterfire/issues/9930#event-7811522455

@Lyokone  I had to reopen the issue BTW I changed the title to be specific

I confirmed that the issue only exist for firebase_messaging: 14.1.0, all version prior to it works.
So, most probably https://github.com/firebase/flutterfire/pull/9867 caused it.

Using the plugin example and running on Android, although I am getting same logs as reported, but notification is received:
broadcast received for message
Background isolate already started.
Service has not yet started, messages will be queued.

But looking at the comments received, I am going ahead and labeling this for further insights and tracking for team to look into.
May be related : https://github.com/firebase/flutterfire/issues/9912

I guess at this point the question is not whether the notification is received, but whether the method _firebaseMessagingBackgroundHandler() is executed: https://github.com/firebase/flutterfire/blob/master/packages/firebase_messaging/firebase_messaging/example/lib/main.dart#L47-L54
It is set up here in the example: https://github.com/firebase/flutterfire/blob/master/packages/firebase_messaging/firebase_messaging/example/lib/main.dart#L123
I couldn't get the example to run. But you did. So could you run it again and check whether you see the output for this call from line 53?
print('Handling a background message ${message.messageId}');

Is something already set? Maybe could you provie last working version, which is tested and recommended? I mean firebase_core and firebase_messaging plugins?

Could it be that there is actually nothing wrong with version 14.1.0, but much rather the issue is what I stumbled upon here: https://github.com/firebase/flutterfire/issues/9951#issuecomment-1318548853
TLDR: Adding @pragma('vm:entry-point') to the background message handler fixes the issue?
I do not have time to test 14.1.0 with this at the moment. I'm scrambling to get everything ready for my 10 day vacation. 😅
But I had to share this.

I still have the same problem

@Abhilashkv013 Try changing your version string from ^14.0.4 to 14.0.4. The ^ might still resolve to 14.1.0 (I must admit that I always forget semantic versioning details... 😬 ).
ALSO: Remove your pubspec.lock and run flutter pub get again. I was finding myself in a situation where 14.1.0 was still the resolved version, even after changing the version to ^14.0.4 or even 14.0.4.
(Maybe ^14.0.4 + removing the pubspec.lock file is all it takes -- meaning the ^ can stay.)
Otherwise your code looks fine to me.
If you are testing on Android 13 make sure to add <uses-permission android:name="android.permission.POST_NOTIFICATIONS"/> to your AndroidManifest.xml as well.

@Abhilashkv013 Try changing your version string from ^14.0.4 to 14.0.4. The ^ might still resolve to 14.1.0 (I must admit that I always forget semantic versioning details... 😬 ).
ALSO: Remove your pubspec.lock and run flutter pub get again. I was finding myself in a situation where 14.1.0 was still the resolved version, even after changing the version to ^14.0.4 or even 14.0.4.
(Maybe ^14.0.4 + removing the pubspec.lock file is all it takes -- meaning the ^ can stay.)
Otherwise your code looks fine to me.
If you are testing on Android 13 make sure to add <uses-permission android:name="android.permission.POST_NOTIFICATIONS"/> to your AndroidManifest.xml as well.

Thanks Working

Just upgraded to and it's working.
  firebase_messaging: ^14.0.4


Variable declarations are missing

// a.ts
var A: void;
export {A}

// types.ts
import {A} from './a';
export {A}
declare type A = void; // this code remove a variable declaration.

// index.ts
import {A} from './types';
var B = A;
var C: A;

$ node built/local/tsc.js -m commonjs index --noEmit
index.ts(2,9): error TS2304: Cannot find name 'A'.

Remove a type declaration code.
- declare type A = void;

Work correctly.
$ node built/local/tsc.js -m commonjs index --noEmit
index.ts(3,8): error TS2304: Cannot find name 'A'.

This is by design. When resolving an alias we stop as soon as we find a non-alias. In this case that means we stop resolution on type A, and we won't see the further removed declaration of variable A. Effectively, all meanings of a symbol must come from the same file. The documentation is not entirely clear on this, and we already have a bug to fix that (#3158).

I understand. I want to read these type resolution strategies and type system policy for my bug reporting. Thanks for your explain.


Feature: Ability to update dynamic shortcuts

At this moment after dynamic shortcuts have been added, there is no possibility to manage them (update/ remove).
Suggestion:
Adding AndroidShortcuts.setDynamic method which would call ShortcutManagerCompat::setDynamicShortcuts
Rererence: Android for Developers > Manage Shortcuts

Update: it seems that it's already being used by AndroidShortcuts.addDynamic
https://github.com/NePheus/capacitor-android-shortcuts/blob/72183df8b85903d357419f572608119ba651cd0d/android/src/main/java/nepheus/capacitor/androidshortcuts/AndroidShortcuts.java#L70
but it was not obvious from the documentation

After that you may re-add proxy method addDynamic and mark is as deprecated to prevent breaking change

Do you know a good way to implement such proxy methods? As there is no JS code between when I call the method, and the native code is called directly, I could just add the old and new methods in the definitions.ts and also in the java file, and there I could redirect the old methods to the new one. Inside the definitions.ts I could mark them as deprecated in the comment.

I just released 5.0.2.

Thanks!
One more thing: I'd mark methods as deprecated in the docs, or even remove them: https://github.com/NePheus/capacitor-android-shortcuts/commit/88b1faab920c51d01a81b210a3e85d15b06bb7e0#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5R182-R215

Didnt realize that. Its cazsed by the automatic docs generation. Maybe I will also add a "deprecated" there to the description.

Tried @ignore iniside the definitions.ts but its still showing in the readme.md. Then I read somewhere that this is not going to work. I just updated the description of both methods now.


Custom model based on PoseNet crashes when camera starts

Hi, I'm attempting to use model.tflite found here  with tflite. However, I get this error and the app crashes when I click on the button to start the camera and load the model.
W/Settings(25088): Setting device_provisioned has moved from android.provider.Settings.Secure to android.provider.Settings.Global.
V/HiTouch_HiTouchSensor(25088): User setup is finished.
V/AudioManager(25088): querySoundEffectsEnabled...
I/tflite  (25088): Initialized TensorFlow Lite runtime.
I/flutter (25088): success
D/SensorManager(25088): 0x7e8d72bb10 addFd fd=127
D/HwFrameworkSecurityPartsFactory(25088): HwFrameworkSecurityPartsFactory in.
I/HwFrameworkSecurityPartsFactory(25088): add HwFrameworkSecurityPartsFactory to memory.
I/CameraManager(25088): open camera: 0, package name: com.example.examplerealtime
I/HwCameraUtil(25088): notifySurfaceFlingerCameraStatus : isFront = false , isOpend = true
W/Gralloc3(25088): allocator 3.x is not supported
I/Choreographer(25088): Skipped 33 frames!  The application may be doing too much work on its main thread.
I/CameraDevice-JV-0(25088): Camera now idle
E/ion     (25088): ioctl c0044901 failed with code -1: Not a typewriter
I/GRALLOC (25088): LockFlexLayout: baseFormat: 11, yStride: 1280, ySize: 921600, uOffset: 921600,  uStride: 1280
I/GRALLOC (25088): LockFlexLayout: baseFormat: 11, yStride: 1280, ySize: 921600, uOffset: 921600,  uStride: 1280
D/RenderScript HIDL Adaptation(25088): IRenderScriptDevice::getService()
D/RenderScript HIDL Adaptation(25088): IRenderScriptDevice::getService() returned 0x7e740efbc0
D/RenderScript HIDL Adaptation(25088): HIDL successfully loaded.
V/RenderScript(25088): ARM mali (64 bit) RenderScript Compute Driver
W/System  (25088): A resource failed to call close.
W/System  (25088): A resource failed to call release.
V/RenderScript(25088): Successfully loaded runtime: libRSDriverArm.so
D/        (25088): Successfully queried cache dir: /data/user_de/0/com.example.examplerealtime/code_cache
D/RenderScript(25088): Setting cache dir: /data/user_de/0/com.example.examplerealtime/code_cache
D/HwGalleryCacheManagerImpl(25088): mIsEffect:false
I/GRALLOC (25088): LockFlexLayout: baseFormat: 11, yStride: 1280, ySize: 921600, uOffset: 921600,  uStride: 1280
W/System  (25088): A resource failed to call destroy.
I/chatty  (25088): uid=10240(com.example.examplerealtime) FinalizerDaemon identical 1 line
W/System  (25088): A resource failed to call destroy.
I/GRALLOC (25088): LockFlexLayout: baseFormat: 11, yStride: 1280, ySize: 921600, uOffset: 921600,  uStride: 1280
I/QarthLog(25088): [PatchStore] createDisableExceptionQarthFile
I/QarthLog(25088): [PatchStore] create disable file for com.example.examplerealtime uid is 10240
E/AndroidRuntime(25088): FATAL EXCEPTION: AsyncTask #1
E/AndroidRuntime(25088): Process: com.example.examplerealtime, PID: 25088
E/AndroidRuntime(25088): java.lang.RuntimeException: An error occurred while executing doInBackground()
E/AndroidRuntime(25088): 	at android.os.AsyncTask$4.done(AsyncTask.java:399)
E/AndroidRuntime(25088): 	at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:383)
E/AndroidRuntime(25088): 	at java.util.concurrent.FutureTask.setException(FutureTask.java:252)
E/AndroidRuntime(25088): 	at java.util.concurrent.FutureTask.run(FutureTask.java:271)
E/AndroidRuntime(25088): 	at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:289)
E/AndroidRuntime(25088): 	at java.util.concurrent.ThreadPoolExecutor.processTask(ThreadPoolExecutor.java:1187)
E/AndroidRuntime(25088): 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
E/AndroidRuntime(25088): 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
E/AndroidRuntime(25088): 	at java.lang.Thread.run(Thread.java:929)
E/AndroidRuntime(25088): Caused by: java.lang.IllegalArgumentException: Cannot copy between a TensorFlowLite tensor with shape [1, 96, 96, 14] and a Java object with shape [1, 3].
E/AndroidRuntime(25088): 	at org.tensorflow.lite.Tensor.throwIfShapeIsIncompatible(Tensor.java:342)
E/AndroidRuntime(25088): 	at org.tensorflow.lite.Tensor.throwIfDataIsIncompatible(Tensor.java:305)
E/AndroidRuntime(25088): 	at org.tensorflow.lite.Tensor.copyTo(Tensor.java:183)
E/AndroidRuntime(25088): 	at org.tensorflow.lite.NativeInterpreterWrapper.run(NativeInterpreterWrapper.java:166)
E/AndroidRuntime(25088): 	at org.tensorflow.lite.Interpreter.runForMultipleInputsOutputs(Interpreter.java:311)
E/AndroidRuntime(25088): 	at org.tensorflow.lite.Interpreter.run(Interpreter.java:272)
E/AndroidRuntime(25088): 	at sq.flutter.tflite.TflitePlugin$RunModelOnFrame.runTflite(TflitePlugin.java:513)
E/AndroidRuntime(25088): 	at sq.flutter.tflite.TflitePlugin$TfliteTask.doInBackground(TflitePlugin.java:419)
E/AndroidRuntime(25088): 	at sq.flutter.tflite.TflitePlugin$TfliteTask.doInBackground(TflitePlugin.java:393)
E/AndroidRuntime(25088): 	at android.os.AsyncTask$3.call(AsyncTask.java:378)
E/AndroidRuntime(25088): 	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
E/AndroidRuntime(25088): 	... 5 more
I/GRALLOC (25088): LockFlexLayout: baseFormat: 11, yStride: 1280, ySize: 921600, uOffset: 921600,  uStride: 1280
I/GRALLOC (25088): LockFlexLayout: baseFormat: 11, yStride: 1280, ySize: 921600, uOffset: 921600,  uStride: 1280
I/GRALLOC (25088): LockFlexLayout: baseFormat: 11, yStride: 1280, ySize: 921600, uOffset: 921600,  uStride: 1280
I/Process (25088): Sending signal. PID: 25088 SIG: 9

Any help appreciated. I feel like the important error is Caused by: java.lang.IllegalArgumentException: Cannot copy between a TensorFlowLite tensor with shape [1, 96, 96, 14] and a Java object with shape [1, 3]. but I could be wrong. I am willing to upload the code to a repo if that helps but I have changed very little, just cleaned the example code to remove unneeded models and switched to custom model.

When loading the model I was originally using
res = await Tflite.loadModel(
          model: "assets/pose.tflite",
          labels:"assets/pose.txt",
      );

with pose.txt contatining
stand
squat
deadlift

I stopped setting labels and the error is now
V/AudioManager(30394): querySoundEffectsEnabled...
I/tflite  (30394): Initialized TensorFlow Lite runtime.
I/flutter (30394): success
D/SensorManager(30394): 0x7e8d59dca0 addFd fd=129
D/HwFrameworkSecurityPartsFactory(30394): HwFrameworkSecurityPartsFactory in.
I/HwFrameworkSecurityPartsFactory(30394): add HwFrameworkSecurityPartsFactory to memory.
I/CameraManager(30394): open camera: 0, package name: com.example.examplerealtime
I/HwCameraUtil(30394): notifySurfaceFlingerCameraStatus : isFront = false , isOpend = true
W/Gralloc3(30394): allocator 3.x is not supported
I/CameraDevice-JV-0(30394): Camera now idle
E/ion     (30394): ioctl c0044901 failed with code -1: Not a typewriter
I/GRALLOC (30394): LockFlexLayout: baseFormat: 11, yStride: 1280, ySize: 921600, uOffset: 921600,  uStride: 1280
I/GRALLOC (30394): LockFlexLayout: baseFormat: 11, yStride: 1280, ySize: 921600, uOffset: 921600,  uStride: 1280
D/RenderScript HIDL Adaptation(30394): IRenderScriptDevice::getService()
D/RenderScript HIDL Adaptation(30394): IRenderScriptDevice::getService() returned 0x7f15550460
D/RenderScript HIDL Adaptation(30394): HIDL successfully loaded.
V/RenderScript(30394): ARM mali (64 bit) RenderScript Compute Driver
W/System  (30394): A resource failed to call close.
W/System  (30394): A resource failed to call release.
V/RenderScript(30394): Successfully loaded runtime: libRSDriverArm.so
D/        (30394): Successfully queried cache dir: /data/user_de/0/com.example.examplerealtime/code_cache
D/RenderScript(30394): Setting cache dir: /data/user_de/0/com.example.examplerealtime/code_cache
D/HwGalleryCacheManagerImpl(30394): mIsEffect:false
I/GRALLOC (30394): LockFlexLayout: baseFormat: 11, yStride: 1280, ySize: 921600, uOffset: 921600,  uStride: 1280
W/System  (30394): A resource failed to call destroy.
I/chatty  (30394): uid=10240(com.example.examplerealtime) FinalizerDaemon identical 1 line
W/System  (30394): A resource failed to call destroy.
I/GRALLOC (30394): LockFlexLayout: baseFormat: 11, yStride: 1280, ySize: 921600, uOffset: 921600,  uStride: 1280
I/QarthLog(30394): [PatchStore] createDisableExceptionQarthFile
I/QarthLog(30394): [PatchStore] create disable file for com.example.examplerealtime uid is 10240
E/AndroidRuntime(30394): FATAL EXCEPTION: AsyncTask #1
E/AndroidRuntime(30394): Process: com.example.examplerealtime, PID: 30394
E/AndroidRuntime(30394): java.lang.RuntimeException: An error occurred while executing doInBackground()
E/AndroidRuntime(30394): 	at android.os.AsyncTask$4.done(AsyncTask.java:399)
E/AndroidRuntime(30394): 	at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:383)
E/AndroidRuntime(30394): 	at java.util.concurrent.FutureTask.setException(FutureTask.java:252)
E/AndroidRuntime(30394): 	at java.util.concurrent.FutureTask.run(FutureTask.java:271)
E/AndroidRuntime(30394): 	at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:289)
E/AndroidRuntime(30394): 	at java.util.concurrent.ThreadPoolExecutor.processTask(ThreadPoolExecutor.java:1187)
E/AndroidRuntime(30394): 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
E/AndroidRuntime(30394): 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
E/AndroidRuntime(30394): 	at java.lang.Thread.run(Thread.java:929)
E/AndroidRuntime(30394): Caused by: java.lang.IllegalArgumentException: Null outputs are allowed only if the Tensor is bound to a buffer handle.
E/AndroidRuntime(30394): 	at org.tensorflow.lite.Tensor.copyTo(Tensor.java:180)
E/AndroidRuntime(30394): 	at org.tensorflow.lite.NativeInterpreterWrapper.run(NativeInterpreterWrapper.java:166)
E/AndroidRuntime(30394): 	at org.tensorflow.lite.Interpreter.runForMultipleInputsOutputs(Interpreter.java:311)
E/AndroidRuntime(30394): 	at org.tensorflow.lite.Interpreter.run(Interpreter.java:272)
E/AndroidRuntime(30394): 	at sq.flutter.tflite.TflitePlugin$RunModelOnFrame.runTflite(TflitePlugin.java:513)
E/AndroidRuntime(30394): 	at sq.flutter.tflite.TflitePlugin$TfliteTask.doInBackground(TflitePlugin.java:419)
E/AndroidRuntime(30394): 	at sq.flutter.tflite.TflitePlugin$TfliteTask.doInBackground(TflitePlugin.java:393)
E/AndroidRuntime(30394): 	at android.os.AsyncTask$3.call(AsyncTask.java:378)
E/AndroidRuntime(30394): 	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
E/AndroidRuntime(30394): 	... 5 more
I/examplerealtim(30394): Waiting for a blocking GC ProfileSaver
I/GRALLOC (30394): LockFlexLayout: baseFormat: 11, yStride: 1280, ySize: 921600, uOffset: 921600,  uStride: 1280
I/GRALLOC (30394): LockFlexLayout: baseFormat: 11, yStride: 1280, ySize: 921600, uOffset: 921600,  uStride: 1280
W/libEGL  (30394): EGLNativeWindowType 0x7e958e2010 disconnect failed
I/Process (30394): Sending signal. PID: 30394 SIG: 9
Lost connection to device.

Are you successful in using this? I am facing similar issue and do not have any solution.

I was not but maybe look into this package https://pub.dev/packages/tflite_flutter

Why would you stop using labels ? Without labels, how can the model give you results ?
(maybe I didn't understand the role of labels, I just started using tensorflow)

I was not but maybe look into this package https://pub.dev/packages/tflite_flutter

I have tried this, but the accuracy is too low for some reason, not sure if I am using it incorrectly or there's problem with the package. I also saw similar thing mentioned on Stackover/Githib if I am not wrong.
Any one successful in using tflite_flutter package with good accuracy for Posenet? The ml5.js version has much better accuracy.
Thank you.

I'm facing the same issue with the tensor shapes.
Why would you stop using labels ? Without labels, how can the model give you results ?
(maybe I didn't understand the role of labels, I just started using tensorflow)

I managed to fix this error in my case so I comment here for anyone else in trouble.
Cannot copy between a TensorFlowLite tensor with shape [1, 1001] and a Java object with shape [1, 3].
it was due to a wrong label files. The label files should look something like this https://github.com/shaqian/flutter_tflite/blob/master/example/assets/mobilenet_v1_1.0_224.txt

I'm facing the same issue with the tensor shapes.
Why would you stop using labels ? Without labels, how can the model give you results ?
(maybe I didn't understand the role of labels, I just started using tensorflow)

I managed to fix this error in my case so I comment here for anyone else in trouble.
Cannot copy between a TensorFlowLite tensor with shape [1, 1001] and a Java object with shape [1, 3].
it was due to a wrong label files. The label files should look something like this https://github.com/shaqian/flutter_tflite/blob/master/example/assets/mobilenet_v1_1.0_224.txt

Yeah I found that fix but unfortunately it's not the solution to this issue because the TensorFlowLite tensor with shape [1, 96, 96, 14] has a length of 4 and the Java object (the second number represents the length of the label files so 3 in this case) with shape [1, 3] is only length 2. I'm not sure what else needs to change to get the Java object to be a 4 length array.


Setup your JupyterHub

Description:
rubric={correctness:20}

[x] 2.1) Under description, check for "IPv4 Public IP" and paste the IP address in your browser for your JupyterHub.

[x] 2.2) Enter your "IAM user account" and use a strong password & note it down somewhere, as what you enter here will be the admin password.

[x] 2.3) In your JupyterHub, go to "Control Panel" --> "admin." Here add other members of your group use their "IAM user account" and make them admins.

[x] 2.4) Check if other members can log in to the JupyterHub from their machines by giving them the URL to connect. Step 2.2 is applicable here for other members.

Please attach this screen shots from your group for grading
I want to see all the group members here in this screenshot https://github.ubc.ca/MDS-2020-21/DSCI_525_web-cloud-comp_students/blob/master/images/2_result.png

Screenshot:


Tf lite model fails to provide inference - Output tensor at index 0 is expected to have 3 dimensions, found 2

1. System information

OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Colab
TensorFlow installation (pip package or built from source): 2.6.0
TensorFlow library (version, if pip package or github SHA, if built from source):  all other libraries cloned from https://github.com/tensorflow/examples/tensorflow_examples/lite/model_maker/pip_package

2. Code
Trained a model using tf lite model maker. Attaching the colab with output but without input dataset below:
https://colab.research.google.com/drive/1RVa019JFQmODFQNPrfmpOTaSi_GMwtlE?usp=sharing
Convert to tflite using model maker's model.export()
3. Failure after conversion
Evaluates successfully with model maker's model.evaluate_tflite
But fails to run inference on colab as well as with tf object detection android demo app https://github.com/tensorflow/examples/tree/master/lite/examples/object_detection/android
Python inference on colab:
#@title Load the trained TFLite model and define some visualization functions

import cv2

from PIL import Image

model_path = 'model.tflite'

# Load the labels into a list
classes = ['???'] * model.model_spec.config.num_classes
label_map = model.model_spec.config.label_map
for label_id, label_name in label_map.as_dict().items():
  classes[label_id-1] = label_name

# Define a list of colors for visualization
COLORS = np.random.randint(0, 255, size=(len(classes), 3), dtype=np.uint8)

def preprocess_image(image_path, input_size):
  """Preprocess the input image to feed to the TFLite model"""
  img = tf.io.read_file(image_path)
  img = tf.io.decode_image(img, channels=3)
  img = tf.image.convert_image_dtype(img, tf.uint8)
  original_image = img
  resized_img = tf.image.resize(img, input_size)
  resized_img = resized_img[tf.newaxis, :]
  return resized_img, original_image

def set_input_tensor(interpreter, image):
  """Set the input tensor."""
  tensor_index = interpreter.get_input_details()[0]['index']
  input_tensor = interpreter.tensor(tensor_index)()[0]
  input_tensor[:, :] = image

def get_output_tensor(interpreter, index):
  """Retur the output tensor at the given index."""
  output_details = interpreter.get_output_details()[index]
  tensor = np.squeeze(interpreter.get_tensor(output_details['index']))
  return tensor

def detect_objects(interpreter, image, threshold):
  """Returns a list of detection results, each a dictionary of object info."""
  # Feed the input image to the model
  set_input_tensor(interpreter, image)
  interpreter.invoke()

  # Get all outputs from the model
  boxes = get_output_tensor(interpreter, 0)
  classes = get_output_tensor(interpreter, 1)
  scores = get_output_tensor(interpreter, 2)
  count = int(get_output_tensor(interpreter, 3))

  results = []
  for i in range(count):
    if scores[i] >= threshold:
      result = {
        'bounding_box': boxes[i],
        'class_id': classes[i],
        'score': scores[i]
      }
      results.append(result)
  return results

def run_odt_and_draw_results(image_path, interpreter, threshold=0.5):
  """Run object detection on the input image and draw the detection results"""
  # Load the input shape required by the model
  _, input_height, input_width, _ = interpreter.get_input_details()[0]['shape']

  # Load the input image and preprocess it
  preprocessed_image, original_image = preprocess_image(
      image_path,
      (input_height, input_width)
    )

  # Run object detection on the input image
  results = detect_objects(interpreter, preprocessed_image, threshold=threshold)

  # Plot the detection results on the input image
  original_image_np = original_image.numpy().astype(np.uint8)
  for obj in results:
    # Convert the object bounding box from relative coordinates to absolute
    # coordinates based on the original image resolution
    ymin, xmin, ymax, xmax = obj['bounding_box']
    xmin = int(xmin * original_image_np.shape[1])
    xmax = int(xmax * original_image_np.shape[1])
    ymin = int(ymin * original_image_np.shape[0])
    ymax = int(ymax * original_image_np.shape[0])

    # Find the class index of the current object
    class_id = int(obj['class_id'])

    # Draw the bounding box and label on the image
    color = [int(c) for c in COLORS[class_id]]
    cv2.rectangle(original_image_np, (xmin, ymin), (xmax, ymax), color, 2)
    # Make adjustments to make the label visible for all objects
    y = ymin - 15 if ymin - 15 > 15 else ymin + 15
    label = "{}: {:.0f}%".format(classes[class_id], obj['score'] * 100)
    cv2.putText(original_image_np, label, (xmin, y),
        cv2.FONT_HERSHEY_SIMPLEX, 0.5, color, 2)

  # Return the final image
  original_uint8 = original_image_np.astype(np.uint8)
  return original_uint8

#@title Run object detection and show the detection results

INPUT_IMAGE_URL = "https://storage.googleapis.com/cloud-ml-data/img/openimage/3/2520/3916261642_0a504acd60_o.jpg" #@param {type:"string"}
DETECTION_THRESHOLD = 0.3 #@param {type:"number"}

TEMP_FILE = '/tmp/image.png'

!wget -q -O $TEMP_FILE $INPUT_IMAGE_URL
im = Image.open(TEMP_FILE)
im.thumbnail((512, 512), Image.ANTIALIAS)
im.save(TEMP_FILE, 'PNG')

# Load the TFLite model
interpreter = tf.lite.Interpreter(model_path=model_path)
interpreter.allocate_tensors()

# Run inference and draw detection result on the local copy of the original file
detection_result_image = run_odt_and_draw_results(
    TEMP_FILE,
    interpreter,
    threshold=DETECTION_THRESHOLD
)

# Show the detection result
Image.fromarray(detection_result_image)

Error:

TypeError                                 Traceback (most recent call last)
 in ()
19     TEMP_FILE,
20     interpreter,
---> 21     threshold=DETECTION_THRESHOLD
22 )
23
1 frames
 in run_odt_and_draw_results(image_path, interpreter, threshold)
77
78   # Run object detection on the input image
---> 79   results = detect_objects(interpreter, preprocessed_image, threshold=threshold)
80
81   # Plot the detection results on the input image
 in detect_objects(interpreter, image, threshold)
51   classes = get_output_tensor(interpreter, 1)
52   scores = get_output_tensor(interpreter, 2)
---> 53   count = int(get_output_tensor(interpreter, 3))
54
55   results = []
TypeError: only size-1 arrays can be converted to Python scalars

Android studio fatal exception:

E/AndroidRuntime: FATAL EXCEPTION: main
Process: org.tensorflow.lite.examples.detection, PID: 27414
java.lang.AssertionError: Error occurred when initializing ObjectDetector: Output tensor at index 0 is expected to have 3 dimensions, found 2.
at org.tensorflow.lite.task.vision.detector.ObjectDetector.initJniWithByteBuffer(Native Method)
at org.tensorflow.lite.task.vision.detector.ObjectDetector.access$100(ObjectDetector.java:86)
at org.tensorflow.lite.task.vision.detector.ObjectDetector$3.createHandle(ObjectDetector.java:211)
at org.tensorflow.lite.task.core.TaskJniUtils.createHandleFromLibrary(TaskJniUtils.java:91)
at org.tensorflow.lite.task.vision.detector.ObjectDetector.createFromBufferAndOptions(ObjectDetector.java:207)
at org.tensorflow.lite.examples.detection.tflite.TFLiteObjectDetectionAPIModel.(TFLiteObjectDetectionAPIModel.java:87)
at org.tensorflow.lite.examples.detection.tflite.TFLiteObjectDetectionAPIModel.create(TFLiteObjectDetectionAPIModel.java:81)
at org.tensorflow.lite.examples.detection.DetectorActivity.onPreviewSizeChosen(DetectorActivity.java:99)
at org.tensorflow.lite.examples.detection.CameraActivity$7.onPreviewSizeChosen(CameraActivity.java:446)
at org.tensorflow.lite.examples.detection.CameraConnectionFragment.setUpCameraOutputs(CameraConnectionFragment.java:357)
at org.tensorflow.lite.examples.detection.CameraConnectionFragment.openCamera(CameraConnectionFragment.java:362)
at org.tensorflow.lite.examples.detection.CameraConnectionFragment.access$300(CameraConnectionFragment.java:66)
at org.tensorflow.lite.examples.detection.CameraConnectionFragment$3.onSurfaceTextureAvailable(CameraConnectionFragment.java:171)
at android.view.TextureView.getTextureLayer(TextureView.java:415)
at android.view.TextureView.draw(TextureView.java:360)
at android.view.View.updateDisplayListIfDirty(View.java:21389)
at android.view.View.draw(View.java:22254)
at android.view.ViewGroup.drawChild(ViewGroup.java:4541)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4302)
at android.view.View.updateDisplayListIfDirty(View.java:21380)
at android.view.View.draw(View.java:22254)
at android.view.ViewGroup.drawChild(ViewGroup.java:4541)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4302)
at android.view.View.updateDisplayListIfDirty(View.java:21380)
at android.view.View.draw(View.java:22254)
at android.view.ViewGroup.drawChild(ViewGroup.java:4541)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4302)
at android.view.View.draw(View.java:22538)
at android.view.View.updateDisplayListIfDirty(View.java:21389)
at android.view.View.draw(View.java:22254)
at android.view.ViewGroup.drawChild(ViewGroup.java:4541)
at androidx.coordinatorlayout.widget.CoordinatorLayout.drawChild(CoordinatorLayout.java:1246)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4302)
at android.view.View.draw(View.java:22538)
at android.view.View.updateDisplayListIfDirty(View.java:21389)
at android.view.View.draw(View.java:22254)
at android.view.ViewGroup.drawChild(ViewGroup.java:4541)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4302)
at android.view.View.updateDisplayListIfDirty(View.java:21380)
at android.view.View.draw(View.java:22254)
at android.view.ViewGroup.drawChild(ViewGroup.java:4541)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4302)
at android.view.View.updateDisplayListIfDirty(View.java:21380)
at android.view.View.draw(View.java:22254)
at android.view.ViewGroup.drawChild(ViewGroup.java:4541)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4302)
at android.view.View.updateDisplayListIfDirty(View.java:21380)
at android.view.View.draw(View.java:22254)
at android.view.ViewGroup.drawChild(ViewGroup.java:4541)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4302)
at android.view.View.updateDisplayListIfDirty(View.java:21380)
at android.view.View.draw(View.java:22254)
at android.view.ViewGroup.drawChild(ViewGroup.java:4541)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4302)
E/AndroidRuntime:     at android.view.View.draw(View.java:22538)
at com.android.internal.policy.DecorView.draw(DecorView.java:848)
at android.view.View.updateDisplayListIfDirty(View.java:21389)
at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:559)
at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:565)
at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:647)
at android.view.ViewRootImpl.draw(ViewRootImpl.java:4417)
at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:4144)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:3391)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:2182)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:8730)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1352)
at android.view.Choreographer.doCallbacks(Choreographer.java:1149)
at android.view.Choreographer.doFrame(Choreographer.java:1049)
at android.view.Choreographer$FrameHandler.handleMessage(Choreographer.java:1275)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:233)
at android.app.ActivityThread.main(ActivityThread.java:8010)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:631)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:978)

This is a new issue that has cropped up since tf version upgrade to 2.6.0 and model maker to 0.3.3
I have older models trained the same way that work perfectly fine on both colab and with the demo app.
Is there something else that needs to be added while exporting the tflite model or is there some version conflict that is causing this.  Does anybody have any clue about this error?

@ziyeqinghan could you take a look?

Hi @craditya @ziyeqinghan , I was getting error in this line
model = object_detector.create(train_data, model_spec=spec, batch_size=4, epochs = 30, train_whole_model=True, validation_data=validation_data)
in TF 2.5 , 2..6 , 2.7.

Hi @mohantym, if you followed my colab, you need to upload some data as train_data, test_data and validation_data.
Or you could use the default example data provided in the example code, which can be loaded by:
train_data, validation_data, test_data = object_detector.DataLoader.from_csv('gs://cloud-ml-data/img/openimage/csv/salads_ml_use.csv')
After this try running
model = object_detector.create(train_data, model_spec=spec, batch_size=4, epochs = 30, train_whole_model=True, validation_data=validation_data)

I have the same error trying to infer on Android. Also opened a question on stackoverflow: https://stackoverflow.com/questions/68908871/output-tensor-size-mismatch-with-ssd-fpn-models-on-mobile

so that means this issue is not just limited to tflite model maker library, but more so because of tf lite converter
@abattery @mohantym

Hi @ymodak  ,Could you please look into this issue!

I'm Having the same issue. I hope they can figure it out ASAP :)

From eyeballing the data, it looks rather like the order of the output tensors has changed.
I can make the thing run to completion by swapping around the indices in middle section of detect_objects as follows:
  # Get all outputs from the model
  boxes = get_output_tensor(interpreter, 1)
  classes = get_output_tensor(interpreter, 3)
  scores = get_output_tensor(interpreter, 0)
  count = int(get_output_tensor(interpreter, 2))

That said, I'm getting utterly useless detection results out of this, and I haven't yet figured out why, so there may be additional underlying problems.

I'm Having the same issue. I hope they can figure it out ASAP :)

So i have used model maker 0.32 and tensorflow 2.5.0 and my model is now working fine

@jawj I would try the same and provide an update. Thanks for figuring out a resolution.

I'm Having the same issue. I hope they can figure it out ASAP :)

So i have used model maker 0.32 and tensorflow 2.5.0 and my model is now working fine

@hallowcard13 Yes, I had mentioned above that I have been facing this issue with the new version and not with the old ones, for both model maker and tf.

By adding some print statements in detect_objects and eyeballing the data, it looks rather like the order of the output tensors has changed.
I can make the thing run to completion by swapping around the indices in the middle section of detect_objects as follows:
  # Get all outputs from the model
  boxes = get_output_tensor(interpreter, 1)
  classes = get_output_tensor(interpreter, 3)
  scores = get_output_tensor(interpreter, 0)
  count = int(get_output_tensor(interpreter, 2))

~That said, I'm getting utterly useless detection results out of this from my own model, and I haven't yet figured out why, so there may be deeper problems.~
EDIT: The useless detection results I was getting turned out to be down to a silly mistake elsewhere. So this fix seems to be working well for me.
I tried your solution and it is working with me. but, I get very bad result detection. can you tell me what you do to fix it

how to change the build varient to interpreter?

I had a same error ,then I change  the  TensorFlow  version to 2.5.0  .
In a few minutes, Android was running perfectly
good luck

By adding some print statements in detect_objects and eyeballing the data, it looks rather like the order of the output tensors has changed.
I can make the thing run to completion by swapping around the indices in the middle section of detect_objects as follows:
  # Get all outputs from the model
  boxes = get_output_tensor(interpreter, 1)
  classes = get_output_tensor(interpreter, 3)
  scores = get_output_tensor(interpreter, 0)
  count = int(get_output_tensor(interpreter, 2))

~That said, I'm getting utterly useless detection results out of this from my own model, and I haven't yet figured out why, so there may be deeper problems.~
EDIT: The useless detection results I was getting turned out to be down to a silly mistake elsewhere. So this fix seems to be working well for me.

This saved my thesis! <3

I was able to run the code sample provided in object detection example. The inference seems to be fine with tflite model maker 0.4.2 and TF 2.8.0. Please find the gist here. Thanks.

How would you fix this in swift?

Hi,
Thank you for opening this issue. Since this issue has been open for a long time, the code/debug information for this issue may not be relevant with the current state of the code base.
The TFLite team is constantly improving the framework by fixing bugs and adding new features. We suggest you try the latest TensorFlow version with the latest compatible hardware configuration which could potentially resolve the issue. If you are still facing the issue, please create a new GitHub issue with your latest findings, with all the debugging information which could help us investigate.
Please follow the release notes to stay up to date with the latest developments which are happening in the TFLite space.


Iterate over ivar's annotations/annotation keys

Currently an ivar's annotation can only be accessed manually, one by one, where the name has to be known.  Being able get an array of annotations on an ivar would dramatically simplify this.
On a similar note the only way to get a value from an annotation is knowing the name of the key.  Having a method to return an array of keys on the annotation would further simply things.
Could look something like:
{% for ivar in @type.instance_vars %}
  {% for annotation in ivar.annotations %}
    {{annotation.keys.map { |k| annotation[k] }.join(',').id}}
  {% end %}
{% end %}

Based on https://github.com/crystal-lang/crystal/issues/6980#issuecomment-432220673

Whats your usecase?

@bew I would be using this for https://github.com/Blacksmoke16/CrSerializer.
I'm working on changing the syntax to like:
@[Serialize::Assertions::NotBlank(message: "Password should not be blank")]
@[Serialize::Assertions::Size(range: 0..50, min_message: "Password is too short", max_message: "Password is too long")]
property password : String

Currently i'm having to define a hash that contains the annotation name and fields. like:
TYPES = {
    NotBlank => [] of Symbol,
    Size => [:range, :min_message, :max_message]
  }

{% for ivar in @type.instance_vars %}
  {% for t, v in TYPES %}
    {% ann = ivar.annotation(t.resolve) %}
      {{t.id}}Assertion.new({{v.map { |f| ann[f]}.join(',').id}}) # new up assertion class
  {% end %}
{% end %}

That won't work because you are assuming the only annotations an ivar will have are the ones you are interested in.

Would have to have some logic to make sure the current annotation is of a given name or something yea.  I don't think there is a name property on an annotation, so yea, that wouldn't be doable atm.

@Blacksmoke16 why not the other way around: iterate the list of annotations you're interested in? Surely it'd have approximately the same code length.

@Blacksmoke16 By the time you add in the required {% if TYPES.includes? annotation %} to your ideal solution they're about the same complexity and code.


Added no unused rule to lint

By default unused variables are off. This means that we don't get proper intellisense when developing and we run the risk of compiling with unused variables intact.
This is actually a fix(read workaround) for the issue of unused variables having lower opacity that affects our hats/decorations. Disabling the vscode setting for "unused" and relying on the language server/linter gives us the same information without affecting the hats.

Mind adding an issue description? Not exactly sure what this PR is supposed to accomplish. Ie is the rule off by default? Error by default?

sure

I agree with that we should clean up all warnings
_ is just at python thing

For what it's worth, this rule can be configured to ignore variables with the underscore prefix! See here.
(Hi! Just fired up talon for the first time in while and I'm lurking the repo...)

For what it's worth, this rule can be configured to ignore variables with the underscore prefix! See here.
(Hi! Just fired up talon for the first time in while and I'm lurking the repo...)

🙌 he's back!! 😊
Nice find.  @AndreasArvidsson wdyt?

Sounds like a good solution

@brxck Thanks for the heads up about the ignore pattern
@pokey No more warnings. Since I'm literally touching half of the files in the repository please merge this as quick as possible to avoid future merge conflicts :D

I think we're good to go, except one last thing: is this check actually enforced in CI?  If not, then this effort is all a bit of a waste of time, I think

I don't know the ci as you do. I think it should be enforced but if not it really helps my own work flow at least.

Ok no worries I'll set that up in a separate PR

Sounds good to me

https://github.com/cursorless-dev/cursorless-vscode/issues/558


Discussion of clamping at the beginning of functions should be in a note

It is redundant with the algorithm text, so it is non-normative.

OK - so I should put the clamping comment (and the fillString comment) below where I currently have the length note?

You could put the note at the top or the bottom as far as I'm concerned, it should just be in a note.


Hidden 'dealer' field in Table model

From unidentified reason, 'dealer' field disappear from Table model.
But only after call (try it again) table.dealer()
Try turn off that function and try again. Field disappeard now?

Methods in model.py can't be called like fields


[e2e]: container workflow_dispatch main workflow_inputs slsa3

Repo: https://github.com/slsa-framework/example-package/tree/main
Run: https://github.com/slsa-framework/example-package/actions/runs/11063837952
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.container.workflow_dispatch.main.workflow_inputs.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.container.workflow_dispatch.main.workflow_inputs.slsa3.yml
Trigger: workflow_dispatch
Branch: main
Date: Fri Sep 27 03:10:10 UTC 2024

Repo: https://github.com/slsa-framework/example-package/tree/main
Run: https://github.com/slsa-framework/example-package/actions/runs/11080581994
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.container.workflow_dispatch.main.workflow_inputs.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.container.workflow_dispatch.main.workflow_inputs.slsa3.yml
Trigger: workflow_dispatch
Branch: main
Date: Sat Sep 28 03:13:15 UTC 2024
Tests are passing now. Closing this issue.


Sandpack-react does not reacting vanilla js changes when layout mode is console

Bug report
Packages affected

[ ] sandpack-client
[x] sandpack-react

Description of the problem
Hi,
Sandpack react is not responding to code changes in console mode. I don't know it is intentional or not but it doesn't seem it is normal.
What were you doing when the problem occurred?
What steps can we take to reproduce the problem?

Add a sandpack-react to a project
Set layout mode to "console"

Link to sandbox: link (optional)
Your Environment

Software
Name/Version

Sandpack-client version

Sandpack-react version
2.2.4

Browser
Chrome

Operating System
Ventura

So fast! :) Thanks a lot 🙏


Granular datum reprocessing

What is the goal / desired outcome?
If I've accidentally updated one of my pipelines to contain a bad version of
the code that processes datums and returns a 0 exit code, but doesn't produce
the right result I'd like to be able to reprocess just the datums that were
processed with that version.
If there is a way to accomplish this today via workaround, what does that require?
The only ways to solve this are to reprocess everything or to artificial modify
the processed datums so they get rerun.
(Optional) What is your proposal for a feature to solve this?
The first thing that has to change is the way we deduplicate datum
processing. Presently we store information about which datums were already
processed in the parent commit AND in object storage using a hash computed
from the pipeline and the hash of the data. I think that we should do away
with this second method and only use the first. This will mean that datums
only get skipped if they were processed in the parent job, which means
there are now a number of ways to reprocess a datum:

delete the commits that contain datum and recommit them
create a new commit that deletes the datums you want to reprocess, then
recommit (probably with copy-file)
delete the output commit (not yet supported, but could be added as part
of this, I think it's pretty easy) which should retrigger the job at
head and reprocess the datums that were processed in the deleted
commits.
delete the latest version (or versions) of the pipeline. (also not yet
supported, but I think very easy to add, it just comes down to deleting
the spec commit for that version of the pipeline). Then update the
pipeline to reprocess all the things that were processed by the deleted
version(s).

Downsides to this approach:
We'll be losing some deduplication functionality by implementing this.
(The above cases would have resulted in a datum being deduplicated.)
However, I think this is desirable, all the cases above are fairly rare,
and I can't really think of a reason to do them other than wanting the
datums to be reprocessed (or not processed at all). So I think for most
users not deduplicating will be less confusing and if you don't want to
pay the costs of reprocessing I think you can just avoid doing these
operations.
 The
answer here is that they're parented if the child uses the parent's datums
for dedupe purposes, in fact the parentage is the reason they're deduped.
This means that when you do update pipeline --reprocess the parentage
chain should get broken, update pipeline without --reprocess the
parentage chain should remain in tact.
Migration
Probably the hardest part of this is going to be migration. For one it's
going to involve a change in the format of hashtrees, so they'll probably
have to be recomputed. But, if done in the naive way it's also going to
require reprocessing everything. We'll probably wind up writing some sort
of compatibility hack that uses the partial datum trees one last time to
create the first output commit for each pipeline and merge the hashtree
into the right state.

Am I understanding correctly that, for the specific use-case of wanting to reprocess one specific datum, all those methods will require an extra commit (that deletes the relevant file(s)), and therefore an extra (no-op) job?

That's correct, which does seem a bit clunky in terms of needing to run the no-op job, but I think the interface is fairly intuitive, in that I've seen people try to do exactly this to reprocess a datum. I'm not sure what a better interface would look like right now.

Yea, no-op job certainly isn't the end of the world, just wanted to make sure i was understanding the implications. Ideally, i think something like an invalidate-datum command, that could be issued multiple times within the context of a single transaction, would be the most intuitive. I'd imagine this would do something like incrementing a salt used to compute the datum's hash, or, in the context of the new stuff @brycemcanally is working on, could possibly just directly create a new diff set that gets assigned to a job? I don't understand the details of that stuff well enough to know whether this sort of an implementation makes any sense, so fully I understand such a thing may be challenging to implement.

For performance reasons, I agree that skipping should only be based on what we find in the parent commit. I think with diff file sets we will have to re-think what re-processing looks like because we are not computing all of the datum hashes from scratch with that model. A simple solution would be to just not use the diff file set when we need to re-process. As far as re-processing individual datums is concerned, I think that logic should wrap a diff file set rather than be a part of the diff file set.

@brycemcanally sorry, my ignorance of the storage layer is showing through here, but I don't really follow your comment:

What is the implication of "skipping only being based on what we find in the parent commit"?
What do you mean by the reprocessing "logic wrapping a diff file set rather than being a part of the diff file set"?

What is the implication of "skipping only being based on what we find in the parent commit"?

That statement is not very precise, but what I mean is that we should skip based on information associated with the parent output commit, not some global notion of datums that have been processed whenever and wherever. The current model has a set of datums associated with an output commit (stored as an object) to indicate the datums processed in the associated job. We use this as a fast path for skipping when we can. In the new model, we will have a file set (in similar form as stats is now #3703) associated with the parent output commit that will be checked to determine which datums to skip. We will first determine the datums we need to check from the input diff file set, then compute their hashes and compare them to what we have stored in the parent output commit's datum file set (refer to #3703).

What do you mean by the reprocessing "logic wrapping a diff file set rather than being a part of the diff file set"?

I am mainly addressing this comment

could possibly just directly create a new diff set that gets assigned to a job?

with that statement. I interpreted that as meaning we would have re-processing information (new salt or whatever) stored in the diff file set. The diff file sets, in my opinion, should just have pfs information, but still be useable by pps.


Minor UI spacing fixes

Evened out the spacing across a couple of screens to match their styling with other screens.

Echoing @jainkuniya but I'll put it more firmly :smile: -- please definitely post screenshots for this change, both before and after. When changing the UI, it's impossible to review properly without seeing what the affected UI looks like.
Looking at those screens in the current app, I'm not convinced adding space here would be an improvement. The version in the diagnostics screen looks OK to me; maybe a tiny bit more space would be good, but I think these dividers add a lot. And the debug screen looks totally fine to me in this respect.
Note one key difference between the debug screen and the main settings screen: the main settings screen is missing the app bar. In other apps, it's not normal to have extra space between the app bar and the first item under it, at least in settings screens and the like.
Adding the app bar to the main settings screen would probably be a good idea, now that I notice that.

@gnprice and @jainkuniya Apologies! I have always included before and after screenshots in all my previous UI related PRs. I skipped this one because I thought that adding 4 screenshots would make the PR look messy. Besides, only a single line of spacing was added, so I thought better than to include some screenshots. I guess I thought too much. 😅
Lesson learnt. 👍
I have now added before and after screenshots for both of my commits.
Now, coming to my first commit, I think that the RawLabel is hugging the NavBar too much, and some spacing at the top would look better, in my opinion. So, I have evened out the spacing on the top and the bottom of the RawLabel to make it look more centered.
My second commit adds some spacing to the top of the DebugScreen. I have done this so as to match the styling of the NotificationsScreen, which has almost identical styling, bar the spacing at the top.
Finally, coming to the Settings screen, I thought that an app bar/heading was being implemented in #1973 , but now I see that it has been closed. I'll take this up in some time. 👍

After rework on setting page (https://github.com/zulip/zulip-mobile/commit/f8f0d2ee6c2764b3626f783f0d184cf3b4c2fea8 & https://github.com/zulip/zulip-mobile/commit/95676a3d4d56c37799fb51a19b75a4a0204458d2) This PR doesn't look relevant.
Do one thing just add some marginTop & marginBottom to version label. (Current one looks quite congested)

This has been fixed in 97ad2c and can be closed as no longer required.


[BUG] ... "Clear" transaction column has "$..." instead of "c"

Describe the bug
In the Budget Account Transaction screen, the column to the far right is supposed to have a "c" with a circle around it to mark when a transaction is cleared by the bank.  However, I see the following string "$..." there instead of the "c" with a circle.   If I click on the string it goes away and is replaced by the "c" with a circle.   I useToolkit and have proven that the problem is caused by Toolkit
To Reproduce
Unknown - screen shots demonstrate the problem.
Expected behavior
See description
Screenshots
First screen shot shows the problem with the "$..." instead of the "c" with a circle.  Toolkit is activated

Second screenshot shows the same screen but in an Incognito window, turning off Toolkit and showing properly the "c" with a circle in those fouir transactions

Desktop (please complete the following information):

OS: [Windows 10, latest version]
Browser [Chrome, Firefox, Edge]
Toolkit Version [e.g. 2.35.1]

Setting Export
Please replace the text 'REPLACE_ME_WITH_SETTINGS' below with your exported Toolkit settings. You can export these by going to the Toolkit Options page, click the Import/Export Settings button at the top right and copying the text in the modal which appears.
Note! DO NOT replace the leading and trailing ``` characters as they are required formatting characters.
REPLACE_ME_WITH_SETTINGS

When will someone fix this problem.   It's very irritating and disfuncional to lost the "Cleared" column.  Any reason you have not taken this on?

To quote @joshmadewell , Can you please add your settings export to this ticket? It helps a lot when debugging.


Converted about.html and rules.json to Markdown

Converted about.html and rules.json to Markdown format and removed old format files

These look good, what do we reckon about automating deployment of this stuff? There's no API endpoint (that I could find documented anywhere) for POSTing them, we could presumably jury-rig something in a GH workflow using Selenium or something to enter them into the form, but that seems like the sort of stupid thing I'd build for a weekend project. Paging @Floppy for opinions

First thought.... https://xkcd.com/1205/ :-)
Assuming these are going to get updated 2-3 times a year, other than the challenge of doing it, is there much to gain from automating; especially as there'll probably be a bunch of discussion about updates before they're uploaded?

We could periodically run a continuous-compliance GH action which checks that what's on mastodon.me.uk matches what we have in this repo (presuming we consider this repo to be the Source Of Truth), to protect against drift


Added Tenzies Games

It's Roll dice game Where all Dice should be same, Click each die to freeze it at its current value between rolls.

First thing, PLEASE READ THIS: ReactPlay Code Review Checklist

Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes #840
Type of change
Please delete options that are not relevant.

[x] New feature (non-breaking change which adds functionality)

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce.
Checklist:

[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged and published in downstream modules

Screenshots or example output

@atapas sir, I have updated readme and style file as you say above, please check and let me know if it's good or need to change anything.
Thank you :)

@atapas sir, I have updated readme and style file as you say above, please check and let me know if it's good or need to change anything.
Thank you :)

Changes are looking good to me. I shall do a final test and merge it.

It works well

Thanks a lot sir for approving my PR, Looking forward to contribute more in reactplay. I love it....


Dashboard

Description
Fixes # (issue)
Type of change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Change Status

[ ] Complete, tested, ready to review and merge
[ ] Complete, but not tested (may need new tests)
[ ] Incomplete/work-in-progress, PR is for discussion/feedback

How Has This Been Tested?

[ ] Test A
[ ] Test B

Checklist

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] My code has been reviewed by at least one peer
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] There are no merge conflicts

Everything looks great. Just document the pull request at the top and I will merge it. Great job.

Dashboard components built out - styling and hooking into backend still needed


I can´t use it

Well, today i started OMORI to play a mod like usual. But this happened. i was playing yesterday. But today this happened, Also, the game don't work

exact same problem

Hi! Did you have this problem for now? I know how to fix this, but I can’t explain in the text


Consider form design in the context of one of the applications Saeid is redesigning

Examine complex forms and forms with lots of validation & hints

We are not doing this work.
Instead, @SoftwareChicago will be working with his team on the SnowDriver application.


fix(aws-ecs): allow linux paramters to be settable

Fixes #2380

Pull Request Checklist

[x] Testing

Unit test added (prefer not to modify an existing test, otherwise, it's probably a breaking change)
CLI change?: coordinate update of integration tests with team
cdk-init template change?: coordinated update of integration tests with team

[x] Docs

jsdocs: All public APIs documented
README: README and/or documentation topic updated
Design: For significant features, design document added to design folder

[ ] Title and Description

Change type: title prefixed with fix, feat and module name in parens, which will appear in changelog
Title: use lower-case and doesn't end with a period
Breaking?: last paragraph: "BREAKING CHANGE: <describe what changed + link for details>"
Issues: Indicate issues fixed via: "Fixes #xxx" or "Closes #xxx"

[ ] Sensitive Modules (requires 2 PR approvers)

IAM Policy Document (in @aws-cdk/aws-iam)
EC2 Security Groups and ACLs (in @aws-cdk/aws-ec2)
Grant APIs (only if not based on official documentation with a reference)

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license.

Note: Running npm run build spits out a lot of warnings about breaking API changes, though they seemed to be for unrelated resources?


feat: add form for event

Related Issue

Information about the related issue

Closes: #526
Describe the changes you've made

Type of change
What sort of change have you made:

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Code style update (formatting, local variables)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation update.
[ ] This change requires a documentation update

How Has This Been Tested?

Checklist

[x] My code follows the guidelines of this project.
[x] I have performed a self-review of my own code.
[x] I have commented on my code, particularly wherever it was hard to understand.
[ ] I have made corresponding changes to the documentation.
[x] My changes generate no new warnings.
[ ] I have added tests that prove my fix is effective or that my feature works.
[ ] Any dependent changes have been merged and published in downstream modules.

Screenshots (if applicable)

Original
Updated

original screenshot
updated screenshot

Code of Conduct

[x] I agree to follow this project's Code of Conduct

@suzy-g38 thanks for the contribution and looking forward to see more!


Metrics defintion UI: prototype redux for state management

We're shifting over our state management model for the metrics explorer to a more traditional client-server relationship. This is primarily a frontend task. If we can get the right relationship in this area, we should generalize it to the rest of Rill Developer over time.

take the state model in /dev/leaderboard or /dev/explore and refactor it using redux-toolkit.
clean up the state model structure itself, if possible.

@AdityaHegde @bcolloran I think this is what the metrics-explore PR was about. Can you confirm, and if so could you please add closes #311 to the PR to link it?

@AdityaHegde @bcolloran, gentle reminder this needs your comment.

We are indeed using Redux to manage state for some/much of the work in the metrics-explore branch. I would consider the work we are doing in that branch a prototype of patterns for using redux in the app, so I've updated the title of this issue to reflect that scope.
I would say that almost all of the app state needed for the Metrics Definition UI is now in redux. I'll let @AdityaHegde comment on the status for the Explorer view, as I have not touched that part of the code.

The metrics-explore PR has too may tickets. I am closing them as when i commit into it. We can do the same with this.


Interface for applying typed holes

It would be nice to parse the typed holes from the error, and provide a command which let's us interactively replace them.

No need to parse, the JSON format contains structured information.

Oh great! I was under the impression that it wasn't available yet. Neato.

Might be an idea to add this to https://github.com/purescript/purescript/blob/master/psc-ide/PROTOCOL.md#rebuild - I think psc-ide smuggles in extra information so this wouldn't be available from a regular purs compile build (verified I see a pursIde.{completions, name} coming through

Implemented in 043981985aec8f5a2eef29986903bd027e1c8ce9 (with support from client-side extension)


Release v1.0.0

Resolves #209
Resolves #185
Resolves #207
Resolves #163
Resolves #203
Resolves #153
Resolves #179
Resolves #137
Resolves #147
Resolves #80
Resolves #92
Resolves #208
Resolves #184
Resolves #165

Wooo! thanks a ton for this, works flawlessly. Im really curious why things seemed to implode over the last couple weeks for a ton of people? was it do to changes from the supabase team on their end?

The supabase libraries (mainly gotruejs) have evolved in a way that was not fiting our use in the module. A rewrite was needed !


integration test dynamic table truncation with prisma

integration test should dynamically truncate all tables
another one i cherry picked from my branch

This working nicely


[hw][motherboard] ROG B550-i Gaming Setup

BIOS CLEAR

front-panel USB ports are the root cause of bluescreens which I encountered
My PC has been working flawlessly for a long time.
But bluescreens occur frequently now.
After a few days, I finally found the root cause: front-panel USB.
I suspect that the USB cable or USB port ESD chip is damaged, But I don't have spare time for the checking.
For now, I just rear USB port with a USB HUB attached. Stay away from electrostatic！！！


Minor correction regarding the use of RECONFIGURE

In this section: https://learn.microsoft.com/en-us/sql/database-engine/configure-windows/server-configuration-options-sql-server?view=sql-server-ver16#categories-of-configuration-options
the following text
"After performing the above actions and restarting the instance of SQL Server."
should be changed to
"Restarting the instance of SQL Server."
In my tests, if I run for example "exec sp_configure 'remote access', 0" without running RECONFIGURE, then restart the server, the "remote access" value_is_use column is still updated to 0
I also tested this using the example in https://learn.microsoft.com/en-us/sql/t-sql/language-elements/reconfigure-transact-sql?view=sql-server-ver16 , and it still behaves the same way for options that require RECONFIGURE WITH OVERRIDE.

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

ID: 32e9c4f8-ec32-ff5f-93a4-8f07b664db5f
Version Independent ID: 2111d777-a999-dc99-a3e5-cc7e7877c9b8
Content: Server Configuration Options (SQL Server) - SQL Server
Content Source: docs/database-engine/configure-windows/server-configuration-options-sql-server.md
Service: sql
Sub-service: configuration
GitHub Login: @rwestMSFT
Microsoft Alias: randolphwest

@SQLSteinar Thank you. If you don't mind, it would be really helpful if you make this change in a pull request, using the pencil icon on the top right of the article in question.

Done!

@SQLSteinar I'm revisiting this. The wording is correct as currently written, which you have confirmed in your assertion. In other words, before you restart, you still need RECONFIGURE.
I'm going to close this, but I will review the wording to be less ambiguous in a future update.

@SQLSteinar I'm revisiting this. The wording is correct as currently written. In other words, before you restart, you should still run RECONFIGURE.
I'm going to close this, but I will review the wording to be less ambiguous in a future update.

Hello rwestMSFT In my tests RECONFIGURE was not needed before restart. RECONFIGURE is needed for settings to take effect immedeately, without restart.

I understand what you're saying. What I and the documentation are saying is that you should run RECONFIGURE (or RECONFIGURE WITH OVERRIDE) when making a configuration change, because that's the supported way of doing so. Restarting the SQL Server instance just to make a change take effect shouldn't be a regular thing, so it doesn't make sense to encourage that.

Ah, thanks for the explanation and your time! Makes sense