[13/10/2022]: FRONTEND DEVELOPMENT FOR OSCSA MOOCs PLATFORM

Summary
Open Science Community would like to develop Massive Open Online Courses (MOOCs), which are free online courses available for anyone to enroll in. We have developed our own materials and will also reuse materials from Open Life Sciences and Turing Way. In order to do that, we need to develop a platform where a participant can log in, and view videos and written materials as lessons. This will be similar to Udemy and other platforms for MOOCs.
GOAL:  WE ARE DEVELOPING THE FRONTEND FOR OSCSA MOOC PLATFORM
Technology/Tools

ReactJs
CSS
ESlint/Prettier

User Stories

User should be able to signup, login, reset password and forgot password,
User can access the dashboard if authenticated
User can get all the available courses
User clicks on a course to view course details
User can download lesson materials
User should have a history of all the courses they watched
User can update profile data, i.e name, password, (excluding email address)

Available Tasks/ pages

[ ] Set up Eslint/Prettier
[ ] Add a detailed README to the branch
[ ] Landing page
[ ] Header
[ ] Footer
[ ] Login
[ ] Sign up page
[ ] Reset Password
[ ]  Forgot Password
[ ]  Categories ( List of available courses)
Dashboard
[ ] Profile page
[ ] History page
[ ] Course details page
[ ] Settings page
[ ] Admin board
[ ] FEEL FREE TO SUGGEST RELEVANT PAGES

Resources : DESIGN TEMPLATE  ,  APIs
Who wants to work on this issue?/ Contribution

Everyone is invited to collaborate on this issue,
Indicate interest in a task.
Create an issue(multiple people can collaborate on an issue, avoid duplicates)
Create a PR using the PR TEMPLATE

I will be working on the Header , Footer and Sign Up Page

I would love to work on this issue

i will be working on the landing page

I am stuck on how to create sub issue Please i need more enlightenment

@sandygudie Can we start

@sandygudie, I would love to contribute to this project. Can I add a detailed README and also design the sign up, Course details page,  Profile page?

@sandygudie, I would love to contribute to this project. Can I add a detailed README and also design the sign up, Course details page,  Profile page?

we need do create the react app should i do the project set up at my end

Thank you Team,
@mufidat3250 we need to finalize on how contributions(branch, PR, Review etc) would be made

I will be working on Login, Sign up page, Reset Password, and Forgot Password pages.

@sandygudie, I would love to contribute to this project. Can I add a detailed README and also design the sign up, Course details page,  Profile page?

@sandygudie I would love to work on the Landing page
Header
Footer

@sandygudie  I would love to work on the history page

Thank you Team, @mufidat3250 we need to finalize on how contributions(branch, PR, Review etc) would be made

I think the we need to have a Main/Master branch,
a dev branch which all approve PR go first before they are send to the Main/Master
and everyone needs to create a personal branch with their respective names where the push their code before opening a PR

And is the template ready

I will this on

@mildrette I agree
Hopefully @BatoolMM or the mentors will create a dev branch for development

@sandygudie  should I wait for approval of the task we pick or should I start working on them??

sandygudie thanks for the response i want to also know if we will be working on the existing design before other screens are completed. and how do we get started.

We start working on the existing designs

@mufidat We start working on the existing designs @mildrette I will suggest waiting for approval

Alright. We await approval

alright

Thank you all for your work I created a dev branch in case you would like to use it.
Looking forward to see your contributions!

@BatoolMM we are waiting for your approval on the task we pick so we can start working on them

@sandygudie  I would love to set up Prettier/ESlint and work on the SignUp/SignIn Pages.
Also, you can add a FAQs page.

@mufidat3250 Should we wait for you to set up the react project? Or Can I go ahead with it? @sandygudie @BatoolMM

I will be working on Login, Sign up page, Reset Password, and Forgot Password pages. Also is there a design template we can work with? @sandygudie

Have you started with the Login and signup pages? I want to work with you on that.

I have created a basic layout using Html and CSS for this task, I made a layout of the header and the footer,
should I push so it can be checked???

@mildrette you can hold on while @BatoolMM reviews and merges the PR that sets up the React Project. Then update where necessary.

Thank you all for your work I created a dev branch in case you would like to use it.
Looking forward to seeing your contributions!

Just to be clear yeah is this what we are forking for the project?

Thank you all for your work I created a dev branch in case you would like to use it.
Looking forward to seeing your contributions!

Just to be clear yeah is this what we are forking for the project?

The dev branch is where you will open your PR too.
clone the MOOCs Repo directly. so that you can create your own branch. the dev branch is where all the approved PR will be merged before sending it to the main branch.

Thank you all for your work I created a dev branch in case you would like to use it.
Looking forward to seeing your contributions!

Just to be clear yeah is this what we are forking for the project?

The dev branch is where you will open your PR too. clone the MOOCs Repo directly. so that you can create your own branch. the dev branch is where all the approved PR will be merged before sending it to the main branch.
Is the explanation making any sense??

Thank you.

Thank you all for your work I created a dev branch in case you would like to use it.
Looking forward to seeing your contributions!

Just to be clear yeah is this what we are forking for the project?

The dev branch is where you will open your PR too. clone the MOOCs Repo directly. so that you can create your own branch. the dev branch is where all the approved PR will be merged before sending it to the main branch.
Is the explanation making any sense??

Thank you.

welcome

Thank you all for your work I created a dev branch in case you would like to use it.
Looking forward to seeing your contributions!

Just to be clear yeah is this what we are forking for the project?

The dev branch is where you will open your PR too. clone the MOOCs Repo directly. so that you can create your own branch. the dev branch is where all the approved PR will be merged before sending it to the main branch.
Is the explanation making any sense??

Thank you.

welcome

Could you check the contribution guidelines from the link (dev) she posted.
Thank YOU very much. i have seen it

Thank you, all for your wonderful work, I merged your PR. Let me know if you need anything from me!

most of the pages mentioned above are not in the design

can I redesign it?

Yes sure @ladyami

@sandygudie the dev_team2 branch I cloned doesnt have backend folder like it does on github, what do you think the problem is ?

please share the figma design link

@sandygudie the dev_team2 branch I cloned doesnt have backend folder like it does on github, what do you think the problem is ?

@ORIYOMI289 , hope you have resolves this?

@sandygudie   Update the checkboxes to appear checked just like they did here #5 .  So we would know which issues have been completed and which ones are free to be picked

Hello @sandygudie, can you please direct me to the project repo you working on. I can't find it

Hi @JesperKawuma here is the link to the branch   https://github.com/Open-Science-Community-Saudi-Arabia/MOOCs/tree/dev_team2

Got it, thanks @sandygudie

Hi, I'd like to work on setting up prettier, eslint and automating it using prettier and husky

@sandygudie  I'd like to Set up color variables and type for the project to ensure color consistency.

@sandygudie @BatoolMM @okerekechinweotito I want to work Categories ( List of available courses)
Dashboard,  can it be assigned to me to avoid conflicts with someone else.

@adetyaz   sure , No-one else is working on it. please go ahead and make an issue

Alright thanks @okerekechinweotito

Alright thanks @okerekechinweotito

@adetyaz  I am working on it check the issues

@ladyami since you're working on two page can i work on one while you work on the other?

@adetyaz  can you please work on the profile card instead? because I am about to finish the dashboard if you don't understand what I mean by profile card please let me know so I can direct you on where to get ideas to make one.

Alright then, direct me to the profile cards or profile page.
Let me see the ideas @ladyami

@adetyaz when you search on google "Profile card UI design Ideas" you will get a lot to give you ideas is just like when a teacher clicks on a student's name a card pop up that tells little info about the student or student click teachers name or the Admin can also see both student and teachers info I hope you get me?

alright , I'll do that and tailor it to the figma design provided to get it to fit
@ladyami thanks

@sandygudie @BatoolMM @okerekechinweotito Please I'd like to work on the Reset Password and Forgot Password. Can it be assigned to me?

@Cadeau1  please go ahead and create an issue for it

@Cadeau1 please go ahead and create an issue for it

Okay. Thanks

@sandygudie  I'd like to work on the course details page


Communication: Allow users to communicate in group chats and channels

Checklist
General

[x] I tested all changes and their related features with all corresponding user types on a test server.
[x] Language: I followed the guidelines for inclusive, diversity-sensitive, and appreciative language.
[x] I chose a title conforming to the naming conventions for pull requests.

Server

[x] I followed the coding and design guidelines.
[x] I added multiple integration tests (Spring) related to the features (with a high test coverage).
[x] I added @PreAuthorize and checked the course groups for all new REST Calls (security).
[x] I implemented the changes with a good performance and prevented too many database calls.
[x] I documented the Java code using JavaDoc style.

Client

[x] I followed the coding and design guidelines and ensured that the layout is responsive.
[x] Following the theming guidelines, I specified colors only in the theming variable files and checked that the changes look consistent in both the light and the dark theme.
[x] I added multiple integration tests (Jest) related to the features (with a high test coverage), while following the test guidelines.
[x] I added authorities to all new routes and checked the course groups for displaying navigation elements (links, buttons).
[x] I documented the TypeScript code using JSDoc style.
[x] I added multiple screenshots/screencasts of my UI changes.
[x] I translated all newly inserted strings into English and German.

Motivation and Context
Summary: Extend the communication section of a course to a more fully fledged chat app. This means the user can have this open in a separate browser window and use it similar to other chat apps like Slack or Zulip. It should feel like a standalone application
This PR improves on the great communication feature implemented by @canberkanar by extending the real-time communication feature of Artemis further:

Existing: OneToOneChats (implemented by@canberkanar): Between exactly two users
🆕 Group Chats: Between up to 10 users
🆕 Channels (Private and Public): Unlimited amount of users

Description
Analysis Object Diagram:

The existing Conversation entity was renamed to OneToOneChat and now represents one child class of the abstract parent class Conversation.
Introduced new conversation child classes GroupChat and Channel
Communication between client and server only via DTOs. This allows fine-grained control over what we send compared to sending raw entities, as was done previously.
The DTOs include what rights the user has for the respective conversation (for example, the right to add or remove users) as transient properties to show and hide UI elements without complicated client logic dynamically. This also makes sure server, and client authorization logic is in sync.
All UI components dynamically adapt to the concrete type of conversation to minimize code duplication and give a consistent look and feel.
To preserve "app feel," everything happens via dialogs, and for no action, navigation to a subpage is necessary.
Various UI components are kept in sync by using rxjs subjects heavily.
The client gets notified about conversation updates/deletion via WebSockets so the user does not have to reload the page. For example, he/she will automatically see a new conversation they have been added to in the sidebar. This further preserves the "app feel"

Steps for Testing
The following features should be tested. It is best to log in with two accounts in separate browsers to test the WebSocket feature.
**I deliberately will not write exactly how to perform each action as I want to know if some of the actions are hard to perform/find, which is very helpful feedback for me for usability purposes **
All Conversation Types

Can hide/unhide conversations in the left sidebar.
Can favorite/ unfavorite conversations in the left sidebar.
See an unread badge (message bubble icon) next to the not selected conversation when a new message comes in. This badge should be removed once you open the respective conversation by clicking on it.
Can search the conversations in the left sidebar by name.
You can reply in a thread to a message, causing the right-side thread sidebar to open

