Stuck in "updating joint firmware" when starting robot

After I turn the power on, the light on the arm will not be on.
And if I connect the PC with the control via LAN and access the <IP_ADDRESS> for the DESK interface, it is stuck and shows "updating joint firmware" and I cannot do anything else. Does anybody have this issue before? I am wondering how can I solve this issue?

Actually I solved it. This is a very weird situation. There is a "functional earth" on the base of the robotic arm and if you clamp that part to fix the arm, it will stuck.
So if you have the same issue, just check the earth part.
Hopefully it is helpful.


Relay choice update

📝 Summary
Refactoring of #186 to make the proposer config it's own package. This required some deeper refactoring to break out a bunch of things into separate packages, including new /common/ and /testutils/ packages.
It's not yet fully working, there's still an issue in the getPayload tests, and still WIP.
I'm unable to open this as a PR towards #186 because that's in another repository. So creating a new PR here and inviting @0xpanoramix and others to review this and create follow-up PRs against this PR.

✅ I have run these commands

[x] make lint
[x] make test-race
[x] go mod tidy

Codecov Report

Merging #270 (8399016) into main (a0bc224) will decrease coverage by 23.53%.
The diff coverage is 76.17%.

@@             Coverage Diff             @@
##             main     #270       +/-   ##
===========================================
- Coverage   84.03%   60.50%   -23.54%
===========================================
  Files           5        6        +1
  Lines         620      719       +99
===========================================
- Hits          521      435       -86
- Misses         74      262      +188
+ Partials       25       22        -3

Flag
Coverage Δ

