JSON format documentation

Is there any place which summarizes the shape of the JSON returned by the parser? It seems something crucial to me, but it's proving very hard to find.
I'm working with pg-query-parser in TypeScript, and I would like to create type definitions for the result of the parse function to be able to work with the library safely.

@inad9300 Good question - there is no documentation per se, but there are JSON files that contain definitions, so you should be able to auto-generate things from there.
The files to look at are https://github.com/lfittl/libpg_query/blob/10-latest/srcdata/nodetypes.json and https://github.com/lfittl/libpg_query/blob/10-latest/srcdata/struct_defs.json (and others in that directory).
You can also look at https://github.com/lfittl/libpg_query/blob/10-latest/scripts/generate_json_outfuncs.rb for an example how those files are used (to generate the code that outputs the JSON from the internal structs)


fix prereleases after rename of cloudflare package directory - take 2

or if you do want to keep the code as is I'd suggest to rename packagePath to packageName for clarity

The comment at the top of that file refers to package-name so let's go with that.


[Fatal Error] Markup in flutter_embedding_debug POM is not well-formed

Steps to reproduce

Create a new Flutter project.
Run the project with flutter run.

Expected results
Should run without any error.
Actual results
When attempting to build and run the Flutter project using flutter run, the build fails with the following error message:
[Fatal Error] flutter_embedding_debug-1.0.0-a18df97ca57a249df5d8d68cd0820600223ce262.pom:2:90: The markup in the document following the root element must be well-formed.

The error seems to originate from the flutter_embedding_debug POM file.
The build process completes when running but the error is shown .
The issue persists across multiple attempts, even after ensuring dependencies in pubspec.yaml are up-to-date.
Screenshots or Video

Screenshots / Video demonstration

Logs
Logs
[Fatal Error] flutter_embedding_debug-1.0.0-a18df97ca57a249df5d8d68cd0820600223ce262.pom:2:90: The markup in the document following the root element must be well-formed.

Flutter Doctor output
Doctor output
flutter doctor -v
[√] Flutter (Channel stable, 3.24.5, on Microsoft Windows
    [Version 10.0.19045.5198], locale en-IN)
    • Flutter version 3.24.5 on channel stable at C:\flutter
    • Upstream repository
      https://github.com/flutter/flutter.git
    • Framework revision dec2ee5c1f (3 weeks ago), 2024-11-13
      11:13:06 -0800
    • Engine revision a18df97ca5
    • Dart version 3.5.4
    • DevTools version 2.37.3

[√] Windows Version (Installed version of Windows is version
    10 or higher)

Checking Android licenses is taking an unexpectedly long time.

[√] Android toolchain - develop for Android devices (Android
    SDK version 34.0.0)
    • Android SDK at
      C:\Users\abdulmajid\AppData\Local\Android\sdk
    • Platform android-34, build-tools 34.0.0
    • Java binary at: C:\Program Files\Android\Android
      Studio\jbr\bin\java
    • Java version OpenJDK Runtime Environment (build
      21.0.3+-12282718-b509.11)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program
      Files\Google\Chrome\Application\chrome.exe

[!] Visual Studio - develop Windows apps (Visual Studio
    Community 2022 17.11.5)
    • Visual Studio at C:\Program Files\Microsoft Visual
      Studio\2022\Community
    • Visual Studio Community 2022 version 17.11.35327.3
    X Visual Studio is missing necessary components. Please
      re-run the Visual Studio installer for the "Desktop
      development with C++" workload, and include these
      components:
        MSVC v142 - VS 2019 C++ x64/x86 build tools
         - If there are multiple build tool versions
         available, install the latest
        C++ CMake tools for Windows
        Windows 10 SDK

[√] Android Studio (version 2024.2)
    • Android Studio at C:\Program Files\Android\Android
      Studio
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build
      21.0.3+-12282718-b509.11)

[√] VS Code (version 1.95.3)
    • VS Code at
      C:\Users\abdulmajid\AppData\Local\Programs\Microsoft VS
      Code
    • Flutter extension version 3.102.0

[√] Connected device (4 available)
    • sdk gphone64 x86 64 (mobile) • emulator-5554 •
      android-x64    • Android 15 (API 35) (emulator)
    • Windows (desktop)            • windows       •
      windows-x64    • Microsoft Windows [Version
      10.0.19045.5198]
    • Chrome (web)                 • chrome        •
      web-javascript • Google Chrome 131.0.6778.109
    • Edge (web)                   • edge          •
      web-javascript • Microsoft Edge 131.0.2903.86

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

! Doctor found issues in 1 category.

Hi @majid-2002, please provide the full output of flutter run -v.
Did this start after an upgrade or have you always had this issue? If it was after an upgrade, which version of flutter did you upgrade from?

Hi @danagbemava-nc , I’m experiencing the same issue after upgrading Flutter from version 3.24.1 to 3.24.5. I’ve attached the output of flutter run -v in the flutter_logs.txt file for your reference.
flutter_logs.txt

HI @Khuza1ma, do you get this issue with a newly created flutter app without any plugins?

Started facing this issue after doing flutter upgrade just now.

Hi @Khuza1ma, I can't repro with the plugins/packages you have provided. I think this might be a cache issue. Can you try clearing your gradle cache and running the app again to see if you still experience this issue?
Launching lib/main.dart on sdk gphone64 arm64 in debug mode...
Your project is configured with Android NDK 23.1.7779620, but the following plugin(s) depend on a different Android NDK version:
- google_mlkit_barcode_scanning requires Android NDK 25.1.8937393
- google_mlkit_commons requires Android NDK 25.1.8937393
- google_mlkit_digital_ink_recognition requires Android NDK 25.1.8937393
- google_mlkit_entity_extraction requires Android NDK 25.1.8937393
- google_mlkit_face_detection requires Android NDK 25.1.8937393
- google_mlkit_face_mesh_detection requires Android NDK 25.1.8937393
- google_mlkit_image_labeling requires Android NDK 25.1.8937393
- google_mlkit_language_id requires Android NDK 25.1.8937393
- google_mlkit_object_detection requires Android NDK 25.1.8937393
- google_mlkit_pose_detection requires Android NDK 25.1.8937393
- google_mlkit_selfie_segmentation requires Android NDK 25.1.8937393
- google_mlkit_smart_reply requires Android NDK 25.1.8937393
- google_mlkit_text_recognition requires Android NDK 25.1.8937393
- google_mlkit_translation requires Android NDK 25.1.8937393
- shared_preferences_android requires Android NDK 25.1.8937393
Fix this issue by using the highest Android NDK version (they are backward compatible).
Add the following to /Users/deanli/projects/lighthouse/android/app/build.gradle:

    android {
        ndkVersion = "25.1.8937393"
        ...
    }

warning: [options] source value 8 is obsolete and will be removed in a future release
warning: [options] target value 8 is obsolete and will be removed in a future release
warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
3 warnings
warning: [options] source value 8 is obsolete and will be removed in a future release
warning: [options] target value 8 is obsolete and will be removed in a future release
warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
3 warnings
warning: [options] source value 8 is obsolete and will be removed in a future release
warning: [options] target value 8 is obsolete and will be removed in a future release
warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
3 warnings
warning: [options] source value 8 is obsolete and will be removed in a future release
warning: [options] target value 8 is obsolete and will be removed in a future release
warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
Note: /Users/deanli/.pub-cache/hosted/pub.dev/google_mlkit_digital_ink_recognition-0.13.0/android/src/main/java/com/google_mlkit_digital_ink_recognition/DigitalInkRecognizer.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
3 warnings
warning: [options] source value 8 is obsolete and will be removed in a future release
warning: [options] target value 8 is obsolete and will be removed in a future release
warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
Note: /Users/deanli/.pub-cache/hosted/pub.dev/google_mlkit_entity_extraction-0.14.0/android/src/main/java/com/google_mlkit_entity_extraction/EntityExtractor.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
3 warnings
warning: [options] source value 8 is obsolete and will be removed in a future release
warning: [options] target value 8 is obsolete and will be removed in a future release
warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
Note: /Users/deanli/.pub-cache/hosted/pub.dev/google_mlkit_face_detection-0.12.0/android/src/main/java/com/google_mlkit_face_detection/FaceDetector.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
3 warnings
warning: [options] source value 8 is obsolete and will be removed in a future release
warning: [options] target value 8 is obsolete and will be removed in a future release
warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
Note: /Users/deanli/.pub-cache/hosted/pub.dev/google_mlkit_face_mesh_detection-0.3.0/android/src/main/java/com/google_mlkit_face_mesh_detection/FaceMeshDetector.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
3 warnings
warning: [options] source value 8 is obsolete and will be removed in a future release
warning: [options] target value 8 is obsolete and will be removed in a future release
warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
3 warnings
warning: [options] source value 8 is obsolete and will be removed in a future release
warning: [options] target value 8 is obsolete and will be removed in a future release
warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
Note: /Users/deanli/.pub-cache/hosted/pub.dev/google_mlkit_object_detection-0.14.0/android/src/main/java/com/google_mlkit_object_detection/ObjectDetector.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
3 warnings
warning: [options] source value 8 is obsolete and will be removed in a future release
warning: [options] target value 8 is obsolete and will be removed in a future release
warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
Note: /Users/deanli/.pub-cache/hosted/pub.dev/google_mlkit_pose_detection-0.13.0/android/src/main/java/com/google_mlkit_pose_detection/PoseDetector.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
3 warnings
warning: [options] source value 8 is obsolete and will be removed in a future release
warning: [options] target value 8 is obsolete and will be removed in a future release
warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
Note: /Users/deanli/.pub-cache/hosted/pub.dev/google_mlkit_selfie_segmentation-0.9.0/android/src/main/java/com/google_mlkit_selfie_segmentation/SelfieSegmenter.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
3 warnings
warning: [options] source value 8 is obsolete and will be removed in a future release
warning: [options] target value 8 is obsolete and will be removed in a future release
warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
3 warnings
warning: [options] source value 8 is obsolete and will be removed in a future release
warning: [options] target value 8 is obsolete and will be removed in a future release
warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
3 warnings
warning: [options] source value 8 is obsolete and will be removed in a future release
warning: [options] target value 8 is obsolete and will be removed in a future release
warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
3 warnings
Running Gradle task 'assembleDebug'...                             98.3s
✓ Built build/app/outputs/flutter-apk/app-debug.apk
Installing build/app/outputs/flutter-apk/app-debug.apk...           7.4s
Syncing files to device sdk gphone64 arm64...                      742ms

Flutter run key commands.
r Hot reload. 🔥🔥🔥
R Hot restart.
h List all available interactive commands.
d Detach (terminate "flutter run" but leave application running).
c Clear the screen
q Quit (terminate the application on the device).