OneToOneChats

Can be started by any user of a course.
Up to 2 members.
Can not be left or deleted.

GroupChats

Can be started by any user of a course.
Up to 10 members can be added.
Any member can add/remove users.
Can be given an explicit name.
Members can leave a group chat.
Can not be deleted

Channel

No member limit
Can be started only by tutors, editors, and instructors
Can be private (no self-join possible) or public (self-join possible)
Users can browse for all public channels and self-join them
Note: Instructors can self-join all channels, public or private
Users can be promoted to channel moderators (creator automatically is channel moderator)
Channel moderators can add/remove individual users (except the creator) or whole course groups (like all tutors)
Channel moderators can delete and edit messages of other users in a channel.
Channel moderators can grant / revoke channel moderator role (except from the creator)
Channel archival / unarchival possible for all channel moderators
Channel deletion is possible only for instructors or the creator
Channels have name, topic and description that can be changed by channel moderators.
Members (except the creator) can leave a channel.

Access Control Matrix:

Review Progress
Code Review

[ ] Review 1
[ ] Review 2
[ ] Review 3
[ ] Review 4

Manual Tests

[ ] Test 1
[ ] Test 2
[ ] Test 3
[ ] Test 4

Test Coverage
Client (Condensed Folder View as too many individual files)

Server

Line Coverage

Branch Coverage

ChannelResource
##
92%
##
71%

GroupChatResource
##
89%
##
61%

ConversationResource
##
88%
##
50%

OneToOneChatResource
#
100%
#
100%

ConversationService
##
96%
##
82%

ChannelService
##
94%
##
66%

GroupChatService
##
86%
##
50%

ConversationDTOService
##
95%
##
79%

OneToOneChatService
#
100%
#
100%

ConversationService.ConversationMemberSearchFilters
#
100%

n/a

GroupChatAuthorizationService
##
78%
##
50%

ChannelAuthorizationService
##
98%
##
88%

OneToOneChatAuthorizationService
##
84%
##
50%

ConversationAuthorizationService
#
100%
##
70%

ChannelDTO
##
81%

n/a

OneToOneChatDTO
##
72%

n/a

ConversationDTO
#
100%
##
75%

GroupChatDTO
#
100%

n/a

ConversationUserDTO
#
100%

n/a

GroupChat
##
41%
#
0%

OneToOneChat
##
70%
##
50%

Conversation
#
100%

n/a

Channel
#
100%

n/a

ConversationSettings
#
100%

n/a

ConversationRepository
##
56%

n/a

ChannelNameDuplicateException
#
100%

n/a

Screenshots

Codecov Report
Base: 75.63% // Head: 75.89% // Increases project coverage by +0.25% :tada:

Coverage data is based on head (50adc44) compared to base (b27d53d).
Patch coverage: 84.39% of modified lines in pull request are covered.

:exclamation: Current head 50adc44 differs from pull request most recent head 3673bf2. Consider uploading reports for the commit 3673bf2 to get more accurate results

Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #5822      +/-   ##
===========================================
+ Coverage    75.63%   75.89%   +0.25%
===========================================
  Files         1117     1149      +32
  Lines        44289    45571    +1282
  Branches      8364     8567     +203
===========================================
+ Hits         33499    34585    +1086
- Misses        5621     5706      +85
- Partials      5169     5280     +111

Flag
Coverage Δ

client
75.89% <84.39%> (+0.25%)
:arrow_up:

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

Impacted Files
Coverage Δ

src/main/webapp/app/core/util/alert.service.ts
72.38% <ø> (ø)

...app/app/course/manage/course-management.service.ts
78.46% <0.00%> (-1.54%)
:arrow_down:

...n/webapp/app/shared/layouts/main/main.component.ts
0.00% <0.00%> (ø)

...ain/webapp/app/shared/metis/post/post.component.ts
83.33% <ø> (ø)

...answer-post-footer/answer-post-footer.component.ts
50.00% <0.00%> (-10.00%)
:arrow_down:

src/main/webapp/app/core/user/user.model.ts
92.30% <50.00%> (-7.70%)
:arrow_down:

...is/conversations/conversation-permissions.utils.ts
61.19% <61.19%> (ø)

...ew/course-conversations/other/conversation.util.ts
63.63% <63.63%> (ø)

...p/app/entities/metis/conversation/channel.model.ts
66.66% <66.66%> (ø)

...pp/entities/metis/conversation/group-chat.model.ts
66.66% <66.66%> (ø)

... and 46 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.

https://user-images.githubusercontent.com/29718932/205676767-be6d9af5-505c-4a76-8e94-74ba535c78e7.mp4
Small Screencast showing messaging between two users in a channel. Note the new flag for new messages.

Wow, nice job! 🎉 All in all it worked pretty well. Here is my general feedback:

The user interface needs some polishing.

Can you be more specific about which parts?

The difference between channels and groups is a little bit unclear. Are there concrete benefits for the user? Do we need both or are we maybe introducing an additional special case complicating future maintenance?

It is a common pattern that other chat programs like slack also implement. I see the following reasons why both are valid:

Instructors generally want to have control over their course communication. If we allow any user to just open a channel, there is a danger the course will be cluttered by a lot of public channels.
There is no upper limit on the members in a channel. The danger of spam increases if we allow normal users to create channels and invite everybody to the course.
They are semantically different: Channels provide a more organized and structured way to communicate around a specific topic such as tech-support. Group chats, on the other hand, are more flexible and can be used for more casual or informal conversations between course users.

Favorites (users/groups/channels) should be shown both under "Favorites" and their respective list.

I disagree. I followed the standard how slack also does that. The duplication would confuse the user.

I was able to add users to a channel without being the channel admin. (Maybe because I am an Artemis admin?) The separation is unclear, maybe rename to "Channel Owners" or similar.

That is the case, yes. Instructors have channel administration rights but are not necessarily channel admins. A course normally only has one instructor so I do not think its that confusing for him or her? And as always in Artemis. The admin can do everything.

Message search: Should work by pressing enter and also highlight the text.

I agree but the whole message part was done by @canberkanar . I can maybe work on this on a follow up. But I did not spend much time to look at that code yet.

When pressing enter in the message field, it should be disabled until the request was successful (can still enter text while sending).

I agree but the whole message part was done by @canberkanar . I can maybe work on this on a follow up. But I did not spend much time to look at that code yet.

Showing the ID under details is unnecessary for users.

I agree but it is important for support purposes. Thats why also slack shows it in the Info tab.

Wording: Sometimes the UI uses "channel" and other times "conversation".

Can you give an example? OneToOneChat, GroupChat, Channel are all instantiations of a conversation.

As requested in the testing session, I made the left sidebar scrollable if the user has a lot of conversations in commit 0ddcd7d817927ee3012e724e38b150a021feffab

Really nice PR! Tested on ts1 during a testing session and didn't notice any bugs. We discussed some minor usability improvements:

add setting to choose whether you send or new line on enter (Might be useful for larger announcements so you don't accidentally send the message)
add possibility to remove DMs (Removing is stronger than hiding. After removing, chats don't collapse in the hidden view, but are gone until you message that user again).

Discussed this with @krusche and will be done in a follow up

Tested on ts1. Scrollbar works as expected. Found one issue: If one (in this case a student, didn't test it with other roles) wants to create a group chat and adds more than 9 members to the participants list and removes one to not be above the limit of 10, the creation fails with a bad request.

Fixed bug in cb55f929969656b62b27c00051d3c3a76f75cc9f

When I add a new user from direct messages to the favorite list, he or she disappears from the direct message list. I think, these lists are independent and the user should be in both.

I followed what other chat apps like Slack do. They also move the whole conversation instead of duplicating it. Is that a blocker for you?

Let's get at least 6 approvals for this huge PR

I did a first code review, but we desperately need more eyes due to the many added lines.

Tested on ts2, unfortunately found an issue with internal server error.  Steps to reproduce: Write message to another user → reply in thread → react with emoji on the answer

I could not reproduce this error, but an existing error causes an internal server error when you too quickly add too many reactions or multiple users do it simultaneously. It was not introduced in this PR. Is it possible that it is this bug? Or does it happen with every reaction, also meaning if you add them slowly?
https://user-images.githubusercontent.com/29718932/208307209-3bf23a3f-15d9-4b46-83fe-5da03d5cd50c.mp4

Looks good, joined the test session. Little visibility changes like color and border changes for messaging part would be nice in order to help visually declare where the messaging window begins (was gone over in the test session).

I adapted the color and added a border to the messaging window. As requested in the testing session I also added the ability of channel moderators to edit and delete messages in a channel.

Reviewed server code, found only a few more small issues. 🙂

Thanks for the review :) Fixed all the issues

Unfortunately, error in the console with object null reference exception. Steps to reproduce: Go to the course → messages → search for not existing user and then close the dialog.

Thats not really a bug per so but expected behaviour.
The error you are seeing in the console is the one from a browser indicating that a promise was rejected and there was no handler for it. So in this sense it works as expected - you need to handle a promise if you don't want to see the default error for an unhandled promise rejection.
https://github.com/ng-bootstrap/ng-bootstrap/blob/b8230e5cb39b262c61c118e50e1cc5e33a334f96/src/modal/modal-ref.ts#L42-L45
NgBootstrap sadly rejects the result promise if the modal is dismissed.
Anyway to not spam sentry, I added a catch in commit ad58cb24e83d325cffb3d87819c64f122fad7a25 so the "error" should not show up in the console any more :)

Failing server tests are unrelated to this PR. I just checked the logs.

Tested on TS1. One small issue with Brave browser, however it is not officially supported

Maybe this helps: https://community.brave.com/t/brave-browser-shields-blocking-my-websocket/395377 ?


Null check surface in xdg_pointer_grab_enter

Before this change, opening a popup then moving the cursor somewhere
without a surface would crash the compositor.

Thanks for the PR, and for looking into this! This fix is also being discussed in https://github.com/swaywm/wlroots/pull/2162, the reason it's not yet merged is there is some discussion as whether this is the best way to go about this or not.

Ah, hadn't seen that one.


Missing percentage completed for entire course

Currently, the percentage completion for each chapter/video is there.
Need a statistics in the terminal which says the percentage completion of the entire course.

@soumendrak udemy-dl downloads single course at a time, so how can i show the % complete of course? i 'm not getting what you actually want to do, need a bit explanation.

@soumendrak but i think udemy-dl already have status for the course in form of chapter(s) number.

with the above status user can easily identity how much course is so far downloaded. but i would love to see your method if that seems good to me i will mark this as future enhancement otherwise i don't see any issue if don't add this % kind of thing on course because user is already being notified with the chapter(s) number current in process.

@r0oth3x49 , yeah I agree with you on the chapter status. It is helpful if the courses are small. However, if we see the following scenario (a long course download screenshot)

Here I agree, We can know which chapter is getting downloaded. However, it is hard to know the downloaded lecture belong to which chapter/section without scrolling top (which is hard).
Therefore, I suggest we should have a course download status at the bottom or somewhere which is easier to look.

@soumendrak there is one more way you can check is to directly open the course folder and check how many chapters are done and which one is currently in downloading status. i will wait for others suggestions as well for now i 'm closing this issue as others suggestion required.


Move all UI content into the canvas area

We want all divs to be within the canvas area to make the game feel more game like.

https://github.com/azerion/phaser-input seems promising


Update values when active window is changed

Unfortunately, the values don't change when changing active window. See screenshots:
1: Highlighting 3 lines on the left -> the count is correct
2: Highlighting 5 lines on the right -> the count is correct
3: Switching back to the left window -> the count is wrong, still displaying previous result. The "word" and "character" count are displayed correctly
Screenshots:
1:

2:

3:

I've reproduced the problem and will look into it.
I missed it because I was clicking into the different panes so it was updating because the cursor was also updating. Thanks for catching this!

I've reproduced the problem and will look into it.
I missed it because I was clicking into the different panes so it was updating because the cursor was also updating. Thanks for catching this!

Nonononono, thank you for an awesome plugin!


level 85 and adding extra points

my save file from my new computer got erased and I'm trying to regain all of that information but the problem is that I can't add new perk points to my character (not sure if there is an option but I fully checked that there isn't an option to add perk points) and I want for the option to put your character at level 85

nevermind I got my save file back you have no idea how happy I am


Github Oauth - still using old logo

What is the issue?

Super minor (probably not worthy of an issue)  but thought I would bring it up
I know this does not have anything to do with documentation but could not find a more relevant repo

When attempting to login with Github, I noticed that the Oauth logo seams to still need updated to the new pscale branding:

Steps to reproduce

Go to https://planetscale.com
Click on sign up > sign in with github

Thank you! Getting that updated 🙏

Thank you! Getting that updated 🙏

🚀


Error when using signals with react-native navigation

The error is easy to replicate.
packadge.json
{
  "name": "",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "android": "react-native run-android",
    "ios": "react-native run-ios",
    "start": "react-native start",
    "test": "jest",
    "lint": "eslint . --ext .js,.jsx,.ts,.tsx"
  },
  "dependencies": {
    "@preact/signals-react": "^1.2.1",
    "@react-navigation/bottom-tabs": "^6.4.0",
    "@react-navigation/native": "^6.0.13",
    "@react-navigation/native-stack": "^6.9.1",
    "i18next": "^22.0.4",
    "react": "18.1.0",
    "react-i18next": "^12.0.0",
    "react-native": "0.70.3",
    "react-native-gesture-handler": "^2.8.0",
    "react-native-material-dropdown": "^0.11.1",
    "react-native-paper": "^5.0.0-rc.8",
    "react-native-safe-area-context": "^4.4.1",
    "react-native-screens": "^3.16.0",
    "react-native-svg": "^13.4.0",
    "react-native-vector-icons": "^9.2.0"
  },
  "devDependencies": {
    "@babel/core": "^7.12.9",
    "@babel/runtime": "^7.12.5",
    "@react-native-community/eslint-config": "^2.0.0",
    "@tsconfig/react-native": "^2.0.2",
    "@types/jest": "^26.0.23",
    "@types/react": "^18.0.21",
    "@types/react-native": "^0.70.4",
    "@types/react-native-material-dropdown": "^0.11.5",
    "@types/react-test-renderer": "^18.0.0",
    "@typescript-eslint/eslint-plugin": "^5.37.0",
    "@typescript-eslint/parser": "^5.37.0",
    "babel-jest": "^26.6.3",
    "eslint": "^7.32.0",
    "jest": "^26.6.3",
    "metro-react-native-babel-preset": "0.72.3",
    "react-test-renderer": "18.1.0",
    "typescript": "^4.8.3"
  },
  "jest": {
    "preset": "react-native",
    "moduleFileExtensions": [
      "ts",
      "tsx",
      "js",
      "jsx",
      "json",
      "node"
    ]
  }
}

How to reproduce.

Setup react-native navigation
example

const App = () => (
  <NavigationContainer>
    <Stack.Navigator
      initialRouteName={initialRouteName}
      screenOptions={noHeaderOption}>
      <Stack.Screen name="Login" component={Login} />
    </Stack.Navigator>
  </NavigationContainer>
);

use react signals here
I have another file containing an exported signal

import {Signal, signal} from '@preact/signals-react';
import {User} from '../types';

const user: Signal<User> = signal(null);
// get from session storage?

export const initialRouteName = user ? 'BottomTab' : 'Login';

export default user;

Once I import this signal inside the Login component and use it there, I get the error
Error: A navigator can only contain 'Screen', 'Group' or 'React.Fragment' as its direct children (found 'Screen' for the screen 'Login'). To render this component in the navigator, pass it in the 'component' prop to 'Screen'.

This error is located at:
    in NativeStackNavigator (created by App)
    in EnsureSingleNavigator
    in BaseNavigationContainer
    in ThemeProvider
    in NavigationContainerInner (created by App)
    in App (created by Main)
    in ThemeProvider (created by Provider)
    in RCTView (created by View)
    in View (created by Portal.Host)
    in Portal.Host (created by Provider)
    in Provider (created by Main)
    in Main
    in RCTView (created by View)
    in View (created by AppContainer)
    in RCTView (created by View)
    in View (created by AppContainer)
    in AppContainer
    in thedoc(RootComponent), js engine: hermes

I am running into this same error.

same here..

This issues happens in react-navigation as well
I've disabled these lines and it  works as expected. at this file File
// React.createElement = WrapJsx(React.createElement);
// JsxDev.jsx && /*   */ (JsxDev.jsx = WrapJsx(JsxDev.jsx));
// JsxPro.jsx && /*   */ (JsxPro.jsx = WrapJsx(JsxPro.jsx));
// JsxDev.jsxs && /*  */ (JsxDev.jsxs = WrapJsx(JsxDev.jsxs));
// JsxPro.jsxs && /*  */ (JsxPro.jsxs = WrapJsx(JsxPro.jsxs));
// JsxDev.jsxDEV && /**/ (JsxDev.jsxDEV = WrapJsx(JsxDev.jsxDEV));
// JsxPro.jsxDEV && /**/ (JsxPro.jsxDEV = WrapJsx(JsxPro.jsxDEV));

So, I suggest to disable these lines at ios and android platforms. @JoviDeCroock

Facing the same issue with a BottomTabNavigator in React Native.
Disabling the lines as mentioned above didnt work for me either.

Facing the same problem.

I fixed this issue (it works for 1.2.1 version). You need to apply this patch for @react-navigation/core:
diff --git<EMAIL_ADDRESS><EMAIL_ADDRESS>index 352ba31..893d2c2 100644
---<EMAIL_ADDRESS>+++<EMAIL_ADDRESS>@@ -12,3 +12,4 @@ export default function Group<
   /* istanbul ignore next */
   return null;
 }
+Group.__isGroup = true;
\ No newline at end of file
diff --git<EMAIL_ADDRESS><EMAIL_ADDRESS>index 4ca4306..f116e61 100644
---<EMAIL_ADDRESS>+++<EMAIL_ADDRESS>@@ -15,3 +15,4 @@ export default function Screen<
   /* istanbul ignore next */
   return null;
 }
