Fix use-after-scope in SaveNameOperation

For some reason, using a char array to store sanitizedName as opposed to std::string caused it to go out of scope.
fixes #736

Most likely memory is freed after the declaration site goes out of scope, and the data in C-string pointer has potentially been used elsewhere when it's read again.


Added an option to go straight to the coordinates

added an option to go straight to the pos

Is it supposed to be private this time?

Is it supposed to be private this time?

No I will fix it again


Error with Fitbit Oauth 2.0

So... Fitbit switched from Oauth 1.0 to 2.0... and one of the problems with their new oauth is that it requires a Basic authentication header for the token exchange.
As described in their docs the authentication for the header should follow the following standards:
Authorization Header
The Authorization header must be set to Basic followed by a space, then the Base64 encoded string of your application's client id and secret concatenated with a colon. For example, the Base64 encoded string, Y2xpZW50X2lkOmNsaWVudCBzZWNyZXQ=, is decoded as "client_id:client secret".
They also use Form url encoded...
Here's a example of the header for the token exchange.
POST https://api.fitbit.com/oauth2/token
Authorization: Basic Y2xpZW50X2lkOmNsaWVudCBzZWNyZXQ=
Content-Type: application/x-www-form-urlencoded

The errors that I receive when trying to exchange the token are:
HTTP Status 401: Unauthorized, Response: {"errors":[{"errorType":"invalid_client","message":"Incorrect authorization method. Visit https://dev.fitbit.com/docs/oauth2 for more information on the Fitbit Web API authorization process."}],"success":false}

maybe a workaround, did you try with a url like this into access_token_url
https://client_id:client<EMAIL_ADDRESS>anyway the postOAuthAccessTokenWithRequestTokenByCode send secret using query string
We must find a cool way to allow custom header ie. change "Bearer : token" by "Basic: base64(clientid:secret)"

Read from FiBit doc

Applications should upgrade to OAuth 2.0 by March 14, 2016. OAuth 1.0a support will be removed from the Fitbit Web API on April 12, 2016.

so we must do it ;)

Fitbit supports the Authorization Code Grant and Implicit Grant flows as defined in RFC 6749.

not password grant

response_type required
code for Authorization Code Grant flow
token for Implicit Grant flow

you can try with "token"

grant_type required	authorization_code
so they use Basic with authorization_code, not Bearer
so I can't rely on this , see my previous comment

I think I make confusion between Auth headers used for the auth flow, and the Auth headers used after auth (to make api call)
In RFC Auth headers are not mandatory for auth, but sometime necessary and will be Basic one
see 4.1.3.  Access Token Request
http://tools.ietf.org/html/draft-ietf-oauth-v2-23

iOS applications may use the SFSafariViewController class instead of app switching to Safari. Use of the WKWebView or UIWebView class is prohibited.

I will add an handler type with this controller as example or into framework

see  b74da75
I add accessTokenBasicAuthentification and use in demo code for FitBit and Oauth2

This was awesome, thank you!


Support for jupytext format

Hi! I love this addon in vscode supporting the .py file of percent sign format # %% , which can be equipped with extra button to run in vscode as interactive jupyter python in the right panel.
# %% [markdown] {"slideshow": {"slide_type": "slide"}}
# # Python test
print('Hello world!')

Can the light format be supported, too? Thanks!
# {{{ {"slideshow": {"slide_type": "slide"}, "cell_type": "markdown"}
# # Python test
# }}}
print('Hello world!')

@pytkr You can actually customize the format for cells..can you give this a try and let us know what you think?

@pytkr You can actually customize the format for cells..can you give this a try and let us know what you think?

