docs: first Docs IA changes (categories, copy, and renamed sections)

This is currently a PR that is working toward addressing all new Information Architecture (IA) changes proposed via #350  and #503.
Stay tuned 🥸

Question for @magicmatatjahu, @mcturco, @derberg...
So this is the PR where I am making our major IA (Information Architecture) changes to the Docs.
Here are a few screenshots to show you how our main Navigation and Read the Docs CTA button in the Homepage are changing too...

The Problem
One thing that came to my attention in the primary text :hover effect in our CSS that I think needs to be fixed/adjusted for Docs LEFT Navigation.
When you hover over the sub-sections and main section titles in the LEFT NAV, the text changes color into purple.
So this is what I would expect if I was hovering over a link that is clickable, which makes it confusing to the user. I think this behavior makes it seem that those section/sub-section titles are links to click on.
Do you have a specific way you want me to fix it? Thought I'd ask before I start hammering away at our CSS 😄

https://user-images.githubusercontent.com/19964402/157802866-51a0771f-6c0d-4de1-a4b5-c991e4a0663e.mov

One thing that came to my attention in the primary text :hover effect in our CSS that I think needs to be fixed/adjusted for Docs LEFT Navigation.

Good call, @alequetzalli! Let's definitely remove this hover effect. I see it in the sectionClassNames constant within DocsNavItem.js component, so if I am not wrong I think we just need to delete that hover:text-primary-500 class.

One thing that came to my attention in the primary text :hover effect in our CSS that I think needs to be fixed/adjusted for Docs LEFT Navigation.

Good call, @alequetzalli! Let's definitely remove this hover effect. I see it in the sectionClassNames constant within DocsNavItem.js component, so if I am not wrong I think we just need to delete that hover:text-primary-500 class.

Ok, cool @mcturco. I didn't want to change the CSS unless you or Macief ok'ed it in case you had certain design component rules I needed to be aware of. :)

Yo again, @magicmatatjahu, @mcturco, @derberg:
This is the PR where I am making our major IA (Information Architecture) changes to the Docs. The following screenshots display how our Docs left-hand navigation currently looks with the new content buckets and sub-categories (nested items).

The Problem
We need to update our CSS to handle nested items such as our NEW sub-categories and pages thanks to our improved content buckets.

The 🟩 box shows you how the entire left-hand nav in Docs looks with the current styling support our CSS has. This PR adds NEW sub-sections (nested sub-section content), but our current CSS doesn't know how to handle spacing/indention/etc for nested categories in left-hand nav.
The 🟪 box shows you how our current NEW sub-category of the Getting Started tutorial behaves when nested under the Tutorials category and main content bucket.
The 🟦 box shows you how the NEW Tools content bucket also has weird spacing with it's NEW sub-categories nested under it, such as the /Modelina tool page.

The contributor ask
I was talking about this with @derberg this week and he recommended we tag @magicmatatjahu for the development work. We also agreed that we tag @mcturco for the Design aspect so that we can add CSS rules for spacing, indentation, fonts, etc for NEW nested sub-categories.
@mcturco, if you look at the screenshot above and check out the preview link for the current look, can you give us the Design requirements for improving the left-hand nav?
@magicmatatjahu once @mcturco gives us Design guidance, can you help us with the Development work?
P.S. @magicmatatjahu: let me know if you'd like me to team and do some pair-programming via zoom. I'd be happy to share and live code it together, but up to you of course. If you rather do it quickly alone, I get it too hehe 😸

@alequetzalli Hey! I can start working on this right away 😄 Just had a few questions before I start with the visual organization and I have asked them in video form - I hope that's cool!
Video link:
docs: first Docs IA changes (categories, copy, and renamed sections) - Watch Video

@alequetzalli if you (together with Missy) agree on the design, I can jump in and code it, but to be honest I don't like pair-programming, I hate it 😄 , so forgive me, but I will do it when the designs are ready, ok? :)

@alequetzalli if you (together with Missy) agree on the design, I can jump in and code it, but to be honest I don't like pair-programming, I hate it 😄 , so forgive me, but I will do it when the designs are ready, ok? :)

@magicmatatjahu Excellent, I just wanted to give you the option 😉 ! Sounds great, I will tag you after I'm done confering w/ Missy. 😸

@alequetzalli Hey! I can start working on this right away 😄 Just had a few questions before I start with the visual organization and I have asked them in video form - I hope that's cool!
Video link: docs: first Docs IA changes (categories, copy, and renamed sections) - Watch Video

Hey @mcturco ! I found it very hard to follow and coming back to reply to the issue... in the future to make sure I don't miss your questions, can you please type each question out in the issue? 😸 (If you also add a video to screen share what you're talking about that's awesome too, but it's just the only having a video part that makes it harder for me to keep track. Also, then people have to re-watch the video if they forgot something and try to find their place.)
Let me know if I missed anything you asked about:

Yes, I agree that a "house/home" logo in the left-hand nav would be nice if you want to add one! (I never want to ask for too much stuff in OSS, I just want to see what you recommend. haha)
I think you asked if we were having a left-hand nav item for the Docs homepage? If so, then yes, you are correct in understanding that we are adding one.
Yes, you're correct that we are making the Docs main nav item change from hover behavior to being a clickable hyperlink that leads to the Docs homepage.
Ignore the "title changes" you think you saw in the left-hand nav, it's a placeholder. We are using the same content buckets we discussed before, so your latest Docs homepage mock is still up to date ✅

Don't focus too much on what the Netlify preview link shows you now, this PR is not complete. (I will be adding more things, Lukasz just suggested I change it from Draft to live PR to help make it easier for Macief to see it. hahahaha ) This PR is LIVE with tentacles and rainbows and more changes are coming to it soon, but I've been mentoring folks and helping Barbaño with our Educational Videos so this PR is advancing at it's own rate. 😄

Hey @mcturco ! I found it very hard to follow and coming back to reply to the issue... in the future to make sure I don't miss your questions, can you please type each question out in the issue?

@alequetzalli I see your point, because now I can't remember the questions that I asked and if you've answered all of them 😆  Thank you for bringing that to my attention, I will definitely try to use video responses more as a supplement in the future.
Cool, looks like all of my assumptions in the video are correct. Just wanted to make sure that nothing changed since we last discussed the changes to the docs structure. Sounds good, I will go ahead and start working on some different things we can do to organize the left nav!

This PR is LIVE with tentacles and rainbows and more changes are coming to it soon, but I've been mentoring folks and helping Barbaño with our Educational Videos so this PR is advancing at it's own rate. 😄

HAHA. That's totally fine, I empathize with that as I am juggling a few projects as well! 😄

Thanks so much @mcturco, I am excited to see what you suggest ✨✨✨

@alequetzalli As you wanted I added these cards from the prototype. Let me know how you like them! I used the icons and descriptions from the navigation, because I see that they overlap
preview: https://deploy-preview-601--asyncapi-website.netlify.app/docs
component (you can change descriptions): https://github.com/asyncapi/website/blob/1f5604e85524caf7aeb507027913c7aefa6f9699/components/docs/DocsCards.js
@mcturco I used icons from navigation, let me know if they are ok, or we should change them from prototype (for that I need access to figma 😄).

@mcturco I used icons from navigation, let me know if they are ok, or we should change them from prototype (for that I need access to figma 😄).

@magicmatatjahu Nice! Yeah I think using those icons from the navigation makes sense. It looks good to me, but one thing to point out is on mobile devices the content bleeds over the cards. Perhaps on mobile we could stack the cards one on top of the other?

@magicmatatjahu  Thank you, this is so exciting!!
I think the icons are fine, like Missy says, they work for now and match the current theme. 👍🏻
The only bug I see is the same one that @mcturco noted about the cards in mobile view. I also think the grid should change in mobile with one card per row, cause it looks pretty questionable now 😆

@mcturco assume you approve it too? Oooh also, can I ask you if we already have your thoughts on the left-nav new design guidelines?

@alequetzalli Agreed! It looks much better now, thank you @magicmatatjahu.
Working on the updated IA structure today, should have something to show by tomorrow 😄

@mcturco assume you approve it too? Oooh also, can I ask you if we already have your thoughts on the left-nav new design guidelines?

@alequetzalli Agreed! It looks much better now, thank you @magicmatatjahu.
Working on the updated IA structure today, should have something to show by tomorrow 😄

thank you @mcturco, we can hardly wait! 🤩

Ok hi! @alequetzalli @magicmatatjahu
I went through a few options of how we can organize the nav items within the buckets.
Some similarities of all options include:

Adding matching icons to the nav item, the same ones that were used in the docs home page (ignore the ones in the mock up, I haven't updated the mock up just yet)
Reducing the amount of purple in the docs experience as I feel like it could be potentially distracting.

Option A

Indentation utilized to establish hierarchy
Bucket length indicator line on both the main content buckets and the sub content buckets
Bolded sub content bucket labels

Option B

Same as Option A EXCEPT we have removed the indicator line in the sub content bucket

Option C

Same as Option A EXCEPT we have removed the indicator line in the main content bucket

Option D

New option without use of indentation at the sub content bucket level
Sub con

tent labels are similar to those on the website currently but with less margin top spacing

My thoughts 💭
I think I most prefer Option A, but if we don't like the "reddit thread" look, I think Option B is a good alternative. Why? I think the main content bucket length indicator line helps to visually imply what items fall under that content bucket without making the user think too hard. Maybe they are less important in the sub content bucket level, but I can see it being useful if for some reason in the future these sub content buckets have more than just a few links underneath.
Would love to know what you guys think and where we could make adjustments! I want us to first settle on a layout direction and then I can define what the interactions will look like.
(P.S. Let me know if you are unable to see the images attached here, I can prepare some Figma links if that makes it better!)

My thoughts 💭
I think I most prefer Option A, but if we don't like the "reddit thread" look, I think Option B is a good alternative. Why? I think the main content bucket length indicator line helps to visually imply what items fall under that content bucket without making the user think too hard. Maybe they are less important in the sub content bucket level, but I can see it being useful if for some reason in the future these sub content buckets have more than just a few links underneath.

My first vote 🗳 is for Option A, and my second preference is Option B for the same reasons you mention.
As for interactions, I am most curious to see what you folks think about the nested sub-sections  remaining always visible/open vs. opening/closing by clicking on sub-section titles.

@magicmatatjahu no worries! Once we decide on the final design I will send you a spec sheet :)
So here is what I am thinking as far as the expanding and collapsing items per content bucket:
Option A-1

