SAK-47247 Send a reminder to students who haven't submitted an assignment

Before, when an instructor creates an assignment and checks the option that allows to send a reminder to students 24 hours before the due date, it creates confusion due to the fact that it also sends a reminder to students who have submitted an assignment previously, So in order to accomplish the specs described on this Jira, I have found where the method that sends the reminder is called and I have filtered members by the ones who haven't submitted the assignment before.

I'm confused about this, the method states that sends an email to students who have not submitted the assignment:
https://github.com/sakaiproject/sakai/blob/d5606a5b458d91784e79bf0bfb7390769b899e16/assignment/impl/src/java/org/sakaiproject/assignment/impl/reminder/AssignmentDueReminderServiceImpl.java#L85
Is this true or sends the email to everyone in the site?

It seems that sends the email to everyone in the site.

This does not affect 20.x nor newer versions of Sakai, closing it. Thanks for the research.


Fix giving redirect

Fixes https://github.com/gratipay/gratipay.com/commit/1fd8f38895f490188a9fb7ed07fcbf670115defb#commitcomment-12466562.

Quick tiny fix, self-merging.


detect-secrets-hook --baseline .secrets.baseline does not ignore excluded files

When I try to run this command on my cli
detect-secrets-hook -v --baseline .secrets.baseline exclude_file.txt
it stills scan exclude_file.txt, even though .secret.baseline contains the exclusion of that file:
"exclude": {
    "files": "exclude_file.txt|^.secrets.baseline$",
    "lines": null
  },

Am i using the wrong command format?

Hi @ammarshadiq,
You're probably right -- this is a bug. However, this is inadvertently fixed in v1 through the filters system.
The main difference is that pre-v1, both the pre-commit hook and the main scanning engine implemented slightly different logic. We can see that here: https://github.com/Yelp/detect-secrets/blob/68f3d5b7db41617da619190bddc52165682142a0/detect_secrets/main.py#L178. Over time, with new feature additions, this diverged -- as the tendency is with non-DRY code.
In v1, the scanning architecture was fundamentally changed, such that both the pre-commit hook and the main engine runs the same code. With this, they will also run the same filters, which will address this bug.
Thank you for reporting this. I'm going to close this as "Won't Fix" though, given that it's already fixed in v1.


ROS2 version ?

Hi guys,
This is to ask if there is a ROS2 (galactic maybe) version comming soon ?
Thanks for answering.

I don't have any plans to do the ROS2 conversion any time soon. Pull requests are welcome!

I opened a PR draft for galactic https://github.com/dfki-ric/mir_robot/pull/96 I could use some help and feedback with!

Hi,
Do you know if there is a ROS2 humble version to work with?
Thanks!

I've summarized the current state of the ROS2 support here: https://github.com/relffok/mir_robot/issues/32#issuecomment-1847471919


MS Bookings: I’d like to customize the Subject Line in Confirmation Email

Is it possible to customize the automated email that is sent when a booking is made online? I see that I can add text to the email that is generated but I need to remove the CONFIRMED part as our appointments must be accepted before they are truly confirmed. I would like to make it more like "Your Appointment Request has Been Submitted"?

@Franky-74 Thank you for your feedback. This sounds like a technical question and needs to be routed to our Microsoft support team. You can create a support ticket via the help and support option on the Admin center so that a support engineer will be able to assist you.
Hope this helps!
Thanks
Sri

@msbemba Thank you very much for the contribution and sharing this explanation. @Franky-74 Hope this comment is helpful for you. Considering the nature of the issue, as advised, please open a service ticket in your tenant and follow with them for the resolution. We proceed to close it as here we are limited to documentation fixes and improvements only.
We will be very happy if you can share the outcome or resolution with us if you see documentation update is required. We will certainly update this documentation with that valuable information. Thanks again, for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.


Enhance homepage layout + add ignore generated imagefiles

file upload and generated by program should not be committed.

screenshots for your information

Coool !
Thanks for your commit.


Rocket.Chat app forgets passwords

My Setup

Operating System: Ubuntu 19.04
App Version: 2.16.0
Installation type: package from RocketChat website

[X] I have tested with the latest version
[X] I can simulate the issue easily

Description

Rocket.Chat does not keep the login information for chat servers. It requires a login on every restart of the application
Current Behavior
Rocket.Chat requires a log in for the configured chat service(s) on every restart. It used to remember the login.
Expected Behavior
Rocket.Chat should remember the login on restart, and not ask to log in again.

Same problem. Tested and can simulate the issue easily on the following setup:
Operating System: Windows 10
App Version: 2.16.2

Yes, we've also experienced this after updating.
Operating System: Windows 10
App Version: 2.16.2

Check in Rocket.chat
"Administration > Accounts> Forget User Session on Window Close" is ative

For me, this setting -> "Administration > Accounts> Forget User Session on Window Close" has no impact (when checked or unckecked).
My workstations are connected to an active directory domain with roaming sessions....

I am also using LDAP, the setting has impact if active every time the software restart ask username and password.

Check in Rocket.chat
"Administration > Accounts> Forget User Session on Window Close" is ative

For me this solved this Error
on Win10 /Rocketchat Version >= 2.16

Please test if the latest release did solve this. If not please reopen the issue or create a new one and tell us. I will be closing this one for now.
Thank you!


Structural Questions

Hi.
Before using the "massdns" tool, why use subjack?

Subjack and massdns are independent from one another. I could make the tool run massdns first before subjack and it will not affect anything.


Code Review Updates

Fixed some instances of tpcprt being named tpcrt
Removed some unused thrown exceptions that were listed in an interface but not actually used in the implementation
Updated test cases to use Junit Jupiter 5 api Assertions
Removed unused import DataSource which was listed as a method parameter but not Autowired in the BatchConfiguration class
Removed unused variable chunksize

Some other things I noticed but didn't change because I wasn't sure about:
There's a commented out assertion in testImportJob_pbfPayeeRegisterFailedJob Should this be removed?
PBFClinicPayeeRepository has an unfinished query findByArchived, should this be removed or will we need to implement it?


Sync kotlin and java version to 17

Summary
This syncs the kotlin and java source and compile versions to 17. A RN 0.73 upgrade in Diana is causing this error message in this library when running Diana yarn android:
Execution failed for task ':react-native-background-upload:compileDebugKotlin'.
> 'compileDebugJavaWithJavac' task (current target is 17) and 'compileDebugKotlin' task (current target is 1.8) jvm target compatibility should be set to the same Java version. Consider using JVM toolchain: https://kotl.in/gradle/jvm/toolchain

I've tried syncing to 1.8 but can't get that to work. I believe RN 0.73 recommends JDK 17 anyway

Test Plan

What's required for testing (prerequisites)?
What are the steps to reproduce (after prerequisites)?
Compatibility

OS
Implemented

iOS
✅❌

Android
✅❌

Checklist

[ ] I have tested this on a device and a simulator
[ ] I added the documentation in README.md
[ ] I updated the typed files (TS and Flow)
[ ] I've added Detox End-to-End Test(s)
[ ] I've created a snack to demonstrate the changes: LINK HERE

wrong library


docs/index.rst: Align with latest updates in toplevel README.md

Closes #239
📑 Description

[x] Insert ARNEIS logo at the top of the page
[x] Reorganize sections as in README.md
[ ] ...

✅ Checks

[x] My pull request adheres to the code style of this project
[ ] My code requires changes to the documentation
[x] I have updated the documentation as required
[ ] All the tests have passed

ℹ Additional Information

FIXME: Why aren't there any new feature builds of the docsite for the last 20 hours???
https://readthedocs.org/projects/arneis/builds/

NOTE: I purposedly did not update the animation at the top of the page.
I will deal with it as part of https://github.com/B-AROL-O/ARNEIS/pull/247


feat: select widget improvements

What are the relevant tickets?
Closes https://github.com/mitodl/ocw-studio/issues/1863
Related PR https://github.com/mitodl/salt-ops/pull/1573
Description (What does it do?)
This PR updates our select widgets for UX improvement.
This PR adds the following four features.

Quick Add: In the sortable select UI, add an option directly to the list when it is selected
Preserve Search Text: Search query to filter options should persist between menu transitions
Hide Selected Options: Menu should not show selected options
Infinite Scroll: Load more options when the user reaches the end of the menu

All of the features above are disabled by default and are enabled through the use of feature flags. The flags are FEATURE_SELECT_FIELD_INFINITE_SCROLL, FEATURE_SORTABLE_SELECT_PRESERVE_SEARCH_TEXT, FEATURE_SORTABLE_SELECT_HIDE_SELECTED, FEATURE_SORTABLE_SELECT_QUICK_ADD
loadOptions prop changes
SelectField had a significant callback prop whose signature has been changed in this PR. This change was required to support AsyncPaginate component.
New signature: (s: string, ops: Options[], a: Additional) => {hasMore?: bool, options: Options[], additional?: Additional} where Additional is {callback?: (options: Option[]) => void}
Old signature:  (s: string, cb: (options: Option[]) => void) => void
The existing code has been updated to conform to this new signature. A shim (wrapper) function is created for AsyncSelect to act as an adapter. I chose this approach because the new signature is more flexible than the old one.
Feature flags
MIT ol-django app has env feature flag support.. ocw-studio already uses one or two flags for studio backend. This PR uses that feature and forwards the flags to the frontend builds through the config view.
Screenshots (if appropriate):
The new UX will be shown in the following recordings.
https://github.com/mitodl/ocw-studio/assets/71316217/1bca02a2-6c03-43ab-8d0c-4277aad4c06b
https://github.com/mitodl/ocw-studio/assets/71316217/a40d50ed-d46a-4078-b345-64a8e1917325
How can this be tested?
Prerequsites

Download sample data for a course from here
It's good to have an RC db clone on your local machine

What this change affects
This change affects the following UI elements. Edit after the first review: now some of these don't exhibit new behavior. But I'm leaving the list here for completeness.

Course

Resources

Resource Type
Learning Resource Type
License

Metadata

