OpenStack ComputeDriver

I think it would be great to be able to integrate this with OpenStack.

PRs welcome. :)

I was looking for some kubernetes configs / helm charts, surprised that I can't find any mention of it.

I was looking for some kubernetes configs / helm charts, surprised that I can't find any mention of it.

Blackrock may actually predate Helm... But it currently solely runs on GCE, where Oasis was hosted.
It's also not really supported or worked on, you may want to consider a beefy Sandstorm VM instead.

@xavier83, afaik blackrock has never been really been used outside of Sandstorm Inc's running of Oasis; it wasn't open-sourced until the business side of things was mostly shutting down, and nobody's really done any work on it since, except some basic maintenance work by @kentonv to keep Oasis running a little longer.  So it is still very much tied to the infra that Oasis used to run on, and now that Oasis is shut down I doubt blackrock will see any new development unless someone interested steps up -- most of us in the community are running smaller setups for which vanilla sandstorm is more appropriate, and don't consider blackrock a priority. If @kentonv is still willing to review PRs then it could probably be revived if someone wanted to put in the work, but I think right now unless you or someone you know is interested in getting your hands dirty you should probably consider blackrock unmaintained. Additionally, while I don't think we've done anything in sandstorm core that should break blackrock, we're not testing with it so it's possible you might hit some bitrot.

I landed here from https://sandstorm.io/business looking for how sandstorm scales. If sandstorm itself provides helm chart or equivalent it would be great! but even there there is no mention of it though :stuck_out_tongue:

@xavier83 That page unfortunately has a lot of things that didn't happen, and was definitely written when Blackrock was a priority for the Sandstorm team (and when there was a Sandstorm team...), but Sandstorm tends to scale pretty well on a single instance machine. Since the only running grains are grains that are actively open in someone's browser, most apps and users have no performance impact on the server at any given time.
AFAIK, at this juncture, nobody has actually run a Sandstorm server with enough activity to actually require Blackrock.

@ocdtrekkie, maybe we should remove the references to blackrock from that page? It seems a bit misleading re: the state of the project, but everything else seems to still fit.

@zenhack I think that'd be prudent.


Roman Numeral converter

Challenge Name
Roman Numeral Converter
Issue Description

I'm reporting this based on my tests of an issue another camper reported on the forums.
The thread may be found here on the FCC forum
The code pasted below fails all tests for this challenge, even though it is returning the correct answer.
Moving var converted = [] inside the function returns the exact same result, yet passes all tests.
Browser Information

Browser Name, Version: Chrome / Firefox - latest
Operating System: Mac OSX El Capitan / Ubuntu 16.04
Mobile, Desktop, or Tablet:

Your Code

var converted = [];

function convertToRoman(num) {
  //use roman numerial char codes

  var romans = [{
    1: "I",
    2: "II",
    3: "III",
    4: "IV",
    5: "V",
    6: "VI",
    7: "VII",
    8: "VIII",
    9: "IX"
  }, {
    1: "X",
    2: "XX",
    3: "XXX",
    4: "XL",
    5: "L",
    6: "LX",
    7: "LXX",
    8: "LXXX",
    9: "XC"
  }, {
    1: "C",
    2: "CC",
    3: "CCC",
    4: "CD",
    5: "D",
    6: "DC",
    7: "DCC",
    8: "DCCC",
    9: "CM"
  }, {
  	1:"M"
  }];

  var stringedNum = num.toString().split("").reverse().join("");//63

  for (i = 0; i < stringedNum.length; i++) {

    switch (i) {
      case 0:
        converted.push(romans[0][stringedNum[i]]);
        break;
      case 1:
        converted.push(romans[1][stringedNum[i]]);
        break;
      case 2:
        converted.push(romans[2][stringedNum[i]]);
        break;
      case 3:
        converted.push(romans[3][1].repeat([stringedNum[i]]));
        break;
      case -1:
        console.log("-1");
        alert("No number!");
        break;
    }
  }
  //63.
  return converted.reverse().join("");
}

convertToRoman(2);

Screenshot

It's already known that use of global variables in such a way prevents the tests from running successfully for otherwise correct code as these variables are not reset between function calls.
There is an open issue and discussion at #9199, so this is a duplicate issue.
Note that with a global variable for converted this function would not work with multiple invocations, even outside of the FCC editor and test environment. For example, for two calls to the function with the argument 2, the returned values are:
convertToRoman(2); // 'II'
convertToRoman(2); // 'IIII'

Oh yes, I'm aware of the issues that occur on multiple calls to the function. Like I said, just reporting for another camper.
I'll close this out now as it appears to be covered by the other open ticket.


Unable to modify settings after uploading folder, "Choosing files"

I have run into an issue where if I upload a folder using "Choose files", when I modify any settings, ie. change variable from binary to categorical, the settings are not saved when you go to visualize it. Wiggum will only display the results from the saved result_df. There is no way to modify the settings of any 'saved' project. For example, the irisres dataset still tries to display Pearson, even when you deselect it from the menu.

@darbycobb is this resolved?

yes! I just double checked

thanks!


Attempt to fix select_contact_point_recovery

Basic hack to fix the issue temporarily

@adw0rd is this somehow missed the merge?

@adw0rd is this somehow missed the merge?

I closed this myself because it requires an additional API request after email verification which is missing in this commit.

@skords  Ah I understand, and it is hard to add it, or you are planning to add it in a new PR?

Hey,
I solved the issue of the missing additional API request on my side.. please use the following code for the challenge.py file:
        elif step_name == "select_contact_point_recovery":
            """
                {
                    'step_name': 'select_contact_point_recovery',
                    'step_data': {'choice': '0',
                        'phone_number': '+62 ***-****-**11',
                        'email'<EMAIL_ADDRESS>                        'hl_co_enabled': False,
                        'sigp_to_hl': False
                    },
                    'flow_render_type': 3,
                    'bloks_action': 'com.instagram.challenge.navigation.take_challenge',
                    'cni':<PHONE_NUMBER>24,
                    'challenge_context': '{"step_name": "select_contact_point_recovery",
                    "cni":<PHONE_NUMBER>24,
                    "is_stateless": false,
                    "challenge_type_enum": "HACKED_LOCK",
                    "present_as_modal": false}',
                    'challenge_type_enum_str': 'HACKED_LOCK',
                    'status': 'ok'
                }
                """
            steps = self.last_json["step_data"].keys()
            challenge_url = challenge_url[1:]
            if "email" in steps:
                self._send_private_request(
                    challenge_url, {"choice": ChallengeChoice.EMAIL})
            elif "phone_number" in steps:
                self._send_private_request(
                    challenge_url, {"choice": ChallengeChoice.SMS})
            else:
                raise ChallengeError(
                    f'ChallengeResolve: Choice "email" or "phone_number" (sms) not available to this account {self.last_json}')
            wait_seconds = 5
            for attempt in range(24):
                code = self.challenge_code_handler(self.username, ChallengeChoice.EMAIL)
                if code:
                    break
                time.sleep(wait_seconds)
            print(f'Code entered "{code}" for {self.username} ({attempt} attempts by {wait_seconds} seconds)')
            self._send_private_request(challenge_url, {"security_code": code})
            # assert 'logged_in_user' in client.last_json
            assert self.last_json.get("action", "") == "close"
            assert self.last_json.get("status", "") == "ok"
            return True

Hey @windowpane  create a pull request for it

Created a pull request: #1225 !


Port to .NET Standard

There should be a port to .NET Standard, such that it can be used as part of newer projects.

Since ASP.NET MVC does support all WebDav Methods, a port is obsolete.


Issue where expressions are parsed correctly if the start matches the pattern

This issue has yet again reappeared, I think in a different form now, but it may just plain be the same issue.
Basically, the following code compiles:
on script load:
    print "%e. How's your day going?%"

It obviously prints 2.7182818285, which is non-desired behaviour.

It bug can come from https://github.com/SkriptLang/skript-parser/blob/76b4bc16f0f1b61a473a813347431dae7ae9c429/src/main/java/io/github/syst3ms/skriptparser/parsing/SyntaxParser.java#L101 ?

I don't think this is the cause of the issue. If anything, it would probably occur at the pattern parsing stage. We already came across multiple variants of this issue, so I'll ask @Syst3ms to investigate this further when he has time.


Webhook notifications not working with SSL endpoints

Docker version:
# docker version
Client:
 Version:      1.10.1
 API version:  1.22
 Go version:   go1.5.3
 Git commit:   9e83765
 Built:        Fri Feb 12 00:52:02 2016
 OS/Arch:      linux/amd64

Server:
 Version:      1.10.1
 API version:  1.22
 Go version:   go1.5.3
 Git commit:   9e83765
 Built:        Fri Feb 12 00:52:02 2016
 OS/Arch:      linux/amd64

Docker registry version:
# registry -v
registry github.com/docker/distribution v2.3.0

