Datadog - Profiling the SMS Path

Value Statement
As VA Notify
I want to have accurate representation of our method calls for SMS in each environment
So that there is a clear performance indicators per function in our application for SMS
Additional Info and Resources
Datadog experts and our primary POC recommended that we dedicate time to follow the Unified Service Tagging, as using the tags is the "secret sauce of how Datadog is working behind the scenes" - Datadog expert.
They also were surprised that our profiling page does not yet show the sms and email endpoints of our application, and strongly suggested we look into custom instrumentation, as well as look into our debug logs to ensure automatic instrumentation is working as it should.
Engineering Checklist

[ ] Get the sms endpoint to appear in the profiler page of our application, either by correcting the tagging OR by implementing custom instrumentation in the relevant parts of our application related to the sms path.
[ ] Preferable: SMS profiler shows all method calls, not just the top level

Acceptance Criteria
sms path appears here:

Assumptions

The Profiler has been set up correctly and is showing up in the dashboard, but likely with incomplete information
Right now the profiler is blank because Datadog changes were removed due to potential Gunicorn conflict, but that will be resolved once the Datadog is running locally with Docker Compose.

@tabinda-syed   Mel asked the same question, to which I responded:
"The initial profiling configuration isn't difficult, and once anything shows up on the profiling page, then that part is complete.
However, the data that shows up may not actually reflect our application, thus I can't do the test Kyle is talking about.  That is likely due to the tags I need to set up in the Environment Tracing and Logging Ticket"
Mel suggested the following (to which I agreed):
How about this, complete the profiling ticket itself and review it with Kyle. Then determine additional work/tickets as next steps rather than adding more to that ticket.
Since it's new, it's ok if we need to re-assess what's achievable in the first ticket as you learn more in implementation. As you hit bumps in the road just raise them and Kyle can help you determine which are worth digging into more vs what is out of scope.

The engineering checklist may change due to my improving knowledge base.  I'm currently taking the courses offered on The Datadog Learning Center, and in the dd-fundamentals learning path Datadog 101: Developer course, they add the following snippet to their Docker Compose file:

@cris-oddball for your review as well

Hey team! Please add your planning poker estimate with Zenhub @cris-oddball @EvanParish @ianperera @jakehova @justaskdavidb2 @k-macmillan @kalbfled @ldraney

The latest email from the Datadog team after I sent them a detailed report on why our profiler might not be working as expected:
Hey Lucas,
Thanks for sharing all that (very detailed)!
I am consulting with the profiling team now on this. They are still reviewing, but would like the following info:
Operating system type and version (for example, Linux Ubuntu 20.04)
Runtime type, version, and vendor (for example, Python 3.9.5)
tracer debug logs: https://docs.datadoghq.com/tracing/troubleshooting/tracer_debug_logs/#enable-debug-mode
Best,
Danny

Adding a "Changes Requested" as Lucas is following up about the local env/AWS checklist item with Kyle.

Removing "Changes Requested." The local env step was removed, and implementation will just involve AWS.

Hey team! Please add your planning poker estimate with Zenhub @cris-oddball @EvanParish @ianperera @jakehova @justaskdavidb2 @k-macmillan @kalbfled @ldraney

I got a local environment working, which will be great for testing things.
You can see that "local" now appears an an env option, and the visible traces are particular to this environment.
The profiler is still empty, which shouldn't be the case because I've enabled it... but maybe the ddog version is still out of date.
Then, this may still be a docker-compose issue, so I'll try removing the datadog.yaml file and using only docker-compose, or visa-versa.

We are getting profiler stuff!

things seem to be working locally with some adjustments, going to push some task definitions soon for devs app and celery

I think my profiling branch isn't working anymore since I merged the latest updates to my branch.
ddtrace gives me an error:
app_1            |   File "/usr/local/lib/python3.8/site-packages/ddtrace/vendor/wrapt/wrappers.py", line 804, in lookup_attribute
app_1            |     return getattr(parent, attribute)
app_1            | AttributeError: type object 'Flask' has no attribute 'before_first_request'

Another engineer is also experiencing issues on build, so it may be that my changes won't work until we fix a potential dependency issue.

Okay, so the above was resolved with some work arounds, and again the profiler is successfully working locally.
But, deploying, even though the env variables are the same as the docker-compose environment, it is still not sending to the profiler.
I emailed ddog support team, and there's a few things I can try once I can deploy to Dev again.
Fargate-ecs is just running docker in the background, so I'm not sure why it's not transmitting profiler data.  Is it even sending tracing data?  I'll check that as well.

changing the:
tracer.configure(
    hostname='localhost',
    port=8126,
)

