App Crashes On StartUp

Stack trace
FATAL EXCEPTION: main
Process: com.xxxxx.mobile_app, PID: 11249
java.lang.UnsatisfiedLinkError: No implementation found for void i2.o.b(int, java.lang.String, long) (tried Java_i2_o_b and Java_i2_o_b__ILjava_lang_String_2J)
at i2.o.b(Native Method)
at i2.o.e(NdkCrashReportsFeature.kt:151)
at y1.z.i(SdkFeature.kt:312)
at y1.r.f(DatadogCore.kt:25)
at E2.v.onMethodCall(DatadogSdkPlugin.kt:1226)
at C9.j$a.a(MethodChannel.java:18)
at s9.c.i(DartMessenger.java:46)
at s9.b.run(R8$$SyntheticClass:13)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6692)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
Reproduction steps
`// BEGIN Setup Datadog logging service
DatadogSdk? datadogSdk;
final currentRegion = defaultRegion ?? Region.UK;
final currentConfiguration = configurations[currentRegion];
// Only use datadog for configurations that have datadogServiceConfig
if (currentConfiguration != null && currentConfiguration.datadogServiceConfig != null) {
  final datadogAppConfig = currentConfiguration.datadogServiceConfig!;

  try {
    final datadogConfig = DatadogConfiguration(
      clientToken: datadogAppConfig.datadogClientToken,
      env: '${currentRegion.name}-${appEnv.name}',
      site: DatadogSite.eu1,
      nativeCrashReportEnabled: true,
      rumConfiguration: DatadogRumConfiguration(
        applicationId: datadogAppConfig.datadogApplicationId,
      ),
    )..enableHttpTracking();

    datadogSdk = DatadogSdk.instance;
    final datadogLoggerConfiguration = DatadogLoggerConfiguration(
      networkInfoEnabled: true,
    );
    datadogSdk.logs?.createLogger(datadogLoggerConfiguration);
    await datadogSdk.initialize(datadogConfig, TrackingConsent.granted);
  } catch (_) {
    //Not a production service so no need to handle error
  }
}
// END Setup Datadog logging service
final datadogService = DatadogService(datadogSdk);
LoggingService(datadogService);

FlutterError.onError = (FlutterErrorDetails flutterErrorDetails) async {
  final FlutterErrorDetails error = flutterErrorDetails.exception is HttpServiceException
      ? flutterErrorDetails.copyWith(
          exception:
              (flutterErrorDetails.exception as HttpServiceException).exceptionForCrashlytics,
        )
      : flutterErrorDetails;

  await FirebaseCrashlytics.instance.recordFlutterError(error);
  if (datadogSdk != null) datadogSdk.rum?.handleFlutterError(error);
};

// runApp
`
Volume
100%
Affected SDK versions
2.7.0
Latest working SDK version
No response
Does the crash manifest in the latest SDK version?
Yes
Flutter Version
3.24.2
Setup Type
Flutter application
[✓] Flutter (Channel stable, 3.24.2, on macOS 15.0 24A335 darwin-arm64, locale en-GB)
• Flutter version 3.24.2 on channel stable at /Users/xxxxx/.asdf/installs/flutter/3.24.2-stable
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision 4cf269e36d (3 weeks ago), 2024-09-03 14:30:00 -0700
• Engine revision a6bd3f1de1
• Dart version 3.5.2
• DevTools version 2.37.2
[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
• Android SDK at /Users/xxxxx/Library/Android/sdk
• Platform android-34, build-tools 34.0.0
• Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 17.0.11+0-17.0.11b1207.24-11852314)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 16.0)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Build 16A242d
• CocoaPods version 1.15.2
Kotlin 1.8.22
Gradle 8.2.2
Device Information
Android only
Other relevant information
If we comment out the initialization of DataDog then the app will work fine.

Hi @LarssK-TS ,
Thanks for reporting, I'll start looking into it.
Any chance you can get that stack trace obfuscated by sending your Proguard mapping file to Datadog?

Hi @LarssK-TS ,
Thanks for reporting, I'll start looking into it.
Any chance you can get that stack trace deobfuscated by sending your Proguard mapping file to Datadog?

hi, much appreciated
`
-keep class com.shockwave.** { *; }
used for session id on Braintree plugin
packages/braintree_ts/android/src/main/kotlin/com/xxxxxx/mobile_app/braintree/BraintreePlugin.kt
-keepclassmembers class com.braintreepayments.api.BraintreeClient {
private ;
java.lang.String getSessionId();
}
-keepclassmembers class com.braintreepayments.api.LocalPaymentClient {
com.braintreepayments.api.BrowserSwitchResult getBrowserSwitchResult(androidx.fragment.app.FragmentActivity);
}
-keep class com.braintreepayments.api.BrowserSwitchResult
-keep class androidx.fragment.app.FragmentActivity
Contentsquare
-keep class com.contentsquare.** { ; }
-dontwarn com.contentsquare.*
-dontwarn edu.umd.cs.findbugs.annotations.**
`

Sorry, I meant the mapping file that's generated as part of your build, so Datadog could deobfuscate, but since you're likely not getting the error in Datadog to begin with that won't help.
Alternately, can you try running without obfuscation, just so we can see the names of the methods that are being called?

          Fatal Exception: java.lang.UnsatisfiedLinkError: No implementation found for void i2.o.b(int, java.lang.String, long) (tried Java_i2_o_b and Java_i2_o_b__ILjava_lang_String_2J)
       at com.datadog.android.ndk.internal.NdkCrashReportsFeature.registerSignalHandler(NdkCrashReportsFeature.kt)
       at com.datadog.android.ndk.internal.NdkCrashReportsFeature.onInitialize(NdkCrashReportsFeature.kt:68)
       at com.datadog.android.core.internal.SdkFeature.initialize(SdkFeature.kt:108)
       at com.datadog.android.core.internal.DatadogCore.registerFeature(DatadogCore.kt:135)
       at com.datadog.android.ndk.NdkCrashReports.enable(NdkCrashReports.java:30)
       at com.datadog.android.ndk.NdkCrashReports.enable$default(NdkCrashReports.java:27)
       at com.datadoghq.flutter.DatadogSdkPlugin.initialize(DatadogSdkPlugin.kt:213)
       at com.datadoghq.flutter.DatadogSdkPlugin.onMethodCall(DatadogSdkPlugin.kt:91)
       at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:267)
       at io.flutter.embedding.engine.dart.DartMessenger.invokeHandler(DartMessenger.java:292)
       at io.flutter.embedding.engine.dart.DartMessenger.lambda$dispatchMessageToQueue$0(DartMessenger.java:319)
       at android.os.Handler.handleCallback(Handler.java:873)
       at android.os.Handler.dispatchMessage(Handler.java:99)
       at android.os.Looper.loop(Looper.java:193)
       at android.app.ActivityThread.main(ActivityThread.java:6692)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)