A Dart VM Service on sdk gphone64 arm64 is available at: http://<IP_ADDRESS>:52273/fA5ai3zHg0M=/
I/mple.lighthouse( 6405): Compiler allocated 5250KB to compile void android.view.ViewRootImpl.performTraversals()
The Flutter DevTools debugger and profiler on sdk gphone64 arm64 is available at:
http://<IP_ADDRESS>:9104?uri=http://<IP_ADDRESS>:52273/fA5ai3zHg0M=/
D/ProfileInstaller( 6405): Installing profile for com.example.lighthouse

Hi I was able to solve this issue once. I updated these.
gradle-wrapper.properties
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-all.zip

settings.gradle
pluginManagement {
    def flutterSdkPath = {
        def properties = new Properties()
        file("local.properties").withInputStream { properties.load(it) }
        def flutterSdkPath = properties.getProperty("flutter.sdk")
        assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
        return flutterSdkPath
    }()

    includeBuild("$flutterSdkPath/packages/flutter_tools/gradle")

    repositories {
        google()
        mavenCentral()
        gradlePluginPortal()
    }
}

plugins {
    id "dev.flutter.flutter-plugin-loader" version "1.0.0"
    id "com.android.application" version "8.7.0" apply false
    id "org.jetbrains.kotlin.android" version "2.0.21" apply false
}

include ":app"

android/app/bulid.gradle
plugins {
    id "com.android.application"
    id "kotlin-android"
    // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins.
    id "dev.flutter.flutter-gradle-plugin"
}

android {
    namespace = "com.example.example_app"
    compileSdk = flutter.compileSdkVersion
    ndkVersion = "27.0.12077973"

    compileOptions {
        sourceCompatibility = JavaVersion.VERSION_1_8
        targetCompatibility = JavaVersion.VERSION_1_8
    }

    dependencies {
        coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.1.3")
    }

    kotlinOptions {
        jvmTarget = JavaVersion.VERSION_1_8
    }

    defaultConfig {
        // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
        applicationId = "com.example.carestack_wellness_app"
        // You can update the following values to match your application needs.
        // For more information, see: https://flutter.dev/to/review-gradle-config.
        minSdk = flutter.minSdkVersion
        targetSdk = flutter.targetSdkVersion
        versionCode = flutter.versionCode
        versionName = flutter.versionName
    }

    buildTypes {
        release {
            // TODO: Add your own signing config for the release build.
            // Signing with the debug keys for now, so `flutter run --release` works.
            signingConfig = signingConfigs.debug
        }
    }
}

flutter {
    source = "../.."
}

Can you please provide which JDK version, gradle version and flutter version you are using, where you resolved the above issue.

I was using gradle 7.6.3  and Flutter 3.24.5

My JDK version is 17, with Flutter 3.24.5 and gradle 7.3 then too its not working

heyy same issue i facing what it the solution ?

"I upgraded Flutter, and now an issue is occurring."

Would you like help with resolving the issue you're facing after upgrading Flutter?
any Solution?

Hii @danagbemava-nc
I did try multiple times deleting the .gradle cache folder and re-running the app but the same issue still persists. I also tried running the app after removing all plugins to rule out any plugin-related issues but that didn’t help either.
Additionally I updated my files according to @majid-2002 solution but unfortunately it didn’t resolve the problem for me.
For reference, I’m using the following setup:
Flutter: 3.24.5 Dart: 3.5.4 JDK: Java version "17.0.12"
gradle-wrapper.properties file:
distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-all.zip
settings.gradle file:
`pluginManagement {
def flutterSdkPath = {
def properties = new Properties()
file("local.properties").withInputStream { properties.load(it) }
def flutterSdkPath = properties.getProperty("flutter.sdk")
assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
return flutterSdkPath
}()
includeBuild("$flutterSdkPath/packages/flutter_tools/gradle")

repositories {
    google()
    mavenCentral()
    gradlePluginPortal()
}

}
plugins {
id "dev.flutter.flutter-plugin-loader" version "1.0.0"
id "com.android.application" version "8.7.3" apply false
id "org.jetbrains.kotlin.android" version "2.0.21" apply false
}
include ":app"
`
app/build.gradle file:
`plugins {
id "com.android.application"
id "kotlin-android"
// The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins.
id "dev.flutter.flutter-gradle-plugin"
}
android {
namespace = "com.example.savory_chef"
compileSdk = flutter.compileSdkVersion
ndkVersion = "27.0.12077973"
compileOptions {
    sourceCompatibility = JavaVersion.VERSION_17
    targetCompatibility = JavaVersion.VERSION_17
}

kotlinOptions {
    jvmTarget = JavaVersion.VERSION_17
}

defaultConfig {
    // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
    applicationId = "com.example.savory_chef"
    // You can update the following values to match your application needs.
    // For more information, see: https://flutter.dev/to/review-gradle-config.
    minSdk = flutter.minSdkVersion
    targetSdk = flutter.targetSdkVersion
    versionCode = flutter.versionCode
    versionName = flutter.versionName
}

buildTypes {
    release {
        // TODO: Add your own signing config for the release build.
        // Signing with the debug keys for now, so `flutter run --release` works.
        signingConfig = signingConfigs.debug
    }
}

}
flutter {
source = "../.."
}
`

You should update jdk to 21 . The issue persists with jdk 17

Hey @majid-2002
Flutter currently works best with JDK 17 as it’s the most stable and supported version. JDK 21 might seem like a fix but it’s not fully compatible with Flutter yet and could cause more issues I guess.

Hey @majid-2002
Flutter currently works best with JDK 17 as it’s the most stable and supported version. JDK 21 might seem like a fix but it’s not fully compatible with Flutter yet and could cause more issues I guess.

Hey latest flutter stable version works on jdk 21.
I think you might need to downgrade flutter version. If you are running jdk 17.
As you can see in flutter doctor -v it clearly says it runs on jdk 21

Hi @Khuza1ma, is there a particular issue you're experiencing with jdk 21? The JdkImageTransforms issue which was introduced when upgrading to the latest android studio was due to an incompatibility between gradle and that version of the jdk. With the gradle versions you have specified, you should not have that issue

Hey @majid-2002
I used the same version stack which you have given
Flutter: 3.24.5
JDK: 21
Gradle: 7.6.3
facing below error

Hey @majid-2002
I used the same version stack which you have given
Flutter: 3.24.5
JDK: 21
Gradle: 7.6.3
facing below error

Hey , try updating gradle to 8.9.
It resolved for me.

Hi @danagbemava-nc ,
Thanks for following up! The issue I was experiencing is now resolved after upgrading to the latest Flutter version (3.27.0) released yesterday. It seems the newer version addressed the pom file issue I was facing.
Appreciate the help!

Closing this since the original reporter has resolved their issue and it appears that this can be resolved by upgrading to 3.27.0.
If you are using gradle 8 and the latest version of flutter stable (3.27.0) but still encounter this issue, kindly file a new issue and provide the relevant information required to reproduce the issue.
Thank you


Logging exporter does not log metrics or traces

Describe the bug
I have instrumented a simple Python lambda function to export metrics and traces via the ADOT collector's logging exporter. However, out of the box, the exporter does not seem to actually log any of the metrics or traces in the lambda logs. For traces, I am able to fix this by enabling debug logging in the logging exporter; however for metrics, whatever I do, nothing is logged.
My expectation is that, by default (without having to enable debug logging), the logging exporter should log both the metrics and traces in the lambda logs.
See below for details.
Steps to reproduce
Create a (Python 3.9, x86_64) lambda with the following files:

lambda_function.py: Contains the lambda code

from urllib.request import urlopen
import json

def lambda_handler(event, context):

    with urlopen('http://postman-echo.com/get') as response:
        response_bytes = response.read()
        response_dict = json.loads(response_bytes)

    return response_dict

collector.yaml: Contains the ADOT collector config

receivers:
  otlp:
    protocols:
      grpc:
        endpoint: 'localhost:4317'
      http:
        endpoint: 'localhost:4318'

exporters:
  logging:
    # Uncomment to enable debug logging
    # verbosity: detailed

service:
  pipelines:
    metrics:
      receivers: [otlp]
      exporters: [logging]
    traces:
      receivers: [otlp]
      exporters: [logging]

Add the following env variables:

OPENTELEMETRY_COLLECTOR_CONFIG_FILE: /var/task/collector.yaml
AWS_LAMBDA_EXEC_WRAPPER: /opt/otel-instrument

Add the following ADOT lambda layer:
arn:aws:lambda:us-east-1:901920570463:layer:aws-otel-python-amd64-ver-1-17-0:1
Increase lambda timeout past the default 3 sec (I increased to 9 sec as per this AWS blog post).
What did you expect to see?
In the lambda logs (i.e. in the CloudWatch log group corresponding to that lambda), I expected to see a text representation of the metrics and traces generated by my lambda, without having to enable debug logging.
What did you see instead?
In summary:

Metrics: I do not see any metric information
Traces:

By default (debug logging disabled), I only see a message giving the number of trace spans, but not the actual trace span itself:
START RequestId: 4b90dbd1-5f7f-4300-b89b-c54e36cf3637 Version: $LATEST
{
    "level": "info",
    "ts":<PHONE_NUMBER>.5785906,
    "msg": "TracesExporter",
    "kind": "exporter",
    "data_type": "traces",
    "name": "logging",
    "#spans": 1
}

END RequestId: 4b90dbd1-5f7f-4300-b89b-c54e36cf3637

If I enable debug logging, I finally am able to see the actual trace span:
START RequestId: 097da673-fd82-4aa6-a876-f9c1aa2cd379 Version: $LATEST
{
    "level": "info",
    "ts":<PHONE_NUMBER>.5933444,
    "msg": "TracesExporter",
    "kind": "exporter",
    "data_type": "traces",
    "name": "logging",
    "#spans": 1
}

{
    "level": "info",
    "ts":<PHONE_NUMBER>.6501083,
    "msg": "ResourceSpans #0\nResource SchemaURL: \nResource attributes:\n     -> telemetry.sdk.language: Str(python)\n     -> telemetry.sdk.name: Str(opentelemetry)\n     -> telemetry.sdk.version: Str(1.17.0)\n     -> cloud.region: Str(us-east-1)\n     -> cloud.provider: Str(aws)\n     -> faas.name: Str(xxx)\n     -> faas.version: Str($LATEST)\n     -> faas.instance: Str(2023/06/20/[$LATEST]xxx)\n     -> service.name: Str(xxx)\n     -> telemetry.auto.version: Str(0.38b0)\nScopeSpans #0\nScopeSpans SchemaURL: \nInstrumentationScope opentelemetry.instrumentation.aws_lambda 0.38b0\nSpan #0\n    Trace ID       : e22ce9eadaee4de5355a1febf6a665d4\n    Parent ID      : \n    ID             : 027a1093e12acacb\n    Name           : lambda_function.lambda_handler\n    Kind           : Server\n    Start time     : 2023-06-20 15:45:54.150776242 +0000 UTC\n    End time       : 2023-06-20 15:45:54.558211425 +0000 UTC\n    Status code    : Unset\n    Status message : \nAttributes:\n     -> faas.id: Str(arn:aws:lambda:us-east-1:xxx:function:xxx)\n     -> faas.execution: Str(097da673-fd82-4aa6-a876-f9c1aa2cd379)\n",
    "kind": "exporter",
    "data_type": "traces",
    "name": "logging"
}