to localhost rather than datadog-agent got some gunicorn data in the profiler (we've seen this before):

But, this is not even close to what we are seeing in the docker container.  I'm not sure why. I could be:

I haven't modified the task definitions for celery and celery-beat
I need to try adding the decorator again

again, the problem is this:

the FLASK is only for docker-compose, and Gunicorn doesn't show up at all.
But in ECS, on Gunicorn shows up, and not flask.
Flask looks like this, btw (which seems like much more useful data:)

It should be noted that the AWS logs give me:
WARNING  /usr/local/lib/python3.8/site-packages/ddtrace/profiling/scheduler.py:55: Unable to export profile: ddtrace.profiling.exporter.http.UploadFailed: [Errno -2] No address found. Ignoring.

well the answer is local dockerfile starts with:
and deployed dockerfile starts with:
CMD ["./scripts/run_app.sh"]

which runs:
flask --debug run -p 6011 --host=<IP_ADDRESS>

CMD ["sh", "-c", "gunicorn -c gunicorn_config.py application"]

These outputs are actually similar, though docker seems to pick up other functions (typing, posixpath) that are perhaps not being run right off the bat in ECS

But, when I send an SMS in Postman, it doesn't show up in the profiler.

But I am noticeably getting tracing data from dev for Flask:

So, why is it not in the profiler?

SWEET!  Finally getting some more info on the gunicorn start!
In the last commit:

updated celery and celery beat's task definitions for the Datadog container to have some additional env variables.
adding ddtrace to the gunicorn command in our Dockerfile

I sent this beautiful message to the ddog team:
I'm getting more data, but in short, Datadog Profiler does not recognize our methods at all.It's all useless gunicorn and flask data.
Task definition:
      "name": "datadog-agent",
      "image": "171875617347.dkr.ecr.us-gov-west-1.amazonaws.com/datadog/agent:latest",
      "essential": true,
      "logConfiguration": {
        "logDriver": "awslogs",
        "options": {
          "awslogs-group": "dev-notification-api-datadog-log-group",
          "awslogs-region": "us-gov-west-1",
          "awslogs-stream-prefix": "ecs"
        }
      },
      "portMappings": [
        {
          "containerPort": 8125,
          "hostPort": 8125,
          "protocol": "udp"
        },
        {
          "containerPort": 8126,
          "hostPort": 8126,
          "protocol": "tcp"
        }
      ],
      "environment": [
        {
          "name": "ECS_FARGATE",
          "value": "true"
        },
        {
          "name": "DD_SITE",
          "value": "ddog-gov.com"
        },
        {
          "name": "DD_APM_ENABLED",
          "value": "true"
        },
        {
          "name": "DD_APM_NON_LOCAL_TRAFFIC",
          "value": "true"
        },
        {
          "name": "DD_PROCESS_AGENT_ENABLED",
          "value": "true"
        },
        {
          "name": "DD_ENV",
          "value": "dev"
        },
        {
          "name": "DD_PROFILING_MAX_EVENTS",
          "value": "10000"
        }
      ],
      "secrets": [
        {
          "name": "DD_API_KEY",
          "valueFrom": "....."
        }
Our dockerfile:
CMD ["sh", "-c", "ddtrace-run gunicorn -c gunicorn_config.py application"]
Our application.py
#!/usr/bin/env python
from future import print_function
import os
import sentry_sdk
from ddtrace import patch_all
from ddtrace import config, patch_all, tracer
from ddtrace.profiling import Profiler
from flask import Flask
from sentry_sdk.integrations.flask import FlaskIntegration
from werkzeug.middleware.proxy_fix import ProxyFix
from app import create_app
from dotenv import load_dotenv
load_dotenv()
sentry_sdk.init(
    dsn=os.environ.get("SENTRY_URL", ""),
    integrations=[FlaskIntegration()],
    release=os.environ.get("GIT_SHA", ""),
)
application = Flask("app")
application.wsgi_app = ProxyFix(application.wsgi_app)
create_app(application)
tracer.configure(
    hostname='localhost',
    port=8126,
)
this starts the ddtrace tracer and configures it to the right port and URL
patch_all()
config.profiling.enabled = True
profiler = Profiler()
profiler.start()
And a screenshot for our profiler as of Apr 27, 4:08 pm – Apr 27, 8:08 pm (EST):
But Tracing seems to be working fine (we are trying to, most importantly, trace our SMS path.  We are trying to profile our SMS path, at least):
As a final note, our cloudwatch logs say:
ERROR  /usr/local/lib/python3.8/site-packages/ddtrace/profiling/profiler.py:270: Failed to start collector MemoryCollector(status=<ServiceStatus.STOPPED: 'stopped'>, recorder=Recorder(default_max_events=16384, max_events={<class 'ddtrace.profiling.collector.stack_event.StackSampleEvent'>: 30000, <class 'ddtrace.profiling.collector.stack_event.StackExceptionSampleEvent'>: 15000, <class 'ddtrace.profiling.collector.memalloc.MemoryAllocSampleEvent'>: 1920, <class 'ddtrace.profiling.collector.memalloc.MemoryHeapSampleEvent'>: None}), _max_events=16, max_nframe=64, heap_sample_size=1048576, ignore_profiler=False), disabling.
We have tried to resolve the above error by adding this to the task definitions:
        {
          "name": "DD_PROFILING_MAX_EVENTS",
          "value": "10000"
        }
and increasing the memory on the tasks as well up to 4gb.  Maybe this is related?
Thanks for any insight on this issue!

As far as the profiler memory error is concerned:
looks like that might be fixed if we apply the latest patch v1.12.1

I've confirmed that updated to ddtrace 1.12.1 fixed the profiler memory error, thought I did increase the memory on the tasks, so that may be a factor as well.
But, still no useful data in the profiler.   I'm now pinging the engineering team and doing research and using resources the best I can.

Kimball gave me good advice in that the ddtrace documentation on proflier indicated that profile.start() might be working against me, and would explain the limitations we see.
However, when I remove this part, nothing shows up in our dashboard at all.  But I do fell this is the right direction.

just by importing the profiling.auto module, I'm getting more data:

let's see how this appears in ECS

I played with a few more things, but I couldn't get the profiler to start on its own.
I still have to start it with:
config.profiling.enabled = True
profiler = Profiler()
profiler.start()

But, it does seem to give new information.  For example run_migrations now shows up when running locally:

I wrote a message to Brent with the VA ddog team with similar details as above, we'll see what he says.
There are various env variables I will be playing with on the ddtrace documentation, hopefully that reveals some new information.

BTW, as a disclaimer, the Datadog Docs do indicate using the ddtract.profiling rather than even mentioning ddtrace.profiling.auto
but the advice Kimball gave me from the ddtrace docs seems more accurate to the situation.

I noticed this in the file Kimball sent to me:
    if profiling:
        log.debug("profiler enabled via environment variable")
        import ddtrace.profiling.auto  # noqa: F401

I certainly have profiler enabled everywhere I could figure out, so I tried to see if there was some kind of redundancy conflict by removing the profiler code from python.

I seem to be getting some application data:

Look at the highlights, they are all parts of our application:

I will try deploying again soon.

BTW, /app/app/notifications/process_notifications.py  is where deliver_sms and deliver_sms_with_rate_limiting are found.

I'm changing this in our application.py:
tracer.configure(
    hostname='datadog-agent',
    port=8126,
)

to this in our docker-compose:
    environment:
      - DATADOG_AGENT_HOSTNAME=datadog-agent
      - DATADOG_AGENT_PORT=8126

and this in our task definition for the notification-api image:
        {
          "name": "DATADOG_AGENT_HOSTNAME",
          "value": "localhost"
        },
        {
          "name": "DATADOG_AGENT_PORT",
          "value": "8126"
        },

The above changes should have been simple, but things are very inconsistent.
If I updated here every time my local configuration didn't show up in the profiler when I hadn't made any file changes (on the same branch), it would be an appropriate disclaimer for how long this is taking me.
I may actually start doing that if I continue to face these problems.

I've been beating my head against some docker inconsistencies with Datadog nuances.
So, I won't include my docker-compose changes as a part of this branch.  In other words, I've realized have the local datadog environment is out of scope of this ticket; which is obvious, except that it was a huge help getting in helping me get to this point.
But I'll take those parts out, do a few more deploys to make sure things are clean and working in ECS, then open the PR.

Just read this on the datadog documentation:
If you configure the Agent with environment variables, as is common with Docker and ECS installations, pass the following environment variable to the trace Agent after upgrading the Docker image.
DD_APM_FEATURES=enable_cid_stats

I'm finally getting the profiler to work how I want:
But I have some potential redundancy, because I include the following env variables for both the notification-api and the datadog agent containers:
In your case, both the notification-api and datadog-agent containers share some common environment variables:
ECS_FARGATE
DD_SITE
DD_APM_ENABLED
DD_PROCESS_AGENT_ENABLED
DD_ENV
DD_SERVICE
DD_APM_FEATURES
DD_PROFILING_ENABLE_CODE_PROVENANCE
I likely need these environment variables in the notification-api container to ensure that the Datadog agent is properly set up for monitoring and profiling the application. On the other hand, the datadog-agent container needs these environment variables for its own configuration.  That is the result of my experience, and is something I'd like to move forward with based on the time it takes for me to test any changes in ECS.
I can keep the redundancy if I think that both containers require these shared environment variables. However, if I find that some of them are not necessary for one of the containers, I can remove them from the respective container definition.
I'll keep playing a little though, to ensure this is the case.
Here is how the profiler looks now (and seems good to me):

TLDR for previous comment:
I would like to make a ticket for "reduce potential redundancy for Datadog in Task Definitions", because getting this will take some time.
This also answers the question of "How did I get this working?", I think it's because of these env variables being available to both containers that things started working properly.

I decided to get more scientific with how these variables are performing.
I've been playing with task definitions in the AWS console for the dev environment:
markdown test

TLDR the previous comment: I've realized that ddtrace and the Agent have similar env variables, and both need to be declared in our situation.  So its important that there is consistency, and that all necessary variables are declared.

Here's a summary of what I currently have set as environment variables related to Datadog for each container:
notification-api container (mentioned in the ddtrace documentation):
DD_ENV: "dev"
DD_SITE: "ddog-gov.com"
DD_PROFILING_ENABLED: "True"
DD_SERVICE: "notification-api"
DD_PROFILING_ENABLE_CODE_PROVENANCE: "True"
not mentioned in ddtrace documentation:
DD_APM_NON_LOCAL_TRAFFIC: "true"
DD_LOGS_ENABLED: "true"
DD_PROCESS_AGENT_ENABLED: "true"
DD_APM_FEATURES: "enable_cid_stats"
DD_APM_ENABLED: "true"
datadog-agent container definitions all mentioned in the documentation:
DD_APM_NON_LOCAL_TRAFFIC: "true"
DD_LOGS_ENABLED: "true"
DD_PROCESS_AGENT_ENABLED: "true"
ECS_FARGATE: "true"
DD_SITE: "ddog-gov.com"
DD_APM_ENABLED: "true"
DD_ENV: "dev"
DD_SERVICE: "notification-api"
DD_APM_FEATURES: "enable_cid_stats"
DD_PROFILING_ENABLE_CODE_PROVENANCE: "true"

also I believe the Agent likes lowercase true, whereas ddtrace  likes the upper case True


Would you draw background with gray or other color, Instead of white ?

Would you draw background with gray or other color, Instead  @of white ?

Is there a particular reason for gray instead of white or is this a personal preference?
There are no plans to add color customization beyond what the OS is offering. On macOS and Safari Technology Preview, Netron will support system dark mode settings. electron/electron#15316 is tracking dark mode support for Windows and might be a good place for contributions.


chore(main): release 5.3.1

:robot: I have created a release beep boop
5.3.1 (2023-09-10)
Minor changes and bug fixes

fix string comparison to lowercase for filter provider (e89075e)
update deps (608dfe5)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/mariusbegby/cadence-discord-bot/releases/tag/v5.3.1 :sunflower:


cleaner stream handling functions

This fixed some connection errors for me

This change is

@mrexodia very nice! Thanks


Feature: Quarkus support

Request Description
I used depscan from v4 with many traditional java maven/gradle projects.
When I use depscan with a java maven quarkus project, they cannot build and generate the full sbom file. This makes the sbom file contain only some packages and the cdxgen does the same.
I read the article: https://quarkus.io/guides/cyclonedx
And I realize that maybe the maven deptree creation from cdxgen cannot be built completely for further analysis. Although I can have the maven deptree with command: mvnw dependency:tree -DoutputFile=maven_dep_tree.txt easily. Can we use an existed Maven deptree file instead of building application?
Thanks
Additional Information
No response

Thanks @tienmtran for this ticket. We are working on adding quarkus support in cdxgen. Will update as soon as it is ready. In the meanwhile, can you try using depscan v5 or the master with the --bom argument pointing to an existing SBOM?

quarkus support is now available in cdxgen 11.0.5. Please wait for depscan v6 release for best results.

Appreciate your work @prabhu <3


New version: Unity.Unity.2022 version 2022.3.47f1

Created by 🥟 Dumplings in workflow run #8170.

Log
Updated: 2022.3.46f1 → 2022.3.47f1
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request

Microsoft Reviewers: Open in CodeFlow

@wingetbot run

This package installs and launches normally in a Windows 10 VM.


Add match option

This aims to resolve issue #476. --match can be passed to ava which
means to only run tests with a title matching the provided match
string. The skipped metadata flag will be added to each test not
matching the match string.

I think we've decided on slightly different semantics for all this (see the final few comments in https://github.com/sindresorhus/ava/issues/476).
Specifically, there is discussion of sudo globs (only * supported) and negation with a ! prefix.
@sindresorhus - do you feel the issue is settled?
@matthewbauer - Are you willing to update this PR?

@jamestalmage Let's wait until after the weekend. Would like @vdemedes feedback on #476.

@matthewbauer Can you also fix the merge conflict?
Sorry about the back and forth. Glad we finally have a resolution on this.

Should it be possible to use it multiple times? I'm thinking --match='*oo' --match='!foo'.
We also need to document the syntax somewhere, the * wildcard and ! negation.

@matthewbauer Just a friendly ping :)

Closing for lack of activity. Would be happy to reopen if this get's any updates, but I want to give other users the opportunity to work on this.


[Server] Interpreting a View's filters by corresponding Design

This issue a child issue of the epic described in #10937. See the parent issue for additional context.
Current Behavior
Meshery UI users receive a some amount of information back from Meshery Server with depth of details varying based on type of event (operation performed).
For example, a successful design deployment might include a list of all components deployed, but might not be totaled by count or by which Kubernetes cluster to which they were deployed.
Desired Behavior

Enhance Meshery Server events with aggregate metrics, summarizing the changes made:

new components deployed
existing components undeployed
existing components updated
total number of components implicated (by the design)

Breakdown the change summary by Environment / by (K8s) Connection.
For any design deployed, auto-generate a new View or include a reference to an existing View that is paired to the same design.

Implementation
Enhance the existing views api with a design ID query parameter such that the adjoining View doesn't need to be created, but that the design-specific filter (a set of filters configured to explicitly display only the resources included in the given design) is dynamically applied by the views API foregoing the need to create and track what essentially amounts to a foreign key between designs and views.
Acceptance Tests
Meshery Server clients (e.g. Meshery UI, mesheryctl, MeshMap) can GET a collection of discovered entities (resources) based constrained to those entities (i.e. components) defined in any given design.
Mockup
TBD

Contributor Guides and Handbook

🛠 Meshery Build & Release Strategy
📚 Instructions for contributing to documentation

Meshery documentation site and source

🎨 Wireframes and designs for Meshery UI in Figma
🙋🏾🙋🏼 Questions: Discussion Forum and Community Slack

@MUzairS15 @aabidsofi19 FYI. The views API will need to be created first, however.


[CARBONDATA-1438] Unify the sort column and sort scope in create table command

Background:
In order to improve the ease of usage for users, unify the sort column and sort scope in create table command.

SDV Build Fail , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/517/

Unification for simplicity is ok. Ex: SORT_SCOPE provided in create table is default SORT_SCOPE for that table.
However we have scenarios where SORT_SCOPE needs to be overridden in load command for data load speed/streaming cases. So that compaction will bring back the scope to table level default value.

Option 2:
Keep the syntax in data load as optional parameter and currently validate to allow only Valid values.
like Data load level BATCH_SORT when table level BATCH_SORT or LOCAL_SORT is valid, as current compaction can support this.
currently all other cases dataload level SORT_SCOPE should be same as table level SORT_SCOPE.

@gvramana
I suggest we consider these two requirements separately:

Streaming ingestion to carbon table
Want to override the sort scope after table is created.

For 1, I think we should probably have another table property in the create table to indicate this table is streaming ingestable. And we should have separate API instead of  SQL to do the streaming ingest. Anyway, I think it is better to design after carbon 1.2 in streaming ingest branch.
For 2, I feel we should not allow this, at least for carbon 1.2, because this will open up many complexity. Not just loading, but also compaction a lot of validation and configuration to make it work for different level. We should allow this only if all combination scenario has been tested.
In one word, we should remove the SORT_SCOPE option in LOAD DATA statement for carbondata 1.2. If there are requirement for it in future, we always can add it later.

SDV Build Fail , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/664/

SDV Build Fail , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/675/

SDV Build Fail , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/676/

SDV Build Fail , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/678/

SDV Build Fail , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/682/

SDV Build Fail , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/689/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/12/

please retest it

please retest this

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/117/

Build Failed with Spark 1.6, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/14/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/122/

Build Failed with Spark 1.6, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/20/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/123/

please retest this

retest this please

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/124/

Build Success with Spark 1.6, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/21/

SDV Build Fail , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/740/

Build Failed with Spark 1.6, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/22/

retest this please

retest this please

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/128/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/129/

SDV Build Fail , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/761/

SDV Build Fail , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/770/

retest this please

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/145/

Build Failed with Spark 1.6, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/19/

SDV Build Fail , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/774/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/147/

test

SDV Build Fail , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/778/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/154/

retest this please

SDV Build Fail , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/783/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/155/

SDV Build Fail , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/784/

retest this please

Build Failed with Spark 1.6, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/57/

Build Failed with Spark 1.6, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/58/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/181/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/182/

Build Failed with Spark 1.6, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/59/

SDV Build Fail , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/811/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/184/

SDV Build Fail , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/812/

Build Failed with Spark 1.6, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/61/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/185/

SDV Build Success , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/813/

SDV Build Success , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/815/

SDV Build Success , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/816/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/187/

Build Failed with Spark 1.6, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/63/

SDV Build Success , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/818/

Build Failed with Spark 1.6, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/71/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/194/

Build Failed with Spark 1.6, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/72/

SDV Build Success , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/826/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/195/

SDV Build Success , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/827/

Build Success with Spark 1.6, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/73/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/196/

SDV Build Success , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/828/

retest this please

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/197/

Build Success with Spark 1.6, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/74/

SDV Build Success , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/829/

LGTM


Reset Zoom command cannot be disabled and shortcut cannot be removed

Time Savers has used CTRL-0 to initiate a solution rebuild since 2016-10-16. It's entrenched in my muscle memory, and potentially also muscle memory of the almost 4K developers who have installed Time Savers and may use it all the time like I do.
I thought I'd just go ahead and remove the shortcut manually, but the command doesn't even show up in Keyboard Options. It looks like when the CommandWellOnly command flag is added to a button that any key binding for it cannot be searched for, and therefore cannot be removed.
When searching for the shortcut I tried both ResetZoom and ZoomReset (see below), as well as looking in the results for just Reset and Zoom.
The command also can't be disabled as there's no setting to do that.
CTRL+NUM 0 is available and might be a better shortcut for this command.
Also, while I was investigating, I also found that the LocCannonicalName appears to be incorrect.
      <Button guid="guidCommands" id="ResetZoom" priority="0x0100" type="Button">
        <CommandFlag>CommandWellOnly</CommandFlag>
        <Strings>
          <ButtonText>Reset Zoom</ButtonText>
          <LocCanonicalName>.View.ZoomReset</LocCanonicalName>
        </Strings>
      </Button>

It doesn't matter for this shortcut problem, it's just an inconsistency. The id is ResetZoom, and the button text is Reset Zoom. So it follows that the canonical name would be .View.ResetZoom, not .View.ZoomReset.
I'm happy to create a pull request that addresses any/all of the points below if you agree with what I've proposed and you'd like me to go ahead and do that.

Change shortcut to CTRL+NUM 0
Add UI to disable the command, and implement it
Fix the inconsistency of the canonical name in the VSCT file

I can remove and reassign the shortcut key with no issues. Does Time Savers not use the regular keybinding system? Is anyone else experience this?
The command is called View.ZoomReset to align it with the other existing Zoom commands like View.ZoomIn and View.ZoomOut.

No Time Savers just uses the regular keybinding system. I wasn't actually talking about removing the Time Savers shortcut though, I wanted to remove the Reset Zoom one but couldn't find it, and therefore couldn't remove it.
But I've just had a look again, and I can now both find and remove the CTRL+0 binding for View.ZoomReset. My Visual Studio instance has been doing a couple of weird things lately, so maybe that's why I couldn't find it, I don't know. Very weird!
Thanks for the explanation for why the command to reset zoom is called ZoomReset instead of ResetZoom.
I still have a concern that there may be Time Savers users who install Tweaks and find CTRL+0 now no longer does what it used to and think there's something wrong with Time Savers. They may not know how to remove the new keybinding that Tweaks adds. Seeing that Tweaks in still in Preview, and Time Savers has used CTRL+0 for a long time I thought that maybe you might have been able to change the keybinding that Teaks uses.
But if you want to keep CTRL-0 for ZoomReset in Tweaks I'll close this issue as my main concern was that I wasn't able to find or remove it when I tried to do it.

My original shortcut was actually Ctrl+0,Ctrl+0 but that would also interfere with Time Savers. The reason Ctrl+0 is so powerful for this, is that it's what all other apps use for resetting zoom, including all browsers. So it's a shortcut you kinda already know what will do.

Time Savers doesn't use CTRL-0, CTRL+0. I just double-checked both my currently installed instance and the keybindings in the VSCT file to make sure.
What did you think it was used for?


Route53: Implement GetChange

Hello 👋🏼
The Route53 mock doesn't implement GetChange. I'm currently working on something that would tremendously benefit from having this endpoint implemented in the mock for local dev and testing.
I'd be happy to contribute and work on a pull request for moto to support this endpoint if you deem appropriate.
Thanks 🙇🏼!

Hi @relvira, PR's are always welcome!
There's a Contributing-document that should have all the info you need, but let me know if you need any help implementing this.

Thanks for your reply @bblommers!
I've started a local branch on my machine to play with the codebase and got the GetChange endpoint working.
Looks like you're not currently handling change IDs as rrset_response always returns the same ID in CHANGE_RRSET_RESPONSE.
Would you be happy with me implementing a simple method that does something similar? The idea would be to add a new url path in route53/urls.py
r"{0}/(?P<api_version>[\d_-]+)/change/(?P<change_id>[^/]+)$": Route53().get_change,

implement a get_change in route53/responses.py that'd be something like:
def get_change(self, request, full_url, headers):
  self.setup_class(request, full_url, headers)
   if request.method == "GET":
        parsed_url = urlparse(full_url)
        changeid = parsed_url.path.rstrip("/").rsplit("/", 1)[1]
        template = Template(GET_CHANGE_RESPONSE)
        return 200, headers, template.render(changeid=changeid)

GET_CHANGE_RESPONSE = """<?xml version="1.0" encoding="UTF-8"?>
<GetChangeResponse xmlns="https://route53.amazonaws.com/doc/2013-04-01/">
   <ChangeInfo>
      <Status>INSYNC</Status>
      <SubmittedAt>2010-09-10T01:36:41.958Z</SubmittedAt>
      <Id>/change/{{ changeid }}</Id>
   </ChangeInfo>
</GetChangeResponse>"""

Status and SubmittedAt would remain static, but not change ID. Another option would be for the Route53 to support generating and storing change ID for new operations and actually use the information from the backend. Let me know what you think.

I'm not too familiar with Route53, but this sounds like the ideal situation:

Another option would be for the Route53 to support generating and storing change ID for new operations and actually use the information from the backend.

Every improvement is welcome though, if it's easier to hardcode things to get it working!

That sounds like the ideal solution to me as well @bblommers. It would require changing the existing functionality for Route53 to store those Change IDs in moto's backend for Route53.
As Route53 in moto currently uses hardcoded change ID, I'm going to submit a PR to implement GetChange the same way, that way I'll unblock myself. I still want to work on a PR to get us to the idea state, just for fun, so I'll do that in a separate PR over the weekend if that sounds good to you?

Sounds good to me! Thanks @relvira

Pull request is ready for review here: https://github.com/spulec/moto/pull/3453
It would be great if we can close this one out before the week ends, as it's kind of blocking me on some things here. I understand if it takes more but could I get an ETA for when a review can happen @bblommers?
Thank you!

The dummy endpoint is now available as of moto >= 1.3.16.dev133

Thanks for your help on getting this one merged @bblommers, appreciate it!

Hey @bblommers, hope you're doing well.
I'm wondering if you'll be able to push this build to docker hub? Last update was 3 months ago so I'm not sure frequently are you folks building your images there, but that would be greatly appreciated.
Many thanks!

Hey @relvira, I don't have permissions for that I'm afraid.
It is a known issue though: #3357 and #3203

Little late.. but Docker releases are now regularly pushed, so I'll close this again :+1:


Successful MsgPayForData isn't consuming gas on mamaki

This successful pay for data transaction didn't consume any gas at all, which is really weird and we need to investigate this further
https://celestia.explorers.guru/transaction/AE50126C7A59A4A1AB5167BA1F9CDEC3D37B55F0F73AA58D05EFFD9683F43101

and weirder still, some pay for messages are failing due to an incorrect signature, despite this message passing on integration and unit tests, but it indicates that it is using gas
https://celestia.explorers.guru/transaction/0D98FA208FB10AE404B6D3FA3643C8A69E8A6DB0EECD6592BB859826D3B1BE44

As far as I can tell this does not seem to be PfD sepcific. Here is a simply transfer that did not consume any gas:
https://celestia.explorers.guru/transaction/B935F34B8E0E3F4425F3BC6AAAC13B861B749B289191686BC44E0C92DEDF3CEA
Or, relevant part from query tx:
gas_used: "0"
gas_wanted: "0"

Turns out that gas is being consumed, but its not being reported as the values were not being passed via CheckTx and DeliverTx
https://github.com/celestiaorg/cosmos-sdk/issues/191
https://github.com/celestiaorg/cosmos-sdk/pull/192

instead of pathcing this ourselves in https://github.com/celestiaorg/cosmos-sdk/issues/191
https://github.com/celestiaorg/cosmos-sdk/pull/192, this will be fixed in the next hardfork when we update the cosmos-sdk


Problem: other widgets extend this.data, not this.scope

The demo, and widgets not hosted here, do this:
$.extend(self.data, bla);
instead of this:
$.extend(self.scope, bla);
With 0.3.0, I can only get the latter to work. Will I have to fork for instance the weather-widget, or is this accidentally something that breaks compatibility (ergo a bug) and something that should be flagged to widget-maintainters?

the demo was updated, sorry for that


how to evaluate the Liberty using Notredame

The test accuracy is always change. Did you get the average precision of the test data ?
I mean, If we train 10 epoch, we can get a precision. If we train 20 epoches, we can get another result. How did you solve this problem ?

how many epoches did you use to evaluate a dataset ?

In your code, you only train 10 epoches. But if we do several experiments, each time we can get a test result. So did you try several times, and then average them ?

Training code with the evaluation part is now available as an ipython notebook.


added narayanagroup engineering college

https://www.necn.ac.in/

https://www.necn.ac.in/CSE/index.php

@tvtv634 I have to reject this request. It has a correct file to add your school. However it also has a request to delete a domain that does not belong to your school. Please make a new pull request that DOES NOT delete anything from the repository, just add a necessary file for your domain. Thank you.


Update sys-dm-tcp-listener-states-transact-sql.md

Data Type column in the ip_address row did not contain ()

@tcna : Thanks for your contribution! The author, @MikeRayMSFT, has been notified to review your proposed change.

@tcna - thank you for your submission
#sign-off


Migration from v2.9.4 to 3.5.0 causing a lot of bugs

Expected behavior
The charts should appear correctly within the boundaries, with all the data and hover without giving any error
Current behavior
I am using chartJs with the wrapper of angular JS (in ServiceNow) and after this migration and making the respective changes from the migration guide, this is still giving a lot of errors for all type of charts (donut, line, bar, gauge, etc.). Also, none of the charts display any data even when they have no errors on console and the chart data is being printed in the console. The charts are also too out of bounds when they were appearing correctly in the previous version
Few errors (appearing in the console) are in the chartJS library:
Uncaught TypeError: me._padding is undefined (this appears regardless of anything)
Uncaught TypeError: positioners[options.position] is undefined (this appears on hover on any chart)
Reproducible sample
https://codepen.io/hafsa-asif/pen/NWyRdBb?editors=1010
Optional extra steps/info to reproduce
No response
Possible solution
No response
Context
No response
chart.js version
v.3.5.0
Browser name and version
Firefox
Link to your project
No response

On addition to @stockiNail points the font* options also are not valid anymore, in V3 you have to configure them in the font object
https://www.chartjs.org/docs/3.7.1/general/fonts.html

@hafsa-asif afa I have seen in angular.chartjs, CHART.JS 2 is required.

Maybe, but not sure, the wrapper works only with CHART.JS 2 and not 3.

As @stockiNail pointed out, I also just looked at the source and it is indeed never updated for V3, so it will try to read props that dont exist and thus throw errors and not render anything.
This is not a chart.js issue. The wrapper should be updated (although it seems like that might never happen) so your best bed is to implement chart.js barebone instead of with a wrapper.

Thank you @stockiNail  and @LeeLenaleee. I will try to implement without the wrapper if ServiceNow allows or maybe just revert back to v2.

Closing as this is an external issue, not a chart.js issue


Fix wrong import path for SafeAreaView

Fix wrong import path for SafeAreaView

Thanks for the PR! According to https://github.com/react-native-community/react-native-safe-area-view, the current code seems to be alright. Are you sure it is necessary?

Thanks for your reply, as far as I can see the docs for version 5 (next) don’t mention to install that package only the react-native-safe-area-context. If you than follow the docs you will get an error on the SafeAreaView import.

Yes, you are right. There should be only react-native-safe-area-context needed. Thanks for contribution!


can't select language

after installing this package, the language is not appearing in the language selector, and it is not applied to .yml or .yaml files.

me too

This should be fixed with 0.1.3 version please update.


BAEL-6538: Geospatial Support in ElasticSearch

Hi, @harry9656 can you please check build is failing now.


Fixed inventory handling.

Fixes #2035.

Will this mean we need to reopen #1995?

No, I fixed both at the same time. This is how it should have been fixed in the first place.

Merge if CI succeeds then


Bug: Long full function names as wave labels

We use at different locations in our code full function names as wave labels to identify their entries faster. This yield to some problems if the full function name is very large and larger than the allowed limit for the current IP version. This happened in #378 and was fixed with fc2f76a (Function Tags: Fix long function name bug, 2023-01-16) for function tags.
At least I found the following waves that use full function names as dimension label:

root:Packages:UnitTesting:DataGeneratorWaves is a wave-reference-wave for the results of the data generators
root:Packages:UnitTesting:MMDataState is a two dimensional value wave for storing test-states of multi-multi-data test cases

Use text waves to store the full function name.


130 move to uv

Pull Request Test Coverage Report for Build<PHONE_NUMBER>5
Details

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

Totals

Change from base Build<PHONE_NUMBER>9:
0.0%

Covered Lines:
97

Relevant Lines:
116

💛  - Coveralls


Enabling NEON for TFLM on Raspberry Pi

I am trying to enable the NEON option for TFLM on a Raspberry Pi.
I removed '-DTF_LITE_DISABLE_X86_NEON'
and added '-DUSE_NEON' to COMMON_FLAGS in 'tensorflow/lite/micro/tools/make/Makefile'.
Is this the correct way to enable NEON for TFLM?

@Uwaang
TFLM does not support NEON optimization.  For Arm targets, TFLM supports CMSIS_NN.
Since you are using a Raspberry Pi, TensorFlow Lite (TfLite) should be available to you.  The default configuration has NEON support, and several kernels use NEON by default.  When instantiating your tf.lite.Interpreter be sure to pass the parameter experimental_op_resolver_type=tf.lite.experimental.OpResolverType.AUTO or experimental_op_resolver_type=tf.lite.experimental.OpResolverType.BUILTIN in order to use kernels supporting NEON.
For any additional questions or issues with TensorFlow Lite (TfLite) please submit a new issue to the TensorFlow repository.


How to handle nested data structures

Hi - How do you structure the spreadsheet when you need a JSON structure like:
{
  "copy" : {
    "sections" : [
      { name: "section1" },
      { name: "section2" }
   ]
  },
  { ... }
}

Sorry, Tabletop doesn't support this.


GitHub has no web-based file uploader

Except one for issues, apparently. Who comes up with this stuff.


LNbits PostgreSQL

Merged PR #3411 - to be tested and fix details in 3411-lnbits branch

Tested branch 3411-lnbits and merged. No keep open for final testing during RC phase.


Automated cherry pick of #1613: Update latest version to v0.5.2

Cherry pick of #1613 on website.
#1613: Update latest version to v0.5.2
For details on the cherry pick process, see the cherry pick requests page.

/release-note-none

/assign @alculquicondor

/lgtm


[Question] Is Remote Notifications actually needed?

I am using SwiftAudio as part of react-native-track-player. I am trying to track down some issues related to the lock screen controls and background loading. https://github.com/react-native-kit/react-native-track-player/issues/709
So far, I don't think the issue is with SwiftAudio. However, I was looking at differences between SwiftAudio example and react-native-track-player example, and noticed that SwiftAudio has the Remote Notifications background mode enabled.
Is this really necessary?
The SwiftAudio docs say to enable it as part of supporting remote commands.
App Settings -> Capabilites -> Background Modes -> Check 'Remote notifications'
However, all the Apple docs I can find on this setting are referring to a completely different type of notification, related to alerting the app of new content to download.
https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/iPhoneOSKeys.html#//apple_ref/doc/uid/TP40009252-SW10
Can you explain, if you have some time? Thanks!

You are right, I did not spot that! Just a mistake on my part, I will remove the recommendation to turn them on. The only background mode that is needed is the Audio, Airplay, and Picture in Picture mode, for playback.

👍  Thank you very much for your quick reply :)