Great! Just using this regex and works like charm! Thanks so much!
^(#\s*%%|#\s*\{\{\{|#\s*\<codecell\>|#\s*In\[\d*?\]|#\s*In\[ \])

SOLVED!


OwnTracks: Fix handler is None checking

Description:
Don't try to run the handler after warning that it doesn't exist.
Related issue (if applicable):
fixes #9783
fixes #9748

It would be great if maybe it only spammed the log with these messages for unsupported messages that are unexpected, rather than the ones routinely seen that are not useful or supported.  My phone running OwnTracks spews a bunch of the lwt messages as it comes and goes out of range, and all the endless warning messages are not actually useful or indicative of a problem.   Perhaps WARNING log level is too serious for a route event?


Create conditional mapping using converter.

I need to set conditional mapping for a property but using my custom converter.
Currently when create a mapping you can set the condition for a mapping or set the converter for mapping.
Please add this little improvement.

Do you mean when(condition).using(converter).map(...) which is already supported by ModelMapper?

Yes.
If this is supported by ModelMapper could you please tell me in which version this could be done and how?

My bad, it looks like the when(condition).using(conververt) chain is not supported byExpressionMap.


GattConnection re-use

I've been having issues with disconnecting and then reconnecting a GattConnection device.  It reconnects fine, but a lot of functionality stops working.  Sends are timing out, and notifications no longer come.
Have you been able to get this to work properly?
Note if I close the device and create a new one everything works fine.

I've been thinking about how it would really work when the connection is dropped, then made again, when reusing the same GattConnection instance, and I'm wondering if I should really reuse it.
I'm not sure if I should make it optional, or completely remove the reusability.
If it worked properly, would reusing the GattConnection after a disconnection really help your use case, or you can as well create a new one and redo and resume the work you need?

On a BLE device type i'm currently working on, some state is reset on each new connection, and I observed dead suspensions too. To alleviate this issue, I launched a coroutine that consumes the stateChangeChannel and closes the GattConnection on any disconnection, so it fails, and I redo the work from a clean state.

I'm not sure if it saves anything to re-use the connection.  I assumed it would be more efficient than recreating it every time, but since it's not working properly I'll probably just re-create it on connect() calls.
I wrap it all in my own ConnectionManager object anyway to maintain persistent channels between devices, which is the only issue I can see in recreating the device each time.

This has been fixed in version 0.2.0-rc01.


Add cloud config paths to run-stage command

Picks it from the config file as it was supposed to do.
Also accepts via flags by setting --cloud-init-paths PATH as many times as needed, which will overwrite the values from config

Codecov Report

Merging #72 (6dab8ae) into main (6e1de9b) will increase coverage by 0.00%.
The diff coverage is 100.00%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@           Coverage Diff           @@
##             main      #72   +/-   ##
=======================================
  Coverage   76.16%   76.16%
=======================================
  Files          57       57
  Lines        5818     5819    +1
=======================================
+ Hits         4431     4432    +1
  Misses       1081     1081
  Partials      306      306

Impacted Files
Coverage Δ

cmd/run-stage.go
84.21% <100.00%> (+0.87%)
:arrow_up:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Interactive Window Globals Leaking into repl Process Globals

Discovered during our mob programming session writing tests for the interactive window (#1063)
Expected Behavior
In the interactive window:
> global.Array = null
> 2

Should print 2
Actual Behavior
Many 😢
This crashes the actual repl process in util.js on the line:
util.js:73
    const objects = new Array(arguments.length);

This is because the global Array inside the interactive window has leaked into the repl script that is running these commands.
Another case to consider is:
> global.Array.prototype.indexOf = null;

and similar patterns.

Considering the limited use in the Interactive Window. Closing


Revit 2025 Compatibility

Now that Revit 2025 had been released, it would be great if we can get this added so that the correct versions of cefsharp/dependencies are used.

Hello @iHoody
I add a prerelease version for testing for Revit 2025.
If you add this code should use the prerelease version or 2025.0.0-alpha.
<PackageReference Include="ricaun.Revit.CefSharp" Version="$(RevitVersion).*-*" IncludeAssets="build; compile" PrivateAssets="All" />

https://www.nuget.org/packages/ricaun.Revit.CefSharp/2025.0.0-alpha

I need to validate in a separated project, but looks like is working fine.

Looks like it is working fine for me too.

Great, I tested as well and works fine!


Refs/heads/GoogleGoddesses Tallicia 369 cloud patch 1

I learned how to create a branch, I created a file and made a commit, and opened a pull request

I learned how to create a branch, I created a file and made a commit, and opened a pull request


integration_tests: add checks to takeoff/land test [2]

Replaces #98.
This adds some checks to the ActionSimpleHover tests to actually check
what PX4 SITL is executing rather than just checking if we get the
correct responses.
This could be an example for CI tests for PX4 using DroneCore.
@dagar have a look
To test this:

Start PX4 SITL
Then start the test:make && build/default/integration_tests_runner --gtest_filter="SitlTest.ActionSimpleHover*"

Or if you have Firmware and DroneCore next to each other in a folder:
make && AUTOSTART_SITL=1 build/default/integration_tests_runner --gtest_filter="SitlTest.ActionSimpleHover*"

@julianoes can you rebase plz?


Godot editor causing randomly  BSOD

Godot randomly causing BSOD. Whole computer freezes and on first click cursor disappear. Then after roughly 30 sec BSOD shows up and restarts computer. It happens roughly 2-3 times a week.
Godot version:
3.0.2
OS/device including version:
Machine : LENOVO Lenovo B50-80
OS : Microsoft Windows 7 Ultimate (x64) Build 7601
CPU : Intel Pentium 3825U
RAM : KHX1600C9S3L/4G
GPU : Intel Broadwell-U GT1 - Integrated Graphics
AUDIO : Intel Broadwell PCH-LP - High Definition Audio Controller
I cannot tell you much. I really don't know what happened but at least i can give you dump file created by crash. It happens quite frequently lately, this one is latest(packed to zip because of allowed file formats).
BSOD-DumpFile.zip

See https://github.com/godotengine/godot/issues/18871

@Zylann Yeah, i know. This is different. In #18871, computer only freezes, without BSOD happening.If you look at #18871 I wrote several comments there so yeah, i know about that but this is different.

What does the BSOD say?
Also, BSOD is usually a sign of overheating and/or bad drivers...

@Zireael07 I'm more into high level languages so I really cannot understand what it trying to tell me. I tried to use dump file viewer and got those informations :
caused by driver : dxgkrnl.sys
caused by address : dxgkrnl.sys+5d388
crash address : ntoskrnl.exe+70e40
bug check code : 0x00000116
parameter 1 : fffffa800b549010 parameter 2 : fffff88007645c60
parameter 3 : ffffffffc0000001 parameter 4 :<PHONE_NUMBER>000003
processor : x64
processor count : 4
major version : 15
minor version : 7601
After all, this is what you get if you open attached dump file.

A guy on the net had an identical problem, https://www.sevenforums.com/bsod-help-support/398580-bsod-caused-dxgkrnl-sys-5d134-2.html?s=02672bd64ce0ff7a7ed6c005438bc97f giving the computer a good clean and/or putting the RAM back fixed it.
Many graphic cards have poor OpenGL 3 support, especially integrated cards, which leads to bsod/crashing/freezing.

@Zireael07 I cleared my computer with canned air from pc shop (that over-pressurized can full of strange-stinking air, you know what I mean), still happening. I used "Geeks3D GPU caps viewer" and find out I have support of OpenGL 4.4 with 220 extensions and OpenCL 1.2. I don't think there is problem neither.

I found out it can be possibly memory problem. It happens only if GoDot editor running for long time. If I exit GoDot every hour, wait 10 minuts and start again, I avoid the problem entirely. Maybe some memory leaks ?

@Garrom or overheating?

I found out it can be possibly memory problem.

If you want to check whether your RAM could be faulty or not, you could run MemTest86 for an hour or two.

Maybe some memory leaks ?

You can check RAM usage by keeping the Task Manager around (press Ctrl+Shift+Escape to open it).

@Zylann Nah, when overheating happens, thanks to my settings, laptop forcefully enter hibernation mode so it can cool down in peace and I don't lost any work or downloads. Anyway it didn't happen for some time because I purchased cooling pad under my laptop.
@Calinou My Ram chip is just fine. It was purchased recently to replace terribly slow Ram what came with laptop. Use process manager to monitor ram usage is good idea. I'll let it run and report back.

Can godot possibly overflow RAM by undos ?

Interesting point. I should check that with my terrain plugin, where I put any modified pixels in it :p

Apparently it is another Windows stuff. I'm using Ubuntu 18.04 for some time already and it didn't happen yet. Stop using Windows and start using Linux seems to be workaround.

This is a driver bug, as Godot can in no way crash Windows or cause a BSOD.
This can't be properly close, but I suggest someone should keep track of troublesome driver versions for Godot, as we have a few reports from that.

Closing, as there's nothing we can do on our side to fix buggy drivers. As mentioned above, Godot can't cause a BSOD, so the fault lies in an implementation bug of the drivers. If it's not fixed in the latest drivers versions available, you should raise the bug with your drivers vendor.


LWM2M on top of MQTT?

Hi guys,
got a question. I need to build an LWM2M bootstrap server and LWM2M server on top of the MQTT protocol instead of UDP and DTLS. Is it feasible with Leshan somehow? Maybe you could advise what should be changed in Leshan library in order to achieve it? Any hint?
Many thanks.

See some information about this at : https://github.com/eclipse/leshan/issues/1236#issuecomment-1102336047


test: run Dask tests with npartitions=2

If we use npartitions=2 in the Dask constructor, some tests fail
I think this is just in cases when Dask may shuffle row order, which we can probably resolve by including an 'i' column which just enumerates the rows, and then sorting by that at the end
This would also help make the test suite more resilient for future lazy backends

I'll add some more details later, sorry if this is unclear

Pinning down the remaining cases that are failing:

DaskLazyFrame.tail: unlike head method which has a npartitions argument to scan, tail does not allow that. The hack could be to repartition on behalf on the user, even though I am not really comfortable with it. Namely:+ return self._from_native_frame(self._native_frame.repartition(npartitions=1).tail(n=n, compute=False))
- return self._from_native_frame(self._native_frame.tail(n=n, compute=False))

DaskLazyFrame.filter with boolean list: this is something I would be happy to not allow. See somewhat related discord discussion as well.
DaskExpr.over: ends up with the following error: ValueError: cannot reindex on an axis with duplicate labels
DaskExpr.quantile: I see no options for this method, and would not know how to fix the issue

thanks @FBruzzesi ! shall we just raise notimplementederror for these then and xfail tests?

if we can inspect npartitions of an object, then I think so, sure


Job Dispatcher should depend on individual v4 Support Libraries

As per v4 Support Libraries, version 24.2.0 split the monolithic Support Library into separate libraries, allowing developers to only use the pieces they need.
Right now, com.firebase:firebase-jobdispatcher:0.5.2 depends on the entire com.android.support:support-v4:25.0.0 (even though I doubt it actually requires media-compat). This causes issues when combined with libraries that only depend on the separate libraries.
For example, using:
dependencies {
    compile "com.firebase:firebase-jobdispatcher:0.5.2"
    compile "com.android.support:customtabs:25.1.0"
}

Leads to a Lint error:

All com.android.support libraries must use the exact same version specification (mixing versions can lead to runtime crashes). Found versions 25.1.0, 25.0.0. Examples include com.android.support:customtabs:25.1.0 and com.android.support:support-core-ui:25.0.0

As customtabs:25.1.0 pulls in only support-compat:25.1.0, not the entirety of support-v4:25.1.0.

Outisde of the usage of SimpleArrayMap is the support library really needed? It would be great to remove that dependency as a whole.

Kind of moot point since Firebase JobDispatcher depends on Google Play services, which depends on Support Library.

Valid. I didn't know that about play services.

Looks like now the dependency should be changed to only be support-compat as the other libraries are not used.


Updating docs to reflect omitted linger statement

Work in progress, please take a look and I'll update additional docs (site/networking) to reflect default options as well.

@michaelklishin ping

@mixacha thanks, can you please also update the live branch? it has examples in the 3.6.x config format.

OK, so I'm not 100% sure what the value should be in the new config, so I'll undo the master change but please update live, which is 100% Erlang terms examples.

Yup, there is no mapping in the new config for that key. Thanks for helping us discover it :)


⚠ SceneTime has degraded performance

In 521fba2, SceneTime ($ST) experienced degraded performance:

HTTP code: 200
Response time: 1251 ms

Resolved: SceneTime performance has improved in 35982d8 after 7 minutes.


[5.8] Warn instead of error when non-Swift sources may be included in a target that has module aliases

Warn instead of error when non-Swift sources may be included in a target that has module aliases. This helps when a Swift target being aliased in a package is in a dependency graph of another package which contains non-Swift sources.
Resolves rdar://102137567

@swift-ci smoke test

@swift-ci smoke test

@swift-ci test macOS


Possible minor updates needed under Adding an API key for an iOS app

The section under Adding an API key for an iOS app

You also need to add a setting to ios/Runner/Info.plist. This entry forces Flutter on iOS into a single threaded mode, which is required for the platform view embedding to work. This technical restriction is being worked on and will be lifted before Google Maps moves out of Developer Preview.

Mentions that

This technical restriction is being worked on and will be lifted before Google Maps moves out of Developer Preview.

Google Maps is out of developer preview right?

Per https://pub.dev/packages/google_maps_flutter it's still Developer Preview.

Thank you @domesticmouse

Thanks @dev-aentgs for your wide ranging review of our resources! Hopefully you have gained some insights from all your readings 😄


Can't run script..

Hi! I need to convert > 1000 gp files in bulk, and your script is the only tool that I found in the whole fking internet =) Could you please specify how to run it, I never used Unity and can't understand what I'm doing wrong. I imported the file, nothing happens with Run button, when I try to Build & Run - log is full of errors.

