Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

retrive old changes #14

Closed
wants to merge 42 commits into from

Conversation

HotoRas
Copy link

@HotoRas HotoRas commented Aug 9, 2024

What

Why

Additional info (optional)

closes HotoRas#1
closes HotoRas#2
closes #16

Checklist

  • Read the contribution guide
  • Test working in a local environment
  • (If needed) Add story of storybook
  • (If needed) Update CHANGELOG.md
  • (If possible) Add tests

HotoRas added 2 commits August 9, 2024 19:21
nekoplanet#13 Add changelog by @HotoRas
2215de5 by @HotoRas
c645e8f by @HotoRas
nekoplanet#15 노트 수정 기능 부활 (3트) by @HotoRas
nekoplanet#16 Feat: "다른 계정 추가" 버튼 아래에 "새 계정 추가" 버튼이 살아 있어서 지웠습니다 by @HotoRas
nekoplanet#17 Typecheck Fix by @janghoseo
nekoplanet#21 Fix note edit 2 by @HotoRas
@HotoRas
Copy link
Author

HotoRas commented Aug 9, 2024

각종 테스트 오류는 로그 보고 내일 고치겠읍니다.

@seojangho
Copy link
Collaborator

저도 빌드해서 돌려보고 코멘트 있으면 드릴게유

- 중괄호(bracelets)가 제대로 닫히지 않아 코드 전체가 고장나는 이슈 수정
- scss 형식의 css 파트의 breaking changes 반영
Manual lint application to backend, bubble, reversi and sw
- Auto Lint by Lint Processor
회원가입이 아얘 버튼이 안 뜨게 되어있는데 버튼이 뜨는 상태에서만 테스트 가능한 부분이 있었음
IO용 패치에 대한 체인지로그 삭제
@HotoRas
Copy link
Author

HotoRas commented Aug 13, 2024

테스트 수정 완료, 린팅 완료. 리뷰 가능하고 테스트 필요합니다.

  • 네코쟈라시 운영방침 변경에 따라, 본 수정사항부터는 foxtail에 푸시되지 않고 neko에 바로 푸시됩니다.
    • foxtail은 네코쟈라시의 마스터 브랜치,
    • neko는 고양이별의 마스터 브랜치로 되어 있습니다

@seojangho
Copy link
Collaborator

디비 테이블 정의에서 createdAt 관련 부분은 빼거나 해야 할 것 같아요. (실제로 최초 실행 후 관리자 생성시 이 오류가 납니다.)

ERR  *	[api]	Internal error occurred in admin/accounts/create: column note.createdAt does not exist {
  ep: 'admin/accounts/create',
  ps: { username: 'username', password: 'password' },
  e: {
    message: 'column note.createdAt does not exist',
    code: 'QueryFailedError',
    stack: 'QueryFailedError: column note.createdAt does not exist\n' +
      '    at PostgresQueryRunner.query (/misskey/node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/typeorm/driver/postgres/PostgresQueryRunner.js:219:19)\n' +
      '    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n' +
      '    at async SelectQueryBuilder.loadRawResults (/misskey/node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/typeorm/query-builder/SelectQueryBuilder.js:2192:25)\n' +
      '    at async SelectQueryBuilder.executeEntitiesAndRawResults (/misskey/node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/typeorm/query-builder/SelectQueryBuilder.js:2040:26)\n' +
      '    at async SelectQueryBuilder.getRawAndEntities (/misskey/node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/typeorm/query-builder/SelectQueryBuilder.js:684:29)\n' +
      '    at async SelectQueryBuilder.getMany (/misskey/node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/typeorm/query-builder/SelectQueryBuilder.js:750:25)\n' +
      '    at async UserEntityService.pack (file:///misskey/packages/backend/built/core/entities/UserEntityService.js:307:24)\n' +
      '    at async file:///misskey/packages/backend/built/server/api/endpoints/admin/accounts/create.js:71:25\n' +
      '    at async ApiCallService.call (file:///misskey/packages/backend/built/server/api/ApiCallService.js:382:20)',
    id: '7da7e65a-8551-4288-a8e3-dfa732dafd8e'
  }
}