Harvesting section

Some suggestions for improvement of the section

[ ] For the 2nd approach can we add also RDF writer and triple store to the diagram?
[ ] Can the technology options be linked to the approaches

Please, now it is time to work on this (deadline mid-september). We will deliver updated version of Technical documentation together with the first prototype.
In the architecture diagram we currently have Triple store and function of Harvester called transformation to triple store. Should I rename it to RDF writer?

With the knowledge of today, I would probably add an independent component RDF writer between the RDBMS and the triple store. Basically we choose to store the outputs of several components to PostGreSQL (harvester, interlinker, validation) and only push the results to the triple store at intervals. To be decided / updated in consultation with Paul


[Feature Request] Add Video Memes

Hello,
This project is really amazing and it helped me a lot.
I only have one request which is to add a feature to access video memes in addition to regular image memes.

same request

👍


[bug] setSpeakerphoneOn not working

Describe the bug
Sound output works fine in version 1.3.5, Sound comes from Speaker, it seems to be earpiece by default in version 1.4.0. Sound comes from earpiece.
Hardware.instance.setSpeakerphoneOn(true); not working.
Hardware.instance.canSwitchSpeakerphone always returns false.
The example project has the same problem. I think it's a problem with https://github.com/livekit/client-sdk-flutter/pull/312.
Expected behavior
The way I want it to work is as follows: If there is a bluetooth headset, the sound should come from here, if not, the should come from the speaker.
Platform information

