jaegertracing / jaeger-ui

Web UI for Jaeger
http://jaegertracing.io/
Apache License 2.0
1.11k stars 475 forks source link

Upgrade React version - LFX Mentorship #998

Closed yurishkuro closed 8 months ago

yurishkuro commented 1 year ago

For the application process please refer to this issue.

ShaswatPrabhat commented 1 year ago

Is this dependent on other upgrades like the ones we have for graph libs ? @yurishkuro

I can analyze the deps to begin with otherwise.

yurishkuro commented 1 year ago

@ShaswatPrabhat I don't know

yurishkuro commented 1 year ago

I think #1173 is only part of the story. A lot of dependabot attempts to upgrade other deps are failing, and among them several are failing due to an indirect upgrade of @types/react (e.g. from "16.8.7" to "16.14.34"), which causes a lot of type compatibility errors. I assume the versioning of @types/react should match that of React itself, i.e. we need to target @types/react@18.x

mszabo-wikia commented 1 year ago

Looks like there's a fun issue... the jaeger-ui subpackage is relying on a transitive dependency on @types/react for its typechecking. This is currently locked to version 16, and yarn by default hoists it to the root. The current TypeScript has no qualms with this, but TypeScript >= 3.7 starts to complain that there are newer React typings in Plexus' dependencies which aren't compatible with typings in some of the older dependencies for jaeger-ui such as antd or react-router-dom. The typings were updated for React 18 on the antd v4 release line, but that one won't work with TypeScript 3.5.3.

I'm thinking we could roll back the react typing versions for now and try to see how far ahead we can get with a TS upgrade.

yurishkuro commented 1 year ago

Another blocker will be the use of Enzyme in unit tests, which is not compatible with React 18. https://testing-library.com/docs/react-testing-library/migrate-from-enzyme/

kirtanchandak commented 1 year ago

Hey, would love to work on this @yurishkuro in LFX'23 cohort, can you tell me the approach, so that start working on this issue!

yurishkuro commented 1 year ago

@kirtanchandak I cannot suggest an approach, that's part of the project to figure out. There are a lot of open PRs by dependabot that do not pass CI for various reasons. One option would be to investigate each PR and address the issues blocking the upgrade. At some point it will probably lead you into some other dependency that is not upgraded and thus blocking the first upgrade, and so on. It would be nice to work out a full dependency tree for the upgrade path. Eventually upgrades will require code changes and migration (e.g. the enzyme issue https://github.com/jaegertracing/jaeger-ui/issues/998#issuecomment-1590236088), so having a full dependency tree would be super useful as we can focus on the leaves and address those (with code changes or whatever), thus unblocking other upgrades.

Some part of this investigation was done by @mszabo-wikia in #1261.

anshgoyalevil commented 1 year ago

@yurishkuro

I would like to work on this issue under LFX Fall 2023. Should I go ahead and dig out the issue and further create child issues to tackle it bit by bit.

anshgoyalevil commented 1 year ago

Further, I would suggest moving docs to Docasauras site under a subdomain docs.jaegertracing.io It would help introduce i18n support and Algolia search features.

yurishkuro commented 1 year ago

@anshgoyalevil please see the parent issue for guidelines

anj20 commented 1 year ago

@yurishkuro Is this issue open. Can I work on it under LFX Fall.

yurishkuro commented 1 year ago

@anj20 you need to submit an application to LFX if you want to participate as a mentee. For the application process please refer to https://github.com/jaegertracing/jaeger/issues/4457.

TiwariAbhishek23 commented 1 year ago

Hi @yurishkuro, I am interested in applying for this project and have a question regarding the submission process. Do I need to submit a full proposal outlining my approach and understanding instead of a simple CV? Also, I would like to know if there are any pre-tasks or contributions required before the start of the project for selection. Thank you for your assistance.

yurishkuro commented 1 year ago

Do I need to submit a full proposal outlining my approach and understanding instead of a simple CV?

You have better chances to have your application selected with a proposal than with CV only.

pre-tasks or contributions required before the start of the project for selection

Not required, but recommended, simply because other candidates are doing that and it plays into the selection process.

PranitPatil03 commented 1 year ago

Hello @yurishkuro 👋

I'm Pranit Patil, a student pursuing a Bachelor's degree in Computer Science at Mumbai University. Recently, I completed my internship at hubx.ai, where I worked as a full-stack developer intern. Prior to that, I gained experience as a front-end developer intern at Tech Cryptors.

My skills include JavaScript, ReactJS, Node, Express, MongoDB, and CSS libraries, such as Bootstrap. Through various projects, including full-stack ones, I have honed my expertise in full-stack development