Hi, thank you for trying out my program.
Unfortunately I don't have the time to remotely diagnose your issues there.
You can either try downloading and installing some other (older / newer) Unity versions or Googling that error message "System.Windows.Forms" etc.
My quick google showed that it might have something to do with the set .NET version.
But try out for yourself!
Cheers


Add golang and GHA

Adds an implementation in Golang that is a copy of the algorithm directly out of C++
Add automated runners in Github Actions that will execute all the defined runs

I couldn't get the Julia version to build or run either locally or in Github Actions, so I left it

I'm not sure if you don't have Actions enabled, or if it's just protected from first time contributors. Here is the run in my own fork


Support generics in Method CacheStrategy

Let's say we have a generic repository for multiple entities
public interface IRepository<T> where T : IEntity     {         Task<IList<T>> GetAllAsync();    }
And implementation
public class DocumentRepository<T> : IRepository<T>{...}
Now, we want to retrieve a list of entities of type Supplier like this:
 IList<Supplier> suppliers = await this.cache.WithSource(this.supplierRepository).Method(c => c.GetAllAsync()).ExpireAfter(TimeSpan.FromMinutes(30)).GetValueAsync())
The cache key will be something like

IRepository`1

The problem is that for other entities, the cache key will be the same, thus overwritting each other.

Good point. The cache key should start with DocumentRepository<Supplier>. Will add to next release

Thank you very much @cordialgerm

To fix: enhance ExpressionAnalyzer.CreateCacheStrategyFromMethod and ExpressionAnalyzer.CreateCacheStrategyFromMember so that the region is based on the expression source object's GetType() (the concrete type) rather than the compile-time type (as those can be generic types)

@adalbus as a workaround you can add a WithRegion("DoumentRepository<Supplier>") call

fixed in v<IP_ADDRESS> release


feat(cc): add DRAFT Scene Controller Configuration CC and tests

Here's a draft for the Scene Controller Configuration CC.
I copied what UserCodeCC did for persisting values and setting metadata, but I'm not certain that they're completely alike.  Scene Controller Configuration CC is a little wonky, because it encodes a disabled group / scene assignment with sceneId = 0.  I believe this means that dimming duration is effectively cleared by setting sceneId = 0, but the documentation is 100% clear to me.
I haven't implemented SetValue for dimmingDuration, because I don't know how to handle the Duration type here.  If it can be done, this seems like a valuable feature that users would expect.
The interview potentially makes an API call with the Association CC, because that's how to determine the number of supported groups.  I believe that the AssociationCC interview should always happen before the SceneControllerConfigurationCC interview, but I did allow the interview function to do  the actual query if the cached groupCount is missing.

I'll do an in-depth review tomorrow. Some thoughts regarding your comments:

I haven't implemented SetValue for dimmingDuration, because I don't know how to handle the Duration type here. If it can be done, this seems like a valuable feature that users would expect.

That likely depends on #1321, so don't worry about it for now.

The interview potentially makes an API call with the Association CC, because that's how to determine the number of supported groups. I believe that the AssociationCC interview should always happen before the SceneControllerConfigurationCC interview, but I did allow the interview function to do the actual query if the cached groupCount is missing.

I'm not a fan of that. CC implementations shouldn't repeat the work that others. I think the best approach here is to fail softly, i.e. assume a group count of 0 and do nothing. In that case, you could skip setting the interviewCompleted property to true. Some CCs do that if a required query times out (e.g. support information).
You should also force that Association CC is interviewed first by implementing determineRequiredCCInterviews (see Association CC for an example).
Also: Do we need to handle Multi Channel Assocation CC alternatively? Is SceneControllerConfigurationCC supported by endpoints or only the node itself?

The Z-Wave Application Command Class Specification PDF specifically identifies the Association CC v1 Supported Groupings Get command, so I don't think we need the Multi Channel Association CC here.
How do I determine if a CC can be supported by endpoints vs the node itself?

How do I determine if a CC can be supported by endpoints vs the node itself?

That should be somewhere in the specs. I think the Command Class Control specification.

I add AssociationCC to determineRequiredCCInterviews().  I had a feeling there was a more elegant solution, and this is definitely more elegant.
I found the list of CCs that must only be supported and advertised by the Root Device (3.2.1 of SDS12783).  Scene Controller Configuration CC is NOT in that list.  However, I do not believe we need to worry about Multi Channel Association CC, because we are only using the Association CC to determine the group count (which should be the same, since they're all shared).  We do not actually care about the groups themselves.
Finally, it occurs to me that I do NOT really understand the distinction between the CCAPI and PhysicalCCAPI.  I can see in the source code that PhysicalCCAPI is simply a CCAPI that asserts it is not a VirtualEndpoint, but I don't really understand what effect that has.  In this CC, I used PhysicalCCAPI.  In the Thermostat Fan CCs, I used CCAPI.  In each case I was simply matching the CC I was using as a template.

Please re-request a review once you're done. I'm planning to do a release tonight, so maybe it could already go in there.


Animation not work in GridLayoutManager

Hi @CymChad,
I just trying to change LinearLayoutManager to GridLayoutManager in AnimationUseActivity class,
and the animation not working

normal

switch (viewType) {
            case 0:
                convert((BaseViewHolder) holder, mData.get(holder.getLayoutPosition() - getHeaderViewsCount()));
                addAnimation(holder);
                break;
            case LOADING_VIEW:
                addLoadMore(holder);
                break;
            case HEADER_VIEW:
                break;
            case EMPTY_VIEW:
                break;
            case FOOTER_VIEW:
                break;
            default:
                convert((BaseViewHolder) holder, mData.get(holder.getLayoutPosition() - getHeaderViewsCount()));
                onBindDefViewHolder((BaseViewHolder) holder, mData.get(holder.getLayoutPosition() - getHeaderViewsCount()));
                break;
        }

You are the type of the custom?

Hi @CymChad , sorry, my bad, it's working now.
Thanks for your help :)
I have another question about SLIDEIN_BOTTOM animation when using GridLayoutManager,
the last item is not slide in,

I find the problem is the last item height is 0, any idea to fix it ?


[Feature]: controllable point thickness in interactive Object3D viewer

Description
Would be great to allow users to dynamically set the point thickness in the visualization to allow object geometries to be visualized better without adding more points.

Suggested Solution
Shift-Scroll or Ctrl-Scroll to change point thickness
Alternatives
No response
Additional Context
No response

Hey @jasonkena, thanks for writing in. I made a feature request for this, and if you could include any additional code snippets/context, I would love to include that in the details.

@umakrishnaswamy sounds good! I'm trying to be able to control the pointSize of the mesh/point cloud interactively. In BabylonJS it would look something like this
Screencast from 2023-07-25 00-10-59.webm

@jasonkena Thank you for providing this! I submitted this feature request, and I'll let you know if progress arises.


@fieldParentPtr() - error: expected 3 arguments, found 2

I see that recent changes were made to the @fieldParentPtr code in generator/build_integration.zig lines 77 & 171 in this commit. @igaryhe I'm not sure if this commit is related to my issue, but I seem to get this error when compiling with zig version 0.12.0-dev.3180+83e578a18.
/.cache/zig/p/12203dd92af51de24d95545584c376f2d76698ff0b73d5e5b1cf0e1e12bba2ca4d48/generator/build_integration.zig:171:42: error: expected 3 arguments, found 2
        const self: *ShaderCompileStep = @fieldParentPtr("step", step);
                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Did you run into something similar?

Hi James,
Can you try compiling with zig 0.12.0? This commit was intended to fix a breaking change made upstream: https://github.com/ziglang/zig/pull/19470

@igaryhe hopped outta bed to test real quick, yep, it works for 12.0 and 0.13.0-dev.4+c7ffdbcd4, but breaks for 0.12.0-dev.3180+83e578a18. How weird! All good, I'll close the issue


feat: link-attrs support absolute path

PR link to https://github.com/slidevjs/slidev/issues/1551

autofix.ci / autofix (pull_request) Failing 我好像看不出来failing的具体原因 @antfu


Update docker composefile

Signed-off-by: Tingyu Zeng<EMAIL_ADDRESS>

@tingyuz The verify errors look to be related to using edgex-go.  There were some changes there recently that probably changed import paths.  @tsconn23 does this look related to those re-org changes in edgex-go?
15:52:22 [INFO]	--> Fetching github.com/BurntSushi/toml
15:52:22 [INFO]	--> Fetching github.com/dghubble/sling
15:52:22 [INFO]	--> Fetching github.com/dgrijalva/jwt-go
15:52:22 [INFO]	--> Fetching github.com/edgexfoundry/edgex-go
15:52:47 [INFO]	--> Setting version for github.com/dghubble/sling to v1.1.0.
15:52:47 [INFO]	--> Setting version for github.com/dgrijalva/jwt-go to v3.2.0.
15:52:47 [INFO]	--> Setting version for github.com/BurntSushi/toml to v0.3.0.
15:52:47 [INFO]	Resolving imports
15:52:47 [INFO]	--> Fetching github.com/google/go-querystring
15:52:48 [ERROR]	Error scanning github.com/edgexfoundry/edgex-go/support/logging-client: cannot find package "." in:
15:52:48 	/home/jenkins/.glide/cache/src/https-github.com-edgexfoundry-edgex-go/support/logging-client
15:52:48 [ERROR]	Failed to retrieve a list of dependencies: Error resolving imports
15:52:48 make: *** [prepare] Error 1```