Flutter version: Flutter 3.10.6
Plugin version: livekit_client: ^1.4.0
Flutter target OS: Android

@cloudwebrtc
The setSpeakerphoneOn function works now, this problem is solved, but the audio output order is completely messed up.
Previously, when there were wireless headphones, the sound was coming from there, otherwise it was coming from the speaker, if it was not there, the sound was coming from the earpiecer.
Now, if I don't call setSpeakerphoneOn(true), there is never any sound from the speaker, if I set it to true, the bluetooth headset is disabled.

okay, When you call setSpeakerphoneOn(false), does the sound switch between the earpiece or bluetooth or wired headset correctly? Headphones usually take precedence over earpieces.

When I call setSpeakerphoneOn(false) it switches to wireless headset.
But if the user doesn't have a headset, it must come from the speaker, so it looks like you need to call setSpeakerphoneOn(true) .
Do we call setSpeakerphoneOn(true) only when he has no headset? If so, how do we detect that it doesn't have a headset?

@furkanKotic what if you don't call setSpeakerphoneOn ? what is the default behavior in the following cases:

With headset
Without headset

@davidzhao

With headset
The sound is coming from the headset.

Without headset
The sound is coming from the earphone. not speaker.

1.3.5 version does not have this problem.

@furkanKotic Can you try this branch?
https://github.com/livekit/client-sdk-flutter/pull/333