Basically, when someone clicks on Tutorials, it would automatically take them to the overview page for Tutorials and the rest of the content buckets will be collapsed. However, I can understand if this would cause the user some frustration if they aren't a new user and they know where they want to go, and this would add an extra click to get there.
Alternatively, I think it would be just fine to leave the content buckets expanded at all times and then just have the navigation scroll on overflow. Shown below:
Option A-2

I think the vertical lines allow this option to still be quite visually organized even when the items are all expanded.
However, if we feel like we want to have expanding/collapsing content buckets before the page re-loads (perhaps to see everything at once if the user wanted to) I have come up with this option:
Option A-3

This option would require us to re-arrange the layout of the Docs pages in both the header and the body, where I would see the left nav going all the way to the edge and having a fixed width - this is to ensure that the plus/minus icons land in the same spot for every expandable content bucket. The docs side on the right would have the same max width as the screen grows larger.
I think any of these options would work, and I could even do some usability testing with this new navigation once we develop and merge it to see if there are problems that users are facing and how we could solve those problems. We could even do that before the merge, but I just don't want to create any blocks.
Let me know what you guys think!

@mcturco @magicmatatjahu
My vote is for Option A-2 because we don't have a LOT of Docs content yet. At this point, I don't think we need to close/collapse sections, I personally think having them open/expanded is better UX for now.

Hey @magicmatatjahu (sorry, not sure if you have holiday on your end for Monday)... but anyways, just pinging pinging you again in this one just in case 😬 😸 🌟

@magicmatatjahu @mcturco
Hey Maciej, I am also struggling to understand why the current NEW asyncapi.com/docs homepage link shows on the left-hand nav bar. 🤔  The behavior I expected was that adding the Overview text to the _section.md file created a left-hand link that would say Overview (just like we see for the other content sections). Can you help me understand how to fix this too? 🙊😄❤❤✨✨✨✨✨

@mcturco The scary tentacles 🦑 🐙 have been taken out from the left-hand nav bar 😄
So yeah, this is essentially all we are pubbing in this PR, and these are all the base IA changes that we're implementing. I think now that you see the "final copy" (pending 🙊 lukazs review 😂) and final nav changes, it's easier for you to visually.

@alequetzalli

NOTE: 📝 Can you also help us change the Nav item of Docs to be clickable vs the current :hover behavior it has? We need it to take users to our NEW asyncapi.com/docs homepage. Pardon for forgetting to mention this earlier, I wanted to do it myself but I can't figure out which file is the right one to make this change in. 😄🙊😂

No problem, I will handle that :)

Hey Maciej, I am also struggling to understand why the current NEW asyncapi.com/docs homepage link does NOT show on the left-hand nav. 🤔
Can you help me understand how to fix this too? 🙊😄❤❤✨✨✨✨✨

It's probably problem with our nav (maybe we skip group which has only one element, I don't know) or with script which creates navigation structure, I will see how to fix that :)

Hi, Folks.
Based on what @alequetzalli said on the #temp-gsod-2022  slack channel that we as new contributors in the community we can use this PR as our homework to bring our perspective for it😁.
Hope other contributors in the community can accept this opinion and also the solution! 🥂
In my opinion as a new contributor in AsyncAPI: about (Can you find the following changes in PR 601)

Compare how the left-hand nav changes from our current one. ✅
Look for each new content bucket landing page named "overview": what new content do those pages have? Do those pages answer your questions about how to get started as a Docs contributor? ✅

I'll agree that we need to make new contributors understand the ideas of concept overview first in ASyncAPI docs after that we could move on to Getting Started.
But also, imagine that we need to give the content structure order based we need to read first, So I think that we need to move the Getting Started to change the order between Tutorials, as we can see that the getting started content are great for the first line for new contributors to read.

 When I try to click the purple button on our homepage "Read the Docs", why I cannot see a header menu for the Welcome page on the left-nav? Sometimes we need a docs homepage/overview as our first landing into the docs section, right?

Do you notice a change in the website's main navigation for Docs? When you :hover over the Docs nav button and a sub-menu opens, do you see a difference in the text?✅

Yes, I saw that the purple on current site when we hover some heading menu is missing and I see the difference change. The Getting Started change into the Concepts, and the ASyncAPI replaced by the Tools, also upcoming Use Case section replaced by Reference, so where will Use Case will be placed? (if the release has come)

What do you think is the most interesting change this PR brings?✅

For now, I think the best part to change is implemented with the tech docs framework (Diataxis) and also I have a question about the IA itself.
 Why we cannot click the header menu? Actually in my opinion It'll be useful when we can click the font button and refer to the overview page of the header menu itself? So it will be bite-size content bucket consumption.
That's enough from me, yup it's just from my perspective so I hope it makes sense and getting community alternatives.
-What do you think of it?

@mcturco The scary tentacles 🦑 🐙 have been taken out from the left-hand nav bar 😄

So yeah, this is essentially all we are pubbing in this PR, and these are all the base IA changes that we're implementing. I think now that you see the "final copy" (pending 🙊 lukazs review 😂) and final nav changes, it's easier visually.
@alequetzalli Perfect! Thank you for doing that. So I think that maybe we should move forward with Option A-2 as you mentioned before, I was just waiting to see if @magicmatatjahu had any feedback on it. Here it is again:

I agree that its probably best to have them all expanded for now, and when the docs nav grows we can re-define the expanding/collapsing when needed. I will start working on a developer spec sheet for these changes so we can start with the development!

@mcturco

I was just waiting to see if @magicmatatjahu had any feedback on it. Here it is again:

Everything is perfect 👌🏼 Give me that figma, I want to implement it! 😈

Docs Left Nav: Design Spec
Figma Link: https://www.figma.com/file/mJ0BDmVfn3u9gjOjkdsllA/?node-id=12%3A517
Icons: docs-icons.zip
@magicmatatjahu (cc @alequetzalli) Hi! The following spec sheet should outline the design in a developer-friendly way. You'll see that I have included tailwind classes where I could for some of the things that we have set up on the website already. Feedback on this handoff is appreciated so I know how to make these better in the future. Thanks!
Anatomy

Content bucket title
Level 1 items
Sub-level 2 items

1. Content bucket title

Interaction behavior
Even though the titles will not have their own dedicated page, they should still be clickable and navigate to the first page listed below it. The state should be Default unless an item within that content bucket group is active, to which it then should switch to the Active state as shown above.
Block spacing
The space between each instance of this block should be 22px
Icon Specs

Spec
Details

width
18px

height
18px

color
#000

background-color (Default)
#FFF

background-color (Active)
bg-secondary-200

padding
2px

border-radius
4px

Text Specs

Spec
Details

font-family
font-sans / font-body

font-size
text-sm

font-weight (Default)
font-regular

font-weight (Active)
font-semibold

font-color
text-black

margin-left
8px

2. Level 1 items

Interaction behavior
[Note]: The Content bucket title in the image above is shown greyed out for documentation purposes so as to shift focus to this next component.
When a page is active, its corresponding navigation item in the left sidebar should switch from Default to Active as shown above.
Block spacing
The entire block should have a margin-top of 12px. So this block should be 12px below the Content bucket title component.
Indicator line specs

Spec
Details

Position
Center to icon above, space from left edge should be 11px / space between line and nav items is 20px

width
1px

height
Spans container height

'color`
gray-200

Nav item specs

Spec
Details

font-family
font-sans / font-body

font-size
text-sm

font-weight
font-regular

color (Default)
text-gray-700

color (Active)
text-secondary-600

Space between items
12px

3. Sub-level 2 items

This sub-level menu will show up when there is a nested group under a content bucket group.
Interaction behavior
[Note]: The Content bucket title & Level 1 items in the image above is shown greyed out for documentation purposes so as to shift focus to this next component.
When an item from a sub level group is active, this component will change from the Default state to the Active state as shown in the image above.
Block spacing
This entire block will sit within the Level 1 items component and will be 12px below the last nav item in the Level 1 items component.
Indicator line specs

Spec
Details

Position
Aligned to the left edge of the block / space between line and nav items is 16px

width
1px

height
Spans container height

'color`
gray-200

Nav item specs

Spec
Details

font-family
font-sans / font-body

font-size
text-sm

font-weight
font-regular

color (Default)
text-gray-700

color (Active)
text-secondary-600

Space between items
12px

@magicmatatjahu please let me know if there is anything else that you need to complete this! Thanks! 😄

(1)
@magicmatatjahu @mcturco great! this is perfect.. before I saw Missy's latest comment w/ Figma link, I was on a call w/ @derberg and the behavior of the Welcome and other content buckets' titles came up in a question of his. Now that I had a change (after our call ended) to look into the mock, I see Lukasz' question is already addressed. And to my perspective, the approach taken makes sense and will not confuse a user.

(2)
It prob doesn't matter for what Macief has to do, but I just wanted to note that there is a tiny mistake in the mock because the content bucket sections do not all have their own /Overview landing page.
For example, it seems missing in Concepts and Reference.

@magicmatatjahu @mcturco great! this is perfect.. before I saw Missy's latest comment w/ Figma link, I was on a call w/ @derberg and the behavior of the Welcome and other content buckets' titles came up in a question of his. Now that I had a chance (after our call ended) to look into the mock, I see Lukasz' question is already addressed. And to my perspective, the approach taken makes sense and will not confuse a user.

@alequetzalli Awesome! Yes I think we can try out this interaction behavior and test it later once its merged to see how effective it is, then make adjustments if needed. One more thing to point out while we are on this topic, the only one that WILL have its own dedicated page is the Welcome link with the home icon, since this will take you to the main /docs/ page. All others should have links underneath.

It prob doesn't matter for what Macief has to do, but I just wanted to note that there is a tiny mistake in the mock because the content bucket sections do not all have their own /Overview landing page.

For example, it seems missing in Concepts and Reference.

Thanks for pointing that out! So I just need to add an Overview link under Concepts and Reference, correct? I'm sure it doesn't matter for development, but I can update it in Figma to make sure everything is accurate!

@magicmatatjahu @mcturco great! this is perfect.. before I saw Missy's latest comment w/ Figma link, I was on a call w/ @derberg and the behavior of the Welcome and other content buckets' titles came up in a question of his. Now that I had a chance (after our call ended) to look into the mock, I see Lukasz' question is already addressed. And to my perspective, the approach taken makes sense and will not confuse a user.

@alequetzalli Awesome! Yes I think we can try out this interaction behavior and test it later once its merged to see how effective it is, then make adjustments if needed. One more thing to point out while we are on this topic, the only one that WILL have its own dedicated page is the Welcome link with the home icon, since this will take you to the main /docs/ page. All others should have links underneath.

