text:
Swagger UI not working as expected while service behind Nginx reverse-proxy

Trying to run a simple asp.net core 2.1 service behind Nginx reverse-proxy, the swagger UI fail to find the .json file.
When configuring Nginx to forward all calls to a service, where not using the default route, for example: localhost:8080/simpleapp/ --> internal-address:80/, the service itself works as expected, swagger JSON file provided back, but when trying to access the swagger UI, it tries to locate the .json file under localhost:8080/ instead of localhost:8080/simpleapp/ which causes an error to be displayed.
The following project demonstrates this issue:
https://github.com/deepforest/simpleapp

Required fixes:

Fix HTTP Location header redirect as it redirects to the internal url
Fix swagger.json path parameter in index.html as it points to the internal path

Maybe we can just solve this with the MiddlewareBasePath and use it only for redirect and the param but not for route matching

@deepforest, @RSuter I temporary solved the problem by using this settings.
Application Program class
(Note the UseUrls method.)
myWebHost = new WebHostBuilder()
	.UseKestrel()
	.UseUrls("http://*:5001")
	.UseStartup<Startup>()
	.UseSerilog()
	.Build();

Application Startup class
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
	app.UsePathBase(new PathString("/my_custom_path"));

	if (env.IsDevelopment())
	{
		// ...
	}

	// ...
}

Swagger configuration
(Note the ../ prefix on Add method.)
app.UseSwaggerWithApiExplorer(config =>
{
	config.GeneratorSettings.OperationProcessors.TryGet<ApiVersionProcessor>().IncludedVersions = new[] { "1.0" };
	config.SwaggerRoute = "/v1.0.json";
});

app.UseSwaggerUi3(config =>
{
	config.SwaggerRoutes.Add(new SwaggerUi3Route("v1.0", "../v1.0.json"));
});

@RSuter Anyway, I still have a problem with the UI that I don't actually know if it would be solved by your proposed fixes.
Please look at the attached screenshot.

The strange thing here is that you actually take the final hostname (devtest.e...i.com/control/swagger in the screenshot) while it is not configured on my application in any way. The key point seems to be how do you resolve the hostname?
Maybe you should use the Request Header information when generating the URL of UI requests (checking eventually also X-Forwarded-Host HTTP header). In this way the UI commands are fine to be sent from a client-side point of view. I'm assuming that UI API calls (by clicking Try --> Execute) are fired from the client browser.
This is the extract of the previous screenshot swagger JSON file.

And what about: app.UsePathBase(new PathString("/my_custom_path"));
Is it related to your solution -- is this the "virtual path" configured in nginx?

@deepforest There're 2 cases:
CASE 1: Reverse proxy without URL rewrite (my actual case)
Final URL from outside is:
http://dev.mydomain.com/my_custom_path/swagger
and the reverse proxy forward requests to:
http://myservername:5001/my_custom_path/swagger
because there's no URL rewrite settings on proxy.
So, using app.UsePathBase(new PathString("/my_custom_path")); is needed to allow Kestrel to intercept the full path. Not using the URL rewrite also gives the possibility to the application to know the original request full path coming from the client (outside). The original host is also available at application level from the X-Forwarded-Host HTTP header.
Application has all information needed to eventually generate valid URLs for client-side point of view.
CASE 2: Reverse proxy with URL rewrite
Final URL from outside is:
http://dev.mydomain.com/my_custom_path/swagger
and the reverse proxy forward requests to:
http://myservername:5001/swagger
because using URL rewrite settings on proxy.
In this case, app.UsePathBase(new PathString("/my_custom_path")); is not needed.
However, the application now has no chance to retrieve the original full path that is valid from client-side point of view.
Only the proxy can implement a Response rewrite rule acting on HTTP Response links. This is good for UI (HTML tags...) but when application outputs JSON data, the proxy is not manipulating it.
For this reason I don't see how Swagger could work properly with URL rewrite... (for JSONs)
In any case it is still possible to send to the client the correct hostname (that is on the Request header), as in the case 1.
In conclusion I think that the solution would be:

Do not use URL rewrite on reverse proxy
Use app.UsePathBase(new PathString("/my_custom_path"));
Resolve the original client hostname using HTTP headers correctly (X-Forwarded-Host and not only Host)

Good capture, though knowing your "custom path" as part of your code, is a cons. This is the advantage of URL rewrite, you give devops the opportunity to manage the route how they sees fits in the organization.

I can agree with you. My post is just my experience with that problems till now.
I'm using IIS as reverse proxy, just because in my case we're doing a first experiment with .NET Core, Kestrel and so on... and I've no time at the moment to try/learn different solutions (like nginx for example, that I'd like to use instead).
Suppose you're creating a RESTful API where listing methods manage paging by returning not only the requested bunch of objects, but also prev/next page link (as best practices suggest). They have to be rewrited accordingly to domain name, etc. In IIS I didn't find a way to tell the URL rewrite rule to manipulate JSON data in this way...

The host, schemes, etc. are set here based on the ASP.NET Core values:
https://github.com/RSuter/NSwag/blob/master/src/NSwag.AspNetCore/Middlewares/SwaggerMiddleware.cs#L87-L89
… and can be changed with UseSwagger's PostProcess.
(v12)

Can you please post an example of what we're supposed to do in the PostProcess?

I've added a PR with a new TransformToExternalPath setting + an Nginx sample based on @deepforest 's sample app: https://github.com/RSuter/NSwag/pull/1728

Please review and check whether this solves your scenario

You can clone the repo, switch to the PR branch and test yourself with the solution in
NSwag\samples\WithMiddleware\Sample.AspNetCore21.Nginx

instructions in Startup.cs

Hello,
I am also having issues with Nginx reverse proxy and NSwag. I set in nginx:
proxy_set_header X-Forwarded-Server   $host;
proxy_set_header X-Forwarded-Path     $request_uri;

Nginx rewrites the path from  /api/myservice/openapi (external) to  /api/openapi (internal).
I applied the instruction from the Sample.AspNetCore21.Nginx, after that I can access swagger document via  /api/myservice/openapi/v1/openapi.json.
But in SwaggerUi (/api/myservice/openapi) I get the following error :
Parser error on line 13
end of the stream or a document separator is expected

probably because of a wrong swaggerDocument route for the UI. This is the same for Redoc
/api/myservice/redoc/ becomes to /api/myservice/redoc//index.html?url=/api/myservice/redoc/.
My configuration
 app.UseSwagger(options =>
                {
                    options.DocumentName = "v1";
                    options.Path = "/openapi/{documentName}/openapi.json";
                    options.PostProcess = (document, request) =>
                    {
                        if (!new[] { "X-Forwarded-Host", "X-Forwarded-Path" }.All(k => request.Headers.ContainsKey(k)))
                        {
                            return;
                        }
                        document.Host = request.Headers["X-Forwarded-Host"].First();
                        document.BasePath = request.Headers["X-Forwarded-Path"].First();
                    };
                });

                app.UseSwaggerUi3(options =>
                {
                    options.Path = "/openapi";
                    options.DocumentPath = "/openapi/{documentName}/openapi.json";
                    // The header X-Forwarded-Path is set in the reverse proxy
                    options.TransformToExternalPath = (internalUiRoute, request) => request.Headers.ContainsKey("X-Forwarded-Path") ? request.Headers["X-Forwarded-Path"].First() : string.Empty;
                });

                // add api doc
                app.UseReDoc(options =>
                {
                    options.Path = "/redoc";
                    options.DocumentPath = "/openapi/v1/openapi.json";
                    // The header X-Forwarded-Path is set in the reverse proxy
                    options.TransformToExternalPath = (internalUiRoute, request) => request.Headers.ContainsKey("X-Forwarded-Path") ? request.Headers["X-Forwarded-Path"].First() : string.Empty;
                });

What can I do to get these UI's working?
Thank you and best regards,
Peter

Please review and check whether this solves your scenario

@RSuter looks like this fixes the issue, yet requires messing up with nginx config, adding X-External-Host and X-External-Path headers. Not so clean, but a legit workaround.
One thing still unclear. Setting 'proxy_set_header   X-External-Host localhost:8080;' in nginx.conf, this works if you put localhost:8080 in the web-browser, but apparently, not running locally, this must not be localhost. So do we need to replace 'localhost' with host address per deployed environment?

@deepforest By chance have you tried also with other reverse proxies, different from nginx?
Why are the X-External-Host and X-External-Path headers used instead of X-Forwarded-Host, X-Forwarded-For and X-Forwarded-Proto?
I'm using IIS as reverse proxy.

Why are the X-External-Host and X-External-Path headers used instead of X-Forwarded-Host, X-Forwarded-For and X-Forwarded-Proto?

This is just an example of how to use TransformToExternalRoute

@OculiViridi havn't tried that yet, sry.

I dont want to couple TransformToExternalPath to this specific scenario and the project is also just a sample of how to use this transform setting. Maybe we should update the sample to use the default headers

yea, see my prev comment, we posted same time :)

@OculiViridi, @RSuter, I've integrated the last version of NSwag into our product source code, which is hosted in K8s. In our case, Nginx is the "cluster's ingress", deployed as a K8s service of type "LoadBalancer" with no extra configuration. The "virtual path" in our case is actually each K8s service dns name. So for example accessing http://my-org.com/serviceA/swagger, internally routed to http://serviceA:/swagger service.
I've only set the 'document.BasePath' to be the service name in our case, provided to each Pod as Environment Variable, and didn't touch 'document.Host' at all.
This works like a charm.
Thank you guys!!