아마 관련 커밋 revert하면 될것같긴 한데 저도 시간날때 볼게요.

note.createdAt이 psql 쿼리 중 테이블 상에 없어서 오류 발생, 조치를 위해 마이그레이션 추가
syntax error
@laonmofu
Copy link
Collaborator

laonmofu commented Aug 18, 2024

1. column MiUserProfile.hardMutedWords does not exist

  • 해당 오류로 타임라인 및 알림, 드라이브 조회가 일체 되지 않았습니다
  • 네코쟈라시는 io 포크 적용 후 다시 디마이그레이션 하는 경우이므로 일단 DB를 일부 조작하는 방향을 선택했습니다.
  • 다만 네코플래닛 적용 시에는 DB 관련으로 좀 더 주의깊게 생각해볼 필요가 있겠습니다.
  • 임시방편으로 DB 컬럼 일부를 조작한 뒤에는 오류가 나던 기능들은 매끄럽게 잘 동작합니다.

2. 오브젝트 스토리지 탭은 잘 돌아왔습니다.

  • 제어판 패널이 잘 돌아왔스빈다 입력 및 저장도 잘 됩니다.
  • 다만 실질적으로 일부 API가 동작하지 않습니다.
  • S3로 주소 생성은 하나 실질적으로 스토리지에 등록은 안 되는 듯 합니다.
  • 생성된 주소로 들어가면 클플은 404를 띄우네요.

3. 노트 수정 기능은 새로운 오류가 납니다.

  • 노트 수정시 강제 리프래시 기능은 의도대로 잘 동작합니다.
  • 다만 임시방편 정도라고 생각되어 노트 하나만 리프래시 되는 방향으로 수정되어야 할 듯 합니다.
  • 더불어 노트 수정 시 기존 노트가 사라지지 않고, 별개의 노트가 새로 등록되는 듯 합니다. (새 버그)

@HotoRas
Copy link
Author

HotoRas commented Aug 18, 2024

1. column MiUserProfile.hardMutedWords does not exist

  • 해당 오류로 타임라인 및 알림, 드라이브 조회가 일체 되지 않았습니다
  • 네코쟈라시는 io 포크 적용 후 다시 디마이그레이션 하는 경우이므로 일단 DB를 일부 조작하는 방향을 선택했습니다.
  • 다만 네코플래닛 적용 시에는 DB 관련으로 좀 더 주의깊게 생각해볼 필요가 있겠습니다.
  • 임시방편으로 DB 컬럼 일부를 조작한 뒤에는 오류가 나던 기능들은 매끄럽게 잘 동작합니다.

이건 io 포크가 해당 컬럼을 지워서 그렇습니다. 해당 부분은 건드린 게 없으니 냥별 적용 시 문제 없을 겁니다.

2. 오브젝트 스토리지 탭은 잘 돌아왔습니다.

  • 제어판 패널이 잘 돌아왔스빈다 입력 및 저장도 잘 됩니다.
  • 다만 실질적으로 일부 API가 동작하지 않습니다.
  • S3로 주소 생성은 하나 실질적으로 스토리지에 등록은 안 되는 듯 합니다.
  • 생성된 주소로 들어가면 클플은 404를 띄우네요.

클플이랑 주소 생성 규칙이 다른가 보네요. 제가 클플 S3를 만져보지 않았어서 잘 모르겠습니다..

3. 노트 수정 기능은 새로운 오류가 납니다.

  • 노트 수정시 강제 리프래시 기능은 의도대로 잘 동작합니다.
  • 다만 임시방편 정도라고 생각되어 노트 하나만 리프래시 되는 방향으로 수정되어야 할 듯 합니다.
  • 더불어 노트 수정 시 기존 노트가 사라지지 않고, 별개의 노트가 새로 등록되는 듯 합니다. (새 버그)