It prob doesn't matter for what Macief has to do, but I just wanted to note that there is a tiny mistake in the mock because the content bucket sections do not all have their own /Overview landing page.

For example, it seems missing in Concepts and Reference.

Thanks for pointing that out! So I just need to add an Overview link under Concepts and Reference, correct? I'm sure it doesn't matter for development, but I can update it in Figma to make sure everything is accurate!

@mcturco It's more so that the devs are going to forget why we now have /Overview pages and why the behavior is for the title to go to that page as the intro to the section. I am trying to have the mock and the documented behavior match the changes we're making, otherwise it confuses the dev contributors/reviewers. (For example, lukaszzzz cough cough.. and more.. haha)

@mcturco It's more so that the devs are going to forget why we now have /Overview pages and why the behavior is for the title to go to that page as the intro to the section. I am trying to have the mock and the documented behavior match the changes we're making, otherwise it confuses the dev contributors/reviewers. (For example, lukaszzzz cough cough.. and more.. haha)

@alequetzalli gotcha, no problem! I just updated the Figma mock to include the Overview page under each content bucket: https://www.figma.com/file/mJ0BDmVfn3u9gjOjkdsllA/?node-id=12%3A517
Here is also an updated preview:

In this preview, I am actually playing with the idea to label the active content bucket with it's color as shown on the docs home page in my mock (I know we used the blue icons that were already on the website, but I feel like they look too similar, the color-coding might make each content bucket look more unique? Then we can update the icons in the header nav dropdown as well if we like this direction 😄

@mcturco that was an awesome design project 👍.

In this preview, I am actually playing with the idea to label the active content bucket with it's color as shown on the docs home page in my mock (I know we used the blue icons that were already on the website, but I feel like they look too similar, the color-coding might make each content bucket look more unique? Then we can update the icons in the header nav dropdown as well if we like this direction 😄

Sure, I was going to let designers pick the color bg of those logos! I agree it would be neat to have them updated in both the current homepage cards and the nav menu items 👍🏻

@derberg, added <remember> card components for the "contributors needed" info, in each /Overview page. It looks SO NICE now, and much better as we discussed.

Hello Everyone!
This PR is a great way for us Season of Docs 2022 applicants to learn fundamental concepts about Asyncapi documentation and architecture😁 As informed by @alequetzalli on the #temp-gsod-2022 Slack channel we look forward to use this PR as our launchpad to get involved in the Asyncapi community and docs.
I have some suggestions/questions regarding the docs. I hope everyone from the community can see them and correct me if I make a mistake!🧑💻
Here's my thoughts💭

Every section page in the doc contains an "Up next ->"  except the Overview section in the "Tutorials" tab :

Is there any technical reason for this  or is it still work in progress?

This one's a rather minor bug but I'll still let you know😅 In the "Streetlights" section under "Tutorials", the emoji is not displayed and instead ":simple_smile" words are displayed. I checked this bug on multiple phones and laptops. Bug :

I guess this is due to our framework not understanding emoji? Is it recommended to use emoji's in our docs?

Can you take a look at this :

Don't you think the "Up next ->" section in the "Streetlights - Interactive(Alpha)" should point to the "Getting Started" section. It makes sense because these two sections are organized linearly one after another. As a user I found this quiet confusing but I understand that this may be work in progress?

This one is a doubt! I may be taking a huge leap here😅 but I noticed that the word "Overview" is used four times in the documentation section header. Is there any technical reason why it's used or it's just a placeholder?

That's all  by me! Thanks and please correct me If I am wrong about something🙏

@mcturco @alequetzalli I changed the structure of the left navigation as you want. Three things to fix:

I don't know why, but on the build tailwind can't see some of the classes and the nav node icon is glued to the node's title instead of being a few pixels away.
I need classes for colors for each category, yellow-600 @mcturco :) Then i will change in all places where it's needed
As far as this left border is concerned it is not from the design because the nodes themselves have padding on top and on top (I used line-height). If this is a not acceptable let me know. I will fix it with padding without using line-height.

There is still some logic to be implemented, e.g. when you click on Docs in the main navigation it will take you to the docs page and not expand the menu, but let me know if you want it :)

@magicmatatjahu

I don't know why, but on the build tailwind can't see some of the classes and the nav node icon is glued to the node's title instead of being a few pixels away.

Gotcha, yes I see that too. Let me know when you've figured that out!

I need classes for colors for each category, yellow-600 @mcturco :) Then i will change in all places where it's needed

Sure no problem, here are the colors:
Colors for content buckets
Welcome: primary-200
Concepts: secondary-200
Tutorials: pink-200
Tools: green-200
Reference: yellow-200

As far as this left border is concerned it is not from the design because the nodes themselves have padding on top and on top (I used line-height). If this is a not acceptable let me know. I will fix it with padding without using line-height.

LGTM! 😄

There is still some logic to be implemented, e.g. when you click on Docs in the main navigation it will take you to the docs page and not expand the menu, but let me know if you want it :)

Yes, we definitely need to do this so that people can get to the Welcome page. Thank you!
There are a couple of things that I see that need tweaking, but I know you are still trying to figure out some things with Tailwind so I will wait until you are finished to give my review! Thanks!

@pratik2315

This one's a rather minor bug but I'll still let you know😅 In the "Streetlights" section under "Tutorials", the emoji is not displayed and instead ":simple_smile" words are displayed. I checked this bug on multiple phones and laptops. Bug :

Great find! This def looks like a bug. Can you please post the exact link of the page where you noticed  this? You can also file a Docs bug ♥✨✨!

This one is a doubt! I may be taking a huge leap here😅 but I noticed that the word "Overview" is used four times in the  section header throughout the documentation. Is there any technical reason why it's used or it's just a placeholder?

Each new content bucket will have an Overview page to introduce each section. Stay tuned! 🎉

@magicmatatjahu @mcturco I COULD CRY BECAUSE OF HOW BEAUTIFUL IT IS 🤩✨✨✨✨✨✨✨✨
This is so amazing!!!!! omg thank you both so much, our Docs are gonna majorly improve for the whole community !!
🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉❤🎉

@magicmatatjahu  I was able to see your changes via the preview link, but when I try to pull your changes into my local and run my localhost 8080, I am unable to see Docs at all! :(
it is giving me the following error:
error - components/layout/DocsLayout.js (49:58) @ eval
TypeError: Cannot read property 'children' of undefined
  47 |     if (!item.isSection) {
  48 |       if (item.sectionId) {
> 49 |         tree[item.rootSectionId].children[item.sectionId].children.push(item)
     |                                                          ^
  50 |       } else {
  51 |         tree[item.rootSectionId].children.orphans.push(item)
  52 |       }
wait  - compiling...
event - compiled successfully
error - components/layout/DocsLayout.js (49:58) @ eval
TypeError: Cannot read property 'children' of undefined
  47 |     if (!item.isSection) {
  48 |       if (item.sectionId) {
> 49 |         tree[item.rootSectionId].children[item.sectionId].children.push(item)
     |                                                          ^
  50 |       } else {
  51 |         tree[item.rootSectionId].children.orphans.push(item)
  52 |       }

In general, I think the last change I see to make is that I need to move Getting Started section to be right after /Overview page, and before all other tutorials (ex: streetlights).
I will make that change and then ask everyone for an official review of this PR at last 😄✌🏽🎉🎉🎉

@magicmatatjahu Looks good! I think most of the things I saw are resolved now.
Just a few things that I am seeing from my end:
Note 1
Let's update the Tutorials color to pink-100 instead of pink-200. I think the 200 is a bit too dark.
Note 2
Can we make it so that when you click on the whole Content bucket title component it links to the corresponding page? Right now, the icon doesn't click out
Note 3
Because we changed the Docs navigation item to click out to the docs home page instead of activate the dropdown, I think we should change the behavior of all the dropdowns to show on hover instead of click. I'm afraid that not many people are going to know to click the arrow for the dropdown, so it might be best to just show the dropdowns on hover, and make this change to the others as well so as to remain consistent. Let me know what you think!

@mcturco Suggestions pushed :) Thanks! There are small problems with the dropdowns appearing when hovering - would have to change a large part of the code - so for now it works as in PR. What do you think about it?

@mcturco Suggestions pushed :) Thanks! There are small problems with the dropdowns appearing when hovering - would have to change a large part of the code - so for now it works as in PR. What do you think about it?

@magicmatatjahu great! Yeah I think this is looking good! Thank you for making those changes 😄

@magicmatatjahu Can you reply to my other comment of the broken environment? ✨

@alequetzalli I don't know what could be the problem because if the changes on PR were bad then the preview wouldn't work. Check if your local branch (not remote) is up-to-date with PR, because this is probably the only possible problem.

@alequetzalli I don't know what could be the problem because if the changes on PR were bad then the preview wouldn't work. Check if your local branch (not remote) is up-to-date with PR, because this is probably the only possible problem.

@magicmatatjahu I hopped on a call w/ @derberg and he identified the issue in our code's limitations. So this is one more thing we need to fix, and we think you're the best one to do it since you just made the latest changes to our navigation scripts. 😄❤
The error I got was because the weight of the MD page from the nested sub-section of Getting Started (inside Tutorials) was changed to 3. (It was originally 2) I was trying to move the nested section to the right order, but I now learned from Lukasz that our script doesn't handle that use case yet.
So here's what we need to adjust/fix...
Now that we have the ability to generate nested sub-sections in the left-hand nav, we also need to ability to order single pages (without parent) AND parent sub-sections.
Example: In Tutorials content bucket, I need to order the tutorials in the correct order for users to try out. In this case, I must be able to move the  Getting Started sub-section in Tutorials to be the 2nd item right after the /Overview page.

Let me know if this doesn't make sense! But this is the last item we need ✨✨

@alequetzalli Done. Have in mind that overview nodes dissapeared from left nav, because I think it's redundant to point to this page in the main node (e.g. Tutorials) and in the subItem, so now index.md for given section is treat as "main" node for given section. You can test it and let me know what do you think about it :)

@alequetzalli Done. Have in mind that overview nodes dissapeared from left nav, because I think it's redundant to point to this page in the main node (e.g. Tutorials) and in the subItem, so now index.md for given section is treat as "main" node for given section. You can test it and let me know what do you think about it :)

@magicmatatjahu, thank you for fixing the order of the Tutorials and making the Getting started sub-section first! That part looks perfect. Can you share with me how I can order items, moving forward? I will def need to do this often.
Regarding the removal of the /Overview pages, PLEASE put them back. ❤ They are not redundant, I specifically want people to notice each new content bucket has their own /Overview page/ This is intentional and we need it.

Hey @magicmatatjahu!
I have a few notes regarding the changes made:

Looks like the studio button icon changed on the homepage from the white version to the black version as a result of the changes in this PR. Can we make sure the icon in the "OpenInStudioButton" is white?

The icon in the active content bucket title looks like it is missing some padding around the icon to make the colored square a little bit larger according to the design. However, looking at the code, we do not want to just add padding to the SVG, as it will cause the icon to shrink even smaller, which is something we do not want. Consider a code structure where the SVG sits within another div that has the background color and padding classes applied to it.

@alequetzalli Done :)
@mcturco I didn't notice that icon! Thanks a lot, I corrected it to white, but the icon itself is not filled but transparent, so the color is only on the border (which is the content of the icon). I also wrap icons by div as you suggested :) Thanks a lot!