@cloudwebrtc
When I try with no headphones plugged in Although Hardware.instance.canSwitchSpeakerphone is true Hardware.instance.setSpeakerphoneOn(true); does not work, the sound continues to come from the earpiece. I couldn't turn on speaker mode. In the previous version, Hardware.instance.setSpeakerphoneOn(true) turned on speaker mode.
When I connected and removed the bluetooth headset in the room, the sound started to come from the speaker.

hey @furkanKotic Let's confirm the perfect switching mode:
Default mode:
speakerPhoneOn = off
Sound output from earpiece (Without headset/Bluetooth)  by default
when Inserting the wired headset or connecting the Bluetooth headset, the sound is output from the headset/Bluetooth
when a wired headset or Bluetooth headset is disconnected sound output from the earpiece
Speaker Mode:
speakerPhoneOn = on
Sound output from SpeakerPhone (Without headset/Bluetooth)  by default
when Inserting the wired headset or connecting the Bluetooth headset, the sound is output from the headset/Bluetooth
when The wired headset or Bluetooth headset is disconnected, and the sound is output from the SpeakerPhone

I am trying this branch https://github.com/livekit/client-sdk-flutter/pull/333
Default mode:
speakerPhoneOn = off  (Hardware.instance.setSpeakerphoneOn(false);)
Sound output from earpiece (Without headset/Bluetooth) by default  ✓
when Inserting the wired headset or connecting the Bluetooth headset, the sound is output from the headset/Bluetooth ✓
when a wired headset or Bluetooth headset is disconnected sound output from the earpiece X (sound output from the speaker)
Speaker Mode:
speakerPhoneOn = on (Hardware.instance.setSpeakerphoneOn(true);)
Sound output from SpeakerPhone (Without headset/Bluetooth) by default X (sound output from the earpiece)
when Inserting the wired headset or connecting the Bluetooth headset, the sound is output from the headset/Bluetooth ✓
when The wired headset or Bluetooth headset is disconnected, and the sound is output from the SpeakerPhone ✓

The way I want it to work is as follows: If there is a bluetooth headset, the sound should come from here, if not, the should come from the speaker. It worked this way until version 1.4.0.

thanks for testing, Let me check again, it should fix perfectly

@cloudwebrtc the issue stems from this change on flutter-webrtc:
https://github.com/flutter-webrtc/flutter-webrtc/commit/df450267f35b1c4166e6f386c70316d07499992c
The manual audioManager.setSpeakerphoneOn(_speakerphoneOn); overrides AudioSwitch's handling. This should be changed to use audioSwitch.selectDevice so we don't interfere with AudioSwitch's internal state.

@davidliu Thanks for finding it, if I change the setSpeakerphoneOn to the following code, Is this code handled properly?
or don't need to expose the setSpeakerphoneOn interface for Android, which way do you prefer? @furkanKotic

@cloudwebrtc I don't understand the question but using setSpeakerphoneOn is not important to me. it works the previous way is enough for me.

okay, this may be a mistake I made, I want to align setSpeakerphoneOn with the iOS api, maybe in the actual application, only getAvailableAudioDevices, selectedAudioDevice, and selectAudioDevice are needed, right? @furkanKotic

We may need it, yes. @cloudwebrtc

@cloudwebrtc to clear the audio output preference, audioSwitch.selectDevice(null) should be used to return back to the default preferences. But yeah, removing the setSpeakerPhoneOn method for Android and making it iOS only is probably the most clean.

@furkanKotic Can you please test the latest commit? https://github.com/livekit/client-sdk-flutter/pull/333, It should now revert to the 1.3.5 state.

@cloudwebrtc
my pubspec file
  livekit_client:
    git:
      url: https://github.com/livekit/client-sdk-flutter.git
      ref: fix/set-speakerphone-on-but-prefer-bluetooth

Error:

Can you try adding dependency_overrides under pubspec.yaml?
  livekit_client:
    git:
      url: https://github.com/livekit/client-sdk-flutter.git
      ref: fix/set-speakerphone-on-but-prefer-bluetooth

dependency_overrides:
   flutter_webrtc:
     git:
       URL: https://github.com/flutter-webrtc/flutter-webrtc.git
       ref: fix/issue-for-audio-device-switch

@cloudwebrtc I tried that too, it didn't work.
Because project depends on flutter_webrtc from git which doesn't exist (Could not find git ref 'fix/issue-for-audio-device-switch' (fatal: ambiguous argument 'fix/issue-for-audio-device-switch': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]')), version solving failed.

okay, this is strange, maybe you can try to clone to local,
git clone https://github.com/flutter-webrtc/flutter-webrtc.git -b fix/issue-for-audio-device-switch --depth=1

dependency_overrides:
   flutter_webrtc:
     path: ../flutter-webrtc

Or wait for my release 0.9.38, within a day


Autocmd API

It's more like a question then an issue. Do we really need autocmds in setup?
I personally found much more convenient to create ftplugin/<filetype>.vim or ftplugin/<filetype>.lua and write the logic directly in vimscript or even in lua. I would suggest to this "native" way in README.md and remove the autocmds key from setup at all.

Example from my configuration.

"Need" is a strong word, but the reason it is there is because I wanted to provide some built-in autocmds for out-of-the-box support for a few plugins. This provides an interface for the user to override or disable those behaviors if they so choose. As a side benefit, users can also opt to pass in their own autocmds here. Some people may prefer to use the approach of putting the config in ftplugin/, but some people prefer to keep all configuration related to a specific plugin in the same file. This API provides an easy way to do that.
That said, there's no reason why you have to use it. If ftplugin/ works for you, then use that method.

Got it, thanks!


Upgrade pilot

Upgrade pilot SHA to pick up rbac fixes for clusterrole and clusterrolebinding with unique names.

@andraxylia: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/new-e2e-rbac_no_auth.sh
cf8b7fa143ce2d75cb20b546669e30e5b73b71c8
link
/test new-e2e-rbac_no_auth

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

#774 has the same pilot sha - not closing this so it doesn't create even more stray namespaces but we should merge #774 if by miracle it passes ingress (or this one if it does)

can you lgtm so I can merge if it passes?

this is 773 < 774

/lgtm
seems like you got lucky and it passed ingress; it does mean I have to make a 3rd PR unless maybe you can wait to see if #774 passes and merge that one instead so we don't waste as much time

/lgtm

@andraxylia: you cannot LGTM your own PR.

In response to this:

/lgtm

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.


Can not use serverSideTranslations on Vercel

In my index page i'm using serverSideTranslations function. getting error about finding file of translation.
this error happens only on pages that used by serverSideTranslations.
I deployed to Vercel and Netlify. in both of them i'v got the same error.
in _app.js i'm using appWithTranslation.
Dependencies:
"dependencies": {
    "@fortawesome/fontawesome-free": "^5.15.4",
    "@netlify/plugin-nextjs": "^3.9.2",
    "axios": "^0.21.1",
    "bootstrap": "^4.6.0",
    "dayjs": "^1.10.4",
    "dotenv": "^8.2.0",
    "fs-extra": "^10.0.0",
    "is-mobile": "^3.0.0",
    "next": "^11.1.2",
    "next-i18next": "^8.9.0",
    "next-seo": "^4.20.0",
    "node-fetch": "^2.6.1",
    "parse": "^3.1.0",
    "react": "17.0.1",
    "react-bootstrap": "^1.5.0",
    "react-dom": "17.0.1",
    "react-infinite-scroller": "^1.2.4",
    "recoil": "^0.1.2",
    "sass": "^1.43.2",
    "ts-node": "^9.1.1"
  }

next.config.js
const path = require('path');
const { PHASE_DEVELOPMENT_SERVER } = require('next/constants')
const i18NextConfig = require('./next-i18next.config');

const prodConfig = {
    generateBuildId: () => 'build-id',
    compress: true,
    target: 'serverless',
    i18n: i18NextConfig.i18n,
    sassOptions: {
        includePaths: [path.join(__dirname, 'styles')],
    },
}
module.exports = (phase, { defaultConfig }) => {
    if (phase === PHASE_DEVELOPMENT_SERVER) {
        return {
            ...defaultConfig,
            ...prodConfig,
            compress: false,
        }
    }

    return prodConfig;
}

next-i18next.config.js
const path = require('path');

module.exports = {
  i18n: {
    defaultLocale: 'he',
    locales: ['he'],
    localePath: path.resolve('./locales'), // <<< i tried to put this line here
  },
  keySeparator: '>',
  nsSeparator: '|',
  reloadOnPrerender: false,
  localePath: path.resolve('./locales'), // <<< and also here
};

Error message from Vercel lambda function
ng request: Error: ENOENT: no such file or directory, scandir '/var/task/public/locales/he'
at Object.readdirSync (fs.js:1043:3)
at getLocaleNamespaces (/var/task/node_modules/next-i18next/dist/commonjs/config/createConfig.js:175:23)
at /var/task/node_modules/next-i18next/dist/commonjs/config/createConfig.js:181:20
at Array.map ()
at getNamespaces (/var/task/node_modules/next-i18next/dist/commonjs/config/createConfig.js:180:44)
at createConfig (/var/task/node_modules/next-i18next/dist/commonjs/config/createConfig.js:221:29)
at _callee$ (/var/task/node_modules/next-i18next/dist/commonjs/serverSideTranslations.js:199:53)
at tryCatch (/var/task/node_modules/regenerator-runtime/runtime.js:63:40)
at Generator.invoke [as _invoke] (/var/task/node_modules/regenerator-runtime/runtime.js:294:22)
at Generator.next (/var/task/node_modules/regenerator-runtime/runtime.js:119:21) {
errno: -2,
syscall: 'scandir',
path: '/var/task/public/locales/he'
}

I really appreciate all the efforts and work you are putting into this, @isaachinman, but @rynrn did use path.resolve. And still have this issue...
@rynrn did you find a solution?
I know it may not directly related to next-i18next (and more to the way the Vercel filesystem is organized), but since next-i18next is built specifically for NextJs, and since probably 99% of NextJs deployments are on Vercel, it may be fair to say that it is a problem next-i18next should address...
I'm also having this problem when using getStaticPaths with dynamic paths that are not known at build time. For known paths, everything's OK.
For example, given the following :
// inside /pages/[id].js
export async function getStaticPaths() {

  const paths = [
    { params: { id: 1 } }
  ]

  return {
    paths,
    fallback: true
  }
}