Level
Term
Topics
Course Image
Course Thumbnail Image
Instructors
Department Numbers
Learning Resource Types

Resource Lists

Resources

Video. Gallery

Videos

www

Resource Collections

Resources

Course List

Courses

Course Collections

Cover Image
Featured Courses List
Course Lists

Promos

Image

Stories

Image

Resources

Resource Type

Homepage

Featured Promos

Steps

Navigate to your ocw-studio local setup and checkout branch hussaintaj/1863-relation-widget.
Don't set any feature flags yet. First, we'll test if the existing UI and UX work as they used to.
Prepare a course.

Open or create a course.
Go to the GDrive folder of this course and add the files you downloaded from the prerequisite sections.
Sync these files with the course in the studio UI.
Wait for the sync to complete.
Publish the course to production. This will enable us to cross-site reference resources.

Prepare www

If you have an RC clone you should have a www site that should work. Otherwise, you'll have to create a new one and repeat the previous steps to populate data.

Ideally we should be testing all the UI elements mentioned above. But testing a small set should suffice too. This set of UI elements includes.

Course

Resource Lists

Resources

Metadata

Course Image

www

Resource Collections

Resources

Course Collections

Cover Image
Featured Courses List

Homepage

Featured Promos

Expected Behavior: Make sure these UI elements work as expected, similar to what we have on production.

Now open .env and set FEATURE_SORTABLE_SELECT_PRESERVE_SEARCH_TEXT=true.
Restart Studio.
Test the SortableSelect UI elements (e.g. mentioned in step 5).

Expected Behavior:  The enable features should be working as expected. See screen recordings for reference.

Repeat steps 6 through 8, enabling each feature one by one, i.e.FEATURE_SELECT_FIELD_INFINITE_SCROLL=true
FEATURE_SORTABLE_SELECT_HIDE_SELECTED=true
FEATURE_SORTABLE_SELECT_QUICK_ADD=true

There is a lot going on in this PR so here's a checklist you can use to track your review progress.

[x] When all of the flags are off, the UI works similarly to what we have in production
[x] When FEATURE_SORTABLE_SELECT_PRESERVE_SEARCH_TEXT is enabled, the search query is preserved
[x] When FEATURE_SELECT_FIELD_INFINITE_SCROLL is enabled, more menu options are dynamically loaded
[x] When FEATURE_SORTABLE_SELECT_HIDE_SELECTED is enabled, selected options are hidden instead of being disabled
[x] When FEATURE_SORTABLE_SELECT_QUICK_ADD is enabled, clicking an option adds it to the list. There's no "Add" button

@HussainTaj-arbisoft  I have a few concerns related to user experience:
I think the main crux behind wanting to have preserve option was so that one category of things could be distinct from the others, right?
Eg. When an author is adding files, he/she might write "file" to preserve it so he/she can look at all the files and keep on adding them. Or "lecture" for all lecture notes, etc etc. But when we have a category, where all enlisted items do not relate to each other by name, having the preserve text option adds more work for the author than not having the option imho
Course:

Level

is preserve text option needed?
There are 4 levels and the only way preserve option would make sense for the use case of "graduate" for both "undergraduate" and "graduate"

Department Numbers

is preserve text option needed?
It would be needed for the use case of "21" because there are like 4-5 numbers with prefix of 21. But all other numbers, they don't have anything common with them.
Imagine having to add numbers: 2, 10, 22, CC. Every time you add one, you have to remove it to add the other one, because they're all mostly unrelated. Seems a bit work.

Term

Since only one item can be selected, therefore it's not exactly a problem to have preserve text option. But if it's not much work, I think it may be better to not preserve text when we have only one option to select (in all cases). What do you think?

Topics:

Hide selected option:

I think because of the nested nature in this case we didn't go for hide selected option? I mean for the "last" nested category.
Would it be more useful to have preserve text option only in the first category? UX wise.

Term

Since only one item can be selected, therefore it's not exactly a problem to have preserve text option. But if it's not much work, I think it may be better to not preserve text when we have only one option to select (in all cases). What do you think?

You're right.

Topics:

Hide selected option:

I think because of the nested nature in this case we didn't go for hide selected option? I mean for the "last" nested category.

Yes.

Would it be more useful to have preserve text option only in the first category? UX wise.

That sounds a bit more complicated to do. And doesn't seem to be related to the scope of our ticket. Perhaps we can do it in another ticket if the need arises.
@ibrahimjaved12 Thank you for the review. You're correct. This does sound like a UX issue.
Preserving text for those fields was not a part of the ticket. I thought it would be better to have consistent behavior. I have no objections to removing the behavior from these fields. I'll start working on it.

@ibrahimjaved12 I've removed preserve text from SelectField. Now search queries are only preserved from SortableSelect component.

@ChristopherChudzicki thank you for the review.
I have fixed the UI bug you discovered and answered your questions. Let me know if something I said is still unclear.
I have created https://github.com/mitodl/ocw-studio/issues/1919 for the cleanup tasks.


March 2019 Iteration Plan

RC 1 Tasks

[ ] Controller visualization for OpenVR #3332 @chrisfromwork
[ ] Controller visualization for Windows Mixed Reality #3331 @chrisfromwork
[ ] NuGet Infrastructure @davidkline-ms && @chrisfromwork
[ ] Service Manager proposal / implementation @davidkline-ms
[ ] Core infrastructure updates for HoloLens 2 @keveleigh && @ davidkline-ms
[ ] The "select" voice command no longer fires an event on Windows Mixed Reality #3177
[ ] Articulated Hands @keveleigh
[ ] Eye Tracking Support @keveleigh
[ ] HTK Parity @davidkline-ms && @keveleigh
[x] Expose profiler sample rate in diagnostics profile #3536 @davidkline-ms
[ ] Some objects not cleaned up when closing the scene #3539 @davidkline-ms

"Skip Ahead" Tasks (RC 2 or later delivery)

[ ] Hand Simulation
[ ] Need ability to save scanned spatial mesh data (HoloToolkit parity) #3534 @davidkline-ms
[ ] Need ability to load (in Unity) saved spatial mesh data (HoloToolkit parity) #3535 @davidckline-ms

Unassigned Release Tasks (to be assigned by end of first week of March)

[ ] vNext Task: Example script/scene for Manipulation Gesture #3375 @cre8ivepark
[ ] vNext Task: Example script/scene for Navigation Gesture #3374  @cre8ivepark

Ongoing Tasks

[ ] MRTK doc - MRTK v2 Readme Update #3440 @Yoyozilla
[ ] MRTK doc - MRTK v2 API Documentation #3436 @paco-ms
[ ] MRTK doc - MRTK v2 how to use the diagnostic system #3450 @davidckline-ms
[ ] MRTK doc - How to use MRTK v2 profile system #3438
[ ] MRTK doc - MRTK v2 input system #3439 @luis-valverde-ms
[ ] MRTK doc - MRTK v2 locomotion / teleport system
[ ] MRTK doc - How to use UX controls in MRTK v2 #3435
[ ] MRTK doc - Step by Step guide to move a HTK project to MRTK V2 #3433 @keveleigh
[ ] MRTK doc - Detailed documentation on all API changes from HTK to MRTK v2 #3437 @keveleigh
[ ] MRTK doc - Tutorial: moving Origami app from HTK to MRTK V2 #3434 @jessemcculloch

fix for #3536 is in PR (#3549)

example API doc page: https://microsoft.github.io/MixedRealityToolkit-Unity/api/Microsoft.MixedReality.Toolkit.Services.Teleportation.MixedRealityTeleportSystem.html


In Dashboard College Cards Are Not Responsive

Hey @thestarsahil
The College cards in Dashboard are not responsive at all, they are not perfectly align in mobile view

Please assign this issue to me under GSSOC.

@thestarsahil Could you please assign this issue to me?

Done


Fix plugin scoping for namespaced packages

What is it?

[ ] Feature / enhancement
[x] Bug
[ ] Docs / tests

Description
This fixes a bug introduced in https://github.com/BuilderIO/qwik/pull/2398.
Use cases and why
For namespaced packages (such as @org/package), the scopePrefix added in https://github.com/BuilderIO/qwik/pull/2398 will contain a / which will result in an error:
[vite-plugin-qwik] ENOENT: no such file or directory, open<EMAIL_ADDRESS>
Additionally to the fix, I changed the prefix to a suffix so the vite-plugin-qwik part is the actual prefix and these files are colocated. If needed, I can drop that change.
All that said, package names are optional, which means that in some edge cases, parallel builds can still conflict. An alternative might be to use a hash of something (rootDir maybe?).
Checklist:

[x] My code follows the developer guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have made corresponding changes to the documentation
[ ] Added new tests to cover the fix / functionality

The PR is not passing! mind updating the tsconfig or not use replaceAll?


Couldn't create OverlayContainer because it is not released in the last version of Core

Bug, feature request, or proposal:
Bug
What is the expected behavior?
OverlayContainer should exist
What is the current behavior?
There is no OverlayContainer in packages
What are the steps to reproduce?
npm install --save<EMAIL_ADDRESS><EMAIL_ADDRESS>
Follow instruction here https://github.com/angular/material2/tree/master/src/components/menu#setup
But it doesn't work with current<EMAIL_ADDRESS>and<EMAIL_ADDRESS>.
Which versions of Angular, Material, OS, browsers are affected?

<EMAIL_ADDRESS><EMAIL_ADDRESS>
Is there anything else we should know?

Same problem here