Also @tingyuz I was wrong about my ealier comment about where logging-client is located now.  This project has a dependency on edgex-go; there is some refactoring going on there and logging-client can now be used by doing import "github.com/edgexfoundry/edgex-go/pkg/clients/logging".  I realize that this PR had no changes that make it seem related, but this service will now have to be updated to account for edgex-go changes.  @tsconn23 @jpwhitemn

@JPWKU  the error you mentioned has been fixed and merged by #20 PR20. Close this PR as it is no longer valid for the master base.


[WIP] Feature - daily updates

Achievements

[x] Daily updates feature added
[ ] Switch the daily updates messaging format from private message to admin channel
[ ] Make the bot send the daily update at a specific hour every 24 hours

Details
Every time a belt attribution is made, the information of that attribution such as the Ninja o received the belt, the date and who attributed it are stored in a json file. Every 24 hours the program searches in the json file for attributions that happened in the last 24 hours and sends it in a private message to all the admins.
By mistake I made the bot send the updates as a private message to all the admins but I intend to switch it to just send it to a admin channel.

This is great work 👏
I think we should go another route in the way we store the events. Instead of using a file (in this case, a json file) to store all the events that happen, what do you think about using a more robust solution like sqlite3? It is simple in the sense that just a file (easy setup, deployment and backups) provides a battle tested way to read and write operations (like concurrent operations etc).
There are libraries like SQLAlchemy that provides easy ways to interact with databases.