Okay, this is very strange.
The Android Datadog SDK calls a JNI method registerSignalHandler, which it can't find. But, registerSignalHandler's signature is (String, int, long) not (int, String, long) as the error suggests (hence why it can't find it.  Also, the only change recently was to add the long to the end, the order of the other parameters didn't change
A few diagnostic steps:

When did this start happening? Did you make any changes recently that might be responsible?
Are you using anything that might be rewriting parameter order for some reason?
Can you double check the Datadog Android SDK version you've downloaded and the code it has?

The way I tend to look at the Android SDK code is:

Open the android folder in Android Studio and switch the Project Explorer to Project
Expand External Libraries
Expand Gradle: com.datadoghq:dd-sdk-android-ndk:{version}@aar (note the version here and report back what it is please)
Expand the resulting folders until you get to NdkCrashReportsFeature. Find registerSignalHandler and report back if there's a signature mismatch

When did this start happening? Did you make any changes recently that might be responsible?

Yes we made changes, we have updated our application to Flutter 3.24.2 and it's dependencies. We also updated the Android Gradle plugin to 8.2.2 following this guide https://docs.flutter.dev/release/breaking-changes/flutter-gradle-plugin-apply

Are you using anything that might be rewriting parameter order for some reason?

No we don't believe so but there have been a few similar issues reported on the flutter side, see here https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+UnsatisfiedLinkError

Can you double check the Datadog Android SDK version you've downloaded and the code it has?

Please see attached screenshot
Gradle: com.datadoghq:dd-sdk-android-ndk:2.12.1@aar
private external fun registerSignalHandler(
        storagePath: String,
        consent: Int,
        appStartTimeMs: Long
    )

@fuzzybinary I forgot to mention one important point, when build the app locally the app works on physical and emulators. But built remotely on Fastlane the build will crash for both emulator and physical devices. However, when the Datadog initialisation is removed from the builds the app runs without issue.

@LarssK-TS Are there any build commands that are different on Fastlane? Can you get a build locally that will crash and, if so, can you send me the commands / setup that will cause the crash?
This doesn't sound like a Flutter or Datadog issue to me. Something in your build process is rewriting that JNI call for some unknown reason.

Hi, I will investigate and get back to you tomorrow morning with our findings.

Fastlane builds worked without issue before we started the upgrade. We'll investigate further and come back to you with an update.

We've managed to resolve the issue. The problem was on our side

@LarssK-TS Glad to hear it! Was the fix something that might affect other teams or was it very specific to your workflow?

Thanks for letting me know! I have no idea why that would cause a crash, but if anyone else has this issue, hopefully this will help!


Adding example users playbook and users setup config

@millerdz This was awesome!  My fault that I didn't have GitHub notifications properly configured as I already wrote up example configs before I saw your pull request.  Hopefully I'll get another pull request from you in the future.


new patch

Yes, I know this is now a thing, they added some checks that will make your fps shit in huge nutshell.
I honestly don't know why they added that check, it seems easy to get around. Now they check more than 600+ functions lol.
Update will come probably tomorrow for that in the code (I hope).
And soon the cheat will be done, only things left are: config to work with gui and few fixes.
Later on the development will be closed as I don't play this game that often to care much.

done


feat: add RAG recipe to the catalog

Fixes #474
What does this PR do?
Add the RAG recipe to the catalog
Screenshot / video of UI
N/A
What issues does this PR fix or reference?
#474
How to test this PR?
Launch the RAG recipe

I didn't test so just a question. Does it work without changing any code from our end? I remember it needed chromadb-server

Yes the chromadb-server is part of the recipe.

I didn't test so just a question. Does it work without changing any code from our end? I remember it needed chromadb-server

Yes the chromadb-server is part of the recipe.

In the readme they say that we have to set the env variable VECTORDB_HOST but this is not something that we do, no? 🤔
podman run --rm -it -p 8501:8501 \
-e MODEL_ENDPOINT=http://<IP_ADDRESS>:8001 \
-e VECTORDB_HOST=<IP_ADDRESS> \
-v Local/path/to/locallm/models/:/rag/models \
rag

In the readme they say that we have to set the env variable VECTORDB_HOST but this is not something that we do, no? 🤔

Ah ok, it works bc by default it calls to port 8000, but the chroma db is empty. Shouldn't we offer to the user a way to add a document to fill the chroma_db, otherwise it's not really useful to use a rag.
That is implemented by the application
Then i guess we would have a problem if port 8000 is busy and right now it exposes 2 ports (the app and chroma server) so if you open the chroma server port from the browser it shows nothing

I am having some issue with the chromadb-server raising a lot of errors in the logs
ERROR:    [06-06-2024 12:11:36] Collection test_collection does not exist.
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/anyio/streams/memory.py", line 97, in receive
    return self.receive_nowait()
           ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/anyio/streams/memory.py", line 92, in receive_nowait
    raise WouldBlock
anyio.WouldBlock

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 159, in call_next
    message = await recv_stream.receive()
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/anyio/streams/memory.py", line 112, in receive
    raise EndOfStream
anyio.EndOfStream

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/chroma/chromadb/server/fastapi/__init__.py", line 78, in catch_exceptions_middleware
    return await call_next(request)
           ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 165, in call_next
    raise app_exc
  File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 151, in coro
    await self.app(scope, receive_or_disconnect, send_no_error)
  File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 189, in __call__
    with collapse_excgroups():
  File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__
    self.gen.throw(typ, value, traceback)
  File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 93, in collapse_excgroups
    raise exc
  File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 191, in __call__
    response = await self.dispatch_func(request, call_next)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/chroma/chromadb/server/fastapi/__init__.py", line 92, in check_http_version_middleware
    return await call_next(request)
           ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 165, in call_next
    raise app_exc
  File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 151, in coro
    await self.app(scope, receive_or_disconnect, send_no_error)
  File "/usr/local/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 65, in __call__
    await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
  File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app
    raise exc
  File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
    await app(scope, receive, sender)
  File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 756, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 776, in app
    await route.handle(scope, receive, send)
  File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 297, in handle
    await self.app(scope, receive, send)
  File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 77, in app
    await wrap_app_handling_exceptions(app, request)(scope, receive, send)
  File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app
    raise exc
  File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
    await app(scope, receive, sender)
  File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 72, in app
    response = await func(request)
               ^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 278, in app
    raw_response = await run_endpoint_function(
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 191, in run_endpoint_function
    return await dependant.call(**values)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/chroma/chromadb/telemetry/opentelemetry/__init__.py", line 130, in wrapper
    return await f(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/chroma/chromadb/server/fastapi/__init__.py", line 729, in delete_collection
    await to_thread.run_sync(
  File "/usr/local/lib/python3.11/site-packages/anyio/to_thread.py", line 56, in run_sync
    return await get_async_backend().run_sync_in_worker_thread(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 2144, in run_sync_in_worker_thread
    return await future
           ^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 851, in run
    result = context.run(func, *args)
             ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/chroma/chromadb/telemetry/opentelemetry/__init__.py", line 143, in wrapper
    return f(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^
  File "/chroma/chromadb/api/segment.py", line 356, in delete_collection
    raise ValueError(f"Collection {name} does not exist.")
ValueError: Collection test_collection does not exist.

That has been discussed with the AI Lab recipes team. That's because the database is empty when it starts so the cleanup of collection fails once (ie when the first document is submitted), they are going to fix it but feature whise the recipe is ok

I'm getting this error at the step Building rag-inference-app:
Something went wrong while building the image: building at STEP "RUN pip install --no-cache-dir --upgrade -r /rag/requirements.txt": while running runtime: exit status 1

When I run the build manually, I get:
$ podman build -f Containerfile .
[...]
INFO: pip is looking at multiple versions of pymilvus to determine which version is compatible with other requirements. This could take a while.
ERROR: Ignored the following versions that require a different python version: 0.10.6 Requires-Python >=2.7, <3.6; 0.10.7 Requires-Python >=2.7, <3.6; 0.55.2 Requires-Python <3.5; 1.21.2 Requires-Python >=3.7,<3.11; 1.21.3 Requires-Python >=3.7,<3.11; 1.21.4 Requires-Python >=3.7,<3.11; 1.21.5 Requires-Python >=3.7,<3.11; 1.21.6 Requires-Python >=3.7,<3.11; 1.6.2 Requires-Python >=3.7,<3.10; 1.6.3 Requires-Python >=3.7,<3.10; 1.7.0 Requires-Python >=3.7,<3.10; 1.7.1 Requires-Python >=3.7,<3.10; 1.7.2 Requires-Python >=3.7,<3.11; 1.7.3 Requires-Python >=3.7,<3.11; 1.8.0 Requires-Python >=3.8,<3.11; 1.8.0rc1 Requires-Python >=3.8,<3.11; 1.8.0rc2 Requires-Python >=3.8,<3.11; 1.8.0rc3 Requires-Python >=3.8,<3.11; 1.8.0rc4 Requires-Python >=3.8,<3.11; 1.8.1 Requires-Python >=3.8,<3.11
ERROR: Could not find a version that satisfies the requirement milvus-lite<2.5.0,>=2.4.0 (from pymilvus) (from versions: none)
ERROR: No matching distribution found for milvus-lite<2.5.0,>=2.4.0
Error: building at STEP "RUN pip install --no-cache-dir --upgrade -r /rag/requirements.txt": while running runtime: exit status 1

I am trying to create a chatbot that I can easily create the RAG from all my .ppt files that we constantly use.  Will this be possible?

I am trying to create a chatbot that I can easily create the RAG from all my .ppt files that we constantly use. Will this be possible?

The RAG recipe is limited to text and PDF files

I am trying to create a chatbot that I can easily create the RAG from all my .ppt files that we constantly use. Will this be possible?

The RAG recipe is limited to text and PDF files

I can definitely convert my .ppt to .pdf.  That wont be an issue.

Just tested again. I see this

It seems related to he latest version of langchain, I got the same issue this morning on ilab: https://github.com/instructlab/instructlab/issues/1389

I am following the directions in: https://github.com/containers/ai-lab-recipes/tree/main/recipes/natural_language_processing/rag and at step Deploy the Model Service it wants me to use host and container port 8001 but these are already in use.  I am receiving this:
barrymosakowski@barrymosakow-mac models % podman run --rm -it \
        -p 8001:8001 \
        -v /Users/barrymosakowski/git/ai-lab-recipes/models:/locallm/models \
        -e MODEL_PATH=models/granite-7b-lab-Q4_K_M.gguf \
        -e HOST=<IP_ADDRESS> \
        -e PORT=8001 \
        llamacppserver
Error: preparing container 94ee283084e9407e61690fe9520fce0ac0e4ac842d6920337f896ce7b197113c for attach: something went wrong with the request: "listen tcp :8001: bind: address already in use\n"
(base) barrymosakowski@barrymosakow-mac models % podman ps
CONTAINER ID  IMAGE                                                                    COMMAND               CREATED         STATUS                   PORTS                                                     NAMES
5da3482b88f5  localhost/podman-pause:5.1.1-1717459200                                                        3 days ago      Up 44 minutes            <IP_ADDRESS>:52382->8001/tcp, <IP_ADDRESS>:52383->8501/tcp          ff9ab25fdd7a-infra
855ca7af8fa1  sha256:e468bda3a1c2c6e2aefc8153cc83830c7943106d9d5c8845740e2bafc4236067                        3 days ago      Up 44 minutes (healthy)  <IP_ADDRESS>:52382->8001/tcp, <IP_ADDRESS>:52383->8501/tcp          streamlit-chat-app-podified-1718387307725
2a5a8e6d1c55  sha256:35738a5299e71f434f9f2549bb0f9c5cdef79a6e0ccdbca7141b6dec2785afef                        3 days ago      Up 44 minutes (healthy)  <IP_ADDRESS>:52382->8001/tcp, <IP_ADDRESS>:52383->8501/tcp          llamacpp-server-podified-1718387307725
d8569ad4b2cf  localhost/podman-pause:5.1.1-1717459200                                                        24 minutes ago  Up 21 minutes            <IP_ADDRESS>:8000-8001->8000-8001/tcp, <IP_ADDRESS>:8501->8501/tcp  3ae5b1146788-infra
6df0d32be9a1  quay.io/ai-lab/rag:latest                                                                      21 minutes ago  Up 21 minutes            <IP_ADDRESS>:8000-8001->8000-8001/tcp, <IP_ADDRESS>:8501->8501/tcp  rag-rag-inference
c181a43c3997  quay.io/ai-lab/chromadb:latest                                           --workers ${CHROM...  21 minutes ago  Up 21 minutes            <IP_ADDRESS>:8000-8001->8000-8001/tcp, <IP_ADDRESS>:8501->8501/tcp  rag-rag-chromadb
21ff75927fcd  quay.io/ai-lab/llamacpp_python:latest                                                          21 minutes ago  Up 21 minutes            <IP_ADDRESS>:8000-8001->8000-8001/tcp, <IP_ADDRESS>:8501->8501/tcp  rag-rag-model-service
(base) barrymosakowski@barrymosakow-mac models %

Also, I am not sure exactly what to put in the models/ directory as per this information,
from huggingface_hub import snapshot_download
snapshot_download(repo_id="BAAI/bge-base-en-v1.5",
                cache_dir="models/",
                local_files_only=False)

If someone is available for a gmeet I am working on really valuable RAG demo and glad to work with someone.

I am trying to bring up the rag recipe based on the instructions and I got to the 'Rag Demo' running on local host:8501.  When I tried to uploade a 3.7MB pdf file.   It crashed.  Here is what I see:
/opt/app-root/lib64/python3.11/site-packages/langchain/_api/module_import.py:120: LangChainDeprecationWarning: Importing SentenceTransformerEmbeddings from langchain.embeddings is deprecated. Please replace deprecated imports:

>> from langchain.embeddings import SentenceTransformerEmbeddings

with new imports of:

>> from langchain_community.embeddings import SentenceTransformerEmbeddings

  warn_deprecated(
Connecting to <IP_ADDRESS>:8000...
Empty VectorDB
Connecting to <IP_ADDRESS>:8000...
Empty VectorDB
Clearing VectorDB...
Couldn't clear the collection possibly because it doesn't exist
Connecting to <IP_ADDRESS>:8000...
Created a chunk of size 244, which is longer than the specified 150
Created a chunk of size 305, which is longer than the specified 150
Created a chunk of size 723, which is longer than the specified 150
Created a chunk of size 168, which is longer than the specified 150
Created a chunk of size 1237, which is longer than the specified 150
Created a chunk of size 243, which is longer than the specified 150
Created a chunk of size 511, which is longer than the specified 150
Created a chunk of size 442, which is longer than the specified 150
Created a chunk of size 305, which is longer than the specified 150
Created a chunk of size 155, which is longer than the specified 150
Created a chunk of size 225, which is longer than the specified 150
Created a chunk of size 252, which is longer than the specified 150
Created a chunk of size 304, which is longer than the specified 150
Created a chunk of size 159, which is longer than the specified 150
Created a chunk of size 346, which is longer than the specified 150
Created a chunk of size 468, which is longer than the specified 150
Created a chunk of size 282, which is longer than the specified 150
Created a chunk of size 153, which is longer than the specified 150
Created a chunk of size 320, which is longer than the specified 150
Created a chunk of size 305, which is longer than the specified 150
Created a chunk of size 632, which is longer than the specified 150
Created a chunk of size 268, which is longer than the specified 150
Created a chunk of size 412, which is longer than the specified 150
Created a chunk of size 350, which is longer than the specified 150
Created a chunk of size 325, which is longer than the specified 150
Created a chunk of size 193, which is longer than the specified 150
Created a chunk of size 211, which is longer than the specified 150
Created a chunk of size 299, which is longer than the specified 150
Created a chunk of size 271, which is longer than the specified 150
Created a chunk of size 165, which is longer than the specified 150
Created a chunk of size 214, which is longer than the specified 150
Created a chunk of size 220, which is longer than the specified 150
Created a chunk of size 182, which is longer than the specified 150
Created a chunk of size 180, which is longer than the specified 150
Created a chunk of size 365, which is longer than the specified 150
Created a chunk of size 569, which is longer than the specified 150
Created a chunk of size 217, which is longer than the specified 150
Created a chunk of size 342, which is longer than the specified 150
Created a chunk of size 165, which is longer than the specified 150
Created a chunk of size 281, which is longer than the specified 150
Created a chunk of size 592, which is longer than the specified 150
Created a chunk of size 255, which is longer than the specified 150
Created a chunk of size 173, which is longer than the specified 150
Created a chunk of size 225, which is longer than the specified 150
Created a chunk of size 238, which is longer than the specified 150
Created a chunk of size 342, which is longer than the specified 150
Created a chunk of size 194, which is longer than the specified 150
Created a chunk of size 177, which is longer than the specified 150
Created a chunk of size 473, which is longer than the specified 150
Created a chunk of size 249, which is longer than the specified 150
Created a chunk of size 231, which is longer than the specified 150
Created a chunk of size 177, which is longer than the specified 150
Created a chunk of size 408, which is longer than the specified 150
Created a chunk of size 159, which is longer than the specified 150
Created a chunk of size 206, which is longer than the specified 150
Created a chunk of size 155, which is longer than the specified 150
Created a chunk of size 225, which is longer than the specified 150
Created a chunk of size 151, which is longer than the specified 150
Created a chunk of size 180, which is longer than the specified 150
Created a chunk of size 313, which is longer than the specified 150
Created a chunk of size 171, which is longer than the specified 150
Created a chunk of size 193, which is longer than the specified 150
Created a chunk of size 349, which is longer than the specified 150
Created a chunk of size 180, which is longer than the specified 150
Created a chunk of size 212, which is longer than the specified 150
Created a chunk of size 184, which is longer than the specified 150
Created a chunk of size 337, which is longer than the specified 150
Created a chunk of size 289, which is longer than the specified 150
Created a chunk of size 373, which is longer than the specified 150
Created a chunk of size 330, which is longer than the specified 150
Created a chunk of size 156, which is longer than the specified 150
Created a chunk of size 179, which is longer than the specified 150
Created a chunk of size 379, which is longer than the specified 150
Created a chunk of size 373, which is longer than the specified 150
Created a chunk of size 182, which is longer than the specified 150
Created a chunk of size 687, which is longer than the specified 150
Created a chunk of size 364, which is longer than the specified 150
Created a chunk of size 159, which is longer than the specified 150
Created a chunk of size 191, which is longer than the specified 150
Created a chunk of size 248, which is longer than the specified 150
Created a chunk of size 192, which is longer than the specified 150
Created a chunk of size 415, which is longer than the specified 150
Created a chunk of size 679, which is longer than the specified 150
Created a chunk of size 349, which is longer than the specified 150
Created a chunk of size 159, which is longer than the specified 150
Created a chunk of size 191, which is longer than the specified 150
Created a chunk of size 248, which is longer than the specified 150
Created a chunk of size 192, which is longer than the specified 150
Created a chunk of size 335, which is longer than the specified 150
Created a chunk of size 178, which is longer than the specified 150
Created a chunk of size 335, which is longer than the specified 150
Created a chunk of size 189, which is longer than the specified 150
Created a chunk of size 362, which is longer than the specified 150
Created a chunk of size 199, which is longer than the specified 150
Created a chunk of size 159, which is longer than the specified 150
Created a chunk of size 191, which is longer than the specified 150
Created a chunk of size 225, which is longer than the specified 150
Created a chunk of size 161, which is longer than the specified 150
Created a chunk of size 335, which is longer than the specified 150
Created a chunk of size 201, which is longer than the specified 150
Created a chunk of size 335, which is longer than the specified 150
Created a chunk of size 189, which is longer than the specified 150
Created a chunk of size 172, which is longer than the specified 150
Created a chunk of size 177, which is longer than the specified 150
Created a chunk of size 271, which is longer than the specified 150
Created a chunk of size 199, which is longer than the specified 150
Created a chunk of size 191, which is longer than the specified 150
Created a chunk of size 225, which is longer than the specified 150
Created a chunk of size 161, which is longer than the specified 150
Created a chunk of size 335, which is longer than the specified 150
Created a chunk of size 263, which is longer than the specified 150
Created a chunk of size 287, which is longer than the specified 150
Created a chunk of size 173, which is longer than the specified 150
Created a chunk of size 166, which is longer than the specified 150
Created a chunk of size 272, which is longer than the specified 150
Created a chunk of size 176, which is longer than the specified 150
Created a chunk of size 206, which is longer than the specified 150
Created a chunk of size 239, which is longer than the specified 150
Created a chunk of size 430, which is longer than the specified 150
Created a chunk of size 353, which is longer than the specified 150
Created a chunk of size 210, which is longer than the specified 150
Created a chunk of size 307, which is longer than the specified 150
Created a chunk of size 296, which is longer than the specified 150
Created a chunk of size 167, which is longer than the specified 150
Created a chunk of size 260, which is longer than the specified 150
Created a chunk of size 1032, which is longer than the specified 150
Created a chunk of size 226, which is longer than the specified 150
Created a chunk of size 198, which is longer than the specified 150
Created a chunk of size 286, which is longer than the specified 150
Created a chunk of size 209, which is longer than the specified 150
Created a chunk of size 255, which is longer than the specified 150
Created a chunk of size 336, which is longer than the specified 150
Created a chunk of size 969, which is longer than the specified 150
Created a chunk of size 155, which is longer than the specified 150
Created a chunk of size 279, which is longer than the specified 150
Created a chunk of size 219, which is longer than the specified 150
Created a chunk of size 179, which is longer than the specified 150
Created a chunk of size 158, which is longer than the specified 150
Created a chunk of size 255, which is longer than the specified 150
Created a chunk of size 173, which is longer than the specified 150
Created a chunk of size 173, which is longer than the specified 150
Created a chunk of size 168, which is longer than the specified 150
Created a chunk of size 161, which is longer than the specified 150
Created a chunk of size 193, which is longer than the specified 150
Created a chunk of size 165, which is longer than the specified 150
Created a chunk of size 704, which is longer than the specified 150
Created a chunk of size 261, which is longer than the specified 150
Created a chunk of size 165, which is longer than the specified 150
Created a chunk of size 243, which is longer than the specified 150
Created a chunk of size 287, which is longer than the specified 150
Created a chunk of size 203, which is longer than the specified 150
Created a chunk of size 630, which is longer than the specified 150
Created a chunk of size 180, which is longer than the specified 150
Created a chunk of size 410, which is longer than the specified 150
Created a chunk of size 157, which is longer than the specified 150
Created a chunk of size 169, which is longer than the specified 150
Created a chunk of size 537, which is longer than the specified 150
Created a chunk of size 219, which is longer than the specified 150
Created a chunk of size 170, which is longer than the specified 150
Created a chunk of size 209, which is longer than the specified 150
Created a chunk of size 547, which is longer than the specified 150
Created a chunk of size 227, which is longer than the specified 150
Created a chunk of size 170, which is longer than the specified 150
Created a chunk of size 227, which is longer than the specified 150
Created a chunk of size 387, which is longer than the specified 150
Created a chunk of size 233, which is longer than the specified 150
Created a chunk of size 219, which is longer than the specified 150
Created a chunk of size 170, which is longer than the specified 150
Created a chunk of size 309, which is longer than the specified 150
Created a chunk of size 362, which is longer than the specified 150
Created a chunk of size 225, which is longer than the specified 150
Created a chunk of size 216, which is longer than the specified 150
Created a chunk of size 259, which is longer than the specified 150
Created a chunk of size 206, which is longer than the specified 150
Created a chunk of size 372, which is longer than the specified 150
Created a chunk of size 352, which is longer than the specified 150
Created a chunk of size 216, which is longer than the specified 150
Created a chunk of size 253, which is longer than the specified 150
Created a chunk of size 405, which is longer than the specified 150
Created a chunk of size 244, which is longer than the specified 150
Created a chunk of size 202, which is longer than the specified 150
Created a chunk of size 378, which is longer than the specified 150
Created a chunk of size 722, which is longer than the specified 150
Created a chunk of size 896, which is longer than the specified 150
Created a chunk of size 821, which is longer than the specified 150
Created a chunk of size 210, which is longer than the specified 150
Created a chunk of size 232, which is longer than the specified 150
Created a chunk of size 631, which is longer than the specified 150
Created a chunk of size 321, which is longer than the specified 150
Created a chunk of size 401, which is longer than the specified 150
Created a chunk of size 293, which is longer than the specified 150
Created a chunk of size 240, which is longer than the specified 150
Created a chunk of size 157, which is longer than the specified 150
Created a chunk of size 247, which is longer than the specified 150
Created a chunk of size 245, which is longer than the specified 150
Created a chunk of size 672, which is longer than the specified 150
Created a chunk of size 239, which is longer than the specified 150
Created a chunk of size 347, which is longer than the specified 150
Created a chunk of size 319, which is longer than the specified 150
Created a chunk of size 299, which is longer than the specified 150
Created a chunk of size 251, which is longer than the specified 150
Created a chunk of size 177, which is longer than the specified 150
Created a chunk of size 233, which is longer than the specified 150
Created a chunk of size 365, which is longer than the specified 150
Created a chunk of size 175, which is longer than the specified 150
Created a chunk of size 283, which is longer than the specified 150
Created a chunk of size 170, which is longer than the specified 150
Created a chunk of size 210, which is longer than the specified 150
Created a chunk of size 290, which is longer than the specified 150
Created a chunk of size 358, which is longer than the specified 150
Created a chunk of size 162, which is longer than the specified 150
Created a chunk of size 478, which is longer than the specified 150
Created a chunk of size 399, which is longer than the specified 150
Created a chunk of size 222, which is longer than the specified 150
Created a chunk of size 310, which is longer than the specified 150
Created a chunk of size 232, which is longer than the specified 150
Created a chunk of size 234, which is longer than the specified 150
Created a chunk of size 229, which is longer than the specified 150
Created a chunk of size 346, which is longer than the specified 150
Created a chunk of size 153, which is longer than the specified 150
Created a chunk of size 257, which is longer than the specified 150
Created a chunk of size 322, which is longer than the specified 150
Created a chunk of size 158, which is longer than the specified 150
Created a chunk of size 161, which is longer than the specified 150
Created a chunk of size 186, which is longer than the specified 150
Created a chunk of size 348, which is longer than the specified 150
Created a chunk of size 193, which is longer than the specified 150
Created a chunk of size 151, which is longer than the specified 150
Created a chunk of size 204, which is longer than the specified 150
Created a chunk of size 255, which is longer than the specified 150
Created a chunk of size 345, which is longer than the specified 150
Created a chunk of size 169, which is longer than the specified 150
Created a chunk of size 241, which is longer than the specified 150
Created a chunk of size 398, which is longer than the specified 150
Created a chunk of size 288, which is longer than the specified 150
Created a chunk of size 163, which is longer than the specified 150
The cache for model files in Transformers v4.22.0 has been updated. Migrating your old cache. This is a one-time only operation. You can interrupt this and resume the migration later on by calling `transformers.utils.move_cache()`.
0it [00:00, ?it/s]
modules.json: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 349/349 [00:00<00:00, 3.23MB/s]
config_sentence_transformers.json: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 124/124 [00:00<00:00, 1.09MB/s]
README.md: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 94.6k/94.6k [00:00<00:00, 2.93MB/s]
sentence_bert_config.json: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 52.0/52.0 [00:00<00:00, 559kB/s]
/opt/app-root/lib64/python3.11/site-packages/huggingface_hub/file_download.py:1132: FutureWarning: `resume_download` is deprecated and will be removed in version 1.0.0. Downloads always resume when possible. If you want to force a new download, use `force_download=True`.
  warnings.warn(
config.json: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 777/777 [00:00<00:00, 7.16MB/s]
model.safetensors:  34%|██████████████████████████████████████████████████████████████████████▋                                                                                | 147M/438M [00:03<00:06, 42.6MB/s]ERRO[1169] Failed to check if e5ff46e3637b3ce63f06f4df5d1b53337515d60d1b18821353387d4604eb992f should restart: Post "http://d/v5.1.1/libpod/containers/e5ff46e3637b3ce63f06f4df5d1b53337515d60d1b18821353387d4604eb992f/shouldrestart": EOF
Error: Post "http://d/v5.1.1/libpod/containers/e5ff46e3637b3ce63f06f4df5d1b53337515d60d1b18821353387d4604eb992f/wait": EOF

That being said.  I did not fully understand what was meant here so I did not do this:
from huggingface_hub import snapshot_download
snapshot_download(repo_id="BAAI/bge-base-en-v1.5",
                cache_dir="models/",
                local_files_only=False)
                ```

Tried again and it worked perfectly


Default town tune is off-key

Current default town tune:

Actual default town tune:

What it should really look like:

If you try playing that tune, does it sound inaccurate to the in-game pitches? I found those higher pitches to do so, it may be a problem of the availablePitches being inaccurate to the games' pitches

If I copy the tune note for note, it sounds exactly the same as the in-game one. The current default one sounds off-key.

Changed the default in branch enhancement/town-tune-editor-player
However this new town tune cannot be used until we have implemented the new bell sounds, from New Leaf, which should include the E3 pitch.


Calc

Did most of the calculator
Things to do
-Make decimal work
-Figure out why infinity sign is breaking everything
-Get negative working

:white_check_mark: Build TimeHACK AppVeyor-332 completed (commit https://github.com/TimeHACKDevs/TimeHACK/commit/79c47750cb by @jtsshieh)


Recommit contact-tracing-dbscan-cpp.ipynb notebook

For some reason, binder isn't picking up the latest notebook, so what this commit does is to recommit the notebook, from the diff I can see that it has the latest changes. Which is strange since it's the same notebook as:
https://raw.githubusercontent.com/mlpack/examples/da0227d7983de4469319dee569417da52569af43/contact-tracing-dbscan-cpp.ipynb
from the #123. Anyway, this should fix the problem.

Alright, now it works correctly, thanks everyone.


chore: remove yjs from codemirror extension

we dont use yjs in the oss repo, lets remove it and install/import it from scalar-org

for some reason im still getting a multiple codemirror/state bug in org 😭 @geoffgscott @amritk
im not entirely sure whats up there

closing in favor of @geoffgscott investigating


[@tanstack/vue-query] Generated hooks have wrong typings

The generated hooks for<EMAIL_ADDRESS>have some wrong typings.
This is probably related to #945?
Environment:

ZenStack version: 1.9.0
Prisma version: 5.10.2
Database type: Postgresql

schema.zmodel
datasource db {
  provider = "postgresql"
  url = env("DATABASE_URL")
}

plugin prisma {
  provider = '@core/prisma'
  format = true
}

plugin hooks {
  provider = '@zenstackhq/tanstack-query'
  target = 'vue'
  version = 'v5'
  output = 'hooks'
}

generator client {
  provider = "prisma-client-js"
}

Screenshots

Hi @juni0r , it's already fixed with #1009 and will be included in the upcoming 1.10.0 release.

Fixed in 1.10.0


Coordinate Conversion input format does not support the - (hyphen) coordinate pair separator character when input is DDM and DMS (ArcMap)

According to the following help topic, ArcMap supports the hyphen - as the separator between degrees and decimal minutes in DDM format, and the separator between degrees, minutes, and seconds in DMS format, however, the Coordinate Convert addin does not supports this.
http://desktop.arcgis.com/en/arcmap/10.3/tools/data-management-toolbox/supported-notation-formats.htm
NOTEs:

The addin should support this capability when the input format is in DDM, and DMS.
The addin should also support this when entering in Longitude Latitude order.

DDM examples:
45-0.0N 100-0.0W
100-0.0W 45-0.0N
DMS examples:
45-0-0N 100-0-0W
100-0-0W 45-0-0N

The following notation should work with either (lat\lon) or (lon\lat)
DDM examples:
45-0.0N 100-0.0W
DMS examples:
45-0-0.0N 100-0-0.0W
However, will need to resolve #207 to handle as below:
DDM examples:
45-0N 100-0W
DMS examples:
45-0-0N 100-0-0W

@jmhauck Installed Pro addin dated 06 Jan 2017 07:40 and tested on ArcMap 10.3.1 and the - (hyphen) character is working. Closing issue.


Compile Error ESP32

The .module member of this structure does not exist on ESP32:

This is the structure definition:

I am getting the exact same issue all of the sudden.
It was working perfectly yesterday.
Arduino IDE. ESP32-S3

compiling ok after Update this and use ESP-DMX 4.0.0


RHO-LOSS Step 4: Implement RHOLossRemoteDownsampler

This PR implements the remote RHO-LOSS downsampler at trainer server, thus finishing the implementation of RHO-LOSS.
How to review
The number of touched files is huge but most of them are nominal changes. Please first take a look at remote_rho_loss_downsampling.py, then at irreducible_loss_producer.py, then at their corresponding unit test files, then at rest files.
What's left
I still need an integration test to connect all pieces together as this selection policy is non-trivial.

feel free to reduce the required coverage to 82%, if that's the blocking issue here


Allow to only sync from MAL and not to

Currently there's a manual option to sync watched states TO MAL and a manual option to sync watched states FROM MAL and there's an automated option to sync to AND from MAL.
I would like to be able to automatically sync from but NOT to MAL.
The reason for this is because I only list the anime I currently watch on MAL and not the ones I plan to.
If I were to use the automated option now, all shows that I have on AniDB, but not on MAL, will all be added to MAL.

Ah you mean just in my list, not watched states. There's an obvious issue with only syncing from with watched states

Well, both. Being able to sync the watched states but ignore (new) shows that arent being watched yet or arent on my MAL list
Not sure what changed(in my own actions or with how shoko works), but lately shoko seems to screw over my MAL watched states..
Watched count being decreased or reset to 0(completed shows as well)
I'm thinking it happens when an episode of a show that doesnt have the same watched states locally as on MAL is imported. But i havent been able to put my finger on it yet

I'm going to rename this and apply it to other cases. It's still valid, just not for MAL


SSL Certificate is not available on https://www.codu.co/

It looks like there is no SSL Certificate installed on the www subdomain https://www.codu.co/ and the naked domain is not redirecting to www.

Thanks for this! I updated things, so it should be all good now. Thanks for the help, @patrickhladun. 🙌


Problems with StaticPaths

When you use getStaticPath in a dynamic route and you go from one to another (for example I have "/ c / [slug] /" and I go from (path1) "/c/1/" to (path2) "/c/2" ) and you use some "set" (for example "quantity"), the asPath of the first render is memorized (in the example it would be (path1). My solution was to stop using the "set" and use
const changeQuery = (query) => {
const newPathname = stringifyUrl ({url: router.asPath, query: {... router.query, ... query}});
const newAsPath = stringifyUrl ({url: router.asPath, query: {... query}});
router.push (newPathname, newAsPath);
};

I'm using
"next": "9.5.3",
"next-usequerystate": "^ 1.3.0",

It may be a nextjs bug because if I do this the same thing happens:
router.query.hello = "2"
router.push (router)

This sounds like a Next.js bug indeed.
It probably comes from the fact that when touching the URL via the Next.js router, a full page re-render occurs, including the <App> component, which runs getStaticProps in development.

Closing this issue as the internals have changed a lot since the 1.3.0 version. Feel free to reopen if still relevant.


We no longer support agvs in Hydro

We deleted agvs entry in hydro/distribution.yaml cause we no longer suppor it in hydro

Hydro is eol-ed anyway so you change will not be taken into account. Your commit also does not modify the ditribution.yaml

Sorry, there was an error and the change was not commited properly,

Our policy is that we do not update EOL'd distros and they are kept as last released for archival purposes. There is no expectation of maintenance of a package in an EOL rosdistro.


Add a word about alignment requirements of arrays to documentation

Maybe you could add a word or two to your documentation concerning the alignment requirements of xsimd::load_aligned and a best practice for std::array, similar to the example for std::vector? Could you comment on whether it is ok to use alignas(XSIMD_DEFAULT_ALIGNMENT) std::array<..., ...> or not? If not, how could I use xsimd::load_aligned for arrays without manually looking up the alignment requirements of a given platform?

Good suggestion!
Regarding std::array it is definitely ok (actually it is the way to go) to use alignas(XSIMD_DEFAULT_ALIGNMENT) std::array<..., ...>.
I will update the documentation as soon as I have the time to do it.


Add support for IList, ICollection

Wilson 6x supported a IList and ICollection using JsonWebToken.TryGetPayloadValue and GetPayloadValue.
This PR adds that support and fixes an issue where datetime was not serialized UniversalTime format.

https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/releases/tag/7.0.0


Snapshot produced by toThrowErrorMatchingSnapshot might not match on CI

Do you want to request a feature or report a bug?
Bug
What is the current behavior?
Using .toThrowErrorMatchingSnapshot() on code that prints error using ansi codes (i.e. using chalk) produces different snapshots if run locally or on CI.
I'm running using jest-validate and here is the test I wrote for it: https://github.com/okonet/lint-staged/pull/141/files#diff-bdc504f1ee32ed7f1704def433667f72R223
This test runs locally but fails on CI. See https://travis-ci.org/okonet/lint-staged/jobs/270725061
If the current behavior is a bug, please provide the steps to reproduce and either a repl.it demo through https://repl.it/languages/jest or a minimal repository on GitHub that we can yarn install and yarn test.
git clone git@github.com:okonet/lint-staged.git
cd lint-staged && npm install && npm test

This should be free of errors. Running same command on Travis CI will fail the build, though: https://travis-ci.org/okonet/lint-staged/jobs/270725061
What is the expected behavior?
Snapshots should match locally and on CI.
Please provide your exact Jest configuration and mention your Jest, node, yarn/npm version and operating system.
Default Jest config with babel-jest
macOS 10.12.
node 8.1.3
npm 5.3.0

I don't think there is anything we can really do about this… If your terminal supports colors in one place but not in another, then the output may differ and toThrowErrorMatchingSnapshot may not be the right matcher for you, unfortunately :(

I'm happy to reopen if there is a proposal that will work consistently, and happy to merge PRs.

You can however create a custom serializer which will strip the colors if they don't matter

Oh yeah, that's a good solution, I like that one.

@cpojer would you merge a PR for the default serializer that does that or adds an option?

Nah, I think publishing that serializer in a separate package makes most sense to me. We can link to it from somewhere on the Jest docs, though (do we have a space for extensions to Jest there?).

We should have a community section with known and reliable libs around Jest

Agreed!

Hi, I'm needing a serializer that performs exactly what was needed in this case, and I can't find it referenced in the docs. I found this community section and from there there's a link to "more resources" and to jest-awesome but I found no such serializer in those places.

Ok we found one, and I'll link to it for future reference to others that pass by this issue:
https://github.com/joaogranado/jest-serializer-ansi


bunny instrumentation is not propagating contexts

Description of the bug

The doc mentions (link):

ℹ The OpenTelemetry Ruby SDK will take care of context propagation as long as your service is leveraging auto-instrumented libraries.

And,

The W3 TraceContext and Baggage propagators are configured by default.

This means we expect the baggage header (among others) to propagate from RabbitMQ publishers to consumers when we use the bunny instrumentation.
However, that is not happening right now. Instead of propagating any contexts (including baggage), the bunny instrumentation drops all contexts in the consumer and starts a new trace.
I got to know from this discussion that bunny instrumentation is trying to follow batch messages receive semantics, that's why it creates new traces and then links them. The initial implementation was also heavily inspired by the ruby_kafa instrumentation.
I don't have an opinion if that's the right way to do this or not. I just checked the AMQP instrumentation in Node.js and found that it doesn't do it like this, it starts a new span from the parent context and propagates context properly.
However, regardless of which message semantic it chooses to follow, I think that not propagating contexts is a bug in the bunny instrumentation.
Additional details:
I believe this is the place where the context is getting lost: https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/1990634acece4b32f56663a720e18b27a14a2b25/instrumentation/bunny/lib/opentelemetry/instrumentation/bunny/patch_helpers.rb#L35C18-L45
Because here we are creating tracer_receive_headers from scratch instead of taking the values from relevant message headers: https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/1990634acece4b32f56663a720e18b27a14a2b25/instrumentation/bunny/lib/opentelemetry/instrumentation/bunny/patch_helpers.rb#L47-L64

Share a simplified reproduction if possible
I've created an example repository to reproduce the problems described in the issue:
https://github.com/mugli/otel-ctx-prop-amqp-pubsub

Just my 2 cents, as recently I've been surprised and struggling with this as well.
AFAIK bunny doesn't batch messages. Both Queue#subscribe and Subscriber#on_delivery receive a block which in turn receives the payload for a single message.
I would expect the spans created by the reception and processing of that particular message to have the context propagated from the publisher. Prior to migrating to OTEL, in my company we were actually propagating our own "trace id" via headers, as there's a clear 1:1 relationship between the publication and reception of a single message with bunny.
It turns out, to add to the discussion, that we're implementing buffering on top of bunny, so our "client" code actually ends up processing a batch of messages in one go. In that case we definitely have to start a new trace for the batch and link it to all the previous traces of the individual messages, but I don't think that's something that should happen before, at the "bunny level".

One more thing to consider: the Sidekiq instrumentation offers the possibility to propagate contexts or link traces via the propagation_style config option.
Not being a spec expert myself by any means, I interpreted that as "ok, maybe in some systems propagating contexts result in huge traces, so people can choose to "cut the trace" and just use links"... And I thought in the case of bunny that decision had been made for us, although I wondered why not take the Sidekiq approach if possible.
Now, from the discussion, it seems the decision was actually based on semantics. I reiterate that I don't think we're dealing with batch receiving in Bunny. And now I wonder why the choice is offered for Sidekiq, since vanilla Sidekiq doesn't even offer batching, but that's another issue (if it's an issue at all).
In any case, leaving semantics aside, could we leave it to the user to choose the propagation style for Bunny, as it's already implemented for Sidekiq?

I'll get oriented on this propagating bunnies issue and see what I can do.

Thanks @robbkidd
So when the OTEP gets merged, this is going to be the final convention for the scenario we're discussing:

For each message it accounts for, the "Deliver" or "Receive" span SHOULD link to the message's creation context. In addition, if it is possible the creation context MAY be set as a parent of the "Deliver" or "Receive" span.

The current Bunny instrumentation will meet the SHOULD part without any modification, as it's already using links. Hopefully we can consider the MAY part, making the "Deliver" span a child of the corresponding "Publish"/"Create" span...? (As shown in the OTEP examples)
I can see it's not an obvious decision, though. The trade-off is expressed in the OTEP itself:

Keeping single-messages operations in the same trace can greatly improve the user experience.

And:

However, in some instances, adding this parent/child relationship might lead to undesired consequences, e. g. to large traces in scenarios where batches are published. Some further attention needs to be paid to those scenarios when the changes proposed in this OTEP are merged into the semantic conventions.

So maybe this can be left as a configuration option? Off by default and opt-in if you want the relationship added, or on by default and opt-out if the traces in your particular case end up being too big.
Glad to write some code (possibly taking the Sidekiq instrumentation as model), do some tests and open a MR if you guys don't have the bandwidth.

i looked at this a bit today, attempting to get an implementation that supports the SHOULD and MAY mentioned in https://github.com/open-telemetry/opentelemetry-ruby-contrib/issues/526#issuecomment-1610784816
i've written up the issues i ran into in a commit message along with my best-effort implementation:
https://github.com/open-telemetry/opentelemetry-ruby-contrib/compare/open-telemetry:opentelemetry-ruby-contrib:main...no-reply:opentelemetry-ruby-contrib:bunny-prop

importantly, it's not true that the current implementation meets the SHOULD. instead, it adds the recommended links to the "Process" span. as described in the OTEP) it's probably not possible to add them to the "Receive" span without specification changes; the needed headers are fetched during that span.
i don't see a clear way forward at this point. we could always add a configuration flag, following the sidekiq instrumentation, and add the context as parent for the "Process" span. this will orphan "Process" from "Receive" though, and that seems like a pretty big downside.
if we can decide on a direction, i'm motivated to get an implementation. as it stands, i'm feeling pretty stuck.

Edit: @no-reply If we manage to make a deliver span the first one in the consumer, it should be easier to always link it to the last producer span, as the SHOULD says, and optionally add a parent/child relationship, right?

i think it depends on details about the new implementation, but my guess is it won't be any easier. the structure of the problem is that we need to open the "Deliver"/"Receive" span before delivery/reception actually takes place, but won't have the data necessary to link and/or propagate context until that process is substantially completed.
the larger reorganization you're suggesting makes sense to me (having only recently started looking at this library seriously), but i think it probably doesn't change the ground for this discussion either way.

What do you guys think it's the best place to discuss the whole situation? This issue, a new one, some other place/mechanism better suited for discussing "big changes"...?

I will leave this decision to you all. Please let the @open-telemetry/ruby-contrib-approvers know how you intend on collaborating and we will support you all with feedback on design and in code reviews.
Also, if you all are able to join the community SIG meeting to discuss any details via zoom you are most welcome! Please check the OTel Community Calendar for meeting times.
Thank you very much to @no-reply @bolandoboy @mugli for your willingness to collaborate and help us improve this instrumentation!

i think it depends on details about the new implementation, but my guess is it won't be any easier. the structure of the problem is that we need to open the "Deliver"/"Receive" span before delivery/reception actually takes place, but won't have the data necessary to link and/or propagate context until that process is substantially completed.
the larger reorganization you're suggesting makes sense to me (having only recently started looking at this library seriously), but i think it probably doesn't change the ground for this discussion either way.

Let me play this weekend a bit (yes, I have strange hobbies :-D), because I'm almost sure that at the point where messages are delivered to application code, we can access the message headers where the context propagated from the producer comes (IIRC).
Hopefully I can come back with an initial implementation, and then we can follow the steps to move it through the channels @arielvalentin mentioned above. (And if not, I'll leave it to more knowledgeable contributors.)

@bolandoboy "But if it be a sin to covet ~honour~ time on the wknds to work on OSS, I am the most offending soul alive"

Let me play this weekend a bit (yes, I have strange hobbies :-D)

sounds good @bolandoboy.

Also, if you all are able to join the community SIG meeting to discuss any details via zoom you are most welcome! Please check the OTel Community Calendar for meeting times.

thanks @arielvalentin! i've added this to my calendar and will try to make it next week, if only to say hi.

Finally managed to move some code around and get preliminary results.
(Slight tangent: I couldn't get the example in the repo to export traces to the collector + Jaeger. Started getting protobuf errors and eventually segmentation faults on a Mac M1. I had to end up using a non-Alpine Ruby image.)
I changed the example to use q.subscribe instead of q.pop, just because I'm more familiar with the push mode of AMQP and I knew better what methods to patch, but the change should be trivial for pop.
Removing the loop_once and receive spans, and sticking to spans the OTEP says (publish and deliver), a single message triggers the creation of 2 different traces, with a link from deliver to publish.

The publish trace:

The deliver trace:

The other option, which currently I toggle very dirtily commenting/uncommenting a particular line, but could be easily configurable, is to make the deliver span a child of publish. In this case only a single trace is created.

 I haven't even ran the tests and I must have broken most of them. If somebody is interested I can push the changes, but I think the point was seeing that this can be done, and then decide if we want to go down this route.
I'll try to attend the next SIG meeting. Thanks @arielvalentin!!!

@no-reply In this branch there's some code that tentatively meets the future semantic conventions from OTEP 220: https://github.com/bolandoboy/opentelemetry-ruby-contrib/tree/otep-0220-messaging-semantic-conventions-span-structure
Changes with respect to the current version:

The producer span is called publish instead of send.
The consumer spans are called deliver when you subscribe to a queue and process messages asynchronously, and receive if you pop synchronously from a queue.
By default you get 2 separate traces, with the consumer span linked to the producer span.
With a new configuration option called extend_producer_trace for now, the consumer spans are created as children of the producer span, in which case you get a single trace. There are examples in the, well, examples directory.
Speaking of which, there was only an example with pop. I've added examples with subscribe.
There's no Bunny::run_once span, which isn't part of the specification and was quite noisy (IMO) anyway. Everybody in my company was asking "what's this span showing up at the top of every query taking 30 seconds?"
The previously called receive span, which was the parent of process, goes away too. It was hard to understand why it took from 0 to 30 seconds. Now receive follows the semantics of the specification.

This is a draft. Things left for even considering releasing this (apart from the OTEP being merge in the spec):

Tests!!! I haven't touched the tests. They're not even running for me locally. My next step is working on this.
settle span for acknowledgements.
Use the `opentelemetry-semantic_conventions gem instead of hardcoding span and attribute names.
Maybe discuss span naming and attributes...? For example, do we want the spans to be named just deliver or deliver exchange.queue as it is now? And are there any other attributes we might be interested in adding to spans? (For example, info about redeliveries, maybe message headers...)
Actually discuss if we want to get rid of the spans I removed. Surely they existed for some reason. Maybe my changes have unintended consequences.

added the keep label here. Seems like open question still, unless this should've been closed per some context from sig mtgs or is better tracked via another issue.

Did this manage to get through allowing for a consumer trace to be part of the parent deliver context? Reached this point after reading the equivalent option of sidekiq, which seems pretty handy if you want to have all spans in a single view/graph


Zero Month in date

Are you sure the time on your PC is correct? Also, what timezone are you in?


Enterprise Git clone fails in tekton taskrun

Issue: The enterprise git (github.xxx.com) clone step fails when running the taskrun in tekton.
Platform: OpenShift: 3.11
Tekton Pipeline version: v0.12.1
Step name: step-git-source-clone
Error log:
{"level":"error","ts":1590679054.7200413,"caller":"git/git.go:41","msg":"Error running git [fetch --recurse-submodules=yes --depth=1 origin --update-head-ok --force master]: exit status 128\nfatal: could not read Username for 'https://github.xxx.com':  No such device or address\n","stacktrace":"github.com/tektoncd/pipeline/pkg/git.run\n\tgithub.com/tektoncd/pipeline/pkg/git/git.go:41\ngithub.com/tektoncd/pipeline/pkg/git.Fetch\n\tgithub.com/tektoncd/pipeline/pkg/git/git.go:116\nmain.main\n\tgithub.com/tektoncd/pipeline/cmd/git-init/main.go:53\nruntime.main\n\truntime/proc.go:203"}
I'm not sure why this step is trying to look for a username when the enterprise git authentication should happen via ssh. Please find the config of the secrets and serviceaccount. Note that the ssh keys are in base64 encoded format.
apiVersion: v1
kind: Secret
type: kubernetes.io/ssh-auth
metadata:
name: ssh-key
annotations:
tekton.dev/git-0: github.xxx.com
data:
ssh-privatekey: "xxxxx
xxxxx
xxxxxxx"
known_hosts: "xxxxx
xxxxx
xxxxx"
apiVersion: v1
kind: ServiceAccount
metadata:
name: build-bot
secrets:

name: ssh-key
name: regcred

Note - The secret is added to service account for taskrun. Reference link for configuring ssh git: https://github.com/tektoncd/pipeline/blob/master/docs/auth.md#ssh-authentication-git
Any help to fix this issue?
--

Could you post a sanitized copy of the Pod YAML that ran for this TaskRun?  You can get the Pod's name by checking the podName field on the TaskRun and then run
kubectl get -o yaml pod <name of pod>

I'm interested to take a look at the args that were passed to the creds-init initContainer and the volumes that were provided to it.
Also, just to confirm: your ssh-privatekey appears to span multiple lines - is the base64 string split like this?  I wonder if that could be a factor.

@sbwsg : I have generated a base64 encoded output of the ssh-privatekey and known_hosts, have aligned them in a single line but it failed. Then I tried to put them in separate line for UI convenience as its too long.
pod.txt
The sanitized copy of pod yaml is attached.
Please help!

Ah, it looks like maybe you're passing an https URL in your git PipelineResource?  I think it should be a git@ ssh-style URL instead (e.g. git@github.com:tektoncd/pipeline.git)?

@sbwsg : I replaced the URL to git@ ssh-style URL and it worked like a charm. Thanks a ton! (I had spent almost 2 days in this issue and finally now fixed)
Note: I have a separate issue now with image push to OCP registry, do I open a separate issue or continue in this issue thread?

Note: I have a separate issue now with image push to OCP registry, do I open a separate issue or continue in this issue thread?

Sure, a new issue would be great, thanks!


grouped convolution for intel64 backed environment

The aim of this PR is to enable use of grouped convolution when using intel64 backend.
Since basic implementation for grouped convolution was done before intel64 backend was merged, current convolution implementation just fallbacks to naive im2col implementation if groups option was specified.
In this PR, I improved to call ideep4py convolution function even when groups keyword is specified.
Simple benchmark result shows drastical performance improvement, ideep4py is roughly 20 times faster than naive implementation. In addition, memory consumption is also improved.
## benchmarker:         release 4.0.1 (for python)
## python version:      3.6.3
## python compiler:     GCC 7.2.0
## python platform:     Linux-4.13.0-32-generic-x86_64-with-Ubuntu-17.10-artful
## python executable:   /usr/bin/python3
## cpu model:           Intel(R) Core(TM) i5-7260U CPU @ 2.20GHz  # 2200.000 MHz
## parameters:          loop=10, cycle=1, extra=0

##                        real    (total    = user    + sys)
default                20.2652   20.4700   11.8500    8.6200
ideep                   0.9327    1.8500    1.7000    0.1500

## Ranking                real
ideep                   0.9327  (100.0) ********************
default                20.2652  (  4.6) *

## Matrix                 real    [01]    [02]
[01] ideep              0.9327   100.0  2172.8
[02] default           20.2652     4.6   100.0

Here is the benchmark script.
import numpy
import chainer
import chainer.functions as F
from benchmarker import Benchmarker

x = numpy.random.uniform(-1, 1, (10, 64, 221, 221)).astype(numpy.float32)
w = numpy.random.uniform(-1, 1, (64, 8, 3, 3)).astype(numpy.float32)
x = chainer.Variable(x)

with Benchmarker(10, width=20) as bench:
    @bench('default')
    def default(bm):
        for i in bm:
            with chainer.using_config('use_ideep', 'never'):
                y = F.convolution_2d(x, w, None, 1, 1, groups=8)
    @bench('ideep')
    def insertion(bm):
        for i in bm:
            with chainer.using_config('use_ideep', 'always'):
                y = F.convolution_2d(x, w, None, 1, 1, groups=8)

Thanks for your advice, I completed improvements. Please confirm.
Luckily, the result of unit tests were all green at this time.

How about the status of this PR? I'm thinking that the code itself is ready to merge.

I'm sorry for the delay.
The code looks good. Could you please resolve the conflict?
I'll merge after that.

@tkng Ping?

I resolved the conflict, as it seems trivial.
@kmaehashi Could you check it?

LGTM!

Jenkins, test this please.

LGTM!

@niboshi Do you think this is to be backported? (I think it's ok to backport this)

@kmaehashi
Hmm, I don't have a strong opinion about that, but I think it's beneficial for v4 users to broaden iDeep support in v4.

OK, then I'll backport this PR.


WIP: Add watcher metrics E2E tests

Description
Changes proposed in this pull request:

Add watcher metrics E2E tests

Related issue(s)
Resolves #183

/retest

/retest

/retest


Syncpad for Simplenote is not installing from Chrome Store

Chrome Version: 44.0.2403.9 m (64-bit)
Chrome's error message:
Package is invalid. Details: 'Could not load extension icon 'images/icon_96.png'.'. [ok] x

See https://github.com/gsingh93/simplenote

What do you mean see? See what? Where? Do you expect people to look around wasting time? If it's your app and you put it in chrome store than you better make sure it's easy accessible. Jesus man

@cikatomo, did you not see the link I posted:  https://github.com/gsingh93/simplenote
This is not my app. I forked it, made some bug fixes, and pushed an alternate version as a fork.

I apologize, maybe I am just little bit tired. You did a good job. I am using your fork right now. Thank you Sir!


⚠ Fetchers has degraded performance

In 2562fc3, Fetchers ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 158 ms

Resolved: Fetchers performance has improved in 1119b32.


Can't switch song

I have installed latest mopidy and latest Mopidy-Tidal and every time i try to switch song, previous song starts all over again. In the end, i am able to play only one song, even local music.
Without this plugin, mopidy works flawlessly. Any clues, what could cause this? Here is my mopidy.conf
#   http://docs.mopidy.com/
#
# The initial commented out values reflect the defaults as of:
#   Mopidy 2.1.0
#   Mopidy-File 2.1.0
#   Mopidy-HTTP 2.1.0
#   Mopidy-Local 2.1.0
#   Mopidy-M3U 2.1.0
#   Mopidy-MPD 2.1.0
#   Mopidy-SoftwareMixer 2.1.0
#   Mopidy-Stream 2.1.0
#
# Available options and defaults might have changed since then,
# run `mopidy config` to see the current effective config and
# `mopidy --version` to check the current version.

[core]
#cache_dir = $XDG_CACHE_DIR/mopidy
#config_dir = $XDG_CONFIG_DIR/mopidy
#data_dir = $XDG_DATA_DIR/mopidy
#max_tracklist_length = 10000
#restore_state = false

[logging]
#color = true
#console_format = %(levelname)-8s %(message)s
#debug_format = %(levelname)-8s %(asctime)s [%(process)d:%(threadName)s] %(name)s\n  %(message)s
#debug_file = mopidy.log
#config_file =

[audio]
#mixer = software
#mixer_volume =
#output = autoaudiosink
#buffer_time =

[proxy]
#scheme =
#hostname =
#port =
#username =
#password =

[mpd]
enabled = true
hostname = <IP_ADDRESS>
port = 6600
password = uberpass
max_connections = 20
connection_timeout = 60
zeroconf = Mopidy MPD server on $hostname
command_blacklist =
  listall
  listallinfo
  update
default_playlist_scheme = m3u

[http]
#enabled = true
#hostname = <IP_ADDRESS>
#port = 6680
#static_dir =
#zeroconf = Mopidy HTTP server on $hostname

[stream]
#enabled = true
#protocols =
#  http
#  https
#  mms
#  rtmp
#  rtmps
#  rtsp
#metadata_blacklist =
#timeout = 5000

[m3u]
#enabled = true
#base_dir =
#default_encoding = latin-1
#default_extension = .m3u8
#playlists_dir =

[softwaremixer]
#enabled = true

[file]
enabled = true
media_dirs =
  $XDG_MUSIC_DIR|Music
  ~/|Home
excluded_file_extensions =
  .jpg
  .jpeg
show_dotfiles = false
follow_symlinks = false
metadata_timeout = 1000

[local]
enabled = true
library = json
media_dir = ~/Music
scan_timeout = 1000
scan_flush_threshold = 100
scan_follow_symlinks = false
excluded_file_extensions =
  .directory
  .html
  .jpeg
  .jpg
  .log
  .nfo
  .png
  .txt

[tidal]
enabled = true
username =<EMAIL_ADDRESS>password = lolpasswordhere
quality = LOSSLESS

I just installed this extension, noticed the same thing. Lol. I also get a ton of error messages in the logs all the time:

Nope, but I found out what is going on. Mopidy uses gstreamer as backend, which takes URL of tidal track. But! For some reason it continues to play previous media. Funny thing this is happening only with tidal-mopidy. FOR NO OBVIOUS REASON!

Today i noticed strange behavior. I am still unable to switch song manually, but song now switches automatically at the end.

I have this same issue. Wish this project was still maintained.


Improve feedback for issue reporter

I noticed that some issues are closed without providing clear information when the issue is fixed. In these cases a developer drops a line like "This will be closed in the upcoming release" and closes the issue. Usually an issue is closed when it's merged into the development branch. It's nice to know that you plan to fix the issue, but contributors can keep track of the progress much easier if the issue is closed when it's actually fixed, e.g. in the commit message.
Examples:

https://github.com/GIScience/openrouteservice-app/issues/137
https://github.com/GIScience/openrouteservice-app/issues/252

Here is another example of a closed issue where the issue is still present on https://maps.openrouteservice.org :

https://github.com/GIScience/openrouteservice-app/issues/277

On some you're right, on some not;)
We'll add some updates to the README. Basically, geocoding issues don't belong in this issue tracker. It's not the tracker for https://maps.openrouteservice.org, but for the web app, of which our map instance is just one instance.
Please use https://ask.openrouteservice.org for issues with our live maps web app.


Improving the explore section contents

when we click the explore section  the text/contents are not fitted in the box. I want to improve this page. Please assign this to me .
Thankyou.

@Rajata-Hegde this issue was there already and he is working on it , he has created the PR and resolving it.
So i am closing this issue.


follow binja plugin spec

__init__.py makes installation easier on pre-plugin system too.
for linux I just do:
cd ~/.binaryninja/plugins
git clone https://github.com/snare/binjatron
echo "import binjatron" >> wrapper.py

If this is going to be a package I'd rather it had a setup.py etc as well. I'll take a look tomorrow.

On 3 Oct. 2016, at 6:50 am, lucasduffey<EMAIL_ADDRESS>wrote:
You can view, comment on, or merge this pull request online at:
https://github.com/snare/binjatron/pull/3
Commit Summary
follow binja plugin spec
File Changes
R init.py (0)
Patch Links:
https://github.com/snare/binjatron/pull/3.patch
https://github.com/snare/binjatron/pull/3.diff
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.


Feature: Queueing information

It is possible to enter the public queue solo, duo, or as a trio. This has a significant impact on the outcome of a match and therefore analysis because the coordination and communication of a trio is better than that of 3 solo players.
The API should have a value like a "team id" on participant (not to be confused with in game teams which function like tiny guilds) which establishes a relationship between players that entered the queue together.

I checked into this one, it's considered private information to the match making system and there is concern about exposing it.


Process vbc command to analyze visual basic projects

Cool! This hasn't gone unnoticed, just been very crunched for time lately. Hopefully I can take a closer look very soon and get this merged.

Any chance you could add a test project like the one we have for F# in /tests/projects/FSharpProject? With some associated analyzer tests that analyze that project it would give confidence the VB support is continuing to work and doesn't regress in the future.

Thanks for adding a project test. Everything looks good code-wise and all tests succeeded locally. Assuming the CI build passes, we're good to go. Thanks! This was a very welcome update.


Reapply "Explicitly copy defsIDependUpon into an appropriately sized array when initializing SourceFileDependencyGraph.Node"

Reapplying the reverted PR with an extra type annotation which will hopefully allow it to compile with hosttools.
Previously, the removeAll call below the initializer would trigger CoW. If the scratch buffer was larger than the count, this would result in an unnecessarily large allocation. In a very large source file, the source-file-provides-implementation node may have multiple orders of magnitude more edges compared to any other node in the graph, which could lead to excessive memory usage and a large slowdown deallocating the array storage when tearing down the graph.
I tested this using the swiftdeps from an artificially generated swiftdeps with 50k empty struct declarations. Before this change, it took 31s to load and destroy, after this change it only took 0.25s.
rdar://95648282

Cross-repo testing here: https://github.com/apple/swift/pull/59758


RecursionError: maximum recursion depth exceeded while calling a Python object

....[truncated].....
 File "/python3.9/site-packages/utoken/utokenize.py", line 775, in next_tok
    s = next_tokenization_function(s, chart, ht, lang_code, line_id, offset)
  File "/python3.9/site-packages/utoken/utokenize.py", line 1531, in tokenize_lexical_according_to_resource_entries
    return self.next_tok(this_function, s, chart, ht, lang_code, line_id, offset)
  File "/python3.9/site-packages/utoken/utokenize.py", line 775, in next_tok
    s = next_tokenization_function(s, chart, ht, lang_code, line_id, offset)
  File "/python3.9/site-packages/utoken/utokenize.py", line 1038, in tokenize_complex_names
    return self.next_tok(this_function, s, chart, ht, lang_code, line_id, offset)
  File "/python3.9/site-packages/utoken/utokenize.py", line 775, in next_tok
    s = next_tokenization_function(s, chart, ht, lang_code, line_id, offset)
  File "/python3.9/site-packages/utoken/utokenize.py", line 1647, in tokenize_mt_punctuation
    return self.next_tok(this_function, s, chart, ht, lang_code, line_id, offset)
  File "/python3.9/site-packages/utoken/utokenize.py", line 775, in next_tok
    s = next_tokenization_function(s, chart, ht, lang_code, line_id, offset)
  File "/python3.9/site-packages/utoken/utokenize.py", line 1580, in tokenize_punctuation_according_to_resource_entries
    return self.next_tok(this_function, s, chart, ht, lang_code, line_id, offset)
  File "/python3.9/site-packages/utoken/utokenize.py", line 775, in next_tok
    s = next_tokenization_function(s, chart, ht, lang_code, line_id, offset)
  File "/python3.9/site-packages/utoken/utokenize.py", line 1657, in tokenize_post_punct
    return self.next_tok(this_function, s, chart, ht, lang_code, line_id, offset)
  File "/python3.9/site-packages/utoken/utokenize.py", line 775, in next_tok
    s = next_tokenization_function(s, chart, ht, lang_code, line_id, offset)
  File "/python3.9/site-packages/utoken/utokenize.py", line 1707, in tokenize_main
RecursionError: maximum recursion depth exceeded while calling a Python object

I ran utoken on a bunch of files, and some of them are very large, so I don't know for sure which exact data/lines made your code go into infinite recursion.
@uhermjakob is it possible to debug from the stack trace without having the sample data?
I will try to produce locate the lines which caused this problem (it's a needle in the hay!)

Here is how to reproduce this problem
# install
$ pip install tqdm
$ pip install https://github.com/thammegowda/mtdata/archive/develop.zip

$ mtdata get -l kan-eng -tr AI4Bharath-samananthar-0.2-eng-kan -o kan-eng

# verify you have the same file (~4M lines)
$ wc -l kan-eng/train-parts/AI4Bharath-samananthar-0.2-eng-kan.kan
4014931 kan-eng/train-parts/AI4Bharath-samananthar-0.2-eng-kan.kan

# it freezes around ~340 lines,
$ cat kan-eng/train-parts/AI4Bharath-samananthar-0.2-eng-kan.kan | tqdm --total=4014931 |  utokenize --lc kan -o tmp.txt
  8%|█                                                           | 340957/4014931 [01:50<16:27, 3718.95it/s]


Add test butler APK for physical devices

Still TODO: README.md explaining the what this is for and how it is used.
What this is for:
Allows you to use the TestButler library on physical (i.e. plugged in) devices or non-stock emulators.
How to use:

Use adb reverse tcp:5038 tcp:5037 to open port from device to ADB server
Install test-butler-app-physical-devices APK
Use the same TestButler library as normal.

How it works:
(See ButlerService.java for a full explanation)
When started, ButlerService uses adb shell to start a Java process as the shell user, which has access to system APIs not accessible by apps. (Everything in the shell package is part of that process.) The process implements the ButlerApi AIDL using those protected system APIs and sends back a Binder (a proxy ButlerApi) to the ButlerService via broadcast. ButlerService then acts as an intermediate, forwarding calls from the TestButler library to the shell-based ButlerApi implementation via the Binder.
Tested on the following devices:

Google Pixel 3 - Android 9
LG Nexus 5X - Android 8.1
LG G6 - Android 8.0
Nexus 6 - Android 7.1
VIVO V5S - Android 7.0
Samsung Galaxy J7 Prime - Android 6.0

This is a game changer! Does this mean now we can test on Google play enabled emulators as well as Google API emulators? If so, this is huge! Thank you!
What about a small Gradle plugin to do the adb reverse call when you install the apk? Would that be worth doing?


Enable Greenkeeper

https://greenkeeper.io/
Do we want to enable Greenkeeper to automate dependency updates?

Maybe also consider https://www.npmjs.com/package/renovate
I have no preference/opinion either way, just throwing it out there.


codespace infinte loading

codespace won't load.
it either gets stuck on connecting window, starting window or just infinitely loops when the IDE opens. Can't use CLI, folders in GUI can't be accessed, just loads forever.
Version: 1.72.1
Commit: 129500ee4c8ab7263461ffe327268ba56b9f210d
User Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36
Embedder: codespaces

Please open a topic at https://github.com/community/community/discussions


Don't destroy string builder after rendering.

First of all, thanks for a great package!
When using odin-http and odin-mustache, my http responses got garbled and the reason seems to be that odin-mustache destroys the string builder after rendering, and consequently the returned string.
I simply changed it so that the builder that was used to create the resulting string is not destroyed.

Thanks, looks good to me for now!
As a better fix in the long run, I have been meaning to update each rendering proc to take an allocator := context.allocator argument. This will give the user more control over how they want to manage the memory used for strings built inside odin-mustache.


feature request: generics support

Would you support generics? I am willing to help.

Can you tell what kind of support you have it mind? I haven't looked at the go generics too closely yet.

Can you tell what kind of support you have it mind? I haven't looked at the go generics too closely yet.

It would be heavy changes. Forget about it. Sry.


Add --non-interactive option to run Docker without "-it" flags

Needed to run tgf as part of unit tests (with pytest for example)

Pull Request Test Coverage Report for Build 725

0 of 13 (0.0%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.2%) to 16.249%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

main.go
0
2
0.0%

docker.go
0
5
0.0%

arguments.go
0
6
0.0%

Totals

Change from base Build 720:
-0.2%

Covered Lines:
149

Relevant Lines:
917

💛  - Coveralls


Definition of origin is bugged?

When you have a machine (as an example Creality Endre3Pro) with its coordinates originating at bottom-left corner, you must use the same geometrical reference (if you want to remain sane, that is).
The latest version of Inkscape (V 1.1.1 (3bf5ae0d25), 2021-09-20) has changed its coordinate system as compared to previous versions 0.92.
However, although the default is top-left origin, you still can specify a bottom-left one by going to Edit\Preferences\Interface\untick the box "Origin at upper left with y-axis pointing down"
The corresponding version of JTech Photonic Laser Tool is v2.4, which accordingly has the option to choose top-left or bottom-left corner. This is specified in Extensions..\JTech Community Laser Tool\Cordinate System & Transformations choosing list
This, I believe, has a bug.
Whatever you specify, the JTech tool will install a top-left origin. This you can see after the routine has run, since the origin is marked on the "debug reference points" layer just created. If you simulate your g-code you will get a confirmation of that.
This results in a g-code that cannot be executed by your machine because it has negative Y values, which are refused by the machine as they are outside its bed!
This is apparently not new, if I refer to the GitHub https://github.com/JTechPhotonics/J-Tech-Photonics-Laser-Tool/releases with post #33). A reversal of the Y-axis appears to have been introduced in an attempt to solve the problem. This creates a symetry with respect to the x-axis, which is very different from the required displacement along Y-axis.
Until a revised version is available, I apply the following geometric "patch".
Once my design is complete in Inkscape, I read the Page Height from File\Document Properties\Custom Size\Height.
Then I move the design upwards: Select the whole design and replace its Y value by Y + PageHeight. The design moves up, out of the designated Page, but is correctly located with respect to the (future JTech) origin.
Then, as before Select the design, Path\Object to path and Extension..\Jtect Community Laser tool\provide parameters + Apply.
The digital version would be to change all Y values of the object file by Y + PageHeight.
My competency in python is not adequate to do that; can someone with correct competency check this and apply correction, please

I am also having this issue. No matter what I choose, origin is always top-left. Anyone working on this?

I think I'm facing the same issue, the plugin is non-functional anymore. The output starts with a large Y offset (or sometimes negative values of X, for an unknown reason) and it seems to me it's reversed no matter whether I click the "invert Y axis" or not. Also I don't understand what the "bed X and Y" values are for, maybe a security for some devices ? It seems to participate to calculating the wrong values for me and they appeared to be "less wrong" (i.e X no more negative) when I set 0 to both, but that looks really odd. I feel like I'll have to reinstall my PC with the previous OS and packages if I still want to use my engraver as I have no idea what's wrong there and can't read (let alone write) python :-(  I'm tempted to try to revert to plugin version 1.1 which didn't rely on this new lib, but I don't know if it will be compatible with inkscape 1.2.

After updating to Ubuntu 23.04 (and Inkscape 1.2) I've got similar problems with the master code. X is OK, but every time Y shifted (and bed size set affects this as well).
After several tries I discovered svg2gcode (https://github.com/sameer/svg2gcode) the works perfectly.


Navigation Bar

HI, I'm having trouble with the navBar. When I set the navbar hidden = true, The bar will be hidden when pushed but not so in tab bar scene.

have you set hideNavBar for that scene?

I have a tab scene as my initial scene. but the navbar is not visible when the container scene's navbar is not set to hidden=true. But when I set it to false, the navbar will appear. but when i press a button on my launch page, the pushed page doesn't show the navbar.

<Scene key="main">     <Scene key="tab" component={TabBar} tabs={true} initial={true}>         <Scene key="board" component={ExamBoard} title="Exam Board" initial={true} icon={TabIcon}/>         <Scene key="profile" component={ProfileView} title="Profile" icon={TabIcon}/>         <Scene key="setting" component={TabView} title="Settings"  icon={TabIcon}/>         <Scene key="more" component={TabView} title="More"  icon={TabIcon}/>     </Scene>     <Scene key="administrative" component={Admin_Exam} title="Assessment" leftTitle=" "/>     <Scene key="communications" component={Communications_Exam} title="Assessment" leftTitle=" "/>     <Scene key="creativity" component={Creativity_Exam} title="Assessment" leftTitle=" " />     <Scene key="human_relations" component={HR_Exam} title="Assessment" leftTitle=" "/>     <Scene key="leadership" component={Leadership_Exam} title="Assessment" leftTitle=" "/>     <Scene key="problem_solving" component={Problem_Solving_Exam} title="Assessment" leftTitle=" "/>     <Scene key="emotional_quotient" component={EQ_Exam} title="EQ Exam" leftTitle=" "/>     <Scene key="result" component={ResultView} title="Human Interaction Skills" leftTitle=" "/>   </Scene>

Could you modify Example to show the problem?

On 17 Mar 2016, at 10:28, ajoshdee<EMAIL_ADDRESS>wrote:

—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub https://github.com/aksonov/react-native-router-flux/issues/332#issuecomment-197786840

To put it simply, it acts just like a switch, if i turn the container scene off I can see the navbar of the tab scenes, but can't see the navbar of the other scenes . If I turn it on, I can't see the navbar of the tab scenes, but can see the navbar of the other scenes.

oh I solved it, I just needed to set my tab scene's nav bar to false.


TagBot trigger issue

This issue is used to trigger TagBot; feel free to unsubscribe.
If you haven't already, you should update your TagBot.yml to include issue comment triggers.
Please see this post on Discourse for instructions and more details.
If you'd like for me to do this for you, comment TagBot fix on this issue.
I'll open a PR within a few hours, please be patient!

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/37280

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/55886


Beejones/silent sdk

Problem:
The SDK is too noisy in its console.log activiteit
Solution:
Remove console.log dumps
Validation:
Current unit tests keep working
Type of change:

[ ] Feature work
[x] Bug fix
[ ] Documentation
[ ] Engineering change
[ ] Test
[ ] Logging/Telemetry

Risk:

[ ] High – Errors could cause MAJOR regression of many scenarios. (Example: new large features or high level infrastructure changes)
[ ] Medium – Errors could cause regression of 1 or more scenarios. (Example: somewhat complex bug fixes, small new features)
[x] Small – No issues are expected. (Example: Very small bug fixes, string changes, or configuration settings changes)

We be merged into new PR

We be merged into new PR


Possible to get hidden mailbox areas on exchange server?

There are hidden areas under user mailbox where Microsoft applications put information to. For example if you are a tenant admin you can dump all information from a users mailbox to a PST file, including the hidden information called " (Primary)":

Is that possible to get these information as a normal user using MFCMAPI?

Hi it's resolved.
The reason why I wasn't able to see all hidden folders is that Outlook client has cache enabled. after I disable the cache, I can see all hidden folders.


Set VENDOR_TEST_DIRS to functional

Signed-off-by: Lan Xia<EMAIL_ADDRESS>

@AdamBrousseau could you review the PR? Thanks


Color theme issue when reloading window after change of System color scheme

Does this issue occur when all extensions are disabled?: Yes

VS Code Version: 1.59.0-insider (but it's been doing this for many versions, even non insiders)
OS Version: macOS 11.4 (20F71)

Steps to Reproduce:

Set window.autoDetectColorScheme to true
Set OS theme to Light
Launch VS Code: it should be in Light theme
Change OS theme to Dark: VS Code theme changes automatically to Dark theme
Hit Reload window, when it reloads the theme changes back to the opposite, instead of staying as it should be!

#118550

The previous comment has nothing to do with this issue.
@aeschli is it related to this comment?


ability to use boolean operators on Variant

Hey People
as discussed some time ago on kicad forums see here:, I would like to request a boolean operator system for determining which variant should be used.

After some study mine, you still can using the regular expressions. For the variants:
test
testeee
test0
teste0

The ^((?!test0).+)$ just not match with 'test0'. Look the page example https://www.regextester.com/15.


Updating to ginkgo v2

@pivotalgeorge  ??

Asked in #Diego for a review

@PlamenDoychev : As @KevinJCross has left SAP I have created a new PR #28 based on this one addressing your review comments. Could you please review #28 ? Thank you!

@ameowlia : Now that #28 has been merged, this PR may be closed.

Closing out this PR per https://github.com/cloudfoundry/cfhttp/pull/18#issuecomment-1384012255


Adds CheckboxListTile.checkboxShape

Enables the user to define the shape of the CheckBox in CheckboxListTile.
Fixes https://github.com/flutter/flutter/issues/95660
Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I signed the CLA.
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making, or this PR is test-exempt.
[x] All existing and new tests are passing.

lgtm