When can we expect this issue to be solved. Its very common issue. I am facing similar issue. My v2/api-docs i.e. json are on correct url (example: https://{host}/{variable}/{context_path}/{api_prefix)/v2/api-docs). But my rest apis are hitting on  https://{host}/{context_path}/{api_prefix)/{api_url}.

See https://github.com/RicoSuter/NSwag/pull/2196

I wrote a small extension method to get NSwag working with ProxyKit. I'm not sure if it works with a sidecar/k8 setup but it works with different ports:
// Inside Startup.cs:
public override void Configure(IApplicationBuilder app)
{
    app.UseSwaggerWithReverseProxySupport();
    // etc.
}

public static class ApplicationBuilderExtensions
{
    public static IApplicationBuilder UseSwaggerWithReverseProxySupport(this IApplicationBuilder app)
    {
        app.UseSwagger(config => config.PostProcess = (document, request) =>
        {
            string pathBase = request.Headers["X-Forwarded-PathBase"].FirstOrDefault();
            document.BasePath = pathBase;
        });

        app.UseSwaggerUi3(settings =>
        {
            settings.TransformToExternalPath = (route, request) =>
            {
                string pathBase = request.Headers["X-Forwarded-PathBase"].FirstOrDefault();

                if (!string.IsNullOrEmpty(pathBase))
                    return $"{pathBase}{route}";

                return route;
            };
        });

        return app;
    }
}

Maybe we should also automatically support this header
https://github.com/RicoSuter/NSwag/blob/master/src/NSwag.AspNetCore/HttpRequestExtension.cs#L53

Just to make the code even more interesting to read, there's this header too:
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Forwarded

Ran into the problem with Nginx reverse proxy: Unable to infer base url.
After some research I figured out the request to the path <schema>://<host>:<port>/v2/api-docs don't work as I expect.
It serves content partially (1st chunk) then closes the connection.
Curl output: curl: (18) transfer closed with outstanding read data remaining.
Googling this trouvaille I managed to solve the problem with the following Nginx config:
upstream backend {
  server 127.0.0.1:8090;
}

server {
  listen my-public-internet-host-or-ip-address:8090;
  proxy_pass http://backend;
  proxy_set_header Host my-public-internet-host-or-ip-address:8090; # it's important to explicitly specify this otherwise upstream will try to use backend as a host name
  proxy_buffering off; # the most important option helps to fix the problem easily reproduced with the curl tool mentioned above
}

@RicoSuter per the extension above, if ounces rung behind a reverse proxy that rewrites how is the best setup...is there now built in behavior - how is that configured ?
As an aside Im using Envoy (that also now is behind as AppMesh on AWS)
Thanks

@Simonl9l I didn't understand your question, but commenting on closed issue is not a good way to get help. Please open your own issue and describe with code what you're trying to do and what doesn't work.

@jeremyVignelles - as suggested see here https://github.com/RicoSuter/NSwag/issues/3192

NSwag has support for this by default now, BUT you need to configure the Dotnet application to actually use the forwardHeaders like described here:
https://nickkell.medium.com/swagger-service-url-behind-reverse-proxy-3a2795229100
https://learn.microsoft.com/en-us/aspnet/core/host-and-deploy/proxy-load-balancer?view=aspnetcore-6.0#forwarded-headers-middleware-order
Works perfectly without any other settings on UseOpenApi()

authors: OculiViridi RSuter RicoSuter Simonl9l anandkadu deepforest jeremyVignelles mathiash98 nosshar ptr1120 yetanotherchris

repo: RicoSuter/NSwag


text:
current implementation of showin boulders on apato catapults breaks catapult usage

just wtf

the method call has been turned into a comment, will try find what to do later

source: gharchive/issue

repo: Rift-Modding-Group/Prehistoric-Rift-Mod

license: MIT

license_type: permissive

license_source: github-api


text:
wallet: add exported function to manually add relevant tx

Details is here: https://github.com/lightningnetwork/lnd/pull/1501

This fork is now abandoned. All PR's should instead be created in btcsuite/btcwallet.

source: gharchive/pull-request

authors: Roasbeef vapopov

repo: Roasbeef/btcwallet

license: isc

license_source: bigquery


text:
Wrong ti-cmem-modules package

Just ran ./RootStock-NG.sh -c rcn-ee_console_ubuntu_bionic_armhf on a BeagleBoard-X15 and got this error.
E: Unable to locate package ti-cmem-modules-4.19.94-ti-r36
E: Couldn't find any package by glob 'ti-cmem-modules-4.19.94-ti-r36'
E: Couldn't find any package by regex 'ti-cmem-modules-4.19.94-ti-r36'
I'm guessing it should be ti-cmem-4.16.00.00-modules-4.19.94-ti-rt-r36 instead?

@drmpeg , sorry after pushing these changes today, I ended up going down a rabbit hole of figuring out why my Jenkins test server quit working. So never had time to look at the build looks, Yes, we need to update the cmem.

authors: RobertCNelson drmpeg

repo: RobertCNelson/omap-image-builder

license: mit


text:
Enable running pyright with older versions

When there's a new version of pyright available, running pyright checker will produce a warning and end with non-zero exit code:

While this warning is helpful in letting users know that there's a newer version and they should update, this makes it very hard to use pyright-python in an automated way, since it'd require explicitly setting PYRIGHT_PYTHON_FORCE_VERSION environment variable to the version of pyright we want to use (i.e. the version of the pyright-python package we have installed) which we'd need to be obtaining manually.
I think that while this warning is helpful and it should stay there, it really shouldn't block pyrighr completely and cause non-zero exit code. This is simply necessary because even though repositories should be updating their dependencies, not all repos can be expected to simply update the minute a new version comes out, realistically it will take a while for the repo to update, and during that time, all CI tests would be failing everywhere, since pyright-python doesn't even allow running old pyright versions, unless specified explicitly, even though it is versioned to represent which pyright version should it install and run.

I think that while this warning is helpful and it should stay there, it really shouldn't block pyrighr completely and cause non-zero exit code.

@ItsDrike the warning should not affect the exit code, something else is going wrong if you're getting non-zero exit codes.

since pyright-python doesn't even allow running old pyright versions, unless specified explicitly

Could you expand more on what you mean with this please? You should be able to use old pyright versions either by installing the equivalent pyright-python package or by setting PYRIGHT_PYTHON_FORCE_VERSION to the desired version.
The only caveat with using older versions is the warning message but that shouldn't stop you from being able to use it.

Could you expand more on what you mean with this please? You should be able to use old pyright versions either by installing the equivalent pyright-python package or by setting PYRIGHT_PYTHON_FORCE_VERSION to the desired version.

Well, I thought that there was no way (other than setting the variable), to run older (not up to date) versions, even when the pyright-python's version is set to the older one. From your response, it would appear that this is not the implemented behavior and that the warning shouldn't stop pyright completely.
However if that's so, there's something else that does cause the non-zero return code and pyright doesn't even run. The attached picture has the whole output captured, there's nothing else to be seen, the program simply exists after the warning, with 217 exit code, no other indication on what's wrong, so I figured it must've been the warning. Or this behavior is implemented incorrectly and it is in fact the warning which is causing this exit code.
I should probably point out that I do have a higher version of pyright installed globally on my machine and only the project's dependencies specify a not yet updated version, perhaps that's an issue? (My global pyright is installed via my distribution's package manager (I'm on arch, so via pyright package in pacman)

Perhaps that's something that may be causing this? But if it is, that really shouldn't be the case, the package should only install pyright into the virtual environment, regardless of any global configuration.

Minimal reproducable example (at least with my config on arch):

That is strange, could you run it with the environment variable PYRIGHT_PYTHON_DEBUG set to 1 and see what that outputs.

@ItsDrike Either this is an issue with your local setup or a linux / arch issue as running the exact same steps on darwin works as expected.

What happens if you run /usr/bin/npx --silent --yes -- pyright@1.1.226 --version?

It simply fails, but without silet, there are some error messages:

Here's the generated log file:
2022-03-09T14_20_31_355Z-debug-0.log

What does /home/itsdrike/.local/share/npm/_npx/939808f5c7d70bfb/node_modules/.bin/pyright --version output?

pyright 1.1.226

It does sound like this issue could be because of the global pyright you've installed, could you try uninstalling that and see if that fixes the error?

The error is still there:

Though it is likely that simply removing pyright doesn't remove some things that were done by the package manager and it leaves them behind. Once again, I'm attaching the generated log file:
2022-03-09T14_52_16_072Z-debug-0.log

You could try deleting /home/itsdrike/.local/share/npm/_npx/939808f5c7d70bfb. This is a bizarre issue, might be worth reporting to npm.

You could try deleting /home/itsdrike/.local/share/npm/_npx/939808f5c7d70bfb. This is a bizarre issue, might be worth reporting to npm.

That did the trick:

So, what exactly even went wrong here?

I have no idea, it looks like npm thought that some files were out of date and tried to remove them but couldn't for some reason.

authors: ItsDrike RobertCraigie

repo: RobertCraigie/pyright-python


text:
Warning - file or directory -- does not exist

See https://github.com/microsoft/pyright/issues/2527
Describe the bug
Getting a warning about file or directory -- does not exist.
[tool.pyright]
stubPath = ""  # typings by default shows warning
exclude = ["/node_modules",
"/pycache"
]
ignore = ["source/","build/"]
reportMissingImports = true
reportMissingTypeStubs = false
pythonVersion = "3.8.5"
pythonPlatform = "Linux"
Searching for source files
File or directory "C:\myprojectfolder--" does not exist.
Found 21 source files
VS Code extension or command-line
Command line. Pyright 0.0.11

Do you have node installed?

@asears Could you try installing from this branch and see if that resolves your issue please.
pip install -U git+https://github.com/RobertCraigie/pyright-python@fix/arg-separator

That resolves the issue, thanks!
In case you need them.
node --version
v13.11.0

The environment variable didn't seem to do much on Windows and output is just standard pyright .  output.

authors: RobertCraigie asears


text:
Issue in new version for date-time

Hi @RobinHerbots
I might say, the new version is not entirely the same as version 3.x for DateTime.
Issue 1- When I click on any positions on content, that position would be selected (look at the image) in version 3.xx which is the best. This feature is not available in a new version I guess.

Issue 2- When I select contents using TAB, It will not let me enter anything unless I do not enter between 0 to 2 in a new version while in old, It can be possible.
For example, When I enter a value between 3 to 9, it will convert in hours and minutes with appending 0 in version 3.x.
If I enter 8888 it will turn in 08:08 this could not be possible into the latest version.
I hope you understand what I meant to be

@patel33hardik,
Yes this needs to be fixed in the new version.
A link to the previous codepen for testing.
https://codepen.io/robinherbots/pen/qzrovd

@patel33hardik,
Have a look at the codepen.  Both above mentioned issues should be solved.

repo: RobinHerbots/Inputmask


text:
Add NFC tap tips to app directly

I've found myself telling people this anyways so may as well put it as in-app education:

Align the center of the BuzzCard over the NFC on your phone.  If you don't know where the NFC sensor is, search " nfc sensor location" using your preferred search enginer
You'll probably have to fiddle a little bit to find the best spot
If you have a particularly thick case or your phone isn't recognizing BuzzCards (usually it should vibrate) at all, try removing your case
Sometimes someone forgets their BuzzCard or one just won't scan.  You can use the Enter GTID manually button and type in their GTID to take their attendance.

I also like Capital One's mobile app simpler phrasing for this, which is essentially tap your card to the back of the phone, and if nothing happens, try again in a different spot.

repo: RoboJackets/apiary-mobile


text:
Feature/behaviour tree no json

[ ] The tests are passing

Summary
Give a short summary of what the changes are and why you made them. If applicable, apply screenshots as well.
Related issues
If there are related issues, reference them here.
fixes #693
Comments for the reviewer
If there are comments for the reviewer, leave them here
Checklist for the reviewer
This acts as a guide to help you and/or the reviewer to analyze the code.
functionality

Is the code is properly tested?
Is the code working as expected
Is the code is understandable and easy to read
Are proper abstractions made? (no duplicate code, nice use of functions/objects)

style

Variables/objects/classes have proper names
Proper use of variables: nu unused vars, no magic numbers
No possible memory leaks. Mutexes properly used when multithreading? possible pointer issues?
Are smart pointers used?
unused variables?
magic numbers?
well documented?
No unused imports?
No leftover code / unused comments
Proper indentation
Proper use of namespaces

If anyone would like to, please review the changes I made to the ProtoTypeTree class. I am mostly interested in the design of this class. I am aware that outside of this class, there are quite a few issues, which I am fixing now. You can also comment on these if you want, but I am still fixing them anyways.

As @rolfvdhulst mentioned, creating roles within the strategy class is messy. Haico and I discussed this, and we are thinking about creating both the tactics and the strategy in the tree class, which implemenents a strategy interface. The roles will be separate classes. This is because the roles can be used by different tactics. Also I think it would be nice to make some base roles like AttackerRole etc, and then a variation of this, for example, AgressiveAttackerRole, can inherit from this class and only override the functionalities needed. However, I think these classes need to be made when they are necessary and not pre-engineered.


text:
Solo waits always before searching text

From alban.so...@gmail.com on November 15, 2010 02:19:49
Hi,
I discover, traversing the source code, that the search text methods always wait some time before trying to find the desired text.
This lead to longer tests and most of all (for me), it prevents to measure the time elapsed between my dialogs.
Can this be corrected?
Best regards,
Alban.
Original issue: http://code.google.com/p/robotium/issues/detail?id=27

From renasr...@gmail.com on November 15, 2010 02:43:51
Hi Alban,
That is unfortunately required. If it does not wait then it will with high probability get hold of a view that is not current and that will lead to non-trustworthy results. Waits like that are needed when it comes to UI tests. Have to give the views time to initiate and also for the platform to clean up used views.
Status: WontFix

From alban.so...@gmail.com on November 15, 2010 04:17:45
Hi,
Thanks for your answer.
2 propositions:

does the use of waitForIdleSync can solve this problem?
Can you make the timeout delay configurable?

Alban.

repo: RobotiumTech/robotium


text:
PointXYZ instead of PointXYZIR

Hello,
is there a way to use a LiDAR-Sensor with a PointCloud that only has xyz-Point Information?
Or is the minimum requirement xyz, ring, intensity?
Thanks.

Hi, @christophTUM
According to the LOAM algorithm, this format is required. This other project may help you https://github.com/HViktorTsoi/rs_to_velodyne

repo: RobustFieldAutonomyLab/LeGO-LOAM


text:
[BUG] Deleted messages remain visible to the user who deleted them

Your Rocket.Chat.Android version: 2.0.0 - 2.0.2
Mobile device model: Xiaomi Redmi 3
OS version: MIUI 9 (8.4.12) , Developer ROM
Your Rocket.Chat Server version: 0.63.0 - 0.63.3
The message published on the channel remains visible after it's deleted and re-entered on the channel. It is visible only to the user who deleted it, all other users do not see it.

This is happening for me too.  If I delete the message through the app, it deletes for me, but if I delete it through the desktop/browser, it deletes it there and for everyone else, but it remains visible on the app.

@cloudsandladders @Pitstopper Can you confirm this is still happening on the latest build?

@leonardoaramaki yes, I confirm.

Same problem here. Several things go wrong:

when I clean the history of the room it is gone on the desktop version but still visible in the android app. Logging off, restarting the app or the phone doesn't help.
When I delete a message in the android app it is obviously not gone in the desktop version because one of my users replied to a deleted message later that day and that also made the deleted message reappear?!

@chatnl How are you clearing the history of a room? Are you using some specific method? You can try clearing all the cache data (Settings -> Apps -> Rocket.Chat -> Clear Data) to see if that clears the messages.

When I delete a message in the android app it is obviously not gone in the desktop version because one of my users replied to a deleted message later that day and that also made the deleted message reappear?!

That sounds like a bug. Can you explain the steps so we can try to reproduce it?

I will try to reproduce this this weekend. The only thing I can imagine is that the user that replied to my deleted message had the desktop or android app open when I deleted the message and that his cache was still containing the message.
When I use Clear Data on my phone everything is gone, but I can't expect everybody that uses the chatbox to do that everyday. When I delete the data it should not be available anymore. I can imagine that it is cached locally but the client should see that the server has deleted all the messages and do so locally too.
I have been cleaning the room with the curl commands through the API.

This issue is blocked because there's no way to get deleted messages via API.

authors: Pitstopper chatnl jberberick leonardoaramaki rafaelks


text:
Transfer or forward chat session to Live Agent

Hello,
I'm trying to transfer or forward the session to Live Agent. But session is not getting transferred. Please help me. bot Source code is as below.
I'm calling APIs to create a live chat room with live agent(which is successful), but forward or transfer session is not happening.
const { driver } = require('@rocket.chat/sdk');
// customize the following with your server and BOT account information
const HOST = 'localhost:3000';
const USER = 'ServiceDesk';
const PASS = 'ServiceDesk';
const BOTNAME = 'ServiceDesk';  // name  bot response to
const SSL = false;  // server uses https ?
const ROOMS = ['GENERAL'];
var myuserid;
// this simple bot does not handle errors, different message types, server resets
// and other production situations
var Client = require('node-rest-client').Client;
var client = new Client();
var regVisitorToken, randomToken, visitorId, visitorToken, roomId, botid, botAuthToken, endUserName, messageUserId;
function generateRandomToken(length) {
var result           = '';
var characters       = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
var charactersLength = characters.length;
for ( var i = 0; i < length; i++ ) {
result += characters.charAt(Math.floor(Math.random() * charactersLength));
}
return result;
}
//Getting initial data with random string
const startSessionTransfer = async () => {
randomToken = generateRandomToken(18);
console.log('randomToken : '+randomToken);
var url = "http://localhost:3000/api/v1/livechat/visitor/"+randomToken;
const dw = await client.get(url, function (data, response) {
// parsed response body as js object
console.log(data);
regVisitorToken = data.success;
const regVistitor = registerVisitor();
});
}
const registerVisitor = async () =>{
if(regVisitorToken == true)
{
var args = {
data: {"visitor":{
"name": endUserName,
"email":"EndUser@gmail.com",
"token": randomToken,
"phone":"55 51 5555-5555",
"customFields":[
{
"key":"address",
"value":"Rocket.Chat street",
"overwrite":true
}
]
}},
headers: { "Content-Type": "application/json" }
};
		//Visitor registration
		client.post("http://localhost:3000/api/v1/livechat/visitor", args, function (data, response) {
		console.log("Visitor registration status: "+ data.visitor.success);
		console.log(data);
		visitorId = data.visitor._id;
		visitorToken = data.visitor.token;
		const openCR = openNewChatRoom();
		});
}

}
const openNewChatRoom = async () =>{
var url = "http://localhost:3000/api/v1/livechat/room?token="+visitorToken;
client.get(url, function (data, response) {
console.log(data);
roomId = data.room._id;
console.log("Opening new room with live chat Agent, roomId: "+ roomId);
const sendMessage = sendMsgToLiveChatRoom();
});
}
const sendMsgToLiveChatRoom = async () =>{
var args = {
data: {
"token": randomToken,
"rid": roomId,
"msg": "Trasfferring session from bot..."
},
headers: { "Content-Type": "application/json" }
};
client.post("http://localhost:3000/api/v1/livechat/message", args, function (data, response) {
console.log(data);
//const forwardSession = getHeaderAuthToken();
const tansferSession = transferSessionToLiveAgent();
});
}
const getHeaderAuthToken = async () =>{
var args = {
data: {
"user": "ServiceDesk",
"password": "ServiceDesk"
},
headers: { "Content-Type": "application/json"
}
};
client.post("http://localhost:3000/api/v1/login", args, function (data, response) {
console.log(data);
console.log("Getting Auth tokens: "+data.status);
botid = data.data.userId;
botAuthToken = data.data.authToken;
const forwardSession = forwardSessionToLiveAgent();
				});

}
const forwardSessionToLiveAgent = async () =>{
var args = {
data: {
"rid": roomId,
//"token": visitorToken,
"department": "mYL3qbjJgNg7wcihf"
},
headers: { "Content-Type": "application/json",
"X-Auth-Token":botAuthToken,
"X-User-Id":botid
}
};
client.post("http://localhost:3000/api/v1/livechat/room.forward", args, function (data, response) {
console.log(data);
console.log("Forwarding session to live agent: "+data.success);
});
}
const transferSessionToLiveAgent = async () =>{
var args = {
data: {
"rid": roomId,
"token": visitorToken,
"department": "mYL3qbjJgNg7wcihf"
},
headers: { "Content-Type": "application/json"}
};
client.post("http://localhost:3000/api/v1/livechat/room.transfer", args, function (data, response) {
console.log(data);
console.log("transferring session to live agent: "+data.success);
});
}
const runbot = async () => {
const conn = await driver.connect( { host: HOST, useSsl: SSL})
myuserid = await driver.login({username: USER, password: PASS});
const roomsJoined = await driver.joinRooms(ROOMS);
console.log('joined rooms');
// set up subscriptions - rooms we are interested in listening to
const subscribed = await driver.subscribeToMessages();
console.log('subscribed');

// connect the processMessages callback
const msgloop = await driver.reactToMessages( processMessages );
console.log('connected and waiting for messages');

// when a message is created in one of the ROOMS, we
// receive it in the processMesssages callback

// greets from the first room in ROOMS
const sent = await driver.sendToRoom( BOTNAME + ' is listening ...',ROOMS[0]);
console.log('Greeting message sent');

}
// callback for incoming messages filter and processing
const processMessages = async(err, message, messageOptions) => {
messageUserId = message.u._id;
if (!err) {
console.log('Getting messages : '+message.u._id +' -'+ message.msg+' -'+ message.rid);
// filter our own message
if (message.u._id === myuserid) return;
// can filter further based on message.rid
const roomname = await driver.getRoomName(message.rid);
console.log('User - ' + message.u._id + ' roomname - ' + roomname);
if (message.msg.startsWith(BOTNAME)) {
//Transfer session
if(message.msg.length > 20){
const transferSession = startSessionTransfer();
return;
}
console.log('Responding to user');
endUserName =  message.u.username;
const response = message.u.username +
', how can ' + BOTNAME + ' help you with ' +
message.msg.substr(BOTNAME.length + 1);
// const sentmsg = await driver.sendToRoom(response, roomname);
const sentmsg =  driver.sendDirectToUser(response, message.u.username)
  console.log('response message sent');
}

}
}
runbot()

What happens after calling room.transfer endpoint?
Did you get any error?

I'm getting the below error while getting the X-Auth-Token
(curl" http://localhost:3000/api/v1/login -d "user=ServiceDesk&password=ServiceDesk")
Here ServiceDesk is bot. I tried with admin credentials also.. same error...
Error: socket hang up
at createHangUpError (_http_client.js:323:15)
at Socket.socketOnEnd (_http_client.js:426:23)
at Socket.emit (events.js:194:15)
at endReadableNT (_stream_readable.js:1125:12)
at process._tickCallback (internal/process/next_tick.js:63:19)
Emitted 'error' event at:
at RedirectableRequest. (D:\node_modules\node-rest-client\lib\node-rest-client.js:721:39)
at RedirectableRequest.emit (events.js:189:13)
at ClientRequest.eventHandlers.(anonymous function) (D:\BT\Rocket.Chat\RC\custombot\node_modules\follow-redirects\index.js:17:24)
at ClientRequest.emit (events.js:189:13)
at Socket.socketOnEnd (_http_client.js:426:9)
at Socket.emit (events.js:194:15)
at endReadableNT (_stream_readable.js:1125:12)
at process._tickCallback (internal/process/next_tick.js:63:19)

I'm getting the below error while getting the X-Auth-Token
(curl" http://localhost:3000/api/v1/login -d "user=ServiceDesk&password=ServiceDesk")

The error is not related to SDK stuff, right?

authors: krishnaprasadhg renatobecker


text:
Any possibility for this extension to support PHP 8?

Hey,
I came across this extension when looking for libgit2 bindings for PHP after I found that most of them are outdated and unmaintained. I would have loved to fix this extension for PHP 8 support and maybe even latest libgit2 support, but I have no idea how that works. Is there any plan to update this anytime in the future?
Thanks for your work.

It just so happens that I have recently been busy working on this extension! In fact, I just created a new maintenance release that overhauls the testing framework. (It needed a lot of work.) I still need to work on refactoring for libgit2 version 1 and implementing for PHP 8. My goal is to try and have it support libgit2 version 1 by end of year and then begin working on PHP 8 after that. Since this is a project I work on in my spare time, I cannot guarantee this timeline. I added a "Roadmap" section to the project README that indicates my plans for future work.
I started this project back in 2016 when I needed libgit2 support in PHP and there was nothing good out there. At that time, libgit2 was unstable, and so I stuck with an old version (and it has been stuck there ever since unfortunately). My top priority now is to get it working with version 1. I really would like this project to be the "go to" extension for libgit2 support in PHP.
I'm optimistic that upgrading to version 1 won't be that difficult. I will focus at first on just refactoring the existing bindings instead of implementing any new ones. I'm also optimistic that the update for PHP 8 won't be too bad, but frankly I haven't had enough time to look into PHP 8 internals yet.
If you can get by using PHP 7 and libgit2 v0.25.1 in the meantime, know that the extension is quite stable itself and covers about 85% of the bindings.

@RogerGee That is exciting to hear! I already got it working with PHP 7.4 a few days ago but that meant I had to use an old version of my backend framework (Laravel 8.x) that still supports PHP 7. So it will certainly be great to have PHP 8 support at the very least.
I will also need stubs for the PHP API, preferably ones that support PhpStorm, which I will be creating based on DOCS.txt. Will you accept a PR to include them directly in this repo?

@elidrissidev I would definitely welcome any contributions that help document the project. The DOCS.txt file was just a quick way to keep notes about what I was doing; however, it is obviously not a very suitable documentation solution.
Regarding stubs specifically, it sounds like a great idea to add to the project. I've noticed that the PHP 8 codebase now includes stubs for builtin extensions (e.g. ext/standard/basic_functions.stub.php). I'm not sure if this is the same format used by PhpStorm. I'd be fine with any number of formats as you see fit.
I think it would be best to store stubs in a subtree such as docs/stubs. Would this work?
One of the other things I would like to do with this project is create official PHP documentation that can be generated into a website like https://www.php.net/docs.php. It would go under docs/phpdoc and could be generated into a static site using the official documentation tooling. I'd probably look into doing this myself after I get the other big items complete (i.e. libgit2 v1 and PHP 8), but feel free to look into it if it interests you.

I've noticed that the PHP 8 codebase now includes stubs for builtin extensions (e.g. ext/standard/basic_functions.stub.php). I'm not sure if this is the same format used by PhpStorm. I'd be fine with any number of formats as you see fit.

They seem very basic. PhpStorm stubs make use of some custom PHP Attributes available under the JetBrains\PhpStorm namespace to enhance the autocompletion and refactoring capabilities. I will be sure to submit a PR once I have it ready.

Quick update on this: I've updated the codebase to work with libgit2 version 1. (I'm currently testing against version 1.5.0, though earlier versions should probably work too.) I've pushed my development branch in case you want to try it out: php7/develop.
The update was very easy; turns out not very much changed in terms of what I had already implemented. I have a few more things to work on before I'm happy enough to release the next version of the extension. After that I should be able to move on to looking at PHP 8 support.
The next release will be version 2.0.0 since libgit2 version 1 did make a few backward-incompatible API changes against 0.25.1.

Thanks!

I recently released a new version that targets libgit2 version 1. I've also begun work on PHP 8 support. I will update here when I have something ready. Thanks for your patience!

I've implemented initial PHP 8 support for the extension. Please see the php8/devel branch.
Support for PHP 8 is still experimental. You will notice a bunch of warnings when PHP first starts up like so:
Warning: Missing arginfo for GitRefDBBackend_Internal::compress() in Unknown on line 0

Warning: Missing arginfo for GitRefDBBackend_Internal::has_log() in Unknown on line 0

Warning: Missing arginfo for GitRefDBBackend_Internal::ensure_log() in Unknown on line 0

Warning: Missing arginfo for GitRefDBBackend_Internal::reflog_read() in Unknown on line 0

These are due to missing argument information. I will eventually have to provide argument information for each function and class method in the extension.
I will follow up in this thread when I'm closer to an official, tested PHP 8 release.

Great work! Thanks a ton!

Hi @RogerGee, thank you so much for this great work :)
I havent tested yet, but except the warning it is stable for production ?

@xKZL I can't really tell if all of the tests pass due to a few outstanding issues with getting the testbed to run. I will try to work on this some and get back to you. I haven't had a lot of time to devote to the project in recent months (and probably won't for the foreseeable future).
My guess is that it is fairly stable for production use. The update from PHP 7 to PHP 8 (and git2 0 to 1) was very minimal and shouldn't have affected the existing stability too much.
I went ahead and pushed up a few more commits that I hadn't published yet that add argument information for the classes. I still need to add stubs for the functions, which should take care of the remaining warnings.

Hi @RogerGee thanks for your quick feedback !
I have prepare a PR trying to fix some deprecations in PHP8.2. (the version I am using right now)
This is not passing tests, because there is an issue I couldn't fix all of them by myself. (There is a remaining one due to ).. but maybe this is not too much work to fix if I could get an hint
https://github.com/RogerGee/php-git2/pull/2
I might be intensively using php-git2, if I can get it work. So if there is a way I can help either in maintaining or testing some stuff, please let me know. I would be happy to contribute.
Cheers

Hi @RogerGee,
I have installed the library but I am facing some issue I cannot fix by myself. Would you have any idea how to fix that ?
Warning: Missing arginfo for git2_version() in Unknown on line 0
Warning: Missing arginfo for git_libgit2_version() in Unknown on line 0
Warning: Missing arginfo for git_libgit2_prerelease() in Unknown on line 0
Warning: Missing arginfo for git_libgit2_features() in Unknown on line 0
[...]
Warning: Missing arginfo for git_worktree_validate() in Unknown on line 0
Warning: Missing arginfo for GitWritestream::write() in Unknown on line 0
Warning: Missing arginfo for GitWritestream::close() in Unknown on line 0

@RogerGee do you have any idea about this issue I was facing? I couldn’t get it fix so far

@xKZL Those warnings are caused by missing argument information for the internal functions. It just needs to be added for the warnings to go away. PHP 8 requires that each internal function (and class method) provide argument information, whereas in previous versions of PHP it was optional.
I've added argument information for most of the class methods and am in the process of adding argument information for the functions. I will try to add placeholder arginfo soon in order to get the warnings to go away until we can actually (and laboriously) build out the stubs.

Hi, I see ! I might try ti contribute in that regards then and fix some warning if I see some. Many thanks !

Okay, so I went ahead and added placeholder argument information for all function bindings. This will avoid the annoying warning messages.
I don't know what the implications of this are. I can get most of the testbed to pass for PHP 8.0 but there may be some issues with PHP 8.1. I have not tested with PHP 8.2 yet. I anticipate most of the issues going away once the real argument information is added.
As time permits, I will add argument information for the function bindings. Afterwards, I will resolve any outstanding issues with testbed errors. At that point, we should be close to an official PHP 8 release!

I finally have an official release ready for PHP 8! (It was very tedious getting the argument information added, but I eventually got it all done for the existing bindings.) I also figured out the issues with getting the unit tests to succeed. Turns out it wasn't due to anything in PHP 8, just a bug in the my test framework code!
This release is php8/v2.0.0. I have tested with 8.0 and 8.1. I will try to test with 8.2 when I get a chance to compile it. If anyone runs into any issues, I'm happy to take a look at them here on Github.

authors: RogerGee elidrissidev xKZL


text:
added a readmefile

added a readmefile

added a readmefile


text:
[D&D 5e OGL] Roll template displays crit dmgs

Hello,
I created the following roll template (https://wiki.roll20.net/5e_OGL_Roll_Templates):
 &{template:atkdmg} {{mod=+@{spell_attack_bonus}}} {{rname=Scorching Ray}} {{charname=Ray 1 | Ray 2}}  {{r1=[[1d20cs>20 + @{wisdom_mod}[WIS] + @{pb}[PROF]]]}} {{always=1}} {{attack=1}} {{damage=1}} {{dmg1flag=1}} {{dmg1=[[2d6]]}} {{dmg1type=Fire}} {{crit1=[[2d6]]}} {{r2=[[1d20cs>20 + @{wisdom_mod}[WIS] + @{pb}[PROF]]]}} {{dmg2flag=1}} {{dmg2=[[2d6]]}} {{dmg2type=Fire}} {{crit2=[[2d6]]}}
The issue presents when either r1 or r2 is a critical roll, because when that happens the roll template will display critical damage rolls for both dmg1 and dmg2, even if the other roll is not a critical one.
I hope I didn't made any mistake with the code or miss something else that would prevent this problem.
Thanks in advance.

This is a unique situation that I don't believe was the intended use for the roll template. It is assumed that one roll template is use for one attack, not the two that your template is using. In normal use, {{always=1}} denotes that you will always display r1 and r2. If either of these rolls are a crit, it is assumed that the attack is a crit (i.e. roll all dice twice).
For scorching ray, I would recommend using a separate roll template for each attack, this is also true for eldritch blast.

Thank you for your reply. Now I see why the template is behaving in that way.
I was mistaken because I thought that the mechanic of rolling 2 dice and use the lower or higher is already covered by {{advantage=1}} and {{disadvantage=1}} tags, so I believed that the purpose of the {{always=1}} tag was to make two separate attack rolls (and I was thankful for it, because I don't like to clog up the chat log).
So may I ask what is the use case for the {{always=1}} tag?

It is for when you just want to handle advantage/disadvantage/normal by site. It acts as the default roll type for this reason. Rather than having the advantage/disadvantage roll in a different color and the un-used roll grayed out, you would simply pick the roll that you need.

Closing this as it pertains to a sheet no longer on this repo, and seems to be a non-issue. If you think that there is something further here, please feel free to create a new issue.

authors: dani-arde nmbradley oukag


text:
[Shadowrun5] Sub tabs aren't clickeable anymore

It is impossible to click on most of the sub tabs. (arms => melee weapon, knowledge, language, magic => rituals, etc)
The issue exist on chrome and edge at least.

@clevett this have also been reported on the forums: https://app.roll20.net/forum/post/9064207/shadowrun-5th-edition-macro-character-sheet-bug

authors: Anduh Warien


text:
Forbidden Lands - upload background image to repo

uploaded the parchment background image to the image sub-folder and updated the url in the css

Submission Checklist
Required

[ ] The pull request title clearly contains the name of the sheet I am editing.
[ ] The pull request title clearly states the type of change I am submitting (New Sheet/New Feature/Bugfix/etc.).
[ ] The pull request makes changes to files in only one sub-folder.
[ ] The pull request does not contain changes to any json files in the translations folder (translation.json is permitted)

New Sheet Details

The name of this game is: <   >  (i.e. Dungeons & Dragons 5th Edition, The Dresden Files RPG)

The publisher of this game is: <   > (i.e. Wizards of the Coast, Evil Hat)

The name of this game system/family is: <   > (i.e. Dungeons & Dragons, FATE)

[ ] I have followed the Character Sheets Standards when building this sheet.

[ ] This sheet has been made on behalf of, or by, the game's publisher.
[ ] This game is not a traditionally published game, but a copy of the game rules can be purchased/downloaded/found at: <   >
[ ] This sheet is for an unofficial fan game, modification to an existing game, or a homebrew system.

Changes / Description

Character Sheet Info Roll20 Internal Use only.


text:
Blades in the Dark v1.12

Can you regenerate all the translations? I've noticed that changed (as opposed to added or deleted) translation strings are not reflected in the individual translation files. There aren't actually any translations yet, so it's safe to just scrap them all.

Translations are replaced with a new file every time we update. If you could give me a specific example of what you're talking about, I can look into it.

If you look at my translation.json, I changed "light": "light" to "light": "Light", but that's not actually changed in any of the files in the translations folder. There's some more cases like that.

authors: joesinghaus wing-it


text:
Open Legend.html Open Legend.css & New Image uploads

Changes / Comments
Open Legend located in Open Legend Basic by Great Moustache
1.9.8b on 2019 April 6th

Image Updates

Updated all link references to now be Roll20 Github (Open Legend.html & Open Legend.css)
Uploaded Open Legend Logo and background images for v2 of the sheet

Request
I have been wanting to change the name of the folder from "Open Legend Basic by Great Moustache" to just be "Open Legend", but I'm not sure if I should do that via uploading after changing it in my repository and doing a pull request, or if that would mess things up.

Greetings @BuildAndDie
We can rename the folder. I'll need to change the approve.yaml and you'll want to update all the image links to use the new name. Let's plan on that for next week's pull request.
Thanks,
Cassie

authors: BuildAndDie clevett


text:
DC_Heroes_MEGS minor fixes

Changes / Comments
This request contains minor changes to the DC_Heroes_MEGS sheet
I'm sorry if this is a messy pull request. It's my first attempt and a few years back I started a Traveller: The New Era sheet which I've tried to delete and any commits to any other file than DC_Heroes_MEGS.html should be disregarded
This pull request fixes a bug where data entered in the "journal" tab was not saved, and adds an initiative roll button.
Roll20 Requests
Comments are very helpful for reviewing the code changes. Please answer the relevant questions below in your comment.

[ x] Does the pull request title have the sheet name(s)? Include each sheet name.
[ x] Is this a bug fix?
[ x] Does this add functional enhancements (new features or extending existing features) ?
[ ] Does this add or change functional aesthetics (such as layout or color scheme) ?
[ ] If changing or removing attributes, what steps have you taken, if any, to preserve player data ?
[ ] If this is a new sheet, did you follow Building Character Sheets standards ?

If you do not know English. Please leave a comment in your native language.

Hello there @mariusbax, I cant merge you pull request because it  contains modifications to more than one sheet, as you mentioned it yourself. Unfortunately, I can't do a partial merge of it.  If you want to move forward with it, I advise you to create a new branch from master, and copy the modifications you made to the DC sheet of top of it.

Hello there @mariusbax, I cant merge you pull request because it  contains modifications to more than one sheet, as you mentioned it yourself. Unfortunately, I can't do a partial merge of it.  If you want to move forward with it, I advise you to create a new branch from master, and copy the modifications you made to the DC sheet of top of it.

authors: mariusbax mperes


text:
[Splittermond] Adding christmas logo for Splittermond

Changes / Comments

I added a christmas theme logo for the character sheet

Roll20 Requests
Comments are very helpful for reviewing the code changes. Please answer the relevant questions below in your comment.

[X] Does the pull request title have the sheet name(s)? Include each sheet name.
[ ] Is this a bug fix?
[] Does this add functional enhancements (new features or extending existing features) ?
[X] Does this add or change functional aesthetics (such as layout or color scheme) ?
[ ] If changing or removing attributes, what steps have you taken, if any, to preserve player data ?
[ ] If this is a new sheet, did you follow Building Character Sheets standards ?

If you do not know English. Please leave a comment in your native language.

Character Sheet Info Roll20 Internal Use only.


text:
Display values as a duration using different Formats

Checklist

[X] I am running the latest version of the card
[X] I checked if there isn't another feature request opened with the same request
[X] I checked that the feature is not already available in the dev branch

Describe the solution you'd like
Be able to change the format of the duration displayed when using "as a duration".

Currently displayed as HH:mm:ss and could be defined in card configuration to be as an example just HH:mm.

Am I the only want that wanted this? ;(

Don't close 😊

repo: RomRider/apexcharts-card


text:
"color_threshold" + "type: line" broken in v1.7.0?

Checklist

[X] I updated the card to the latest version available
[X] I cleared the cache of my browser
[X] I verified that I'm really running the lastest version in my browser console
[X] I checked if there is another issue opened with the same problem

Describe the bug
(Thank you very much for this very useful card!) The problem:

"color_threshold" and "type: line" draws nothing in version 1.7.0. It worked before I updated to 1.7.0.
"color_threshold" and "type: column" draws as expected in version 1.7.0

Version of the card
Version: 1.7.0
To Reproduce
These are the two configuration I used, fetched from the documentation example:
Broken:
type: 'custom:apexcharts-card'
experimental:
  color_threshold: true
series:
  - entity: sensor.fake_temperature
    type: line
    color_threshold:
      - value: -10
        color: blue
        opacity: 1
      - value: 0
        color: cyan
      - value: 15
        color: green
      - value: 25
        color: orange

Works:
type: 'custom:apexcharts-card'
experimental:
  color_threshold: true
series:
  - entity: sensor.fake_temperature
    type: column
    color_threshold:
      - value: -10
        color: blue
        opacity: 1
      - value: 0
        color: cyan
      - value: 15
        color: green
      - value: 25
        color: orange

Screenshot: Works:

Screenshot: Broken:

Expected behavior
The documentation used the above yaml to describe an example on how to use color_threshold (I only changed the entity). It worked on the previous version (1.6.x?).
Desktop (please complete the following information):

Vivaldi 3.6.2165.36 (Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.151 Safari/537.36)
Firefox 85.0.2 (Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:85.0) Gecko/20100101 Firefox/85.0)

Smartphone (please complete the following information):
N/A
Additional context
Add any other context about the problem here.

+1 on the "line", it's broken for me as well.

Interesting, works well for me and I didn't update that part of the code. Let me check!

Either I have to remove color_threshold: true from experimental, or from the series, then it's ok (except no color threshold of course).

Any javascript console errors showing up?

Now, that you mention this, yes:
ncaught (in promise) TypeError: Cannot read property 'length' of null
at Function.value (apexcharts-card.js:1)
at t.value (apexcharts-card.js:1)
at t.value (apexcharts-card.js:1)
at t.value (apexcharts-card.js:1)
at t.value (apexcharts-card.js:1)
at t.value (apexcharts-card.js:1)
at t.value (apexcharts-card.js:1)
at t.value (apexcharts-card.js:1)
at t.create (apexcharts-card.js:1)
at apexcharts-card.js:1

Hi, with this code every browser goes out of memory or it's impossible to load apex graph page
- type: custom:apexcharts-card
experimental:
color_threshold: true
graph_span: 72h
header:
title: Valori esterni
show: true
show_states: true
colorize_states: true
all_series_config:
stroke_width: 2
opacity: 0.3
type: area
series:
- entity: sensor.temperature
invert: false
#   color: blue
color_threshold:
- value: -10
# color can be a color name, rgb(r, g, b), '#0000ff' or var(--color-variable)
# default is: the default color of the serie
color: blue
# optional opacity, value from 0 to 1.
# only for line and area
# Default is 1 for 'type: line' and 0.7 for type: area
opacity: 1
- value: 0
color: cyan
- value: 15
color: green
- value: 20
color: orange
any idea to solve?
thanx

@LouiS22, I've just released a new beta version which is an attempt to fix the issue, mind trying it please?

@LouiS22, I've just released a new beta version which is an attempt to fix the issue, mind trying it please?

Hello, unfortunately it's the same, and the above error message is still present in the javascript console.

@LouiS22, can you please share your config? The min and the max value of the sensor your are charting?
I can't reproduce.
@mabahj, I can't reproduce either with the latest beta (nor with 1.7.0).
In an attempt to do the same graph as you, this is what I've used to generate the data.
          - type: custom:apexcharts-card
            experimental:
              color_threshold: true
            series:
              - entity: sensor.temperature
                type: line
                color_threshold:
                  - value: -10
                    color: blue
                    opacity: 1
                  - value: 0
                    color: cyan
                  - value: 15
                    color: green
                  - value: 25
                    color: orange
                data_generator: |
                  let res = [];
                  let i = -6;
                  start = new Date(start.getTime() - 4 * 1000 * 60 * 60);
                  Array.from(Array(28).keys()).forEach((entry, index) => {
                    res.push([new Date(start.getTime() + index * 1000 * 60 * 60).getTime(), i]);
                    i += 2;
                    if (i >= 28) i = -15;
                  });
                  return res;

Sure, there you go:
type: 'custom:apexcharts-card'
experimental:
color_threshold: true
graph_span: 12h
header:
show: true
show_states: true
colorize_states: true
series:

entity: sensor.netatmo_netatmo_co2
show:
header_color_threshold: true
curve: smooth
color_threshold:

value: 300
color: green
value: 700
color: '#82ed82'
value: 1100
color: '#e8e041'
value: 1600
color: '#e88941'
value: 2100
color: '#e84141'
now:
show: true
label: now
apex_config:
chart:
height: 250px

Also min and max which are supposed to be displayed currently in the chart (you can disable thresholds to be able to see them)

Also min and max which are supposed to be displayed currently in the chart (you can disable thresholds to be able to see them)

400-1400.

@LouiS22, does that work for you:
          - type: 'custom:apexcharts-card'
            experimental:
              color_threshold: true
            graph_span: 12h
            header:
              show: true
              show_states: true
              colorize_states: true
            series:
              - entity: sensor.netatmo_netatmo_co2
                show:
                  header_color_threshold: true
                curve: smooth
                color_threshold:
                  - value: 300
                    color: green
                  - value: 700
                    color: '#82ed82'
                  - value: 1100
                    color: '#e8e041'
                  - value: 1600
                    color: '#e88941'
                  - value: 2100
                    color: '#e84141'
                data_generator: |
                  let res = [];
                  let i = 400;
                  start = new Date(start.getTime() - 4 * 1000 * 60 * 60);
                  Array.from(Array(28).keys()).forEach((entry, index) => {
                    res.push([new Date(start.getTime() + index * 1000 * 60 * 60).getTime(), i]);
                    i += 200;
                    if (i >= 1401) i = 400;
                  });
                  return res;
            now:
              show: true
              label: now
            apex_config:
              chart:
                height: 250px

@LouiS22, does that work for you (also make sure you are running the latest version really and not a cached one, you can see the actual version in the console):
          - type: 'custom:apexcharts-card'
            experimental:
              color_threshold: true
            graph_span: 12h
            header:
              show: true
              show_states: true
              colorize_states: true
            series:
              - entity: sensor.netatmo_netatmo_co2
                show:
                  header_color_threshold: true
                curve: smooth
                color_threshold:
                  - value: 300
                    color: green
                  - value: 700
                    color: '#82ed82'
                  - value: 1100
                    color: '#e8e041'
                  - value: 1600
                    color: '#e88941'
                  - value: 2100
                    color: '#e84141'
                data_generator: |
                  let res = [];
                  let i = 400;
                  start = new Date(start.getTime() - 4 * 1000 * 60 * 60);
                  Array.from(Array(28).keys()).forEach((entry, index) => {
                    res.push([new Date(start.getTime() + index * 1000 * 60 * 60).getTime(), i]);
                    i += 200;
                    if (i >= 1401) i = 400;
                  });
                  return res;
            now:
              show: true
              label: now
            apex_config:
              chart:
                height: 250px

No, just endless circle :(
FYI: I'm using Chrome (not that it matters, but it's strange you can generate data).

I'm also using chrome. It's hard for me to fix it since I can't reproduce those errors :(

So @LouiS22, for your error, I think I found the issue, but it seems unrelated to color_threshold which is surprising 🤷♂ I'll a fix soon.

So @LouiS22, for your error, I think I found the issue, but it seems unrelated to color_threshold which is surprising 🤷♂ I'll a fix soon.

Many thanks for your effort! Let me know if you need anything else!

So @LouiS22, for your error, I think I found the issue, but it seems unrelated to color_threshold which is surprising 🤷♂ I'll a fix soon.

Wow! Things move fast here! Is that an upcoming fix for the problem I am seeing as well, the original bug report? Or would you still need some more info from me? (I downgraded to 1.6, but I can upgrade again if you want.)

@mabahj, I'd be interested in 2 things:

If you could test the latest beta where I attempted to fix one of the issue
If you could provide the javascript console error log (if any) when the chart doesn't display (also on the latest beta)

So I think I've figured out why it was breaking. If you both could give me feedback using the latest dev version that would help :) (make sure you are really running it by checking the JS console of your browser and not a cached version)

So I think I've figured out why it was breaking. If you both could give me feedback using the latest dev version that would help :) (make sure you are really running it by checking the JS console of your browser and not a cached version)

Hello! After upgrading it wasn't ok, but after a full browser cache delete helped me solve it, so now it seems ok!

I updated to v1.7.1-dev.2 and it works here as well! Thank you very much!
I do, however, see a lot of errors in the console. I have no idea if they are related and a concern. Or, most probably, because I have a wrong configuration somewhere. The visuals works great, so I'm happy as it is!
I'll attach them here is they are related and/or have value:

Don't worry about those. There's an issue for that but it's not a problem, see #17
Happy that it works again for you also!

authors: LouiS22 RomRider mabahj sajikur


text:
feat(mvc): Add Multi route support on an Endpoint

Now, the decorators @Get, @Post, Put, Delete, @Head can be used several times
on the same class method.
@Controller("/")
export MyCtrl {

  @Get("/route1")
  @Get("/route2")
  async myMethod() {
     return {};
  }
}

It useful when you need to create alias route on the same method.

Add ExpressRouter decorator (inject Express.Router instance on a controller).
Deprecate RouterController (use ExpressRouter instead of).
Deprecate EndpointMetadata.httpMethod, EndpointMetadata.hasHttpMethod and EndpointMetadata.path.
Fix Regex support on route.

Closes: #255

Coverage remained the same at 100.0% when pulling bf2ee9166ae0b3d764b58ab6dca95fa5b3e8cd91 on feat_multiple_routes_endpoint into 54142c6ae77cbbb7907273244e32e9b2029c3d18 on master.

Coverage remained the same at 100.0% when pulling bf2ee9166ae0b3d764b58ab6dca95fa5b3e8cd91 on feat_multiple_routes_endpoint into 54142c6ae77cbbb7907273244e32e9b2029c3d18 on master.

:tada: This PR is included in version 5.1.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

authors: Romakita coveralls

repo: Romakita/ts-express-decorators


text:
Proposal on taking over PHPManager as an organization

I wrote a proposal at https://github.com/phpmanager/phpmanager/issues/1
If you like to join, let me know.

I am happy to support this initiative, I would love to get some proper programmers on this as all I have done is from google searches

@RonaldCarter I have sent you an invitation to join the Maintainers team. We might discuss later on what exactly can go to the 2.0 release, and then work on the remaining items.

@RonaldCarter now that @lextm has made the v2.0 release, I wonder whether this github repo should be archived or at least mention in the README.md that the successor can be found at https://github.com/phpmanager/phpmanager to avoid confusion by users finding the github repo looking for phpmanager.

@mbiebl There are differences in the two forks (this one and mine), so right now it is hard to say terms like "successor". For instance, this fork tends to use .NET 4.x and mainly focuses on IIS 10, and the way it handles PHP obsolete features is different from my fork. People have their choices, and that's not a bad thing.

Apologies, this was a misunderstanding on my part. I thought that the phpmanager/phpmanager project would try to consolidate the efforts and there would only be one "version" of phpmanager going forward.

authors: RonaldCarter lextm mbiebl

repo: RonaldCarter/PHPManager


text:
feat: k8s event listener

Signed-off-by: Adi Ludmer Adi.Ludmer@qedma.com
Pull Request
Description
Please provide a brief description of the changes made in this pull request.
Related Issue(s)
If this pull request addresses or relates to any open issues, please mention them here using the syntax Fixes #<issue_number> or Resolves #<issue_number>.
Checklist
Before submitting this pull request, please ensure that you have completed the following tasks:

[ ] Reviewed the Contributing Guidelines for the Piper project.
[ ] Ensured that your changes follow the coding guidelines and style of the project.
[ ] Run the tests locally and made sure they pass.
[ ] Updated the relevant documentation, if applicable.

Testing Instructions
Please provide clear instructions on how to test and verify the changes made in this pull request.
Additional Information
Add any additional information or context that would be helpful in understanding and reviewing this pull request.

/jira open task

authors: gosharo qadiludmer

repo: Rookout/piper


text:
Warmup balance with rewards

Summary
Basically took the gons from the warmup info and went to the sRug contract to get the balance with rewards. Displays on the frontend given that balanceWithRewards > warmupBalance.
Screenshot

@GhostWalker562 Could we adjust the label to say something like this?
I feel the way it is, it's not clear enough for some of the user

s.

Done

repo: RuGenerous/rugenerous-frontend


text:
Fix readme doc links to those with CSS styling

Hi, simply updated three URLs from the README.md as I noticed the current links (those with /en/latest in the URL) were readable, but had no styling whatsoever (the CSS 404'd). I updated the links based on what I saw on https://docs.rubixml.com/ directly, and they had all the proper styling.
It looks like github doesn't show the inline diff on the first change (the badge icon) but all I changed there was the /en/latest as well.
Testing
Simply click the links in question and confirm it goes to a page with CSS styling applied and the left sidebar is shown, etc.

Nice catch @michaelbutler and thanks for the fix!
Drop in on our Telegram channel if you'd like https://t.me/RubixML

authors: andrewdalpino michaelbutler

repo: RubixML/RubixML


text:
error for tensorbayes

Traceback (most recent call last):
File "/home/wac/PycharmProjects/vae-clustering/gmvae.py", line 3, in
from tensorbayes.layers import Constant, Placeholder, Dense, GaussianSample
ImportError: cannot import name Constant
tensorbayes == 0.4.0
tensorflow == 1.7.0
how to fix it？

tensorbayes 0.4.0 isn't backwards compatible with this repo.
Try https://github.com/RuiShu/tensorbayes/releases/tag/0.1.1
I think that version is compatible.

and i get another error：
tensorflow == 1.7.0
tensorflow == 1.1.0
same error
Traceback (most recent call last):
File "gmvae_k.py", line 34, in
x = Placeholder((None, 784), 'x')
File "/usr/local/lib/python2.7/dist-packages/tensorbayes/layers/simple.py", line 11, in placeholder
return tf.placeholder(dtype, shape, name=name)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/array_ops.py", line 1507, in placeholder
name=name)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/gen_array_ops.py", line 1997, in _placeholder
name=name)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/op_def_library.py", line 701, in apply_op
attr_value.type = _MakeType(value, attr_def)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/op_def_library.py", line 178, in _MakeType
(attr_def.name, repr(v)))
TypeError: Expected DataType for argument 'dtype' not 'x'.

I have the same issue, unfortunately tensorbayes is not compatible with python 3.6

I think you should use the following line
x = Placeholder((None, 784), dtype= 'float32', name = 'x')  to replace the line
x = Placeholder((None, 784), 'x').
It will be OK.

authors: DanielTea RuiShu rxlgq wac81

repo: RuiShu/vae-clustering


text:
plan for releasing your amazing work with code

Hello~ your recent work seems very impressive. I'd like to try several experiments with your work.
Can you please release the code as soon as possible? I'm really looking forward to it!

Code is released.
Sorry for the delay. My right hand finger was injured which made me hard to work.

repo: RunpeiDong/PointDistiller


text:
Error：thread 'main' panicked at 'initializiation failed

System: Windows11 Preview(but i think there's no difference between 11 and 10)
here's the problem when i clone the code from github and build it
PS C:\Users\22235\Desktop\RustPython-master> cargo run --release demo.py
warning: unused imports: handleapi, winbase
--> vm\src\stdlib\os.rs:3276:26
|
3276 |         use winapi::um::{handleapi, winbase};
|                          ^^^^^^^^^  ^^^^^^^
|
= note: #[warn(unused_imports)] on by default
warning: 1 warning emitted
Finished release [optimized] target(s) in 0.93s
 Running `target\release\rustpython.exe demo.py`

thread 'main' panicked at 'initializiation failed; run with RUST_BACKTRACE=1 to see Python backtrace', vm\src\vm.rs:800:13
note: run with RUST_BACKTRACE=1 environment variable to display a backtrace
error: process didn't exit successfully: target\release\rustpython.exe demo.py (exit code: 101)
i have already found it's similar  to the issue #1829 #1969
but when i try the solution, it didn't work.
Here's my attempt:
First, i follow the README's Guide,it didn't work:
`$ git clone https://github.com/RustPython/RustPython
$ cd RustPython
--release is needed (at least on windows) to prevent stack overflow
$ cargo run --release demo.py
Hello, RustPython! $ cargo install --git https://github.com/RustPython/RustPython
$ rustpython
Welcome to the magnificent Rust Python interpreter

and i try the solution in other issues: cargo install --force --git https://github.com/RustPython/RustPython rustpython --locked`
it didn't work
i try to add environment Variables,too
it didn't work
i am confused, what can i do now?

It's my first issue, so i didn't compose well, Thank's for your read

Hey, everyone: I'am very surprise to see it works well when i reboot my laptop,so if you have tried all solutions but it didn't work, try   to reboot your computer.

repo: RustPython/RustPython


text:
Feat/admin

Huge PR related to the admin portal

Full send


text:
Python Gateway always crashes after short period of time

Hi,
I have installed and set up the python gateway 0.3.0 for the SAIC API but it keeps crashing / stopping. When I restart the addon or home assistant, it seems to work for a short amount of time (MG logo is red, it shows CPU and memory usage), but eventually stops (MG logo turns black, no CPU and memory usage anymore, and addon overview shows "Starten (start)". It also does not provide any value(s) to the sensors. Attached is the log:
2023-08-09 14:41:19,165 Connected to MQTT broker Traceback (most recent call last):   File "/usr/src/app/./mqtt_gateway.py", line 589, in <module>     mqtt_gateway.run()   File "/usr/src/app/./mqtt_gateway.py", line 269, in run     login_response_message = self.saic_api.login()   File "/usr/local/lib/python3.10/site-packages/saic_ismart_client/saic_api.py", line 120, in login     self.message_v1_1_coder.decode_response(login_response_hex, login_response_message)   File "/usr/local/lib/python3.10/site-packages/saic_ismart_client/ota_v1_1/Message.py", line 13, in decode_response     super().decode_response(message, decoded_message)   File "/usr/local/lib/python3.10/site-packages/saic_ismart_client/common_model.py", line 400, in decode_response     message_body_dict = self.asn1_tool_uper.decode(message_body.asn_type, dispatcher_message_bytes)   File "/usr/local/lib/python3.10/site-packages/asn1tools/compiler.py", line 167, in decode     decoded = type_.decode(data)   File "/usr/local/lib/python3.10/site-packages/asn1tools/codecs/uper.py", line 500, in decode     raise e   File "/usr/local/lib/python3.10/site-packages/asn1tools/codecs/uper.py", line 496, in decode     return self._type.decode(decoder)   File "/usr/local/lib/python3.10/site-packages/asn1tools/codecs/per.py", line 830, in decode     decoded = self.decode_root(decoder)   File "/usr/local/lib/python3.10/site-packages/asn1tools/codecs/per.py", line 848, in decode_root     raise e   File "/usr/local/lib/python3.10/site-packages/asn1tools/codecs/per.py", line 844, in decode_root     value = member.decode(decoder)   File "/usr/local/lib/python3.10/site-packages/asn1tools/codecs/uper.py", line 107, in decode     value = decoder.read_non_negative_binary_integer(self.bits_per_character)   File "/usr/local/lib/python3.10/site-packages/asn1tools/codecs/per.py", line 449, in read_non_negative_binary_integer     raise OutOfDataError(self.number_of_read_bits()) asn1tools.codecs.OutOfDataError: MPDispatcherBody.uid: out of data (At bit offset: 58)
Any idea whats causing this? I have already tried anything that has been suggested here in other issues, like disabling auto discovery etc, but it does not solve the problem. I have a red 2022 MG 5 long range luxury.

After having done some more analysis (with the help of the mqtt explorer), I could elaborate that the SAIC api denied my password. This is interesting because the exact same password worked for the mobile app. I have set a new password with all chars being lower case and no special characters in it, and that worked for the gateway.
So conclusion is 3 things:

it wasn't the gateways / addons fault
Either upper case or special characters (or the combination of both) resulted in "Wrong password" response from SAIC api
But the above works in the mobile app

I might investigate further to see what exactly caused the "wrong passwd" problem. For now I am closing this, as the gateway is working as expected and does not crash any longer.


text:
Project Feedback!

java.lang.IllegalStateException: Room cannot verify the data integrity. Looks like you've changed schema but forgot to update the version number. You can simply fix this by increasing the version number.
your app crashed with this error

It's done now, and, it works properly on my devices, running API 24, API 27, API 29, and API 30. You can try again!


text:
CF create-service xsuaa not able to read xs-security.json file

Hello,
I am getting below error while creating XSUAA service instance using xs-security.json file.

Without using -c xs-security.json file , service instance is getting created.

using -c .\xs-security.json file is also not working.

Regards,
Romil A.

Are you in a folder that has a file named xs-security.json?  And do you have correct JSON in this file. The command output is saying it doesn't like the file (my first thought was the path to it), but it could also be indicating a missing file or one with bad JSON in it as well.

Yes, my folder contains xs-security.json file in the same path.

Yes, my folder contains xs-security.json file in the same path.

"xsappname": "myhanaapp2",
    "tenant-mode": "dedicated",
    "description": "Security profile of called application",

Thank you, Thomas for your valuable reply.
Probably something was wrong with the content of my previous file, but not sure what.
I just deleted the xs-security.json file and recreated using the command and it worked fine.
Regards,
Romil A.

repo: SAP-samples/cap-hana-exercises-codejam


text:
Change getOrdersLoaded selector

There's an inconsistency in getOrdersLoaded selector:
export const getOrdersLoaded: MemoizedSelector<
  StateWithUser,
  boolean
> = createSelector(
  getOrdersState,
  (state: LoaderState<OrderHistoryList>) => loaderLoadingSelector(state)
);

Its name is suggesting usage of loaded or success flags, but we are returning loading flag.
In the html (projects/storefrontlib/src/lib/my-account/order/order-history/order-history.component.html) template, this is used for displaying "We have no order records for this account" message.
We should use success flag and rename methods/selectors/properties to have consistent names.

In this ticket, I QA the ticket #1137 first. It works fine.

The steps to QA this ticket:

register a new user
go to my-account/order history page, you should be able to see "We have no order records for this account."

PR is here: https://github.com/SAP/cloud-commerce-spartacus-storefront/pull/1271

authors: WeizhengSap znikola

repo: SAP/cloud-commerce-spartacus-storefront


text:
VizFrame.vizSelection Parameters not optional in TS-Typing

OpenUI5 version:
1.112.3(using SAPUI5 not OpenUI5)
Browser/version (+device/version):
Version 112.0.5615.138 Chrome
Any other tested browsers/devices(OK/FAIL):
Version 110.0.1587.50 Edge
Steps to reproduce the problem:

Create TS-App via yoeman TS-App Generator
Insert VizFrame pie chart with selectData="functionName" in Main.view.xml
Insert in Main.controller.ts:
const aSelectedItems = (oEvent.getSource() as VizFrame).vizSelection()

What is the expected result?
Not beeing forced to input parameters like shown in example
https://sapui5.hana.ondemand.com/#/api/sap.viz.ui5.controls.VizFrame%23methods/vizSelection

What happens instead?
TS tells you, parameters are requiered:

Unfortunately, sap.viz.* modules are not part of this OpenUI5 repo. If you're a paying SAP customer, you might want to create a customer incident instead.

authors: boghyon erchie


text:
feature/1022

Added the Modal component page and added the link to the sidebar.

 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.

modal header styles don't match the component design.

authors: CLAassistant mikelMHybris saadmhybris

repo: SAP/techne


text:
SAP HANA, express edition (Database services) - Getting started with the Marketplace on Microsoft Azure

Hi,
can i migrate my existing HXE VM to Azure?

Hi,
This type of question belongs in answers.sap.com. Please include details of the type of VM you currently have and what you need to migrate so people can help you better.
Best,
Lucia.

authors: Lsubatin amysy

repo: SAPDocuments/Tutorials


text:
Navigate to Blockchain Services on SAP Cloud Platform

Tutorial URL: https://developers.sap.com/tutorials/blockchain-navigate-cloudplatform.html
Please specify the step you are referring to: Step 6
The step contains this statement: "integration with HANA database."
My question: Which blockchain service provides this integration?
Thx, greg

Hi Greg - the HANA integration is blockchain technology agnostic, meaning that you can choose from Hyperledger Fabric, MultiChain, or Quorum here. Many of our users are running with MultiChain for now, if that helps.
The blockchain adapter information can be found here: https://help.sap.com/viewer/c5bee9180afc4a4e93a0742bb352db11/1.0/en-US
And then the wider integration documentation can be found here:
https://help.sap.com/viewer/7a74204803ef48dc85332199dc251e8a/BLOCKCHAIN/en-US
I hope that helps.
Tom

Hi Tom, have tried MultiChain multiple times but got stuck with peers not running. Let me close this issue, so it doesn't clutter the repository.
Thx, greg


text:
Connect to HubSpot

Tutorial URL - https://developers.sap.com/tutorials/cp-apim-openconnectors-connect-hubspot.html
Issue in step 2 - Not able to subscribe open connectors.

Regards,
Nikhil Save

Dear Colleague,
Kindly delete your instance and create it again once. If it still does not work kindly open a BCP ticket for this.
Regards
Shilpa

Thank you for your feedback. The issue seems to be resolved, so I am closing the issue.
If you still have questions, feel free to reopen the issue.

Hi Shilpa,
I am not able to find any instance for open connectors in my trial account. Would you be able to guide me regarding deleting instance in my trial account.
Regards,
Nikhil Save

authors: MichaelCzcz NikhilSave14 shilpavij


text:
在 M1 电脑上 "aom/aom_integer.h" 找不到

  pod 'SDWebImage'

  pod 'SDWebImageHEIFCoder'
  pod 'SDWebImageHEIFCoder/libx265'
#  pod 'SDWebImageHEIFCoder/libde265'
  pod 'SDWebImageWebPCoder'
  pod 'SDWebImageAVIFCoder'

...Well, recently I got my M1 MBP, maybe this is something because of the #if __arm64__ like macro or conditional import

Build without any issue.

Podfile:
# Uncomment the next line to define a global platform for your project
platform :ios, '11.0'

inhibit_all_warnings!
install! 'cocoapods', :generate_multiple_pod_projects => true

target 'ModernImageFormatBenchmark' do
      pod 'SDWebImage'

      pod 'SDWebImageHEIFCoder'
      pod 'SDWebImageHEIFCoder/libx265'
    #  pod 'SDWebImageHEIFCoder/libde265'
      pod 'SDWebImageWebPCoder'
      pod 'SDWebImageAVIFCoder'
    # pod 'SDWebImage'
    # pod 'SDWebImageWebPCoder'
    # pod 'SDWebImageHEIFCoder', :subspecs => ['libde265', 'libx265']
    # pod 'SDWebImageBPGCoder', :subspecs => ['libbpg', 'bpgenc']
    # pod 'SDWebImageFLIFCoder'
    # pod 'SDWebImageAVIFCoder'
    # # pod 'SDWebImageAVIFCoder', :path => '/Users/lizhuoli/Documents/GitHub/SDWebImageAVIFCoder'
    # pod 'libx265', '3.0'
    # pod 'librav1e', '0.3.4'
    # pod 'libavif', :subspecs => ['libdav1d', 'librav1e']
    # # pod 'libheif', :subspecs => ['libheif', 'libdav1d', 'librav1e'], :podspec => '/Users/lizhuoli/Documents/GitHub/libheif-Xcode/libheif/libheif.podspec'
    # pod 'libvmaf', '2.2.0'
end

I guess maybe you use generate_multiple_pod_projects false, which may be not supported, because that aom && heif use the non-modular header import, and I don't want to modify their code.

authors: Changzw dreampiggy

repo: SDWebImage/SDWebImageHEIFCoder


text:
Finish Coding Style Guide

Is your feature request related to a problem? Please describe.
We don't have an explicit coding style guide.
Describe the solution you'd like
The stub style section at the bottom of CONTRIBUTING.md should be expanded, and possibly put into its own document.
Describe alternatives you've considered
N/A
Additional context
Partially blocked by #12 as linter and formatter rules need to be finalised.

Didn't we decide on following the Airbnb styling guide?

Didn't we decide on following the Airbnb styling guide?

Yes, but we should at the very least have a link to that style guide in the relevant section, and possibly have a brief explainer


text:
Check if a studentOnTour can't be patched if started/completed

When a student is doing a tour (started/completed is not null), make sure a patch of this StudentOnTour-object is not allowed.

This issue was solved in #507

authors: jonathancasters simvadnbu


text:
cspyce.dskd02 is missing 'room' parameter

In CSPICE, dskd02_c returns information from a type 2 DSK segment. The parameters include:
handle: DSK file handle
dladsc: DLA descriptor
item: Keyword identifying item to fetch
start: Start index
room: Amount of room in output array
The room parameter determines the final shape of the array. However, cspyce does not have a room parameter. This is likely contributing to how the expected output does not match the actual output. The current output is an array of 100 values, and none of them match the expected values at all. Even if spicepypy.dskd02's room parameter is set to 100, the values are still different than the cspyce result.
Here is a unit test for cspyce.dskd02:
import cspyce
import numpy.testing as npt
from gettestkernels import ExtraKernels

handle = cs.dasopr(ExtraKernels.phobosDsk)
dladsc = cs.dlabfs(handle)
values = cs.dskd02(handle, dladsc, 19, 0, 3)
assert len(values) > 0
npt.assert_almost_equal(
    values,
    [
        5.12656957900699912362e-16,
        -0.00000000000000000000e00,
        -8.37260000000000026432e00,
    ],
)
cs.dascls(handle)

If you don't want to use the kernel context manager, the kernel to use and furnsh is phobos_lores.bds. It is downloadable at https://raw.githubusercontent.com/AndrewAnnex/SpiceyPyTestKernels/main/phobos_lores.bds

What is ExtraKernels?
On Fri, May 19, 2023 at 1:48 PM esimpsons3ti @.***>
wrote:

Assigned #54 https://github.com/SETI/pds-cspyce/issues/54 to @fyellin
https://github.com/fyellin.
—
Reply to this email directly, view it on GitHub
https://github.com/SETI/pds-cspyce/issues/54#event-9292665891, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ABC2LIKK6SS5GYAGCLMCLULXG7MBHANCNFSM6AAAAAAYIHGM7Q
.
You are receiving this because you were assigned.Message ID:
@.***>

Just put this test in the unittests directory. Everything is there.

This may not be a bug.  It looks like dskd02 automatically uses room=256.
It should just return an array.
On Fri, May 19, 2023 at 4:12 PM Robert French @.***>
wrote:

Just put this test in the unittests directory. Everything is there.
—
Reply to this email directly, view it on GitHub
https://github.com/SETI/pds-cspyce/issues/54#issuecomment-1555363380,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABC2LIK3IIK6YB352BOZLODXG7453ANCNFSM6AAAAAAYIHGM7Q
.
You are receiving this because you were mentioned.Message ID:
@.***>

Has this change to the unittests directory been pushed yet?  Not seeing it.
On Fri, May 19, 2023 at 4:18 PM Frank Yellin @.***> wrote:

This may not be a bug.  It looks like dskd02 automatically uses room=256.
It should just return an array.
On Fri, May 19, 2023 at 4:12 PM Robert French @.***>
wrote:

Just put this test in the unittests directory. Everything is there.
—
Reply to this email directly, view it on GitHub
https://github.com/SETI/pds-cspyce/issues/54#issuecomment-1555363380,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABC2LIK3IIK6YB352BOZLODXG7453ANCNFSM6AAAAAAYIHGM7Q
.
You are receiving this because you were mentioned.Message ID:
@.***>

What change? The master branch has gettestkernels.py.

So first an issue, and then a couple of questions.
The original bug report says "the expected output doesn't match the actual output."  I got so hung up on this and the fact that the test was causing Python to crash that I missed the more important fact: the actual output was an array of ints rather than an array of floats.  With that realization, the bug became trivial to fix. [The SEGV was that I was allocating space for 100 4-byte ints, but spice was writing 100 8-byte doubles.]
So this isn't a complaint.  Just the more people paying attention to things like this, the more likely someone is to notice it. This is especially true for functions that have never been tested. It's way too easy to mess up a %typemap, and I think there are more of these to find.
And now my question.  The code I'm going to check in has "100" built in.  It will work for now.  But I suspect that this function really does want a room argument giving the number of values to return.  And I suspect that there are lots of other functions where we have a fixed size that we pass to spice, but we really want there to be a "size" argument, perhaps with a default.
I need someone to identify those functions for me.  Which are the functions where a user-specified size really is needed?

And it wasn't clear from my previous message.  How urgent is the "room" argument and the other such arguments?  There is no typemap that can currently handle it, but it should be not difficult to implement.

The function currently returns up to 100 elements.  You can test that the first three elements of the returned array are equal to the expected value.
If you do feel it needs a room argument, let me know.
Let me know how to proceed.

dskd02 now passes tests. According to the SPICE page for dskd02, the function isn't highly used in the first place, since dskv02, dskp02, and dskz02 provide most of the higher-level operations. As such, I will consider this issue resolved.

authors: esimpsons3ti fyellin rfrenchseti

repo: SETI/pds-cspyce


text:
Fix phrasing of old tab alert message

Critical Changes
Changes
Clarified phrasing of alert message
Issues Closed

@ezralafleur thanks for this!  did you view the page and make sure that it rendered and there were no errors?  We are looking at how to quickly QE all new PRs going forward. Thanks!

@JimBTek I sure did! And let me know if there's anything additional I can/should do for PRs moving forward!

authors: JimBTek ezralafleur


text:
Running a task that calls Command from a flow doesn't execute

Describe the bug
We use github codespaces and we're attempting to use Cumulus CI to orchestrate the post create phase of the dev container spin up using a custom flow. When I run the flow the tasks that run command actions do not run and thus the flow doesn't complete the setup actions.
Reproduction steps

create a task that calls a cci command like cci service connect github
call the task from a flow

Your CumulusCI and Python versions
CumulusCI version: 3.69.0
Python version: 3.10.7
Operating System
Ubuntu 20.04.5 LTS
Windows environment
No response
CumulusCI installation method
pipx
Error Gist
No response
Additional information
No response

Interesting. I don't know much about Code Spaces and haven't had the opportunity to play with them yet. Do you have the capability to set up environment variables in that context? That's how we recommend configuring in a headless CI context.
Where is the GitHub credential coming from that you want to expose to CCI?

@davidmreed I understand what you're saying. I think this is not a bug. Thank you for your response!

authors: davidmreed jeremyherzberg-usds

repo: SFDO-Tooling/CumulusCI


text:
Pydantic-based task option parsing.

Opt-in pydantic-based task option parsing.

@davisagli - I see that you had brought up the issue of wanting to ensure context is preserved so we know what task and option are the culprits in case of an error when options are being passed via cumulusci.yml. I did some testing and confirmed with @prescod that it should be fairly apparent during flow execution with our current logging which task failed, and the current error messaging displays the culprit option.
We don't have access to the actual name of the task being run when validating the options; however, we do have the ability to display the class_path of the currently executing task.
Let me know if you can think of any other scenarios where the currently executing task may be ambiguous, we definitely could have missed an edge case somewhere.

@davisagli This one is ready for you.

Closing since it's been more than a year since the last activity. Feel free to re-open as needed.

authors: Br4nd0R jstvz prescod


text:
GlyphQuad x position quantized to pixels

To avoid subpixel positioning of small glyphs when character spacing is not 1.0 I propose the following changes. Subpixel positioning does only affect small characters. Quads x positions for large character sizes are quantized anyway.

What exactly does that solve?

Indeed, that looks better in this case, but here we are dealing with scene coordinates, not screen coordinates. What if the user, for some reason, wants to work with small coordinates (either with the view or the text scale), where one scene unit maps to several screen pixels?

In the case of coordinates not mapping exactly to screen coordinates even letter spacing factor = 1.0 will look wrong.
Regarding to scrolling it’s the same thing. The font larger than 38 ( i think this value is hardcoded in the specific font when the glyphs start snapping to pixels ) will start to crawl. I overcome this by rendering the font to rendertexture and animating it.

There is one other option I'm currently using a vertex shader for text like the one below:
uniform float width; // width in pixels of the rendertarger

void main()
{
    // transform the vertex position
    gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
	gl_Position.x = floor(gl_Position.x * width / 2.0) / (width / 2.0);

    // transform the texture coordinates
    gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0;

    // forward the vertex color
    gl_FrontColor = gl_Color;
}

We may have an additional problem. The glyph quads may need some additional padding like 1 pixel on each side. When you scroll small font the sides of fonts are being cut off, actually it happens on all font sizes, but it’s more visible on the small ones. It’s, not related to my commit, it’s apparent on master also. Will post some video with zoom to illustrate that isssue.

Sorry for the delay.
Here is the link to the video showing what happens to the glyph's boundaries when it's scrolled with sub-pixel speed.
https://youtu.be/s2NBOKEeAGE
Ideally we could extend each letter's quad by 1 pixel ( 0.5 on each side as the cropping happens halfway through the transition to the next pixel), But I'm not sure yet what would be the best approach. It needs to be coordinate space agnostic and obviously cannot alter the rendering in any way.

Here is another video showing the quads boundaries.
https://youtu.be/MljCptuOQw4
As you can see the quads are to small to accommodate the glyphs during subpixel scrolling.

That's interesting, thanks for taking the time to make those examples.

So what do you think? Is it something that can be controlled outside the FreeType library?
Theoreticaly it can be done in the shader. Extend the quad by 1 pixel and shrink the uv of the glyph by 1 pixel, but it's rather a workaround than a solution.

What's the difference between this PR and #1452, @oomek?

I don't know what happened, but the previous commit was overriden by this one. Deleting. It's not relevant anyway as explained above. This functionality can be easily achieved with a shader.

authors: LaurentGomila eXpl0it3r oomek

repo: SFML/SFML

license: Zlib


text:
New: Badge with number

Badge/ Status Dot is usually connected with icon
Default alignment is the bottom-right corner

Is it possible to somehow switch out the icon easily here? or do you need to add specific icons to this component?

repo: SGFinansAS/elm-components


text:
Unable to run JAR files

Trying to run compiler.jar from Google Closure with java -jar compiler.jar results in this error message:
Error: Could not find or load main class -jar

Any jar file?
Or just that one?

I can't run any jar file too.

I suppose you have to do something like:
java -cp compiler.jar <compiler.jar's main domain>

authors: ImGGAAVVIINN Melab aesxsc nacho00112