I'm keen on participating in the LFX mentorship program and becoming an active community member. I kindly request your assistance in guiding me through project discussions.

Thank you.

hirentimbadiya commented 1 year ago

Greetings @yurishkuro , @yashrsharma44 , I'm eager to participate in the upcoming LFX mentorship for Fall 2023. As an open-source contributor and member at Layer5, I possess expertise in JavaScript, React.js, and Next.js. Additionally, I also know fundamentals of Golang and TypeScript, and I have familiarity with Docker and Kubernetes. Furthermore, I have a strong understanding of essential computer science topics such as object-oriented programming, data structures, and more. I look forward to contributing my skills and knowledge to this exciting project.

himanshuaggar commented 1 year ago

Hi @yurishkuro , I hope this message finds you in good health. I would really love to work with you and contribute to the CNCF - Jaeger community for the LFX'23 Fall term. I have a solid understanding of various technologies such as React, NextJS, Typescript, NPM, vite, MERN etc. I have also previously published my own small npm package and know how to manage and publish npm packages and managing dependencies. I feel I will be a great fit for this project.

Thanks!

sagar-kashyap commented 1 year ago

Hi @yurishkuro and @yashrsharma44 I am genuinely interested in taking part in the LFX mentorship for fall 2023 as a mentee. I have already applied on the lfx mentorship portal too. I have 6 months of experience as a intern in web development and specialize in React.js, Javascript, Typescript, NPM and really familiar with git and github commands. I want to start my career in open source community and this program will provide a great push in my career. Looking forward to apply my skills in contributing to this exciting project.

malaviya-parth commented 1 year ago

Greetings, @yurishkuro and @yashrsharma44 I am enthusiastic to work with this issue of upgrading the React version. I have a very good working experience with Javascript, React.js, Node.js, typescript, etc. Besides this, I have very strong knowledge of computer science fundaments which includes Data Structures, Algorithms, Computer Networks, Operating Systems, and Database Management Systems. I have been working remotely being an Intern as a Full-Stack developer at a startup and have gained immense knowledge in React.js, Node.js, Express, Material UI, TailwindCss, MongoDB, etc. essential libraries. Would be glad to contribute to this project. P.S. I have already applied as well for contributing to this project under LFX mentorship Sep-Nov 2023.

Sanket-0510 commented 1 year ago

Hey @yurishkuro and @yashrsharma44, I'm really excited about this project because it aligns perfectly with my tech skills. I've got solid experience in JavaScript tech like React, Node.js, Express, and MongoDB. I'm also diving into Typescript. My foundation in computer networking, data structures, algorithms, and databases is strong. I've got a portfolio full of projects that showcase my current tech stack. I've been part of multiple hackathons, so I'm comfortable collaborating and communicating in a team. I'm eager to contribute to this project and will give my best when putting together the proposal and CV. Looking forward to this opportunity! Thanks!

yashrsharma44 commented 1 year ago

Hi @Sanket-0510 @malaviya-parth @sagar-kashyap @himanshuaggar @hirentimbadiya @PranitPatil03,

Thanks for reaching out, glad that we have so many folks interested in working on this project :) I would encourage you to take a look at - (1) GH-4457 for understanding the application process in Jaeger (2) LFX Official Information - https://github.com/cncf/mentoring/blob/main/programs/lfx-mentorship/README.md#program-guidelines

alwinsDen commented 1 year ago

Hi @yurishkuro @yashrsharma44,

I am Alwin T Varghese, an XR Open Source fellow, one among only 100 individuals selected for the program throughout India. During the fellowship, I built an editor introducing AR experiences for fashion designers, enabling them to upload 3D fashion models, edit various parts according to their preferences, alter designs using custom materials, add annotations directly to the model, and easily share their work with peers (also implemented an HD render feature). All of this was developed using React Three Fiber, TypeScript, and styled-components. Throughout the project's development from scratch, I have contributed nearly 170+ commits and also took the lead in developing the majority of the backend code using Node.js. I established a pipeline for the automatic deployment of the frontend to an S3 bucket and set up the backend on an EC2 instance. I am known for my determination to accomplish tasks without requiring extensive guidance, and I don't consider the work complete until I've achieved a state of perfection.

Check out my work at XR Open Source here: https://github.com/alwinsDen/XROS-Fellowship-Contrib-2023.git

yurishkuro commented 1 year ago

@anshgoyalevil's application was selected for this project. Congratulations!

anshgoyalevil commented 1 year ago

Thanks for having me in 🚀 Looking forward to learning a lot throughout the mentorship program under the guidance of you (@yurishkuro) and @yashrsharma44 ❤️

anikdhabal commented 1 year ago

Congrats @anshgoyalevil. There's a lot to learn from you.