END RequestId: 097da673-fd82-4aa6-a876-f9c1aa2cd379

The full lambda log output (debug logging disabled) is as follows:
INIT_START Runtime Version: python:3.9.v23	Runtime Version ARN: arn:aws:lambda:us-east-1::runtime:xxx
{
    "level": "info",
    "ts":<PHONE_NUMBER>.9749236,
    "msg": "Launching OpenTelemetry Lambda extension",
    "version": "v0.28.0"
}

{
    "level": "info",
    "ts":<PHONE_NUMBER>.9777951,
    "logger": "telemetryAPI.Listener",
    "msg": "Listening for requests",
    "address": "sandbox:53612"
}

{
    "level": "info",
    "ts":<PHONE_NUMBER>.9778838,
    "logger": "telemetryAPI.Client",
    "msg": "Subscribing",
    "baseURL": "http://<IP_ADDRESS>:9001/2022-07-01/telemetry"
}

TELEMETRY	Name: collector	State: Subscribed	Types: [Platform]
{
    "level": "info",
    "ts":<PHONE_NUMBER>.9978137,
    "logger": "telemetryAPI.Client",
    "msg": "Subscription success",
    "response": "\"OK\""
}

{
    "level": "info",
    "ts":<PHONE_NUMBER>.997873,
    "logger": "NewCollector",
    "msg": "Using config URI from environment",
    "uri": "/var/task/collector.yaml"
}

{
    "level": "info",
    "ts":<PHONE_NUMBER>.0173824,
    "caller": "service/telemetry.go:90",
    "msg": "Setting up own telemetry..."
}

{
    "level": "Basic",
    "ts":<PHONE_NUMBER>.018772,
    "caller": "service/telemetry.go:116",
    "msg": "Serving Prometheus metrics",
    "address": ":8888"
}

{
    "level": "info",
    "ts":<PHONE_NUMBER>.0189846,
    "caller": "exporter@v0.75.0/exporter.go:286",
    "msg": "Development component. May change in the future.",
    "kind": "exporter",
    "data_type": "traces",
    "name": "logging"
}

{
    "level": "info",
    "ts":<PHONE_NUMBER>.0205448,
    "caller": "exporter@v0.75.0/exporter.go:286",
    "msg": "Development component. May change in the future.",
    "kind": "exporter",
    "data_type": "metrics",
    "name": "logging"
}

{
    "level": "info",
    "ts":<PHONE_NUMBER>.021582,
    "caller": "service/service.go:129",
    "msg": "Starting aws-otel-lambda...",
    "Version": "v0.28.0",
    "NumCPU": 2
}

{
    "level": "info",
    "ts":<PHONE_NUMBER>.0219886,
    "caller": "extensions/extensions.go:41",
    "msg": "Starting extensions..."
}

{
    "level": "info",
    "ts":<PHONE_NUMBER>.0223737,
    "caller": "otlpreceiver@v0.75.0/otlp.go:94",
    "msg": "Starting GRPC server",
    "kind": "receiver",
    "name": "otlp",
    "data_type": "traces",
    "endpoint": "localhost:4317"
}

{
    "level": "info",
    "ts":<PHONE_NUMBER>.0225813,
    "caller": "otlpreceiver@v0.75.0/otlp.go:112",
    "msg": "Starting HTTP server",
    "kind": "receiver",
    "name": "otlp",
    "data_type": "traces",
    "endpoint": "localhost:4318"
}

{
    "level": "info",
    "ts":<PHONE_NUMBER>.0226872,
    "caller": "service/service.go:146",
    "msg": "Everything is ready. Begin running and processing data."
}

EXTENSION	Name: collector	State: Ready	Events: [INVOKE, SHUTDOWN]
START RequestId: 4b90dbd1-5f7f-4300-b89b-c54e36cf3637 Version: $LATEST
{
    "level": "info",
    "ts":<PHONE_NUMBER>.5785906,
    "msg": "TracesExporter",
    "kind": "exporter",
    "data_type": "traces",
    "name": "logging",
    "#spans": 1
}

END RequestId: 4b90dbd1-5f7f-4300-b89b-c54e36cf3637
REPORT RequestId: 4b90dbd1-5f7f-4300-b89b-c54e36cf3637	Duration: 705.42 ms	Billed Duration: 706 ms	Memory Size: 128 MB	Max Memory Used: 110 MB	Init Duration: 1271.90 ms
{
    "level": "info",
    "ts":<PHONE_NUMBER>.279903,
    "logger": "lifecycle.manager",
    "msg": "Received SHUTDOWN event"
}

{
    "level": "info",
    "ts":<PHONE_NUMBER>.2991004,
    "logger": "telemetryAPI.Listener",
    "msg": "HTTP Server closed:",
    "error": "http: Server closed"
}

{
    "level": "info",
    "ts":<PHONE_NUMBER>.299532,
    "caller": "otelcol/collector.go:246",
    "msg": "Received shutdown request"
}

{
    "level": "info",
    "ts":<PHONE_NUMBER>.299631,
    "caller": "service/service.go:155",
    "msg": "Starting shutdown..."
}

{
    "level": "info",
    "ts":<PHONE_NUMBER>.299851,
    "caller": "extensions/extensions.go:55",
    "msg": "Stopping extensions..."
}

{
    "level": "info",
    "ts":<PHONE_NUMBER>.299917,
    "caller": "service/service.go:169",
    "msg": "Shutdown complete."
}

{
    "level": "info",
    "ts":<PHONE_NUMBER>.31899,
    "msg": "done"
}

Environment
(provided above)
Additional context
As I found out in issue #610, the auto-instrumentation SDK is successfully generating metrics and traces and sending them to the ADOT collector since, if I remove either the metrics or traces pipeline from the collector config, the instrumentation SDK throws a 404 error. However, after the data has reached the ADOT collector, the logging exporter doesn't seem to actually do anything with that data, such as logging it in the lambda logs.

@pranavmarla have you figured out what happened?

@pranavmarla have you figured out what happened?

Hey @stevemao , I haven't really had a chance to revisit this so unfortunately not


POD ERR method "findByFullPath" does not exist

I'm getting the error in the title whenever I execute these commands:
pod start <app>
pod startall
pod web start

Any ideas of what may be causing it? I saw some other issues, but they all say that this has been fixed

Seeing this too. How is it fixed?

Ok seems like it was fixed in the code, but was never published to npm!
I had to fork it, and then publish as 'jollof-pod' as I could only publih as something different.
You can use my published pod fork by:
npm i -g jollof-pod
The binary name will still be the same i.e pod.
This will over-write the current pod and pm2 in your system to use this, hence solving this issue until the author re-publishes.

Thanks, man! I actually wrote something that did what I wanted, it's public on my profile.

I'm seeing this one too, and I tried installing jollof-pod and it didn't work. Any ideas?

i just use gitlab-ci with pm2 now

you can use my fork @andrewmartin
npm install -g https://github.com/meldsza/pod


fileOpen is not working in server, but it's working fine in local system

Hi,
In my application,
await fileOpen({ })
Is not working after deployed on DigitalOcean server, but it's working fine in my local I don't know why it was happening, Please help me to resolve this issue.
Thank you.

Do you have a URL for me to investigate?

Thanks for your reply,
http://<IP_ADDRESS>:3000/artkit
this is the site, ill give the instructions

click on new collections
and click the expand button in the top right corner in sidebar under hamburger icon
expand the metadata folder and click on 0.token.json
4)click the pick file and click the form computer button.

Please see the below image for reference.
Thank you.

Your site is not delivered over https:, so the File System Access API is not available.

(That being said, I fail to find any occurrence of fileOpen() in your code.)


Change tx details size to vsize

The details object here doesn't have a size key. Instead there is a vsize key. This causes EPS to crash.

I thought of doing this, but I believe in Core release 0.18 and earlier there is no vsize field, so this code would crash there instead. It seems size has been taken out and replaced by vsize only in the current Core master branch.
Maybe a better way of doing it is to detect whether to use size or vsize and use the right one. Also users can add deprecatedrpc=size to their bitcoin.conf file.

Fixed.

I've tested this on today's large mempool. It works and isn't too slow, the biggest contribution to the runtime by far is still the getrawmempool RPC call.


use lavadsp fork with darwin arm stuff fixed

current lavadsp does not work on the new m1 macs. Since lavadsp is archived again I forked it &  monkey patched it to not use avx2 natives on m1 macs. This resolves the issue.
to note:
I also removed musl & freedsb support which isn't supported by lavaplayer anyway and therefore not needed

Please don't remove musl, I use that stuff

Lavaplayer doesn't ship with musl natives right
How does that work 🤔

Lavaplayer doesn't ship with musl natives right How does that work 🤔

I put the natives in my own resources folder at the correct path and it overrides the lavaplayer ones

Aaaaaaaa

alright this should have working musl support now, feel free to give it a test @duncte123

alright this should have working musl support now, feel free to give it a test @duncte123

Crash while using filters https://cdn.discordapp.com/attachments/1082305147042013256/1100327677883326494/hs_err_pid1.log

@duncte123 I think there was a misunderstanding
We just readded musl support for lavadsp, but not added musl support for lavaplayer. That would mean you need to run the jar with your beautiful dockerfile setup
I have tested it with a jar based on the x86-64 musl libconnector.so you also use

@TopiSenpai that works for me

Are you able to give it another test before we consider merging this?

closing this in favour of https://github.com/lavalink-devs/Lavalink/pull/878


Use checkbox for plugin status instead of option list

Close #36181

I think this should actually be a CheckButton, not a CheckBox. See https://github.com/godotengine/godot/pull/30319.

currently, it matches with others, like autoload, on/off on inspector, etc...

@volzhs Is the text on the second screenshot highlighted because the checkbox is "On", or because it's in focus? I ask, because it would benefit to have some color indication for enabled/active plugins, like it has now.

I removed color change to make the same behavior with Autoload tab.

@volzhs That makes sense. We can keep using CheckBox and eventually switch them all to CheckButton in the future (no pun intended).

@Calinou that is good to change them all at once. :+1:

If one is disabled and one is enabled why do they both say Enable?
Also, they should say "Enabled" instead of "Enable" but I think that is a different issue

@nathanwfranke I think, volzhs simply made it behave exactly like it does for Autoload tab. In there it too is "Enable" and the text does not change with the tick.

@akien-mga Can this be merged and cherrypicked for 3.2?

I'm assuming since it's not even merged in master it's unlikely to be in 3.2 any time soon

@nathanwfranke

I'm assuming since it's not even merged in master

This is exactly what I'm asking for. For this to be merged into master, and then cherrypicked for 3.2.

Thanks!

Cherry-picked for 3.2.2.


Adjust the user experience of new Java file

The new file experience will ask user to select the file type first, then input the type name and generate the new file.
https://github.com/microsoft/vscode-java-dependency/assets/14052197/587148d1-c896-4c02-ada5-c4fd7063f3ca

What about adding a divider between package & file, folder?

What about adding a divider between package & file, folder?

Here are new menus view.


Obsolete 'cell part' terms and upper level reorganization

Obsoletion notice: 'x part' terms
Dear all,
GO is reorganizing some of the top level terms in the Cellular Component branch to better fit future annotation requirements. (see also [1])
We have created a new term, 'cellular anatomical entity', that groups all cellular components that are not protein-containing complexes or whole cells. Now the CC aspect of the ontology will have the following main branches:

cell
'cellular anatomical entity'
intracellular (see [2])
'other organism part'
'protein-containing complex'
virion
'virion part'

As a part of this reorganization we are obsoleting 'x part' terms such as 'nuclear part'. Instead, parts will be asserted directly in the ontology. For example, a term x that is a nuclear part will have the relationship x part_of nucleus.
The following terms will be obsoleted:
GO:0033267 axon part
GO:0044447 axoneme part
GO:0097312 bacterial biofilm matrix component
GO:0044461 bacterial-type flagellum part
GO:0044448 cell cortex part
GO:0032155 cell division site part
GO:0044464 cell part - mapped to NIF_Subcellular:sao628508602
GO:0044463 cell projection part
GO:0044457 cell septum part
GO:0044426 cell wall part
GO:0044434 chloroplast part
GO:0044427 chromosomal part
GO:0044441 ciliary part
GO:0060103 collagen and cuticulin-based cuticle extracellular matrix part
GO:0044449 contractile fiber part
GO:0044444 cytoplasmic part
GO:0044433 cytoplasmic vesicle part
GO:0044430 cytoskeletal part
GO:0044445 cytosolic part
GO:0044432 endoplasmic reticulum part
GO:0044440 endosomal part
GO:0044462 external encapsulating structure part
GO:0044420 extracellular matrix component
GO:0044421 extracellular region part
GO:0044431 Golgi apparatus part
GO:0044424 intracellular part
GO:0110144 magnetosome part
GO:0044425 membrane part
GO:0044438 microbody part
GO:0044450 microtubule organizing center part
GO:0044455 mitochondrial membrane part
GO:0044429 mitochondrial part
GO:0097458 neuron part
GO:0044454 nuclear chromosome part
GO:0044453 nuclear membrane part
GO:0044428 nuclear part - mapped to NIF_Subcellular:  sao1499850686
GO:0044452 nucleolar part
GO:0044451 nucleoplasm part
GO:0044422 organelle part
GO:0044439 peroxisomal part
GO:0044443 pilus part
GO:0120038 plasma membrane bounded cell projection part
GO:0044459 plasma membrane part
GO:0044435 plastid part
GO:0097425 smooth endoplasmic reticulum part - mapped to NIF_Subcellular:sao184202831
GO:0097223 sperm part
GO:0044456 synapse part - mapped to NIF_Subcellular:sao1784069613
GO:0044436 thylakoid part
GO:0044437 vacuolar part
goslim-pir:
GO:0044464 cell part
go-slim-flybase-ribbon
GO:0097458 neuron part
Darren, Helen: Let me know if you want other terms instead in your slim.
There are a few annotations to those terms:
https://github.com/geneontology/go-annotation/issues/2632
affecting the folowing groups:
AspGD : 1 annotation
CGD : 2
GeneDB : 1
GR : 2
JCVI : 1
MGI : 13
SGN : 7
Any comments can be added to the issue: https://github.com/geneontology/go-ontology/issues/17778
We are opening a comment period for this proposed obsoletion. We’d like to proceed and obsolete this term on September 4th, 2019. Unless objections are received by September 4th, 2019 we will assume that you agree to this change.
Thanks, Pascale
[1] https://github.com/geneontology/go-ontology/issues/17696
[2] https://github.com/geneontology/go-ontology/issues/17776

This is done.

Hi @pgaudet - does this mean that there will be a new term "neuron" so that there is a x part_of neuron as this does not currently exist?

No. You can annotate to occurs_in CL:neuron, if appropriate, a GO term for the intracellular localization.
Pascale

I think we can close this one?


Try fix in-app vs outside-app frame classification in Sentry

Trying out an alternative to #6282.

Just wrapping things up here. I ended up merging #6282 because otherwise we won't get proper grouping on subcommand failed errors (not fully sure why).
Still, I think this PR is an improvement because it considers paths in ecosystem specific folders as "in-app" which means those frames in the stacktrace are displayed in Sentry by default.
If others agree, I'll merge this.

I honestly don't have full context here, but I trust your judgement. If you think it's an improvement, then let's merge it and try it out... can always revert if it's not...

This seems to have done what I wanted, sawing the full backtrace (ecosystem + updater) by default. Hope you like it better too!

The stack traces are really clean and only show dependabot-core traces, and they're properly grouped by the subprocess command. Thank you!!


Thunderbird for Android edit account settings issue

Checklist

[X] I have used the search function to see if someone else has already submitted the same bug report.
[X] I will describe the problem with as much detail as possible.

App
Thunderbird for Android
App version
8.0b2
Where did you get the app from?
Google Play
Android version
14
Device model
Google Pixel 7 Pro
Steps to reproduce

Go to settings
Click on already configured account
Click Sending mail or Fetching mail
Click Outgoing server or Incoming server

Expected behavior
Should show the account configuration already setup.
Actual behavior
Brings to New account setup wizard.
Logs
No response

I have this issue too on my ancient LG V30 Android 9 phone.

Duplicate of #8271


PopupBox Implementation

Hi guys,
Just a question, do you have any implementations of PopupBox  from Material Design ?
I'm using it and I wanna to know if there is any implementations ingoing for material.avalonia ?
Thanks in advance.

Hello, @Tenjim
If I understand you correctly, then what you want is implemented in DialogHost.Avalonia:

Soon I think I'll be integrating this package into Material.Design, but for now it can be delivered and used separately.
Does this solve your problem?

Hi @SKProCH,
It's a button that open a content with others controls in it.
It's not a other window poping like DialogHost.

@Tenjim, you can use, for example,  ToggleButton and Popup control like this:
      <Popup IsOpen="{Binding #MyToggleButton.IsChecked}"
             PlacementTarget="MyToggleButton"
             PlacementMode="Bottom">
        <styles:Card>
          <TextBlock>Your popup content here</TextBlock>
        </styles:Card>
      </Popup>

@SKProCH , Thank ! I'll try it to check if it complete my need :)

Hi @SKProCH,
Just to clarify what we need. It's a control to MaterialDesignInXamlToolkit. https://github.com/MaterialDesignInXAML/MaterialDesignInXamlToolkit/wiki/PopupBox

@Tenjim, We don't have one out of the box at the moment.
We will try to implement this control as early as possible, but I do not know when it will be, because the main team of contributors is currently busy at work.
If you want, then you can implement this (or something else) by yourself and create a PR. They are warmly welcomed.

@Tenjim, seems like this is already implemented via Menu control:

Is this what you were looking for?

@SKProCH, not really because I want to put an usercontrol on the popup content like your first example.
I want to put a usercontrol which have many Buttons/ ComboBox/ CheckBox/...  like  into the Card

Hi @SKProCH,
Finally, I have done a workaround with your advice (Togglebutton with popup) :
<Style Selector="buttons|PopupBox">
          <Setter Property="Template">
            <ControlTemplate>
                <Grid>
                    <ToggleButton Name="toggle" IsEnabled="True" HorizontalAlignment="Center" IsChecked="{Binding #StandardPop.IsOpen}">Click me</ToggleButton>
                    <Popup x:Name="StandardPop" IsLightDismissEnabled="True"
                           HorizontalOffset="0"
                           VerticalOffset="10"
                           PlacementTarget="toggle"
                           IsOpen="{Binding #toggle.IsChecked}">
                        <styles:Card
                            Name="CardPopup"
                            FontSize="15"
                            FontWeight="Regular"
                            Padding="10"
                            Margin="5">
                            <ContentPresenter Content="{TemplateBinding Content}" />
                        </styles:Card>

                    </Popup>
                </Grid>
            </ControlTemplate>
          </Setter>
      </Style>

Tenjim


Track downloaded files

It would be good to have a way to track files downloaded (for example, lottery service forms) so we have an idea how many people are downloading things.
This could take the form of a file_downloads table that references active storage attachments. Would need to ensure these records don't go away when files are purged.

Resolved by #1344


setGateways() in OrbitGatewayRouter should not be payable

This function uses the fee paying token instead of ETH for fees.

@tsite please let us know if you have signed the cla

@cla-bot check


SuperStream not working

Steps to reproduce

Go to browse
Go to the extension Superstream
Shows error

Expected behavior
It should show the movies and web series and should not give error while playing
Actual behavior
It showed error as soon as you open the extension of superstream in the browse area
Crash logs
No response
Aniyomi version
<IP_ADDRESS>
Android version
Android 13
Device
Samsung s20 fe 5g
Other details

Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a short but informative title.
[X] If this is an issue with an extension, I should be opening an issue in the extensions repository.
[X] I have tried the troubleshooting guide.
[X] I have updated the app to version <IP_ADDRESS>.
[X] I have updated all installed extensions.
[X] I will fill out all of the requested information in this form.

This issue is fixed.

issuation


QueryException : isn't in GROUP BY

I've just added package for use searchable feature
On my model
protected $searchableColumns = [
        'brand.label' => 20,
        'range.label' => 20,
        'category.label' => 10,
        'equipments.label' => 5,
        'energy.label' => 2,
        'gearboxType.label' => 1,
    ];