Yes, I agree with this. When using the json file I also got the sense that using a proper database would be a better idea. I'm going to work on the proposed changes and then jump right into this refactor 💪🏻

Yes, I agree with this. When using the json file I also got the sense that using a proper database would be a better idea. I'm going to work on the proposed changes and then jump right into this refactor 💪🏻

Let me know if you need any help :muscle:

Great work, @danielsp45! 🙌🏼
I've never used SQLAlchemy, but I would like to hear, from you @nelsonmestevao, what are the benefits on using it for this project. I once used aiosqlite - it's small and fast and on top of that it's asynchronous (which will combine very well with the discord asynchronous library). In a brief research, I've also found asqlite which was made by Rapptz (the main discord.py maintainer).

I once used aiosqlite - it's small and fast and on top of that it's asynchronous (which will combine very well with the discord asynchronous library). In a brief research, I've also found asqlite which was made by Rapptz (the main discord.py maintainer).

As far as I can tell, both suggestions are not much different from the standard library sqlite3. The thing that I most value from SQLAlchemy is the ORM (Object Relational Mapper) functionality that makes operations easier.

All of the features and fixes for this PR that are ready for review:

Daily updates feature added
Switch the daily updates messaging format from private message to admin channel
Make the bot send the daily update at a specific hour every 24 hours
Switch the json file for SQLAlchemy to store all the logs
Implement loggings for debugging

Me and @RuiL1904 plan to optimize the files organisation and to optimize the current Enum class in future PR's


Containerize and schedule Billing Utility so it is automated and "hands off"

Describe the issue
Currently the Billing Utility is manually run on an admin's workstation based on a periodic schedule.  This is a well-defined, but currently "toilful", potentially error-prone, and time-sensitive activity that would be better handled as a "hands-off" process running autonomously.  The current utility could relatively easily be adapted to run in a scheduled container (e.g. in lambda, ECS, or other chosen environment).
Additional context

this task should also include an automated CI/CD process to publish updated version of the utility.
The free API that we use for grabbing the conversion rate from USD to CAD is called Fixer and the free tier comes with the caveat that there is no uptime or availability commitment. The workaround we use currently is to manually input the conversion rate via another environment variable when the API is down. This will have to be rethought when we automate this.

There are other currency conversion services (oanda.com for example), so one option for solving this problem is that we can have a few "fallback APIs" for grabbing the conversion rate.

Definition of done

Dockerfile and other build/packaging/deployment artifacts created, tested, and committed to Github
utility deployed and configured to run on a schedule determined by CPF PO, with appropriate parameters - likely weekly, monthly, quarterly, and perhaps annually.
automated CI/CD process configured, tested, and operational

The terraform code in the billing utility repo prior to deprecation of the lambda-based version (SHA e6dcd70676d46173425e87a3cefc262c93718b11) may be useful as reference in completing the tasks described in this issue.

Partial summary of work done so far

[x] Identified resources that were created via the AWS console prior to this ticket

[x] These were mostly on LZ2
[x] Began porting those resources to Terraform. These can be found in: billing-report-glue-resources
[x] Tested deployment LZ0s master account
[ ] Terraform config for Athena and SES resources are pending. These are going to be deployed to the master account with existing Glue resources

[x] Created deployment mechanism to enable deploying existing container and functions to operations account on the LZs

[x] Tested deployment with placeholder functions. Terraform config can be found at: billing-report-utility-infra
[x] CLI arguments managed by argparse have been removed, arguments needed for the different periods are now set as environment variables in EventBridge targets
[x] Moved S3 query output bucket from being hard coded to environment variable in EventBridge.
[x] Removed unnecessary Python function that created query output S3 bucket if the hard coded bucket was not found. Query output S3 bucket is no longer handled within the Python code, but rather by Terraform. This will allow passing bucket name as an environment variable.
[x] The query output bucket name is no longer bcgov-aws-sea-billing-reports. Now uses the format: bcgov-ecf-billing-reports-output-<AWS-AccountID>-<AWS-Region>. This will eliminate name collisions as we deploy across LZ0, LZ1 and LZ2 using a deployment pipeline.

[ ] Currently refactoring existing Python code to something better suited for scheduled tasks on Fargate.

[ ] Mostly working from Git branch cpf-1068

Changes done so far on this ticket addressed scaling back permissions around:

reading from the organizations API
reading/writing to S3 buckets
executing Athena queries
There's some overlap with ticket 1067.

CI/CD component and cleanup left.  Create new tickets?

[ ] Revise SES entities, specifying them as variables instead of hard coded in main.tf.
[ ] Add product owners email address and cloud.gov.bc.ca to SES entities variables also. Product owners email address is easier will take less time to validate compared to domain identities. Especially post deployment to LZ0 and LZ1