/pages/1 will be created at build time, and will work, but /pages/2 will be built dynamically, and will fail (log below)...
2021-11-04T19:08:57.752Z	39913010-96e6-4074-92f5-326f8f6f71e2	DEBUG	/var/task/apps/collect/public/locales
2021-11-04T19:08:59.281Z	39913010-96e6-4074-92f5-326f8f6f71e2	ERROR	Error: ENOENT: no such file or directory, scandir '/var/task/apps/collect/public/locales/fr'
    at Object.readdirSync (fs.js:1043:3)
    at getLocaleNamespaces (/var/task/node_modules/next-i18next/dist/commonjs/config/createConfig.js:175:23)
    at /var/task/node_modules/next-i18next/dist/commonjs/config/createConfig.js:181:20
    at Array.map (<anonymous>)
    at getNamespaces (/var/task/node_modules/next-i18next/dist/commonjs/config/createConfig.js:180:44)
    at createConfig (/var/task/node_modules/next-i18next/dist/commonjs/config/createConfig.js:221:29)
    at _callee$ (/var/task/node_modules/next-i18next/dist/commonjs/serverSideTranslations.js:199:53)
    at tryCatch (/var/task/node_modules/next-i18next/node_modules/regenerator-runtime/runtime.js:63:40)
    at Generator.invoke [as _invoke] (/var/task/node_modules/next-i18next/node_modules/regenerator-runtime/runtime.js:294:22)
    at Generator.next (/var/task/node_modules/next-i18next/node_modules/regenerator-runtime/runtime.js:119:21) {
  errno: -2,
  syscall: 'scandir',
  path: '/var/task/apps/collect/public/locales/fr'
}
RequestId: 39913010-96e6-4074-92f5-326f8f6f71e2 Error: Runtime exited with error: exit status 1
Runtime.ExitError

My use case prevents me from genereating a list of paths in advance (as they are created dynamically by the users), so I really need to find a solution...

@gendronb Can you provide a reproducible repo?

@isaachinman
Again, I appreciate your efforts, and I don't want to waste your time, so I did some additionnal experiments.
I must mention that my own  project is not a "normal" NextJs project, as it a monorepo scaffolded using Nx . As such, the next-i18next.config.js is not at the project root, but 2 levels up (inside /apps/my-app).
Originally, my next-i18next.config.js is like below:
const path = require('path')

module.exports = {
  i18n: {
    locales: ['en', 'fr'],
    defaultLocale: 'fr'
  },
  localeDetection: false,
  debug: true,
  localePath: path.resolve('./apps/my-app/public/locales'),
  react: { useSuspense: false }
}

This configuration works perfectly locally, but dynamic page generation fails on Vercel (as per my previous message).
I tried chanching the localePath to localePath: path.resolve('./apps/my-app/public/locales'), but then the build process itself fails (for static pages, like 404).
I did create a reproducible repo for you, but since it is a "normal" NextJs project, the problem do not occur. In order to really reproduce my issue, I will have to scaffold a project with Nx.

@gendronb I think you'd be better off opening an issue on the vercel repo, with that minimal Nx repository to help them reproduce.
Feel free to also post it here. I can take a look, but cannot offer any promises in regards to the Vercel platform itself.

@isaachinman thanks, will do and keep you informed.
In the meantime, any idea about how I could load and inject the translations server-side, maybe with a normal require or import statement?

As I said, I would need to see your reproducible repo to give any advice.


Q[3, a - g] Query testing, optimization and verification

User story

As SDs.
We want to test and improve the bot's capabilities.
So that it can successfully handle a wide range of requests.

Testing week 3 queries
Q[3,a]:
Q[3,b]:
Q[3,c]:
Q[3,d]:
Q[3,e]:
Q[3,f]:
Q[3,g]:
Acceptance criteria

Make sure to change the formation of the queries a bit, don't just copy paste how they are from the template.
Run the queries and document the given output and response speed as a comment here.
Run each query in a fresh session and ensure caching is off.
If you think the queries are correct, test with PyTest
If the query is incorrect, edit the RAG to improve the results.
If the changes to the RAG are large enough to constitute a defined task, talk to Avi to set up one on the board.

Definition of done (DoD)
Feature DoD:

Code review has been completed and code has been merged.
User interaction tests pass on all major browsers.

Sprint Release DoD:

Project builds, deploys, and tests successfully.

Project Release Definition of Done

User interaction tests pass on all major browsers.
Design documentation has been updated

DoD general criteria

Feature has been fully implemented
Feature has been merged into the mainline
All acceptance criteria were met
Product owner-approved features
All tests are passing
Developers agreed to release

Please, find testing results of week 3 by clicking this link


Revisit instructions on creating data for ingestion -- Back to basics

Basic sequence of steps on how to create a nodegroup for the RACK-Ontology and how to create a csv data file for it.
Define basic terminologies: what is a nodegroup, what is a model/data in SemTK. Sometimes some of the terms used in different context mean different things. (i.e., model in SemTK vs. model in AADL)

Some existing wiki pages that need to be revisited:

TA1-SPARQLgraph
TA3-SPARQLgraph
SPARQLgraph startup -- this should cover the SPARQLgraph info currently in the TA1 and TA3 pages

I was using RACK cli tool for this activity.
Sequence of Steps to Ingest Overlay and Instance Data Using RACK cli Tool

Create a SADL overlay project. The SADL file will automatically generate OWL files for step 2.
The recommended the overlay project overlay can be found: https://github.com/ge-high-assurance/RACK/wiki/Ingestion-packages#introduction

Create a yaml file with the name "import.yaml" in the /OwlModels folder of the overlay project and add the the owl files names in the "import.yaml" as follows:

files:

owlfilename1.owl
owlfilename2.owl

Create CDRs and ingestion nodegroups using the RACK/nodegroups/generate-cdrs.sh.
We need the Java JAR file to create CDRs and ingestion nodegroups. And Paul C. gave the JAR file to me.
$ ./generate-cdrs.sh standaloneExecutables-jar-with-dependencies.jar
I think the generated CDRs and nodegroups file will be in the folder called /CDR/ and /nodegroups/arcos.YourProjectName/ in parrallel to the scripts.
But I am not 100% sure. The reason is that I executed the script in the RACK repo where the /CDR and /nodegroups/arcos.YourProjectName/ already exist and CDRs and nodegroups were generated in those folders. Based on the console messages, it also seems like the script has some configurations that would ingest the RACK core ontology and some overlays in the RACK repo again.

Import the ingestion nodegroups
$rack nodegroups import RACK/nodegroups/ingestion/arcos.turnstile

Create instance data for my overlay.
I only tried with csv files. So the first thing I want to know is how my csv headers look like. Then I found https://github.com/ge-high-assurance/RACK/wiki/Ingestion-packages#instance-data. But it still didn't resolve my questions. Then I asked Kit, and Kit told me that the headers should be in the CDRs. Then I went there and realized that the CDR has all the headers. Another question I had was which headers are required and which headers are optional. Then, I got stuck. I started to try different things. So first, I just put whatever data I need in the csv files. Then by following the tutorial https://github.com/ge-high-assurance/RACK/wiki/Ingestion-packages#instance-data, which i think it is a bit cumbersome, but I was able to create a set of my own instance data.
Still, I have questions unanswered. Which headers are optional and which headers are required? How do I know this?

Create and execute the ingestion script. The script template can be found at https://github.com/ge-high-assurance/RACK/wiki/Ingestion-packages#ingestion-script
$./Load-InstanceData.sh

be sure to check out issue #671  I think that section of docs will be very helpful


Add PR templated

Problem
Some PRs would be easier to review with additional context shared in the description.
Solution
Add a PR template to guide people toward including more information about their changes.
Type of Change

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update
[x] Non-code change (docs, CI config, etc)
[ ] None of the above: (explain here)

Adding a global default PR template instead


feature: An offline notification when the user is not connected to internet but tries to reach the web application.

When I open the app.100xdevs.com while not being connected to internet, I get this screen.

Solution

A page cached on frontend side which should display Harkirat's icon in the center and text telling the user that user is not connected to internet. I recently did it for my personal-website, so decided to do the same feature for app.100xdevs.com as well.

Hey @devsargam Please Assign This Task to me.

I opened this issue and done the work as well, just waiting for @devsargam or @hkirat to assign it so that I can raise my PR.


Elastic search permissions

Hi,
We are using a centralized elastic search deployment
we would like to give jaeger a user with sufficient permission but couldn't find any documentation on what permission jaeger needs
Is there a documentation or knowledge what's needed?

Please have a look here https://github.com/jaegertracing/jaeger/issues/1691.
I am closing this as it is a duplicate.


Dogecoin is going to have Segwit and CSV, a must-have feature for Lightning Network.

Dogecoin is going to have Segwit and CSV, a must-have feature for Lightning Network.

Just to clear the air about the importance of Lightning Network, check out this job description posted with Visa about 12d ago. If DOGE is to compete with the likes of the big banks, it must be compatible with some of the large POS implementations.
"Good understanding of 2nd layer scaling solutions (Lightning Network), and experience authoring smart contracts to tokenize fiat currencies (Solidity, Rust, Move or other competing technologies)"
Visa Crypto Role

Please see #1798


Come up with better content representation

graph.json file:
{
"some_id": ["some_id", "some_id", ...],
}

nodes.json file:
{
"some_id": {
"id": "some_id",
"name": "some_name",
"description": "some_description"
},
}

texts.md file:

some_id. some_name
Markdown text
some_id. some_name
Markdown text


gftools packager error: Cannot set google.fonts_public.FamilyProto.primary_script to None

I'm trying to onboard this: https://github.com/SorkinType/Agbalumo with gftools packager "agbalumo" fonts -p
And I keep getting this error, I think the main problem has to do with the primary script?
I'm using gftools installed in editable mode @ commit b074d8f
10187 🔅 : gftools packager "agbalumo" fonts -p                                                                                [~]
Font Family "agbalumo" not found on Google Fonts.
To add a new typeface family to Google Fonts we must know the license of the family.
It's very likely that OFL is the license that is expected here.
Your options [o]=OFL: SIL Open Font License,a=Apache License,u=Ubuntu Font License,q=quit program:o
temp file name is /var/folders/ht/8b6qb9pj7csc3pn8bgwwx3j80000gn/T/upstreamn1k3bi4i.yaml
Creating package with
----- upstream configuration (no comments, normalized) -----
name: agbalumo
repository_url: https://github.com/SorkinType/Agbalumo.git
archive:
branch: main
category:
- DISPLAY
classifications:
- DISPLAY
stroke:
designer: Raphael Alegbeleye
build:
files:
  OFL.txt: OFL.txt
  DESCRIPTION.en_us.html: DESCRIPTION.en_us.html
  fonts/ttf/Agbalumo-Regular.ttf: Agbalumo-Regular.ttf