+Screen.__isScreen = true;
\ No newline at end of file
diff --git<EMAIL_ADDRESS><EMAIL_ADDRESS>index 76442df..e1c8632 100644
---<EMAIL_ADDRESS>+++<EMAIL_ADDRESS>@@ -93,7 +93,7 @@ const getRouteConfigsFromChildren = <
     ScreenConfigWithParent<State, ScreenOptions, EventMap>[]
   >((acc, child) => {
     if (React.isValidElement(child)) {
-      if (child.type === Screen) {
+      if (child.type?.__isScreen) {
         // We can only extract the config from `Screen` elements
         // If something else was rendered, it's probably a bug

@@ -121,7 +121,7 @@ const getRouteConfigsFromChildren = <
         return acc;
       }

-      if (child.type === React.Fragment || child.type === Group) {
+      if (child.type === React.Fragment || child.type?.__isGroup) {
         if (!isValidKey(child.props.navigationKey)) {
           throw new Error(
             `Got an invalid 'navigationKey' prop (${JSON.stringify(


Add Bimorph Mirrors, Slits

Add Bimorph Mirrors, Slits Ophyd Devices
Instructions to reviewer on how to test:

Create + activate venv

To test slits:

Start the slit simulator (ask Daniel)
Run pytest tests/devices/unit_tests/test_slit_interface.py
Ensure all tests pass

To test bimorphs:

SSH into BL02J
Run pytest tests/devices/unit_tests/test_CAENels_bimorph_mirror_8_channel.py
Ensure all tests pass

Checks for reviewer

[ ] Would the PR title make sense to a scientist on a set of release notes
[ ] If a new device has been added does it follow the standards

I'm usually a bit ambivalent about squash vs. merge commits but in this case with 300+ commits can we make sure we squash it before we merge?

Closing as stale, please feel free to reopen if this is still needed


[gym] Revise xcbuild-safe.sh to work with CircleCI and rbenv

Thanks for contributing to fastlane! Before you submit your pull request, please make sure to check the following boxes:

[x] Run rspec for all tools you modified
[x] Run rubocop -a to ensure the code style is valid
[x] We currently don't accept new actions, please publish a plugin instead, more information in Plugins.md

Before submitting a pull request, we appreciate if you create an issue first to discuss the change :+1:

Fix https://github.com/fastlane/fastlane/issues/6277

This is perfect, thanks for adding the comment and linking to the GitHub issue 👍

Thank you :smile:


Non-required Properties that are represented as struct types with omitempty should be pointers

Hello!
In order for json.Marshal() to properly apply to omitempty tag and omit properties that contain structs, the property must actually be a pointer to the struct type. However, the generated models contain struct properties directly rather than via pointers.
Here's an example showing the difference when Marshaling Go structs into JSON with & without pointers for the struct properties carrying omitempty:
package main

import (
	"encoding/json"
	"fmt"
)

type ObjectNoPointer struct {
	Property Property `json:",omitempty"`
}

type ObjectPointer struct {
	Property *Property `json:",omitempty"`
}

type Property struct {
	Key   string
	Value string
}

func main() {
	a := ObjectNoPointer{}
	b := ObjectPointer{}

	resultA, _ := json.Marshal(a)
	resultB, _ := json.Marshal(b)

	fmt.Println("No Pointer:" + string(resultA))
	fmt.Println("Pointer:" + string(resultB))
}

The example above can also be viewed at https://go.dev/play/p/pl9hl9Z72e1

You should get a point if you set the field to be nullable. I fully understand how the marshalling works, but is that example
type ObjectNoPointer struct {
	Property Property `json:",omitempty"`
}

Currently being generated by the package? I would be best if we had an example with a minimal schema file, the currently generated Go, and the an example of the desired Go.

Sure.
Here's a simple OpenAPI definition that defines an Item object type with a property that contains an non-required OptionalItem type in a field called other_item:
openapi.txt
Here's the generated struct generated for the Item type:
// Item is an object.
type Item struct {
	// Name:
	Name string `json:"name" mapstructure:"name"`
	// OtherItem:
	OtherItem OptionalItem `json:"other_item,omitempty" mapstructure:"other_item,omitempty"`
}

and here's what I expect:
// Item is an object.
type Item struct {
	// Name:
	Name string `json:"name" mapstructure:"name"`
	// OtherItem:
	OtherItem *OptionalItem `json:"other_item,omitempty" mapstructure:"other_item,omitempty"`
}```

The reason being that an property that is *not* required but also *not* explicitly nullable can have two valid representations in the JSON:

1. The property is present, and is valid (ie, `OtherItem` is present and contains a valid `OptionalItem` object)
2. The property is not present (ie, `OtherItem` is not present in the generated JSON).

Currently, the first is doable with the generated Go type. However, the second requires the Go property to be a pointer type in combination with `omitempty` so that `json.Marshal()` omits the property from the generated JSON.

PR #91 created to address this.


Overpowered permission required for day 1 functionality (export)

"To export the data from a visual, you need to have Build permission for the underlying dataset."
The only reason this hasn't turned into an issue with users yet is because the build permission rollout in June automatically added the "build" permission for any datasets attached to shared reports prior to the go-live of build permissions.
Once people realize that entire datasets are now exposed to users that once only had access to the report it will be raised as a security concern.

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

ID: c87c556b-b1da-0b24-606b-89c371c6bae8
Version Independent ID: 20141574-acfa-f5f8-b6cf-6b32b3c55b4f
Content: Export data from a Power BI visualization - Power BI
Content Source: powerbi-docs/visuals/power-bi-visualization-export-data.md
Service: powerbi
Sub-service: powerbi-service
GitHub Login: @mihart
Microsoft Alias: mihart

By the way, the only reason this hasn't blown up in Microsoft's face yet is because the rollout automatically added the "build" permission for any datasets attached to shared reports prior to the go-live of build permissions. Of course if more people realized that (ie infosec teams) there would probably be a huge data sensitivity concerned being raised as well. I wonder how long that will take to happen?

Imagine you create a report with filters so users can only see certain data (probably didn't use rls), but because the user can only view the report you shared with them they can't see any sensitive data. Not anymore, we just gave all of your users the ability to see the entire dataset.

Thanks for your comment, @GeorgeCMElliott. We’ve forwarded your feedback to the writer, who should respond to this thread shortly. Thanks!

Thanks for the comment @GeorgeCMElliott. This looks like product feedback, rather than documentation feedback. You can submit product feedback or feature ideas by going to Power BI Ideas. You can also engage with the Power BI engineering team by being active in the Power BI Community.


Update images digests

Update images digests
NONE

cc @kaniini @imjasonh
When we're ready to canary the kontext changes they should be in these build IIUC 🤞


Added generation of data method in impl_array_newtype macro

Sometimes it is very useful to be able to get contents from an array-based type.
Use case: when use Sha256dHash and you need to convert it to some Hash implementation in another library. In most cases Hash type may be constructed from [u8; 32] and thus such a method will make process simpler.

Agree, it is useful. Recently I had to convert Sha256dHash to Uint256 just to be able to get the lower half of hash to seed sip hash key (BIP158). @apoelstra merge?

Are the slicing methods insufficient for this?

In some cases such a method looks better in code than slicing.
IMHO despite it doesn't provide any functionality that can't be gotten with what we have now, it helps to make users code more readable.


Uninstall method for helm

Please,  add RunUninstall for helm.
func (m *Manager) RunUninstall(opts ...Option) error {
	o := m.processOpts(opts...)
	o.mode = "uninstall"
	return m.run(o)
}

Thanks @dj-kostya
It has been taken care in this PR https://github.com/kubernetes-sigs/e2e-framework/pull/139

this is completed

Closing due to #139


TypeError: Failed to fetch Object.startKeepAliveServiceWorker

Issue and Steps to Reproduce
OidcServiceWorker.js:19 Failed to normalize url: undefined
normalizeUrl @ OidcServiceWorker.js:19
getCurrentDatabasesTokenEndpoint @ OidcServiceWorker.js:291
handleFetch @ OidcServiceWorker.js:367
When user gets redirected to keycloak login and put in credentials and hit login, the redirect to the next page (react-oidc secured component) causes the error seen above. Seems that i tries to inintialize the auth but the OidcTrustedDomains config is not loaded in time for the OidcServiceWorker. Only happens after login on auth provider. When reloading website no error occurs.
Also i got a non Error in console on that:
TypeError: Failed to fetch
    at ke (:3000/static/js/bundle.js:136546:34)
    at r (:3000/static/js/bundle.js:136623:41)
    at Object.startKeepAliveServiceWorker (:3000/static/js/bundle.js:136658:42)
    at :3000/static/js/bundle.js:137325:178
    at async n (:3000/static/js/bundle.js:137803:19)
    at async ks (:3000/static/js/bundle.js:137633:9)

After that also the fetching of "/.well-known/openid-configuration" from auth provider which is present and available, fails.
When following the url there is the openid-configuration present.
Also the fetch on "https://myDomain.de/OidcKeepAliveServiceWorker.json?minSleepSeconds=150" fails, like mentioned here (no OidcKeepAliveServiceWorker.json is present in public folder): https://github.com/AxaFrance/oidc-client/pull/1355
What could lead to this problems?
Versions
7.13.6
Additional Details

Installed packages:

  "dependencies": {
    "@axa-fr/react-oidc": "^7.13.6",
    "@date-io/date-fns": "^1.3.13",
    "@emotion/react": "^11.11.0",
    "@emotion/styled": "^11.11.0",
    "@fontsource/roboto": "^5.0.2",
    "@mui/icons-material": "^5.11.16",
    "@mui/material": "^5.13.3",
    "@mui/styled-engine-sc": "^5.12.0",
    "@mui/system": "^5.14.0",
    "@mui/x-date-pickers": "^7.3.2",
    "@tag0/use-text-width": "^1.2.0",
    "@testing-library/jest-dom": "^5.16.5",
    "@testing-library/react": "^13.4.0",
    "@testing-library/user-event": "^13.5.0",
    "axios": "^1.6.7",
    "dayjs": "^1.11.11",
    "react": "^18.2.0",
    "react-dom": "^18.2.0",
    "react-dropzone": "^14.2.3",
    "react-measure": "^2.5.2",
    "react-papaparse": "^4.1.0",
    "react-router-dom": "^6.4.5",
    "react-scripts": "^5.0.1",
    "react-virtualized": "^9.22.5",
    "react-virtualized-auto-sizer": "^1.0.24",
    "react-window": "^1.8.10",
    "react-window-infinite-loader": "^1.0.9",
    "styled-components": "^5.3.11",
    "typescript": "^4.9.5",
    "uuid": "^9.0.0",
    "web-vitals": "^2.1.4"
  },
    "devDependencies": {
    "@types/react-measure": "^2.0.12",
    "@types/react-virtualized": "^9.21.30",
    "@types/react-window": "^1.8.8",
    "@types/styled-components": "^5.1.34",
    "@types/uuid": "^9.0.2",
    "css-loader": "^6.8.1",
    "env-cmd": "^10.1.0",
    "husky": "^7.0.4",
    "openapi-typescript-codegen": "^0.25.0",
    "style-loader": "^3.3.3"
  }

Hi @HSULGIT thank you for your issue.
Do you have a sample of your configuration and also you trusted domain.js?

Hi @guillaume-chervet,
the "Failed to normalize url" is gone but the failed fetch on "Object.startKeepAliveServiceWorker" remains.
Here is my trusted domain file and the configuration.
OidcTrustedDomains.js (urls replaced with placeholders here (except <IP_ADDRESS>))
const trustedDomains = {
    default: [
        "http://<IP_ADDRESS>",
        "https://dev-frontend.com",
        "https://dev-api.com",
        "https://auth.service.com/realms/test",
        "https://test-frontend.com",
        "https://test-api.com",
      ],
      config_classic: ["https://auth.service.com/realms/test"],
      config_without_silent_login: [
        "https://auth.service.com/realms/test",
      ],
      config_without_refresh_token: [
        "https://auth.service.com/realms/test",
      ],
      config_without_refresh_token_silent_login: [
        "https://auth.service.com/realms/test",
      ],
      config_with_hash: ["https://auth.service.com/realms/test"],
};

trustedDomains.config_show_access_token = {
    domains: [
      "http://<IP_ADDRESS>",
      "https://dev-frontend.com",
      "https://dev-api.com",
      "https://auth.service.com/realms/test",
      "https://test-frontend.com",
      "https://test-api.com",
      ],
    showAccessToken: true,
    // convertAllRequestsToCorsExceptNavigate: false,
    // setAccessTokenToNavigateRequests: true,
};

trustedDomains.config_separate_oidc_access_token_domains = {
    oidcDomains: [
      "http://<IP_ADDRESS>",
      "https://dev-frontend.com",
      "https://dev-api.com",
      "https://auth.service.com/realms/test",
      "https://test-frontend.com",
      "https://test-api.com",
      ],
    accessTokenDomains: ['https://dev-api.com', 'https://test-api.com'],
};

And my configuration:
import React, { useEffect, useState } from "react";
import { OidcProvider } from "@axa-fr/react-oidc";
import OutputAuthState from "./OutputAuthState";

const envState = process.env.NODE_ENV;
const envVarAuthClient = process.env.NODE_ENV === "development" ? process.env.REACT_APP_CLIENT_ID : window.__RUNTIME_CONFIG__.REACT_APP_CLIENT_ID;
const envVarAuthProvider = process.env.NODE_ENV === "development" ? process.env.REACT_APP_AUTHORITY : window.__RUNTIME_CONFIG__.REACT_APP_AUTHORITY;

if (!envVarAuthClient) {
  console.error("Auth client is not set or is empty. Please provide a valid client ID.");
}

if (!envVarAuthProvider) {
  console.error("Authority provider is not set or is empty. Please provide a valid authority URL.");
}

const configuration = {
  client_id: envVarAuthClient ?? "",
  redirect_uri: window.location.origin + "/authentication/callback",
  silent_redirect_uri:
    window.location.origin + "/authentication/silent-callback", // Optional: Used for silent sign-in.
  scope: "openid profile email", // The scopes requested during authentication.
  refresh_time_before_tokens_expiration_in_second: 200, // Time in seconds before token expiration to refresh.
  authority: envVarAuthProvider ?? "", // The OIDC authority URL.
  service_worker_relative_url: "/OidcServiceWorker.js", // URL for the service worker.
  service_worker_only: false, // Whether to use the service worker only.
};

type AuthenticationProps = {
  children: JSX.Element;
};

const authStateSwitchDisplay = (state: string, authAvailable: boolean) => (
  <OutputAuthState state={state} authProviderPresent={authAvailable} />
);

const Authentication = (props: AuthenticationProps): JSX.Element => {
  const [authProviderPresent, setAuthProviderPresent] =
    useState<boolean>(false);
  const [isMounting, setIsMounting] = useState<boolean>(true);

  useEffect(() => {
    if (isMounting) {
      setIsMounting(false);
    } else {
      const urlToCheck =
        envVarAuthProvider + "/.well-known/openid-configuration";
      fetch(urlToCheck)
        .then((response) => {
          if (response.status === 200) {
            setAuthProviderPresent(true);
          } else {

            setAuthProviderPresent(false);
          }
        })
        .catch((error) => {
          setAuthProviderPresent(false);
        });
    }
  }, [isMounting]);

  return (
    <OidcProvider
      configuration={configuration}
      authenticatingComponent={() =>
        authStateSwitchDisplay("authenticating", authProviderPresent)
      }
      loadingComponent={() =>
        authStateSwitchDisplay("loading", authProviderPresent)
      }
      sessionLostComponent={() =>
        authStateSwitchDisplay("sessionLost", authProviderPresent)
      }
      authenticatingErrorComponent={() =>
        authStateSwitchDisplay("authenticatingError", authProviderPresent)
      }
      callbackSuccessComponent={() =>
        authStateSwitchDisplay("callbackSuccess", authProviderPresent)
      }
      serviceWorkerNotSupportedComponent={() =>
        authStateSwitchDisplay(
          "serviceWorkerNotSupported",
          authProviderPresent
        )
      }
    >
      {props.children}
    </OidcProvider>
  );
};

export default Authentication;

Hope that helps to track down the issue on Object.startKeepAliveServiceWorker.
Thank you helping!

Till now i sadly get this error.
TypeError: Failed to fetch
at we (:3000/static/js/bundle.js:137911:34)
at r (:3000/static/js/bundle.js:137999:41)
at Object.startKeepAliveServiceWorker (:3000/static/js/bundle.js:138034:42)
at :3000/static/js/bundle.js:139207:178
at async s (:3000/static/js/bundle.js:139532:19)
at async Sn `(:3000/static/js/bundle.js:139404:9)
It seems to happen when using
logout("/",  { id_token_hint: idToken })
used from
const { logout, isAuthenticated } = useOidc();
const { idTokenPayload, idToken } = useOidcIdToken();
imported via
import { useOidc, useOidcIdToken } from "@axa-fr/react-oidc";
@guillaume-chervet: Is there a solution to the Problem or are you still investigating on it?
Btw thanks for your great work with the package.

I now switched from CRA to VITE, but the Problem seems to remain the same again:
TypeError: Failed to fetch
    at we (:3000/node_modules/.vite/deps/@axa-fr_react-oidc.js?v=84f36b2f:281:32)
    at r (:3000/node_modules/.vite/deps/@axa-fr_react-oidc.js?v=84f36b2f:354:37)
    at Object.startKeepAliveServiceWorker (:3000/node_modules/.vite/deps/@axa-fr_react-oidc.js?v=84f36b2f:378:40)
    at :3000/node_modules/.vite/deps/@axa-fr_react-oidc.js?v=84f36b2f:1369:171
    at async s (:3000/node_modules/.vite/deps/@axa-fr_react-oidc.js?v=84f36b2f:1739:17)
    at async Sn (:3000/node_modules/.vite/deps/@axa-fr_react-oidc.js?v=84f36b2f:1599:48)

Are there any new updates on this @guillaume-chervet? It happens on logout:
const { idTokenPayload, idToken } = useOidcIdToken();
  /**
   * Handle user logout.
   *
   * @return {void}
   */
  const handleLogout = (): void => {
    logout("/",  { id_token_hint: idToken }).catch((error) => {
      console.error(error);
    });
  };


[WebToolsE2E][Aspire] Add some code to Aspire project and publish again, it will shows "Didn't find new changes."

REGRESSION INFO: Worked in Aspire P5
INSTALL STEPS

Clean machine: Win11 x64 23h2 ENU
Install VS 17.10.0 Preview 5 [rel.d17.10-34818.151] includes Aspire 8.0 P6 [8.0.0-preview.6.24214.1]
Apply dotnet-tools Feed
Install latest daily azd [1.9.0-beta.1-daily.3712265]
Install git [2.44.0.windows.1]

REPRO STEPS

Create a new Aspire Starter App project using VS or CLI
Open Command Prompt and navigate to the solution path of this project
Run 'azd init', select 'Use code in the current directory' > Confirm and continue initializing my app, type a new environment named bennett, press enter
Run 'azd up', and select Subscription to WTE and select Location to East US, press enter
Open the program.cs of the AppHost project add follow code:
var apiService = builder.AddProject<Projects.AspireApp6_ApiService>("apiservice").WithExternalHttpEndpoints();

Publish again

ACTUAL
It will shows Didn't find new changes.

This is expected. Since, the app host did not add any new infra requirements. Hence you see provisioning being skipped.
But, from an app deployment and configuration POV. Your changes to expose services from internal -> public was honored and hence you see the endpoint changes with no .internal. in the URL and is publicly accessible.
@weikanglim @vhvb1989 @davidfowl @mitchdenny


Biography is null

By getting the Follower requests of an Instagram Account, the biography of it returned null which is not thr actual case

Addressed in rewrite or no longer relevant.


Multi-thread Kestrel crashes on x64 DNX (CLR & Core CLR) on Windows (racy)

DNX version: 1.0.0-beta8-15616
Kestrel version: 1.0.0-beta8-15614
When using an x64 DNX (either full CLR or Core CLR) on Windows, with Kestrel configured to use multiple listener threads (IKestrelServerInformation.ThreadCount = Environment.ProcessorCount / 2), it crashes on start (before any requests are made) most times. On full CLR an assert window is show:

Exception stack trace:
System.Exception: Error -704845296  Unknown system error
   at Microsoft.AspNet.Server.Kestrel.Networking.Libuv.Check(Int32 statusCode) in C:\code\github\aspnet\KestrelHttpServer\src\Microsoft.AspNet.Server.Kestrel\Networking\Libuv.cs:line 67
   at Microsoft.AspNet.Server.Kestrel.Networking.Libuv.pipe_connect(UvConnectRequest req, UvPipeHandle handle, String name, uv_connect_cb cb) in C:\code\github\aspnet\KestrelHttpServer\src\Microsoft.AspNet.Server.Kestrel\Networking\Libuv.cs:line 252
   at Microsoft.AspNet.Server.Kestrel.Networking.UvConnectRequest.Connect(UvPipeHandle pipe, String name, Action`4 callback, Object state) in C:\code\github\aspnet\KestrelHttpServer\src\Microsoft.AspNet.Server.Kestrel\Networking\UvConnectRequest.cs:line 40
   at Microsoft.AspNet.Server.Kestrel.Http.ListenerSecondary.<>c__DisplayClass5_0.<StartAsync>b__0(Object _) in C:\code\github\aspnet\KestrelHttpServer\src\Microsoft.AspNet.Server.Kestrel\Http\ListenerSecondary.cs:line 44

Logged by @DamianEdwards

The assert failure comes after uv_pipe_connect returns a negative status (this status changes randomly from run to run) causing ListenerSecondary.DispatchPipe to be disposed in a catch block.
Despite the negative return value the uv_pipe_connect callback still gets invoked with a zero status. At this point the callback tries to use the already-disposed DispatchPipe.
Since this only seems to happen with the 64 bit libuv.dll, I think we should wait for a new build of libuv before investigating this issue further.

So it turns out not to be an issue with the native libuv.dll ...

So cryptic!!


How to disable features (in particular auto-numbering of sections in TOC) ?

Hello, I just learned how to disable the latex plugin, but I would like now to also disable automatic numbering of paragraphs in the TOC, as they are already manually numbered.
More in general it would be nice to have a way to disable each feature individually and to document it.

I can see there in an option -h (I was looking for the manpage) that list the modules that can be disabled, including tableofcontent.
It would be nice to have an option to disable individual features for each module, e.g. -e tableofcontent numbers,links -e latexplugin equations

Solved my own user case with a bit of hacking of /usr/local/lib/python3.6/dist-packages/MarkdownPP/MarkdownPP.py
Now I have the sections with identation rather than numbering:
            if depth == 1:
                section = "%d\\. " % headernum
                sectionintoc = "- "
                sectioninbody = ""

            else:
                section = (".".join([str(x) for x in stack]) +
                           ".%d\\. " % headernum)
                sectionintoc = "".join("   " for x in stack)+"- "
                sectioninbody = ""

            #tocdata += ("%s [%s](#%s)  \n" %
            #            (section, TableOfContents.clean_title(title), short))
            tocdata += ("%s [%s](#%s)  \n" %
                        (sectionintoc, TableOfContents.clean_title(title), short))

            #transforms.append(Transform(linenum, "swap",
            #                  data[linenum].replace(title, section + title)))
            transforms.append(Transform(linenum, "swap",
                              data[linenum].replace(title, sectioninbody + title)))
            transforms.append(Transform(linenum, "prepend",
                              "\n\n" % short))

Of course, the general idea to have feature disabled in the command line is still interesting..


Read css and cx from import { CacheProvider } from '@emotion/react'

Our code heavily depends on custom cache, and we have multiple emotion caches in the whole application. It makes it impossible to provide our custom cache when calling createMakeStyles

The current code requires the cache to be provided ahead-of-time instead of reading it from the CacheProvider https://github.com/garronej/tss-react/blob/main/src/createMakeStyles.tsx

Ok cool, I understand, sorry for overseeing that.

@Jack-Works, I have submitted a PR to enable transparent support of custom cache.
Wether it get merged or not however I guaranty support of custom cache within a week.

Cool thank you!

The change have been approved. It should be merged soon.

Sorry about the delay. I am releasing the feature as soon as the PR get merged on emotion

@Jack-Works Everything should work now. Let me know if it isn't the case 😊
Doc

hi, @garronej I tried the latest version, it still not working and I got this:

You are loading @emotion/react when it is already loaded. Running multiple instances may cause problems. This can happen if multiple versions are used, or if multiple builds of the same version are used.

pnpm why @emotion/react -r
Legend: production dependency, optional only, dev only

Workspace Root

dependencies:
@emotion/react 11.4.1
@emotion/styled 11.3.0
└── @emotion/react 11.4.1 peer
@material-ui/core 5.0.0-alpha.34
├── @emotion/react 11.4.1 peer
├─┬ @emotion/styled 11.3.0 peer
│ └── @emotion/react 11.4.1 peer
└─┬ @material-ui/styled-engine 5.0.0-alpha.34
  ├── @emotion/react 11.4.1 peer
  └─┬ @emotion/styled 11.3.0 peer
    └── @emotion/react 11.4.1 peer
@material-ui/icons 5.0.0-alpha.34
└─┬ @material-ui/core 5.0.0-alpha.34 peer
  ├── @emotion/react 11.4.1 peer
  ├─┬ @emotion/styled 11.3.0 peer
  │ └── @emotion/react 11.4.1 peer
  └─┬ @material-ui/styled-engine 5.0.0-alpha.34
    ├── @emotion/react 11.4.1 peer
    └─┬ @emotion/styled 11.3.0 peer
      └── @emotion/react 11.4.1 peer
@material-ui/lab 5.0.0-alpha.34
└─┬ @material-ui/core 5.0.0-alpha.34 peer
  ├── @emotion/react 11.4.1 peer
  ├─┬ @emotion/styled 11.3.0 peer
  │ └── @emotion/react 11.4.1 peer
  └─┬ @material-ui/styled-engine 5.0.0-alpha.34
    ├── @emotion/react 11.4.1 peer
    └─┬ @emotion/styled 11.3.0 peer
      └── @emotion/react 11.4.1 peer

@masknet/theme packages\theme

dependencies:
tss-react 0.5.2
└── @emotion/react 11.4.1

I guess you should list @emotion/* packages as peer dependencies instead of direct dependencies?

Oh @material-ui/styled-engine are using 11.4.0 and tss-react using 11.4.1, let me try to fix this in our lockfile

Changed resolution to 11.4.1 but still getting this problem, I guess peer is required

Ok,
Sorry for not testing this out with @material-ui/styled-engine

Changed resolution to 11.4.1 but still getting this problem, I guess peer is required

This is surprise me a lot.
As mentioned by @oliviertassinari here the problem is more complicated that it seems...
I will sort this out and come back with a solution.

Thanks! And I'm using pnpm workspace (that might affect the result)

Can you release an experimental version with peers so that I can test it by myself

Done,
$ yarn add<EMAIL_ADDRESS>@emotion/cache @emotion/react @emotion/serialize @emotion/utils

Sorry I was eager to push this feature out of the door but it wasn't ready yet.
Working on resolving the mui integrations issues.

Thanks! I have tried 0.6.0-beta.1, it fixes our problem!

Thanks for reporting it working.
I really hate to make @emotion/cache, @emotion/react, @emotion/serialize, and @emotion/utils peer dependency though.
Problem being that @emotion is spitted into multiple little packages.
Using yarn packages are correctly deduped.
I would highly appreciate if you could give me the step to reproduce the error in your pnpm project so I can investigate the error and see if there isn't a better way than making everything a peer dependency.

Hi @Jack-Works,
In v0.6.0 there is a more exhaustive cache support.
The build is also much more carefully tested that the one I released in the hurry Sunday, in particular with the mui integration in an SSR context.
Let me know if you have any issue with it.
I've opted to leave only @emotion/react as dev dependency but I am still interested in reproducing the bug your experienced.
Best

Oh, I found there is still a problem here. Now tss-react works but mui styles are all breaking.

Both happening in 0.6.0 or 0.6.0-beta.1. Let me try to fix this locally

I've fixed this locally again by editing the lock file manually and playing around with node_modules. 😂

I'm glad you fixed it but it bothers me. Not everyone will have the skill to hack the lock file like you did.
I can't reproduce with yarn. Maybe there is just a simple keyword like resolve to put in the package.json that will make it work with pnpm.

I'm glad you fixed it but it bothers me. Not everyone will have the skill to hack the lock file like you did.
I can't reproduce with yarn. Maybe there is just a simple keyword like resolve to put in the package.json that will make it work with pnpm.

Thanks, but I can't tell how did I fix this exactally, our project is open sourced on GitHub. I guess you may be interested in it. https://github.com/DimensionDev/Maskbook/commit/294b23aa893934ce64507a7884da4760e3cd8c6c is the bad commit and in https://github.com/DimensionDev/Maskbook/commit/ec225caa515ecdad496f5550ef8f3a4bff9f1b7f I fixed it by only changing package.json and pnpm-lock.yaml. But our project is hard to set up.


Web search doesn't mean copy

web search for code answers is part of learning, but copying from others is not

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

@jemtasm Thank you for submitting a pull request (PR). I am inclined to close the PR because it should already be very clear from the paragraph above that one should not plagiarise anything for the own benefits.
Please let me know if you think differently—in that case we will bring in other reviewers to give their opinions on this!

Closed and Reopened this PR to attempt to resolve a specific Travis build failure.


Tags aren't visible in the metadata even though they are provided in the yml file

ProfileAndSettingsTest.yml.zip

Current behavior

Tags are provided in the YAML and are not visible in the Sauce Labs Test Results metadata page. Attaching yaml file and the test results below.

Desired behavior

If tags are provided, they must be visible on the sauce labs test results page.

Config to reproduce

Provided the yml file below

Versions

saucectl version - 0.62.3
OS- Android
Test- Espresso

I assume this was run against a real/physical device? This feature is indeed missing at the moment for mobile devices (not virtual) and our mobile team is working on it 👍

Yes, it was run on a real device on Sauce Labs. I will wait for the feature to be released on mobile. Thanks for the update @alexplischke


Generated code documentation

This PR brings back doc/generated_code.md and fixes #413. Hopefully this version of the file is easier to update, but I can also see that it is less useful for users. Let's hope it is still useful enough.

I'm not sure if updating the links with line ranges is easier than copying the code. Anyways, it allows the reader to explore the surrounding code and probably makes the document more navigable.


How can I lock a test plan or test suite?

I create a test plan and some test suites under that test plan. I see that the query based test suite keep updating its self as I enter new test cases that fit that query.
My requirement is that once I have complete execution of a test plan the test plan should freeze and no new test should added to it.
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 985ecee3-e347-43bb-5ed2-08ce3aee7621
Version Independent ID: fdf465fc-a9e1-0198-2e8c-e859c74252b3
Content: FAQs and problem solutions - Azure Test Plans
Content Source: docs/test/reference-qa.md
Product: devops
Technology: devops-test
GitHub Login: @steved0x
Microsoft Alias: sdanie

@kamranhere Thanks for your question. While we look into including it in the FAQ, consider these resources:

Azure DevOps Services
Azure DevOps Support Bot
Azure DevOps on Stack Overflow


[FLINK-30989][runtime] Some config options related to sorting and spilling are not valid.

What is the purpose of the change
For some config options like taskmanager.runtime.sort-spilling-threshold ,taskmanager.runtime.max-fan ... etc. used for sorting and spilling, we get this option value from JobConfiguration. In fact, these parameters should be only available in the TaskManagerConfiguration now.
Brief change log

Using TaskManagerConfiguration to load these config options.

Verifying this change
Manual testing.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): no
The public API, i.e., is any changed class annotated with @Public(Evolving): no
The serializers: no
The runtime per-record code paths (performance sensitive): no
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: no
The S3 file system connector: no

Documentation

Does this pull request introduce a new feature? no

@pnowojski Would you mind taking a look at this?

The current change is to think of them as cluster-level configurations. The reason is that from the key of Option, they are prefixed with taskmanager.
I'm not sure whether consider this as job-wise conf is better?

@flinkbot run azure


Not working in CF Worker

This package using Buffer, that is not defined because CF Workers are based on web platform APIs instead.
The web platform alternative to Buffer is Uint8Array

`const base64ToArrayBuffer = (b64)  => {
var byteString = atob(b64);
var byteArray = new Uint8Array(byteString.length);
for(var i=0; i < byteString.length; i++) {
byteArray[i] = byteString.charCodeAt(i);
}
return byteArray;

}
const arrayBufferToBase64 = (arrayBuffer) => {
var byteArray = new Uint8Array(arrayBuffer);
var byteString = '';
for(var i=0; i < byteArray.byteLength; i++) {
byteString += String.fromCharCode(byteArray[i]);
}
var b64 = btoa(byteString);
return b64;

}`
can be fixed by changing Buffer.from(accountKey, 'base64') with base64ToArrayBuffer(accountKey)
and Buffer.from(digest).toString('base64') to arrayBufferToBase64(digest)

Hi, the package uses Buffer thats true. Even though Buffer is not part of the Browser API it works on CF. The library is being used in production for a couple of years now. I encourage you to test it for yourself and you will see that CF abstracted Buffer themselves and implemented Buffer handling.

You were actually right. When I initialise a new CF worker and install this library and use it I get an error.
Thanks for letting me know!
I created a PR here with a fix.


proxy config is not working after build the code by ng build . I am not using json files. I am consuming rest api. So I need proxy config after build the code.

Please provide us with the following information:

OS?

Windows 7, 8 or 10. Linux (which distribution). Mac OSX (Yosemite? El Capitan?)

Versions.

Please run ng --version. If there's nothing outputted, please run in a Terminal: node --version and paste the result here:

Repro steps.

Was this an app that wasn't created using the CLI? What change did you do on your code? etc.

The log given by the failure.

Normally this include a stack trace and some more information.

Mention any other details that might be useful.

Thanks! We'll be in touch soon.

It's a good idea to fill out the template provided as it helps explain what issue you're facing, and makes it easier to help you.

@uyadav0001 proxy config is only for the dev server when using ng serve if you need a proxy in production you will have to configure your own server.

Closing this; please refill with the template and provide an example project for complex issues.


[Offline sync] Allow user to specify connection types required for syncing

Allow user to enable "Wait for Wifi" for: Photos, Uploading observations, Downloading new features (wording and UX TBD). @coreyleamon FYI.

Current Implementation:

@shobhitagarwal1612 -- Do we need UX help on this?

@gino-m has a question for you regarding the same in the PR. https://github.com/google/ground-android/pull/506#discussion_r447037477. Could you please take a look?

I can't find that question now, but I think it was related to the language show in the UI - "WiFi" vs "Unmetered". Although the UI says "Only upload photos over WiFi", it really means "over an unmetered connection". This usually means Wifi but not always.
My opinion here is that "unmetered" may be too abstract for beginner users, but I'm may be wrong. I see apps like Photos use "Wifi", I believe as an approximation of "Unmetered" connection.

@sergeydolgov1


add marking hive notifications

This should mark Hive notifications as read on top of our internal notifications marking. Non tested, just integrated, please test.
https://github.com/orgs/ecency/projects/2#card-77970890

@noumantahir please do, I just assumed those props are passed on or available, not sure for certain if it is available in props.

Update:
@feruzm tested call for succession, though I am not sure how I can further test this or what exactly it does to more specific in testing it's working.

Also regarding it's resemblance with markNotification, I checked the implementations or markNotifications, it is also being used in applicationContainer, do you think markHiveNotification also needs to be implemented there or just required in one place that you implemented.

@noumantahir applicationContainer one likely when opening notifications from push and it marks particular item, not all, so we don't need to integrate this there.


Add favorites feature

The favorites are stored as map names in Map Files/.favorites. This is how it looks like:

I love this feature and this all looks good.
There is only one thing I would like to address and I am open to helping contribute to the solution as well.
The current styling of the heart can be difficult to see over certain map images.
We could either change the heart style or reformat the cards to have them elsewhere on the card.
Thoughts @hb20007 ?

I love this feature and this all looks good.
There is only one thing I would like to address and I am open to helping contribute to the solution as well.
The current styling of the heart can be difficult to see over certain map images.
We could either change the heart style or reformat the cards to have them elsewhere on the card.
Thoughts @hb20007 ?

I have a few suggestions in terms of changing the heart style. I will use these "before" pictures for comparison:

1. Using the brighter red instead of crimson color:

2. Adding a black shadow (text-shadow: 0 0 5px #000):

3. Adding a red glow effect (text-shadow: 0px 0px 5px crimson):

I also tried playing around with adding a background behind the icon, but I didn't really like the result:
.heart-container {
    position: absolute;
    top: 5px;
    background: #aaaa;
    padding: 2px 5px 1px 5px;
    border-radius: 5px;
    right: 5px;
    color: red;
    z-index: 99;
}
.fa-heart {
    text-shadow: 0 0 5px #000
}

I have a few suggestions in terms of changing the heart style. I will use these "before" pictures for comparison:

1. Using the brighter red instead of crimson color:

2. Adding a black shadow (text-shadow: 0 0 5px #000):

3. Adding a red glow effect (text-shadow: 0px 0px 5px crimson):

I also tried playing around with adding a background behind the icon, but I didn't really like the result:
.heart-container {
    position: absolute;
    top: 5px;
    background: #aaaa;
    padding: 2px 5px 1px 5px;
    border-radius: 5px;
    right: 5px;
    color: red;
    z-index: 99;
}
.fa-heart {
    text-shadow: 0 0 5px #000
}

I noticed that you use the bright red as a hover, what would you do for the hover if you changed to using the bright red with a shadow?

I noticed that you use the bright red as a hover, what would you do for the hover if you changed to using the bright red with a shadow?

The two maps I saw it worst on are maps with similar colors or just an overall lot of information in that corner.

The two maps I saw it worst on are maps with similar colors or just an overall lot of information in that corner.

I think the best solution so far with these 2 maps in mind is a combination of color: red and text-shadow: 0 0 5px #000.
This is how it would look like.
Before:

After:

It's not perfect but there's definitely an improvement.
As for the hover effect, if we are to go with this solution, then we can use color: orangered and perhaps add an animation to make it more visible.

I think the best solution so far with these 2 maps in mind is a combination of color: red and text-shadow: 0 0 5px #000.
This is how it would look like.
Before:

After:

It's not perfect but there's definitely an improvement.
As for the hover effect, if we are to go with this solution, then we can use color: orangered and perhaps add an animation to make it more visible.

Don't you think there might always be a chance that some future thumbnail will blend with the icon? There's a lot of free space on the "Load" button, I think it could work well if you made it smaller instead and put a favorite button on the right of it. This way the UI is also simpler with all the buttons grouped together. I could make a mock later if I haven't explained it well.

@LiquidLemon, yes a mock would be helpful.

Something like this:

@LiquidLemon It's an interesting suggestion. When I get time, I will implement it in CSS and post a screenshot here to evaluate how it looks.

@LiquidLemon  I tried implementing this in CSS:

I'm not a huge fan to be honest. I feel like the Load button is more important and I prefer the previous design where it was bigger and centered. On the other hand, it does solve the problem we had.
@NoxPhoenix What do you think about this design?

That also gave me another idea.
@NoxPhoenix @LiquidLemon , what do you guys think of this?

I'm not crazy about it but it does solve the issue. I don't really feel like the load button being smaller is an issue as it's still easily accessible but it's not my call to make.

I like it next to the load button the best, what does it look like if the padding on all buttons was a little smaller?

@NoxPhoenix I will try different things along those lines and will update the PR when I get time

@NoxPhoenix , @LiquidLemon, I updated the PR. I think a margin of 7px instead of 10px looks best. This is how it looks like now:

@NoxPhoenix hey, did we still want this feature added? I have free time to work on it.

I am looking at this, this week.


serializer factory alternative

serializer factory alternative
saving progress before removing old invoice code
tests pass, bech32 works. next pr will remove old invoice code
doc strings and cleanup

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#111  👈
#110
#106
develop

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @matthappens and the rest of your teammates on  Graphite


Shared base for rolling() and rolling_outlier_std()?

Right now, operations.timeseries.rolling() and operations.timeseries.rolling_outlier_std() are separate classes inheriting from ElementOperation.  In practice, I've found that I typically want to plot the rolling output together with the outlier output, in part so that it's clear how the outliers have been defined (with respect to what baseline).  For that to work, I've had to make sure I pass the same parameters to both functions, which currently isn't possible in general because rolling supports more things than rolling_outlier_std does, even though they do share some parameters and use the same underlying pandas function.
To help make these match more easily, can we either combine these to share a single base class, either by having rolling_outlier_std inherit from rolling, or  both inherit from a new shared base class, or else have timeseries.rolling_outlier_std use timeseries.rolling rather than calling the pandas function?  Either way, we could set the same parameters once (at the class level) and know that they apply to both, or can pass a shared set of kwargs to both.
If we make this change, it would be good to do it in 1.7 because it represents a subtle API/behavior change that could be very confusing later.

A shared baseclass seems like the only sensible solution, because function makes no real sense on rolling_outlier_std. The baseclass would only define these:
    center = param.Boolean(default=True, doc="""
        Whether to set the x-coordinate at the center or right edge
        of the window.""")

    min_periods = param.Integer(default=None, doc="""
       Minimum number of observations in window required to have a
       value (otherwise result is NA).""")

    rolling_window = param.Integer(default=10, doc="""
        The window size over which to apply the function.""")

    window_type = param.ObjectSelector(default=None,
        objects=['boxcar', 'triang', 'blackman', 'hamming', 'bartlett',
                 'parzen', 'bohman', 'blackmanharris', 'nuttall',
                 'barthann', 'kaiser', 'gaussian', 'general_gaussian',
                 'slepian'], doc="The type of the window to apply")

Fixed in #1344 .


Add cached incremental compilation topic to Cranelift's 04-04 meeting

We kind of concluded in today's wasmtime meeting that this would most likely be implemented at the wasmtime, rather than cranelift, layer. Should this be a Wasmtime meeting agenda item then?

Did re-ask @cfallin about this in private before posting this, and our conclusion was that the same set of people would hang out in both meetings. Plus, it being entirely in wasmtime or in cranelift might already be a design choice. But feel free to move to the following wasmtime meeting if you feel strongly about this!


Setup CI with GH Actions

Jira: PATCHER-302

Test validation with yarn test
Add check to the dist/ folder, the versioned one should always be up-to-date.
Configure ESLint and add it to the CI checks.

Thanks for reviewing!!


reinstate clock service

I dropped the clock service when migrating to Typescript. Thought it was only used because of unit-testing, which is not the case. This MR ports that functionality in the same way as the legacy library.
I make the getEpochTime in the ClockService return a none promise. As the Timer now uses getEpochTime from ClockService, but there are other modules which need an unchangeable  getEpochTime function too i have added a DateUtils class.
Closes/fixes #414
Checklist

[ ] This PR makes changes to the public API
[x] I have included links for closing relevant issue numbers

@kherock  I have problems with the unit-tests when i make the ClockService getEpochTime async. Any idea?

I will drop the DateUtils and use instead ClockService as well...

Is it a good idea to allow getEpochTime to be async? I would prefer that we maintain a way to cheaply obtain the current time. For example, the following seems reasonable to me
class ServerClockService extends ClockService {
  private offset = 0;

  getEpochTime() {
    return super.getEpochTime() + offset;
  }

  async synchronize() {
    const serverTime = await fetchServerTime();
    this.offset = serverTime - super.getEpochTime();
  }
}

Cosmetic: I was thinking at which position of the functions i should add the clockService parameter. I decided against putting it into args object as it should not be public and it does not change. Currently i have put it at the end of the function parameters, maybe its better to have it as first?

I am going to split this MR, the first one reinstate the clock service, the second then goes beyond what oidc-client-js does. The first part should be simple and is already part of this MR. The second part will be trickery. Like this it will also be easier to review. And the first part could be seen as bugfix, where the second part is a feature...

Other much simpler solution: Lets make Timer.getEpochTime changeable. I first thought because it is static, it is not such a good idea, but the use-case for this (#414) is to fix client time issues (embedded devices i guess). And not timezone issues between identity server and client.
@kherock Should i follow that way?


Theme automatically jump back to default

Description
I have installed the Dracula theme for jupyterlab: https://github.com/dracula/jupyterlab.
Then I opened this jupyterlab-desktop and set the theme to be Dracula in the setting panel.
It works. Restart it, the theme changed back to the jupyter-dark automatically.
I set the theme again, and check the .json in the json editor in jupyterlab. Make sure the "theme" is set to be JLDracula.
Restart it again, the theme jump back to jupyter-dark again.
Reproduce

Download this jupyterlab desktop.
pip install JLDracula
Open jupyterlab desktop, set the theme to be JLDracula.
Restart jupyterlab desktop.

Expected behavior
The theme JLDracula should be the default one everytime I start a session from this python environment.
Context

Operating System and version: MacOS 13.1.
JupyterLab-Desktop version: 3.6.1-1
Installer: .dmg

Troubleshoot Output

Paste the output from running `jupyter troubleshoot` from the terminal inside of JupyterLab-Desktop here.
You may want to sanitize the paths in the output.

Browser Output (required for interface issues after loading)

Paste the output from the DevTools JavaScript console here, if applicable.

 Reason: Control comm was closed too early
[2023-02-16 20:26:23.917] [warn]  Settings failed to load for (@jupyter-lsp/jupyterlab-lsp:plugin) [object Object]
[2023-02-16 20:26:23.917] [warn]  This may happen if {autoStart: false} in (@jupyter-lsp/jupyterlab-lsp:plugin) or if it is one of the deferredExtensions in page config.

this issue is the same as: https://github.com/jupyterlab/jupyterlab-desktop/issues/579
make sure you set your theme to Dark / System and turn off syncing.

Whoops! Thank you for your reminder, it works!


Changed TPM_ST constants in the comments to TPM_SU

I think TPM_ST constants were used in TPM v1.2, whereas TPM_SU_CLEAR and TPM_SU_STATE is used both for startup and shutdown in TPM 2, so I changed them in the comments. TPM_ST constants have different values so this was confusing.

Thanks for your PR - since it was only a small fix, I squashed it into my fix #16.
Thanks for reporting


Attachments - User can not scroll the PDF by using the down/up arrow in Keyboard

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Navigate to staging.new.expensify.com
On a conversation, click on the + button in the compose box
Upload a PDF
Verify you can scroll the PDF by using the up/down arrow in Keyboard

Expected Result:
User should be able to scroll through PDF file using the keyboard arrow
Actual Result:
Up/down keyboard arrows does not response when try to scroll to PDF
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] Windows / Chrome
[ ] MacOS / Desktop

Version Number: <IP_ADDRESS>
Reproducible in staging?: Yes
Reproducible in production?: No
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/78819774/2282aa52-e844-4885-9555-ca4c455adc56
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
View all open jobs on GitHub

:wave: Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open StagingDeployCash deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:

Identify the pull request that introduced this issue and revert it.
Find someone who can quickly fix the issue.
Fix the issue yourself.

Hi, I’m Michael (Mykhailo) from Callstack and I would like to work in this issue, because I am the author of the broken PR.

Proposal
Please re-state the problem that we are trying to solve in this issue.
User can not scroll the PDF by using down/up arrow on keyboard
What is the root cause of that problem?
The PDF is not autofocused as soon as the preview modal of PDF appears
What changes do you think we should make in order to solve the problem?
We just need to add focus to the modal element when it is launched. It can be easily done by adding a focus event.
here
Implementing event.nativeEvent.target.focus() on the onLayout listener will help us to achieve the same.
What alternative solutions did you explore? (Optional)
N/A
Implementation:
https://github.com/Expensify/App/assets/98523623/9b34de46-35b9-4c50-b86c-04296b131c0c

Guys, as I commented above this is a regression from https://github.com/Expensify/App/pull/22760 where I am an author of changes. So, it should be self-assigning.

This is not open for proposals everyone.
The offending PR author (@rezkiy37) and reviewer (me) will be taking this.

Thanks @situchan, be sure to tag this issue in the PR fixing it!

Discussion ongoing: https://expensify.slack.com/archives/C01GTK53T8Q/p1691596990023679

@jasperhuangg I can take this over since it's related to an issue I was CME for.

Looks like this was deployed to production quite a while ago. Closing!


chore: minor optimisations

Signed-off-by: Yashash H L<EMAIL_ADDRESS>

update sliding.md?

done


Explain the notion of a quarter in the starter tutorials

Currently the quickstart tutorial uses data from a specific quarter without explaining what a quarter is or why we chose that specific quarter.  I think we should add a short sentence to the quickstart to acknowledge this, and explain the notion of quarters in more detail in a later tutorial.
(This was originally reported by @GiantSable in #246.)

I also found a decent explanation of quarters on the Kepler Data Product Page


Added Facebook auth

I tried to add Facebook authentication but changed model password required field because we don't get a password from fb.
get request on http://localhost:3000/api/users/auth/facebook/

Coverage decreased (-76.6%) to 15.716% when pulling 759737b4c17661995deec1c150d416bb3ee717b9 on rakshans1:master into 4948361f0cd61ac2e4fef51654faef06244887a5 on EQuimper:master.

@rakshans1
You should write the tests for the code you added. If the success & error cases for the code have been covered via testing it gives the user of the repository the sound piece of mind that they are not walking into a code base filled with problems they will have to solve. Yes it's possible for some fringe cases to still exist or have failed to be covered; but sending code that has not been properly tested can create a lot of problems down the road.
I'm sure just looking at @EQuimper's previous tests can lead you in the right direction of how to write the tests. If you need assistance or have questions feel free to ask! Thanks for the great PR adding another auth strategy to the boilerplate :wink:

Yes..ill write test and send another pr

@rakshans1 Thank for the pr. Like @rockchalkwushock say if you manage to add test for what you did I would accept this one :)


Use zopfli and brotli for improved compression of assets

I would recommend using zopfli for gzip/deflate compression and also to add support for and prefer brotli compression .
http://caniuse.com/#search=brotli
Currently supported in Chrome 50+ Firefox 44+ Opera 38+ Edge 15+ Android Browser 53+ Firefox Android 55+ Chrome Android 50+

Related to Issue #555

It'd significantly slow down build times correct? I'd like to make compression modular through the config, as we've discussed before.

True. Sorry, I didn't notice #243. That would enable optimizing for compression speed using brotli level 1, for compression ratio using level 11, for decompression speed with level 9, and for both faster and better compression than default gzip using level 4. Of course mileage may vary, and is data dependent, so benchmarking using some relevant data probably makes sense.
https://cran.r-project.org/web/packages/brotli/vignettes/brotli-2015-09-22.pdf
https://blogs.akamai.com/2016/02/understanding-brotlis-potential.html
https://blog.cloudflare.com/results-experimenting-brotli/
https://quixdb.github.io/squash-benchmark/

My understand of brotli / zopfli is that they make a very strict tradeoff: constant decompression speed, smaller build but much much slower compression. That's why the PR that maybe we need to aim for is the one that adds the optional compress fn in next.config.js

I agree with @rauchg
gzip using zlib gives us decent compression and use don't need to install node binary build tools. (I guess)
Anyway, we should add support for customizing the compression via next.config.js. So, anything is possible.

I agree with @rauchg
gzip using zlib gives us decent compression and use don't need to install node binary build tools. (I guess)
Anyway, we should add support for customizing the compression via next.config.js. So, anything is possible.

Closing in favor of that approach

Closing in favor of that approach

Yes, I would agree with @rauchg and @arunoda as well, Yes, zlib comes in Node.js core, so no build tools or even packages needed. Brotli is unlikely to arrive in core, in the short term at least.
An emscripten port of Brotli to js exists as well, and end-users optimizing for minimum payload size might be ready to sacrifice build/compression time for it... npmjs.com/brotli
Configuring native compression should be easy now, as binary build tools have become easy to install, On windows, that is, as that was the main user problem area. Thanks to https://github.com/felixrieseberg/windows-build-tools it's essentially just npm install --global windows-build-tools
So, support for custom config and zlib as default sounds great and probably keeps everyone happy :smile:

Yes, I would agree with @rauchg and @arunoda as well, Yes, zlib comes in Node.js core, so no build tools or even packages needed. Brotli is unlikely to arrive in core, in the short term at least.
An emscripten port of Brotli to js exists as well, and end-users optimizing for minimum payload size might be ready to sacrifice build/compression time for it... npmjs.com/brotli
Configuring native compression should be easy now, as binary build tools have become easy to install, On windows, that is, as that was the main user problem area. Thanks to https://github.com/felixrieseberg/windows-build-tools it's essentially just npm install --global windows-build-tools
So, support for custom config and zlib as default sounds great and probably keeps everyone happy :smile:

@msand check this: https://github.com/zeit/next.js/pull/657


FFTView: Added Init Arguments for Properties of the View

FFTView: Added Initializer Arguments for Properties of the View
This allows for:

Changing the color gradient of the amplitude bars
Removing the floating caps
Adjusting the padding surrounding the amplitude bars

Cool!

Cool!


editorconfig: add dts/dtsi rules

Rules follow linux coding standard, i.e using tab and tab size 8
Signed-off-by: Mikkel Jakobsen<EMAIL_ADDRESS>

On second thought, we should probably include .overlay files here as well. Any thoughts on that?

Added .overlay files as well.


Maybe wrong matrix index calculation ?

Hello !
I'm refactoring a bit nn.c/h and I think I found a mistake in the calculation of the matrix index for weight, gradient, sgradient, pgradient and delta:
#define WEIGHT(net,l,i,j) (net)->layer[l].weight[((j)*(net)->layer[l].units)+(i)]
#define GRADIENT(net,l,i,j) (net)->layer[l].gradient[((j)*(net)->layer[l].units)+(i)]
#define SGRADIENT(net,l,i,j) (net)->layer[l].sgradient[((j)*(net)->layer[l].units)+(i)]
#define PGRADIENT(net,l,i,j) (net)->layer[l].pgradient[((j)*(net)->layer[l].units)+(i)]
#define DELTA(net,l,i,j) (net)->layer[l].delta[((j)*(net)->layer[l].units)+(i)]

Looking at the allocation code for them it seems that the correct way to index is to multiply "units" by "i" and then add "j":
#define WEIGHT(net,l,i,j) (net)->layer[l].weight[((i)*(net)->layer[l].units)+(j)]
...

Attached are the refactored nn.c/h so far (compiles but doesn't seem to work properly).
The idea is to allocate units rounded up by SIMDF for alignment and be able to do full calculations directly using simd without left overs.
nn.zip

Looking at the comments on struct AnnLayer it seems that I'm right and indeed the matrix index calculation is not correct.
* Data structures.
 * Nets are not so 'dynamic', but enough to support
 * an arbitrary number of layers, with arbitrary units for layer.
 * Only fully connected feed-forward networks are supported. */
struct AnnLayer {
	int units;
	float *output;		/* output[i], output of i-th unit */
	float *error;		/* error[i], output error of i-th unit*/
	float *weight;		/* weight[(i*units)+j] */ ///////<<<<<<   (i*units)+j but later on using (j*units)+i
				/* weight between unit i-th and next j-th */
	float *gradient;	/* gradient[(i*units)+j] gradient */
	float *sgradient;	/* gradient for the full training set */
				/* only used for RPROP */
	float *pgradient;	/* pastgradient[(i*units)+j] t-1 gradient */
				/* (t-1 sgradient for resilient BP) */
	float *delta;		/* delta[(i*units)+j] cumulative update */
				/* (per-weight delta for RPROP) */
};


Add missing argument to OSSHandler _format_prompt

Overview
In this PR, I added a missing argument to OSSHandler's _format_prompt function.
Also my code formatter sorted the imports alphabetically which accounts for all the other changes, including those in handler_map.py.
What Happened?
In every model handler, we define _format_prompt as taking in three arguments (prompt, function, test_category). This is the standard. But in OSSHandler, _format_prompt is defined as only taking in prompt and function and forgetting to take test_category as an input.
This caused an error. So I simply added test_category to the definition of _format_prompt.

I closed this and re-opened it on another branch of mine in a new PR #373.


settings priority accessor should use dictionary.get

gmc crashes with index error when settings priority isn't provided.
https://github.com/missionpinball/mpf-gmc/blob/c60ba72b9644fce9ebd3514f9a71b2c117cbcfe9/addons/mpf-gmc/classes/mpf_scene_base.gd#L44

Thank you for this! This had the assumption that slides would come through slide_player in MPF which appends all known fields, but it's much safer to use the getter. Fixed!

Thanks for the fixes, I'm writing a bcp lib to use the gmc from vpx so finding some edge cases.

Fantastic, I'd love to see what you put together when it's ready for sharing!
I've tried poking around in VPX but it was over my head. I'm glad somebody is tackling it, because it's a great program and combining VPX with home-brew projects will be a fantastic way to get more folks into the game! 😀


Versioned Migration: Error in executing the NamedDiff for migration generation.

As per the documentation here: https://entgo.io/docs/versioned-migrations/#generating-versioned-migration-files, when this is run as is, after the first run, subsequent runs fail with such an error:
2022/07/08 16:57:31 failed generating migration file: sql/migrate: execute: executing statement "DROP TABLE item_tags;" from version "20220708104627": Error 1051: Unknown table 'ent_dev.item_tags'

[ x] The issue is present in the latest release (master branch)
[ x] I have searched the issues of this repository and believe that this is not a duplicate.

Current Behavior 😯
The following error is encountered: 2022/07/08 16:57:31 failed generating migration file: sql/migrate: execute: executing statement "DROP TABLE item_tags;" from version "20220708104627": Error 1051: Unknown table 'ent_dev.item_tags'

Expected Behavior 🤔

Subsequent executions of go run -mod=mod main.go after the initial execution, as per the documentation attached above: in the event I have added new schema entities, 2 new migration files should be created in my migration directory. For both adding the changes (up) and reversing  (down)
Steps to Reproduce 🕹

Steps:

Make sure you have at least one entity specified
Follow the instruction for setting up versioned migrations from here: https://entgo.io/docs/versioned-migrations/
Execute go run -mod=mod main.go as per this section: https://entgo.io/docs/versioned-migrations/#with-entc-package
Make sure a set of sql files are generated in the specified migrations file
rerun go run -mod=mod main.go
You should encounter the error above

Your Environment 🌎

Tech
Version

Go
1.17.2

Ent
v0.4.3-0.20220630091711-40a31231fd1a

Database
MySQL

Driver
https://github.com/go-sql-driver/mysql

Hey @kingzbauer, thank you for reporting this! I will send a fix ASAP! Sorry for any inconvenience. :bow:

Hey @kingzbauer, I just created #2732 to adsress your issue and I will merge once it got approved.

Thank you @masseelch this is of great help. Versioned Migration is something I've been really looking forward to. Much appreciated