unittests
60.50% <76.17%> (-23.54%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

common/relay_entry.go
85.71% <ø> (ø)

common/utils.go
38.70% <ø> (ø)

testutils/mock_relay.go
29.13% <44.00%> (ø)

proposerconfig/config.go
70.23% <70.23%> (ø)

server/service.go
70.16% <82.47%> (-13.88%)
:arrow_down:

testutils/mock_types.go
100.00% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

too many changes :(


6920 buggy caching between editors and embeds

This fixes #6920. When vizjson3 becomes created on its own instead of overriding vizjson2 I'll symbolize everything from the very beginning.
@javitonino CR this, please.

Looking good :+1:
I made a suggestion regarding the symbolization. Not very important if we will eventually generate vizjson3 from scratch.


secp256k1: Use lib functions instead of custom implementations?

In SECP256k1.swift we have implementations of ecdh and signing with pubkey recovery. On the other hand, the secp256k1 library that we use seems to have these functions baked in (see README).
Suggestion
Replace custom implementations of ecdh and signing with pubkey recovery in torus-utils-swift with function calls to the corresponding methods of the secp256k1.swift library.

Just to add more context to this issue. There is actually a discrepancy here between SPM and cocoapods. The secp256k1 for gigabitcoin is not available on cocoapods, the boilertalk secp256k1 is used instead.

The original issue I pointed out here is resolved in #66.
@metalurgical Anything else that is left open in your opinion? If so, please reopen or create a different issue.


Create managed disks outside of VM

Issue-id
PR Checklist

[X] I have added example(s) inside the [./examples/] folder
[ ] I have added the example(s) to the integration test list for normal (~30 minutes) or long runner >30 minutes
[X] I have checked the coding conventions as per the wiki
[X] I have checked to ensure there aren't other open Pull Requests for the same update/change?

Description

Does this introduce a breaking change

[ ] YES
[X] NO

Testing

Hello @arnaudlh i have fix based on your feedback :)

Is there any update on this PR?


Fragments are not diffed by React on route changes, if they didn't match any routes on initial page load.

See issue #171
Given fragments like so:
<Fragment forRoutes={ ['/foos', '/foos/:foo'] } >
  <Foos />
</Fragment>

<Fragment forRoute={ '/foos/:foo/bars/:bar' } >
  <Bar />
</Fragment>

If initial route leads to '/foos', the second Fragment for route '/foos/:foo/bars/:bar' won't load on a route change unless the parent component explicitly uses router's state.  React never diffs the second Fragment on subsequent route changes.
Although the workaround is as trivial always making sure the parent component loads in router's state, this doesn't seem very intuitive and might stump novice users.

Hrm, I wonder if I'm running into something related to this. I am not explicitly using the router's state anywhere, and my Fragments are rendering incorrectly. When I navigate to the homepage, I see everything as I'd expect. But navigated to another page isn't unloading the homepage Fragment, so other pages are stacked below home.
I'm also not quite sure I understand why I can access router from the props in the root component but my Fragments don't seem to be passing router down to their children.
Something is amiss.

Hey @MatthewPikar , Fragment now connect()s directly to the router state in master. Can you clone and see if this fixes your issue?
PS forRoutes never made it over from the AbsoluteFragment days, so it's probably not doing anything in your example.

This should be fixed in v14.0.0-0


Add CC-BY-SA LICENSE

Accepting this PR would clarify that this Distill article is licensed under CC-BY-SA, as already stated on the article itself.

Thanks @gabgoh !


Your code cannot compile

Hi, thanks. I haven't been around for a while. If you add all the Files to the VS Solution now it should compile, I just tried it yesterday.


[New game]: Rabbit Rush

🎮 Game Request
It is a simple rush game in which we have to save the running rabbit from hinderance in his path by jumping over it. During game, one monster follows the rabbit to catch it and we have save rabbit from it.
How to play:
The user has to simply tap on screen to jump over the hinderance in the path of rabbit.
Point down the features
Beautiful Graphics
Melodious background sound
Slow-Mo Mode
Fun to Play
Game can be Paused
Select program in which you are contributing
GSSoC23
Code of Conduct

[X] I follow CONTRIBUTING GUIDELINE of this project.

Hey @aditya-agr !
Thank you for raising an issue 💗
You can self assign the issue by commenting /assign in comment 😀
Make sure you follow CODE OF CONDUCT and CONTRIBUTING GUIDELINES 🚀
Don’t Forget to ⭐ our GameZone🎮
Make sure you join our Discord🕹

Please review my pull request. @kunjgit

/assign

It has been already assigned to me ?

Hey @ShubhaSwarup I had made this issue and already working on it. So please unassign yourself from this issue.

/assign

Hey @aditya-agr ! , This issue is already assigned to @ShubhaSwarup. 💗
You can work on other issues 🚀
If there is anything wrong you can contact us on Discord🕹👀

Hey @aditya-agr ! Thank you so much for your raising the issue💗
It’s all yours, you can come anytime again and make some contributions! 🚀
Alone, we can do little, but together we can do so much! 😇


New update message when there isn't an update available

This bug was already on previous versions, but it returned

Probably fixed after the last change, will check later


lock: fix flaky TestLockFailedRefresh

What does this PR change? What problem does it solve?
The comparison of the current time and the last lock refresh were using seconds represented as integers. As the test only waits for up to one second, the associated number truncation can cause the test to take longer than once second and thus to fail.
Switch to milliseconds to avoid this problem. This also slightly speeds up the test.
Example of a test failure: https://github.com/restic/restic/actions/runs/3256057712/jobs/5346027375

Was the change previously discussed in an issue or on the forum?
No.

Checklist

[x] I have read the contribution guidelines.
[x] I have enabled maintainer edits.
[ ] I have added tests for all code changes.
[ ] I have added documentation for relevant changes (in the manual).
[ ] There's a new file in changelog/unreleased/ that describes the changes for our users (see template).
[x] I have run gofmt on the code in all commits.
[x] All commit messages are formatted in the same style as the other commits in the repo.
[x] I'm done! This pull request is ready for review.

LGTM. Let's merge this before even more tests fail.


Make it work with API changes

Issue #73 describes the problem and the API changes.
I tested this API with Kimsufi servers only, so I don't know about SoYouStart.

Any chance of getting this PR accepted?

Thank you for this PR, it works like a charm with Telegram!
@MA3STR0 you should definitely merge this PR if you have the time.

Thanks!


Next feature: Timer & countdown working on background support

hi @pinomartin ,
This issue is resolved. Please install later version
and install react-native-background-timer

Thanks @hoaphantn7604


add package.json

would you please consider adding package.json so that we can add your lib on https://cdnjs.com.
thank you very much!
https://github.com/cdnjs/cdnjs/issues/5927

Done maruilian :+1:


End position of sigils are not correctly calculated

Hi, thanks for creating this project!
I was playing with the get_range function and found an issue when calculating the end position of some sigil calls. Adding this assert to the tests, demonstrates the problem:
test "sigils" do
  ...

  assert to_range(~S'''
          ~s"""
          foo
          bar
          """
          ''') == %{
            start: [line: 1, column: 1],
            end: [line: 4, column: 4]
          }
end

The error:
 1) test get_range/1 sigils (SourcerorTest.RangeTest)
     test/range_test.exs:315
     Assertion with == failed
     code:  assert to_range(~S"~s"""
            foo
            bar
            """
            ") == %{start: [line: 1, column: 1], end: [line: 4, column: 4]}
     left:  %{end: [line: 3, column: 2], start: [line: 1, column: 1]}
     right: %{end: [line: 4, column: 4], start: [line: 1, column: 1]}
     stacktrace:
       test/range_test.exs:346: (test)

As far as I could see, the issue might be related to not considering the length of the delimiter and the extra line when the delimiter is """ or '''.

Wow, that was fast! ❤
Thanks again for this project. I believe it can be a game changer for consistent source manipulation in Elixir.
One question. Is it possible to use sourceror to replace only parts of the code without touching other unrelated parts? For instance, we created a converter for the new Surface version that, among other things, updates the syntax of the templates to the new one. Currently, we're using regex to find/replace the content of the old ~H sigil into the new ~F, which is sub-optimal so I'm playing with sourceror to see if we could use it for that.
My first attempt was to use Sourceror.parse_string!/1 + Sourceror.postwalk/2 to replace the sigil node and then Sourceror.to_string/1 to get the new content and overwrite the original file. However, Sourceror.to_string/1 formats the whole content, not only the  parts related to the node I replaced. If the user is using the elixir formatter and the rules are the same, this is probably not a problem, however, if one doesn't use the formatter, we can expect many other unrelated changes in the code.
Do you think there's a way to achieve this in the context of this project? For instance, could Sourceror.to_string/1 (or maybe a another function) only replace the node's content if is has changed? Or do you think it's better to roll my own solution, maybe based on get_range or something similar?
Cheers.

That's something I am exploring now, in the context of fixes for credo issues. What I found useful to do was for the traversal to collect all the places that can be updated, and return a list of "fixes" to be applied at a later stage. The fix is either a %{range, text} or %{range, new_node} map.
What I'm trying to figure out now is for a reliable way to apply multiple fixes to a same file without the ranges of all but the first fix being "off", and also to take the indentation of the node being replaced into account. But the approach is pretty much the same as the one you described.
I believe Sourceror.to_string to be the primitive to convert a node into text(and preserve comments), and that more sophisticated "find and replace" kind of solutions would be built on top of it.
But yes, if we figure it out it would most probably be added to Sourceror, as an additional function, but for now it's a work in progress :)


yearChanged doesn't work

Im trying to use yearChanged method but the function never triggers. The calendar appear in the screen but the method doen't fired. Please help me.
Here is my code:
html

js code
var currentYear = new Date().getFullYear();
    var calendar = $('#calendar').calendar({
    	yearChanged: function(e) {
    		e.preventRendering = true;
    		alert('yearChanged');
    	}
    });

calendar.setYear(currentYear);

Hi, Ok that's kinda weird but lets do this, in this try of example repo dowload the files of the year calendar, maybe could be because do you have an older release, if this do not help please can you share a part of your code, can be linked to a fiddle or just load the files here and we'll see what's going on

Hello, you saved my life.  @William-H-M
I downloaded your repo I added the files of the calendar and some how my code works. Maybe I had wrong release.
Thank you very much

Hi, great maybe it was and older release as you said, now as this is solved, close this issue.
If any other problem just ask :)

Release downloaded from http://www.bootstrap-year-calendar.com/#Download dons't have yearChanged implementation.

Hi, @x0x01 can you please download the file from the repo as on the page is not updated, if not wrong.
In the repo we have
if(opt.yearChanged) { this.element.bind('yearChanged', opt.yearChanged); }
But on the page just
if(opt.renderEnd) { this.element.bind('renderEnd', opt.renderEnd); }
if(opt.clickDay) { this.element.bind('clickDay', opt.clickDay); }
if(opt.dayContextMenu) { this.element.bind('dayContextMenu', opt.dayContextMenu); }
if(opt.selectRange) { this.element.bind('selectRange', opt.selectRange); }
if(opt.mouseOnDay) { this.element.bind('mouseOnDay', opt.mouseOnDay); }
if(opt.mouseOutDay) { this.element.bind('mouseOutDay', opt.mouseOutDay); }

Hi there,
I wanted to store the year every time the yearChanged is fired. This is the my code:
yearChanged: function(e)
        {
            var tahun = $('#calendar').data('calendar').getYear();
            alert(tahun);
        },

However, the calendar is not displayed. When i opened the console, this is the error:
Uncaught TypeError: Cannot read property 'getYear' of undefined
    at HTMLDivElement.yearChanged (conv-calendar.html:33)
    at HTMLDivElement.dispatch (jquery-2.2.3.min.js:3)
    at HTMLDivElement.r.handle (jquery-2.2.3.min.js:3)
    at Object.trigger (jquery-2.2.3.min.js:4)
    at HTMLDivElement.<anonymous> (jquery-2.2.3.min.js:4)
    at Function.each (jquery-2.2.3.min.js:2)
    at n.fn.init.each (jquery-2.2.3.min.js:2)
    at n.fn.init.trigger (jquery-2.2.3.min.js:4)
    at b._triggerEvent (bootstrap-year-calendar.min.js:7)
    at b.setYear (bootstrap-year-calendar.min.js:7)

Is there any way to achieve this?


[CIS] evaluate the variables in the results/report

Moving it out to 2.4.x. The problem is that In the description of the test, there are variables like $apiserverconf which are not interpreted. This can be fixed by changing the code because most of those variables don't make sense in context of RKE.

I'd prefer not to re-write the text that comes directly from the CIS benchmarks as this is a huge maintenance on our end.
Anything that requires changes/remediation from RKE would be covered in the hardening guide which is what we ask users to follow to get a hardened cluster.


kubectl get --raw / stopped working

Rancher Server Setup

Rancher version: 2.6.7
Proxy/Cert Details: letsEncrypt, no proxy

Information about the Cluster

Kubernetes version: v1.23.6
Cluster Type (Local/Downstream):

downstream, imported k3s

User Information

What is the role of the user logged in? (Admin/Cluster Owner/Cluster Member/Project Owner/Project Member/Custom)

This is the question, which permissions are needed?

Describe the bug
We're deploying with shopify/krane, which discovers all api-paths at the start. Therefore makes a request
{
  "paths": [
    "/.well-known/openid-configuration",
    "/api",
    "/api/v1",
    "/apis",
    "/apis/",
....

This seems to have stopped working at some point for non-cluster-owners.
Question is what permissions are needed to be able to read that path or is this only possible for cluster-owners?
To Reproduce

create a cluster-member
get the kubeconfig, and
kubectl get --raw https://rancher/k8s/clusters/c-xybhd/

Result
Error from server (Forbidden): forbidden: User "u-xyz" cannot get path "/"
Expected Result
List of available api-paths:
{
  "paths": [
    "/.well-known/openid-configuration",
    "/api",
    "/api/v1",
    "/apis",
    "/apis/",
    "/apis/acme.cert-manager.io",
    "/apis/acme.cert-manager.io/v1",
    "/apis/admissionregistration.k8s.io",
    "/apis/admissionregistration.k8s.io/v1",

Screenshots

Additional context

Ok, it seems i need to create the following RoleTemplate:
~> kg roletemplates.management.cattle.io rt-cnk4f -o yaml

administrative: false
apiVersion: management.cattle.io/v3
builtin: false
clusterCreatorDefault: false
context: cluster
description: ""
displayName: get-api-resources
external: false
hidden: false
kind: RoleTemplate
locked: false
metadata:
  name: rt-cnk4f
projectCreatorDefault: false
roleTemplateNames: []
rules:
- nonResourceURLs:
  - '*'
  verbs:
  - get

But this seems impossible via the RoleTemplate-Editor:

results in the following rule, which doesn't work unless apiGroups is remove via kubectl edit:
...
rules:
- apiGroups:
  - ""
  nonResourceURLs:
  - '*'
  verbs:
  - get


Unpack Action Fails if the Canvas App does not contain any Component

Unpack Action Fails if the Canvas App does not contain any Component
Once a new component is created in the app and retry the unpack, the following error no longer occurs.
Extracting files from C:\Temp\CanvasApps\ChallengesApp(Developer1)_20200210091630.zip to C:\Temp\CanvasApps\ChallengesAppDeveloper1 Extracting App Challenges App - Attendees at Microsoft Ignite 2018 Power Platform in a Day event will use this app to complete a number of challenges using PowerApps, Flow, Common Data Service, SharePoint & Power BI. Extracting files from C:\Temp\CanvasApps\ChallengesAppDeveloper1\Microsoft.PowerApps\apps\1007466488935865233\N73e6a828-2800-4170-945d-546f5b1e7be8-document.msapp to C:\Temp\CanvasApps\ChallengesAppDeveloper1\Apps\Challenges App Extracting file C:\Temp\CanvasApps\ChallengesAppDeveloper1\Apps\Challenges App\Controls\1.json Extracting file C:\Temp\CanvasApps\ChallengesAppDeveloper1\Apps\Challenges App\Controls\28.json Extracting file C:\Temp\CanvasApps\ChallengesAppDeveloper1\Apps\Challenges App\Controls\3.json Extracting file C:\Temp\CanvasApps\ChallengesAppDeveloper1\Apps\Challenges App\Resources\PublishInfo.json Renaming auto named file 'C:\Temp\CanvasApps\ChallengesAppDeveloper1\Apps\Challenges App\Resources\nsvk01e5.jpg' to 'C:\Temp\CanvasApps\ChallengesAppDeveloper1\Apps\Challenges App\Resources\Logo.jpg'. System.IO.DirectoryNotFoundException: Could not find a part of the path 'C:\Temp\CanvasApps\ChallengesAppDeveloper1\Apps\Challenges App\Components'.    at System.IO.Enumeration.FileSystemEnumerator1.CreateDirectoryHandle(String path, Boolean ignoreNotFound)
at System.IO.Enumeration.FileSystemEnumerator1.Init()    at System.IO.Enumeration.FileSystemEnumerator1..ctor(String directory, Boolean isNormalized, EnumerationOptions options)
at System.IO.Enumeration.FileSystemEnumerable1..ctor(String directory, FindTransform transform, EnumerationOptions options, Boolean isNormalized)    at System.IO.Enumeration.FileSystemEnumerableFactory.UserFiles(String directory, String expression, EnumerationOptions options)    at System.IO.Directory.InternalEnumeratePaths(String path, String searchPattern, SearchTarget searchTarget, EnumerationOptions options)    at System.IO.Directory.GetFiles(String path)    at CanvasAppPackager.UnpackLogic.RenameAutoNamedFiles(String appDirectory) in C:\Users\DarylLaBar\source\repos\CanvasAppPackager\CanvasAppPackager\UnpackLogic.cs:line 120    at CanvasAppPackager.UnpackLogic.Unpack(String file, String outputDirectory, Args options) in C:\Users\DarylLaBar\source\repos\CanvasAppPackager\CanvasAppPackager\UnpackLogic.cs:line 59    at CanvasAppPackager.UnpackLogic.ExtractApps(String outputDirectory, Args options) in C:\Users\DarylLaBar\source\repos\CanvasAppPackager\CanvasAppPackager\UnpackLogic.cs:line 77    at CanvasAppPackager.UnpackLogic.Unpack(String file, String outputDirectory, Args options) in C:\Users\DarylLaBar\source\repos\CanvasAppPackager\CanvasAppPackager\UnpackLogic.cs:line 59    at CanvasAppPackager.Program.Unpack(Args options) in C:\Users\DarylLaBar\source\repos\CanvasAppPackager\CanvasAppPackager\Program.cs:line 79    at CanvasAppPackager.Program.Main(String[] args) in C:\Users\DarylLaBar\source\repos\CanvasAppPackager\CanvasAppPackager\Program.cs:line 39 Finished!

Hey @LinnZawWin does this work?
CanvasAppPackager.zip
If not, could you give me your export file so i can get it to extract smoothly?

@daryllabar That version in the comment above is working fine with no error for that "Components folder not found" issue.


Port setting is ignored in weaviate.client (rest settings)

In versions 3.0.0-beta.23 and 3.0.0-rc.0 the setting for port in the rest settings seems to be ignored.
If I set the host to http://localhost and port to 8080 I get an error message as soon as I try to interact with the API, e.g. this.client.collection.exists('MyClass')
ERROR error getting User: TypeError: fetch failed
ERROR TypeError: fetch failed

because the client seems to try and establish a connection at http://localhost:80.
When setting host to http://localhost:8080 everything works fine regardless of which port I specify in the port option.
Here is my code:
this.client = await weaviate.client({
	rest: {
		host: process.env.WEAVIATE_HOSTNAME_REST!,
		port: 8080,
		secure: isOnServer() ? true : false,
	},
	grpc: {
		host: process.env.WEAVIATE_HOSTNAME_GRPC!,
		port: 50051,
		secure: isOnServer() ? true : false,
	},
	auth: {
		apiKey: process.env.WEAVIATE_API_KEY!,
	},
});

For grpc the host and port settings are used as expected.
See also: https://forum.weaviate.io/t/fetch-error-between-ts-client-and-weaviate-when-deployed-with-docker-compose-on-windows/2146/4?u=accesspointai

When I leave out the leading http::// in the host setting, everything works fine.
The issue is located in node/esm/index.js, line 91 (3.0.0-rc.0). I propose to change it to
? `${params.rest.host}:${params.rest.port}${params.rest.path || ''}`

Hi @tritos-design, thanks for flagging this one! It's actually not intended that users provide the host parameter as http://localhost since this is a URL. This is why the client infers that the port must be 80 in such a case.
I will refactor for the next release indicating that the http:// prefix should not be supplied with a warning. To specify whether a connection should be encrypted, the secure boolean should be used instead 😁


[Bug] RangeSlider right flow direction issue

Description
RangeSlider with FlowDirection RightToLeft became unreadable
Workaround
keep the flow direction LeftToRight for control
Reproduction imagery

Reproduction Link

Hi @alzubitariq
Thanks for your report)
What do you expect to see when RTL is enabled? The same result as LTR or something should be changed?

@AndreiMisiukevich Hello ,
just with this options the view became unreadable

@alzubitariq I mean what do you expect to see? What is expected behavior?

hi @AndreiMisiukevich
when FlowDirection is RightToLeft, is it possible for the control to just flip horizontal ? see image


Optimization levels 2 & 3 behave like 1

closes #215

I changed the examples to use level 1, but I'm not sure that's the right thing to do.  Are the secondary level optimization settings different for the different levels?  Do the secondary level settings even work now?

I changed the examples to use level 1, but I'm not sure that's the right thing to do.

I think that makes sense. To make it more explicit everything is level 1 now.

Are the secondary level optimization settings different for the different levels? Do the secondary level settings even work now?

They'll work with all levels (except maybe 0).


Github stuff for goose (Readme, CI, update go.work.sum)

What:

Why:

How:

Risks:

Checklist:

[x] Added tests, if you've added code that should be tested
[x] Updated the documentation, if you've changed APIs
[x] Ensured the test suite passes
[x] Made sure your code lints
[x] Completed the Contributor License Agreement ("CLA")

Codecov Report
All modified lines are covered by tests :white_check_mark:

Comparison is base (05c7785) 58.83% compared to head (faf804c) 33.35%.

Additional details and impacted files
@@             Coverage Diff             @@
##             main      #47       +/-   ##
===========================================
- Coverage   58.83%   33.35%   -25.49%
===========================================
  Files          72       17       -55
  Lines        8318     1799     -6519
===========================================
- Hits         4894      600     -4294
+ Misses       3103     1159     -1944
+ Partials      321       40      -281

Files
Coverage Δ

goose/query/query.go
43.06% <ø> (ø)

goose/query/validate.go
100.00% <ø> (ø)

goose/report/log.go
0.00% <ø> (ø)

goose/report/prometheus.go
100.00% <100.00%> (ø)

goose/report/util.go
100.00% <ø> (ø)

... and 64 files with indirect coverage changes

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


fixes to TypeScript steps

There was an error while validating job cc1f99d1-d4a4-41d0-8d16-349b66faf87f Message:Error clonning repositoryDetails:System.ArgumentException: Error clonning repository ---> System.Exception: Error when trying to initialize shared repository ---> LibGit2Sharp.NotFoundException: Branch 410 not found. Available branches:
at Microsoft.DPS.Services.LibGit2SharpSourceControlProvider.GetBranch(Repository repo, String name)
at Microsoft.DPS.Services.LibGit2SharpSourceControlProvider.<>c__DisplayClass3e.b__3d()
at Microsoft.Practices.EnterpriseLibrary.TransientFaultHandling.RetryPolicy.<>c__DisplayClass1.b__0()
at Microsoft.Practices.EnterpriseLibrary.TransientFaultHandling.RetryPolicy.ExecuteAction[TResult](Func1 func)    at Microsoft.Practices.EnterpriseLibrary.TransientFaultHandling.RetryPolicy.ExecuteAction(Action action)    at Microsoft.DPS.Services.LibGit2SharpSourceControlProvider.InitializeSharedRepository(String url, IDictionary2 branches, String sharedRepoPath)
at Microsoft.DPS.Services.LibGit2SharpSourceControlProvider.VerifySharedRepository(String url, IDictionary2 branches, String tempPath)    --- End of inner exception stack trace ---    at Microsoft.DPS.Services.LibGit2SharpSourceControlProvider.VerifySharedRepository(String url, IDictionary2 branches, String tempPath)
at Microsoft.DPS.Services.LibGit2SharpSourceControlProvider.CloneRepository(String url, IDictionary2 branches)    --- End of inner exception stack trace ---    at Microsoft.DPS.Services.LibGit2SharpSourceControlProvider.CloneRepository(String url, IDictionary2 branches)
at Microsoft.DPS.Services.LibGit2SharpSourceControlProvider.CloneRepository()
at Microsoft.DPS.Services.LibGit2SharpSourceControlProvider.GetTreeAsync(String path, Boolean includeSubDirectories, String excludePath, IList1 extensionWhiteList)    at Microsoft.DPS.Commands.IdentifyDocumentsToPublish.ListSourceControlFilesCommand.Do(IDictionary2 context)
at Microsoft.LightweightJobEngine.Core.Language.JobWorkflow1.RunCommands(Guid jobId, IDictionary2 context, CancellationTokenSource cancelSignal)


Chart disappeared, console error logs are shown

Hi,
I've left home assistant dashboard opened for a while on a tab. When I went back, the charts were only a white rectangle, and the console had this kind of errors:

Opening the charts on a new tab loads the charts correctly, the failed tab still only shows the error logs.

Do you know how much time it took to get to this state?
Also, could you please share your config to see if I see something that would generate this issue?

It didn't take too long, 20-30 minutes max. I have configured 5 apex charts, 2 of them are still working (and updating!) till this minue on that tab, and 3 went to this state.
the failed ones:
      - type: custom:apexcharts-card
        header:
          show: true
          title: hőmérséklet
        graph_span: 24h
        series:
          - entity: sensor.benti_homero_temperature
            name: benti
            float_precision: 2
            color: '#C9341C'
          - entity: sensor.kinti_homero_temperature
            name: kinti
            color: '#0191C8'
            float_precision: 2
        apex_config:
          stroke:
            width: 2
          grid:
            strokeDashArray: 0
            xaxis:
              lines:
                show: true
      - type: custom:apexcharts-card
        header:
          show: true
          title: páratartalom
        graph_span: 24h
        series:
          - entity: sensor.benti_homero_humidity
            name: benti
            float_precision: 2
            color: '#C9341C'
          - entity: sensor.kinti_homero_humidity
            name: kinti
            color: '#0191C8'
            float_precision: 2
        apex_config:
          stroke:
            width: 2
          grid:
            strokeDashArray: 0
            xaxis:
              lines:
                show: true
        - type: entities
          title: Konnektorok
          entities:
            - entity: switch.0x04cf8cdf3c7c114e
              name: hálószoba
            - entity: switch.nappali_konnektor
              name: nappali
        - type: custom:apexcharts-card
          graph_span: 24h
          series:
            - entity: sensor.0x04cf8cdf3c7c114e_power
              name: hálószoba
            - entity: sensor.nappali_konnektor_power
              name: nappali
          apex_config:
            stroke:
              width: 2
            grid:
              strokeDashArray: 0
              xaxis:
                lines:
                  show: true

the working ones:
      - type: custom:apexcharts-card
        header:
          show: true
          title: net sebesség
        graph_span: 24h
        series:
          - entity: sensor.speedtest_download
            name: le
          - entity: sensor.speedtest_upload
            name: fel
        apex_config:
          stroke:
            width: 2
          grid:
            strokeDashArray: 0
            xaxis:
              lines:
                show: true
          tooltip:
            followCursor: true
            fixed:
              enabled: false
      - type: custom:apexcharts-card
        header:
          show: true
          title: kinti hőmérséklet (7 nap)
        graph_span: 7d
        span:
          end: day
        series:
          - entity: sensor.kinti_homero_temperature
            group_by:
              duration: 24h
              func: max
            curve: straight
            extend_to_end: false
            name: max
            float_precision: 2
            color: '#C9341C'
          - entity: sensor.kinti_homero_temperature
            group_by:
              duration: 24h
              func: avg
            name: átlag
            float_precision: 2
            curve: straight
            extend_to_end: false
            color: '#99CC00'
          - entity: sensor.kinti_homero_temperature
            group_by:
              duration: 24h
              func: min
            color: '#0191C8'
            curve: straight
            extend_to_end: false
            name: min
            float_precision: 2
        apex_config:
          stroke:
            width: 2
          markers:
            size: 4
          grid:
            strokeDashArray: 0
            xaxis:
              lines:
                show: true

Thanks. I don't see anything wrong.
By any chance, did you either reload integrations, entities, home-assistant anything that could have made some entities disappear during that period of time? I'm trying to reproduce it, for now I can't.

No, haven't reloaded anything. I'm also trying to reproduce it, without luck for now. Will let you know if I can :)

Can I extract any more useful debug info from the failed tab? Or can I close it? :D

It seems that in the screenshot some parts are missing at the end, it might be useful.
Also if you are not using the latest beta, I'd suggest you also update. I've fixed a bunch of stuff there.

Sure.  Thanks!

Did it rehappen since then, and also with the latest version?

No, haven't been able to reproduce. You can close it if you'd like to, I'll let you know if it breaks again.

Thanks 👍


Also add style for other input elements

Currently there is only [type="text"] and [type="button"] styled. But there are so many more: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes
So I've already tried some tweaks, but there is no perfect solution without having a selector that contains all this types (or at least the most common)
Like this (messy & not classy 😅):
input:not([type=submit]):not([type=radio]):not([type=checkbox]):not([type=reset]), select
/* or this */
input[type=text], input[type=password], input[type=email], input[type=number], input[type=search], input[type=url], input[type=tel], input[type=datetime], input[type=color], input[type=date]

in forms.css#L6
So the other point is, this framework should cover this (or at least some of the most common types) in my opinion - but it would make also the filesize bigger.

gist of the screenshot

Yes, I have been thinking about this as well, the problem is that it will add more file size, so the first step is to fix up #10. Which will reduce the file size, then I can start adding more inputs.
What input's should be added?
All I think is critical:

Radio
Checkbox

If you have any other ones, please let me know.
Thanks. :+1:

The file size is already tiny but, this could be added as a module to be included if desired? Also, you need to add height to select to make it the same height as text input...  Awesome stuff!

@ShaggyDude Thanks for the feedback, I guess I could add it as a module, but I am working on it being included with Wing so stay tuned!
Also, what browser are you seeing the select input on? It already has height on Chrome, on Macs there are some problems however...
Thanks!

@CodeBrauer @ShaggyDude I added support for input type text, password, email, and a couple other common ones, I will be adding support for radio and checkbox soon.

@KingPixil Can you please also add support for input file, input url and input tel?

I'll work on it @Kcchouette 👍

Added it @Kcchouette, it will be in v1


Not able to commit using Node developer environment and GitHub Desktop

First of all, I feel like I'm missing something here. Tried to go through the docs, but wasn't able to find a fix myself. Sorry if this isn't actually an issue.
I tried to commit using a Node developer environment and GitHub Desktop, but I faced this error on GitHub Desktop:
env: node: No such file or directory
husky - pre-commit hook exited with code 127 (error)

However, running git from the CLI worked just fine. The husky pre-commit hook ran and I was able to commit successfully.
I have my Node version set for this project using .node-version file:
cat .node-version
───────┬───────────────────────────────────────────────────────────────────────────────────────────────────────────────────
       │ File: .node-version
───────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────────────
   1   │ 16.20.0
───────┴───────────────────────────────────────────────────────────────────────────────────────────────────────────────────

And running node -v returns the correct Node version:
node -v
v16.20.0

Yeah sorry, I only just added docs for this—this morning!
https://docs.tea.xyz/getting-started/using-tea#other-editors
If you make a symlink for node to tea in your PATH then GitHub Desktop etc. should use the dev-env specified git because the CWD will be set correctly.
Otherwise tea will use the latest node installed.
This is an area we are trying to improve until everything just works. I have more ideas up my sleeves.

Yeah sorry, I only just added docs for this—this morning!
docs.tea.xyz/getting-started/using-tea#other-editors
If you make a symlink for node to tea in your PATH then GitHub Desktop etc. should use the dev-env specified git because the CWD will be set correctly.
Otherwise tea will use the latest node installed.
This is an area we are trying to improve until everything just works. I have more ideas up my sleeves.

Thanks! I'll try it later 🙌


Sampling From Each Group

Closes #124 by adding the parameter per_instance, which determines whether or not the sampling should be applied to each group. Working through the code, it made sense to make this parameter boolean. This added more functionality by allowing users to sample a fraction of the labels from each group.

This PR was repurposed to apply the changes from #144.


Fix epsilon handling.

Thanks for the PR
I didn't setup a CI yet.  Did the experiments run fine?

Hi, I merged your other PR and it conflicts with this one. could you please check it out and update it?

Ok, I see that @mattsqerror already prepared and improved this.

yeah thanks for pointing that out


HBASE-26854 Shell startup logs a bunch of noise

Simple changes to jar-bootstrap.rb are required after switching the logger to Log4J v2.
Refer to https://stackoverflow.com/questions/23434252/programmatically-change-log-level-in-log4j2

Manually verified. Just the native code loader warning from Hadoop, as expected.
apurtell@buildbox:~/tmp/hbase-3.0.0-alpha-3-SNAPSHOT$ ./bin/hbase shell
2022-05-26T17:11:34,453 WARN  [main] util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
HBase Shell
Use "help" to get list of supported commands.
Use "exit" to quit this interactive shell.
For Reference, please visit: http://hbase.apache.org/book.html#shell
Version 3.0.0-alpha-3-SNAPSHOT, r79b3588d86a7c0f7b6131936ee85b2259aa337ef, Thu May 26 17:09:08 PDT 2022
Took 0.0009 seconds
hbase:001:0>

While we are at it, we can trivially silence WARNs from Hadoop libraries too, unless debug mode is enabled with -d.
apurtell@buildbox:~/tmp/hbase-3.0.0-alpha-3-SNAPSHOT$ ./bin/hbase shell
HBase Shell
Use "help" to get list of supported commands.
Use "exit" to quit this interactive shell.
For Reference, please visit: http://hbase.apache.org/book.html#shell
Version 3.0.0-alpha-3-SNAPSHOT, r644756d2cfdc025e44b59390a77b67baa18fa6ff, Thu May 26 17:19:57 PDT 2022
Took 0.0008 seconds
hbase:001:0>

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
1m 19s
Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s
No case conflicting files found.

+1 :green_heart:
@author
0m  0s
The patch does not contain any @author tags.

_ master Compile Tests _

+1 :green_heart:
mvninstall
2m 53s
master passed

+1 :green_heart:
spotless
0m 46s
branch has no errors when running spotless:check.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
2m 30s
the patch passed

-0 :warning:
rubocop
0m  3s
The patch generated 1 new + 7 unchanged - 1 fixed = 8 total (was 8)

+1 :green_heart:
whitespace
0m  1s
The patch has no whitespace issues.

+1 :green_heart:
spotless
0m 46s
patch has no errors when running spotless:check.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
3m  3s
the patch passed

+1 :green_heart:
javadoc
0m 14s
the patch passed

_ Other Tests _

+1 :green_heart:
unit
8m 46s
hbase-shell in the patch passed.

20m 21s

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4469/1/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/4469

Optional Tests
javac javadoc unit

uname
Linux b8e8c88dd690 5.4.0-1043-aws #45~18.04.1-Ubuntu SMP Fri Apr 9 23:32:25 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
master / fdf054de2c

Default Java
AdoptOpenJDK-1.8.0_282-b08

javadoc
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4469/1/artifact/yetus-jdk8-hadoop3-check/output/branch-javadoc-hbase-shell.txt

Test Results
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4469/1/testReport/

Max. process+thread count
1495 (vs. ulimit of 30000)

modules
C: hbase-shell U: hbase-shell

Console output
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4469/1/console

versions
git=2.17.1 maven=3.6.3

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

Thanks, will apply back to branch-2.5. Thanks for the review @busbey

Thanks for the review @virajjasani


[Task] Allow Comment Entry

When this task is complete, clicking on the "Add Comment" button and selecting a place for the comment should open up a dialog that allows comment text to be entered.


Translate.py - Added the option to translate a file

With this pull request you can easily translate/test a batch of sentences, which makes it easier to see how good your trained model is.
If you specify a filename this functionality is used, if you don't specify anything the script continues to function as it used to.

Can one of the admins verify this patch?

I signed it!

Can you move this PR over to github.com/tensorflow/models? We have moved the models to that repo. You can call out @nealwu for a review.


include passcode

added additional info on the new step of the passcode

Thank you! By the way I think it'd be good to also put the monthly key in the description of the channel (as opposed to only in a message), it might be easier to find. In any case, thanks a lot for the PR!


Unable to get permission to notify: messaging/permission-blocked

The messaging quickstart fails with:
code: "messaging/permission-blocked"
message: "Messaging: The required permissions were not granted and blocked instead. (messaging/permission-blocked)."
stack: "FirebaseError: Messaging: The required permissions were not granted and blocked instead. (messaging/permission-blocked).↵    at d (https://www.gstatic.com/firebasejs/3.7.1/firebase.js:558:200)"

The interesting thing is if I use simplehttp2server to serve the app over https, I don't see this error, but the Service Worker fails to load because of an SSL certificate error (from self-signed certificate).
Steps to reproduce

Run the following commands:

git clone https://github.com/firebase/quickstart-js.git
cd quickstart-js/messaging
firebase init # accept defaults at prompt

Copy Firebase config snippet from Firebase Console, and paste it into index.html after the START INITIALIZATION CODE comment.
Run firebase serve -p 8081 --debug
Open a Chrome incognito window to http://localhost:8081 (or the URL shown in console)
Click REQUEST PERMISSION
Observe nothing happens.
Open DevTools console.
Observe the messaging/permission-blocked error message.

Environment

firebase-tools 3.5.0
macOS Sierra 10.12
Chrome 56.0.2924.87 (64-bit)

If you click on the Badge / Text to the left of the URL in the URL bar - is the notification permission blocked?

Yep, it's blocked (although I never received a prompt in the first place). Changing it to Ask (default) and reloading does not result in a permissions prompt when clicking REQUEST PERMISSION. The same error occurs (and the notifications are automatically blocked somehow).

Looks like a known issue:
http://stackoverflow.com/questions/41777680/firebase-notification-are-not-working-in-chrome-incognito-mode
@puf:

Notifications to Chrome using Firebase Cloud Messaging are disabled in incognito mode.

@gauntface:

This is largely dependent on the browser.
The reasoning from the Chrome side is that the expectation is unclear from the users point of view. If you enable push in an incognito window and then close it, should you still receive push messages?
In Firefox I had a number of problems diagnosing an unusual setting I had on where Firefox would not write any files to disk, this lead to service workers not being install-able, even though the API was there, took a while to learn it was the security setting that was the issue.

I think Chrome and/or messaging quickstart should warn the user against using incognito.

So, is there any workaround for this? or we don't have a chance to use FCM in incognito?


Migration files is not add to migrations table when make new modules

After add some modules throught UI, but migratons table is not updating - so after :
php artisan migrate
i got
[Illuminate\Database\QueryException]                                            SQLSTATE[42S01]: Base table or view already exists: 1050 Table....

Hi,
You need to create the migration after creating module.
There is button to generate migration file.
Best Regards,

I click that but migration file is not generated.
07.11.2016 06:46 "Ganesh Bhosale"<EMAIL_ADDRESS>napisał(a):

Hi,
You need to create the migration after creating module.
There is button to generate migration file.
Best Regards,
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/dwijitsolutions/laraadmin/issues/100#issuecomment-258752214,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AM7tAcZl-7iveFCBZK21CowWdQq-C_Ttks5q7rsxgaJpZM4KqZHC
.

Check if you have write permissions for migrations folder

chmod -R 755 database/migrations/ helps
Thats good to add this to installation manual.

Surely

Thats other problem, migration file is created fine, but in database in migration table there is no row for new module. Look at this video : https://drive.google.com/file/d/0B7LCPwHjqrKDaFh6MW1ReER3aFU/view

Hi, what about that? Have you seen this?

Your video is not visible.

Here is file. Fact is that when i made module, I'm looking for row in database in migrations, but there is no. When I make artisan migrate there is error because system try to add new module table next time.
screen.webm.zip

I think its done now :+1:
Let me know ASAP.
Best Regards,


CV capacity summary statistic

This adds a CV capacity summary statistic for both regular and diagnostic cycles, which is distinct from the CV time and current stats I added previously. I included a regression test.
After merging I would appreciate a re-run of structuring on AWS for PreDiag and PredictionDiagnostics data sets.

tests failed due to a coveralls error, once they pass we should merge


AGP bumped to 8.1.1

closing this since the AGP migration is at dev/interactive-player already (the feedback addressed at the corresponding branch)


Ka/use full strain

Change LinearElastic and Plastic to use the full strain instead of the strain increment.

Codecov Report

Merging #31 (d6a52dd) into main (b210796) will decrease coverage by 0.30%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main      #31      +/-   ##
==========================================
- Coverage   94.55%   94.24%   -0.31%
==========================================
  Files           7        7
  Lines         312      313       +1
==========================================
  Hits          295      295
- Misses         17       18       +1

Impacted Files
Coverage Δ

src/LinearElastic.jl
100.00% <100.00%> (ø)

src/Plastic.jl
98.30% <100.00%> (+0.05%)
:arrow_up:

src/wrappers.jl
81.66% <0.00%> (-1.67%)
:arrow_down:

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 b210796...d6a52dd. Read the comment docs.

Still needs to be changed for CrystalViscoPlastic, but I'll merge these so that we can build up on them already.


CPU problems

intellibot doesn't seem to be able to deal with robot/resource files if they are relatively big.
When I open a resource file that has ~1K lines of code (keywords) the CPU utilization goes up to 25-30% and stays there as long as I'm not doing anything with the IDE.
If I press ctrl+space (i.e. autocomplete window shows up) the CPU utilization goes down to 5%.
--> is there some sort of background scanning that it always on?
I also have big test suite (i.e. robot file) with >5K lines of code, if I open that one and have a couple of resource files open then the CPU load is permanently ~80% and if I try to edit those files the CPU goes over 90% and the editor becomes sluggy (there's 0,5s of delay after typing a key)
I have this problem on two PCs, one desktop with intel i5 (and 4GB of RAM) and a laptop also with i5 (and 8GB of RAM)

I am not sure if there is a good way for me at address this.  Do you know if the slowdown happens during the parsing of the file for syntax (coloring), the resolving of keywords and such or the inspections?  You might be able to tell based on what the IDE is doing.  There is caching that happens, but these large files might just be too large.
Refactoring your code into smaller files should help.  The project we have has multiple hundreds of files, though they are not quite as large as you mention (100-200 lines i would say).  This way the IDE does not have to parse it all in one go, more as encountered.  Though one of our project's files pulls in others so and so forth, so it fans out quickly.  But the IDE never grinds to a halt.  I think that is part of it.  Plus a change in the file would cause it to have to parse and analyze parts of it again.
Note that in some cases the IDE has crashed when there are unexepected combinations of parsing.   Somehow it gets into infinite loops of sorts.  Something more like #103.

Don't know when this happens - is there a possibiliy to enable some logging/profiling to see what's happening?
I don't think that this is only because of large files - if it would be so then the CPU load should be less after a while (i.e. after all parsing+coloring etc. is done). In my case the CPU load is permanently high = the plugin does something all the time.
Does intellibot detect "circular" imports? E.g. file-A imports file-B + file B imports file-C + file C imports file-A. If not, this could cause an infite parsing loop ...
PS.
The IDE doesn't crash or freeze, it just becomes sluggish i.e. you can still work with it, but the response times are not what they should be...

yes i think the case of a circular import is covered, but I will check.
You can enable profiling of sorts in the Robot Options.  Data will then start to be logged into the Event Log.  This will show what sort of files the IDE is looking for as well as timing for parsing of various parts.  I need to add this to the wiki, but here are the screen shots.

https://github.com/millennialmedia/intellibot/wiki/Robot-Options

thanks, I'll have look at this. Will take a couple of days because I'm busy with other stuff...

There doesn't seem to be anything special in the event log:
There are the usual [RobotFileManager] "attempting..." etc. logs
The only suspicious entry is this:
07:31:03 Debug: [largeFile.robot][resolve][My Keyword] 999ms
But for some reason the CPU load is now constantly ~40% = IDE is responsive, 40% is still quite much, but those peaks >80% are not occurring. I'll keep the debug trace on and let you know if the IDE becomes sluggish again...

I have had the logs on for some time, and the IDE also been sluggish quite a few times.
There's nothing suspicious in the logs, the above example could be complemented like this:
07:31:03 Debug: [test suite or resource file][resolve][A Keyword or Variable] <anything up to 15000>ms
This could also be generic issue with PyCharm - I found some articles about PyCharm performance issues in general, e.g.
https://devnet.jetbrains.com/docs/DOC-1212
https://intellij-support.jetbrains.com/hc/en-us/articles/206827577-Reporting-performance-problems
I'll have a look at those and see if they bring help...

So in the cases where the is >10000ms, are those particularly buried keywords, like an import of import of an import? or an import of a particularly large file or something? is there a common link between the long parsing items?

Nope, mostly direct imports and at most import of an import.
There's also one slightly different debug log:
09:41:09 Debug: [resourcefile_1500lines.txt][files from invoked keywords][*** Keywords ***] 209688ms

i will take a look at code around that area.
Does the 1500 line file import multiple other 1500 line files?

No, only some standard Libraries (Collections, etc.)

I fixed a couple of issues around end of file errors.  this was giving me some IDE sluggishness.  It is hard to say if this will correct your issue without getting my hands on the file.

Thanks for the info, in which release are those fixes?
Some updates on my side:

Meanwhile I'm on PyCharm 5.0.3 and Intellibot 0.6.9
I refactored my test suites (i.e. that >5K lines file), the IDE hasn't been sluggish for a while but there are still long resolution times e.g. 10:42:20 Debug: [suite_with_300_lines.robot][files from invoked keywords][*** Test Cases ***] 168857ms
the above suite imports directly 1 "common" resource file (with 600 LoC), 4 resource files (with 1800, 400, 1600 & 300 LoC) and some standard libs
those 4 resource files all import that "common" resource file

That would be the most current release 0.8.x


Desync - Browsing source control changes

While browsing through changes from the source control tab (without making any edits), I received a desync error notification.

Closing as stale.


update base path for docs to edit

the current path for the "edit this page" link is broken, so this commit fixes it. It also adds a more explicit title to the edit link.

I can easily rebase out that link text change if you prefer to keep it as is, or you can do it, or whatevs. :tipping_hand_man: :tophat:

No whatevs, good spot.


UI: Options screen

We could use a front-end for the various config settings in the game UI. The pieces are there already, although any config setting changed away from the default (stored within the source tree) still need to be persisted to an external config file.
Additionally settings that can't easily be set/changed within the game might need to start in an external config file to be editable there, if different from the default setting within the source tree
Not terribly complicated (to get started on, anyway) or needed in a hurry, so marking this contributor friendly.

#132 and #133 now relate to this / are dependencies for this, maybe @small-jeeper or @KaiKratz could work this next :-)

Question: Are all GUI elements ready to use? (Checkboxes, Sliders, ComboBoxes, FileDialogs) ?

Not sure - @begla put them in there, he'd probably know :-)

Non of them were created by me and I did not have the time yet to play with them. Ask Anton! :)

Ah, I meant to say (I think) you put the initial GUI stuff in the game, but none of this last stuff, which yeah might contain new stuff - I also haven't had time to get deep into any of that ... :-)

I came back. I think this task is for me.

need to integrate the config fix first :) but feel free to get started!

Implemented a simple options menu in c4234cd83356c89e9f5d7aa6ff5154661f2200c2.


Router RegEx not working.

RegEx not working in router. I use this
[a-z0-9\x{0980}-\x{09ff}-]+$/u
RegEx but Codeigniter throw a error out over of range system/Router/Router.php on line 425

Sorry, but we don't allow to set regex flags or delimiters. But I guess we should support u by default.

Sorry, but we don't allow to set regex flags or delimiters. But I guess we should support u by default.

Thank you now it's working and router RegEx now support Unicode.

I'm reopening this issue since it's not resolved yet.
@mmrtonmoybd it would be great if you could check #3172 and see if it works as it should.

Unicode router not working with place holder.
Like this :
$routes->addPlaceholder(':category', '([a-z\x{0980}-\x{09ff}-]+)');
$routes->addPlaceholder(':pslug', '([a-zA-Z0-9\x{0980}-\x{09ff}-]+)');
$routes->add('(:category)/(:pslug)', 'Single::index/$1/$2');
But it is working on segment like this
$routes->add('([a-z\x{0980}-\x{09ff}-]+)/([a-zA-Z0-9\x{0980}-\x{09ff}-]+)', 'Single::index/$1/$2');

I just checked it and it works fine. I added a test for this to make sure.
I believe your definition for placeholder is incorrect. Try this one:
$routes->addPlaceholder(':category', '[a-z\x{0980}-\x{09ff}-]+');
$routes->addPlaceholder(':pslug', '[a-zA-Z0-9\x{0980}-\x{09ff}-]+');

$routes->add('(:category)/(:pslug)', 'Single::index/$1/$2');


[Feature] Explore using testing-library instead of the custom render function

Problem
The custom render function is fine and works great, but testing-library establishes consistent patterns for testing with accessibility in mind. For example, rather than using just any selector to find elements in a test container, you're encouraged (via the API) to retrieve elements by accessible attributes like role or the text value of an element. Instead of retrieving elements by an fake testing id for example, you would select the element via its role or by the rendered text. This is all made simple and natural through the screen utility that testing-library exports.
This makes our tests work much more closely to how people actually use our components (navigating by role and text on the screen/being read out).
testing-library also has a userEvent utility that can more closely simulate user triggered events. For example, a click event is also accompanied by a mousedown and mouseup event, but calling wrapper.trigger('click') does not simulate that fact. userEvent.click does.
Alternatives
Just sticking with the current implementation but focusing on using accessible attributes for selecting elements. I think this is fine but is harder to enforce and teach about. Whereas testing-library already has these concepts built into it making it more natural to follow.
Additional context
I don't think we'd need to just replace all the existing tests with ones written in testing-library. It could be a slow process to convert all the existing tests to use it, but it doesn't have to happen all at once if we decided to go with this approach.
testing-library is a thin wrapper around the @vue/test-utils, just like the current render function we have. In that way, the API for the render function would remain the same, but the return value would be different, instead returning the testing-library container AND rendering the actual HTML into JSDom, rather than acting over the faked out Vue instances. This, again, makes our tests more closely match how they're actually used by users when they're rendered into a page.
Implementation

[x] 🙋 I would be interested in implementing this feature.

I think this would be great for accessibility for the end users, and for developers to take accessibility into consideration in every change we make. I'm very excited to try testing-library!

@sarayourfriend does #185 also close this? Alternatively, could we update this ticket to track the integration of testing-library into all tests?

@dhruvkb what do you think is best? If we're okay moving forward with testing-library then perhaps a separate issue to track the integration into all of the tests would be best? It'll require some extra work to re-write all those tests but it could be worth it if we want to consolidate around a single solution for testing.
On the other hand, if those tests already work, we could just recommend testing-library moving forward instead of retroactively refactoring everything to a different library.
What do you think?

We clearly agree about using testing-library for all component tests moving forward. It makes sense to use a library that's built from the ground up around an accessibility-focused mindset.
For the existing tests, I think it's good to move them to testing-library gradually to both ensure good a11y and, as you put it, to "consolidate around a single solution for testing". We're about to go into a design overhaul soon so I'd recommend all PRs touching an existing component to migrate the tests as well?
When we have consensus from @obulat and @krysal, we should close this issue.

Just wanted to note that there are some limitations to testing-library that we'd have to overcome somehow. For example, testing-library doesn't expose the vm property from the @vue/test-utils wrapper, meaning we can't use workarounds like in this test suite for special Nuxt properties:
https://github.com/WordPress/openverse-frontend/blob/eff5cc6b0e50282720f737dd5ff1890f678a1188/test/unit/specs/components/download-button.spec.js#L43-L47
For the meantime, we won't be able to fully move away from using @vue/test-utils but most test suites should be convertable I think 🤞

I totally agree with this move. I've been reading the library docs these days and its guiding principle makes so much sense:

The more your tests resemble the way your software is used, the more confidence they can give you.

Updating each component whenever it's possible to use it seems right to me, a progressive change while also we get to know the methods it provides and the best way to use them.

Closing this, as we've successfully switched to testing-library for most of our new tests.


Zib-SNAQ65+Score

Validation error w.r.t. zib profile does not seem valid, as the code is present in the Dutch extension of SNOMED (checked by performing a local QA).


Play Scene/Camera not working in Unity 2021.2.2f1

Whenever you load one of the scenes to test it out it's working in the Scene editor perfectly but when switching over to Play Mode it doesn't seem to load anything, only showing a black screen.
Disabling the cameras Post processing allows the camera to function normally but without the effects.
Possible fix:
Go into the file "Assets/UniversalRenderPipelineAsset.asset" in Unity.
In the Inspector select the "Depth Texture" option to enable it.
After enabling the Depth Texture option it seems to be working like normal with no issues.
I am unaware if it was supposed to be enabled by default but through my experience it was not.
For further assistance I put a reference photo of the option below.

.

I can't offer a ton of insight into why this is happening but I can confirm that URP 12 and Unity 2021.2 break some things. I was going through some other documentation from last year and none of it worked for fullscreen shaders in 2021.2

I was able to get everything working just fine after ticking the Depth Texture box. Im on version 2021.2.15f1. Something to note however when implementing in your own project is to enable post-processing on your camera. Furthermore some shaders have some .cginc includes, so you may need to adjust those paths in the shader code if you want to use a different folder structure

Yeah, i check said shaders, and some of them directly refer to specific folders that, if moved, won't work correctly. So far, those are the shaders i found whose folder directions has to be changed in order to be moved anywhere and work correctly:

Fog.shader (referrs to Assets/Shaders/cginc/voronoi.cginc)

For those reading this, there is a more updated fork of this asset that is compatible with 2021 out of the box, plus a new CRT visual effect:
https://github.com/Math-Man/URP-PSX-FORKED


Question about "pip install -r requirements.txt"

Hi, thank you for your awesome work! But when I try to run the command "pip install -r requirements.txt", and it just shows that
"ERROR: git+git@github.com:sh8/rdopt.git@7601bca4818a03ef1ace1e0c1df396ccec56003f#egg=camera_jacobian is not a valid editable requirement. It should either be a path to a local project or a VCS URL (beginning with bzr+http, bzr+https, bzr+ssh, bzr+sftp, bzr+ftp, bzr+lp, bzr+file, git+http, git+https, git+ssh, git+git, git+file, hg+file, hg+http, hg+https, hg+ssh, hg+static-http, svn+ssh, svn+http, svn+https, svn+svn, svn+file)."
How could I fix this? Thank you very much!

Hi! Thank you for your interest in this project!
camera_jacobioan is an internal library so you can install it by the following command :+1:
cd ../camera_jacobian
python setup.py build_ext --inplace


Performance

Hello,
I used the provided config (PAIS.py) with a KNet backbone and the performance seems to be way lower than reported in the paper for 10% labeled data, yielding only 23 mAP (student, segmentation mAP). Can someone confirm this? Thank you @ccdatas, @hujiecpp :)

Hello, @MihaiDavid05
I am also trying to reimplement this work recently, but there are still lots of problem.
I could help you confirm the performance if you would like to share some experience or solution.

I installed mmdetection=2.23.0, mmcv=1.3.17 but there are still some enviroment problem. It shows that "ImportError: cannot import name 'Config' from 'mmcv'. I searched that error in the internet but it comes out that we need to modify the code form from mmcv import Config, DictAction to from mmengine import Config, DictAction. It makes me feel weird about this modification. have you also tried this modification after you download the code too?
I tried to follow the instruction in Readme.md but it shows that Failed to import ssod.knet_withiou_weight_lm.det.knet I tried to find knet_withiou_weight_lm under ssod but it doesn't exist. I wonder you also encounter same issue or you use other way to train this work?
the author mentioned that they used 4 GPU to train this work. Do you also use 4 GPU or you modified some code?

Thanks for your attention on this work. I'm new to the mmlab framework so it comsume me lots of time to solve this problem. Hope you could  provide some advice. Thank you!

Hello @HRliao1109 :)
After a couple of weeks I made it work. Here is a small markdown formatted list of instructions for installation, data prep., training, and evaluation, that worked for me (sorry because it is not well written in a nice Makefile or installation script). I wrote them down in case I need them later. I did not use their Makefile as I had troubles with mmdetection and mmcv, therefore I followed their documentation for installation from the specific versions of mmcv and mmdet. I did not modify anything in neither mmcv nor mmdet because with this installation (provided here) , I finally had no errors.
Indeed "ssod.knet_withiou_weight_lm" directory does not exist in the project. Again I did not use their scripts for training (or I changed the config files used for training), as the solution provided was broken, as you said.
For the MaskRCNN version I tried another config that you could find below the installation steps (It is the resulted full config, formatted from multiple other smaller configs, as in mmlab framework). After reading the paper and the implementation details, and checking their other configs based on MaskRCNN, I came up with this one. However, it still does not give the results from the paper. And it would be nice to now why :)
Lastly, I trained the network only on 1 GPU, but I only changed the bash command for that, nothing else in the configs or code.
Hope this helps and looking forward for your training results or from any insights from @ccdatas or @hujiecpp, regarding the performance :)
Instructions:
1. Requirements and installation

Anaconda3 with python=3.8
Pytorch=1.10.0 with CUDA=11.3 :

conda install pytorch==1.10.0 torchvision==0.11.0 torchaudio==0.10.0 cudatoolkit=11.3 -c pytorch -c conda-forge

Other libraries:

pip install opencv-python==<IP_ADDRESS> prettytable scikit-image wandb==0.14.0 yapf==0.40.1

mmcv=1.3.17:

pip install openmim and then mim install mmcv-full==1.3.17

mmdetection=2.23.0:

create thirdparty dir under PROJECT_ROOT dir
then, cd thirdparty  and download code from here and it should be in thirdparty/mmdetection directory
cd thirdparty/mmdetection and run pip install -r requirements/build.txt and python -m pip install -e .

export PYTHONPATH to PROJECT_ROOT directory, tools and ssod dirs. You can use:

export PYTHONPATH=<path>:$PYTHONPATH (for running scripts from CMDline and VSCode debug)

2. Data Preparation

Download the COCO dataset from here. You should download both label and unlabeled data.

YOUR_DATA_PATH should be an external directory containing the coco dataset, which should look like this:
# YOUR_DATA_PATH/
#  coco/
#     train2017/
#     val2017/
#     unlabeled2017/
#     annotations/

Under PROJECT_ROOT/data dir, create symlinks to your dataset directories:
# PROJECT_ROOT/
#   data/
#     coco/           ---> symlink to YOUR_DATA/coco
#       train2017/
#       val2017/
#       unlabeled2017/
#       annotations/

For creating symlinks you can use:
cd ssod/data
ln -s <YOUR_DATA_PATH>/coco coco

Execute the following command to generate dataset splits:

bash tools/dataset/prepare_coco_data.sh -r ssod/data conduct

3. Training
CUDA_VISIBLE_DEVICES=<GPU_IDS> nohup python -m torch.distributed.launch --nproc_per_node=<NR_GPUS> --master_port=<PORT> <PATH_TO>/train.py <CONFIG_PATH> --launcher pytorch --cfg-options fold=<FOLD_OR_SEED> percent=<LABELED_DATA_PERCENT> >> <OUTPUT_LOG_PATH> &

Example:
CUDA_VISIBLE_DEVICES=0 nohup python -m torch.distributed.launch --nproc_per_node=1 --master_port= <FULL_PATH_TO>/train.py <CONFIG_FULL_PATH> --launcher pytorch --cfg-options fold=1 percent=10 >> <OUTPUT_LOG_FULL_PATH> &
4.   In the paper, ours use 4 GPU for training.

Hi, @ccdatas.
Thank for getting back. I used only 1 GPU with 4 samples per gpu, and a 1:3 ratio. Did you use 4 GPUs with a batch of 3 or 4? Do you think this could be the sole reason to a better lerformance?
Also, I noticed that the alpha and beta parameters are not in the config, but I guess that they are set to 4, at least for KNet, as I was looking through the code in the ssod/knet_withioudet/kernel_update_head.py script lines 537 and 566 for class and mask. However I see that there are 2 more multipliers, 12 and 2.5, respectively, which I cannot figure out what they are. Can you give me an insight?
Also, for the MaskRCNN version, could you please point out where are the alpha and beta parameter of the loss basically integrated? It seems that they are both set to 1 for this version.
Lastly, I did not figure out where do you threshold based on mask IoU in the MaskRCNN version. Could you please point that out?
Thank you very much for the great work and for your help!

Hi @MihaiDavid05,
Thank you for your kind and detailed reply!
I will try it and share my training result as soon as possible.

Hi @MihaiDavid05
Thank you for your kind help
I have also successfully train this work on my GPU.
I also trained it with only 1 GPU and the following is my evaluation result.
Average Precision  (AP) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.207
Average Precision  (AP) @[ IoU=0.50      | area=   all | maxDets=1000 ] = 0.348
Average Precision  (AP) @[ IoU=0.75      | area=   all | maxDets=1000 ] = 0.212
Average Precision  (AP) @[ IoU=0.50:0.95 | area= small | maxDets=1000 ] = 0.080
Average Precision  (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=1000 ] = 0.217
Average Precision  (AP) @[ IoU=0.50:0.95 | area= large | maxDets=1000 ] = 0.325
Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.389
Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=300 ] = 0.389
Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=1000 ] = 0.389
Average Recall     (AR) @[ IoU=0.50:0.95 | area= small | maxDets=1000 ] = 0.166
Average Recall     (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=1000 ] = 0.414
Average Recall     (AR) @[ IoU=0.50:0.95 | area= large | maxDets=1000 ] = 0.592
hope my result is helpful to you.

Hey @HRliao1109 ,
Thank for the update! I am currently training with a batch size of 16 (4:12 ratio labeled/unlabeled), on another bigger GPU, and it seems to reach the results from the paper indeed (however there are 6 days left).

Hi @MihaiDavid05
I forgot to mentioned that I set the samples_per_gpu=2, workers_per_gpu=4, because of limitation of my GPU.
Original setting is here
Besides, I notice that original sample ratio setting is [1, 2], it seems there are 1 labeled picture and 2 unlabeled picture in a batch. It's a little different from paper.
Did you also modified this part in your new training code?
Please also inform me if I have any misunderstanding about this parameter.

Hi @HRliao1109 ,
Yes, I modified that parameter too. My results from the initial post (23 mAP) were reached with a batch of 4 (1:3 ratio set in the sampler). Therefore, your results being a bit lower, with a lower batch size, are expected.

Hey @HRliao1109 , Thank for the update! I am currently training with a batch size of 16 (4:12 ratio labeled/unlabeled), on another bigger GPU, and it seems to reach the results from the paper indeed (however there are 6 days left).

Hi @MihaiDavid05 ,
I wonder if there is any update since your reply last week? I'm also trying to train this work on bigger GPU. Unfortunately, I'm still dealing with environmently problem with ppc64le(IBM PowerPC) so there is no further training result.
Thank you very much for your contribution in reimplement this work.

Hey @HRliao1109,
Sorry for the late reply. I finally finished training the network on 1 sample of randomly chosen 10% labeled data, with a batch size of 16, therefore a 4:12 ratio, on a single GPU (40G). The results I got were 30.1 mAP  ( 31.04 +- 0.06 on 3 runs, in the paper). I believe that a part of the difference in results comes from the chosen sampled data, but there is still a gap left :)

Hi @MihaiDavid05 ,
I have also been trying to replicate the results of this paper recently. I am using two 3090 with a batch size of 8 (4 images per GPU, at a 1:3 ratio), testing on 10% labeled dataset, which is essentially the same setup as yours.
Due to the limitations of the resources I have, I am unable to use a batch size of 16 directly. I set the batch size to 8 and used gradient accumulation to simulate a batch size of 16. Therefore, there are slight adjustments in the original settings. I removed gradient clipping, but I think it should not significantly impact the results. I will get back to you with the training results after it finish.
Thank you for your response!"

Hi @MihaiDavid05
I have also recently completed the reproduce of this paper. As I mentioned before, I used gradient accumulation, so there might be some differences. Below are my replication results.
Average Precision  (AP) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.307
Average Precision  (AP) @[ IoU=0.50      | area=   all | maxDets=1000 ] = 0.507
Average Precision  (AP) @[ IoU=0.75      | area=   all | maxDets=1000 ] = 0.320
Average Precision  (AP) @[ IoU=0.50:0.95 | area= small | maxDets=1000 ] = 0.114
Average Precision  (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=1000 ] = 0.327
Average Precision  (AP) @[ IoU=0.50:0.95 | area= large | maxDets=1000 ] = 0.478
Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.453
Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=300 ] = 0.453
Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=1000 ] = 0.453
Average Recall     (AR) @[ IoU=0.50:0.95 | area= small | maxDets=1000 ] = 0.216
Average Recall     (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=1000 ] = 0.484
Average Recall     (AR) @[ IoU=0.50:0.95 | area= large | maxDets=1000 ] = 0.666

@HRliao1109 thank you for the update. Did you accumulate the gradients every 2 steps? Or what was your accumulation rule, as you set your batch to half of the original?

@MihaiDavid05  I update the gradient every 2 step in order to simulate the original setting in paper.

Hey @HRliao1109, thank you for your response!


@EnableConsulUi doesn't work

If I start consul without the ui parameter -ui-dir, I got a 404 error
Without -ui-dir
./consul agent -server -bootstrap-expect 1 -data-dir /tmp/consul

See the screenshot

With -ui-dir it works.
./consul agent -server -bootstrap-expect 1 -data-dir /tmp/consul -ui-dir `dirname $0`/ui

Apparently enabling the ui enables an internal ui api that isn't public :-(  This feature might just have to go away.

@jmirc So instead of ditching the feature all together, we decided to proxy the UI as well as the API through zuul, so you are now required to run the ui in the agent to use @EnableConsulUi.

good decision.


Upgrade @material/fab + @material/icon-button version to 0.42.0

There's a collision with other @material dependencies. This upgrade is block until the rest are completed

Upgraded, application tested and working.


Use astral/uv instead of pdm

coverage: 86.483%. remained the same
when pulling 4ec3e6287fc36ad9d01f1ee6e7c1edbf5958b0c3 on dev
into 549b559a84fcdf0149cb6191e3e5924f7e029df5 on main.

coverage: 86.483%. remained the same
when pulling 4ec3e6287fc36ad9d01f1ee6e7c1edbf5958b0c3 on dev
into 549b559a84fcdf0149cb6191e3e5924f7e029df5 on main.

coverage: 86.483%. remained the same
when pulling 4ec3e6287fc36ad9d01f1ee6e7c1edbf5958b0c3 on dev
into 549b559a84fcdf0149cb6191e3e5924f7e029df5 on main.


Deprecate Chef::Util::FileEdit

There's a constant flood of Chef::Util::FileEdit question in stack overflow:

https://stackoverflow.com/questions/49399280/how-to-preserve-indentation-using-chefutilfileedit-functions
https://stackoverflow.com/questions/27047199/chef-error-chefutilfileedit
https://stackoverflow.com/questions/43910627/how-to-write-chefspec-unit-test-for-ruby-block-resource

The message is not reaching our community that this API is a tirefire and needs to be replaced with better approaches, and we need to get a bit more aggressive about it.
For users, reading this issue, there's simpler ways to do things directly using the file resource with the content property:
file "/etc/whatever.conf" do
  content IO.read("/etc/whatever.conf").gsub(/^STUFF=/, "STUFF=things")
end

Which is a properly convergent resource that does all the right things that we've built into the file resource over the past decade and which we will never build into FileEdit.
There is also the line cookbook:

https://supermarket.chef.io/cookbooks/line
https://github.com/sous-chefs/line-cookbook

We should probably bring a resource into core to do this.

https://github.com/poise/poise-file was a prototype for trying to figure out how to work this into the Chef DSL. I think we probably need a bunch more replacement modes, but it's maybe a good starting point?

one thing that i fundamentally don't like about the line cookbook is that each operation is a resource so that if you want to do 100 edits to a given file (kinda gross, but maybe its just looping over an array with append_if_no_such_line) then you'll get 100 resources.  really that should be one resource with 100 composable things to it.
i've also considered that this should just be baked directly into the file resource, which would make it available to any inherited resource.
file "/etc/whatever.conf" do
  line_edit do
    append_if_no_such_line "STUFF=THINGS"
    delete_lines_matching /OMGNO/
  end
end

Which would mean that you could apply it to a remote_file without the user having to worry about mucking about with downloading and hacking up the file manually.
And lots more useful primitives than the line cookbook, along with supporting raw ruby.

right now though i'm concerned that the line cookbook itself needs a pile of help so i'm cleaning that up and seeing what they're doing there, because i don't like how that is implemented right now

http://augeas.net/ is also a thing we could support

prior art:  https://docs.cfengine.com/docs/archive.bak/cf2-Reference.html#editfiles

historical note:  https://tickets.opscode.com/browse/CHEF-3290

I tried the technique Lamont suggested i.e.
file "/etc/whatever.conf" do
  content IO.read("/etc/whatever.conf").gsub(/^STUFF=/, "STUFF=things")
end

It didn't do what I expected, and I realized:
file "/etc/whatever.conf" do
  content lazy { IO.read("/etc/whatever.conf").gsub(/^STUFF=/, "STUFF=things") }
end

would be a safer suggestion. In my case another resource in the run had modified the file before my resource ran, and I was getting the version from before that edit because IO.read ran at compile time. The principle of least surprise would have the resource use the current contents at the time the resource runs as the content to edit.


[BUG] DDPG worse performance than stable baselines

Describe the bug
The stable-baselines 3 (SB3) version of DDPG seems to significantly outperform the torchrl DDPG implementation. I implemented this following @matteobettini's VMAS MADDPG script very closely, so it is possible that I made mistakes.
To Reproduce
SB3 version
import gymnasium as gym
import numpy as np

from stable_baselines3 import DDPG
from stable_baselines3.common.noise import NormalActionNoise, OrnsteinUhlenbeckActionNoise

env = gym.make("Pendulum-v1", render_mode="rgb_array")

# The noise objects for DDPG
n_actions = env.action_space.shape[-1]
action_noise = NormalActionNoise(mean=np.zeros(n_actions), sigma=0.1 * np.ones(n_actions))

model = DDPG("MlpPolicy", env, action_noise=action_noise, verbose=1)
model.learn(total_timesteps=10000, log_interval=10)

Here are the results from the last few SB3 epochs
---------------------------------
| rollout/           |          |
|    ep_len_mean     | 200      |
|    ep_rew_mean     | -144     |
| time/              |          |
|    episodes        | 130      |
|    fps             | 338      |
|    time_elapsed    | 76       |
|    total_timesteps | 26000    |
| train/             |          |
|    actor_loss      | 14.1     |
|    critic_loss     | 0.968    |
|    learning_rate   | 0.001    |
|    n_updates       | 25800    |
---------------------------------
---------------------------------
| rollout/           |          |
|    ep_len_mean     | 200      |
|    ep_rew_mean     | -147     |
| time/              |          |
|    episodes        | 140      |
|    fps             | 334      |
|    time_elapsed    | 83       |
|    total_timesteps | 28000    |
| train/             |          |
|    actor_loss      | 13.6     |
|    critic_loss     | 1.21     |
|    learning_rate   | 0.001    |
|    n_updates       | 27800    |
---------------------------------
---------------------------------
| rollout/           |          |
|    ep_len_mean     | 200      |
|    ep_rew_mean     | -147     |
| time/              |          |
|    episodes        | 150      |
|    fps             | 332      |
|    time_elapsed    | 90       |
|    total_timesteps | 30000    |
| train/             |          |
|    actor_loss      | 12.4     |
|    critic_loss     | 1.01     |
|    learning_rate   | 0.001    |
|    n_updates       | 29800    |
---------------------------------

Here is my torchrl implementation:
from torchrl.data.replay_buffers.samplers import SamplerWithoutReplacement
from torchrl.data.replay_buffers.storages import LazyTensorStorage
from torchrl.envs.libs.dm_control import DMControlEnv
from torchrl.envs.libs.gym import GymEnv
import torchrl
from torchrl.envs.transforms.transforms import Compose, RewardSum
from torchrl.objectives import DDPGLoss
from torchrl.data import ReplayBuffer, ListStorage
from torchrl.modules import (
    ConvNet,
    EGreedyWrapper,
    LSTMModule,
    MLP,
    QValueModule,
    TanhDelta,
)
from tensordict.nn import TensorDictModule as Mod, TensorDictSequential as Seq
from torch import nn
import torch
from torchrl.envs.transforms import DoubleToFloat, TransformedEnv
from torchrl.modules.tensordict_module.actors import ProbabilisticActor, ValueOperator
from torchrl.modules.tensordict_module.exploration import AdditiveGaussianWrapper
from torchrl.objectives.utils import SoftUpdate, ValueEstimators
from torchrl.data.replay_buffers.samplers import PrioritizedSampler

# Config
seed = 0
gamma = 0.99
tau = 0.005
frames_per_batch = 200  # Frames sampled each sampling iteration
batch_size = 1  # in terms of rollout size
utd = 1  # update to data ratio
max_steps = 100
n_iters = 500  # Number of sampling/training iterations
warmup_frames = 100  # To prefill replay buffer
total_frames = frames_per_batch * n_iters
memory_size = frames_per_batch * 100
lr = 0.0001

torch.manual_seed(0)

def env():
    env = GymEnv("Pendulum-v1", from_pixels=False)
    env = TransformedEnv(
        env, Compose(DoubleToFloat(in_keys=["observation"]), RewardSum())
    )
    return env

proof_env = env()
obs_size = proof_env.observation_spec["observation"].shape[0]
act_size = proof_env.action_spec.shape[0]

# Nets

class CriticNet(nn.Module):
    def __init__(self, obs_size, act_size):
        super().__init__()
        self.net = nn.Sequential(
            nn.Linear(obs_size + act_size, 400),
            nn.ReLU(),
            nn.Linear(400, 300),
            nn.ReLU(),
            nn.Linear(300, 1),
        )
        nn.init.normal_(self.net[-1].weight, 0, 0.001)
        self.net[-1].bias.data.zero_()

    def forward(self, observation, action):
        return self.net(torch.cat([observation, action], dim=-1))

class ActorNet(nn.Module):
    def __init__(self, obs_size):
        super().__init__()
        self.net = nn.Sequential(
            nn.Linear(obs_size, 400),
            nn.ReLU(),
            nn.Linear(400, 300),
            nn.ReLU(),
            nn.Linear(300, 1),
        )
        nn.init.normal_(self.net[-1].weight, 0, 0.001)
        self.net[-1].bias.data.zero_()

    def forward(self, observation):
        return self.net(observation)

actor_mod = Mod(ActorNet(obs_size), in_keys=["observation"], out_keys=["param"])
actor = ProbabilisticActor(
    module=actor_mod,
    spec=proof_env.action_spec,
    in_keys=["param"],
    distribution_class=TanhDelta,
    distribution_kwargs={
        "min": proof_env.action_spec.space.minimum,
        "max": proof_env.action_spec.space.maximum,
    },
    return_log_prob=False,
)
policy = AdditiveGaussianWrapper(
    actor, annealing_num_steps=int(total_frames), sigma_end=0.05
)

critic = ValueOperator(CriticNet(obs_size, act_size), in_keys=["observation", "action"])

collector = torchrl.collectors.SyncDataCollector(
    env,
    policy,
    frames_per_batch=frames_per_batch,
    total_frames=total_frames,
)
buffer = ReplayBuffer(storage=LazyTensorStorage(memory_size), batch_size=batch_size)

loss_module = DDPGLoss(
    actor_network=policy,
    value_network=critic,
    gamma=gamma,
)
target_net_updater = SoftUpdate(loss_module, eps=1 - tau)

critic_opt = torch.optim.Adam(actor.parameters(), lr)
actor_opt = torch.optim.Adam(critic.parameters(), lr)

for i, tensordict in enumerate(collector):
    buffer.add(tensordict)
    for j in range(utd):
        data = buffer.sample()
        loss = loss_module(data)
        critic_opt.zero_grad()
        actor_opt.zero_grad()
        loss["loss_actor"].backward()
        loss["loss_value"].backward()
        critic_opt.step()
        actor_opt.step()
        print(
            "Epoch {}: episode reward {:.2f} actor loss {:.2f}, critic loss {:.2f}".format(
                i,
                tensordict['next']["episode_reward"][tensordict['next']['done']].mean(),
                loss["loss_actor"].item(),
                loss["loss_value"].item(),
            )
        )
    target_net_updater.step()
    collector.update_policy_weights_()

And here are the torchrl results
Epoch 1: episode reward -1740.12 actor loss 0.01, critic loss 44.02
Epoch 2: episode reward -1327.09 actor loss 0.02, critic loss 44.01
Epoch 3: episode reward -977.49 actor loss 0.01, critic loss 76.29
Epoch 4: episode reward -1261.87 actor loss 0.03, critic loss 50.06
Epoch 5: episode reward -868.89 actor loss 0.04, critic loss 49.02
Epoch 6: episode reward -1044.71 actor loss 0.05, critic loss 49.02
Epoch 7: episode reward -1095.83 actor loss 0.02, critic loss 76.26
Epoch 8: episode reward -1666.79 actor loss 0.05, critic loss 50.04
Epoch 9: episode reward -1308.08 actor loss 0.06, critic loss 50.04
Epoch 10: episode reward -1070.14 actor loss 0.08, critic loss 48.99
...
Epoch 200: episode reward -1835.48 actor loss 28.66, critic loss 51.26
Epoch 201: episode reward -1423.16 actor loss 30.82, critic loss 51.08
Epoch 202: episode reward -1350.76 actor loss 31.53, critic loss 46.58
Epoch 203: episode reward -1597.77 actor loss 34.97, critic loss 53.95
Epoch 204: episode reward -1505.26 actor loss 30.50, critic loss 48.00
Epoch 205: episode reward -1197.51 actor loss 23.92, critic loss 46.47
Epoch 206: episode reward -1560.22 actor loss 18.10, critic loss 50.99
Epoch 207: episode reward -1182.17 actor loss 25.47, critic loss 47.51
Epoch 208: episode reward -1331.73 actor loss 18.64, critic loss 52.32
Epoch 209: episode reward -1738.40 actor loss 18.79, critic loss 51.17
Epoch 210: episode reward -1536.80 actor loss 31.51, critic loss 50.80
Epoch 211: episode reward -1270.51 actor loss 46.14, critic loss 76.46
Epoch 212: episode reward -1403.69 actor loss 36.24, critic loss 53.10
Epoch 213: episode reward -1447.37 actor loss 30.20, critic loss 50.71
Epoch 214: episode reward -1506.56 actor loss 32.46, critic loss 51.48
Epoch 215: episode reward -1609.89 actor loss 26.80, critic loss 47.40
Epoch 216: episode reward -1420.35 actor loss 36.40, critic loss 52.10
Epoch 217: episode reward -1450.20 actor loss 34.28, critic loss 49.61
Epoch 218: episode reward -1240.91 actor loss 21.95, critic loss 48.86
Epoch 219: episode reward -1450.16 actor loss 20.31, critic loss 47.86
Epoch 220: episode reward -1234.47 actor loss 47.02, critic loss 77.76
Epoch 221: episode reward -1735.47 actor loss 28.17, critic loss 51.75
Epoch 222: episode reward -1480.90 actor loss 21.89, critic loss 42.26
Epoch 223: episode reward -1544.21 actor loss 51.45, critic loss 88.18
Epoch 224: episode reward -1424.87 actor loss 63.30, critic loss 80.44
Epoch 225: episode reward -1367.20 actor loss 41.04, critic loss 57.50
Epoch 226: episode reward -1565.24 actor loss 32.88, critic loss 49.72
Epoch 227: episode reward -1173.81 actor loss 36.75, critic loss 57.84
Epoch 228: episode reward -1882.98 actor loss 38.38, critic loss 53.28
Epoch 229: episode reward -1710.50 actor loss 21.60, critic loss 48.92
Epoch 230: episode reward -1552.52 actor loss 38.31, critic loss 58.09
Epoch 231: episode reward -1762.59 actor loss 29.91, critic loss 50.14
Epoch 232: episode reward -1570.50 actor loss 31.51, critic loss 47.88
Epoch 233: episode reward -1663.63 actor loss 68.49, critic loss 87.92
Epoch 234: episode reward -1734.04 actor loss 24.08, critic loss 47.89
Epoch 235: episode reward -1483.62 actor loss 36.49, critic loss 52.02
Epoch 236: episode reward -1790.86 actor loss 39.68, critic loss 57.76
Epoch 237: episode reward -1414.47 actor loss 40.03, critic loss 58.14

Expected behavior
I'd expect the SB3 and torchrl implementations to be roughly equivalent in terms of reward and value loss. It appears that the torchrl version isn't really learning and the critic loss is much worse.
System info
Describe the characteristic of your environment:
From source (master branch, 22 May)
Checklist

[x] I have checked that there is no similar issue in the repo (required)
[x] I have read the documentation (required)
[x] I have provided a minimal working example to reproduce the bug (required)

Fantastic, thanks for the quick response!

The missing target network (oops) and buffer.extend fixes divergence and makes this learn significantly better.

DDPG should default to have a target net and we should not be able to create SoftUpdate without one, so this one's defo on me :)


Transparent option does not work with the PDF format

It looks ok to me. If you have a specific example where you think it does not work then add the specific reproducible steps here to reopen this issue.


Can't republish Scala version of https://www.codewars.com/kata/bagels

I tried to republish the Scala version of https://www.codewars.com/kata/bagels for a few days already (to update the tests to new Scala code and also patch an obvious cheese), but I never have been able to republish successfully at all, and I've tried it for a few days already.

Can you try discarding local edits and try again? There was some issues with how backend was set up and it might be still using that.

Yes, it's always publish timeout.

only the author solution should be valid

why?

Because that's how the original Java version works (and why it's 4kyu, not 7/6kyu): you can't just duck type the bagel and pass the test. There's a translation fork there 4 months ago that removes the cheese.

OK, I didn't know that those solution was supposed to be rejected.

Then for the actual tests more code to handle the infinite loop problem is needed.

Can you elaborate on this? So you need something more than the test case you posted above?
Republishing runs

complete solution with test cases
complete solution with example test cases
initial solution with test cases

So if example test is lacking the code to handle infinite loop, then republish will time out.

So if example test is lacking the code to handle infinite loop, then republish will time out.

Oh, so that explains why it always times out.
The problem is this: reflection is needed to patch the boolean values back to what they should be, but the appearance of reflection code alone gives away the solution. So the sample tests needs to be set up to not reveal this part (which would lead to timeout, of course, but it's inevitable).
Anyways, I just republished with sample tests as same as the actual tests, then remove the relevant part in the sample tests (changing the sample test alone doesn't trigger re-validation). I'm not sure if this issue should be closed though.

Nice workaround. Thanks for you help!

I'm going to close this and open a new issue about increasing the timeout for publishing.

@kazk after a week I'm still unable to republish the Kotlin version.

How long does "validate solution" take?
If I remember correctly, the timeout is 50s and 3 combinations run sequentially (single background job, instead of 3 jobs). I also don't know how background jobs are scheduled.

Compilation takes ~10s. After that there's almost no computations in use code and tests anyway, so it should be ~10s per run.

Maybe the background job scheduling is getting in the way. Like pause ~10s pause ~10s pause ~10s.
I really don't know at the moment. I wish I knew more about Codewars internals.


Collector Troubleshooting and FAQ - incorrect information.

Describe the bug:
"You may request data be deleted from your account."  This statement is factually incorrect.  Told a customer to enter a ticket to delete log data as a result of data spillage.  Sumo support said they do not/can not delete data.  This section needs to be reviewed, clarified and rewritten.  Please.
Steps to reproduce the behavior:

Go to Collector Troubleshooting and FAQ page.
Scroll down to Delete data already collected to Sumo Logic
Under Answer: "It is not possible for users to delete specific message data already ingested into Sumo Logic. All data sent to Sumo Logic is indexed together and stored in a Write Once Read Many (WORM) storage, which you cannot modify. You may request data be deleted from your account."

https://help.sumologic.com/docs/send-data/collector-faq/#delete-data-already-collected-to-sumo-logic

Update the "Delete data already collected to Sumo Logic" section after the beta article "Deletion Requests" goes to GA.
For GA release timing, in Asana see the Data Deletion GA ticket located in the "Data Deletion" section of the Search Monthly project.

Closing this ticket because the "Delete data already collected to Sumo Logic" section has already been updated to match the guidance provided  in these support articles:

https://support.sumologic.com/support/s/article/205565118-Can-we-delete-data-already-sent-into-Sumo-Logic-so-that-search-results-don-t-show-this-data
https://support.sumologic.com/support/s/article/360034976954-Different-ways-to-purge-or-hide-sensitive-data-from-Sumo-Logic#:~:text=create search errors-,3.,messages sent into Sumo Logic.&text=Any request for data deletion,the data to be removed.&text=Verify that data to be,secondary approval from him/her.


The quick-start guide for creating a Managed HSM: "Clean up resources" should include az keyvault purge

Hello.
The issue is with this page: https://docs.microsoft.com/en-us/azure/key-vault/managed-hsm/quick-create-cli
If someone follows the steps there and then they delete the resources as mentioned in the article with az group delete --name ContosoResourceGroup it will look like the resource went away, they won't find it anywhere on the portal, but they will still be charged daily until the resource gets "purged" because it will be in a soft delete state.
The command for actually deleting the resource is on another page that is not even linked by this page and there is no reference to "purging" the resource.
Suggestion: Include proper steps to actually delete the resource:

List the soft deleted HSMs:

az keyvault list-deleted --subscription <subid> --resource-type hsm

The --resource-type hsm part is really important. I've seen it recommended with just az keyvault list-deleted in some places but in my experience that does not return the soft deleted HSM.

Purge it (actually delete it):

az keyvault purge --subscription <subid> --hsm-name <hsm name> --location <hsm location>

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 785e4765-41a3-12d0-8582-c704d748ec8b
Version Independent ID: b6a93892-d00f-23a6-f427-2491aa279323
Content: Quickstart - Provision and activate an Azure Managed HSM
Content Source: articles/key-vault/managed-hsm/quick-create-cli.md
Service: key-vault
Sub-service: managed-hsm
GitHub Login: @msmbaldwin
Microsoft Alias: mbaldwin

Looks like the document has been updated.
Thanks.


remove dependency on bluebird methods from sources

see https://github.com/knex/knex/pull/3650
wait for https://github.com/knex/knex/pull/3682

@maximelkin There's a minor conflict now.

@kibertoad done

https://github.com/Vincit/objection.js/issues/950 related