I have this issue
SQLSTATE[42000]: Syntax error or access violation: 1055 'application.vehicle.ref' isn't in GROUP BY (SQL: select count(*) as aggregate from (select `vehicle`.*, max(case when `vehicle`.`brand_id` = polo then 15 else 0 end + case when `vehicle`.`brand_id` like polo% then 5 else 0 end + case when `vehicle`.`brand_id` like %polo% then 1 else 0 end + case when `vehicle`.`range_id` = polo then 15 else 0 end + case when `vehicle`.`range_id` like polo% then 5 else 0 end + case when `vehicle`.`range_id` like %polo% then 1 else 0 end) as relevance from `vehicle` where (`vehicle`.`brand_id` like %polo% or `vehicle`.`range_id` like %polo%) group by `vehicle`.`id`) as `vehicle` where `relevance` >= 0.5)

:(

Set strict mode to false give into config/database It's okay.
Sorry

Thank you!

Is setting strict mode to false the only workaround on this?


1.19.2 Port (and some fixes)

Hi,
I noticed the conversation in #12, so I decided to update the mod and open a PR. There are a few deprecation warnings mostly to do with the computercraft API, but for now the mod works on 1.19.2 on both Fabric and Forge. You'll probably want to bump the version number up in the gradle.properties as I left this alone.
I also fixed a few little bugs with the train station peripheral for both Forge and Fabric. The first was if you tried to get the train's name while there was no train present, it would throw an exception in Java. The other smaller bug was the getBogeys function returned the number of carriages, so I changed the name of this function to GetCarriageCount. I would have made it so it returned the bogey count but I couldn't find an easy way to do this, so the documentation / wiki might need updating to reflect this.

The carriages in the code is not equal to real carriages these are the Bogeys ingame

That’s strange as when I tested it in 1.19.2 it seems to be carriages not bogeys, perhaps create changed it, I’ll have a little look into it properly.

Alright I've had a little play around with it in game, it does seem create must have changed it from when it was originally implemented here as it does do the actual carriage count now as opposed to bogey count. This may be a change between create versions used. Examples show this below.
Three carriages (three independent bogeys)

Two carriages (2 bogeys and 1 independent bogey)

I'll be working on it to change it to the real bogey count

yeah I think I'll implement both ways


Changing the keys since 2 bugs for multiple tuples and values have been

fixed. Although, because of bug40598 we will see this test still failing
in regression.

This was merged -- I merged it with Srikanth's PR and so github didn't see it close automatically.

Hi Charles I made another commit just now which takes care of bug#40531. Please merge. But regression for search options still will fail 07.07 because of 40598


Added minor text to tell user to create a command function prototype.

Added minor text to tell user to create a command function prototype.

Closing - feel free to reopen if the wording can be improved, but the command handler is generated by fprime-util impl already


Avoid active highlight when scrolling

Button-related elements should be highlighted only when not scrolling.
Could be fixed in iOS14 by delaying the isPressed flag. Native apps seem to have a similar issue (they also delay the touch highlight), indicating that it might not be possible to fix in SwiftUI.
@State var isActuallyPressed: Bool
...
.onChange(of: configuration.isPressed) { isPressed in
                    withAnimation(.easeInOut(duration: 0.3).delay(0.2)) {
                        isActuallyPressed = isPressed
                    }
                }

Closed as the behaviour is the consistent with native Apple apps


Add isLoading state when wallet tries to connect

Following https://github.com/aptos-labs/aptos-wallet-adapter/issues/94 it can take a Wallet a couple of ms to connect, during that time we might want to handle the UI accordingly.
This PR adds isLoading state to react provider.
can use it like that
const { isLoading } = useWallet();

nice!


I use your starter to develope but it always stop running during hmr

vite will stop and console record this:
Error [ERR_WORKER_OUT_OF_MEMORY]: Worker terminated due to reaching memory limit: JS heap out of memory
at new NodeError (node:internal/errors:371:5)
at Worker.[kOnExit] (node:internal/worker:276:26)
at Worker..onexit (node:internal/worker:198:20)
Emitted 'error' event on Worker instance at:
at Worker.[kOnExit] (node:internal/worker:276:12)
at Worker..onexit (node:internal/worker:198:20) {
code: 'ERR_WORKER_OUT_OF_MEMORY'
}
every time i run the project again but i will occur again after some time. how can i do this? u use node to do what?

I have confirmed that this phenomenon occurs frequently after Node 18.
I don't know if it is a specification, but since the cause is memory, try increasing the allocation amount with environment variables (NODE_OPTIONS) and execution parameters.
--max_old_space_size={MB}


chore(ci): avoiding building typescript ockam_app when checking rust

We should be able to avoid building typescript for rust checks. Also fixes Gradle release build

@davide-baldo I updated this PR commit message and also added a gradle CI fix


Migrate etl to a new server

Currently the etl runs every 6 hours on the OWID internal server live. But it requires so much memory for some Pandas operations that the machine runs out, and kills MySQL which ends up restarted.
We would like to move the etl to a new machine, which could be same as for analytics, and have it operate and publish from there.

Added swap space yesterday on the live machine to buy us some time.

FYI peak memory consumption of etl was ~10GB on analytics server.


Remove date-zeroing on RSS

Once https://github.com/spf13/hugo/pull/2649 is merged.
See https://github.com/spf13/hugo/pull/2649/commits/915b9848f9c95dbabf0ccf4be385180729fbcdcb

This issue has been automatically marked as stale because it has not been commented on for at least six months.
The resources of the Hugo team are limited, and so we are asking for your help.
If this is a bug and you can still reproduce this error on the master branch, please reply with all of the information you have about it in order to keep the issue open.
If this is a feature request, and you feel that it is still relevant and valuable, please tell us why.
This issue will automatically be closed in the near future if no further activity occurs. Thank you for all your contributions.


Update meta.yaml

Rebuild to know if the error invalid feedstock token has been fixed.

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

@conda-forge-admin, please rerender


change NSString(contentsOf:encoding:) to align with Darwin version

Major work in terms of api refactoring of NSString to align with Darwin version was done as part of https://github.com/apple/swift-corelibs-foundation/pull/332. However below API's got missed.
init(contentsOfURL url: NSURL, encoding enc: UInt)
init(contentsOfURL url: NSURL, usedEncoding enc: UnsafeMutablePointer?)
This PR updates above api's to match Darwin version..

@swift-ci please test


Add BE Year (BB, BBBB)

Add support for Buddhist Era (BE) year, parsing and formatting
BE is 543 years before CE
2559 (BE) is equal to 2016 (CE)
and
2016 (CE) is equal to 2559 (BE)

Please merge only bf26d97 that change only in src

I don't think we can take this pull request. I think that Buddhist era falls in the realm of alternate calendar systems, and that's not something that moment handles at this time. That said, we do appreciate your contribution.


Test autodoc2

Switch out autodoc for autodoc2 and evaluate any improvement to the docs build.
Review which currently used dependencies become deprecated through use of autodoc2

Hm, I am getting this error when setting
autodoc2_packages = [     "../../pyrealm" ]

Hm, I am getting this error when setting autodoc2_packages = [ "../../pyrealm" ]

That doesn't look good. I'm not sure I have much confidence in autodoc2. It seems a little abandoned. We could try posting an issue with this error to see if the lead dev responds, but I'm not hopeful.


fix Issue 14555 - ModuleInfo should weakly link against classes

What a pity for the time spent on maintaining an outdated backend.
Ironically now that weak external symbols work it turns out that weak linking imported ModuleInfo (here) doesn't work.
I'd be glad for any tip on how to solve this, not sure why it works on Win32.

Correction, I do know why it works on Win32, b/c we're skipping weak external definitions there too.
https://github.com/D-Programming-Language/dmd/pull/4638/files#diff-baf275e112ad2dda18779c8c3c5ed9f9R1249

A solution would be to emit an undefined external reference to the ModuleInfo into every multiobj, that way the ModuleInfo get dragged into any binary that uses part of a module.

Requires https://github.com/D-Programming-Language/druntime/pull/1265.

I think this approach will break many uses of Object.factory. I imagine that most of its use case is about instantiating classes that are never otherwise referenced.
Question, can we instead create a separate ModuleInfo-like construct just for Object.factory, which is only pulled in if Object.factory is called anywhere in the program, and otherwise GC'd by the linker?

I think this approach will unfortunately break many uses of Object.factory. I imagine that most of its use case is about instantiating classes that are never otherwise referenced.

Yeah, it might cause some trouble. The main use-case for Object.factory is instantiating classes based on runtime data though. And already today you can only load classes whose modules are linked.

Question, can we instead create a separate ModuleInfo-like construct just for Object.factory, which is only pulled in if Object.factory is called anywhere in the program, and otherwise GC'd by the linker?

Pretty difficult because the use of Object.factory is separate from the classes, maybe by emitting a special section that is only referenced by the factory. GCing a reference to a class after the class already has been dragged into the binary doesn't GC that class IIRC.

Pretty difficult because the use of Object.factory is separate from the classes, maybe by emitting a special section that is only referenced by the factory.

That's what I meant (I think).

GCing a reference to a class after the class already has been dragged into the binary doesn't GC that class IIRC.

Let's see, as I understand we have:
ModuleInfo.localClasses -> ClassInfo.vtbl -> virtual method table -> virtual method bodies -> ...
Which of these are emitted in their own section?

Which of these are emitted in their own section?

Most of them are in a separate object file (dmd's -lib switch outputs multilibs) expect for ClassInfo and vtable.

So I guess that will need to be fixed. The ClassInfo can be in the same section / object file as the vtable as they both refer to each other.

Let's deprecate the current Object.factory functionality and only make sure that every linked class is contstructable. This change can be accompanied with a warning and fallback to the old solution for some time.
https://github.com/D-Programming-Language/dmd/pull/4754#issuecomment-114300044

How do you plan on making Object.factory know about the classes that have been "linked in"? Weak references to all ClassInfos? Aren't those arranged in a linked list right now?

As the title of this PR says "ModuleInfo should weakly link against classes".

Note that Object.factory already doesn't work when the ModuleInfo is missing, i.e. b/c a module doesn't have a constructor and wasn't explicitly linked as object into the binary.

rebased and fixed test

As the title of this PR says "ModuleInfo should weakly link against classes".

Derp, thanks.
Tests are still failing:
backend\cgobj.c(1251) : Error: no instance of class 'Obj' for member 'Obj::external_def'

Note that Object.factory already doesn't work when the ModuleInfo is missing, i.e. b/c a module doesn't have a constructor and wasn't explicitly linked as object into the binary.

We cannot remove Object.factory. If something isn't working it should be fixed. Stop trying to sneak by language changes in pull requests without anyone noticing.

We cannot remove Object.factory. If something isn't working it should be fixed. Stop trying to sneak by language changes in pull requests without anyone noticing.

Object.factory is a horrible feature when combined with static linking. This function can instantiate arbitrary classes at runtime (you could even get the class name from user input at runtime). If you now require that it can instantiate all classes you'll have to link at least all classes in phobos into every statically linked executable.
These classes depend on other non-classes phobos stuff, so in the end you'll end up pulling most of phobos into every executable. On my linux machine this increases the size of a empty main-function program from 500kB to 8,9MB. It also means you'll have to always link all libraries included by pragma(lib) even if you never use the modules containing that import.
ping @andralex  @WalterBright

The best solution to this is to only pay the cost of Object.factory in applications that actually use it. @WalterBright how can we do this?

Can we just check if Object.factory is called?

Can we have an option to specify by name which classes can be constructed via Object.factory? (which could still default to all for backward compatibility)
For most applications, a (small) white list of such classes should be sufficient.
eg:
registerClassNames(["MyClass"]);
registerBaseClassNames(["MyBaseClass"]); // can also call Object.factory on derived classes

Is Benjamin Thaut on github so we can ask him?

I don't see how we can do this for static libraries w/o resorting to custom linker scripts, only referenced object files will end up in a binary but the compiler doesn't necessarily know all classes.
Ultimately this is a linking problem, and it's a hacky proposal to let the compiler somehow make this work. Also I mentioned plenty of workarounds in Bugzilla (e.g. link object files or use --whole-archive) that are easy to use (the latter one being a simple linker switch).

Note that Object.factory already doesn't work when the ModuleInfo is missing, i.e. b/c a module doesn't have a constructor and wasn't explicitly linked as object into the binary.
We cannot remove Object.factory. If something isn't working it should be fixed. Stop trying to sneak by language changes in pull requests without anyone noticing.

See the proposed deprecation https://github.com/dlang/dmd/pull/4638#issuecomment-132553876.
Sorry that the language promised features that can't be properly implemented w/ static libraries.

See the proposed deprecation #4638 (comment).

Yeah, I've seen that. I don't agree that it should be deprecated.

Sorry that the language promised features that can't be properly implemented w/ static libraries.

It can if the compiler outputs the all the necessary data.

With time, it has become increasingly clear to me that Object.factory is a misfeature. Its unlimited scope and lack of opt-in/opt-out mechanisms make it a bit too much like JavaScript's eval (yes, including some of its security issues). Frankly, I don't see why it can't be replaced with a user-implemented mechanism, either one that's opt-in or based on the language's existing compile-time introspection capabilities.
Jacob, can you describe your use case? Is there something non-obvious that's preventing migrating your code away from the built-in Object.factory?

Jacob, can you describe your use case? Is there something non-obvious that's preventing migrating your code away from the built-in Object.factory?

I use it in my serialization library.

I use it in my serialization library.

So... does that mean that I can feed any program that uses your serialization library a blob of serialized data, which would cause the program to instantiate an arbitrary class anywhere in the program (incl. private classes)?
Honestly, I think that only proves my point.

There are many languages that allow you do to this.

Indeed:
https://www.google.com/search?q=ruby+serialization+vulnerability
https://www.google.com/search?q=php+serialization+vulnerability
Again, proving my point.

You can do a lot of stupid things in many ways in many programming languages, what's your point?

BTW, I forgot that my serialization library is drive by static typing. That is, it will only try to deserialize the types you give it. Example:
class Foo
{
    int a;
    int b;
}

class Bar
{
    Foo foo;
}

auto bar = deserialize!(Bar)(data);

The above code can only deserialize Bar and Foo regardless of what data contains. So if data contains a reference to Socket or some other class in Phobos it will either fail or it will be ignored.

what's your point?

That Object.factory is a misfeature. I thought we've already established that.

BTW, I forgot that my serialization library is driven by static typing.

Then why do you even need Object.factory? Just instantiate the type directly if you have access to it statically.

Then why do you even need Object.factory? Just instantiate the type directly if you have access to it statically.

That's a good point 😃, I need to check.

Currently it needs that due to how it's designed. The deserializer has the static type but not the unarchiver. The (un)archiver is format (XML, JSON) dependent and the (de)serializer is not. The (un)archiver is polymorphic and therefore cannot have any templated methods. But maybe I can move the instantiation of the object to the deserializer instead.

From your description,  it sounds like you could also make the deserializer
build an object ClassInfo registry, which the unarchiver could use much
like Object.factory.
On Sep 23, 2016 19:41, "jacob-carlborg"<EMAIL_ADDRESS>wrote:

Currently it needs that due to how it's designed. The deserializer has the
static type but not the unarchiver. The (un)archiver is format (XML, JSON)
dependent and the (de)serializer is not. The (un)archiver is polymorphic
and therefore cannot have any templated methods. But maybe I can move the
instantiation of the object to the deserializer instead.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/dlang/dmd/pull/4638#issuecomment-249242091, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAJ0fraX1A4ztX8lp-h3lZ5qZHeCKhGtks5qtAFGgaJpZM4ETIIh
.

From your description, it sounds like you could also make the deserializer build an object ClassInfo registry, which the unarchiver could use much like Object.factory.

Yes, I already have something similar, the library requires to register sub classes that should be (de)serialized through a base class reference. I should be able to construct the actual instance using the same mechanism.

As this is still based on the C++ frontend, it might take a serious effort to revive it.
Though there's some automation - see https://github.com/dlang/dmd/pull/4922#issuecomment-133776696

As this is still based on the C++ frontend, it might take a serious effort to revive it.

61 line changes is nothing.

(I just did a swipe through the PR queue to make sure that these instructions are easily accessible. Maybe I should have used a better text. Sorry)


Add tests

Add some initial rudimentary tests within the cargo test framework to test the basic morty features.

@micprog What is the merge plan on this?


not clear

It is not clear should I create the strong named assembly or not? or package singing "replaces" it?

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

ID: 18071970-cf13-78af-ac1d-9adefefdb693
Version Independent ID: 3bf15a5c-8b3e-0e69-0bf6-03b44654970c
Content: Create and publish a .NET Standard package using Visual Studio on Windows
Content Source: docs/quickstart/create-and-publish-a-package-using-visual-studio.md
Product: nuget
GitHub Login: @karann-msft
Microsoft Alias: karann

package signing does not replace strong name signing the assembly.


Remove mention of link between message digests and public key algorithms.

The comment in EVP_DigestInit.pod is:

Returns the NID of the public key signing algorithm associated with this
digest. For example EVP_sha1() is associated with RSA so this will return
B<NID_sha1WithRSAEncryption>. Since digests and signature algorithms are no
longer linked this function is only retained for compatibility reasons.

I.e. there is no link anymore.
This attempts to fix the referencing PODs.  There are no code changes.

[x] documentation is added or updated

Once builds finish :)

1.1.0 will need a new PR because the doc files were moved.

Merged, thanks.


cmd/go: document how to get 'go mod tidy' to keep an unused dependency

What version of Go are you using (go version)?

$ go version
go version go1.13.8 linux/amd64

Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE="on"
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/user/.cache/go-build"
GOENV="/home/user/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/user/go"
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/home/user/.local/share/umake/go/go-lang"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/home/user/.local/share/umake/go/go-lang/pkg/tool/linux_amd64"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/tmp/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build847180785=/tmp/go-build -gno-record-gcc-switches"

What did you do?
In light of the recent golang.org/x/crypto fix, I tried to enforce that my module use v0.0.0-20200220183623-bac4c82f6975:
// /tmp/go.mod
module tmp

go 1.13

require (
        golang.org/x/crypto v0.0.0-20200220183623-bac4c82f6975 // indirect
        lib v0.0.0-00010101000000-000000000000
)

replace lib => ./lib

golang.org/x/crypto is listed in my go.sum because a module I depend upon uses it:
// /tmp/go.sum
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550 h1:ObdrDkeb4kJdCP557AjRjq69pTHfNouLtWZG7j9rPN8=
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=

// /tmp/main.go
package main

import _ "lib"

func main() {}

It is assumed that I am not in control of the lib module:
// /tmp/lib/go.mod
module lib

go 1.13

require golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550

// /tmp/lib/lib.go
package lib

// /tmp/lib/sub/sub.go
package sub

import _ "golang.org/x/crypto/acme"

However it is not needed for build, as evidenced by go mod why. As such, when I go mod tidy, it gets dropped:
[user@localhost tmp]$ go mod why -m golang.org/x/crypto
# golang.org/x/crypto
(main module does not need module golang.org/x/crypto)
[user@localhost tmp]$ go mod tidy
[user@localhost tmp]$ cat go.mod

What did you expect to see?
// /tmp/go.mod
module test

go 1.13

require (
        golang.org/x/crypto v0.0.0-20200220183623-bac4c82f6975 // indirect
        lib v0.0.0-00010101000000-000000000000
)

replace lib => ./lib

What did you see instead?
// /tmp/go.mod
module test

go 1.13

require lib v0.0.0-00010101000000-000000000000

replace lib => ./lib

it is not needed for build, as evidenced by go mod why. As such, when I go mod tidy, it gets dropped

That is exactly what go mod tidy is documented to do (https://tip.golang.org/cmd/go/#hdr-Add_missing_and_remove_unused_modules):

it removes unused modules that don't provide any relevant packages.

Could you provide some more detail as to why you want to upgrade a module that does not provide any imported packages?

That is exactly what go mod tidy is documented to do (https://tip.golang.org/cmd/go/#hdr-Add_missing_and_remove_unused_modules):

This is not just in tip; thanks for the pointer.

Could you provide some more detail as to why you want to upgrade a module that does not provide any imported packages?

I have tooling that detects vulnerable modules in use from go.sum and go.mod. It flagged my go.sum, as it looks the same as if the module was actually being used for build.
Since crypto is a transitive dependency, it would be easy for another developer to introduce a dependency upon sub without realising that they were bringing in the vulnerable version.

This is technically true for different modules too, but since we know lib depends on the vulnerable version, I would like a way to flag/upgrade it.

It flagged my go.sum, as it looks the same as if the module was actually being used for build.

Ah, #33008 could be related. For modules that do not contribute imported packages, the go.sum file is only supposed to contain a checksum for the go.mod file (not the full source code), but a bug in go mod tidy causes it to also retain a checksum for the source code if present.

Since crypto is a transitive dependency, it would be easy for another developer to introduce a dependency upon sub without realising that they were bringing in the vulnerable version.

That's true, but we should probably provide some means to flag those regardless of how they are introduced. (That's #24031.)

since we know lib depends on the vulnerable version, I would like a way to flag/upgrade it.

Note that if you really want to, you can introduce a dummy import of some package in order to convince go mod tidy to keep it. (See http://golang.org/wiki/Modules#how-can-i-track-tool-dependencies-for-a-module.)

Since we have issues filed for the other two parts, let's focus this one on the third: you have a reason to want to retain an otherwise-unused requirement, and we have a mechanism for that (a dummy import), so we should probably document that mechanism.

@bcmills fair enough. Thanks :)

do we really need to document the self evident: add a dependency to keep a dependency?


Manual control debate

I'm still feeling very strongly that a full manual mode would be best here. The automation ends up very fast making things messy and confusing. There are hundreds of problems every game that the auto functions cause. The interface is great so far and I would love to see this be usable and get really popular, so I don't have to play on OCTGN any more.
Anyone else have thoughts about this?

Did you mean to say a Full Manual Mode would be best? That seems to be what you're describing so a little confused.
I would 100% agree. I think making every single card automatic is a mountain of code that will just continue to grow as new cards come out and requires a ton of bug fixing as things interrupt each other and cause problems. Also, things like Keywords, which are fully automated already, are optional triggers so probably should never be automatic. The automatic challenge resolution is probably the most annoying thing right now because there is no window to play reactions, ambush, etc. which requires you to "rewind" everything and adjust. I think some smaller aspects of the game could be automatic, like gold collection, when revealed on plots, etc.
The game is pretty much in a state now where everything works if you do it manually (all mechanics exist - kneeling, dragging cards, drawing, strength modifying, etc.). Just need to be able to drag cards from other player's areas into our own. So yes, if there was a setting to turn off all the automation and just play normally I think it would be better in the long run.

Yes, that's exactly what I was trying to say, thanks. I changed my typo to say 'manual'. Sorry for the confusion. I agree with everything you say. :)

I think in general automation is the way to go. Things are weird currently because a tiny portion of cards are automated and there isn't a good framework in place for actions / reactions / interrupts. It's very much in an in-between state which causes friction.
I think adding some explicit action windows in the challenge phase would go a long way toward addressing at least some of the frustrations. There's so much that can happen in those 3 windows to modify the outcome that zooming through it can mess things up a lot.
The biggest challenge to automate will be interrupts. So far I'm not sure how it could be implemented without giving away information to your opponent about what you may have in your hand. You could pause the game to allow the player to play their interrupt when the game detects it's allowed to be triggered, but that would let the opponent know that they HAVE an interrupt to play. Don't have a good answer here.

@ystros The only way to do that, if everything is to be automated, is to have breaks in between each step that the player must click to close, regardless if they have any interrupting cards or not. Otherwise, as you said, information would clearly be given away. This alone is my main argument for not automating everything. I think automation is fine for some things, but not every single card - the game just has too many interrupts and timing issues that will be an endless trail of coding. And the game is only a year old with hundreds of more cards to come out that could just cause more issues with automation. The next pack is already introducing an entirely new keyword and game mechanic (bestow).

It's totally fine for automation to be imperfect and not handle every case. As long as the system provides ways to work around it.  Jinteki manages to get the balance right for netrunner, so there's no reason we can't do the same here.  Yes the game is slightly more complicated, but the annoying edge cases dont come up that often (once most things are implemented, it's not fair to judge it right now)

Ups, just seen this one after replying to the old one. So, sorry for double posting, but I think its good to have discussion in one place.
I am a huge fan of manual control.

The big issue with automation is scalability: New cards will always need implementation, in some cases even a refactoring of the existing code. Also, rules corner cases are easily missed when implementing automation.
Manual control is very close to a live game for me: Game implementation just offers me the possibilities of my hands, a table and a deck of cards as opposed to trying to be smarter than me.

Note, I don't want to be a troll here, I appreciate all the efforts you are putting into this (and from a software development point of view I can totally understand that automation is intriguing)

I think it's important to bear in mind that I don't intend for the game to be fully automated.  If you look at jinteki.net it implements the basic rules of netrunner, and card abilities, but it's just a starting point. There are several nuances that are not automatic and some things that it gets wrong.  And this is ok.  My goal is to have the game be playable and the simple cases to be handled for you.  Some of the more complex actions will need you to either unwind or carry our yourselves.  It's too early to properly discuss whether it works or not because it's simply not in the place i want it to be yet :)

My only concern is there are things now that are currently automated that should never be - namely keyword resolution and challenge resolution. In a mostly casual game, this probably isn't a huge deal, but for the competitive players using online play to practice for in-person events, every timing window and optional trigger matters. You can see the thread on the AGOT 2.0 FB Group discussing this as well (probably where the surge of new players has come from).
It seems a happy medium would be to have buttons that do things for you if you want them to (perhaps submenus that open when clicking on cards: Kneel, Add Gold, Add Power, etc.), but not having the game resolve and assign things for you automatically. So I could click the Military button and declare a military challenge, saving me from typing "mil for 3" in the chat box, but clicking that button doesn't make anything happen automatically.

There is only one aspect of automation that I really want to see, and that is a correct implementation of the turn sequence. One major draw-back of playing online is that it is difficult to communicate at which stage of the turn you are. For example, you may wait for an opponent to take an action or pass, because you want to use your own action. Then, he or she just skips the action window and moves on to the next phase, making it necessary to rewind the game.
Ideally, it should always be made explicit when challenge keywords can be processed, when there is an action window, etc. This is the kind of automation I want, as it lets you avoid discussions about missed triggers, and even helps newer players learn some nuances of the game. I don't care how much else of the game is taken care of by the system. I just want a simple and intuitive way to navigate through a turn without the need of rewinding, and I believe that this should be a priority.
I just saw in the chat that you removed the action window after declaring attackers. This is supposed to make the game simpler, but I strongly believe that it is a step backwards. The action windows are there for a reason, and the advantage of a digital platform is that it makes these less prominent rules easier to follow. Instead, you might consider adding a way of skipping them, for example a button that can be activated if you don't want to take any actions during that phase or turn. Magic Online does something very similar with its turn sequence, and it works well, once you get used to it.

The intent is not, and has never been to replicate the table top experience 100% to the rules as written.
It should be possible to play a reasonably simple game without clicking 1000 times to get through the flow.
At the same time, it should be relatively trivial to fix mistakes due to non implemented cards or the simplified flow getting things wrong.  The multiple window in challenges did not fit into this well enough for me so I've taken it out and will keep it under review
We're not were I want to be yet, but we're getting there.  If you hate it when I'm done then that's ok(so long as it's not the majority, obviously), it will always be contentious.

Thanks for your reply. I take no issue in you having a different perspective on the way the game should be implemented, and applaud you for staying true to your own vision. You will understand that a project like this attracts different people with individual needs and wishes. I hope that my comment didn't come off as too negative (it probably did), since I really appreciate the time and effort put into this site. Keep doing it your own way and let the whole community judge the final outcome.
Well, here's my two cents anyway, but please feel free to ignore them, if you wish:
'clicking 1000 times to get through the flow' makes it sound like there is a trade-off between staying close to the written rules and functionality. This is true to some extent, but there are different ways to alleviate this. For example, you could allow players to set 'stops' for action windows during which they plan to use an action. When there is no stop set, the program will automatically skip that action window. Admittedly, this still requires some additional clicking, but is that really worse than typing 'any actions?' in the chat the whole time? This latter option isn't faster, it just seems that way, because it is not part of the client's interface.

Absolutely, and if it sounds like I'm shouting down other opinions that I apologise as that isn't my intent.  I fully expect to(and already have) take a lot feedback on board from the people who use the site, but as you say there are differing opinions.
I guess my point is that I want to get a good number of cards working, so it's apparent where the real issues are, and then decide how to address them.  Right now a lot of people are reacting to the lack of card implementations and judging the platform as a whole on that, which is fair, but I'm thinking bigger picture.

Rest assured I follow these discussions closely and will try and please as many people as possible, including myself!
Wait, that just sounds wrong..

I've probably been the most vocal to you about this cryo and I hope I haven't become the annoying user that you wish would stop playing - my concerns only come from a place of wanting as many people as possible to play here. What you've created so far is amazing and even with the bugs, on a completely different level than OCTGN in my opinion.
Anywho - I thought the action window prompts were a perfect solution to providing a window to play events, but I understand not wanting to click 1000 times if you don't plan on doing anything the whole turn. Which again goes back to the problem of only having a "stop" when you plan on doing something completely gives away the element of surprise. Hopefully you're at least leaving the claim prompt in, as auto discarding for int was the biggest issue as it revealed a card that shouldn't have been revealed.
At this point though I think I'll just let you do your thing and trust it will be good.

Absolutely not, let me be clear I haven't been annoyed by anyone's comments so far.  I'm listening, I promise :)
I took the window out because I thought it was redundant, I think there's still places in the flow to do those things now, and the window before winner is determined is staying so things can be fixed before the game works out who won, so I think it's a good compromise.  Like I say if it turns out that that isnt the case I'll look at it again.
Don't worry the claim prompt isn't going anywhere, that one is vital.  The only reason it took so long to put in, is @ystros completely reworked the prompt system for us to be much more streamlined and easier to add prompts.  I  was waiting for him to finish so I didn't create more work for him and waste effort.

After going through all the cards and adding them to the implementation list, I started thinking: I'm not sure what the plan is on this because I can't think of any cards that are currently implemented this way, but I think it's important that anything not Forced (Reaction, Interrupt, Action, etc.) must require some kind of user input to initiate. Like clicking on the card to open a submenu or activate their ability. Only Forced triggers should be 100% automated without any user input.
I think this keeps things mostly automated and also solves the problem of the game remembering everything for you, as you have to actually click on the character, location, attachment, or event to trigger it.
For the most part, automatically triggering non-forced reactions isn't a big deal to rewind, but there are quite a few that involve revealing cards that would pose a problem if the player didn't want to trigger it.

@doomnote currently non-forced reactions and interrupts are being implemented as prompts rather than done 100% automatically, which gives the player the choice not to do the reaction/interrupt. Implemented examples include a prompt to draw 2 cards when Littlefinger is marshalled, put out a scheme plot via Rains when winning intrigue by 5 or more, Wolves Catelyn gaining power when a Stark is killed or sacrificed, and so on. In each case, the player has to explicitly say they want the ability to go through or to cancel it, though they are prompted automatically. Actions for the most part you need to explicitly trigger through a card menu already
(none of this applies to cards in the player hand - only 3 event cards have been implemented so far and you need to explicitly play them, no auto-prompt)
The reaction/interrupt prompts are definitely "the game remembering everything for you," as you said, since you're explicitly asked. I don't have a strong opinion of whether that's fine or undesirable. That said, the automatic prompt in this case is kind of a small implementation detail. I could see a way forward where the card simply keeps track of whether the triggering condition has been met and then add it as a menu item (or simply always have the menu item there and enable it as needed). Just kind of whatever direction @cryogen wants to take it in.

The automatic prompt is very much where I want the platform to be heading and very important to the overall experience of the site.  Yes it's hand holding and yes it may dull your competitive edge, but it also makes the game accessible and at least prompts you that such interactions are possible and reminds you to use your cards ability.  It's a crutch that you wont have playing the game in person, but that's ok.

So, I've implemented quite a lot of cards now which should give a flavour for the direction that I'm going in.  Does anyone want to reignite the debate in light of actual card implementations now being available?

I think you win! hah - though it would be cool if maybe down the road there was a "competitive" mode where all of the automation is turned off but there would be available commands to do everything (/kill, /discard, etc) and then the default "casual" mode with everything "automated".

Agree, part of the game if remembering all your actions/reactions. And another mode - call it competitive or manual would be a really nice addition and I believe will increase the user base as currently my mates don't want to play it because it's automated.
However I think you've done a great job and that additional mode would be a step forward not backwards.

One of the big problems with the automation is that it doesn't let the players choose the order in which to trigger their reactions (triggering an event before Rains of Castamere, for instance). This is a big part of the game. Add me to the group of people who'd play if there was a manual mode.

A lot of the issues mentioned here are either gone or on the way to being gone.  "full manual mode" is probably not going to get done, but never say never


[Test] Fix crash_without_backtrace_optimized.swift.

Insert a fputs before the crash to keep FileCheck happy.

Merging to fix the bots!


use case: Using batarang to test a chrome extension

Is there any way to make batarang work on a chrome extension developed on angular?
i.e https://developer.chrome.com/apps/angular_framework

Yes!  Inspecting the background page of a Chrome extension includes all of the DevTools, including Batarang.
You can also open the DevTools for the DevTools by popping them out of Chrome and hitting the keyboard shortcut for opening the DevTools.  (And yes, I've used Batarang to debug Batarang).


custom SIGP model save & load

Reference Issues/PRs

Fixes #68
What does this implement/fix? Explain your changes
What testing did you do to verify the changes in this PR?
Pull Request Checklist

[ ] Added a note about the modification or contribution to the ./CHANGELOG.md file (if applicable)
[ ] Added appropriate unit test functions in the ./gauche/tests/* directories (if applicable)
[ ] Modify documentation in the corresponding Jupyter Notebook under ./notebooks/ (if applicable)
[ ] Ran python -m py.test tests/ and make sure that all unit tests pass (for small modifications, it might be sufficient to only run the specific test file, e.g., python -m py.test tests/kernels/test_graph_kernels.py)
[ ] Checked for style issues by running black . and isort .

FYI I'm going to be training some models using this framework this week and plan to try adding some additional atom level features. Based on how that goes, there may be a future PR related to this.


Call to undefined method GetStream\Stream\Feed::followFeed()

Hi.
When I use \FeedManager::followUser in the most recent version I get:
In StreamLaravelManager.php line 93:
  Call to undefined method GetStream\Stream\Feed::followFeed()

It seems this method is removed in the most recent version.

Also added a PR with proposed fix.

Good catch, thank you for the fix!


Full App Support in MS Teams Private Channel

It is documented on the MS website: "We're working on full apps support for private channels, including messaging extensions and bots."
I am current using a bot to create conversations in MS Teams, but realised that bots are not yet supported in private channels.
May I ask if it is possible to share on the roadmap and its expected delivery of this feature so that I can have a better planning of the solution for my product?
Thank you!

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

ID: ce34b12b-aa50-608b-bbfa-a1fb4bb79f8d
Version Independent ID: 9ddeb6f4-f30a-1e72-fc94-ae66def91f40
Content: Private channels in Microsoft Teams - Microsoft Teams
Content Source: Teams/private-channels.md
Service: msteams
GitHub Login: @MikePlumleyMSFT
Microsoft Alias: mikeplum

Thank you for submitting feedback.
I think the best way forward is if you open a service ticket in your tenant so this can get resolved ASAP. Based on the outcome let me know if it is something that can be called out in the docs.
Please follow this link to contact support for business products:https://docs.microsoft.com/office365/admin/contact-support-for-business-products
Please keep us posted here on the resolution so we can feed whatever information you discover into the content.


Add a Box2d method to convert to ((x0,y0),(x1,y1))

makes it easy to pass into PIL ImageDraw.rectangle

ImageDraw.rectangle(box2d) already works. awesome


npm error

version: 0.3.10
@windicss/plugin-utils This dependency does not seem to be released

Fixed in 0.3.12


Adding altsnap

Denying pull request too obscure and modifying standard windows functions is always a dice roll.

Hi please stop mail me

From: Taken @.>
Sent: Wednesday, May 1, 2024 10:58:06 pm
To: ChrisTitusTech/winutil @.>
Cc: Subscribed @.***>
Subject: [ChrisTitusTech/winutil] Adding altsnap (PR #1913)

You can view, comment on, or merge this pull request online at:
https://github.com/ChrisTitusTech/winutil/pull/1913
Commit Summary

3161f3dhttps://github.com/ChrisTitusTech/winutil/pull/1913/commits/3161f3dd8960ffae6def560f0e3304d0ce8980f4 Adding altsnap

File Changes
(3 fileshttps://github.com/ChrisTitusTech/winutil/pull/1913/files)

M config/applications.jsonhttps://github.com/ChrisTitusTech/winutil/pull/1913/files#diff-1afe473feebe3e187449d401d65e46523e06fe796728777bfaeb9ff98f2cb580 (9)
M winutil.ps1https://github.com/ChrisTitusTech/winutil/pull/1913/files#diff-c403792ab2a844c1dc7ecea624c15f7c37794afc4eea7df10419b7863db2fe09 (125)
M xaml/inputApp.xamlhttps://github.com/ChrisTitusTech/winutil/pull/1913/files#diff-ce8b35f9f43ce9920322a538f05d023196156606eed40a2b6e85c51d695119c0 (117)

Patch Links:

https://github.com/ChrisTitusTech/winutil/pull/1913.patch
https://github.com/ChrisTitusTech/winutil/pull/1913.diff

—
Reply to this email directly, view it on GitHubhttps://github.com/ChrisTitusTech/winutil/pull/1913, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BFAAYV7VHYKDRWGEIFY4APDZAFJN3AVCNFSM6AAAAABHCRVF42VHI2DSMVQWIX3LMV43ASLTON2WKOZSGI3TIMJZGA2DMOI.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

ok ty for the info


Disabled frontend tests

Coverage remained the same at 78.18% when pulling da567707d8e4faf31f28fb1d21021f48c6115acd on vxsx:feature/4.0.x/allow-fe-tests-to-fail into 899a3d8cff3eed984b1038b555da64c4d4a7e316 on divio:release/4.0.x.


[PostgreSQL] Parameters are swapped

@Danappelxx your quick reminder :)
consider the following code to update a specified user (in my case foo@foo.com), and a table with the json_data psql field of type jsonb.
var update = Update("users")
update.set(QualifiedField("json_data"), "{\"valid\": \"json\"}")
update.filter(QualifiedField("email") == identifier)

The connection.logger logs UPDATE users SET json_data = $1 WHERE email = $2 during execution, afterwards the update command threw an badStatus(PostgreSQL.Result.Status.FatalError, "ERROR:  invalid input syntax for type json\nDETAIL:  Token \"foo\" is invalid.\nCONTEXT:  JSON data, line 1: foo...\n") Error. I've also added print(parameter) to https://github.com/Zewo/PostgreSQL/blob/master/Sources/PostgreSQL/Connection.swift#L187 and got:
Optional(SQL.Value.string("foo@foo.com"))
Optional(SQL.Value.string("{\"valid\":\"json\"}"))

therefore i think $1 and $2 are swapped.
running the following query as raw sql works fine in my case:
try self.connection.execute("UPDATE users SET json_data = %@ WHERE email = %@", parameters: [
    "{\"valid\":\"json\"}",
<EMAIL_ADDRESS>])

Thanks for reporting it! I found the cause of the issue but unfortunately I haven't come up with a clean fix yet. Basically, sqlParameters need to be correctly ordered which means that valuesByField and predicate parameters all need to have indices. Currently searching for a better solution, will keep you updated.
@formbound if you have some time, would appreciate some help here :)

you're welcome. I'm wondering why this bug is coming up now cause i'm using the code since the swift 3.0 release and everything went well back then. I've also scanned the commit history but couldn't find a change that looked related to the problem root of the problem.
Thanks for looking into this 👍

@Danappelxx any updates?

Solution, as usual, turned out to be hard to find but easy to apply. Fix has been pushed and tagged 0.14.3. Hopefully everything works after running swift build --clean=dist and rebuilding!
I'll keep this open until you can confirm that its been fixed. I'm a little worried that there may be more to this since it came out of nowhere for you.


Chore: Update CI check to run the exhaustive validator

What
Add exhaustive check to the CI, and fix the missing enum cases surfaced by this check.
Why
Go doesn't;t enforce enums to be exhaustive, so adding such a check guarantees that we're covering all the enum use cases properly.
Checklist
PR Structure

[x] This PR has a reasonably narrow scope (if not, break it down into smaller PRs).
[x] This PR title and description are clear enough for anyone to review it.
[x] This PR does not mix refactoring changes with feature changes (split into two PRs otherwise).

Thoroughness

[x] This PR adds tests for the new functionality or fixes.
[x] This PR contains the link to the Jira ticket it addresses.

Configs and Secrets

[x] No new CONFIG variables are required -OR- the new required ones were added to the helmchart's values.yaml file.
[x] No new CONFIG variables are required -OR- the new required ones were added to the deployments (pr-preview, dev, demo, prd).
[x] No new SECRETS variables are required -OR- the new required ones were mentioned in the helmchart's values.yaml file.
[x] No new SECRETS variables are required -OR- the new required ones were added to the deployments (pr-preview secrets, dev secrets, demo secrets, prd secrets).

Release

[x] This is not a breaking change.
[x] This is ready for production.. If your PR is not ready for production, please consider opening additional complementary PRs using this one as the base. Only merge this into develop or main after it's ready for production!

Deployment

[x] Does the deployment work after merging?

stellar-disbursement-platform-backend-preview is available here:SDP:      https://sdp-backend-pr163.previews.kube001.services.stellar-ops.com/healthAP:       https://sdp-ap-pr163.previews.kube001.services.stellar-ops.com/healthFrontend: https://sdp-backend-dashboard-pr163.previews.kube001.services.stellar-ops.com

stellar-disbursement-platform-backend-preview is available here:SDP:      https://sdp-backend-pr163.previews.kube001.services.stellar-ops.com/healthAP:       https://sdp-ap-pr163.previews.kube001.services.stellar-ops.com/healthFrontend: https://sdp-backend-dashboard-pr163.previews.kube001.services.stellar-ops.com

stellar-disbursement-platform-backend-preview is available here:SDP:      https://sdp-backend-pr163.previews.kube001.services.stellar-ops.com/healthAP:       https://sdp-ap-pr163.previews.kube001.services.stellar-ops.com/healthFrontend: https://sdp-backend-dashboard-pr163.previews.kube001.services.stellar-ops.com