------------------------------------------------------------
Cloning into bare repository '/var/folders/ht/8b6qb9pj7csc3pn8bgwwx3j80000gn/T/tmp05hq8zz2/repos/https_github_com_SorkinType_Agbalumo_git__main'...
remote: Enumerating objects: 141, done.
remote: Counting objects: 100% (141/141), done.
remote: Compressing objects: 100% (119/119), done.
remote: Total 141 (delta 62), reused 85 (delta 16), pack-reused 0
Receiving objects: 100% (141/141), 37.49 MiB | 20.17 MiB/s, done.
Resolving deltas: 100% (62/62), done.
Traceback (most recent call last):
  File "/Users/eli/Py/venvs/GF-2023/lib/python3.11/site-packages/google/protobuf/internal/python_message.py", line 702, in field_setter
    new_value = type_checker.CheckValue(new_value)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/eli/Py/venvs/GF-2023/lib/python3.11/site-packages/google/protobuf/internal/type_checkers.py", line 198, in CheckValue
    raise TypeError(message)
TypeError: None has type <class 'NoneType'>, but expected one of: (<class 'bytes'>, <class 'str'>)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/eli/Py/venvs/GF-2023/bin/gftools", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/Users/eli/Google-Fonts/temp/gftools-main/gftools/Lib/gftools/scripts/__init__.py", line 91, in main
    mod.main(args[2:])
  File "/Users/eli/Google-Fonts/temp/gftools-main/gftools/Lib/gftools/scripts/add_font.py", line 318, in main
    metadata = _MakeMetadata(args, is_new)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/eli/Google-Fonts/temp/gftools-main/gftools/Lib/gftools/scripts/add_font.py", line 173, in _MakeMetadata
    metadata.primary_script = script
    ^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/eli/Py/venvs/GF-2023/lib/python3.11/site-packages/google/protobuf/internal/python_message.py", line 704, in field_setter
    raise TypeError(
TypeError: Cannot set google.fonts_public.FamilyProto.primary_script to None: None has type <class 'NoneType'>, but expected one of: (<class 'bytes'>, <class 'str'>)

Upstream conf caused an error:
-----

Traceback (most recent call last):
  File "/Users/eli/Google-Fonts/temp/gftools-main/gftools/Lib/gftools/packager.py", line 1672, in make_package
    family_dir = _create_package_content(tmp_package_dir, tmp_repos_dir,
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/eli/Google-Fonts/temp/gftools-main/gftools/Lib/gftools/packager.py", line 1049, in _create_package_content
    _create_or_update_metadata_pb(upstream_conf, package_family_dir,
  File "/Users/eli/Google-Fonts/temp/gftools-main/gftools/Lib/gftools/packager.py", line 893, in _create_or_update_metadata_pb
    raise e
  File "/Users/eli/Google-Fonts/temp/gftools-main/gftools/Lib/gftools/packager.py", line 880, in _create_or_update_metadata_pb
    subprocess.run(
  File<EMAIL_ADDRESS>line 571, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['gftools', 'add-font', '/var/folders/ht/8b6qb9pj7csc3pn8bgwwx3j80000gn/T/tmp05hq8zz2/packages/ofl/agbalumo', '--github_url', 'https://github.com/SorkinType/Agbalumo.git']' returned non-zero exit status 1.

This will be fixed when this PR is merged: https://github.com/googlefonts/gftools/pull/746
Thanks Simon!


texlive: remove deprecated licenses

Description of changes
Follow up on https://github.com/NixOS/nixpkgs/pull/305036#issuecomment-2067167576: plain GPL licenses are deprecated and should be replaced with Only and Plus variants. This PR does it for TeX Live, which generates license data its own way.
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[X] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[X] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

@GrahamcOfBorg build tests.texlive.licenses tests.texlive.tlpdbNix


Sample App: Sample Code snippet imports SalesforceDesignSystem: it should import DesignSystem

Closing this as it should not be an issue in the new version


hashtag_medias_a1_chunk() method problem

Hello
I saw your fixed code and i tried again 1.19.7 version
but same problem is occurred

1.18.5 version is working now


Feature Request: Add full support for API Data

The Hour data in this pkg support only tempC, time and condition, while the Weather API returns much more:
{
    "time_epoch":<PHONE_NUMBER>,
    "time": "2024-05-09 00:00",
    "temp_c": 11.6,
    "temp_f": 52.9,
    "is_day": 0,
    "condition": {
        "text": "Cloudy ",
        "icon": "//cdn.weatherapi.com/weather/64x64/night/119.png",
        "code": 1006
    },
    "wind_mph": 3.6,
    "wind_kph": 5.8,
    "wind_degree": 187,
    "wind_dir": "S",
    "pressure_mb": 1029.0,
    "pressure_in": 30.4,
    "precip_mm": 0.0,
    "precip_in": 0.0,
    "snow_cm": 0.0,
    "humidity": 89,
    "cloud": 63,
    "feelslike_c": 11.4,
    "feelslike_f": 52.5,
    "windchill_c": 11.4,
    "windchill_f": 52.5,
    "heatindex_c": 11.6,
    "heatindex_f": 52.9,
    "dewpoint_c": 9.9,
    "dewpoint_f": 49.7,
    "will_it_rain": 0,
    "chance_of_rain": 0,
    "will_it_snow": 0,
    "chance_of_snow": 0,
    "vis_km": 10.0,
    "vis_miles": 6.0,
    "gust_mph": 6.0,
    "gust_kph": 9.7,
    "uv": 1.0
},

Could you add support for these additional fields?

Sure @esDotDev, I will add them as soon as possible

Thanks! Also please note the additional properties on Condition, text and code

Hi @esDotDev . I've released version 1.1.0, which includes support for all API data fields. Let me know if there are any issues.

This is working great, ty!


How to choose the suitable version of kernel for bam on ubuntu 22.04?

** Machine Setup **:

Ubuntu 22.04
kernel 5.15
NVIDIA Driver 550.120
CUDA Versions 12.3
GPU name RTX A6000
SSD used Samsung 1.7Tb

Problem description:
I'm attempting to build the project but when I run sudo make load to load the custom kernel module, it gives me:
insmod libnvm.ko max_num_ctrls=64
insmod: ERROR: could not insert module libnvm.ko: Unknown symbol in module
make: *** [Makefile:24: load] Error 1
Help wanted:
After looking up the previous issues, I guess it is because my kernel version is too high.
But to my best knowledge，kernel version 5.8 doesn’t match to the ubuntu 22.04.So I sincerely want to know how to choose the suitable version of kernel for bam on ubuntu 22.04? Which kernel can support bam on Ubuntu 22.04?

Please use 5.8.x. 5.15.x wont work.


A new language question

Is there a way to add support for detecting a new language to the library by myself?
For instance, I'd like to add Aragonese, Asturian, Occitan, Norwegian Nynorsk.

I need answer to this questions too.

I was about to ask for Occitan too!

me too


fix, refactor: timer removes role only if role was added, organisation changes

This PR makes some major organisation changes, removing files that aren't needed (github actions, circleci, docker stuff, etc) and making main.cpp use tab indents along with never nesting (so inner lambdas aren't like 5 indents in).
This PR also fixes an issue where the timer would run even if the role wasn't added. This issue could happen if the bot isn't allowed to add a role to someone, resulting in the bot then throwing another error in 2 more hours as it can't remove that role.
This PR also makes config.json there by default.

Looks good to me!
Let me rephrase that...
Looks good to me!
I can read but I'm a zoomer. Anyway I'm merging this stuff cuz who cares?


Get rid of Lightmap size automatically get +1 and use ImageBlurFilter without subimage to increase lightmap performance slightly

Will only provide very slight performance enhancement. Image must also be resized when no blur filter is applied to compensate issues with rotated screen edges.

resolved in main


Spark.Engine nuget-package

Hi guys!
I am developing FHIR- server using FHIRbase. I suggest you create nuget-package from the assembly "Spark.Engine".

Spark.Engine is now available as nuget package.
https://www.nuget.org/packages/Spark.Engine/0.90.2-beta2
Spark.Mongo is the Mongo implementation of Spark:
https://www.nuget.org/packages/Spark.Mongo/0.90.2-beta2


[Win] Remove using of nssm for service control

nssm was used to create/start/stop/configure p2p dervice, we can do everything with sc command, so nssm will be removed from installer

sc is a part of Resource Kit, so may be it's better to use nssm, as it's free
https://github.com/kirillkovalenko/nssm

I think to use nssm is even better than sc


Cross compiling fails

I'm running an amd64 system trying to cross compile for x86 (which is common for multilib).
Building quiche by running:
cargo build --target=i686-unknown-linux-gnu
results in this build failure:
   Compiling quiche v0.1.0 (/var/tmp/portage/net-libs/quiche-0.1.0/work/quiche-0.1.0-abi_x86_32.x86)
error: failed to run custom build command for `quiche v0.1.0 (/var/tmp/portage/net-libs/quiche-0.1.0/work/quiche-0.1.0-abi_x86_32.x86)`

Caused by:
  process didn't exit successfully: `/var/tmp/portage/net-libs/quiche-0.1.0/work/quiche-0.1.0-abi_x86_32.x86/target/release/build/quiche-0b547c5a4bcd114c/build-script-build` (exit code: 101)
--- stdout
running: "cmake" "/var/tmp/portage/net-libs/quiche-0.1.0/work/quiche-0.1.0-abi_x86_32.x86/deps/boringssl" "-DCMAKE_INSTALL_PREFIX=/var/tmp/portage/net-libs/quiche-0.1.0/work/quiche-0.1.0-abi_x86_32.x86/target/i686-unknown-linux-gnu/release/build/quiche-f20871fc80c099ad/out" "-DCMAKE_C_FLAGS= -ffunction-sections -fdata-sections -fPIC -m32 -march=i686 -march=native -pipe -fuse-linker-plugin -flto -ftree-vectorize -ftree-slp-vectorize -falign-functions=32 -fgraphite-identity -floop-nest-optimize -fno-lto -fno-use-linker-plugin" "-DCMAKE_C_COMPILER=/usr/lib/ccache/bin/x86_64-pc-linux-gnu-gcc" "-DCMAKE_CXX_FLAGS= -ffunction-sections -fdata-sections -fPIC -m32 -march=i686 -march=native -pipe -fuse-linker-plugin -flto -ftree-vectorize -ftree-slp-vectorize -falign-functions=32 -fgraphite-identity -floop-nest-optimize -fno-lto -fno-use-linker-plugin" "-DCMAKE_CXX_COMPILER=/usr/lib/ccache/bin/x86_64-pc-linux-gnu-g++" "-DCMAKE_BUILD_TYPE=RelWithDebInfo"

[snip]
/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: i386:x86-64 architecture of input file `../crypto/libcrypto.a(aesni-x86_64.S.o)' is incompatible with i386 output
/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: i386:x86-64 architecture of input file `../crypto/libcrypto.a(aes-x86_64.S.o)' is incompatible with i386 output
/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: i386:x86-64 architecture of input file `../crypto/libcrypto.a(ghash-x86_64.S.o)' is incompatible with i386 output
/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: i386:x86-64 architecture of input file `../crypto/libcrypto.a(md5-x86_64.S.o)' is incompatible with i386 output
/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: i386:x86-64 architecture of input file `../crypto/libcrypto.a(sha1-x86_64.S.o)' is incompatible with i386 output
/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: i386:x86-64 architecture of input file `../crypto/libcrypto.a(sha256-x86_64.S.o)' is incompatible with i386 output
/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: i386:x86-64 architecture of input file `../crypto/libcrypto.a(sha512-x86_64.S.o)' is incompatible with i386 output
/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: i386:x86-64 architecture of input file `../crypto/libcrypto.a(vpaes-x86_64.S.o)' is incompatible with i386 output
/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: i386:x86-64 architecture of input file `../crypto/libcrypto.a(x86_64-mont.S.o)' is incompatible with i386 output
/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: i386:x86-64 architecture of input file `../crypto/libcrypto.a(chacha-x86_64.S.o)' is incompatible with i386 output
/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: i386:x86-64 architecture of input file `../crypto/libcrypto.a(x86_64-mont5.S.o)' is incompatible with i386 output

Here's the full build log:
net-libs:quiche-0.1.0:20191127-222131.log
Regardless of the --target provided to cargo, quiche is always building boringssl for the native arch, not the target one.
Parameters need to be provided to the boringssl cmake build process so it builds for the cargo provided --target arch and not the native arch.

https://github.com/alexcrichton/cmake-rs/issues/80 seems relevant.

@candrews I made a PR #285 to fix this issue. Let me know this works for you.


hdfs parallel read and tag parse

What do these changes do?

Related issue number

Fixes

Codecov Report

Merging #85 (c375115) into main (e25e496) will decrease coverage by 0.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main      #85      +/-   ##
==========================================
- Coverage   61.71%   61.69%   -0.02%
==========================================
  Files          53       52       -1
  Lines        3811     3812       +1
==========================================
  Hits         2352     2352
- Misses       1459     1460       +1

Impacted Files
Coverage Δ

src/common/backtrace/demangle.cc

src/common/backtrace/backtrace.cc

src/common/backtrace/backtrace.hpp
0.00% <0.00%> (ø)


HTML5 backends

Is there a handle to already established backends/DragDropContext?  I'm using your code from #186:
let defaultManager;
function getDefaultManager() {
    if (!defaultManager) {
        defaultManager = new DragDropManager(HTML5Backend);
    }
    return defaultManager;
}

But is there a way to check if another application has created a manager?

Nesting backends is not thought out well now. If you'd like to propose an API change to make it more explicit I'm happy to hear it!

I'm using a modified version of DragDropContext which simply uses the above getDefaultManager where the childContext is declared like so:
    const childContext = {
        dragDropManager: getDefaultManager(backend)
    };

this is working beautifully for me with a nested drag & drop card layout, but I admittedly haven't taken the time to review all the implications of this approach yet

@gaearon
Whenever I try to do this I keep getting
DragDropManager.js:40 Uncaught TypeError: createBackend is not a function
Any idea what could be causing this?  I have the exact same code as @jaygood with DragDropManager imported from dnd-core and HTML5Backend imported from the correct library.

@akhayoon @gaearon After updating from React DND (and also React HTML5 Backend) from 2.6 to 5.0, I'm getting this error as well.

@bureson hello, im facing this issue as well, any workaround?

@JJie09 you will need to change the way how you import the lib, one of following:
import HTML5Backend from "react-dnd-html5-backend"
const HTML5Backend = require('react-dnd-html5-backend').default;


Fix block style extra/missing newlines

Fixes #253: loader should not add an extra newline at the beginning of block scalars that have an explicit indentation indicator.
Cause: "Detected indent" was assumed logically equivalent to "did read non-empty line".
This no longer holds with an indentation indicator: indent is detected before any content is read.
Fixes #276: loader should not remove a trailing newline for block scalars with "+" chomping.
Cause: "+" chomping didn't account for the last content newline before the trailing empty lines.

I'm not 100% familiar with the loader so there may be some missed edge cases.
So far it's passed every test I've tried.
@dervus and @puzrin, I hope this helps. Let me know if you find something.

Added a hotfix for double-quoted.
I was too focused on the other styles to notice, sorry. There's now a test case to cover it.

Sorry for so delayed reply!
Could you make didReadContent a Boolean variable? You use it for +1 operation anyway, and using integers in Boolean expressions is against our coding style.
Also, this fixes only first part of #253, am I right?

if didReadContent become boolean, equation will be common.repeat('\n', didReadContent ? emptyLines + 1 : emptyLines)

I prefer boolean too for style. Originally I wrote it like you said.
But it turns out auto-converting boolean to number is slow in V8, so I changed it for performance.
The added benchmarks bear this out.
There's another neat solution though: represent '\n' directly rather than converting it from 1 or true each time. The new commit uses this method to avoid almost all conversions and branching. It has the best performance and, I believe, good readability. What do you think?
Benchmarks
1/0 as boolean and number (old commit)
Sample: scalar_block_folded.yaml (2785 characters)
 > current x 39,255 ops/sec ±1.54% (76 runs sampled)
Sample: scalar_block_literal.yaml (2785 characters)
 > current x 37,874 ops/sec ±0.78% (86 runs sampled)

true/false as boolean and number
Sample: scalar_block_folded.yaml (2785 characters)
 > current x 38,813 ops/sec ±1.23% (79 runs sampled)
Sample: scalar_block_literal.yaml (2785 characters)
 > current x 33,871 ops/sec ±1.00% (85 runs sampled)

ternary (didReadContent ? emptyLines + 1 : emptyLines))
Sample: scalar_block_folded.yaml (2785 characters)
 > current x 39,068 ops/sec ±0.93% (78 runs sampled)
Sample: scalar_block_literal.yaml (2785 characters)
 > current x 35,470 ops/sec ±0.89% (87 runs sampled)

'\n'/'' (new commit)
Sample: scalar_block_folded.yaml (2785 characters)
 > current x 38,504 ops/sec ±0.99% (75 runs sampled)
Sample: scalar_block_literal.yaml (2785 characters)
 > current x 38,513 ops/sec ±0.61% (86 runs sampled)

For part 2 of #253, it appears the spec has an error.
' \t' is a more-indented line according to the grammar, since \t is s-white.

[177] s-nb-spaced-text(n) ::= s-indent(n) s-white nb-char*

(Rule [175] for folded lines doesn't match)
Therefore join with a newline.
LibYAML 0.1.5 agrees.
It throws an error on the example, but if you specify indent with >1, it also produces '\t\ndetected\n'.

It doesn't seem to really affect the benchmarks in my opinion. The difference seem to be in the margin of error. I'd propose to stick Boolean solution @puzrin proposed.

@dervus any more notes? Ok to squash and merge?

Yes, looks good to me. Thanks, @aepsilon.

@aepsilon could you squash 2 last commits into the first one?

Done. :+1: Thanks for checking it over.

Seems ok to release.
3.6.0 or 4.0.0? Can it break something?

Well, it's not an API change, though it changes dumper output. However I saw some NodeJS folks talking about changes of dump output. It was somewhere at PRs/issues external references.
I'd bet for minor version change.


Jsrender can not render table

Hi Boris
I'm using jsrender version v0.9.75 (Beta) and get a stranger situation.
I have a template like that:
{{for pageSummaries}}

{{:title}}

 {{:content}}

          Creater {{:creator}}, modifier {{:modifier}}, date {{:modified}}

{{/for}}

when i remove the tr tag, it runs ok. But in it template, it renders the tr with empty data.
Don't know why. Thanks.

A
 has to be inside a
 and should only have  elements as children. Your HTML with a
 as child of a
 is not valid HTML.

yes, thanks.


AST Design

I like the current AST, but it is not ameniable to adding new features. The design should be redone to make it easy to change which properties a node contains. A node should probably be a struct.
A good design is crucial to experiment with and develop new features, e.g. static typing.

This is fulfilled with https://github.com/JohnDTill/Forscape/pull/6


Warn if different URLs are saved to the same file

Both / and /index.html are saved as index.html, but can be different in a dynamic app.
Links in apps designed to be frozen should be consistent, and we can warn if they're not.
Same for x/y and x//y.

Do we want to solve x/y and x//y? I can not test it with nowadays browsers, curl, wget. I've always get status 308 as redirect to x/y.

OK, if all tools we know of normalize // to /, let's not warn about the difference.


Refactoring Auth Client

removed _deliver method
simplified promise/callback integration
rewrote unit tests

now look more like unit tests instead of integration

updated copyright to 2015

=============================== Coverage summary ===============================
Statements   : 100% ( 68/68 )
Branches     : 98% ( 49/50 )
Functions    : 100% ( 11/11 )
Lines        : 100% ( 68/68 )
================================================================================

Fixed in e84638b775ebce0794494bc8f41e05f9004ae069


Fix knee calc in plot.py (accigue)

Improved parameters for kneed, now does a polynomial curve fit and looks at all possible knee points before selecting one.
Need feedback on how this works for everyone.


The "Everyone is Sleeping" msg doesn't clear

The message stays on screen forever until the sleeping count and skipped messages display.

Can you attach your config file? I may take a look at the problem.

Thanks. I made no changes to the default the config, but here it is anyway. Had to rename it to .txt to be able to attach it here.
config.txt

If you okey playing without the actionbar, you can change actionbar: true to actionbar: false in the config.
How to reproduce the problem for the maintainer:

op account1
op account2
sign in on both accounts
the message now appears

@cjucoder Can you test this with version 1.4.2 and tell me if the issue still occurs? I have fixed most the bugs with 1.13.2, but I haven't yet experienced this one so I am not sure if it's fixed.

Will do. Thank you.


wl_surface.{enter,leave} not sent to all surfaces in rootston

These signals are only sent to the view surfaces.
We need to send them to fullscreen surfaces, popups and such.

I guess this is related, if you open two windows e.g. urxvt and gnome-terminal, go into the menues like File in gnome-terminal and keep the popup open, then click on urxvt you will focus urxvt (it comes to front, blinking cursor fills up to indicate focus) but keyboard input still goes to the former gnome-terminal.

I don't think this is related, wl_surface.{enter,leave} is only used for HiDPI, not for grabs. Can you file another issue? Maybe this issue is already mentioned in one of these "fix xdg-shell" issues.

This is actually #233, so ignore me :)