강제 리프레시는 저도 임시방편이라 생각하고 있습니다. 아얘 현재 노트로 다시 이동시키는 게 나아 보이고요.
새 노트 버그는... 백엔드를 뒤집어 까봐야 할 것 같습니다. 좀 걸리지 않을까요?

@laonmofu
Copy link
Collaborator

2에 대해서는 말이 약간 헷갈렸는데, 그러니까...

  1. 프론트에서 파일을 올리는 행위 자체는 문제가 없습니다.
  2. 미스키 프론트에서는 잘 올라간 취급을 합니다. 오류도 안 나고요.
  3. 그런데 실질적으로 백앤드에서 해당 파일을 옵젝스토리지에 업로드하는 행동은 안 하는 것 같습니다.
  4. 그래서 R2에 들어가면 해당 파일은 찾을 수 없습니다. 링크로 접근해도 404가 뜨고요.
  5. 썸네일도 제공이 안 됩니다. 아예 미스키에서도 열 수가 없다고 뜨네요.

아마 근데 이도 io 포크에서 옵젝스토리지 기능이 빠졌다가 돌아온 부작용같습니다. 아마 건드린 게 없다면 네코플래닛에서는 잘 작동할테니 네코쟈라시만의 숙제가 될 것 같기도 하고요.

@laonmofu
Copy link
Collaborator

노트 수정 기능의 경우 (없는 기능을 덧붙이는 것이라서) 기간이 오래 걸려도 좋으니 편하게 작업해주셨으면 좋겠습니다.

@HotoRas
Copy link
Author

HotoRas commented Aug 20, 2024

노트 수정 기능에서 새 노트가 튀어나오는 문제는 new MiNote()를 호출하기 때문인 거로 보이는데, 확인 한 번 다시 해 볼게요. 굳이 new MiNote()를 안 쓰고도 가능할 것 같아서.

강제 리프레시는 페이지 전체가 새로고침되는 거니까... 노트 수정이 끝나면 작성한 노트로 이동하도록 변경할 예정입니다. MiNote.id값을 조회하면 되니까 큰 어려움은 없을 거에요.

pnpm-lock.yaml이 변경되었습니다. 빌드 전 pnpm cleanall; pnpm i 명령을 꼭 실행해주세요.
@HotoRas
Copy link
Author

HotoRas commented Sep 8, 2024

Lint is failing on node 22

Lint가 node 22에서 계속 실패하는 것으로 확인되어 있는데, EsLint가 node 20에서는 사용 가능하지만 node 22에서 제거된 assert에 여전히 의존하고 있어서 실패하는 것입니다.
이 오류는 EsLint-Typescript 모듈이 node 22에 대응하고 node 18을 지원하지 않는 업데이트를 내기 전까지 유효합니다.

@HotoRas
Copy link
Author

HotoRas commented Sep 16, 2024

Pull request now ready to review (3rd)

staging fixes:

  • Note edit function works funky
  • Note edit function doesn't federate

seojangho and others added 7 commits September 16, 2024 23:26
알려진 버그: canEditNote 권한이 없는 사용자에게도 "Edit" 메뉴가 보이는 상태일거에요.

그 외에는 잘 작동하는것 같음
@HotoRas
Copy link
Author

HotoRas commented Sep 16, 2024

Pull Request ready to Merge

Stages

  • Note edit fully works
    • Federate TO apub
    • Federate FROM apub
    • Update and go
    • Hide if no perm
  • Node 22
    • Just works
  • Works on their computer
  • Make docker image

@HotoRas
Copy link
Author

HotoRas commented Sep 16, 2024

관련 이슈 모두 Closed as Completed로 표시했습니다. 진짜 머지만 남았네요
(도커 이미지도 있음)

@HotoRas
Copy link
Author

HotoRas commented Sep 17, 2024

나중에 다시 (작업은 완료!)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

Update to node 22 [nekoplanet#14] 왜 안 되는데 [nekoplanet] node.js 버전 업데이트?
5 participants