@alequetzalli

Can you share with me how I can order items, moving forward? I will def need to do this often.

To sort sections by children (e.g. getting started to overview and streetlight) the weight of the section itself should be greater than overview but less than streelight - like normal sorting :) Items in a subsection may have different weights than those in the section above.

@alequetzalli

Can you share with me how I can order items, moving forward? I will def need to do this often.

To sort sections by children (e.g. getting started to overview and streetlight) the weight of the section itself should be greater than overview but less than streetlight - like normal sorting :) Items in a subsection may have different weights than those in the section above.

@magicmatatjahu  THANK YOU, GOOD SIR 🙏🏻 ⭐

@alequetzalli everything is looking good from my end! I think if we see other oddities we can always submit a new issue to fix in the future. But for now everything seems usable when testing it.
Thank you, @magicmatatjahu for your speedy coding!! 😄

Hey @magicmatatjahu! I was chatting today w/ @derberg about this PR and mentioned to him that the last thing pending was for me to address the branch conflicts:

But then Lukasz said: "I see some js files have conflicts, best ask Maciej directly to solve them for you and merge directly into your branch of your fork."
So why am I to say no, right? 😄

@alequetzalli Sorry for such a delay, but I didn't have time at the end of last week.

@derberg @mcturco @magicmatatjahu IT IS FINALLY TIME TO REVIEW THIS IA PR AND TRY TO MERGE IT ⭐
Looking forward to your acceptance or feedback :D

@alequetzalli @magicmatatjahu Looks good to me guys!! Well done! 🚢

@derberg

Docs is the only element in top nav that doesn't react to click, only on hover. Should be possible to click and get list of buckets

We have discussion about in thread. We decide to move to the /docs page when you click Docs on main nav + on hover you will see buckets. Problem was how to move to /docs when we only show buckets (not main page od docs).
About TOC I will see why it doesn't work, but mainly it can be caused by wrong order of headings.

@magicmatatjahu the problem is that we now get inconsistent behaviour 😞 and it is confusing
@magicmatatjahu @alequetzalli @mcturco
IMHO there are only 2 options to fix it:

click on Docs should not take you to /docs but show menu, as other menu items work
click on Docs should take you to /docs, and there should be no menu on hover at all. Consistent with Blog where we do not have menu too

I think option 2 is better

@derberg So then people will have to click docs and then click on bucket inside docs. Don't you think it will be too tiring in the long time? I already prefer the first option without rendering the main docs page.

buckets are for new forks, you do not need to click on them, you have left nav 🤷🏼

Then think about it and let me know. I will not change navigation behaviour 5 times 😄

of course do not change it now just that I said it, let's wait for @mcturco and @alequetzalli

@magicmatatjahu @derberg I think it would be fine if we removed the Docs dropdown in the navigation and just have the user click docs and see all the content buckets on the Docs home page and the sidebar, but definitely want @alequetzalli's opinion on this before we make that change

Sorry to say this, but I do not want the behavior to change. 😄 ❤

Clicking on /Docs should take the user to asyncapi.com/docs, the new Welcome page. We DO need a direct route to the Docs homepage, it is a bad UX if that is not included.
Hovering over the Docs nav menu item should open the drown-down menu. That is a better UX for new people to understand how the docs are divided.

But anyways, if the general community agrees that something needs to change... then at most, I could agree with the following solution:

Remove the current hover behavior for Docs menu and revert to the matching behavior of other menu items that open their dropdown when you click on the arrow.
Add a new dropdown item for the Docs /Homepage. (call it Welcome so it's self-explanatory.)

P.S. I LOLLLed when I thought about poor Macief going back and forth on the drop-down behavior. I sense he has survived immense pain in this PR. 🤣
😸  @derberg @magicmatatjahu @mcturco

@alequetzalli

P.S. I LOLLLed when I thought about poor Macief going back and forth on the drop-down behavior. I sense he has survived immense pain in this PR. 🤣

LOL 😆  I get paid for lines of code (Fran, it's joke), I have no problem with that 🤣
As far as I'm concerned it can be either this behavior what is present on PR (on hover etc) or what you suggested with adding an additional element in the flyout menu.

Sorry to say this, but I do not want the behavior to change. 😄 ❤

Clicking on /Docs should take the user to asyncapi.com/docs, the new Welcome page. We DO need a direct route to the Docs homepage, it is a bad UX if that is not included.
Hovering over the Docs nav menu item should open the drown-down menu. That is a better UX for new people to understand how the docs are divided.

I have to say that I fully agree with @alequetzalli here 😄  If the problem exists in the other menu items, I think we have a couple of options that we could implement to resolve the bugs, at least until we have landing pages for "Tooling" and "Community" dropdown items:

On click of "Tooling" or "Community" could take you to the first menu item listed underneath.
Pros: Gives the "dead" links on the site an endpoint instead of doing nothing
Cons: This endpoint might not make sense for the link, and could confuse the user 😅

On click of "Tooling" or "Community" we make sure that it doesn't trigger the dropdown to open and close like it used to, which is what I think is causing the bug.
Pros: Fixes the bug with the dropdown menus after we changed the behavior to hover in this PR
Cons: The user could think that there is a page associated with these and try to click them and get confused as to why it is not taking them to a new page. (However, I think the user would immediately assume there isn't a page after trial and error)

I prefer option 2, as I believe we have ideas/plans to add a /tools/ landing page and I am sure a /community/ landing page will get added in the future.
I also like @alequetzalli's suggestion, but I think it will be a better UX to have those main nav items click out to their own pages.

ok, so what I understand is we agree that:

there should be no "onHover" action.
Menu should show only on arrow/chevron "onClick" action.

clickable Docs that take to you /docs is still ok, and yeah, Tools and Community can be static now and later we can make them clickable too.

So there is a consensus. I'll wait for @alequetzalli to make sure and then I'll change it.

Yes, I agree with @mcturco and it sounds like we should go back to the on hover event for the Docs menu dropdown.
Missy, tell me if you agree/if I understand you:

Docs will be a clickable item that link to URL asyncapi.com/docs
When a user hovers their mouse over the Docs menu area, it opens the dropdown showing the new 4 content buckets.

If so, then this is what I'd ask for @magicmatatjahu to update. 😸

@alequetzalli @mcturco

Docs will be a clickable item that link to URL asyncapi.com/docs
When a user hovers their mouse over the Docs menu area, it opens the dropdown showing the new 4 content buckets.

Hmmm 🤔 This is what ops the current way the menu docs work. Maybe I don't understand something, please correct me.

@magicmatatjahu @alequetzalli @derberg
Just recorded this video explaining the expected behavior as Ale and I are proposing. I figured explaining it in a video/screen share might save a bit of back and forth on written communication and confirm what it is that we want to change.
Watch here!
https://www.loom.com/share/37f4a927c2c5496d8a3a3ee8cdcea0be

@derberg @mcturco @alequetzalli
So actual logic is good, yes? And of course, we have still that problem with TOC.

@magicmatatjahu @alequetzalli @derberg Just recorded this video explaining the expected behavior as Ale and I are proposing. I figured explaining it in a video/screen share might save a bit of back and forth on written communication and confirm what it is that we want to change.
Watch here! https://www.loom.com/share/37f4a927c2c5496d8a3a3ee8cdcea0be

yeah, agreed @mcturco !

@mcturco sounds good to me, we can get rid of the click. I might be biased but I think that chevron icon auto-suggest click, but yeah, it might be just me and my experience with the website.
so to summarize, menu shows up on hover and click works only on docs and will work on others like tools or community only when we will get dedicated landing pages for example under /community path

@derberg yeah this sounds right!!

@derberg @mcturco @alequetzalli
So actual logic is good, yes? And of course, we have still that problem with TOC.

@mcturco @derberg @magicmatatjahu Yes, I think the logic is good but you just need to make the change to the other menu items.
As for the TOC improvements, that's another issue and PR so I don't want to mix those items together since they don't need to be merged together  :)
@magicmatatjahu so does this make sense and do you feel all good for the changes needed on your end? Let me know if you need anything else!

oh my, looking at the PR, it looks like only menu behavior left ❤ and we are 🚀 🌔

oh my, looking at the PR, it looks like only menu behavior left ❤ and we are 🚀 🌔

Yep! Really only keeping the same hover behavior but disabling the dropdown menu to show on click 👍

@mcturco @alequetzalli Ok I pushed changes, let me know if everything is ok. Regarding scrollspy I checked that these same bugs occur also in upstream website, and it's a problem with our scrollspy component. I leave it for another PR.
Also I remember that @derberg mentioned that we should fix redirects for /docs/specifications paths in https://github.com/asyncapi/website/blob/master/public/_redirects#L19 to the /docs/reference/specification so I will do it, however I don't know if we should also leave old docs/specifications redirects. As I know from my experience we should, because people may have links to our specifications on pages somewhere. What do you think?

@alequetzalli @derberg @mcturco Ok I added redirects, I hope that everything is ok, so please check these redirects, maybe I leave something, let me know!
Also I will create PR in spec repo with changes related to the redirects and where we should create new spec file :)

PR in spec repo https://github.com/asyncapi/spec/pull/804

PR in spec repo https://github.com/asyncapi/spec/pull/804

@magicmatatjahu I already took care of that in another pull request so please close this PR

@magicmatatjahu changes look good except the nav dropdowns for Tools & Community still close when you click them, which I thought we were removing that behavior. It probably should not have that effect, but if it messes up the behavior when you click on "Docs" I am okay with leaving it like this.

@mcturco

changes look good except the nav dropdowns for Tools & Community still close when you click them, which I thought we were removing that behavior. It probably should not have that effect, but if it messes up the behavior when you click on "Docs" I am okay with leaving it like this.

Now, it's fixed. It was due to fact that we had global handler for hide dropdowns when someone click outside the menu, but now it should work. Let me know if everything is good, or there're still bugs 😄

@magicmatatjahu Great! I think that works much better! Thank you for making those changes.
Now just checking things on mobile and I believe we need to change "Learning" to "Docs" in the main navigation and make sure it links out to the welcome page of the docs, or we can add a new kink above "Concepts" with "Welcome" and link to the docs home page. That might make it easier for people to click. Either way, we shouldn't get too hung up on the mobile menu because we will need to re-design that anyways since we are changing the behavior of the nav menu. Should be done in a separate issue probably 😄

@magicmatatjahu Great! I think that works much better! Thank you for making those changes.
Now just checking things on mobile and I believe we need to change "Learning" to "Docs" in the main navigation and make sure it links out to the welcome page of the docs, or we can add a new kink above "Concepts" with "Welcome" and link to the docs home page. That might make it easier for people to click. Either way, we shouldn't get too hung up on the mobile menu because we will need to re-design that anyways since we are changing the behavior of the nav menu. Should be done in a separate issue probably 😄

Looks great! Okay I think we are good to merge this PR now 😄 🚢

@mcturco Thanks for quick look! I changed Learning to the Docs and make Docs clickable (not set another nav item) due to fact that we don't have icon for "/welcome" path. I think that's good, but let me know! Thanks again!

LGTM
2 things:

just before merge are we sure that path should be docs/reference/specification and not docs/reference/specifications? just like with tutorials 🤔
we should get https://github.com/asyncapi/spec/pull/801 updated and approved so we can merge both PRs the same day

@derberg

just before merge are we sure that path should be docs/reference/specification and not docs/reference/specifications? just like with tutorials 🤔

I'm not TW, but I don't think so that we should call it reference/specifications, because then we points to the single spec version like reference/specification/v2.4.0. Of course there we have inconsistency with /docs/tutorials  but I prefer that option with specification without s at the end. What do you think @alequetzalli ?

we should get https://github.com/asyncapi/spec/pull/801 updated and approved so we can merge both PRs the same day

I can wait for it.

Great catch @mcturco about the "learning" copy in mobile menu!!! 🎉🎉🎉🎉

@alequetzalli Maciej already updated redirects

@alequetzalli @derberg @mcturco Ok I added redirects, I hope that everything is ok, so please check these redirects, maybe I leave something, let me know!

Now you just duplicated things that he already did there

@derberg @alequetzalli yeah, I fixed that :)

@alequetzalli it is not about PRs in spec repo but c51afc1
anyway, I see @magicmatatjahu already reverted it in 560b23d

Got it, I didn't have that change in my local and I understood you needed me to fix it still. Thanks for explaining, apologies for the misunderstanding 🎉

@alequetzalli yes, I can handle this, especially since we have a problem that you made changes in markdown files, and only you and bot can approve these 😅 so I will have to use my admin rights.
I will merge in the morning, so if we discover any issues we have the entire day to fix them with no stress. I hope you do not mind

@alequetzalli yes, I can handle this, especially since we have a problem that you made changes in markdown files, and only you and bot can approve these 😅 so I will have to use my admin rights.

Haha I know, right? I was just thinking about that

I will merge in the morning, so if we discover any issues we have the entire day to fix them with no stress. I hope you do not mind

Yeah, awesome!!
The first reports to Google on our program updates is due starting this week, so once we have merged all of these changes and we confirm there are no bugs live, I will be finalize/submit to google the report.


27092

Oh, I bet these are still failing because they include 10ab596.
@emoon maybe try rebasing this, to see if it removes the offending commits?

I will close my remaining PRs to clean up the mess and do new ones so its all correct.

I have done new PRs for the failing ones. Sorry for the mess!


Provide improved support for django

MVP idea:

Completion for all related keys generated and or specified #3704 (maybe through dataclass_transform)
Extended completions for filterby etc based on key names generated by Django https://github.com/microsoft/pylance-release/issues/3704#issuecomment-1335592027
Goto definition on models referenced in Settings.py #3700
Completions on models referenced in Settings.py #3700

MVP Python Core?

Manage.py shortcuts (especially so you could map them to keyboard shortcuts)

Ability to run task of the manage.py utility
Ability to goto definition models referenced by string by '<app_name>.<model_name>' when model sits in '<app_name>.models.<model_name>'

Manage.py could

have tasks.json added for each operation
have commands for each operation
have more specialized commands for different operations (like manage.py runserver should be on the 'run' tab)

All of these are probably better suited for the core python extension though. Not really language server related. See this documentation:
https://code.visualstudio.com/docs/python/tutorial-django#_create-a-debugger-launch-profile
Which could be improved, but probably better to do that in the python extension.

Views.py

Auto fill in types for any function that has a request parameter

def index(request):
   pass

becomes
def index(request: HttpRequest) -> HttpResponse:
   pass

automatically (line completions maybe?)

Urls.py

Auto line complete all of the exported views from views.py (and compute their path?)

https://github.com/microsoft/pylance-release/issues/3704

Fields with required values should flag an error if those values are missing. Example:
class Choice(models.Model):
    question = models.ForeignKey(Question, on_delete=models.CASCADE)
    choice_text = models.CharField()
    votes = models.IntegerField(default=0)

choice_text is missing max_length

What @diego351 said in this issue: #3700
Settings.py basically takes a list of modules. It would be nice if they could be treated that way when entering them.
Like by doing

Autocompletion on them
Goto def on them

Could completions for models be driven by the data in the 'migrations' folder?

@rchiodo It's actually interesting how Jetbrains inferes that. Might do some tests. btw, @rchiodo do you get notifications for closed issues?

Not about that topic, but don't know how to contact you another way, didn't wanted to create duplicate ticket https://github.com/microsoft/pylance-release/issues/3678

  "python.analysis.packageIndexDepths": [
    {
      "name": "django",
      "depth": 3,
      "includeAllSymbols": true
    },
    {
      "name": "rest_framework",
      "depth": 3,
      "includeAllSymbols": true
    }
]

Just this regular django setup hits Workspace indexing has hit its upper limit: 2000 files. We need https://github.com/microsoft/pylance-release/discussions/2608

Some ideas from the work done here:
https://youtu.be/Lz4I7rFmFdY?t=1233

At this point in the video you can see the presenter use what @diego351 talked about in #3704

Comment here makes it seem like Django functions have data automatically sent to them (like pytest fixtures):
https://github.com/microsoft/pylance-release/discussions/3187#discussioncomment-3421854
Type inference would be specific to Django I'd think. Much like pytest fixtures. Needs more investigation to see how this works.

https://github.com/microsoft/pylance-release/issues/3704#issuecomment-1335592027
Looking here:
https://reinout.vanrees.org/weblog/2015/06/03/05-lookups-transforms-expressions.html
Shows that Django completions for parameter names can include a LOT of stuff. It would be cool to include at least some of these (if not all) in completions for parameters.

An example of why the 'generated' keys are useful.
Suppose we have these two models (from the Django tutorial):
class Question(models.Model):
    question_text = models.CharField(max_length=200)
    pub_date = models.DateTimeField('date published')

class Choice(models.Model):
    question = models.ForeignKey(Question, on_delete=models.CASCADE)
    choice_text = models.CharField(max_length=200)
    votes = models.IntegerField(default=0)

Both of these objects have hidden (generated) fields.

Both have an id
Question has a 'choice_set' generated by the ForeignKey relationship
Both have a primary key called 'pk' which by default maps to 'id', but can be overridden

Another idea: Query pattern matching.
Urls might have something like so:
urlpatterns = [
    path("", views.index, name="index"),
    path("<int:question_id>/", views.detail, name='detail'),
    path("<int:question_id>/results", views.results, name='results'),
    path("<int:question_id>/vote", views.vote, name='vote'),
]

See here for more information: https://docs.djangoproject.com/en/4.1/topics/i18n/translation/#translating-url-patterns
It might be possible to have a general regular expression support? Doesn't seem to be asked for, but maybe as a separate extension. Patterned after what regex101.com does.

Another obvious example, intellisense in Django templates. This would likely require an entirely different parser.

There are predefined globals that can be set that have special meaning.
It would be nice if they:

Came up in completions
Had type information

Example - a Urls.py:
from django.urls import path
from . import views

app_name = 'polls'

urlpatterns = [
    path("", views.index, name="index"),
    path("<int:question_id>/", views.detail, name='detail'),
    path("<int:question_id>/results", views.results, name='results'),
    path("<int:question_id>/vote", views.vote, name='vote'),
]

app_name and urlpatterns are globals that django looks for.
https://docs.djangoproject.com/en/4.1/topics/http/urls/#how-django-processes-a-request

Warning in forms that don't use the csrf_token tag

@diego351, @luabud pointed this extension out to me:
https://marketplace.visualstudio.com/items?itemName=tonybaloney.python-task-provider
That provides commands for manage.py. Thought that might be useful for you.

Thanks! How the initial support is going? Please let me know if you need anything django related

@diego351 Honestly, we're still in the investigation phase, trying to figure out what to do first. Any more suggestions of things that you'd like to see or any other features you've seen elsewhere would be a big help. Thanks for asking.

Another idea: https://github.com/microsoft/pylance-release/issues/3874#issuecomment-1405665334
Supporting other languages inside of comments. Might also how we implement DTL support. Ship a separate language server just for the DTL parts.

@rchiodo
Perhaps off-topic, but intellisense for the django.conf.settings object, which includes user settings.py variables would also be phenomenal.

Ability to run task of the manage.py utility
Ability to goto definition models referenced by string by'<app_name>.<model_name>'when model sits in '<app_name>.models.<model_name>'

@dakotahorstman do you mean like option 2 that @diego351 mentioned?

Albeit, I split my settings.py out into multiple settings/*.py files depending on which mode my server is running in. For example: settings/base.py, settings/dev.py, settings/prod.py, settings/test.py if that makes much of a difference.

@rchiodo I mean all settings, not just model definitions. Like regular intellisense, if I were to type settings., it would suggest DEBUG, INSTALLED_APPS, DATABASES, etc.

@dakotahorstman can you share your source? It would help to have an example.

@rchiodo Unfortunately, I can't due to it being a closed-source application. The most bare-bones Django project can be used though. Here's a screenshot of my application's structure if it's any benefit:

settings/local.py and settings/production.py import everything from settings/base.py where all shared settings exist (like INSTALLED_APPS or DATABASES)
All my request is, if I import from django.conf import settings in networking.py, intellisense should suggest all of the module-level variables that exist in these settings/*.py files. For example, if settings/base.py has a FOO="bar" variable, intellisense will suggest FOO when I type settings. in networking.py. Think of the behavior being no different if I were to import from dtautomation.settings import base as settings and did the same thing.
I can try to provide a GIF if that would be more beneficial?

If I'm understanding correctly, I'm not sure why those variables are not already visible as completions?
Example:
file: test.py
import test2
test2.b

file test2.py
b = list()

Completions when in test.py do show test2.b

@rchiodo Exactly, yes! Plus the ones Django already ships with if possible.

More Feedback

Query list completions should work : See https://github.com/microsoft/pylance-release/issues/3704#issuecomment-1335592027
Being able to see object tables and data inside them somehow
Providing snippets like (https://djangosnippets.org/)
Add data as show in the django debug toolbar (https://pypi.org/project/django-debug-toolbar/)
Show more information about models and other classes (like MRO list)
Tables are hard to make in html, can there be an easier way?

Solution Ideas for previous comment:
Problem: Query list completions

Mergeable type stubs and generating dynamic fields for models
Custom logic in a completion extension that finds all model based classes and understands the connections between them

Being able to see object tables

Hover provider to show current state of database (we could run the sql)
Reuse data wrangler or data frame viewer (jupyter) to show different tables
Custom graph solution?

Snippets for django related stuff

Automatic inclusion of the top 30 djangosnippets? Maybe prefix them with #django or something
Better completion for the things that the top 30 snippets do

Django debug toolbar

Provide more of this data in a custom view while debugging/running
Provide another view ourselves that queries this data at runtime with specific hooks
Provide methods to easily add this to an app (as there's a lot of stuff to install, setup correctly)

Show more information about models and other classes

Implement this: https://github.com/microsoft/pylance-release/issues/2846
provide filtering in completions to only show methods of a specific class?

Tables are hard to make in html

Specific snippets for making tables out of django data
Snippets for just plain html

Data sent to view is hard to get correct

Generate types for functions based on if they are used in views or not. Special case type generation for django specific things
Make pyright's type stub generator usable
Generate type annotations from call sites (for return types too if we know the return value is used as a parameter to another call)

Related issue where we could provide IntelliSense (similar to pytest extension) where all of the model's attributes are mapped to kwargs -- https://github.com/microsoft/pylance-release/issues/4370

Mergeable type stubs and generating dynamic fields for models

For anyone interested, I started django-autotyping, which can generate dynamic stubs based on the current application (providing support for foreign field set and get types, and later support for lookup queries, etc).
This article goes into more detail.

Has anyone mentioned support for the auto-generated "id" field?

Has anyone mentioned support for the auto-generated "id" field?

I don't believe the 'id' field is mentioned explicitly but it generally follows under this item: https://github.com/microsoft/pylance-release/issues/3704. I believe @Viicos work on autotyping would be relevant too. We're discussing doing something similar to what @Viicos has done but generating the type stubs inside of pylance as you type in your code.

We're discussing doing something similar to what @Viicos has done but generating the type stubs inside of pylance as you type in your code.

Nice to hear your are also planning on exploring this solution. I did face some challenges though, do not hesitate to let me know if you want to hear more details about it

Any plans for this in the near future?


#159 - generate unique temporary file for docs generation

The script to generate terraform docs uses an intermediate to pre process files with awk as work around of a limitation in the terraform-docs tool for terraform version 0.12. The temporary file created is not a unique file, it always generate the following file. /tmp/terraform-docs-XXXXXXXXXX.tf In case the generate file is not cleared or in recursive usages mode the script fails frequent. See also #159
By removing .tf from the template it always will use a unique file
➜  ~ TMP_FILE="$(mktemp /tmp/terraform-docs.XXXXXXXXXX.tf)" && echo $TMP_FILE
mktemp: mkstemp failed on /tmp/terraform-docs.XXXXXXXXXX.tf: File exists
➜  ~ TMP_FILE="$(mktemp /tmp/terraform-docs.XXXXXXXXXX)" && echo $TMP_FILE
/tmp/terraform-docs.UWcXrdbU7D````

@osterman added a description as requested. The description was available in #159

Thanks @npalm !


Feat/KFS-1502 diagnostics: error highlighting

Reopened https://github.com/confluentinc/go-prompt/pull/36. Onprem CI only runs if to-merge branch is also in the original repo and in a fork.


Make shorthand definition possible

Hi,
In line with having a syntax as close as possible to javascript it would nice to be able to use the shorthand syntax as seen here.
import pandas as pd
from pyobsplot import Plot

df = pd.DataFrame({'Date': {0: '1880-01-01', 1: '1880-02-01'}, 'Anomaly': {0: -0.3, 1: -0.21}})
Plot.lineY(df, {"x": "Date", "y": "Anomaly"}).plot()

AttributeError                            Traceback (most recent call last)
Cell In[15], line 5
      2 from pyobsplot import Plot
      4 df = pd.DataFrame({'Date': {0: '1880-01-01', 1: '1880-02-01'}, 'Anomaly': {0: -0.3, 1: -0.21}})
----> 5 Plot.lineY(df, {"x": "Date", "y": "Anomaly"}).plot()

AttributeError: 'dict' object has no attribute 'plot'

Not sure how feasible this is and not a dealbreaker for me but thought it was worth noting in case it wasn't on the radar.
Many thanks,
Harry

I'm not sure I would be able to implement this given the way python Plot methods are automatically generated, but this is indeed a very valid suggestion.
I keep this open, thanks for the idea !

This shortcut syntax should now be available in the development version (I have yet to add it to the documentation). It was much easier to implement than I thought.
Thanks again for the suggestion (and your patience).


Netperf ftp links are not working

The ftp links to download netperf are not working:
ftp://ftp.cup.hp.com/dist/networking/benchmarks/netperf/

The FTP site has been shut down. The downloads are now available here: https://github.com/HewlettPackard/netperf/releases/tag/netperf-2.7.0.

README should be modified!!


test/dnf-json: don't run the tests in parallel

I think it sometimes causes the test to fail, I'm not sure why though.
Signed-off-by: Ondřej Budai<EMAIL_ADDRESS>This pull request includes:

[ ] adequate testing for the new functionality or fixed issue
[ ] adequate documentation informing people about the change such as

[ ] create a file in news/unreleased directory if this change should be mentioned in the release news
[ ] submit a PR for the guides repository if this PR changed any behavior described there: https://www.osbuild.org/guides/

Nah, this didn't help, it's still stuck.


[Bug]: Deployments fail

Description
I can't redeploy, force deploy or restart my custom projects since upgrading to v4.0.0-beta.187
Only the predefined services work.
I rebooted the server, but the problem is still there.
Minimal Reproduction (if possible, example repository)

Add resource
Choose provate repo (with GitHub App)
Start deployment process

Exception or Error
Build Pack Dockerfile:
[...]
COMMAND:
docker exec abcdefg bash -c 'echo 'qwertasdf=' | base64 -d > /artifacts/vgk0g4o/Dockerfile'

OUTPUT:
WARNING: Error loading config file: /root/.docker/config.json: read /root/.docker/config.json: is a directory
Building docker image started.
To check the current progress, click on Show Debug Logs.
[...]
OUTPUT:
ERROR: "docker buildx build" requires exactly 1 argument.
See 'docker buildx build --help'.

Usage: docker buildx build [OPTIONS] PATH | URL | -

Start a build
Oops something is not okay, are you okay? 😢
WARNING: Error loading config file: /root/.docker/config.json: read /root/.docker/config.json: is a directory
ERROR: "docker buildx build" requires exactly 1 argument.
See docker buildx build --help.

Usage: docker buildx build [OPTIONS] PATH | URL | -

Start a build
Deployment failed. Removing the new version of your application.

Build Pack Nixpacks:
[...]
COMMAND:
docker run -d --network coolify --name abcdefg --rm -v /var/run/docker.sock:/var/run/docker.sock ghcr.io/coollabsio/coolify-helper:latest

OUTPUT:
WARNING: Error loading config file: /root/.docker/config.json: read /root/.docker/config.json: is a directory
[...]
OUTPUT:
26a718b7838cccbc51a1ce9edf2f388afee22b10 refs/heads/production
Setting base directory to /artifacts/abcdefg.
Oops something is not okay, are you okay? 😢

Deployment failed. Removing the new version of your application.

Version
v4.0.0-beta.187

If you go to the server where you try to deploy this app, and do a ls -l /root/.docker/config.json, is it a directory? If yes, delete it rmdir /root/.docker/config.json


Rare Hang in SetBehavior (preview.py)

There is still a possible race condition here when SetBehavior is not being called from the Light Controller’s run loop. This mostly happens in test.py and preview.py
Changes meant to mitigate this are checked in, but it is still possible that this isn’t completely fixed.

This isn’t going to be fixed, but I want to track it. With the work to enable Lunar cycles or Thunderstorms, SetBehavior is getting rewritten or removed anyways.

Swift re-write means this particular race condition isn't possible anymore. We use a serial queue with libDispatch and do all the work in setCurrentBehavior inside the serial queue. While. there can be ordering issues with how work is added to the queue, there shouldn't be any race conditions.


UIResponder.textInputMode not working as expected in iOS 13

I was asked to report this on the Flutter Discord channel (even though I believe this is an iOS bug rather than a Flutter one. See this thread).
Steps to Reproduce

Create a Flutter project using ObjC as the iOS language (would reproduce in Swift too, no doubt). Change the UI so that it has a TextField.
Get it running on an iOS device
Install a Thai keyboard on your device (Settings/General/Keyboard/Keyboards)
Copy the below code into AppDelegate.m
Run the app.

void swizzle(Class thisClass, Class targetClass) {
    SEL originalSelector = @selector(textInputMode);
    SEL swizzledSelector = @selector(replacementTextInputMode);

    Method originalMethod = class_getInstanceMethod(targetClass, originalSelector);
    Method swizzledMethod = class_getInstanceMethod(thisClass, swizzledSelector);

    BOOL didAddMethod = class_addMethod(targetClass, originalSelector, method_getImplementation(swizzledMethod), method_getTypeEncoding(swizzledMethod));

    if (didAddMethod) {
        class_replaceMethod(targetClass, swizzledSelector, method_getImplementation(originalMethod), method_getTypeEncoding(originalMethod));
    } else {
        method_exchangeImplementations(originalMethod, swizzledMethod);
    }
}

- (BOOL)application:(UIApplication *)application
    didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        Class thisClass = [self class];
        swizzle(thisClass, [UIView class]);
    });

  [GeneratedPluginRegistrant registerWithRegistry:self];
  // Override point for customization after application launch.
  return [super application:application didFinishLaunchingWithOptions:launchOptions];
}

NSString* langFromLocale(NSString* locale) {
    NSRange r = [locale rangeOfString:@"_"];
    if (r.length == 0) r.location = locale.length;
    NSRange r2 = [locale rangeOfString:@"-"];
    if (r2.length == 0) r2.location = locale.length;
    return [[locale substringToIndex:MIN(r.location, r2.location)] lowercaseString];
}

UITextInputMode* getTextInputModeForLanguage(NSString* language) {
    for (UITextInputMode *tim in [UITextInputMode activeInputModes]) {
        NSString* languageLocale = langFromLocale(language);
        NSString* primaryLanguageLocale = langFromLocale(tim.primaryLanguage);

        if ([languageLocale isEqualToString:primaryLanguageLocale]) {
            return tim;
        }
    }

    return nil;
}

- (UITextInputMode*)replacementTextInputMode {
    NSLog(@"Swizzled called!");
    NSObject* obj = (NSObject*)self;
    NSLog(@"DEBUG DESCRIPTION: %@", obj.debugDescription);

    UITextInputMode* forcedLanguage = getTextInputModeForLanguage(@"th-TH");

    return forcedLanguage;
}

Expected results: The keyboard should always be set to the Thai one, even if the user previously switched to another keyboard.
Actual results: on iOS < 13, everything works as expected. On iOS >= 13, the swizzled method is still called, but its return value is ignored and the keyboard retains whatever language the user last set it to.

❯ flutter doctor -v
[√] Flutter (Channel stable, v1.12.13+hotfix.8, on Microsoft Windows [Version 10.0.18362.720], locale en-AU)
    • Flutter version 1.12.13+hotfix.8 at C:\Users\Kent\Repository\flutter
    • Framework revision 0b8abb4724 (7 weeks ago), 2020-02-11 11:44:36 -0800
    • Engine revision e1e6ced81d
    • Dart version 2.7.0

[√] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at C:\Users\Kent\AppData\Local\Android\Sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-29, build-tools 29.0.2
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b04)
    • All Android licenses accepted.

[√] Android Studio (version 3.6)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin version 44.0.2
    • Dart plugin version 192.7761
    • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b04)

[√] VS Code (version 1.43.2)
    • VS Code at C:\Users\Kent\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.8.1

[!] Connected device
    ! No devices available

! Doctor found issues in 1 category.

Hi @kentcb
When pasitng your code xcode has erros, Declaration of 'Method' must be imported from module 'ObjectiveC.runtime' before it is required

code sample
#import "AppDelegate.h"
#import "GeneratedPluginRegistrant.h"

@implementation AppDelegate

void swizzle(Class thisClass, Class targetClass) {
    SEL originalSelector = @selector(textInputMode);
    SEL swizzledSelector = @selector(replacementTextInputMode);

    Method originalMethod = class_getInstanceMethod(targetClass, originalSelector);
    Method swizzledMethod = class_getInstanceMethod(thisClass, swizzledSelector);

    BOOL didAddMethod = class_addMethod(targetClass, originalSelector, method_getImplementation(swizzledMethod), method_getTypeEncoding(swizzledMethod));

    if (didAddMethod) {
        class_replaceMethod(targetClass, swizzledSelector, method_getImplementation(originalMethod), method_getTypeEncoding(originalMethod));
    } else {
        method_exchangeImplementations(originalMethod, swizzledMethod);
    }
}

- (BOOL)application:(UIApplication *)application
    didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  [GeneratedPluginRegistrant registerWithRegistry:self];
  // Override point for customization after application launch.
  return [super application:application didFinishLaunchingWithOptions:launchOptions];
}

UITextInputMode* getTextInputModeForLanguage(NSString* language) {
    for (UITextInputMode *tim in [UITextInputMode activeInputModes]) {
        NSString* languageLocale = langFromLocale(language);
        NSString* primaryLanguageLocale = langFromLocale(tim.primaryLanguage);

        if ([languageLocale isEqualToString:primaryLanguageLocale]) {
            return tim;
        }
    }

    return nil;
}

- (UITextInputMode*)replacementTextInputMode {
    NSLog(@"Swizzled called!");
    NSObject* obj = (NSObject*)self;
    NSLog(@"DEBUG DESCRIPTION: %@", obj.debugDescription);

    UITextInputMode* forcedLanguage = getTextInputModeForLanguage(@"th-TH");

    return forcedLanguage;
}

@end

Are you still experiencing this issue?
If yes, Can you please provide your flutter doctor -v with latest stable and flutter run --verbose logs, and a minimal complete reproducible code sample
Thank you

Without additional information, we are unfortunately not sure how to resolve this issue.
We are therefore reluctantly going to close this bug for now.
Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.
Could everyone who still has this problem please file a new issue with the exact description of what happens, logs, and the output of flutter doctor -v.
All system setups can be slightly different, so it's always better to open new issues and reference related issues.


ci: Limit Github Actions token scope

Description
Previously any action and job ran with full read/write privileges as some jobs (docs) need write access. This commit limits the scope with which most jobs are running and only allows broader scope where necessary
Checklist

[x] PR is rebased to/aimed at branch develop
[x] PR follows Contributing Guide
[x] Added tests (if necessary)
[x] Extended README/Documentation (if necessary)
[x] Adjusted versions of image and Helm chart in values.yaml and Chart.yaml (if necessary)

Codecov Report
Base: 96.81% // Head: 96.81% // No change to project coverage :thumbsup:

Coverage data is based on head (40d1d45) compared to base (48088e7).
Patch has no changes to coverable lines.

Additional details and impacted files
@@           Coverage Diff            @@
##           develop     #790   +/-   ##
========================================
  Coverage    96.81%   96.81%
========================================
  Files           22       22
  Lines         1226     1226
========================================
  Hits          1187     1187
  Misses          39       39

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.


chore: optimize the storybook build with nx; enhance story categorizations

Description
Updating storybook commands to optimize build (remove duplicate component build by leveraging nx for cache completion).
Alias nx @spectrum-css/preview commands to storybook for simplicity in command running; this change only affects commands running with nx ....
Moved nx settings to it's own project.json file for readability. Leverage nx executors for more optimized caching in storybook package.
Add workflow icons package as a root-level dependency (needed for the site build).
Add Patterns & Utilities categorizations for storybook elements.

[x] Generator updated

How and where has this been tested?

[x] yarn nx build storybook: builds static storybook assets (this validates the CI update)
[x] yarn build:preview: same as above ^
[x] yarn clean:preview: removes storybook static assets
[x] yarn start: spins up local storybook and watches for changes
[x] yarn storybook: clean alias for yarn start without node env or dev run
[x] yarn test: runs test suite as expected
[x] yarn test:scope @spectrum-css/accordion: runs only accordion test as expected

To-do list

[x] If my change impacts other components, I have tested to make sure they don't break.
[x] If my change impacts documentation, I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[x] I have updated any relevant storybook stories and templates.
[x] This pull request is ready to merge.

[x] yarn build:all to verify no regressions


remove .bundle/config instead of BUNDLE_IGNORE_CONFIG=1

This is a 🐞 bug fix.
This is a 🙋♂ feature or enhancement.

[ ] I've added tests (if it's a bug, feature or enhancement)
[ ] I've adjusted the documentation (if it's a feature or enhancement)
[x] The test suite passes (run bundle exec rspec to verify this)

Summary
Removing projects .bundle as part of jets deploy ruby packaging instead of global BUNDLE_IGNORE_CONFIG=1.
This allows ~/.bundle/config to be respected.
This is useful if you have private gems sources that require authentication. Example:
bundle config gems.myprivatesource.com user:pass

Context
Was brought up in Gitter chat: https://gitter.im/tongueroo/jets (unsure how to link to specific post)
Version Changes
Patch

Released in v2.3.1


[Question] Plugin capabilities

My current work has me performance testing HTTP-based APIs. There are a lot of tools for this but like a lot of "REST clients" they're pretty much stuck in the dark ages. I would love to use insomnia for this, but I also understand that load testing/schema testing may not be part of Insomnia's goals. I noticed that a recent set of releases contained improvements to the plugin system, so here's what I'd love to know:

Can plugins add shortcuts?
Can plugins add new panes or replace current panes?
Can plugins get access to the details shown by the "Timeline" tab?
Is their API access to the "make a request" functionality?
Can API's access the tree of requests pane's data? (context: iterating over the tree of requests)
Can plugins create custom window(s)?
Any UI generated by plugins, will they have access to the same UI components as the rest of the application? (AKA: Can I make my plugin UI look like the app UI?)

Sorry for the delayed response here @krainboltgreene.
You are correct that testing is not part of Insomnia's goals. It focuses on simply being the best HTTP client, which is why it's so usable.
Currently, the plugin system's ability to show UI is limited to Template Tags. More information on plugins can be found here: https://insomnia.rest/documentation/plugins/
Eventually, I would like the plugin system to be able to support all the things you mentioned but, at the moment, none of them are currently possible.

Awesome, thanks so much for the reply @gschier.
What can I do to help with making this possible?

The easiest first step is probably to help build out the plugin APIs so that there are methods for things like sending requests and listing the request tree.
Maybe have a quick look at the plugin folder in the codebase to get familiar with it?
Let me know what you think of that.

Closing this issue for now, as the initial question was answered.


Ability to 'edit' bans

Is your feature request related to a problem? Please describe.
Whenever you want to edit a ban, either when you want to edit the ban reason or the time of expiration, you have to lift the ban and then add it again.
Describe the solution you'd like
An ability to edit ban reasons and ban lengths. Perhaps also being able to change a ban from permanent to temporary.
Describe alternatives you've considered
Unbanning the player and then banning them again.

Can be closed due to recent merge #119


allow any array of numbers to be passed into distance alg

introduce two new methods on core module - .string_distance and .array_distance
keep .distance as a .string_distance for backward compatibility
rename C implementation to .internal_distance to avoid misinterpretation
(keeping backward compatibility as well)
change C implementation to convert numbers to long long instead of int, thus
supporting maximum of machine-native formats
PS: i needed that kind of stuff to run Levenshtein alg not on conventional 'string', but rather on sequence of large numbers (> MAX_INT). If you find that not useful for anyone else, feel free to close this PR.

Coverage decreased (-2.2%) to 97.826% when pulling 25a91d5d2d0110948e296c7493a36ec0ccf160fc on azhi:allow-passing-any-non-utf8-array into 750c491bda8253d95fdfe816abfbb738de98e8ef on GlobalNamesArchitecture:master.

Coverage decreased (-2.2%) to 97.826% when pulling 25a91d5d2d0110948e296c7493a36ec0ccf160fc on azhi:allow-passing-any-non-utf8-array into 750c491bda8253d95fdfe816abfbb738de98e8ef on GlobalNamesArchitecture:master.

Coverage remained the same at 100.0% when pulling d59ebb6dedfa7354c2fb93e0f60380332fe71370 on azhi:allow-passing-any-non-utf8-array into 750c491bda8253d95fdfe816abfbb738de98e8ef on GlobalNamesArchitecture:master.

Coverage remained the same at 100.0% when pulling d59ebb6dedfa7354c2fb93e0f60380332fe71370 on azhi:allow-passing-any-non-utf8-array into 750c491bda8253d95fdfe816abfbb738de98e8ef on GlobalNamesArchitecture:master.

I will add it to the master, thank you @azhi


Microsoft Defender ATP (Advanced Hunting) Protocol is showing only TCP traffic no UDP

In Advanced hunting tab I'm trying to query "Protocol" for UDP traffic but i cannot find any, all of them are TCP.
Is there a workaround to find UDP traffic?
Ref: https://docs.microsoft.com/en-us/windows/security/threat-protection/microsoft-defender-atp/advanced-hunting-devicenetworkevents-table

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

ID: a36d7458-278b-4eec-237c-ca71c547dbb0
Version Independent ID: 8c5a7ed7-5ef7-abcf-b37b-d3b7e826c615
Content: DeviceNetworkEvents table in the advanced hunting schema - Windows security
Content Source: windows/security/threat-protection/microsoft-defender-atp/advanced-hunting-devicenetworkevents-table.md
Product: w10
Technology: windows
GitHub Login: @lomayor
Microsoft Alias: lomayor

@kareemalhourani - Thank you for submitting feedback.
I think the best way forward is if you can contact support and open a service ticket for Windows 10 products  so this can get resolved ASAP. Based on outcome, let me know if it is something that can be called out in the docs.
If you don't mind please keep us posted here on the resolution so we can get the applicable information you are discovering back into the docs.


viewUrl should not be mandatory in dynamic node

Added bugfix for error occured when not having defined a viewUrl within a dynamic node.

@jesusreal other keys are not an issue, as they are not mandatory by default. this was just an implementation issue, as viewUrl should have never been made mandatory.


Cannot pass an array to the template

I'm able to successfully run the following:
gulp.task('template', function() {
  gulp.src(config.paths.template)
    .pipe(template(['./src/pages/about/about.html']))
    .pipe(gulp.dest(config.paths.dest + '/testing'));
});

However, if I change
.pipe(template('./src/pages/about/about.html'))
to
.pipe(template(['./src/pages/about/about.html']))
I get the following errors:
Error: No template file provided
    at new Templator (C:\...\node_modules\template-html\index.js:18:11)
    at gulpTemplator (C:\...\node_modules\gulp-template-html\index.js:11:19)
    at Gulp.<anonymous> (C:\...\gulpfile.js:67:11)
    at module.exports (C:\...\node_modules\orchestrator\lib\runTask.js:34:7)
    at Gulp.Orchestrator._runTask (C:\...\node_modules\orchestrator\index.js:273:3)
    at Gulp.Orchestrator._runStep (C:\...\node_modules\orchestrator\index.js:214:10)
    at Gulp.Orchestrator.start (C:\...\node_modules\orchestrator\index.js:134:8)
    at C:\...\AppData\Roaming\npm\node_modules\gulp\bin\gulp.js:129:20
    at nextTickCallbackWith0Args (node.js:453:9)
    at process._tickCallback (node.js:382:13)

For this reason, it doesn't seem that I can pipe multiple html files through a single template :/
On a separate note, I find it strange that this package uses the template file as the source and pipes through the html files. I would expect it to be the other way around (a bunch of html files pipe through a single template file).

Hi. The reason you're seeing this issue is because you have the source
files and the template the wrong way round. The following should work as
intended:
gulp.task('template', function() {
  gulp.src(['./src/pages/about/about.html'])
  .pipe(template(config.paths.template))
  .pipe(gulp.dest(config.paths.dest + '/testing'));
});

Take a look at this for example.
Hopefully this makes sense.
On Sun, 1 May 2016, 20:55 Eric Grosse<EMAIL_ADDRESS>wrote:

I'm able to successfully run the following:
gulp.task('template', function() {
gulp.src(config.paths.template)
.pipe(template(['./src/pages/about/about.html']))
.pipe(gulp.dest(config.paths.dest + '/testing'));
});
However, if I change
.pipe(template('./src/pages/about/about.html'))
to
.pipe(template(['./src/pages/about/about.html']))
I get the following errors:
Error: No template file provided
at new Templator (C:...\node_modules\template-html\index.js:18:11)
at gulpTemplator (C:...\node_modules\gulp-template-html\index.js:11:19)
at Gulp. (C:...\gulpfile.js:67:11)
at module.exports (C:...\node_modules\orchestrator\lib\runTask.js:34:7)
at Gulp.Orchestrator._runTask (C:...\node_modules\orchestrator\index.js:273:3)
at Gulp.Orchestrator._runStep (C:...\node_modules\orchestrator\index.js:214:10)
at Gulp.Orchestrator.start (C:...\node_modules\orchestrator\index.js:134:8)
at C:...\AppData\Roaming\npm\node_modules\gulp\bin\gulp.js:129:20
at nextTickCallbackWith0Args (node.js:453:9)
at process._tickCallback (node.js:382:13)
For this reason, it doesn't seem that I can pipe multiple html files
through a single template :/
On a separate note, I find it strange that this package uses the template
file as the source and pipes through the html files. I would expect it to
be the other way around (a bunch of html files pipe through a single
template file).
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
https://github.com/grit96/gulp-template-html/issues/7

Closing as not a problem


Quick Switch Editor search improvement

Reference to Quick Switch Editor search should find anywhere in tab name #13456
Hello,
the new logic is good, but it finds to many entries.
E.g. Search for DS returns
DS_HALLO
HALLO_DS
DO not show
The last line will also be shown, because the D is in DO and the S is in show.
But it would be better if you search for words and not for letters. (With underscore a word ends or begins)
Else it returns to many unnecessary entries (tabs).
Search for D S can return all three lines.
Thanks, BR
Günter

Hello @GuenterSch,
Thanks for feedback. We will need to discuss this change.

Hello,
I hope you can implement this improvement.
This logic is used in the tool Everything (https://www.voidtools.com) and it is very useful.
Thanks in advance, BR
Günter


lean-info for HoTT

In the standard (non-HoTT) lean-mode, there is a *lean-info* buffer which displays the goal of a tactic proof when you hover over a comma. There doesn't seem to be such a buffer for HoTT mode. Could that be added?

@fpvandoorn, I will add it.

@fpvandoorn, the current implementation always outputs to *lean-info* buffer whenever there is something to output, regardless of current sub-mode (standard or HoTT).
Could you give me a file and point information (col/line numbers) where you expect to have info message? I'll double-check that.

@soonhokong Recall that the lean-info buffer has a bug that we never understood.
Sometimes it stops receiving information, and the only way to fix it is to restart emacs.
I eventually stopped using lean-info because of this bug.
This is why I suggested https://github.com/leanprover/lean/issues/499
It would be a reliable and extensible way to extract information from a Lean file.
However, we also had reliability problems with https://github.com/leanprover/lean/issues/499
I still thing #499 is the way to go if we can make it reliable.
It would provide a boost in productivity for most Lean users.

@leodemoura, I see. I'll investigate #499.

@leodemoura, I see. I'll investigate #499.

I would be great if could solve it. It would be super easy to add new commands.
Moreover, we would be able to remove lean-info.

I want to note that today is the first time that *lean-info* is working nicely for me in HoTT mode. Usually I got a lot of pre-message is thrown away-errors, but today I get useful goals and type information. I think it has to do with the improvements in lean-flycheck.el you made last week. So that's really nice! This might have also solved the bug Leo mentioned:

Recall that the lean-info buffer has a bug that we never understood.
Sometimes it stops receiving information, and the only way to fix it is to restart emacs.
I eventually stopped using lean-info because of this bug.

I'll close this issue, but I agree with Leo that implementing #499 would be really nice.

I think the bug mentioned by Leo still exists. But the pre-message bug seems to be solved.


Error sideloading UWP application using Microsoft.UI.Xaml 2.0.181018003

Describe the bug
I just updated Microsoft.UI.Xaml to latest version and now I cannot install/side-load my application running the Powershell script created by Visual Studio.  I get the following error:
Deployment of package Microsoft.UI.Xaml.2.0_2.1810.18003.0_x64__8wekyb3d8bbwe was blocked because the provided package has the same identity as an already-installed package but the contents are different. Increment the version number of the package to be installed, or remove the old package for every user on the system before installing this package.
When I list installed packages it is definitely installed but I can't remove it because it is used by other windows applications.  Is there a problem with the versioning of this package?
Windows cannot remove framework Microsoft.UI.Xaml.2.0_2.1810.18003.0_x64__8wekyb3d8bbwe because package(s)
Microsoft.XAMLControlsGallery Microsoft.WindowsCalculator Microsoft.WindowsAlarms currently depends on the framework
Steps to reproduce the bug

Update Microsoft.UI.Xaml to latest version
Run Powershell script created by Visual studio to install the app
3.. Get error described above

Expected behavior
App should be installed and handle the fact that a referenced package is already installed.
Screenshots

Version Info
Microsoft.UI.Xaml.2.0_2.1810.18003.0_x64__8wekyb3d8bbwe
Windows 10 version:

April 2018 Update (17134)

Device form factor:

Desktop

Additional context

I asked around and it sounds like the store may have re-signed the framework package during submission so what came down with the installed apps from the store may in fact be different from what's in the nuget package. I will investigate further.
To unblock yourself you can use the prerelease version of the package for development for now.

yeah, I rolled back to a previous version to unblock.

FWIW the 2.1 prerelease would also work (and get you more recent bug fixes).

I just published a nuget package which should have this resolved. I was able to repro the issue locally and with this package I can now produce packages that successfully sideload.
Please try version 2.0.181018003.1 from nuget.org.