Deployed to LZ0 and LZ1. Need to verify info@cloud email identity for SES. Few rough edges fro the CI/CI component being worked on.

PR for deployment to LZ0 submitted: https://github.com/BCDevOps/terraform-octk-aws-sea-billing-reports/pull/7

Service was deployed to both LZ0 and LZ1 late last month.

Pending CI/CD strategy for deploying tools to Core accounts
Need to validate the identities<EMAIL_ADDRESS>and cloud.gov.bc.ca SES

cloud.gov.bc.ca domain verified in SES. Deployed to LZ2

Created new tickets to finish the FX feature and verify the<EMAIL_ADDRESS>email address for sending


Cannot use StrEnum fields in DataModel

Draive is unable to build a validator for StrEnum. It uses list_validator but doesn't get a range of available values.
Error:
draive.parameters.errors.ParameterValidationError: ("Validation error: Invalid parameter value at: %s - expected '%s' while received '%s'", UserProfileDraive.goals[0], (), <Goal.GENERAL_WELLNESS: 'GENERAL_WELLNESS'>)

Example code:
from enum import StrEnum
from draive import DataModel

class Goal(StrEnum):
    GENERAL_WELLNESS = "GENERAL_WELLNESS"
    INCREASE_ENERGY = "INCREASE_ENERGY"
    ENHANCE_FOCUS = "ENHANCE_FOCUS"
    OTHER = "OTHER"

class UserProfileDraive(DataModel):
    name: str
    goals: list[Goal]

user_profile_draive = UserProfileDraive(name='Piotr', goals=[Goal.GENERAL_WELLNESS])
user_profile_draive_json = user_profile_draive.as_json()
print(user_profile_draive_json)

It seems that there is some missing part when decoding Enum based types, I will take a closer look at it


[Docs] README - Add NGINX Service Mesh adapter

Signed-off-by: Adetayo<EMAIL_ADDRESS>Description
This commits adds NGINX Service Mesh adapter listed as an alpha adapter
This commit also uses the Nginx service mesh logo recently included in the https://layer5.io/landscape
This PR fixes #1729
Notes for Reviewers
Signed commits

[x] Yes, I signed my commits.

Thank you for jumping in here, @UnkleTayo 👍

Hi, @leecalcote Thank you for your response, I will go ahead and create the image and make a new Pull request

🎯@UnkleTayo! 🎈


fix: missing double quotes

Description
The authorization_model_id key in Update Relationship Tuples is not enclosed in double quotes, making it difficult to copy and paste for use.

References

Review Checklist

[x] I have clicked on "allow edits by maintainers".
[ ] I have added documentation for new/changed functionality in this PR or in a PR to openfga.dev [Provide a link to any relevant PRs in the references section above]
[x] The correct base branch is being used, if not main
[ ] I have added tests to validate that the change in functionality is working as expected

@wyewata Thank you for your contributions!


Development: Add CI action to check that German and English translation keys are consistent

Checklist
General

[ ] I tested all changes and their related features with all corresponding user types on a test server.
[x] This is a small issue that I tested locally and was confirmed by another developer on a test server.
[x] Language: I followed the guidelines for inclusive, diversity-sensitive, and appreciative language.
[x] I chose a title conforming to the naming conventions for pull requests.

CI script

[x] I strictly followed the server coding and design guidelines.
[x] I documented the code.

Motivation and Context

As noted in #9369, there are discrepancies between the translation keys in German and English. We want to avoid this.
Description

This PR adds a helper script that runs in a CI action and checks that the translation keys defined in German and English are consistent. In detail it checks that

the de/ and en/ directories contain files with the same names,
all of such pairs of equally named files contain the same keys, and
there are no duplicate keys defined.

The script accepts either two directories to compare the full directory content, or two files to compare the content of two files.
Steps for Testing
You can run the script locally. It should report the missing files as noticed in #9369 and find set of translation keys that only exist in German/English.
The CI action itself will maybe not run on this branch since configuration files are taken from the default branch (?), and we do not yet make changes to the translation files here.
Review Progress

Code Review

[x] Code Review 1
[ ] Code Review 2

Manual Tests

[ ] Test 1
[ ] Test 2

Test Coverage
n/a
@coderabbitai ignore

Tested locally. The flattened keys in the output are always prepended with an additional dot:
Missing English translation keys:
.artemisApp.attachmentUnit.createAttachmentUnits.split.empty
.artemisApp.courseCompetency.create.averageMastery
.artemisApp.courseOverview.exerciseFilter.resetFilter
...

The additional dot at the start is intentional since it represents a JSON pointer that way that can be directly used with jq.


function onSuggestionsUpdateRequested({ value, reason }) reason not working?

The reason param of the function onSuggestionsUpdateRequested only seems to display 'type'. 'blur' for example does not seem to happen. Any fixes for this?

This is happening to me as well. Only 'type' or 'click' seems to be working.

Here is an example of reason === 'blur':
To reproduce:

Type 'c'
Press Up
Click outside of the Autosuggest

Could you provide the steps to reproduce the issue you're seeing?

I suspect the issue is that onSuggestionsUpdateRequested is not called if you leave an Autosuggest by clicking another element. I suppose this makes sense. I need a way to detect an Autosuggest losing focus in any way, because I use multiple Autosuggest components that share state for updating suggestions. Issue #20 may relate ...

@jehrlich I still can't clearly understand what is the problem you are experiencing. I'm closing this issue for now. If you are still struggling, please create a new issue with a runnable example and steps to reproduce.


Confused by "python install --force"

Steps to reproduce:
% pythonbrew list
# installed pythons
Python-2.6.6
Python-2.7.1
/Library/Frameworks/Python.framework/Versions/Current/bin/python (*)

% pythonbrew install --force 2.7.1
You are already installed `Python-2.7.1`

I am probably misunderstanding the purpose of "--force" (i.e. force installation even if make test fails) but it would be nice if someone could "reinstall" a given version of python with e.g. new configure options easily.

Seconded.
I just had to recompile an existing Python install after adding some headers I'd left out, and couldn't find a way to let Pythonbrew do that. I had to take note of everything installed in that install's site-packages, delete it, and reinstall everything from scratch. Painful; I would have liked to recompile this Python install while leaving its site-packages in place.


SRIOV: Fix VerificationError on switchdev mode SRIOV

With switchdev mode SRIOV PF card, its VF interface name is unknown to
nispor as kernel does not store VF interface name in folder for
switchdev mode:
/sys/class/net/<pf_name>/device/virtfn<sriov_id>/net/