I am running the setup documented here. Portus is an authorization server using SSL.
The https://<IP_ADDRESS>/v2/token endpoint seems to work fine but the https://<IP_ADDRESS>/v2/webhooks/events triggers the following error in the registry logs:
WARN[2995] httpSink{https://<IP_ADDRESS>/v2/webhooks/events} encountered too many errors, backing off
ERRO[2996] retryingsink: error writing events: httpSink{https://<IP_ADDRESS>/v2/webhooks/events}: error posting: Post https://<IP_ADDRESS>/v2/webhooks/events: x509: certificate signed by unknown authority, retrying

I suspect the notification code has some bug related to TLS. Or perhaps I have a configuration issue.
This is the registry configuration:
version: 0.1
log:
  level: debug
  formatter: text
  fields:
    service: registry
storage:
  cache:
    blobdescriptor: inmemory
http:
  addr: :5000
  headers:
    X-Content-Type-Options: [nosniff]
health:
  storagedriver:
    enabled: true
    interval: 10s
    threshold: 3
notifications:
  endpoints:
    - name: portus
      url: https://<IP_ADDRESS>/v2/webhooks/events
      timeout: 500ms
      threshold: 5
      backoff: 1s

Some environment variables exist:
REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY=/var/lib/registry
REGISTRY_AUTH_TOKEN_SERVICE=<IP_ADDRESS>:5000
REGISTRY_AUTH_TOKEN_ISSUER=<IP_ADDRESS>
REGISTRY_HTTP_TLS_KEY=/certs/server-key.pem
REGISTRY_HTTP_TLS_CERTIFICATE=/certs/server-crt.pem
REGISTRY_HTTP_SECRET=secret-goes-here
REGISTRY_AUTH_TOKEN_REALM=https://<IP_ADDRESS>/v2/token
REGISTRY_AUTH_TOKEN_ROOTCERTBUNDLE=/certs/server-crt.pem

Since your issue is with Portus, I would suggest you ask there.
Nevertheless, x509: certificate signed by unknown authority states what your problem is: the certificate you are using for your portus endpoint is not trusted by either docker or your operating system.

@h0tbird Providing more context, it is likely that you need to add the cert for the target endpoint to the host that the registry is running. If done correctly, the registry's http client should pick that up on startup and use it for TLS.

Thank you @dmp42 and @stevvooe. My mistake was to think that both Portus endpoints:
https://<IP_ADDRESS>/v2/token and https://<IP_ADDRESS>/v2/webhooks/events where contacted by the registry. After reading the documentation I realized that the https://<IP_ADDRESS>/v2/token endpoint is only contacted by the Docker daemon.
Adding the right cert to the registry container solved the problem.


Feature request: More buttons that can be used to center the cursor

The options are all on the mouse (where all my buttons are used) or on the right side of the keyboard. I would like a key I can hold on the left side of the keyboard (like maybe shift_l) that I can hold, that way I don't have to move my right hand from the mouse.

which default setting are you talking about

You can add it by private.xml.
#714


fix external-dns/README.md files table corruption

fix external-dns/README.md files table corruption
Signed-off-by: nolleh7707<EMAIL_ADDRESS>
Is this a new chart

NOTE: We're experiencing a high volume of PRs to this repo and reviews will be delayed. Please host your own chart repository and submit your repository to the Helm Hub instead of this repo to make them discoverable to the community. Here is how to submit new chart repositories to the Helm Hub.

no.
What this PR does / why we need it:
the exising readme.md file's table was invaild, so hard to read the contents. fixed it.
Which issue this PR fixes
(optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged)

fixes #

Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed

Thanks for fixing this, @nolleh !

/ok-to-test
/lgtm


Feat - this adds basic support for packagist

Hey,
Here is a very simple implementation for PHP feeds.
Couple of questions before I complete it:

I would like to add tests and mock the http requests with: https://github.com/h2non/gock but did not wanna just include it. How do you feel about adding this kind of dependency?
Currently dev updates are included and those are created when someone pushes a commit into a branch but does not add a tag. So there are versions like dev- (e.g. dev-master, dev-feat-packagist) should those be included? If not they can be easily filtered out.
how should I document why I choose the api over the rss feed? (I did it because it is one endpoint for newly created packages and updates instead of 2 different rss feeds)

closes #30

Hey @phumberdroz!
Thank you so much for sending this in- very exciting! Let me know when you're ready for a full review and I'll be happy to take a look.

I would like to add tests and mock the http requests with: https://github.com/h2non/gock but did not wanna just include it. How do you feel about adding this kind of dependency?

I'd prefer to hold off on adding dependencies for testing unless they're critical. This particular case looks like a pretty straightforward case where you can use the httptest package to spin up a local server to send mocked out responses. You could just move the base URL out to a global unexported variable and then override that in your tests. Let me know if you'd like a more in-depth example!

Currently dev updates are included and those are created when someone pushes a commit into a branch but does not add a tag. So there are versions like dev- (e.g. dev-master, dev-feat-packagist) should those be included? If not they can be easily filtered out.

I think we can start by including them and filter out if we find they're causing too much noise.

how should I document why I choose the api over the rss feed? (I did it because it is one endpoint for newly created packages and updates instead of 2 different rss feeds)

I think documentation in general can be done using Go's standard documentation syntax. You can either include it in the documentation for your Latest function or, maybe better, add a doc.go that just includes the standard:
// package packagist fetches packages from etc. etc
// more info here about how you picked your design
package packagist

I think this can be reviewed now.

hey @jordan-wright,
I renamed the files as you requested.
And no worries this is an important effort which can help a lot of people to stay away from trouble.


Feature/indent char

Added indent char to be configurable (to use tabs).
Updated documentation since it was pointing to wrong config section

Nice work - I've been hoping for this feature.

welcome :). @dweber019 can you look this please, as its a very small nice change. thanks!

@dweber019 cheers!


Several controls don't meet new non-text contrast ratio requirement

Describe the bug

Controls will be required to meet MAS 1.4.11 - Non-text Contrast
Slider
In light theme, the Slider control's grey track presents a contrast ratio of 2.8:1 instead of the required 3:1.

Buttons
Button backplates do not meet contrast ratios in either light or dark theme.

Perhaps this is something that could be addressed through Issues #920 and #921 where I suggest another look at Light and Dark Theme colours

@yulikl do you have a suggestion for how to fix? Are there comps with the updates?

Any contrast ratio check will differ if the control is not placed on a Pure White (or Pure Black in dark mode) background.
The Outline style would probably fair better for contrast, and using Semibold text for the button text, would also help pass the ratio test at 14 epx and above.

@YuliKl How could this be fixed? Should we pick a darker gray for the track so we meet the new requirement?

Closing this issue. No changes to Button colors are required as clarified in the WCAG 2.1 guidance. I'm not sure that anyone uses sliders with tick marks as I have seen no reports of violations there.


Kessler suite uses two versions of rair

Kessler physics requires the gas constant for dry air in order to compute the inverse of kappa. However, the geopotential_t function uses the height-dependent version of this quantity.
While this is unlikely to cause any problem for reasonable Kessler physics simulations (Kessler physics does not make much sense above altitudes where rair is likely to vary), is this a suite usage that should be cleaned up?
At least CAMDEN / CCPP Framework generated the correct code for this situation!

Both kessler and geopotential_temp now use composition_dependent_gas_constant_of_dry_air for rair, which resolves the discrepancy and fixes this issue.


1.12.2 Could not get provider type for dimension 6, does not exist

Hi,
So i'm currently making a Modpack and used your Mod in it.
While it worked completely fine at the start, it suddenly crashed after placing an ebony slab from forestry as a vertical slab and the log showed Could not get provider type for dimension 6, does not exist
And i started researching about that error: usually it happens, when there are two mods with Dimensions that have the same Id-Number.
So i searched in my config files and the only dimension i have, aside from -1,0 and 1 is the ID 7 from Twilight forest.
Thats why i dont really know what to do, i dont have any dimension with the ID of 6 so it shouldnt even give out this error but when i deactivated your mod it launched without any problem, until i activated it and placed a vertical slab again.
Hope you can help me, i really like this mod and dont want to kick it out of my modpack.
Here's my log and my Modpack including my save and all my configs, which is still in its early stages... didnt want to post it but i think you can't help without it.
crash-2021-01-05_16.57.40-server.txt
https://drive.google.com/file/d/1z5M6w-Vv3Z8J3bxO5zNTGNKX7-y-oISa/view?usp=sharing

Hi there! Thank you for reporting this and apologies for the delay, this is now fixed in the latest version. Thank you for your patience


How to insert Blank Lines?

How do I add blank lines in messages?
e.g.

actually my question would be how to add a line break in skype chats. I have not been able to do that
Adding \n to the line end gives me no line break
Adding \n\n to the end of line, gives be a blank line like in here example 2.
I would need to get smth like in here example 1, with just a simple line break. I am using "markdown" style in messages (I need to, since I need to parse hyperlinks)

@liiver
"\n\n" gives you example 2? That's odd.
"\n\n" gives me example 1.
For instance, doing
session.send("Hello\n\nWorld!");
gives me
"Hello
World"

i'm using C#, if that makes any difference but this is indeed the case for me

I'm using node. That makes sense. It could be a difference in the language implementations

End your sentence with two white-space and one \n. That would give you line break. For example
string response = "this is one line  \n"; // Notice two white space before \n
response += "next line"

The break tag  will also work.

2 space and \n should work.
"  \n next line"

@gplumb
I can confirm that using

 produces a full, blank line (not just a line break).
However,
 fails. It even spawned multiple runtime errors in my program.
So, to anyone reading this, you must include the "/" in
.

Tested on:

Node.js
Skype

The above solution only works for Skype.
Therefore, I am re-opening this issue for the other platforms.
I confirm that it doesn't work for  and SMS via Twilio.

similar to issue #920 and this should have the answer.
Also markup, e.g.
, is only supported by Skype channel: https://github.com/Microsoft/BotBuilder/blob/c4dbb7183cc1c23837b6d6c8bc03fe8c54ba1f55/CSharp/Library/Microsoft.Bot.Connector/TextFormatTypes.cs#L22

I am using REST APIs in python. For me "  \n  \n" <2 spaces followed by \n followed by another 2 spaces and a \n> generates a response in next line
"HELLO  \n  \nWorld" generates the following in SfB (not sure if its the same for Skype)
HELLO
WORLD


feat: extendr_engine support multiple versions of R

As I understand it, extendr_engine relies on the R_HOME environment variable to be set. However there can only be one R_HOME set at a time. It would be great to support multiple versions of R.
One way that this could be done is to create a new macro start_r!() and deprecate the function start_r(). start_r!() would take Option<AsRef<T>> as the only argument. If nothing is provided, the current logic is used. If something is provided, we check that it is a valid R install—idk, R --help or something and then we can use that version.

I think, I'd prefer to change extendr-engine from the ground-up honestly.
There are non-API bindings that are solely used in extendr-engine, and extendr-engine is not use din extendr-powered R-packages (except as a [dev-dependencies], so it is fine), therefore these bindings ought to reside there.
Further, I think we could modify libR-sys, and especially its build.rs file, to not look for a dynlib that is R. Perhaps that would still function properly. I suspect that it would.
And finally, embed the startup necessary bindings directly into extendr-engine. Then, I also think that extendr-engine should on runtime load the configured R version, using some run-time, portable, lib-loading strategy.
I suspect this might help with multi-threaded testing as well, as each instance of extendr-engine would load its own instance of R. But that's not guranteed.


Failed to run djl v0.19.0 on MAC (x86_64, macOS 10.15.7)

Python 3.9.6 & torch 1.12.1 are installed on my MAC:

$ python3
Python 3.9.6 (default, Jun 29 2021, 06:20:32)
[Clang 12.0.0 (clang-1<IP_ADDRESS>)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

import torch
print(torch.version)
1.12.1

But it fails to load the library while calling ai.djl.pytorch.jni.PyTorchLibrary.torchSetGradMode:

Caused by: java.lang.UnsatisfiedLinkError: ai.djl.pytorch.jni.PyTorchLibrary.torchSetGradMode(Z)V
at ai.djl.pytorch.jni.PyTorchLibrary.torchSetGradMode(Native Method) ~[pytorch-engine-0.19.0.jar:na]
at ai.djl.pytorch.jni.JniUtils.setGradMode(JniUtils.java:90) ~[pytorch-engine-0.19.0.jar:na]
at ai.djl.pytorch.engine.PtEngine.newInstance(PtEngine.java:54) ~[pytorch-engine-0.19.0.jar:na]
... 46 common frames omitted

After I downgraded djl to 0.18.0, it works OK.
I guess the newly added api torchIsGradMode & torchSetGradMode not implemented in torch 1.12.1 yet, at least on MAC.

@georgewei You might have a 0.19.0-SNAPSHOT version cache in your machine. Please clean your cache and try it again:
rm -rf ~/.djl.ai/pytorch/

I've checked the content of ~/.djl.ai/pytorch/, there isn't a 0.19.0-SNAPSHOT version cache:

$cd ~/.djl.ai
$ls
cache   mxnet   paddle  pytorch
$ ls pytorch/
1.12.1-cpu-osx-x86_64   1.12.1.txt              1.9.1-cpu-osx-x86_64

But I also tried to clean the cache:

$ rm -rf pytorch/

Then I run the project again, the same error occured.

DJL is not depends on Python and external torch. And it should working with 1.12.1. Can you share your project on github?
Are you building DJL from source?
Can you enable debug log?
Can you do the following to troubleshoot your system:
git clone https://github.com/deepjavalibrary/djl-demo
cd djl-demo/canary
DJL_VERSION=0.19.0 ./gradlew run

Collect the log and see if can find any clue.

DJL is not depends on Python and external torch. And it should working with 1.12.1. Can you share your project on github?
Are you building DJL from source? Can you enable debug log? Can you do the following to troubleshoot your system:
git clone https://github.com/deepjavalibrary/djl-demo
cd djl-demo/canary
DJL_VERSION=0.19.0 ./gradlew run

Collect the log and see if can find any clue.

My project: https://github.com/georgewei/ai-service.git
I've tried to run djl-demo as you suggested, the last command "./gradlew run" keeps running but feeds NO messages back.

@georgewei
You force your project to use PyTorch 1.9.1 which is not supported by DJL 0.19.0
Here is the issues that I found in your pom.xml:

pytorch-native-auto has deprecated, and no longer needed since DJL 0.15.0, see: https://docs.djl.ai/docs/development/dependency_management.html
For supported PyTorch version for each DJL version, see: https://docs.djl.ai/engines/pytorch/pytorch-engine/index.html#installation
Since you are using BOM, I you suggest you remove the following and let DJL to choose version for you:

        <dependency>
            <groupId>ai.djl.pytorch</groupId>
            <artifactId>pytorch-native-auto</artifactId>
            <version>${pytorch.version}</version>
        </dependency>

BOM applies to ONNXRuntime as well, do not include version in the following:

        <dependency>
            <groupId>ai.djl.onnxruntime</groupId>
            <artifactId>onnxruntime-engine</artifactId>
        </dependency>

@georgewei
You force your project to use PyTorch 1.9.1 which is not supported by DJL 0.19.0
Here is the issues that I found in your pom.xml:

pytorch-native-auto has deprecated, and no longer needed since DJL 0.15.0, see: https://docs.djl.ai/docs/development/dependency_management.html
For supported PyTorch version for each DJL version, see: https://docs.djl.ai/engines/pytorch/pytorch-engine/index.html#installation
Since you are using BOM, I you suggest you remove the following and let DJL to choose version for you:

        <dependency>
            <groupId>ai.djl.pytorch</groupId>
            <artifactId>pytorch-native-auto</artifactId>
            <version>${pytorch.version}</version>
        </dependency>

BOM applies to ONNXRuntime as well, do not include version in the following:

        <dependency>
            <groupId>ai.djl.onnxruntime</groupId>
            <artifactId>onnxruntime-engine</artifactId>
        </dependency>

Yes, it works now. Thanks.


Sample App crashes after about 2 hrs

IMPORTANT: Before you create an issue, please take a look at our Issue Reporting Guide.
Briefly summarize your issue:
Sample app crashes after about 2hrs.
What is the expected behavior?
Sample app should not crash
What behavior are you observing?
Crash
Provide the steps to reproduce the issue, if applicable:

Start the sample app.
Issue voice commands once every 10secs.
Ex: "Alexa what is the time now"
Most likely after 2 hrs sample app crashes. (sometimes within 1hr, sometimes 3 to 4hrs).

Tell us about your environment:
SDK version 1.12 and 1.12.1
Debug logs attached
log-debug9.txt
stack trace:
Core was generated by `./SampleApp /usr/local/bin/alexa/AlexaClientSDKConfig.json'.
Program terminated with signal 6, Aborted.
#0  0xb67815f6 in ?? () from /lib/libc.so.6
(gdb) bt
#0  0xb67815f6 in ?? () from /lib/libc.so.6
#1  0xb678f1dc in raise () from /lib/libc.so.6
#2  0xb678feca in abort () from /lib/libc.so.6
#3  0xb68f3db0 in __gnu_cxx::__verbose_terminate_handler() ()
from /lib/libstdc++.so.6
#4  0xb68f2ac0 in ?? () from /lib/libstdc++.so.6
#5  0xb68f2ac0 in ?? () from /lib/libstdc++.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb)
Tell us what hardware you're using:
Raspberry Pi
Tell us about your OS (Type & version):
Linux

Hi @aginesh , it looks like gdb was not able to catch the exception, and the stack trace was just the irq handler when the exception happened.
Can you please add "catch throw" in the gdb command?
So you will need to do:
gdb --args ./SampleApp /usr/local/bin/alexa/AlexaClientSDKConfig.json
(gdb) catch throw
(gdb) r
---- when exception is thrown
(gdb) bt

Hi @visayamv.
Please find attached the stack trace.
stack_trace.txt

Hi @aginesh , what is the your compiler and its version?

Hi @visayamv, it is stbgcc-6.3-1.5
$ arm-linux-g++ -v
Using built-in specs.
COLLECT_GCC=/opt/toolchains/stbgcc-6.3-1.5/bin/arm-linux-g++
COLLECT_LTO_WRAPPER=/local/opt/toolchains/stbgcc-6.3-1.5/bin/../libexec/gcc/arm-unknown-linux-gnueabihf/6.3.0/lto-wrapper
Target: arm-unknown-linux-gnueabihf
Configured with: /home/vagrant/.build/src/gcc-6.3.0/configure --build=x86_64-build_pc-linux-gnu --host=x86_64-build_pc-linux-gnu --target=arm-unknown-linux-gnueabihf --prefix=/home/vagrant/tc_build/stbgcc-6.3-1.5 --with-sysroot=/home/vagrant/tc_build/stbgcc-6.3-1.5/arm-unknown-linux-gnueabihf/sys-root --enable-languages=c,c++ --with-arch=armv7-a --with-fpu=vfpv3-d16 --with-float=hard --with-pkgversion='crosstool-NG ' --enable-__cxa_atexit --enable-libmudflap --enable-libgomp --enable-libssp --enable-libquadmath --enable-libquadmath-support --enable-libsanitizer --disable-libmpx --with-gmp=/home/vagrant/.build/arm-unknown-linux-gnueabihf/buildtools --with-mpfr=/home/vagrant/.build/arm-unknown-linux-gnueabihf/buildtools --with-mpc=/home/vagrant/.build/arm-unknown-linux-gnueabihf/buildtools --with-isl=/home/vagrant/.build/arm-unknown-linux-gnueabihf/buildtools --enable-lto --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' --enable-threads=posix --enable-target-optspace --enable-plugin --enable-gold --disable-nls --disable-multilib --with-local-prefix=/home/vagrant/tc_build/stbgcc-6.3-1.5/arm-unknown-linux-gnueabihf/sys-root --enable-long-long --with-mode=thumb
Thread model: posix
gcc version 6.3.0 (crosstool-NG )

Hi @aginesh , from the stack trace, it seems the application can not create a new thread for some reason, and I don't see any incorrect parameters passed. The only thing I can think of as a possible cause, is it could be there's no more memory available on the system. Can you run the application with gdb again and when it hits the exception, open a new terminal and execute "free -h" to get the available memory?

Memory seems to be available.
free -h
          total        used        free      shared  buff/cache   available

Mem:          1.2Gi       313Mi       301Mi        27Mi       638Mi       893Mi

I see. It's not memory related then.
I saw in your debug log that it has this error:
# ### Error at magnum/basemodules/dsp/src/raaga/bdsp_raaga_priv.c:6001

Do you know when that is called? Is it called from SampleApp?

To also rule out compiler issues, can you try compiling on the device itself rather cross compiling it?

That error print on the console is only a log message. An error macro was being used. Hence the print saying "error".
There are no modifications to the SDK.
I tried reducing the stack size to 1M and left the system running overnight. Previously it was 8M.
ulimit -s 1024.
It ran for about 8 hours and eventually crashed. Previously it never ran more than 2hrs.

Hi @aginesh , were you able to capture the stacktrace and debug9 logs for this crash?

Hi @visayamv
I did not capture them for this crash. Running from gdb or enabling debug9 seem to delay the occurrence of the crash. So I ran without either of them.
I have started another run now from gdb. I will update when it crashes next.

thanks. I'll continue investigating possible root cause.

Please also execute the following on the gdb commands when it crashes:
info threads
bt
call malloc_stats()
thread apply all bt

also as much as possible, attach logs starting from the beginning

ok. I am capturing all the logs into a file.

thanks, when it crashes please leave it on that state, that is, don't quit gdb yet, just in case we need to execute more commands.

This time it is a segfault after about 8hrs.
The entire log file is over 1GB.
So attached the last few lines and the stack trace. Let me know if more logs are required.
alexaLog2_end.txt
stack_trace2.txt

thanks, we'll check it first

please execute:
info threads
bt
call malloc_stats()
thread apply all bt

Please find attached
info_threads_2.txt
bt_2.txt
malloc_stats_2.txt
thread_apply_all_bt_2.txt

Hi @aginesh , we are reviewing the additional logs you've submitted.

Can you also execute:
print(this)
print(m_currentInfo)

I(gdb) print(this)
$2 = (alexaClientSDK::capabilityAgents::speechSynthesizer::SpeechSynthesizer::SpeakDirectiveInfo * const) 0x0
(gdb) print(m_currentInfo)
No symbol "m_currentInfo" in current context.

Thanks @aginesh , possible root cause is the SpeechSynthesizer::m_currentInfo pointer becomes null and then used. We are going to investigate further.

Hello @aginesh and @visayamv,
Access to SpeechSynthesizer::m_currentInfo is synchronized by only accessing it via tasks submitted to m_executor.  After searching through SpeechSynthesizer.cpp it appears that there are two exceptions to the rule:
SpeechSynthesizer::doShutdown()
(via stopPlaying() -> executePlaybackError() -> resetCurrentInfo() )

and
SpeechSynthesizer::onFocusChanged()
(via sendExceptionEncounteredAndReportFailed() -> stopPlaying() -> executePlaybackError() -> resetCurrentInfo() )

Assuming this is not a failure during shutdown, it appears that the SpeechSynthesizer::onFocuChanged() needs to call sendExceptionEncounteredAndReportFailed() from a task submitted to m_executor.
If this is the correct root cause, we should see reason=stateChangeTimeout in the log file, which will always be logged before this unsynchronized access of m_currentInfo.
-SWH

Oh, my bad!
reason=stateChangeTimeout

Does appear in the log shortly before the end:
2019-04-19 04:31:04.222 [  c] E SpeechSynthesizer:onFocusChangeFailed:reason=stateChangeTimeout,messageId=de0c21b4-8276-4d16-b3d9-68761a7028da

Hello @scotthea-amazon and @visayamv
Which version will this issue affect?
Thanks

Hello ANDROIDTODO,
This issue has been in SpeechSynthesizer for a very long time and up to version 1.13.  We plan to provide a fix in the next release of the SDK.
Thank you,
-SWH

Hello @aginesh,
This issue has been fixed in the 1.14 version of SpeechSynthesizer.cpp.
I am closing this issue as resolved.  If you think it has been closed in error, please feel free to re-open it.
Thank you,
-SWH


make LLC wiki more streamlined

a lot of comments in the UX study about how clunky the LLC wiki is. Need to make it more streamlined.
Start out with a simple flow of the LLC

have merged in changes


Update README.md

What problem is this solving?
Modify the links on README.md
Types of changes

[X] Fix Links

Additional Info

Any additional information or context

Checklist

[X] Bug fix (a non-breaking change which fixes an issue)
[X] Requires change to documentation, which has been updated accordingly.

Screenshots

Any screenshot

Checked links!


feat(Prompt): animation optimization

Description
animation optimization.
Type of change
Please select the relevant option.

[ ] Bug fix (non-breaking change which fixes an issue)
[x] 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

Codecov Report

Merging #168 (0db0355) into main (04f7035) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #168   +/-   ##
=======================================
  Coverage   90.77%   90.77%
=======================================
  Files         155      155
  Lines        7386     7386
  Branches     2031     2031
=======================================
  Hits         6705     6705
  Misses        560      560
  Partials      121      121

Impacted Files
Coverage Δ

...ges/tuya-panel-kit/src/components/dialog/prompt.js
40.00% <ø> (ø)

...ges/tuya-panel-kit/src/components/dialog/styled.js
95.45% <ø> (ø)

...tuya-panel-kit/src/components/dialog/withMotion.js
88.23% <ø> (ø)

Continue to review full report at Codecov.

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


[Network] private link add Microsoft.Batch/batchAccounts provider

Description

Testing Guide

History Notes

[Component Name 1] BREAKING CHANGE: az command a: Make some customer-facing breaking change.
[Component Name 2] az command b: Add some customer-facing feature.

This checklist is used to make sure that common guidelines for a pull request are followed.

[ ] The PR title and description has followed the guideline in Submitting Pull Requests.

[ ] I adhere to the Command Guidelines.

[ ] I adhere to the Error Handling Guidelines.

Please fix CI issues


Update credential names to match standardized credential types

Instead of lower-casing the first letter, only 'Credential' is removed from the end and vice versa.
Example: CircularEconomy (policy) -> CircularEconomyCredential (credential type)
@HFocken @jjeroch @stefan-ettl

Accepted by not rejecting the change by @jjeroch and @stefan-ettl


Rename context to concern

We are currently calling the concept of multiple interfaces (front end, admin, etc) a context. This gets confused with Phoenix context's so we should rename.
We have gone through some discussions on the name and have decided to call it concern. So, we should remove references to context to concern in the code and docs.
As well, I would like to remove the using block from the Talon module and move it to a new Talon.Concern module. I'm also thinking of making this a struct and using the struct in the conn.assigns, with a assigns key of talon_concern.

Complete and merged


Add compatible swift versions to manifest

Looks good, but same comment as for #928... if the user provides an empty list of compatible versions, that seems like something we should warn about.

https://bugs.swift.org/browse/SR-3964
rdar://problem/30540326

Done here https://github.com/apple/swift-package-manager/pull/961


Address istiooperator removal loop potential

Please provide a description of this PR:
Closes #40702
If you hit the Kube API server with multiple DELETE requests, it can cause the max retires of 1 to still fail due to the IstioOperator resource changing. On the next reconcile, HelmReconciler will fail because it cannot find the istiod deployment and this leaves the IstioOperator undeleted even though the resources have been removed.
The PR changes max retires to increase the likelihood that even if the Kube API server gets multiple DELETE requests it can succeed, and also looks for the Helm Reconciler erroring due to istiod not being in the cluster any longer to remove the IstioOperator.

@dhawton: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

lint_istio
23a30c588fca272c636594d11358a7bf0e4928eb
link
true
/test lint

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.

@dhawton: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

lint_istio
23a30c588fca272c636594d11358a7bf0e4928eb
link
true
/test lint

gencheck_istio
23a30c588fca272c636594d11358a7bf0e4928eb
link
true
/test gencheck

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.

is this related to https://github.com/istio/istio/pull/40797?


updata zh_cn.json and lzh.json

quick sidenote: There are some spelling errors on my end, I'll fix those when I get a chance. Apologies for the potential inconvenience.

quick sidenote: There are some spelling errors on my end, I'll fix those when I get a chance. Apologies for the potential inconvenience.

OK,I'm finshed updata.


如何溯源？

Describe your problem
请问如果精召回了3个chunk，都丢给大模型，最终是如何确认答案是基于哪个chunk回答的呢？

Thank you for following! We intend to create an international community, so we encourage using English for questions and answers to help others with similar queries. 😊
For your question:
This is a very challenging task. We need to calculate the similarity between answer and chunks sentence by sentence.
BTW, we use weighted similarity of term and embedding in RAGFlow.
The other way to write a good prompt to LLM, let LLM do the job.

Thank you for following! We intend to create an international community, so we encourage using English for questions and answers to help others with similar queries. 😊
For your question: This is a very challenging task. We need to calculate the similarity between answer and chunks sentence by sentence. BTW, we use weighted similarity of term and embedding in RAGFlow. The other way to write a good prompt to LLM, let LLM do the job.

Thanks！

@KevinHuSh
你好，你说的we use weighted similarity of term and embedding in RAGFlow. 这个在代码里面哪个地方？


[Proposal] change FactoredMatric.svd() so it doesn't prevent all instances of FactoredMatrix from being garbage collected

Proposal
FactoredMatrix.svd is annotated with @lru_cache. This prevents instances of FactoredMatrix from ever being garbage collected, as explained here: https://rednafi.com/python/lru_cache_on_methods/
This post also gives a solution, which is to remove the annotation on the method definition, and instead do
def __init__(self, A, B):
    ...
    self.svd = lru_cache()(self._svd)
    ...

def _svd(self):
    ...

Additional context
There is more discussion of the issue in this stackoverflow post.
The python docs also have a faq entry
The solution above still creates a cyclical reference, so requires cycle detection by the garbage collector.
Alternative solution
In this specific case it probably makes more sense to use the @cached_property-decorator from functools instead, as it is in the standard library and designed to be used per instance. It avoids a cyclic reference.
@cached_property
def svd(self):
    ...

Or if for backwards compatibility one wants svd to remain a method and not a property, then one could do:
@cached_property
def _svd(self):
    ...
def svd(self):
    return self._svd

Note that svd being a method is a bit inconsistent anyways, as U, S, Vh are properties.
Also, eigenvalues could be a @cached_property as well.
Checklist

[x] I have checked that there is no similar issue in the repo (required)

Thank you for bringing this up. We can probably work this into the next major release of TransformerLens.


Build Unreal Engine, original repo was gone!

In this installation documentation: http://carla.readthedocs.io/en/latest/how_to_build_on_linux/ , the following line says:
$ git clone --depth=1 -b 4.17 https://github.com/EpicGames/UnrealEngine.git ~/UnrealEngine_4.17

Unforunetly the repo was gone, how to solve it.

@jinfagang Unreal is a private repo. You need to sign up in Unreal official website and associate your Github account with Epic developer account.

still can't dowload
fatal: repository 'https://github.com/EpicGames/UnrealEngine.git/' not found

You have to accept the invitation from EpicGames from within your Github account.


Design Question: Multiplayer Server, how to extract just the collision shape of different game objects?

Hi Godot warriors,
So I am trying to get my head around how to build a multiplayer game with a dedicated server.
The mental model I have for a game server is basically a bunch of collision shapes moving around according to commands received from each client.
And then the client just sends out inputs and draw meshes based on the game state updates sent from the server. And in order to do client prediction, we also need collision locally.
say I have a level scene, consists of instances of house scenes. each house scene contains everything, the mesh, the materials, textures, and the collision, and maybe some interactive elements.
in this case, when I export the server, how do I just take the map, with just the collision shapes and interactive scripts, and don't pack the meshes with it? Does the headless server only disable the drawing calls?
One way I can think of is to have a script to generate a collision only scene from a full scene. Kind of like "Baking the scene".
Just curious what you guys think about this problem.
Thank you sincerely,
A friendly Godot user

Github issues are for bug reports and feature requests to the project.
Usability and game design questions are not supposed to be asked in here - you should prefer one of these:

QA : https://godotengine.org/qa/
Facebook group: https://www.facebook.com/groups/godotengine/
Discord: https://discordapp.com/invite/zH7NUgz
IRC: http://webchat.freenode.net/?channels=#godotengine
Reddit: https://www.reddit.com/r/godot
See the Community page: https://godotengine.org/community


Verify hotspot 2.0/passpoint works

We should verify this works as expected. My test environment doesn't currently support this. @pauldekkers can you test or help with getting a test environment?

After having setup my router with the above the app still successfully connects to the network.


Any way to add nw parameters not meant for chrome executable?

I have a node-webkit app that requires a specific chrome extension. As a result, I must start it with nw --load-extension='path/to/extension' as mentioned in nw.js's documentation. Is there a way for me to add the --load-extension call to the generated script? It is important to note that this is an argument meant for node webkit, not for chromium, so I cannot put it in the chromium args parameter in the manifest.

Hmm as far as I know, no. The generated app is the same as any other NW.js app, so you'd have to manually run the app with that argument, just like the docs say there. Which platforms do you need to support? On Windows, you could create a shortcut which when ran, runs your app with that argument. So you'd need to ship that shortcut with your app and make sure it's in the correct locations (so the user will definitely run that, not the actual app). For other platforms, something similar might be possible via some form of shortcut or a script, but I'm not sure :/.
There might be a way to load it at runtime if you wrote a native module which called a Chromium method. This is assuming that an extension can be loaded at runtime (in Chrome they can be anyway). I haven't done something like this myself though. Maybe it's worth asking over on the NW.js issue tracker if it's possible to load an extension at runtime. Even if not, they might add an NW.js API method which would allow for that.


feat: improve error display

This PR is a fix for issue #23

Implemented based on the ideas from this pull requests.


Update vep.cwl to v87

I updated the .travis.yml to install the required dependency for cwltool. The travis tests are now passing.


Add repo SECURITY.md

See https://github.com/kubernetes/security/issues/105

Closing since the security policy is now defined org-wide - https://github.com/kubernetes/org/issues/2081
For this repo, it can be seen at https://github.com/kubernetes/mount-utils/security/policy
This is also a staging repo, so changes need to go in k/k


Create API reference pages

We currently have no API Reference Documentation for any Web5 products. Ideally, we want something that looks similar to how Stripe has their API Documentation set up:
https://stripe.com/docs/api

The main takeaways here are the left side bar for navigation, the middle page will be the main learning content, and the right panel will be for code snippets or examples.
Note
Depending on the product and API (SDK or Endpoint), there may need to be some sort variation for what goes in the right panel.

This more or less is a Phase 2 project but closing for now


build fails because of cv::Mesh3d class

normals.resize(mesh_mir.normals.size()+mesh_orig.normals.size());
^
/home/ahmad3/catkin_ws/src/mirror_objects/src/predictObject.cc:1641:52: error: ‘class cv::Mesh3D’ has no member named ‘normals’
normals.resize(mesh_mir.normals.size()+mesh_orig.normals.size());
^
/home/ahmad3/catkin_ws/src/mirror_objects/src/predictObject.cc:1643:38: error: ‘class cv::Mesh3D’ has no member named ‘normals’
for(unsigned int i=0; i < mesh_mir.normals.size();i++){
^
/home/ahmad3/catkin_ws/src/mirror_objects/src/predictObject.cc:1644:43: error: ‘class cv::Mesh3D’ has no member named ‘normals’
flipNormalTowardsViewpoint(mesh_mir.normals[i],lMirCloud[i],rotOrig);
^
/home/ahmad3/catkin_ws/src/mirror_objects/src/predictObject.cc:1645:30: error: ‘class cv::Mesh3D’ has no member named ‘normals’
normals.at(i)=mesh_mir.normals.at(i);
^
/home/ahmad3/catkin_ws/src/mirror_objects/src/predictObject.cc:1648:39: error: ‘class cv::Mesh3D’ has no member named ‘normals’
for(unsigned int i=0; i < mesh_orig.normals.size();i++){
^
/home/ahmad3/catkin_ws/src/mirror_objects/src/predictObject.cc:1649:44: error: ‘class cv::Mesh3D’ has no member named ‘normals’
flipNormalTowardsViewpoint(mesh_orig.normals[i],lab_cloud[i],orig);
^
/home/ahmad3/catkin_ws/src/mirror_objects/src/predictObject.cc:1650:29: error: ‘class cv::Mesh3D’ has no member named ‘normals’
normals.at(i+mesh_mir.normals.size())=mesh_orig.normals.at(i);
^
/home/ahmad3/catkin_ws/src/mirror_objects/src/predictObject.cc:1650:55: error: ‘class cv::Mesh3D’ has no member named ‘normals’
normals.at(i+mesh_mir.normals.size())=mesh_orig.normals.at(i);
^
CMakeFiles/mirror_objects.dir/build.make:398: recipe for target 'CMakeFiles/mirror_objects.dir/src/utilities.cc.o' failed
make[3]: *** [CMakeFiles/mirror_objects.dir/src/utilities.cc.o] Error 1
make[3]: *** Waiting for unfinished jobs....
CMakeFiles/mirror_objects.dir/build.make:218: recipe for target 'CMakeFiles/mirror_objects.dir/src/predictObject.cc.o' failed
make[3]: *** [CMakeFiles/mirror_objects.dir/src/predictObject.cc.o] Error 1
make[3]: Leaving directory '/home/ahmad3/catkin_ws/src/mirror_objects/build'
CMakeFiles/Makefile2:864: recipe for target 'CMakeFiles/mirror_objects.dir/all' failed
make[2]: *** [CMakeFiles/mirror_objects.dir/all] Error 2
make[2]: Leaving directory '/home/ahmad3/catkin_ws/src/mirror_objects/build'
Makefile:129: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/home/ahmad3/catkin_ws/src/mirror_objects/build'
/opt/ros/kinetic/share/mk/cmake.mk:7: recipe for target 'all' failed

I think ros is using the wrong opencv. could you kindly help me with building without ROS coz package is too old to be used with ROS Kinetic. I have very little experience with cmake.

Unfortunately, I'm unable at this moment to help you with this. I can only publish this package as is.

Can you suggest the minimal changes required in cmakeLists.txt for compiling without ROS?

Sorry, I'm unable to help with this very old code due to time constraints! If you want to port it, you would need to do that yourself. Start with removing everything that mentions ros in the CMakeLists.txt and then add back whatever library you need to still ink to manually.


Export endpoints are wrong

In labels studio API docs export endpoint for GCS is /api/storages/export/gcs but in project.py is /api/storages/gcs/export which is wrong, and every call to this method fails.
Same happens for the rest of export endpoints like Azure or S3.

@raulbocanegra appreciate your contribution!

 Thanks for your work too. 😃


real estate website functionality

Hi @owen2345 , thanks for creating such an awesome CMS!
I am working on a website builder for property listings which is also open source:
https://github.com/etewiah/property_web_builder
It has all the core functionality needed for a real estate website but it would be nice to add some extra CMS functionality.  In the spirit of open source, I would prefer to work with an existing solution rather than re-invent the wheel.
I am not entirely sure what the best way would be to combine my project with yours.  Do you have some documentation about how I might be able to implement a project like PropertyWebBuilder as a plugin?
It will probably be quite difficult to go through all the options here so if you are interested and have a few minutes to spare perhaps we could discuss this via skype.
Cheers,
Ed

Hi @etewiah please contact me on skype to review together!
Regards.

Great, thanks.  I've sent you a contact request on skype.

how is it going guys? I also need the plugins like Property_web_builder in Camaleon-cms

In the end I decided to use Comfortable Mexican Sofa as it was easier.  @anhpham2710 , you can find that in the cms-pages branch:
https://github.com/etewiah/property_web_builder/tree/cms-pages
I hope to finish work on that branch next week so I can merge it into the master branch.


[hi] Added content/hi/docs/concepts/architecture/leases.md

Issue Number #39548
Localized en/docs/concepts/architecture/leases.md in hindi language :)

Hi @akash-kumar-saw , It seems like an netlify build timeout error .

@akash-kumar-saw Since there has been no response/activity on this PR for several months, we'll be closing it. If you have the bandwidth to continue work on this PR, please feel free to reopen the PR and let us know.
/close


[Dubbo- unit test class not found] fix class not found "hi"

What is the purpose of the change
fix  unit test DubboInvokerAvilableTest & DubboLazyConnectTest class not found "hi"
Brief changelog

Replace url path "hi" to "org.apache.dubbo.rpc.protocol.dubbo.IDemoService"
Move "org.apache.dubbo.rpc.protocol.dubbo.IDemoService" to the top

Verifying this change
unit test passed
Follow this checklist to help us incorporate your contribution quickly and easily:

[] Make sure there is a GITHUB_issue filed for the change (usually before you start working on it). Trivial changes like typos do not require a GITHUB issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[x] Format the pull request title like [Dubbo-XXX] Fix UnknownException when host config not exist #XXX. Each commit in the pull request should have a meaningful subject line and body.
[x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[x] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add integration-test in test module.
[x] Run mvn clean install -DskipTests & mvn clean test-compile failsafe:integration-test to make sure unit-test and integration-test pass.
[ ] If this contribution is large, please follow the Software Donation Guide.

Codecov Report

Merging #2034 into master will decrease coverage by 0.01%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master    #2034      +/-   ##
============================================
- Coverage     52.16%   52.14%   -0.02%
  Complexity     4904     4904
============================================
  Files           562      562
  Lines         25216    25216
  Branches       4449     4449
============================================
- Hits          13153    13150       -3
- Misses        10060    10062       +2
- Partials       2003     2004       +1

Impacted Files
Coverage Δ
Complexity Δ

.../dubbo/remoting/transport/netty4/NettyChannel.java
60% <0%> (-6.25%)
21% <0%> (-2%)

...bo/remoting/transport/netty/NettyCodecAdapter.java
53.12% <0%> (-1.57%)
3% <0%> (ø)

...rpc/protocol/dubbo/telnet/InvokeTelnetHandler.java
55.69% <0%> (+3.79%)
13% <0%> (+2%)
:arrow_up:

Continue to review full report at Codecov.

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


[Doc] Add sync command description

Why I'm doing:
What I'm doing:
Fixes #issue
What type of PR is this:

[ ] BugFix
[ ] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[x] Doc
[ ] Tool

Does this PR entail a change in behavior?

[ ] Yes, this PR will result in a change in behavior.
[x] No, this PR will not result in a change in behavior.

If yes, please specify the type of change:

[ ] Interface/UI changes: syntax, type conversion, expression evaluation, display information
[ ] Parameter changes: default values, similar parameters but with different default values
[ ] Policy changes: use new policy to replace old one, functionality automatically enabled
[ ] Feature removed
[ ] Miscellaneous: upgrade & downgrade compatibility, etc.

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

[ ] This is a backport pr

Bugfix cherry-pick branch check:

[x] I have checked the version labels which the pr will be auto-backported to the target branch

[x] 3.3
[x] 3.2
[x] 3.1
[ ] 3.0
[ ] 2.5

Thanks @gengjun-git . Can you tell me what happens when the sync command is used; does this cause the data to be synchronized to all of the BEs earlier than normal?

Thanks @gengjun-git . Can you tell me what happens when the sync command is used; does this cause the data to be synchronized to all of the BEs earlier than normal?

I have talked with @gengjun-git and revised the reference doc. Generally, there will be a millisecond-level latency among sessions. When you load data from one session, other sessions cannot read the latest data immediately after the loading succeeds. They must use SYNC to avoid the latency.

ignore backport check: 3.2.11


Adding support for exception handlers

:tada: This PR is included in version 1.64.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Layer caching by layer digest instead of chainId

What is the problem you're trying to solve
Right now, I believe that containerd is using the chain ID in order to detect cache hits on layers. So, if we have the following situation with two images which have 4 shared layers in common (layers 1, 2, 4 and 5) like so:
Image A:

layer1
layer2
layer3
layer4
layer5

ImageB:

layer1
layer2
layer4
layer5
layer6

right now, I believe containerd will get a cache hit on layer1 and layer2 but will re-download layer4 and layer5 because the chainId has changed due to the missing layer3.
Describe the solution you'd like
In the example above, layer1, layer2, layer4, and layer5 should all be a cache hit with only layer6 needing to be downloaded. This would probably require switching the cache to be keyed by diffId instead of the chainId to ensure ordering doesn't matter when searching the cache for already downloaded layers.
Questions:

Can you confirm that chainIds are currently used for detecting cache hit?
If chainIds are used, is there a specific reason for that? I don't see why we can't at lease skip the download step of the layers we already have cached since the layers are immutable.
If chainIds are used, can it be switched to use layerId's instead?

Fetch/Pull will read a manifest, get all the layer SHAs that aren't already downloaded and cache them. You won't double download layers if they're shared or already on the system. Chain Ids are relevant to snapshots when you start 'overlaying' that content on top of each other. So containerd is already working how you want it to. It would defeat the purpose of something being 'content addressable' otherwise.

@brandnew3773 For now, containerd client will download manifest for image first. The manifest looks like:
// https://github.com/opencontainers/image-spec/blob/master/manifest.md

{
  "schemaVersion": 2,
  "config": {
    "mediaType": "application/vnd.oci.image.config.v1+json",
    "size": 7023,
    "digest": "sha256:b5b2b2c507a0944348e0303114d8d93aaaa081732b86451d9bce1f432a537bc7"
  },
  "layers": [
    {
      "mediaType": "application/vnd.oci.image.layer.v1.tar+gzip",
      "size": 32654,
      "digest": "sha256:9834876dcfb05cb167a5c24953eba58c4ac89b1adf57f28f2f9d09af107ee8f0"
    },
    {
      "mediaType": "application/vnd.oci.image.layer.v1.tar+gzip",
      "size": 16724,
      "digest": "sha256:3c3a4604a545cdc127456d94e421cd355bca5b528f4a9c1905b15da2eb4a4c6b"
    },
    {
      "mediaType": "application/vnd.oci.image.layer.v1.tar+gzip",
      "size": 73109,
      "digest": "sha256:ec4b8955958665577945c89419d1af06b5f7636b4ac3da7f12184802ad867736"
    }
  ],
  "annotations": {
    "com.example.key1": "value1",
    "com.example.key2": "value2"
  }
}

The client will download config and all layers described in the manifest. Each layer and config are indexed by the sha256 hash value. Before download the layer, the client will check the layer by sha256 hash value in containerd. If it exist, it skip it. If not, it will download it. Therefore, the client will not download the existing layer twice.
For the chain ID, it is refer to the stack of layers by single identifier. It is used to identify current rootfs by unpacking several layers(changeset). If the chain ID exists, it means that there is no need to unpack for the current layer. It is useful. For instance, image A(6 layers) is based on image B(3 layers). And the containerd has downloaded and unpacked image B. When you download image A, the first 3 layers has been downloaded and unpacked. The client only needs to download last 3 layers and unpack it.
REF: https://github.com/opencontainers/image-spec/blob/master/config.md#layer-diffid
Hope it can help.


Mapping between unit_id and unit name

Is there such a mapping file that contains the mapping between unit_id and unit name ? I am trying to make sense of the generated sw-proxy json file.

unit_id is the com2us_id field visible in the monsters API
https://swarfarm.com/api/v2/monsters/
On Mon, Sep 10, 2018 at 8:43 AM Ganaraj P R<EMAIL_ADDRESS>wrote:

Is there such a mapping file that contains the mapping between unit_id and
unit name ? I am trying to make sense of the generated sw-proxy json file.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/PeteAndersen/swarfarm/issues/76, or mute the thread
https://github.com/notifications/unsubscribe-auth/ALUTm_-uRad4I03JMKj4R9KT_2kefW4cks5uZoibgaJpZM4Whqs-
.

thanks a lot..


Signal handling for graceful shutdown

I use dotnet:3.0-appservice image for golang based custom handler on Linux. I want to handle signals such as SIGINT/SIGTERM on custom handler, but it seems that we cannot do it because of start.sh (PID 1) does not handle these signals.
At the moment, we have to wait 10 seconds and get exit code 137 (SIGKILL) when I stop the container. Not graceful.
So, I manage it with domb-init as a workaround.
[snip]
RUN wget -O /usr/local/bin/dumb-init https://github.com/Yelp/dumb-init/releases/download/v1.2.5/dumb-init_1.2.5_x86_64
RUN chmod +x /usr/local/bin/dumb-init

ENTRYPOINT ["/usr/local/bin/dumb-init", "--"]
CMD ["bash", "/azure-functions-host/start.sh"]

Could you please consider implementation of handling logic on start.sh or publishing official guidelines? Thanks.

In the end, I gave up using dumb-init for forwarding signals. Because dumb-init does not wait for handling signal on subprocesses.
Instead, there is a suggestion to modify start.sh to handle signals. The following is a sample implementation.
#!/usr/bin/env bash

# trap signals
trap 'trap " " SIGTERM; kill 0; wait' SIGINT SIGTERM

export DOTNET_USE_POLLING_FILE_WATCHER=true

if [ -z $PORT ]; then
  export ASPNETCORE_URLS=http://*:80
else
  export ASPNETCORE_URLS=http://*:$PORT
fi

if [ -z $SSH_PORT ]; then
  export SSH_PORT=2222
fi

if [ "$APPSVC_REMOTE_DEBUGGING" == "TRUE" ]; then
    export languageWorkers__node__arguments="--inspect=<IP_ADDRESS>:$APPSVC_TUNNEL_PORT"
    export languageWorkers__python__arguments="-m ptvsd --host localhost --port $APPSVC_TUNNEL_PORT"
fi

sed -i "s/SSH_PORT/$SSH_PORT/g" /etc/ssh/sshd_config

service ssh start

# run background
if [ -f /azure-functions-host/Microsoft.Azure.WebJobs.Script.WebHost ]; then
    /azure-functions-host/Microsoft.Azure.WebJobs.Script.WebHost &
else
    dotnet /azure-functions-host/Microsoft.Azure.WebJobs.Script.WebHost.dll &
fi

# wait
wait

I do not want to maintain the script, so could you please consider implementing it like this or a better solution as upstream? Thanks.

In the end, this implementation worked in the local environment, but not in Azure. Because App Service/Functions do not send signals before stop/restart. It kills our container immediately.
It is a very important issue for maximizing the robustness of our app. Does anyone care?

Does anyone watch this issue? As mentioned in the famous The Twelve-Factor App, signal handling is essential. Many developers refer to The Twelve-Factor App as best practices for Cloud Native App. FYI, AWS published an excellent doc.
Of course, signal handling is not the only way to improve disposability and resiliency. However, at present, the implementation ways for containerized Azure Functions is unclear.

Yes, this is on the roadmap. Assigning this issue to myself for tracking.

I tried @ToruMakabe's start.sh and it didn't quite work out of the box for me. I wanted specifically to send "kill SIGINT" to the host, not just kill, so as to give the host a chance to gracefully shut down. Just changing the "kill 0" to "kill SIGINT" didn't work for me, as apparently background processes ignore SIGINT. So I came up with the following, maybe it helps:
#!/usr/bin/env bash

export DOTNET_USE_POLLING_FILE_WATCHER=true

if [ -z $PORT ]; then
  export ASPNETCORE_URLS=http://*:80
else
  export ASPNETCORE_URLS=http://*:$PORT
fi

if [ -z $SSH_PORT ]; then
  export SSH_PORT=2222
fi

if [ "$APPSVC_REMOTE_DEBUGGING" == "TRUE" ]; then
    export languageWorkers__node__arguments="--inspect=<IP_ADDRESS>:$APPSVC_TUNNEL_PORT"
    export languageWorkers__python__arguments="-m ptvsd --host localhost --port $APPSVC_TUNNEL_PORT"
fi

sed -i "s/SSH_PORT/$SSH_PORT/g" /etc/ssh/sshd_config

service ssh start

# run background
if [ -f /azure-functions-host/Microsoft.Azure.WebJobs.Script.WebHost ]; then
    { setsid /azure-functions-host/Microsoft.Azure.WebJobs.Script.WebHost; } &
else
    { setsid dotnet /azure-functions-host/Microsoft.Azure.WebJobs.Script.WebHost.dll; }  &
fi

subshell_pid=$!

function trapSigTerm()
{
  pids=$(ps -ax -o ppid,pid --no-headers |
      sed -r 's/^ +//g;s/ +/ /g' |
      grep "^$subshell_pid " | cut -f 2 -d " ");
  for child in $pids;  do
    echo kill -SIGINT "-$child" && kill -SIGINT "-$child"
  done
  wait $subshell_pid
}

trap trapSigTerm SIGINT SIGTERM

# wait
wait

Also Net6 console app running in App Service Linux container does not get StopSignal. It is handling long-running operations and would be nice to give it i.e. 5 minutes to gracefully shut down, before killing it. Scaling in / out or even slot swap can cause data loss. Is situation better in Container apps or in anywhere in Azure?

Hey folks, there is very limited docs on dockerized go functions, hence I post my question here. Please feel free to direct me to the right place.
I'm trying to figure out why the base image is so bloated? why there are so many dll files in a container that will be running on linux? Is it possible to use a very light base image or even scratch for a function written in go?


build: added namespace for AGP version 7+. This should fix compatibility issues with gradle 8.

@vafada
Hey can you please accept this!
I used this package in my project and now need to upgrade to newer versions.
Every other package I use is up to date with the new changes for namespace.

All set thank you for the contribution!


Various outstanding issues to cleanup

public site and email do not display correct url.
admin email isn't on the email address (for more information email<EMAIL_ADDRESS>correct the birthdate entry component to make it desktop friendly in the enter claims
finish the expired / request new verification email route in the public site.
Test with other (non-github) login types on the public app claims entry page.
resending e-mail verifications fails (this is fixed on another branch)

Potentiall fixed in: https://github.com/bcgov/identity-kit-poc/pull/76

This has been resolved in pull request #76


Remove page field from summary tables

Now that we've fixed the url field corresponding to the test page, we can remove the page field. This wasn't specified in the schema so I'm not sure if it would have gotten silently dropped or caused an issue with the pipeline. In either case, it's not needed any more so we can drop it.

Correct! page would have been silently dropped when writing to the summary_requests table. This can be safely removed.


Add HostDevice and ability to flutter run/drive on it

A HostDevice is similar to AndroidDevice and IOSDevice but runs Flutter shell on the host machine instead of a real device or an emulator. We already do this for flutter test. This feature request is to extend this capability to other commands, especially run and drive.
Flutter tools should have an option to use a host device as a deployment target. Strawman:
flutter run -d host
flutter drive -d host

Why?
tl;dr so we can run more tests on Travis as a pre-submit step

smoke-test flutter sub-commands, such as run and drive
sanity check our integration tests prior to sending them over to the device lab, such as:

performance tests
hot-reload dev cycle tests

/cc @devoncarew

The document above isn't publicly visible.

@Hixie that document has a lot of stale info. I replaced the link with information that's still relevant.

Closing on the basis that we won't get to it any time soon.


[Pipeline](error msg) format error message

Proposed changes
before:

after:

Problem summary
Describe your changes.
Checklist(Required)

Does it affect the original behavior:

[ ] Yes
[ ] No
[ ] I don't know

Has unit tests been added:

[ ] Yes
[ ] No
[ ] No Need

Has document been added or modified:

[ ] Yes
[ ] No
[ ] No Need

Does it need to update dependencies:

[ ] Yes
[ ] No

Are there any changes that cannot be rolled back:

[ ] Yes (If Yes, please explain WHY)
[ ] No

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 35.77 seconds
load time: 648 seconds
storage size:<PHONE_NUMBER>5 Bytes
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20221221133439_clickbench_pr_66400.html


[Feature Request]: need xtest in docker

Tell us what feature you want?
build xtest to docker

supported in v3.3.2


[WIP] PromQL: Add support for quoted metric and label names

First draft of adding support for quoted metric names and labels for promql.
Adds support for
{"my.quoted.metric", "my.dotted.label"="whatever"}
Metric name must be the first item in the bracketed list.
Adds a single correctness test. All other tests still pass.

I'll try to review this ASAP, but I'm really not very knowledgeable about the generated parser. It would be cool if somebody that knows about yacc etc. could have a look. We don't even need specific PromQL knowledge.

Metric name must be the first item in the bracketed list.

That rubs me the wrong way. In the public discussion, the ordering was never discussed IIRC. Since you can put the __name__="foo" thing everywhere in the selector, it would come as a surprise if you can only leave out the __name__= when it is the first item. It's just one more special thing to take into account, which I think is more problematic as a readability argument that might be made.

@beorn7 I haven't been part of the public discussion, but having an optional metric name in any position sounds weird to me, and brings unnecessary complexity to both readers (as a human when I'm reading the selector) and implementations (here, and in any other place where we might want to parse a metric.)

Note that the new notation isn't in any way the recommended one. It's just the "least bad" way to write a metric name that doesn't follow the naming conventions. (Remember that using "special" characters has been completely impossible so far. This all is just happening because of the combined pressure of users migrating from legacy metrics systems plus that OTel decided to allow all of UTF-8 in metric names, ignoring the de-facto standard. We want to make it possible in Prometheus but without completely changing PromQL syntax.)
From that perspective, there is the most simple change: "The default label name in selectors is __name__."
That is provable less complex than "The default label name in selector is __name__ but only if it is the first element in the selector list."
So the "unnecessary complexity" actually happens when you restrict the metric name to the first position.
Implementation details should only matter as a secondary concerns. (But as far as I understand grammars, it will also be easier to specify a default label name at any position than specifically only for the first position.)
Having said all that, while I prefer the simpler and more generic solution, that shouldn't imply that it is mandated. However, I don't remember that the public discussion even considered the "first position only" approach. Feel free to chime in on the public brainstorming doc.
I would strongly advise against making a "Mimir only" decision because it is a selling point of Mimir that it is 100% in line with upstream Prometheus. The decision has to be made in the community. (And maybe, they will like your idea, in which case I have no problem at all with adopting it.)

Thank you for the document, @beorn7, I didn't have that context. I also missed the fact that it's easy to distinguish a "metric name matcher" from "quoted label name matcher" by the fact that the latter has two strings separated by the matcher type.

In this case, we should just add a label_matcher   : STRING case.

My apologies for delays on reviewing this. My review queue has been very long recently.
Furthermore, I don't think this PR is actually blocking further process. As said, I'm not an expert on generated parsers and grammars and such, but my assumption is that this PR is sufficient as a PoC.
What we actually need now is a proper design doc so that the community can approve the change of the language, and ideally the other required changes, see the relevant section in the brainstorming doc.
Based on the discussions on the brainstorming doc and other discussions I have noticed,  I "read the room" in the following way:

The "make __name__= optional in selectors" seems uncontroversial.
Whether the "handy operators" like {!"foobar"} or {~".*regexp.*"} should also be allowed, is less clear. I personally like them, but this is a simple binary decision that doesn't change the rest of the design, so it could just be presented as an option in the design doc, and then we let the community decide.
Some people would still like to treat . specially, i.e. allow it without quoting. Personally, I'm against it, and I would recommend to not rock the boat at this time about it. The good thing is that it could still be introduced later as it is orthogonal to all the other changes.

My assumption therefore is that the decision about PromQL is "almost there" and relatively easy at this point. But as said, we need a proper design doc to formalize the decision. Also, at this point, the design doc has to at least discuss the impact on the other parts of the stack. @ywwg how about you start that design doc? There is a template as a recommended starting point. We can do a "private review" round first, if you like, before advertising it to the general public. As said, it needed parts about the exposition formats and the Go templating, but depending on your preferences, it doesn't have to sketch out complete solutions, but it has to describe our options at least.

Hi, can we move this to prometheus/prometheus? I am not sure implementing something in the fork makes a lot of sense. We risk implementing a version here, but then when we upstream, we might end up in a different behavior altogether.
And regarding exposition format, I am not sure we need to also change the exposition format to accept this change. We could do the first implementation against remote-write-receiver upstream. One of the main usecases for these metrics is the OTel ecosystem, and they use Remote Write primarily.

And regarding exposition format, I am not sure we need to also change the exposition format to accept this change. We could do the first implementation against remote-write-receiver upstream. One of the main usecases for these metrics is the OTel ecosystem, and they use Remote Write primarily.

Yes, that was my initial thought, too. But Prometheus uses the exposition format for federation. So we need at least some considerations about this. (Worst case along the lines: "If you use non-standard characters in metric names or label names, you cannot use federation for now." But the good news is that federation doesn't use OM, so we can change it relatively easily, see comments below.)
The best possible outcome:

Let's explore the Go templating issue. Ideally, the Go templating engine has already a syntactical solution for it. (In fact, I would be surprised if not.) In which case we simply have to state in the design doc how templates have to look like with special characters involved (and that "special characters" this time is defined by Go templating rather than by Prometheus.)
Let's find a simple fix for federation. As said above, we are not bound to OM. We could create a simple hack to the classic text format. Or, even better and much cleaner, we could require protobuf for federation with special characters, in the same way we currently require protobuf for federation with native histograms, at least for now. The protobuf format should have zero issues with special characters in metric names and label names. (But needs confirmation, of course!)

I put this in this repo because I was told it would be easier to test here.  I have not been able to find anyone to help me actually build and run this in a dev cluster so we could try it out.  The eventual intent was indeed to put it in prom/prom.

part of https://github.com/grafana/query-squad/issues/387

@beorn7 @colega As to the question of whether the metric name has to be the first term in the list, we had discussed allowing the metric name to be anywhere in the list of terms, but using style/lint to strongly prefer that it be the first term.
The current draft implementation requires that it be the first term, but this is a reflection of my slowly learning lex/yacc and not a design choice :).

Lots of work done. Metric name no longer needs to be the first term in the labels list. Parsers will check for metric names that are set twice.  I may need more tests but it's looking good.

Thank you very much. Glad that there is a (relatively simple) solution for the templating.
As said, I'm not an expert in parser generation. I'll focus on the outcome. Which looks good as far as I can see. (But as you know, this should all be in a design doc better sooner than later because only then we will see if there are substantial concerns from the community.)
I'm a bit confused about the changes in the exposition format. It looks like you allow . even without quoting. (Which might be a fine approach, I just didn't see it mentioned anywhere.) The question is in how far we want the exposition format to be consistent with PromQL. I don't think it's a strong requirement. The exposition format is inspired by PromQL, but it isn't PromQL. (For example, the __name__="..." thing never worked in the exposition format.) So that would open up the possibility to not require quoting for all kind of special characters (because there are no operators in the exposition format, for which we have to reserve the special characters). It also would open up the option to quote directly (e.g. "my.silly metric/name"{"foo"="bar"} rather than {"my.silly metric/name", "foo"="bar"}).
However, I vaguely remember that Prometheus uses direct pointers into the strings coming from the exposition format. This will create problems for the characters for which we need escaping after all, e.g. "my_even_\"sillier\" metric name". Just a thought here. I'm not super familiar with the current weirdly optimized exposition format parser. (Just got my feet a bit wet when I had to resurrect protobuf.)


Decoding exception when using load_image_from_dsc on < iOS 16

Don't have trace on-hand atm, but using ktool as a lib I'm getting:

utf-8 can't decode byte 0xc0 in position 2: invalid start byte

from read_node in ktool/loader.py in the image.get_cstr_at(cursor) call.
Let me know if you need the full trace

I've made the decision to drop dsc support as it was a nightmare to work on and maintain within the scope of this project. See issue #54
For future stuff regarding development efforts, https://github.com/arandomdev/dyldextractor should be used.


Calling DB.Find() with an ID that doesn't exist, does not return ErrRecordNotFound

GORM Playground Link

https://github.com/go-gorm/playground/pull/142
Description

It doesn't return an error at all, and since that RecordNotFound() method was removed in GORM 2, can't really distinguish between a successful operation, and one where the record is not found.

Just had a thought: Does ErrRecordNotFound even make sense for Find(), or is it only applicable for methods such as First(), Last(), and Take()?
Can close this issue if so

Just had a thought: Does ErrRecordNotFound even make sense for Find(), or is it only applicable for methods such as First(), Last(), and Take()?

Yes, it is only applicable for First, Last, Take https://gorm.io/docs/query.html#Retrieving-a-single-object


Perfetto Initialization always connects a Producer

Running the following code causes [329.254] perfetto.cc:33197       Producer connected to be logged.  This is undesirable when trying to act as a Perfetto Consumer.
  perfetto::TracingInitArgs args;
  args.backends |= perfetto::kSystemBackend;
  perfetto::Tracing::Initialize(args);

Paging @skyostil @betasheet :)

Paging @skyostil @betasheet :)

Looks like TracingMuxerImpl always registers the producer. Is this actually detrimental in your use case, @rickvanprim?
Adding a producer without any registered data sources should be minimal overhead, and doesn't prevent use of the consumer interface.

Looks like TracingMuxerImpl always registers the producer. Is this actually detrimental in your use case, @rickvanprim?
Adding a producer without any registered data sources should be minimal overhead, and doesn't prevent use of the consumer interface.

Right, I don't think there's any significant downside to connecting the producer too. I wouldn't be opposed to a patch optionally disabling that, but I don't think we'll change this otherwise.

Right, I don't think there's any significant downside to connecting the producer too. I wouldn't be opposed to a patch optionally disabling that, but I don't think we'll change this otherwise.

I don't think it's a big deal, just unnecessary when the process will be strictly a Perfetto Consumer.  @primiano requested I file an issue so it didn't get lost.

I don't think it's a big deal, just unnecessary when the process will be strictly a Perfetto Consumer.  @primiano requested I file an issue so it didn't get lost.

Yeah ideally it's something we could improve (I agree with @rickvanprim the producer socket connection is unexpected) although not a high prio one as there is no concrete problem right now.

Yeah ideally it's something we could improve (I agree with @rickvanprim the producer socket connection is unexpected) although not a high prio one as there is no concrete problem right now.

Realistically we're not going to be addressing this as it's so low prio. Closing.


Tables and Equations are not correctly displayed

Description
Many tables and equations are not displayed correctly in the HTML.
(Optional:) Please add any files, screenshots, or other information here.

(Required) What is this issue most closely related to? Select one.
Formula
Internal issue ID
7c4c1657-19ac-4018-9890-0f258ab5e0f8
Paper URL
https://services.arxiv.org/html/submission/5340753/view
Browser
Chrome/<IP_ADDRESS>
Device Type
Desktop

@PedroRASB just writing in to mention that you'd need Chrome 109 or newer to get MathML rendering well for the equations. For older browsers, ar5iv had a fallback polyfill engine, which arXiv may decide to use as well.
The table problem is likely separate, just commenting on the equations.


MultiSelect option created with Control Button

Describe the Bug
From what I've seen currently there is a way to multiselect with shift and dragging the mouse, and multiselect based on a key code. I am wondering if there is a way in which a control button can be used to multiselect nodes within a canvas. Is there any props within the ReactFlow component that could allow this like just a boolean which allows the user to group/click multiple nodes adding them to the selected elements?
Your Example Website or App
No response
Steps to Reproduce the Bug or Issue
Selecting multi nodes without pressing additional key only selects one node at a time.
Expected behavior
Control Button once selected will allow the user to select multiple nodes adding them to the selected elements.
Screenshots or Videos
No response
Platform
Windows 11
Additional context
No response

closed in favour of #2167


Create api module and move GetDBEndpoints to it

GetDBEndpoints will also be used by other operators like neutron, octavia etc.

Thanks Andrew and Slawek, Merging it and will update neutron-operator PR.


added a flask server for asynchronous image generation with mflux

I would like to contribute a server front-end to this outstanding project.
For simplicity, I did not write a README yet for the functionality of the server, but most of what one would write down as a documentation is in this pull request below. If required/wanted I can put this in a separate pull request as README_server.md. So this pull request ist just a single file. I hope you like it.
API Server for mflux
This API server is designed for asynchronous image generation tasks, particularly optimized for environments where GPU resources need to be shared across multiple tasks, such as in generative AI chat programs. This server ensures that only one image generation task runs at a time to efficiently use GPU resources.
The API supports features such as:

Queuing of image generation tasks.
Forecasting computation time for better user experience in multi-user environments.
Managing task statuses and retrieving generated images.

Furthermore, the API exposes a swagger endpoint to self-document the server.
Example usage
The server can be started with i.e.
python3 server.py --quantize 8

It then runs on port 4030 by default. Host an port can be configured by call parameters, try server.py --help. To see the swagger documentation, open http://localhost:4030/swagger
To produce an image, the usual workflow is:

/generate to initialize the generation, this returns a task_id
/status to check if the image generation has finished. If not, this also returns an approximated waiting time which can be used in a front-end to show a progress bar
/image to retrieve the produced image as soon as the status turns to "done"

In detail - here is a call to generate an image:
curl -X 'POST' \
  'http://localhost:4030/generate' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
  "prompt": "A beautiful landscape",
  "seed": "1725311496",
  "height": 1024,
  "width": 1024,
  "steps": 4,
  "guidance": 3.5,
  "format": "JPEG",
  "quality": 85,
  "priority": false
}'

The response is then an object i.e. with:
{
  "task_id": "1fc9cc4f",
  "task_length": 1,
  "expected_time_seconds":<PHONE_NUMBER>7253082
}

The task_id can then be used to check the image generation status:
curl -X 'GET' \
  'http://localhost:4030/status?task_id=1fc9cc4f' \
  -H 'accept: application/json'

a response would be i.e.:
{
  "pos": 0,
  "status": "waiting",
  "wait_remaining": 15
}

... which means that the image is not ready and is expected to be ready in 15 second. The position is 0 which means that no other image is in queue before.
Finally, the image can be retrieved with:
curl -X 'GET' \
  'http://localhost:4030/image?task_id=1fc9cc4f' \
  -H 'accept: application/json'

This returns the jpeg binary and removes the image from the production queue.
There are more API endpoints to list the queue and delete entries from the queue, see swagger documentation for details.
python client (quick example)
Here are three functions which implement a client endpoint for the image generation process as shown above with curl:
def mflux_generate_client(mfluxendpoint, prompt, width=1280, height=720, steps=4, count=4, seed=None, format="JPEG", quality=85, priority=False):
    mfluxendpoint = "http://localhost:4030"
    data = {
        "prompt": prompt,
        "height": height,
        "width": width,
        "steps": steps,
        "format": format,
        "quality": quality,
        "priority": priority
    }
    if seed is not None:
        data["seed"] = seed
    response = requests.post(mfluxendpoint + "/generate", json=data)
    # parse the response and get the task_id
    json = response.json()
    task_id = json["task_id"]
    return task_id

def mflux_status_ready(mfluxendpoint, task_id):
    response = requests.get(mfluxendpoint + "/status?task_id=" + task_id)
    if response.status_code == 200:
        status = response.json()["status"]
        if status == "done":
            return 0
        else:
            # read the waiting time
            waiting_time = response.json().get("wait_remaining", 1)
            if waiting_time < 1: waiting_time = 1
            return waiting_time
    else:
        return -1

def mflux_get_image(mfluxendpoint, task_id):
    response = requests.get(mfluxendpoint + "/image?task_id=" + task_id + "&base64=false&delete=true")
    if response.status_code == 200:
        return response.content
    else:
        return None

The mfluxendpoint would be a string like http://localhost:4030.
A single function which uses the client endpoints above to get an image can be i.e.:
def generate_image(mfluxendpoint, prompt, width=1280, height=720, steps=4, count=1):
    startt = time.time()
    task_id = mflux_generate_client(mfluxendpoint, prompt, width=width, height=height, steps=steps, count=count)
    for i in range(10000):
        waiting_time = mflux_status_ready(mfluxendpoint, task_id)
        print("Waiting time: ", waiting_time, " seconds")
        if waiting_time == 0: break
        nextsleep = max(min(waiting_time / 4, 10), 1)
        time.sleep(nextsleep)
    imageb = mflux_get_image(mfluxendpoint, task_id)
    stopt = time.time()
    print("Time taken: ", stopt - startt, " seconds")
    image = Image.open(BytesIO(imageb))
    return image

Sorry for not updating my code in this pull request. Meanwhile I made many changes/additions and I admit that an integration of the server application in your codebase would require a high maintenance. It's probably better to provide the server in an outside project.
Thats what I did meanwhile, the server is now here: https://github.com/Orbiter/mflux-server
It comes with (so far) two client UI applications, one is integrated and provides a multi-image generation+download function:

That means it's probably correct to close this pull request without pulling.

This server ensures that only one image generation task runs at a time to efficiently use GPU resources.

Yes this is a very real problem on these local apps. GPU utilization is full each run. I actually thought the CLI was a nice clean interface to ensure resource reclamation after each run.
https://github.com/anthonywu/mflux-fasthtml/blob/9a6d02ac7de37fbe19a1078a5b94a92c9646fc5f/src/mflux_fasthtml/app/worker.py#L34 was my attempt to queue one at a time and there remains many problems to overcome with resource allocation issues between generations.

I see that you are performing a forced mlx cleanup here:
https://github.com/anthonywu/mflux-fasthtml/blob/9a6d02ac7de37fbe19a1078a5b94a92c9646fc5f/src/mflux_fasthtml/app/worker.py#L16
I am running my mflux-server in (multi-user) production together with several llama.cpp instances at the same time at the same server and I cannot see resource allocation problems - so far. My believe was that all resources are here just main memory and I have plenty of that. I can easily have all models (flux, llama etc) in the memory at the same time, so what do you mean exactly with "resource reclamation"?

On my M1 Max 64GB I was doing iterative development of the web ui wrapper and when I would let the uvicorn app reload on file change, or if I Ctrl-C out of the program, the memory pressure remained - then in subsequent runs my Mac would freeze and I need to kill -9 the old process. I suspect it has something to do with threading usage so I have to fix it or switch that out.
Another concern is that when changing model or loras we need to reload the weights, because otherwise the memory requirement of the program would just keep growing.
Finding lots of gotchas when trying to generate many images in a row while loading/unloading between generations. Something I'll follow up on when I have time.

Oh wow, this is a very important hint. While I never experienced a problem on the production machine (192GB) I should have monitored memory pressure as you did. Now I did so and observed what you described. I took inspiration from your memory cleanup function and added this in mflux-server now here: https://github.com/Orbiter/mflux-server/commit/2a9e0d6ef4929c040d9645c948575149fdf564e2
After the memory cleanup, especially metal.clear_cache() the memory usage of the python process always went back to about 17GB.
I also added an option to reduce the cache size that mlx may use with metal.set_cache_limit(metal_cache_limit). Experiments using here only some GB (i.e. 3GB) showed that the whole memory usage actually stayed small and the computation speed did not really showed any strong increase.

Glad to hear that was helpful.
I think once we find some good practices the cleanup helpers should migrate into the core repo here.

@Orbiter - with your project setup at your own repo, shall we close this PR?

yes


feat: enable isolated utility process [INS-3378]

WIP, this change is not fully ready for review.

FYI - Electron supports utility process out of the box now - https://www.electronjs.org/docs/latest/api/utility-process
We can take a look at Bloom's implementation. Theirs is pretty straightforward and clean - https://github.com/bloomwalletio/bloom/blob/f69868fc7003248fadb583d3a03a162d5f6d289b/packages/desktop/lib/electron/processes/main.process.ts#L287

@marckong Cool, how does it handle Node APIs? Let's have a discussion.

TODO: (perhaps out of scope) what happens when the hidden window is closed unexpectedly

This PR was broken down into separate PRs #7063 #7070 #7065 Thanks @ihexxa really cool work!


Feature/manifest template

What? and Why?

What does this pull request change/fix? Why was it necessary? Add manifest-template.yml file for CF deployment

Checklist

[ ] CHANGELOG.md updated? (if required)

Codecov Report

Merging #56 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff           @@
##           master     #56   +/-   ##
======================================
  Coverage    70.9%   70.9%
======================================
  Files           1       1
  Lines         110     110
======================================
  Hits           78      78
  Misses         32      32

Continue to review full report at Codecov.

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


Firebase function suggestions

Actually I am trying to build a app I know how to get posts from followers but I didn't get any help or ideas From anywhere. how to get suggested posts for new user if he is not following anyone.

Hi @chinu999, check out the Cloud Functions for Firebase codelab to learn more about Cloud Functions for Firebase. To get advice, try chatting in the Firebase Slack.


Fixed compile and linker errors with Visual Studio 2017 15.8.6

Fixed compile and linker errors with Visual Studio 2017 15.8.6 (missing C++17 standard, missing include, and conflicting preprocessor definition)

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: MarkIngramUK sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

This resolves issue #1 .


change the api name of updating events

original phrase:

by passing events to the log_event method
changed to:
by passing events to the update method

Proposed changes:

...

Status (please check what you already did):

[ ] made PR ready for code review
[ ] added some tests for the functionality
[ ] updated the documentation
[ ] updated the changelog

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.