Hey all,  menu is actually slated for an alpha.7 release (it's not yet completed). I'm not sure how it got out there already!  It works with some core code that hasn't been released yet either.  When alpha.7 comes out, it should work as intended.

It was published on the @next label, which contains experimental packages that we published to test offline compiler support.


Added Largest Rectangle in Histogram in Python

Have you read the Contributing Guidelines on Pull Requests?
Yes.
Description

Added largest rectangle in histogram using python.
Tried to squash the commits but didn't work because of Python/sort/Wiggle_sort.py.
Tried to clear all the deepsource bot checks, only two are failing.

Checklist

[x] I've read the contribution guidelines.
[x] I've checked the issue list before deciding what to submit.
[x] I've edited the README.md and link to my code.

Related Issues or Pull Requests
https://github.com/TesseractCoding/NeoAlgo/issues/4443

@ankitaggarwal23   Once please check the code completely, it is different from mine. I used a different approach.

@ankitaggarwal23  My code is different from the one you mentioned. Please check the code completely.


fix: failing integration tests

Summary
Integration tests are failing due to an error introduced in this commit.

Tested the changes by disabling cache on docker build step. I have reverted the cache disabling changes, it will/should be properly fixed in #102.


Website should include start and end dates in formatted name of element

Whenever the user browses an element using the main website, the feature’s automatically generated name should include the start and end dates to disambiguate the feature from similarly named features from different time periods. Since a date disambiguator doesn’t appear automatically, mappers sometimes add the date to name, even though the actual name has no dates in it.
Here’s where the start_date and end_date values would be appended to the feature name.

Thanks for the reference to where we can add this!
I imagine we should trap for cases when either or both start_date and end_date are not present

As of OpenHistoricalMap/iD#184, iD automatically appends a date range to each feature’s label, which creates an expectation that the name should not include this date range. To the extent that users will need to see the date ranges when browsing elements on the main website, we should mimic that enhancement in ohm-website for consistency.

The active-date-range gem makes it easier to format a date range. It exposes an API similar to Intl.DateTimeFormat.formatRange() in JavaScript. However, it only supports English so far. Maybe for a start, we could just roll our own date range formatter, since we’d only be displaying start and end years as part of this formatted name.

@danrademacher - if @1ec5 has already done the work here, can we have someone review it and get this in?

I see that @1ec5 has very helpfully shown us where we should add the dates:

Here’s where the start_date and end_date values would be appended to the feature name.

And checked into options for formatting dates:

The active-date-range gem makes it easier to format a date range. It exposes an API similar to Intl.DateTimeFormat.formatRange() in JavaScript. However, it only supports English so far. Maybe for a start, we could just roll our own date range formatter, since we’d only be displaying start and end years as part of this formatted name.

AND Minh did this work to add to the labels in iD (which is awesome!)
But I don't see that the work on the Rails app is actually done, unless there's a PR I missed.
I think the need here is:

Modify the browse_helper.rb file to append start_date and end_date probably like (start_date - end_date)
Roll our own date formatter to get the dates to appear properly, ideally with some internationalization (I am surprised Rails doesn't have a date formatter already? How does the app handle things like modification dates?)

Right, I haven’t made the change. I haven’t set up a development environment to do it yet. Sorry for the confusion.

How does the app handle things like modification dates?

We don’t really need to rely on a gem to format dates. The website currently uses the time_ago_in_words function in Rails, plus a custom localizable format string for the tooltip:
https://github.com/OpenHistoricalMap/ohm-website/blob/ed3ff3c171c5040b76cf4620915d02259a7f89ba/app/helpers/application_helper.rb#L28-L34
Rails also has a to_fs function that could format a year respecting the user’s language preference. It also allows for a custom formatting function, which we might need to supply depending on how the built-in implementation handles BCE dates. Gems like active-date-range and date_range_formatter exist because there isn’t built-in support for formatting date ranges. We could tie things together with a custom format for date ranges. We’ll have to define a custom localizable string anyways for the NAME [DATE RANGE] format.

In openstreetmap/openstreetmap-website#4033, the upstream maintainers were reluctant to construct element labels from anything other than name and ref for fear of a slippery slope. But given the universality of start_date and end_date in OHM, I don’t see that as a risk in our fork.


Integration Test - Release - 2019/08/06 23:59:54

Auto create for integration test. IssueCommandFlow

#pri1

Just type '#pri3'

#pri2

#pri3

#assign PRMergerTest1

#assign NonAllowedUser

NonAllowedUser is not a valid GitHub ID, or is not a collaborator on this repo.

#reassign PRMergerTest2

GitHub user PRMergerTest1 has been removed from the MicrosoftDocs organization, so they were automatically removed as an assignee.

#reassign NonAllowedUser

NonAllowedUser is not a valid GitHub ID, or is not a collaborator on this repo.

#please-close


fix(test): temporary remove env var

I cannot come up with a better solution. If the execution is sequential, temporary removing the environment variable should be fine.
Close #3952

Release Note
fix(test): temporary remove env var

It's failing with:
GITHUB_TOKEN env var detected, using it for GitHub APIs authentication
  Error: cannot read sources: failed to resolve sources: GET https://api.github.com/gists/e2c3f9a5fd0d9e79b21b04809786f17a: 401 Bad credentials []

I'll check how to remove the env variable at all.

This is getting weird... now it fails with rate limit when the var is unset:
  Error: cannot read sources: failed to resolve sources: GET https://api.github.com/gists/e2c3f9a5fd0d9e79b21b04809786f17a: 403 API rate limit exceeded for <IP_ADDRESS>. (But here's the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details.) [rate reset in 19m17s]
      testing.go:1169: test executed panic(nil) or runtime.Goexit: subtest may have called FailNow on a parent test

The error was cleared. The actual check failure will clear as well when merging.


Update README.md

Changed printable markdown cheatsheet link

@Mxrk Good catch! Appreciate the fix for the 404. :>)

@tysonn
This is a simple fix to a 404 link for a Markdown PDF guide.


Add an example of option pricing using Monte-Carlo simulation

Merge #473 first.
This PR computes the price of a call option using Monte-Carlo simulation. In my environment (GPU: TITAN X(Pascal)), the performance is the following:
python monte_carlo.py
initializing...
start computation
    # of options: 1000
    # of samples per option: 100000000
GPU (CuPy, Monte Carlo method): 39.067884 sec
Error: 0.007679

Thanks. I've fixed.

@unnonouno Hi, is there any progress?

It looks good. Can you add a test to run it with small data? https://github.com/cupy/cupy/tree/master/tests/example_tests

I added tests.

jenkins test this please

LGTM


Completed Contact.html and updated header,nav bar,footer in index.html

@sourabhrupani 1. fix the typo in the footer of the contact page.
2. Optimize the size of image named 1.jpg (6.5MB)
3. Make the link to social media openable in a new window (using target attribute).


Is it possible to use Dexie inside a Service Worker?

I have read that using Service Workers can help make a web app more like a native app by being able to run processes even when the app is not visible. So my use-case would be to setup a Subscription to a server that adds new records to Dexie when they are received. Using a SW for this doesn't sound like a requirement for my app but something that may be nice to have, so I would like to know if this is even possible. Thanks!

You can use dexie from within a service worker. However, you can't receive background push notifications from a service worker without also notifying the user visually. You can't either setup a web socket from a service worker. What you can do is to register periodic sync (supported in chromium browsers only still) that may execute some times a day if the user keeps using your app now and then (the browser decides whether the user seem to use your app). The service worker can then pull a server for new data and store them in dexie.


Small fixes before new release

Codecov Report
Base: 88.51% // Head: 89.65% // Increases project coverage by +1.14% :tada:

Coverage data is based on head (e381c6e) compared to base (3c6e812).
Patch coverage: 82.45% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #298      +/-   ##
==========================================
+ Coverage   88.51%   89.65%   +1.14%
==========================================
  Files         140      140
  Lines       17011    17021      +10
==========================================
+ Hits        15058    15261     +203
+ Misses       1953     1760     -193

Impacted Files
Coverage Δ

unified_planning/engines/mixins/compiler.py
72.91% <0.00%> (ø)

unified_planning/engines/mixins/plan_validator.py
58.33% <0.00%> (ø)

unified_planning/test/test_anytime.py
100.00% <ø> (+53.57%)
:arrow_up:

unified_planning/test/test_contingent_pddl.py
100.00% <ø> (ø)

unified_planning/engines/mixins/anytime_planner.py
70.96% <33.33%> (+15.41%)
:arrow_up:

unified_planning/engines/mixins/replanner.py
75.55% <42.85%> (-4.45%)
:arrow_down:

unified_planning/engines/mixins/oneshot_planner.py
86.66% <100.00%> (ø)

unified_planning/engines/mixins/simulator.py
82.25% <100.00%> (ø)

unified_planning/model/problem_kind.py
96.58% <100.00%> (ø)

...anning/test/test_disjunctive_conditions_remover.py
99.57% <100.00%> (+8.11%)
:arrow_up:

... and 20 more

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

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


How to set a timeout on snmp requests

How can I set a timeout on snmp requests like SnmpGetAsync or SnmpWalkAsync in order not to wait  indefinitely for result? I would like to get an exception for instance when remote host in unavailable for some period of time.

Here you need to follow the general .NET pattern,
http://stackoverflow.com/questions/25683980/timeout-pattern-on-task-based-asynchronous-method-in-c-sharp

Does this also close the connection related to the request?

SNMP/UDP has no connection at all. If you want to know "whether the resources are freed when timeout occurs", then I currently has no accurate answer.

The .NET async design link mentioned above, and plenty of other examples on StackOverflow, all point to using things like Task.WhenAny to create timeouts for async tasks. So you can do this:
var task = Messenger.GetAsync(VersionCode.V2, SNMPManager, SNMPReadCommunity, oids);
if (await Task.WhenAny(task, Task.Delay(2000)) == task)
{
    var res = await task;
    // handle results in res
}
else
{
    // timeout logic
}

This looks great - if there is no response to the GetAsync call within 2000ms, the Delay task completes and the timeout logic is run.
However the GetAsync call is still alive, there is a socket listening for the response, but it is not possible to (nicely) stop it. You can call task.Dispose() in the timeout handler but that raises an exception on the task because you're not able to dispose a task that is running.
You can see the tasks all queueing up if you look at the application's memory usage. The un-answered ('timed out') calls gum up the stack with large amounts of pinned memory waiting to receive the repsonses that will never come. It's a huge resource leak and makes the Async implementation here fairly useless unless you know you're always going to get a response.
The solution is for the API's Async methods to accept a CancellationToken which allow the task to be signalled to terminate early - this would be signalled from the timeout handler. Until that happens I must continue to use the synchronous methods. (On that note, why mark them as 'Obsolete' when they still work just fine and in many cases, like here, they are still very much the only way to use the API?)
Thanks
Giles.

The Obsolete attributes would be removed soon. They were there because .NET Core originally does not have synchronous methods.
I won't comment much on the "CancellationToken" part. Whether Microsoft would introduce that in socket API surface is unknown.

Cheers - it absolutely baffles me that Microsoft omit what seems to be an essential part of the async mechanism from their socket API.
Thanks
Giles

I've already dealt with that in my project OltSnmp.cs and it seems to be working fine with .NET Core on both Windows and Linux.

For future reference, the latest 9.0.6 Beta 1 release added .NET Standard 1.3 support, but in the meantime kept most sync API.


[GUI] [BUG] Input box display abnormalities

The input box always does not display the first half of the text, unless the direction key moves the cursor
Like:

in fact they exist

This issue seems caused by Caxton mod. Try remove or disable Caxton and other mod or texture pack that changes your font.


DNS Leak

Hi. Tried this script on AWS, Ubuntu 16.04. Choose OpenDNS. But have DNS Leak (my provider is shown).

That's a client-side issue unrelated to this script.

@Nyr all VPN that I used before doesn't leak DNS.
How to prevent this with VPN made by this scriot?

Please, do not spam the issue tracker. Lots of people are notified every time you send a message.
Your client system is leaking, this isn't an issue with the script. Honestly I have no clue about whatever client Ubuntu builds, so am unable to help you.
Seek help in the OpenVPN or Ubuntu forums, this is a tracker for issues with the script, not with your personal computer.


Conflict with Jquery steps plugin

When using bootstrap-filestyle with jquery steps plugin (
http://www.jquery-steps.com/) , the input box is not populated with name of the file.
To reproduce, create a form with the steps plugin, and add a filestyle input which includes a text area (not just icon/button upload)

Fixed here - issue in steps plugin ... https://github.com/rstaib/jquery-steps/issues/42


withIntent addon

We have a Form add-on that connects to Presenters. @cwmanning has been utilizing a withIntent higher-order component that is better suited for buttons, or other components:
const DestroyButton = withIntent(function ({ send }) {
  return (
    <button onClick={() => send('destroy-thing')}>
      Nuke this thing
    </button>
  )
})

class Users extends Presenter {
  register() {
    return {
      'destroy-thing': repo => repo.push(destroyThing)
    }
  }

  render() {
    // Kind of silly, probably better to use a callback prop here, but imagine
    // this is deep in the component tree
    return <DestroyButton />
  }
}

One Question
Should we be more restrictive with passing down send? Something like withIntent("intent-name", Component). We could add extra validations to make sure the intents are connected properly, and it might avoid some goofy dynamic code:
const DestroyButton = withIntent('destroy-thing', function ({ send }) {
  return (
    <button type="button" onClick={send}>
      Nuke this thing
    </button>
  )
})

I'm kind of partial to this, but I could see cases where you would want to switch intents. Still, I wonder for those cases how much of the associated component would also change based on that switch (like a menu toggle changing from open to close). In those cases, I'd rather just have two buttons.

👍 looks great!
I'm not sure I see a need to be restrictive, at least initially. The validations would be nice, but it seems like it would make it a little more complicated to implement.

I could see cases where you would want to switch intents

Could most of these cases be solved by sending an argument(s)? A menu button might this.props.send('toggle', isOpen) but interested if I'm missing something here.

@cwmanning Sounds good to me!
Actually, the way I think I would use this would be to make a general IntentButton component that operated something like:
<IntentButton intent="toggle" value={!open}>{open ? 'Close' : 'Open'}</IntentButton>

To that end, withIntent is already tucked away.


updates pypi install files

Fixes auto setup for pypi

The reason the 'Release to PyPi' check is failing is because it's trying to upload a version of the package that was already in use, and PyPi does not allow the reuse of name versions on the platform, this will stop being a problem from version v0.0.4 onwards.


Merge master to exodus

closes https://github.com/zcoinofficial/zcoin/issues/673

There is an issue what backup wallet method. I will investigating on this so @thebevrishot can switch back to #664.


options nestingLevel not working correctly

If you set nestingLevel to 1 it works only for the 1 level elements not inner

Hello,
I noticed the same problem.
Has a solution been found?
Thanks for help.

Hello folks!
Sorry for the very late reply but I managed to patch the nesting levels behaviour today on:
https://github.com/hesamurai/nested-sort/pull/81
You can see the new behaviour here: https://www.hesamurai.com/nested-sort/latest
Please let me know if you meant something else.

I fixed another bug in this regard:
https://github.com/hesamurai/nested-sort/pull/91


Update links to Docker Hub

Update links to Docker Hub

I signed it!

@dpzaba Thanks for the corrections! It turns out these images are no longer really in use, and we intend to delete them altogether soon (https://github.com/GoogleCloudPlatform/ruby-docker/issues/30) once we can verify that all the references are gone. We'll merge your PR for now, but just so you know. 🙂


feat: set quality control

@peterdeme Interesting thing, it should fail but passes, leaving fixing issues to you. Some errors aren't checked and some naming isn't go idiomatic

@ferhatelmas I noticed a few days ago that golangci-lint only runs on the diff, not on the whole codebase....

IMHO, it's related to reviewdog, not golangci


Use with task scope

Hi -
Should it not be possible to use the output variables for conditions on task level instead? When change a single file within the path of one of the filters, the output variables both renders true in the pwsh step and the conditions for the helm steps. Should this not be supported?
...
 - task: ChangedFiles@1
      name: CheckChanges
      inputs:
        rules: |
          [microservicesChanged]
          microservices/**/*.*
          [gatewaysChanged]
          /gateways/**/*.*

    - powershell: |
        write-host "microservicesChanged: $(CheckChanges.microservicesChanged) ..."
        write-host "gatewaysChanged: $(CheckChanges.gatewaysChanged) ..."

    - task: HelmDeploy@0
      condition: and(succeeded(), eq(variables['CheckChanges.microservicesChanged'], 'true'))
      displayName: Helm package microservices
      inputs:
        command: package
        chartPath: $(helmBasePath)/microservices
        destination: $(Build.ArtifactStagingDirectory)
        chartVersion: $(versionSha)

    - task: HelmDeploy@0
      condition: and(succeeded(), eq(variables['CheckChanges.gatewaysChanged'], 'true'))
      displayName: Helm package gateways
      inputs:
        command: package
        chartPath: $(helmBasePath)/gateways
        destination: $(Build.ArtifactStagingDirectory)
        chartVersion: $(versionSha)
...

So above syntax might be supported, but files changed seems off. Enabling system.debug, I see that when changing a single file in a branch, all files in the repo are marked as changed.  Any idea why this is?

Will just go ahead and answer my own question here for future readers. Refbranch need to be set, in order for the task to determine the changes correctly. I'm doing the following now. Note the refBranch cannot be the fully qualified name e.g. 'refs/heads/feature/awesomeStuff' specified in Build.SourceBranch, but only the branch name 'feature/awesomeStuff'. As this is not a default variable, I'm setting the variable 'branchName'.
...
variables:
   branchName: $[replace(variables['Build.SourceBranch'], 'refs/heads/', '')]
...
 - task: ChangedFiles@1
      name: CheckChanges
      inputs:
        refBranch: $(branchName)
        rules: |
          [microservicesChanged]
          microservices/**/*.*
          [gatewaysChanged]
          /gateways/**/*.*

    - powershell: |
        write-host "microservicesChanged: $(CheckChanges.microservicesChanged) ..."
        write-host "gatewaysChanged: $(CheckChanges.gatewaysChanged) ..."

    - task: HelmDeploy@0
      condition: and(succeeded(), eq(variables['CheckChanges.microservicesChanged'], 'true'))
      displayName: Helm package microservices
      inputs:
        command: package
        chartPath: $(helmBasePath)/microservices
        destination: $(Build.ArtifactStagingDirectory)
        chartVersion: $(versionSha)

    - task: HelmDeploy@0
      condition: and(succeeded(), eq(variables['CheckChanges.gatewaysChanged'], 'true'))
      displayName: Helm package gateways
      inputs:
        command: package
        chartPath: $(helmBasePath)/gateways
        destination: $(Build.ArtifactStagingDirectory)
        chartVersion: $(versionSha)


Running draw.io with path

This might be a configuration issue, but I cannot find how to change this.
When running draw.io under a host with path, such as mydraw.io/editor/ there are some minor issues:

When starting the editor i get this: Resource fetch failed (404) https://mydraw.io/img/lib/clip_art/people/Nurse_Man_Red_128x128.png
When doing "new" I don't get any templates, in console: GET https://mydraw.io/templates/index.xml 404 (Not Found)

Both those are not using the editor/ path.

Remove the leading slash for TEMPLATE_PATH in Init.js.

Thanks @alderg, do you mean js/diagramly/Init.js ?
I changed that line but I still get 404 and the console is referring to code in app.min.js
This is the line: window.TEMPLATE_PATH=window.TEMPLATE_PATH||"/templates";
Changing that helps.
I don't even see Init.js being loaded when checking the Sources tab in Chrome developer tools.
The only js files being loaded are app.min.js and jscolor/jscolor.js

The resource fetch-issue could be because I'm running offline mode and the cache.manifest has path like /img/lib/clip_art/people/Nurse_Man_Red_128x128.png

You need to rebuild app.min.js using "ant etc/build/build.xml". The leading slashes in the cache.manifest will be removed.

Thanks

The leading slashes in the cache.manifest will be removed.

Did I misunderstand this? cahce.manifest has not changed?
(Also very difficult finding changes to a file when there is a new generation date for each commit without the file changing: chache.manifest commitlog )

Done. We will move the repo to GitHub ASAP.


Eloquent not booted

I got an error while using the User model inside a LoginFormAuthenticator class (I'm implementing guard component). It says Error: Call to a member function connection() on null!
After looking around for a while I figured out Eloquent has not booted! And after adding a $capsuleDefinition->addMethodCall('bootEloquent'); inside the WouterJ\EloquentBundle\DependencyInjection\WouterJEloquentExtension@loadCapsule it worked fine.

@Whyounes can you please check again with dev-master? I'm about to release it as a new minor release and it should fix booting errors. It would be great to get feedback on it before I release it.

I will try to try it this weekend

The package isn't installable via Composer. I guess you have done something wrong in your package requirements versions!

? @Whyounes not sure what you mean, I'm heavily relying on this in https://github.com/theofidry/AliceDataFixtures

I'm always getting this error.

@Whyounes links broken :/

Sorry, fixed

The package is wouterj/eloquent-bundle, not wouterj/wouterjeloquentbundle :)

I tried it, but still getting the same error! Could this be a problem in my app??

did you try with the right stability version? If your package.json is configured with minimum-version set to stable (default), you cannot install an unstable package (i.e. which has no stable version yet) without specifying the stability tag (composer require routerj/eloquent-bundle:^1.0@dev which points to dev-master) or using an unstable version (composer require routerj/eloquent-bundle:^0.2)

Still getting the same error, I don't know why this is happening!!

Without your composer.json or knowing exactly what the error is it's a bit hard to tell. But in any case this should be discussed in a dedicated issue not this thread.

Hello guys I'm having a similar issue.
If I want to query the database without creating any models it works fine.  I create a 'Page' model and try to query the model for a page id.  var dump it to the browser but symfony reports the error: Error: Call to a member function connection() on null
I've tried using dev-master instead of ^0.2 but still does it.  It might be something simple im missing but its got me stuck at the min.
Ive added some screenshots of my model, composer update, symfony error and an example of my call to the model.  Can you guys offer any guidance to what Im doing wrong or how I can make it work?  Many Thanks
https://www.dropbox.com/sh/ss8lxkmr0a5ls0h/AABBNSeoZE8EX8tRRMgRYA2Ba?dl=0

I managed to get it working (but it's not the best way to do it) by adding a capsule connection in the constructor of the model.  Im pretty sure there's probably a better way (at least where its using the db settings from config.yml).

so now $page = Page::find(1);  does return the model when var dumped with the right data.

@arondraper You only need to boot Eloquent somewhere. The connection details and globals are working fine (at least for me).

@Whyounes thank you  =)
I tried to boot eloquent without adding the connection and it complains about 'Database [default] not configured'.  Do you know how I set the default db connection?
$capsule = new Capsule();
$capsule->bootEloquent();
$capsule->setAsGlobal();

You should resolve the capsule instance from the container and boot eloquent. Not create a new instance!


Look into Test issues

Middleware continues to work fine, but I'm having difficulties with tests. Need to sort out and fix.

This was completed this week, everything passes, all tests are fixed.


WIP: Make the list of cidrs and hosts configurable

based on #9 implementation. I use functional option pattern for backward compatibility.

Now we can configure forbidden and allow hosts and CIDRs in constructor using following functional option without breaking changes. @hamstah

paranoidhttp.ForbiddenIPNets
paranoidhttp.PermittedIPNets
paranoidhttp.ForbiddenHosts

Could you try it?


CSV export

Hi,
is some option to do CSV export from actual "view" ?
I like this function in Grido, but have very bad support / doc and I looking for new Data grid.
Thanks

There is an option to export filtered data or not filtered. You can also use group action of custom export.


styluslabs-write: init at 2024-10-12

Cross-platform (Windows, Mac, Linux, iOS, Android) application for handwritten notes.

https://www.styluslabs.com/
https://github.com/styluslabs/Write

Was (binary release still are?) under a nonfree license but source code that is now available is licensed under the AGPL.
This PR adds the AGPL version and does not replace the existing write_stylus which still uses binaries from 2020 (see https://github.com/NixOS/nixpkgs/issues/281368).
cc @oyren
This build deviates from the upstream SRC in that SDL2 is dynamically linked instead statically linking to the vendored version.
Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

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

nix run github:nixos/nixpkgs/pull/346463/head#styluslabs-write3 -L

Oh one more thing: Compilation is very slow, could you set enableParallelBuilding = true?

Result of nixpkgs-review pr 346463 run on x86_64-linux 1

2 packages built:

styluslabs-write
styluslabs-write-bin

Result of nixpkgs-review pr 346463 run on x86_64-linux 1

2 packages built:

styluslabs-write
styluslabs-write-bin

Dropped the fetchpatch since the upstream PR war merged.


Added lodash intersection and intersectionWith to CollectionUtils

[x] Related GitHub issue(s) linked in PR description
[x] Destination branch merged, built and tested with your changes
[x] Code formatted and follows best practices and patterns
[x] Code builds cleanly (no additional warnings or errors)
[x] Manually tested
[x] Automated tests are passing
[x] No decreases in automated test coverage
[x] Documentation updated (readme, docs, comments, etc.)
[x] Localization: No hard-coded error messages in code files (minimally in string constants)

@dtnhinh Just a reminder to link the related issue in the description with closing keywords next time 👍 Thanks for the contribution!


Example: How to Translate TS Wechaty to Python

There's a 100 lines class named Image in charge of downloading the WeChat image to different sizes.
It is a great example for demonstrating how do we translate the TypeScript to Python in Wechaty Way:
Image Class Source Code

TypeScript: https://github.com/wechaty/wechaty/blob/master/src/user/image.ts
Python: https://github.com/wechaty/python-wechaty/blob/master/src/wechaty/user/images.py

If you are interested in the translation and want to look at how it works, it will be a good start from reading and comparing those two Image class files in TypeScript and Python at the same time.

We are working on building an official Python Wechaty, it would be great if we have more python developers to join. Here's an example about how to contribute by rewrite TypeScript to Python in Wechaty Way.


Fix debounce-raf on IE

Fixes #222.
This pulls code from debounce-raf to this project.
I tried to make tests for it, but I can't make jest timers to run requestAnimationFrame.
Please review.

Codecov Report

Merging #223 into master will increase coverage by 0.06%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #223      +/-   ##
==========================================
+ Coverage   89.45%   89.51%   +0.06%
==========================================
  Files          64       65       +1
  Lines         967      973       +6
  Branches      116      117       +1
==========================================
+ Hits          865      871       +6
  Misses         92       92
  Partials       10       10

Impacted Files
Coverage Δ

...x-highcharts/src/components/BaseChart/BaseChart.js
97.29% <ø> (ø)
:arrow_up:

...ges/react-jsx-highcharts/src/utils/debounce-raf.js
100% <100%> (ø)

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 6ed10ab...0084e06. Read the comment docs.

Perfect, thanks @anajavi! Merging and publishing now


Runtime crash on upgrading to .NET 8 with SDK 1.5

Describe the bug
Related: https://github.com/microsoft/WindowsAppSDK/issues/3842
From what I understand <UseRidGraph>true</UseRidGraph> is no longer required with the latest SDK but my application is still crashing without it when switching to .NET 8.
Project file:
https://github.com/rocksdanister/lively/blob/core-separation/src/Lively/Lively.UI.WinUI/Lively.UI.WinUI.csproj
Steps to reproduce the bug

Comment out <UseRidGraph>true</UseRidGraph> line.
Run the Lively core project in the background.
Run the WinUI UI project.

Expected behavior
Application should work without the project file change.
Screenshots

NuGet package version
Windows App SDK 1.5.0: 1.5.240227000
Packaging type
Unpackaged
Windows version
No response
IDE
Visual Studio 2022
Additional context
Windows version 23H2 Build 22631.3155

first of all, please change your TargetFramework from
<TargetFramework>net8.0-windows10.0.18362.0</TargetFramework>
to
<TargetFramework>net8.0-windows10.0.22621.0</TargetFramework>
i fixed my app crash when i updated to newer targetframework, so try it.
it seems that your are using old versions of libraries like CommunityToolkit which is designed for net 7.0:
 <PackageReference Include="CommunityToolkit.WinUI.UI" Version="7.1.2" />
there is a new versions for net 8.0, so please update all libraries.

Unfortunately the issue still remains even after upgrading target framework and CommunityToolkit.


Update docs to Sphinx latest version

Description
No need to impose a specific version.

@mgoulao could you rerun with pre commit

Can you update the branch? Master has a fix for the install issue

I merged this commit in another PR which also fixed the pre-commit issues


⚠ Bofrost.de has degraded performance

In f4af7ee, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1504 ms

Resolved: Bofrost.de performance has improved in fd281ad after 9 minutes.


Can't get this tool to run

When I try to "pip install rivalcfg", it outputs: https://gist.github.com/kamild1996/18d64cd7dd173ad137af77fcdeed9473
but I still cannot run the tool using the 'rivalcfg' command, it just says it doesn't exist.
Compiling also fails with the following error: https://gist.github.com/kamild1996/6295d874c9b48f5f65b66fe4fecf16fc

Hi,
To install rivalcfg system-wild, you have to run the command as root:
sudo pip install rivalcfg

To build it from source (to use the latest development version), you need to have the header files of libusb on you system, this can be installed with the following command on Debian / Ubuntu:
sudo apt install libusb-dev

Installing it as sudo helped, thanks!
I'm trying to set the polling rate with this tool (sudo rivalcfg --polling-rate=1000). When I do these commands, I get no other output. Is there any way to tell the setting was changed successfully? Because I can't quite feel the difference between 125Hz and 1000Hz.

There is no feedback when the command is successful.
You can calculate the poling rate from the poling interval. The is an article on the Archlinux Wiki about that:

https://wiki.archlinux.org/index.php/Mouse_polling_rate#Display_polling_interval

The first method with 'grep -B3 -A6 1038.*1702 /sys/kernel/debug/usb/devices' doesn't work because I don't have such a directory, but 'lsusb -vd 1038:1702 | grep bInterval' showed me 'bInterval 1'. Looks like the note on the wiki page is right, it might not show the actual interval being used because the same value was being reported after changing to different rates with rivalcfg.
But I managed to run this app under Wine (requires 'mfc42' to run) and it did register the changes, so I'll take it as "it works". Thank you for the tool again :)


Missing libraries in ubuntu medium image prevent dotnet core from running tests

Thank you for act and the awesome set of default images to go with it. I'm still new to GitHub actions, so being able to play around locally gives me a bit of extra confidence.
I ran into a error (logs below) with act and the Medium image. I think there are some libraries missing that are needed by dotnet. The repository I was using act with is https://github.com/Tyrrrz/CliFx
I was able to work around the error by setting the environment variable DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1 (ref https://github.com/dotnet/core/issues/2186) to the github action. I might take a look later regarding what needs to happen to the docker image to fix, but thought I'd give you a heads up.
Thanks for the great work!
[CI/build-1] ⭐  Run Install .NET
[CI/build-1]   ☁  git clone 'https://github.com/actions/setup-dotnet' # ref=v1.7.2
[CI/build-1]   🐳  docker cp<EMAIL_ADDRESS>dst=/actions/
|<EMAIL_ADDRESS>--version 5.0.103
| dotnet_install: Warning: Unable to locate zlib. Probable prerequisite missing; install zlib.
| dotnet_install: Warning: Unable to locate libicu. Probable prerequisite missing; install libicu.
| dotnet_install: Warning: Unable to locate liblttng. Probable prerequisite missing; install libcurl.
| dotnet-install: Downloading link: https://dotnetcli.azureedge.net/dotnet/Sdk/5.0.103/dotnet-sdk-5.0.103-linux-x64.tar.gz
| dotnet-install: Extracting zip from https://dotnetcli.azureedge.net/dotnet/Sdk/5.0.103/dotnet-sdk-5.0.103-linux-x64.tar.gz
| dotnet-install: Adding to current process PATH: `/github/home/.dotnet`. Note: This change will be visible only when sourcing script.
| dotnet-install: Installation finished successfully.
[CI/build-1]   ⚙  ::add-path:: /github/home/.dotnet
| /github/home/.dotnet:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
[CI/build-1]   ❓<EMAIL_ADDRESS>[CI/build-1]   ✅  Success - Install .NET
[CI/build-1] ⭐  Run Build & test
| Process terminated. Couldn't find a valid ICU package installed on the system. Set the configuration flag System.Globalization.Invariant to true if you want to run with no globalization support.
|    at System.Environment.FailFast(System.String)
|    at System.Globalization.GlobalizationMode.GetGlobalizationInvariantMode()
|    at System.Globalization.GlobalizationMode..cctor()
|    at System.Globalization.CultureData.CreateCultureWithInvariantData()
|    at System.Globalization.CultureData.get_Invariant()
|    at System.Globalization.CultureInfo..cctor()
|    at System.IO.TextWriter..cctor()
|    at System.IO.StreamWriter..ctor(System.IO.Stream, System.Text.Encoding, Int32, Boolean)
|    at System.Console.CreateOutputWriter(System.IO.Stream)
|    at System.Console.<get_Out>g__EnsureInitialized|25_0()
|    at System.Console.get_Out()
|    at Microsoft.DotNet.Cli.Utils.Reporter.Reset()
|    at Microsoft.DotNet.Cli.Utils.Reporter..cctor()
|    at Microsoft.DotNet.Cli.Utils.Reporter.get_Output()
|    at Microsoft.DotNet.Cli.Program.ConfigureDotNetForFirstTimeUse(Microsoft.DotNet.Configurer.IFirstTimeUseNoticeSentinel, Microsoft.DotNet.Configurer.IAspNetCertificateSentinel, Microsoft.DotNet.Configurer.IFileSentinel, Boolean, Microsoft.DotNet.Configurer.DotnetFirstRunConfiguration, Microsoft.DotNet.Cli.Utils.IEnvironmentProvider)
|    at Microsoft.DotNet.Cli.Program.ProcessArgs(System.String[], Microsoft.DotNet.Cli.Telemetry.ITelemetry)
|    at Microsoft.DotNet.Cli.Program.Main(System.String[])
| /github/workflow/2: line 1:   223 Aborted                 dotnet test --configuration Release --logger GitHubActions
[CI/build-1]   ❌  Failure - Build & test
Error: exit with `FAILURE`: 134

I will have to check how much space it takes but most likely I will include those libraries in the image.


[Enhancement]: Support ConfigurationProvider (ASP.NET integration) together with modules

Problem
There are several ways to integrate Testcontainers into ASP.NET (integration) tests. Developers often have to write the code to leverage Testcontainers into ASP.NET (integration) tests repeatedly.
Solution
To simplify the integration of dependent services into ASP.NET applications using Testcontainers, we can utilize Microsoft's IConfigurationSource interface and the ConfigurationProvider class. These allow us to initiate default module configurations and set up the actual ASP.NET application, making it straightforward for developers to incorporate Testcontainers into their ASP.NET integration tests and set up their ASP.NET configuration with the dependent services.
private sealed class CustomWebApplicationFactory : WebApplicationFactory<Program>
{
    protected override void ConfigureWebHost(IWebHostBuilder builder)
    {
        builder.ConfigureAppConfiguration(configure =>
        {
            configure.Add(new RedisConfigurationSource());
        });
    }
}

private sealed class RedisConfigurationSource : IConfigurationSource
{
    public IConfigurationProvider Build(IConfigurationBuilder builder)
    {
        return new RedisConfigurationProvider();
    }
}

private sealed class RedisConfigurationProvider : ConfigurationProvider
{
    private static readonly TaskFactory TaskFactory = new TaskFactory(CancellationToken.None, TaskCreationOptions.None, TaskContinuationOptions.None, TaskScheduler.Default);

    public override void Load()
    {
        // Until the asynchronous configuration provider is available,
        // we use the TaskFactory to spin up a new task that handles the work:
        // https://github.com/dotnet/runtime/issues/79193
        // https://github.com/dotnet/runtime/issues/36018
        TaskFactory.StartNew(LoadAsync)
            .Unwrap()
            .ConfigureAwait(false)
            .GetAwaiter()
            .GetResult();
    }

    public async Task LoadAsync()
    {
        var redisContainer = new RedisBuilder().Build();

        await redisContainer.StartAsync()
            .ConfigureAwait(false);

        Set("ConnectionStrings:RedisCache", redisContainer.GetConnectionString());
    }
}

The interesting part here is the LoadAsync() member that starts the dependent service and sets the connection string. The actual app can simply read the connection string as it usually does using Configuration.GetConnectionString("RedisCache").
I am still considering the best place to implement and store the interface and class. Overall, I aim to avoid implementing them in every module and introducing extra dependencies like Microsoft.Extensions.Configuration to the modules.
Benefit
Developers will be able to integrate Testcontainers into tests much more simply. Leveraging it into ASP.NET (integration) tests would only require a single line and makes the startup and teardown implementation obsolete.
builder.ConfigureAppConfiguration(configure => configure.Add(new RedisConfigurationSource()));

Alternatives
-
Would you like to help contributing this enhancement?
Yes

I came up with the same idea and I've implemented a solution for the WireMock module I'd be happy to collaborate on making it a broader solution.
However, I am currently working on a version for the Azure CosmosDB module and I have found an issue I could see being a roadblock for other modules.
For the CosmosDB module you need to access _container.HttpClient when you're creating the CosmosClient for dependency injection otherwise you will be denied access. This means you need the initialized container accessible outside of the ConfigurationProvider after it has been started.
        var cosmosClient = new CosmosClient(
            _container.GetConnectionString(), // connection string for the emulator
            new CosmosClientOptions
            {
                // The HTTP client the container provides automatically trusts the emulator's certificate.
                // The emulator's SSL certificate is self signed and not trusted by default.
                HttpClientFactory = () => _container.HttpClient,
                ConnectionMode = ConnectionMode.Gateway,
            });

I imagine there are other modules where objects created directly from the container instance would be required for DI. Can you think of a solution to make them available to a WebApplicationFactory when setting up a test host?


code of FR Modules

Hi! I found  the function forward code of FR class, 'att' is missing.but your
code h=torch.cat((feat, att), dim=1) exists 'att'.

Hi， @HanAccount ,
Thank you for interesting in our work. The code h=torch.cat((feat, att), dim=1) is used for debugging, it has not been used. As such, you can directly comment it.
best!

ok!Will your code be updated to the final version?I intend to implement this code

thanks! @shiming-chen


Dark Blue Color as Forecolor on Active Drop Down Items

After your latest changes of making the default themes always included the forecolor of Active drop down items in Dark Theme is a dark blue color.  You can see this if you go to change the settings and your theme is currently the Dark theme.

Thank you for reporting will have a look into this!


Use render_component when monkey_patch has been disabled

Hi there,
view_component has an option to disable the monkey patch on the render method. This helps dealing with conflicts arising from the use of gems such as wickedpdf (which also monkey patch render).
When the render_monkey_patch_enabled is set to false and therefore disabled, it allows you to user render_component instead of render.
This (rough) PR is a proof of concept for allowing the use of render_component with view_component_storybook. This solution is copied from view_components/preview.html.erb
Some possible improvements:

define a different render method (render_story?) that implements the conditional use of render vs render_component.
Tests. I tried getting a test but got distracted and didn't get very far.

I wanted to open this PR already to get some feedback on it.

This is in the right direction. I'd do it a little differently to avoid all the copy-pasta in the view. Something like in the controller add a helper method like
def render_component_method
  ViewComponent::Base.render_monkey_patch_enabled || Rails.version.to_f >= 6.1 ? :render : :render_component
end

helper_method :render_component_method

and then in show.html do:
   send(render_component_method, @story.component)

Certainly needs tests 😄

Thanks for the feedback, this was a quick POC to get things working for us so happy to make some changes.
I haven't had time to update this yet but I'll try and take some time for it soon. In the mean time if anyone else wants to continue where I left of feel free 😬

Hi @jonspalmer, I was having another look at this, especially at the testing part.
Since one of the conditions to use render_component is Rails.version.to_f < 6.1, I'm not really sure how to accurately test this. Of course I can stub Rails.version in the test but that won't work as the environment is still loaded as 6.1 and render_component won't exist. I was going down a path of stubbing all the things ™ but that's not particularly helpful either.
Do you have any suggestions on how to deal with this?

Sorry not to reply to this sooner. Does the ViewComponent gem itself solve this problem for monkey patching as well? I wonder if it has test cases that parallel this

With the new v1 API this is now possible. Stories are just regular ViewComponent Previews with all the features they support


Top bar firefox

Thank for your work, that's awewome,
but i have a question :  is it possible to make something for firefox top bar whose doesn't match with   Xenite theme ?

good luck for your work.

Why did you attach the screen with Paper theme?

Anyway firefox uses GTK2 so...

it was with the theme but ok thank's for answering .

Anyway it looks fine to me.

hum so weird, what version of firefox do you have ? i have the version 37

Firefox 37.0.2. Did you forgot to change Metacity theme? I cannot do anything with Paper theme inside my theme.

i know why , that was  because the theme was on my root folder  .themes not in /usr/share/themes
Thanks for your help

Ohh man, the repo has a good documentation (thanks to @vinctux): https://github.com/eOS-themes/Xenite#stable
Please read the readme first and if you still have some issues you cannot solve - then you can create an issue :smiley:
Best regards!

Thanks :smiley:
Will do the whole documentation (with pics) in the Wiki section tommorow.

Lol, I didn't know we have a wiki :smiley:

@Defman21 Just one OT thing - could you please start a Gitter chatroom on https://github.com/eOS-themes/Xenite/? Not all conversation (like this comment) needs to appear to the end user who wants to report something.

Created.

Could you please share the link?

https://gitter.im/eOS-themes?utm_source=share-link&utm_medium=link&utm_campaign=share-link

Thanks.

But I can't join - I'm not in the organization 'eOS-themes'.

I've sent you an invite. Check your e-mail.

Thanks so much!


Fix TestHiveTransactionalTable flakyness

AC @findepi

Failed due to https://github.com/prestosql/presto/issues/4238

Merged, thanks!


bugfix(chart/stable/gitlab-ce): Dependent postgres version was missing ImagePullPolicy on init container

https://github.com/kubernetes/charts/issues/307

@ravishivt Good catch. Will do!

cc @gtaylor

LGTM!

What is the state on this? Aside from deletion of the chart the tests seem to approve. I guess the issue is the specific behaviour of the chart regarding the host-url setting of gitlab?

@TKCen Just waiting on the maintainers to merge

Will merge when I get back to the keyboard. Sorry for the delay


ShaderMaterial: Add support for logarithmic depth

See https://forum.babylonjs.com/t/log-depth-buffer-makes-overlapping-meshes-edge-disappear/46152

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

Snapshot stored with reference name:
refs/pull/14581/merge
Test environment:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14581/merge/index.html
To test a playground add it to the URL, for example:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14581/merge/index.html#WGZLGJ#4600
Links to test babylon tools with this snapshot:
https://playground.babylonjs.com/?snapshot=refs/pull/14581/merge
https://sandbox.babylonjs.com/?snapshot=refs/pull/14581/merge
https://gui.babylonjs.com/?snapshot=refs/pull/14581/merge
https://nme.babylonjs.com/?snapshot=refs/pull/14581/merge
To test the snapshot in the playground with a playground ID add it after the snapshot query string:
https://playground.babylonjs.com/?snapshot=refs/pull/14581/merge#BCU1XR#0

A convenient way, not really, because you have to call some code in isReadyForSubMesh (to inject the #define) and bindForSubMesh (to bind the uniform with the right value). So, we would have to update all the classes for which we want to add support for logarithmic depth. It's definitely possible, though.

yup I am just worried that it will come back as bugs if we move it down without supporting it

I've updated all the materials!


Java: FT.CREATE

Backport #2414 to main

We don't have a back-porting strategy yet. I'm going to close this and we can discuss back porting later.


Structured dump of metadata / index

What should restic do differently? Which functionality do you think we should add?
I'd love to get a full dump of the metadata / index in a repository or snapshot, i.e. inodes (files/directories/symlinks) names, hierarchy, mtimes etc., as well as the list of content blob IDs per file. The metadata dump should be in a structured format for further programmatic use and data analysis. As far as I can see, right now I would have to cat elements recursively. What I'd like to have is a full dump all at once.
What are you trying to do? What problem would this solve?
I would like to build analysis and exploration tools providing hierarchically aggregated and interactively "drillable" (by directory structure) summaries such as (recursive) number of files, sum of size etc. and especially, leveraging the sub-file-level deduplication, automatically generated cross-references to other places (somewhere else in the directory tree or even across snapshots) with high similarity (percentage of matching content blobs).  I would look to e.g. a PostgreSQL database holding the metadata and appropriate indexes to accomplish this, but I need the metadata first.
This would solve my problem of navigating the file organisational mess I've made over the years and will inevitably continue to make.
Did restic help you today? Did it make you happy in any way?
 I also like how with restic I can keep a (mountable!) snapshot of how I had my files organised in directories before a reorganisation at almost no cost.

Could restic find / --json be a starting point for you? This command gives you quite some metadata (path, size, mtime, permissions) for all files across all snapshots as a JSON string.

Yes, that's quite a lot already. What's missing here for me is the content blobs and the hierarchy (I would have to reconstruct it from the paths, but it would be better to have "parent" pointers).

@SebAlbert could you give us an example of what you're expecting? I'm trying something similar will see if I can contribute here.

I am in the process of developing a command which dumps the following tables (all in JSON format):
snapshots: "snapshots": [
{
"snapID": "<snapid 1>",
"short": "<short snapid 1>"
"snapdata": {
normal JSON output for a snapshot 1
}
},
...
{
"snapID": "",
"short": ""
"snapdata": {
normal JSON output for a snapshot n
}
}
]
index: "index": [
<normal JSON ouput for an index entry 1>,
...

]
file: "file_meta_data": [
{
"id": "<metablob 1>",
"path": "<directory path for metablob 1>",
"nodes": <normal JSON output for a metablob 1>
},
...
{
"id": "",
"path": "",
"nodes":
}
]
parent-child: "parent-child-map": [
{
"parent": "<parent 1 metablob>",
"children": [
<child 1 metablob>,
...

]
},
...
{
"parent": "<parent 1 metablob>",
"children": [
<child 1 metablob>,
...

]
}
]
child-parent: "snapID-child-parent-map": [
{
"snapid": "",
"child-parent-map": [
{
"child": "<child 1 metablob>",
"parent": "<parent 1 metablob>"
},
...
{
"child": "",
"parent": ""
}
]
}
]
flat-topology: "topology": [
{
"snapid": "",
"blobs": [
"<metablob 1>",
...
""
]
},
]
So far, I have done nothing specific for data blobs, but they are listed in the "file_meta_data" section. I will attach the actual output of the restic project below.
restic_cmd_rewrite_include-metadata.txt


Gem Install

I get the following issue when I try to install this. Can you tell me if this is related to your gem or my local system?[
~]$ sudo gem install rbtagger
Fetching: rbtagger-0.4.7.gem (100%)
Building native extensions.  This could take a while...
Successfully installed rbtagger-0.4.7
1 gem installed
Installing ri documentation for rbtagger-0.4.7...
RDoc::Parser::Ruby failure around line 72841 of
lib/brill/brown/Lexicon.rb
Before reporting this, could you check that the file you're documenting
has proper syntax:
/usr/local/bin/ruby -c lib/brill/brown/Lexicon.rb
RDoc is not a full Ruby parser and will fail when fed invalid ruby programs.
The internal error was:
(RDoc::RubyLex::Error) unknown type of %string "C"

ERROR:  While generating documentation for rbtagger-0.4.7
... MESSAGE:   unknown type of %string "C"
... RDOC args: --ri --op /usr/local/lib/ruby/gems/1.9.1/doc/rbtagger-0.4.7/ri --main README lib ext LICENSE README --title rbtagger-0.4.7 Documentation --quiet

hrm... something must have changed in rdoc... if i'm right the gem is installed fine, but rdocs for it won't be...


Test common GUI workflows

We have made a bunch of changes to core and GUI since the last time we did user testing of the GUI. We should use the GUI artifact for the sets change. Download it by clicking "Details" next to "appveyor/pr" here: https://github.com/opensim-org/opensim-gui/pull/1005

[ ] tutorials (5 pts, Carmichael successfully tested Tug of War with OpenSim 4.0-2018-10-01-76939822)
[ ] tools that use ExternalLoads (5 pts)
[ ] MarkerSets (loading/saving markers from files) (5 pts Ayman)
[x] Creating an ExternalLoads from scratch in the GUI (8 pts) (created ExternalLoads for inverse dynamics with OpenSim 4.0-2018-10-01-76939822)
[ ] Double clicking Bodies, Muscles, ... nodes throws exception (likely because sets created on the fly for GUI use are not wired correctly to underlying model (they don't own their objects either)
[ ] MarkerSet constructor from file still has wrong signature, doesn't throw if it fails.
[ ] Deleting Markers does not work because it deletes from set not component tree

Trying to load leg6dof9musc model included with build, got message about knee_angle_pat_r wrong coordinate type. Not sure if this is specific to this build or master version of model is out of date as well.

@aseth1 @jimmyDunne I'm looking into MarkerSet issues now

Trying to load leg6dof9musc model included with build, got message about knee_angle_pat_r wrong coordinate type. Not sure if this is specific to this build or master version of model is out of date as well.

leg6dof9musc from models repo loads without error, but the one distributed with the build does.  Seems specific to the build.

Saving works fine but loading saved markers fails and throws exception

Double clicking Bodies, Muscles, ... nodes throws exception (likely because sets created on the fly for GUI use are not wired correctly to underlying model (they don't own their objects either)

I would not use ModelComponentSets for the display purposes in the GUI. If you just need a collection use Sets.  ModelComponentsSet  is an integral part of a Model not just a bag of pointers.

Previewing marker data fails. Seems to be the same failure for BodySet, ForceSet, etc... likely related to MarkerSet.

I would not use ModelComponentSets for the display purposes in the GUI. If you just need a collection use Sets. ModelComponentsSet is an integral part of a Model not just a bag of pointers.

Thanks @aseth1 I tried calling connectToModel on these sets and that seemed to resolve the problem, what would be the downside? Remember that templates do not pass through SWIG so if we want a different typed container we'll have to instantiate it for every type or get a generic container safedowncast downstream.

@aseth1 The nodes in the Navigator are all backed exclusively by OpenSimObject so a generic Java container will not do the trick without major rework. Before this change all Sets and Groups derived from OpenSim::Object and changing this now would be quite disruptive.

I see. Thanks for clarifying. I think it is OK to SWIG wrap the specific Set instances that you need.

Looking further into the MarkerSet issues:

Removal from the Set uses the generic Set operation (since there's no ModelComponentSet remove), resulting in removal being broken, downstream effects of trying to load Marker with same name fails.

Trying to make PathPointSet into a plain Set to avoid extra 'pathpointset' on every pathpoint's path 😄 which leads to longer path and extra level of ../ still in progress.

@carmichaelong Muscle Tug of War

The change to PathPointSet appears to be working (since ownership was restored to previous state). Change was committed to branch.

MarkerSet issue exposes a bigger hole that's outside the scope of this issue/PR. Sets have built in methods to add/remove which are accessible as properties but the changes don't propagate to the component-tree.
The GUI uses the sets exclusively to access Markers, same for the tools so changes to component-tree is irrelevant. I strongly recommend we document the caveat rather than try to significant changes at this point.

Finished muscle tug of war successfully. Added note in the first post that it's completed.

@jimmyDunne Do you have updates on tutorials testing? Which ones are you testing?
@aseth1 Have you tested the tutorials? Any updates to report?

I tested creating and using external Tools and ran into only one issue that I reported in #1005:

[ ] crash due to RRA adjusted model containing ExternalLoads in ComponentSet.
subject01_simbody_adjusted.osim.txt

I have tested all the introductory examples and they seem to be working. There are some minor issues, but they are things that have either previously existed (Choppy motion from dragging the motion scroller) or don't hinder the example (Messages that MuscleAnalysis() is unable to evaluate muscle dynamics when plotting muscle forces or generated moments)
Tutorial SImulation-Based Design to Prevent Ankle Injuries — When opening the Control Functions tree view, the boxes are unclickable and I cannot change any values, nor even view them.

@jimmyDunne can you attach or link to the file that you have problem editing so we can try in different builds? Thanks

I have gone through the examples and now move back to working on the master branch. Thanks.

@aseth1  can you make separate issues?

Deletion of Markers should be fixed due to PR #1023


License is missing

Please add a License to the repository.

Feel free to create a PR for an apache 2.0 license and throw it in


Fix leakage in Windows

Maybe related to #8.
I found that qthrottled holds the reference to the widget instance (via method.__self__?) and this prevented proper cleanups in Windows. This problem can be solved by using an weak reference inside a local function as is done in this PR, but probably should be somehow handled on superqt side (although I'm not sure if it's possible).

Hey @hanjinliu, lovely seeing you here!  😀
I saw this as well and added https://github.com/pyapp-kit/superqt/issues/247 to superqt (which is in the latest release)... but I haven't tested on windows yet!
Are you definitely updated on superqt?

Hi @tlambert03, I'm very excited about this package!
Sorry for not carefully checking the update... I was using superqt=0.6.6 and the latest version did solve the issue with my local windows laptop.

Great!  Good to hear :)

Shall we still turn this PR into fixing whatever else is left for windows tests?

Other fixes will be completely different from what I did here anyway. I think we can just close this PR and make new one later when the solution is found.

Ok well thanks for popping in!


Synology cameras won't load when using non-admin DSM account

Home Assistant release (hass --version): 0.55.2 (official Docker image)
Python release (python3 --version): 3.6 (Docker)
Component/platform: camera/synology
Description of problem:
After upgrade to 0.55.2 (from 0.53 or so) my Synology cameras won't load due to some authentication problem in the py-synology library (speculation). Loading fails if I specify a Synology user account with limited permissions to only access SurveillanceStation but works fine if I specify the credentials of my DiskStation admin user which has access to everything.
Expected:
Synology cameras should work as normal also for a user account with limited (but valid) access rights.
Problem-relevant configuration.yaml entries and steps to reproduce:
camera:
  - platform: synology
    url: https://xxxxxxxxx.localdomain:5001
    username: homeassistant
    password: xxxxxxxxxxxx
    timeout: 15
    verify_ssl: False

Traceback (if applicable):
2017-10-16 20:37:55 ERROR (MainThread) [homeassistant.components.camera.synology] Error when initializing SurveillanceStation
Traceback (most recent call last):
  File "/usr/src/app/homeassistant/components/camera/synology.py", line 54, in async_setup_platform
    timeout=timeout
  File "/usr/local/lib/python3.6/site-packages/synology/surveillance_station.py", line 9, in __init__
    self._api = Api(url, username, password, timeout, verify_ssl)
  File "/usr/local/lib/python3.6/site-packages/synology/api.py", line 56, in __init__
    self._initialize_api_sid()
  File "/usr/local/lib/python3.6/site-packages/synology/api.py", line 82, in _initialize_api_sid
    response = self._get_json(api['url'], payload)
  File "/usr/local/lib/python3.6/site-packages/synology/api.py", line 191, in _get_json
    raise ValueError('Invalid or failed response', content)
ValueError: ('Invalid or failed response', {'error': {'code': 400}, 'success': False})

I'm using non-admin account and I'm able to use synology camera component.
Can you check Control Panel -> Users -> Select your non-admin user and click Edit -> Applications
Do you see Surveillance Station is allowed?

I'm having the same issue. And my non-admin account does have permissions to Surveillance Station. This was working until 0.55.x.

That’s weird, I’ll have another look tonight. But there wasn’t any change made related to how authentication work

I'm seeing this issue as well. 400 API response from the camera component. If I don't change the user/pass, but change the account on my synology to be an admin it works as expected.

@snjoetw Yes it's configured to allow SurveillanceStation. Changing between manager/spectator also doesn't help. I will try to figure out exactly which call it is that fails tonight, the problem is reproducible using the Github code example for py-synology.

There was a difference small difference between how the auth call was made earlier, the "application session name" parameter that specifies the login scope was missing. This meant that access to DiskStation was necessary to be able to authenticate. I have submitted an issue and a PR for py-synology: https://github.com/snjoetw/py-synology/issues/1

Thanks @mbrrg, I just released py-synology-0.1.5 (https://pypi.python.org/pypi/py-synology/0.1.5)
Do you want to update home-assistant to uptake latest version or I can do it, just let me know

@snjoetw Created a PR https://github.com/home-assistant/home-assistant/pull/9932

Thanks @arsaboo👍

I have this issue too, I'm using two factory authentication, but only for admin access.  Just upgraded to .56 still not camera.  Did this update make it into .56, in not how can I manual update  py-synology?

Upgraded to 0.56 and my Synology cameras are working again (non-admin user, like in 0.54).

Synology fixed for me.

@mbrrg is this still an issue?

I'm afraid it is still an issue for me @snjoetw. The weird thing is that running the following snippet inside the Docker container works fine:
from synology.surveillance_station import SurveillanceStation
import logging
import sys

logging.basicConfig(stream=sys.stdout, level=logging.DEBUG)

api_url = 'https://xxxxxxxxxx.localdomain:5001'
username = 'homeassistant'
password = 'xxxxx'
verify_ssl = False
timeout = 15

surveillance = SurveillanceStation(api_url, username, password, verify_ssl=verify_ssl, timeout=timeout)
cameras = surveillance.get_all_cameras()
print([c.camera_id for c in cameras])

...but I still get the same error in the Home-Assistant log and the component doesn't load. I will see if I can get some time to troubleshoot this further during the weekend.

Also still an issue for me .
HASS: 56.2
2017-11-03 07:16:51 ERROR (MainThread) [homeassistant.components.camera.synology] Error when initializing SurveillanceStation Traceback (most recent call last):   File "/usr/src/app/homeassistant/components/camera/synology.py", line 54, in async_setup_platform     timeout=timeout   File "/config/deps/lib/python3.6/site-packages/synology/surveillance_station.py", line 9, in __init__     self._api = Api(url, username, password, timeout, verify_ssl)   File "/config/deps/lib/python3.6/site-packages/synology/api.py", line 56, in __init__     self._initialize_api_sid()   File "/config/deps/lib/python3.6/site-packages/synology/api.py", line 82, in _initialize_api_sid     response = self._get_json(api['url'], payload)   File "/config/deps/lib/python3.6/site-packages/synology/api.py", line 191, in _get_json     raise ValueError('Invalid or failed response', content) ValueError: ('Invalid or failed response', {'error': {'code': 400}, 'success': False})

It has started working for me again with the limited user and without any (seemingly relevant) changes to the HA configuration. I've restarted the Synology today though, could have been some temporary hickup...

Am i the only one still experiencing this in 58.1?

Nope, it stopped working for me after upgrade to 58.1 the other day @tryingwebguy .

Had the same problem with a brand new NVR216.
I was using special chars like % and $ in my 8-chars long password for a spectator user, I made a new one of 16 characters without special chars, and it seems to work fine now.
Looks like Surveillance Station doesn't support special passwords...
Finally 'solved' this shitty problem, so annoying.

This works for me as well now. The culprit was an old version of py-synology that for some reason was still around in my config/deps directory. Will remove the deps directory when I switch Docker images from now on.