In that case, only devlink protocol can query out PF/VF relationship.
Meanwhile, with sriov_drivers_autoprobe set to 0, kernel will not load
VF driver which means no VF NIC will be created.
Hence nmstate should not treat VF missing as VerificationError.
To still allows nmstate verification retry to wait VF show up in other
use cases, this patch introduce new error kind SrIovVfNotFound.
This error will never raise to user as it will be silently ignored at
the final verification retry.
Unit test case included and manually tested in reproduced system.


chip-tool command failed with "Invalid CASE parameter" error

Problem
After commissioning end device over Thread, subsequent chip-tool commands returned "Invalid CASE parameter" error.
chip-tool logs:
[1649870251.217524][16138:16143] CHIP:EM: Received message of type 0x40 with protocolId (0, 0) and MessageCounter:2814437257 on exchange 56985i
[1649870251.217624][16138:16143] CHIP:EM: Found matching exchange: 56985i, Delegate: 0xffff940015b0
[1649870251.217713][16138:16143] CHIP:EM: Rxd Ack; Removing MessageCounter:58960980 from Retrans Table on exchange 56985i
[1649870251.217772][16138:16143] CHIP:EM: Removed CHIP MessageCounter:58960980 from RetransTable on exchange 56985i
[1649870251.217867][16138:16143] CHIP:SC: Received error (protocol code 2) during pairing process. ../../examples/chip-tool/third_party/connectedhomeip/src/protocols/secure_channel/CASESession.cpp:1479: CHIP Error 0x00000054: Invalid CASE parameter
[1649870251.217926][16138:16143] CHIP:CTL: OperationalDeviceProxy[CBC9D2D911B18741:0000000000002235]: State change 3 --> 2
[1649870251.218024][16138:16143] CHIP:-: ../../examples/chip-tool/third_party/connectedhomeip/src/protocols/secure_channel/CASESession.cpp:1479: CHIP Error 0x00000054: Invalid CASE parameter at ../../examples/chip-tool/commands/clusters/ModelCommand.cpp:53
[1649870251.218129][16138:16143] CHIP:EM: Sending Standalone Ack for MessageCounter:2814437257 on exchange 56985i
[1649870251.218215][16138:16143] CHIP:IN: Prepared unauthenticated message 0xffffa8d8e9a8 to 0x0000000000000000 (0)  of type 0x10 and protocolId (0, 0) on exchange 56985i with MessageCounter:58960981.
[1649870251.218291][16138:16143] CHIP:IN: Sending unauthenticated msg 0xffffa8d8e9a8 with MessageCounter:58960981 to 0x0000000000000000 at monotonic time:<PHONE_NUMBER>9B3243 msec
[1649870251.218551][16138:16143] CHIP:EM: Flushed pending ack for MessageCounter:2814437257 on exchange 56985i
[1649870251.218908][16138:16138] CHIP:CTL: Shutting down the commissioner
[1649870251.219274][16138:16138] CHIP:CTL: Shutting down the controller
[1649870251.219351][16138:16138] CHIP:CTL: Shutting down the commissioner
[1649870251.219511][16138:16138] CHIP:CTL: Shutting down the controller
[1649870251.219678][16138:16138] CHIP:IN: Expiring all connections for fabric 1!!
[1649870251.219771][16138:16138] CHIP:CTL: Shutting down the commissioner
[1649870251.219934][16138:16138] CHIP:CTL: Shutting down the controller
[1649870251.219987][16138:16138] CHIP:IN: Expiring all connections for fabric 2!!
[1649870251.220060][16138:16138] CHIP:CTL: Shutting down the commissioner
[1649870251.220216][16138:16138] CHIP:CTL: Shutting down the controller
[1649870251.220266][16138:16138] CHIP:IN: Expiring all connections for fabric 3!!
[1649870251.220332][16138:16138] CHIP:CTL: Shutting down the System State, this will teardown the CHIP Stack
[1649870251.221198][16138:16138] CHIP:DMG: IM WH moving to [Uninitialized]
[1649870251.221254][16138:16138] CHIP:DMG: IM WH moving to [Uninitialized]
[1649870251.221298][16138:16138] CHIP:DMG: IM WH moving to [Uninitialized]
[1649870251.221341][16138:16138] CHIP:DMG: IM WH moving to [Uninitialized]
[1649870251.221387][16138:16138] CHIP:DMG: All ReadHandler-s are clean, clear GlobalDirtySet
[1649870251.221540][16138:16138] CHIP:BLE: BleConnectionDelegate::CancelConnection is not implemented.
[1649870251.221961][16138:16138] CHIP:DL: writing settings to file (/tmp/chip_counters.ini-IRacOv)
[1649870251.223118][16138:16138] CHIP:DL: renamed tmp file to file (/tmp/chip_counters.ini)
[1649870251.223230][16138:16138] CHIP:DL: NVS set: chip-counters/total-operational-hours = 0 (0x0)
[1649870251.223286][16138:16138] CHIP:DL: Inet Layer shutdown
[1649870251.223333][16138:16138] CHIP:DL: BLE shutdown
[1649870251.223381][16138:16138] CHIP:DL: System Layer shutdown
[1649870251.223584][16138:16138] CHIP:TOO: Run command failure: ../../examples/chip-tool/third_party/connectedhomeip/src/protocols/secure_channel/CASESession.cpp:1479: CHIP Error 0x00000054: Invalid CASE parameter
RTT logs:
 [DMG] Failed to read stored attribute (1, 0x00 [DL] OnSrpClientNotification: Operation refused for security reasons
 [DL] _OnPlatformEvent default:  event->Type = 32780
 [DL] OpenThread State Changed (Flags: 0x00000064)
 [DL]    Device Role: ROUTER
 [DL] Thread Attached updating Multicast address
 [SVR] Joining Multicast groups
 [DL] _OnPlatformEvent default:  event->Type = 32769
 [IN] UDP Message Received packet nb : 11 SrcAddr : FD9C:869B:175:1A35:DD9C:7D06:240C:2821[55643] DestAddr : FD9C:869B:175:1A35:D7F6:9796:6F54:6A79[5540] Payload Length 177
 [EM] Received message of type 0x30 with protocolId (0, 0) and MessageCounter:58960980 on exchange 56985r
 [EM] Handling via exchange: 56985r, Delegate: 0x2001a3e4
 [IN] CASE Server received Sigma1 message. Starting handshake. EC 0x2001b7d0
 [DIS] CASE handshake initiated, closing all BLE Connections
 [SC] Waiting for Sigma1 msg
 [IN] CASE Server disabling CASE session setups
 [SC] Received Sigma1 msg
 [SC] Found MRP parameters in the message
 [SC] Peer assigned session key ID 63799
 [SC] CASE failed to match destination ID with local fabrics
 [SC] 0xa6, 0x6d, 0x8a, 0x5d, 0x92, 0xc9, 0x5c, 0x08,
 [SC] 0x68, 0xb0, 0xf6, 0x6a, 0xa1, 0x62, 0xe3, 0x06,
 [SC] 0x32, 0x2a, 0xe2, 0xf0, 0xed, 0xf5, 0xf5, 0xaf,
 [SC] 0x65, 0x9d, 0x4e, 0x42, 0x43, 0x08, 0x2d, 0xe2,
 [SC] Sending status report. Protocol code 2, exchange 56985
 [EM] Piggybacking Ack for MessageCounter:58960980 on exchange: 56985r
 [IN] Prepared unauthenticated message 0x2001b6ec to 0x0000000000000000 (0)  of type 0x40 and protocolId (0, 0) on exchange 56985r with MessageCounter:2814437257.
 [IN] Sending unauthenticated msg 0x2001b6ec with MessageCounter:2814437257 to 0x0000000000000000 at monotonic time:<PHONE_NUMBER>0172F7 ms [IN] CASE Session establishment failed: Error CHIP:0x00000003
 [IN] CASE Server enabling CASE session setups
 [IN] CASE Server enabling CASE session setups
 [EM] OnMessageReceived failed, err = Error CHIP:0x00000003
 [IN] UDP Message Received packet nb : 12 SrcAddr : FD9C:869B:175:1A35:DD9C:7D06:240C:2821[55643] DestAddr : FD9C:869B:175:1A35:D7F6:9796:6F54:6A79[5540] Payload Length 26
 [EM] Received message of type 0x10 with protocolId (0, 0) and MessageCounter:58960981 on exchange 56985r
 [EM] Found matching exchange: 56985r, Delegate: 0
 [EM] Rxd Ack; Removing MessageCounter:2814437257 from Retrans Table on exchange 56985r
 [EM] Removed CHIP MessageCounter:2814437257 from RetransTable on exchange 56985r

@yinyihu-silabs Please attach the full log from the command that commissioned the device.

Here is full commissioning and chip-tool read command log
Invalid CASE paramter commision.log

@yinyihu-silabs Thank you.  That log shows us discovering the same device as we discovered at the end of commissioning, so the question is what changed between then and the follow-up command.  Can you please attach the full server device log, which would show both the commissioning and the following unsuccessful command, and everything in between?  Ideally along with the client logs corresponding to the process, so the timestamps can be matched up to see what's going on.

Invalid CASE parameter has become intermittent lately. This is one of the older logs when I was able to catch the error but after commissioning completed. Hope it would help.
Typically in my tests, I only send chip-tool commands (read/write/functional).  If I come across the same failure again, I'll make sure capture everything.
failed chip-tool.txt
failed chip-tool - rtt log.txt

This might be similar to what's been mentioned in https://github.com/project-chip/connectedhomeip/issues/17698
https://github.com/project-chip/connectedhomeip/issues/17698#issuecomment-1110132169

Again, to make sense of this I would like to see a log that shows:

Commissioning.
All the bits that work fine.
The bit that does not work fine.

For example: the log attached above just says for the server: "CASE failed to match destination ID with local fabrics".  Why did it fail?  Maybe the node was not commissioned onto that fabric.  Maybe commissioning did not complete and then the fail-safe expired and wiped out the partially-comissioned fabric.  Maybe someone came along and deleted the fabric.  It's impossible to say from that server log, because it's missing the part where something actually went wrong and the fabric went away.

I m facing the same ERROR. @yinyihu-silabs can you suggest some solution?

@hiteshmathukiya we have not seen this happening too often lately.  Last time we saw it there was some sdk issue and has since been resolved.

@yinyihu-silabs It resolves as we update the matter SDK.

It onboarded and send on-off commands successfully for the master branch Matter SDK.


Malformed message_type rqt ROS2

- Operating System:
Ubuntu 18.04
- Installation type:
from source
- DDS implementation:
RTI Connext
- Client library (if applicable):
rqt
Receiving "malformed message_type" error on message types in rqt when attempting to use rqt_plot or topic monitor.
Ex:
[ERROR] [get_message_class]: Malformed message_type: std_msgs/msg/String
TopicInfo.__init__(): topic "/robot_description": can not get message class for type "std_msgs/msg/String"

This should be resolved on the latest HEAD on the crystal-devel branch. PlLease try it again to confirm that it is fixed for you.

I will go ahead and close this assuming the problem has already been resolved. Please feel free to comment on the closed ticket and if necessary it can be reopened.


[OAD007] No longer test the Client_Credential Flow as required by the test requirements

The OAD007 Test script currently executes the "Create Authorization and extract all information" which only performs the OAuth 2.0 authorization_code flow.  The test requires the OAuth 2.0 client_credentials flow be tested.

[FB_14] Authorization and Authentication test scripts [OAD014] Malformed Client Credentials Grant Access Token Request and [OAD015] Valid JSON structure returned during Data Custodian Client Credentials Access Token Request processing verify the target Data Custodian properly supports the OAuth 2.0 Client Credentials flow.
Closing Issue.


多个显卡信息是如何整合显示的

图片里红线标注的这个信息框是如何实现的？

I haven't figured that part yet but if I have some time, I will look into it :)


Feature/news ordering

Changes the default ordering on the News model (now by publish date rather than creation).
Adds ability to customise the pagination int on listview
adds searchable plugin text

Codecov Report

Merging #25 (a8900b2) into develop (64bff61) will increase coverage by 1.56%.
The diff coverage is 94.44%.

@@             Coverage Diff             @@
##           develop      #25      +/-   ##
===========================================
+ Coverage    89.91%   91.47%   +1.56%
===========================================
  Files           18       22       +4
  Lines          357      399      +42
===========================================
+ Hits           321      365      +44
+ Misses          36       34       -2

Impacted Files
Coverage Δ

news/cms_plugins.py
86.95% <ø> (ø)

news/models.py
74.25% <76.92%> (+0.85%)
:arrow_up:

news/admin.py
100.00% <100.00%> (ø)

news/forms.py
100.00% <100.00%> (ø)

news/migrations/0007_auto_20210812_0751.py
100.00% <100.00%> (ø)

news/migrations/0008_update_default_ordering.py
100.00% <100.00%> (ø)

news/migrations/0009_add_searchable_plugin_text.py
100.00% <100.00%> (ø)

news/tests/test_forms.py
100.00% <100.00%> (ø)

news/tests/test_views.py
100.00% <100.00%> (ø)

news/views.py
92.00% <100.00%> (+0.33%)
:arrow_up:

... and 5 more

Continue to review full report at Codecov.

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