Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* refactor: ๋ฆฌ์กํธ ์ฟผ๋ฆฌ ๋ก์ง ์ปค์คํ ํ ๋ถ๋ฆฌ (#482) * refactor: ๋ถํ์ํ๊ฒ Feed ํ์ด์ง์ SpecificPage ์์ ํ ์คํํ๋ ๊ฒ ์ ๊ฑฐ * refactor: useEffect ์คํ๊ตฌ๋ฌธ์ Early Return ์ถ๊ฐ * refactor: useMutateChannel ํ ๋ถ๋ฆฌ - ์ฑ๋ ๊ตฌ๋ ๊ด๋ จ Muatation ๋ก์ง ํ ์ผ๋ก ๋ถ๋ฆฌ - Settle ์ดํ ๋์ (refetch)์ Props ๋ก ๋ฐ๋๋ก ๊ตฌํ * refactor: ์ ์ฒด ์ฑ๋ ๊ฐ์ ธ์ค๋ useQuery ํ ์ผ๋ก ๋ถ๋ฆฌ * refactor: useMutateBookmark ํ ์์ฑ ๋ฐ ์ ์ฉ * refactor: useGetInfiniteBookmarks ํ ์์ฑ ๋ฐ ์ ์ฉ * refactor: useGetInfiniteMessages ํ ์์ฑ ๋ฐ ์ ์ฉ - ๊ธฐ์กด์ ๋ฉ์์ง ๋ฌดํ ์คํฌ๋กค ์์ฒญํ๋ ํ์ด์ง์์ ์ผ๊ด์ ์ผ๋ก ์ฌ์ฉํ๋๋ก ์ ์ฉ - channelId, keyword, date ๋ฅผ ์ต์ ๋ ํ๋กญ์ค๋ก ๋ฐ๋๋ก ํจ * refactor: useGetInfiniteReminders ํ ์์ฑ ๋ฐ ์ ์ฉ * refactor: useGetCertification ํ ์์ฑ ๋ฐ ์ ์ฉ * refactor: useSetTargetMessage -> useSetReminderTargetMessage ๋ค์ด๋ฐ ์์ * refactor: slack login url ์์ํ * refactor: hasNavBar ํจ์ ํ์ค๋ก ๋ฆฌํฉํฐ๋ง * refactor: channelId ์ฟผ๋ฆฌ ํ๋ ๊ตฌํ๋ ์ ํธํจ์ ๋ฆฌํฉํฐ๋ง * chore: ์คํ์์ * refactor: ๋ถํ์ํgetPageParam util ํจ์ ์ ๊ฑฐ - ํ ์ผ๋ก ๋ถ๋ฆฌํ์ฌ ์ฌ์ฌ์ฉ ๋ ์ผ์ด ์๊ธฐ ๋๋ฌธ์, ๊ฐ ํ ์์ ์ง์ ํจ์๋ฅผ ์ ์ํ์ฌ ์ฌ์ฉํ๋๋ก ์์ * refactor: @disabled ์ง์ ํ ํ ์คํธ ์ ๊ฑฐ (#487) * chore: ์ด์์ฉ slack app ์ถ๊ฐ ๋ฐ yml ์ค์ ์ ๋ฆฌ (#493) * chore: test์ฉ submodule ์ ๊ฑฐ * chore: submodule ์ ๋ฐ์ดํธ ๋ณ๊ฒฝ - yml ํ์ผ ํต์ผ - local profile์ DB ์ ๋ณด ๋ณ๊ฒฝ - prod์ฉ slack app ์ ๋ณด ์ถ๊ฐ * refactor: ์ฌ๋์์ ์ค๋ ์์ธ๋ฅผ ํ๋ก์ ํธ ์์ธ์ธ SlackApiCallException์ผ๋ก ๋ณํ (#492) * chore: profile ์ค์ ์ค๋ฅ ์ ๋ฐ์ดํธ (#496) * refactor: ์๋น์ค ํ ์คํธ์ DatabaseCleaner ๋์ (#479) * refactor: ์ฌ์ฉํ์ง ์๋ @AutoConfigureMockMvc ์ด๋ ธํ ์ด์ ์ ๊ฑฐ * refactor: ServiceTest์์ DatabaseCleaner ๋์ * refactor: ํ ์คํธ์์ @transactional ์ด๋ ธํ ์ด์ ์ ๊ฑฐ * optimization: ํ๋ก ํธ์๋ ์ฑ๋ฅ ์ต์ ํ (#499) * chore: package.json ์์ - scripts์ build-dev ๋ชจ๋ ์ค์ - ๋ถํ์ํ @babel dependencies ์ ๊ฑฐ - webpack-bundle-analyzer ์ค์น Co-authored-by: moonheekim0118 <[email protected]> * chore: ts config module: esnext๋ก ์์ Co-authored-by: moonheekim0118 <[email protected]> * chore: webpack config ์์ ๋ฐ babelrc ์ ๊ฑฐ - bundle analyzer dev mode์ ์ถ๊ฐ - babel loader ์ ๊ฑฐ Co-authored-by: moonheekim0118 <[email protected]> * chore: Routes.tsx import๋ฌธ ์์ Co-authored-by: moonheekim0118 <[email protected]> * chore: file-loader ์ ๊ฑฐ ํ webpack asset ์ค์ ์ ์ฉ Co-authored-by: moonheekim0118 <[email protected]> * chore: assets ํ์ผ ์ ๋ฆฌ - ๋ถํ์ํ italic font ์ ๊ฑฐ - woff2, ttf ํฐํธ ์ถ๊ฐ - svg ํ์ผ ์ ๊ฑฐ Co-authored-by: moonheekim0118 <[email protected]> * chore: ํ์ผ ํ์ฅ์ ์ค์ (์นํฉ, d.ts) Co-authored-by: moonheekim0118 <[email protected]> * chore: prettier ignore ์ค์ Co-authored-by: moonheekim0118 <[email protected]> * chore: tway air ํฐํธ preload ์ค์ Co-authored-by: moonheekim0118 <[email protected]> * chore: ๋ณ๊ฒฝ๋ ํฐํธ ํฌ๋งท ์ ์ฉ Co-authored-by: moonheekim0118 <[email protected]> * refactor: svgIcon ์ปดํฌ๋ํธ ์์ฑ ๋ฐ ์ ์ฉ Co-authored-by: moonheekim0118 <[email protected]> Co-authored-by: moonheekim0118 <[email protected]> * refactor: ๋ฉ์์ง ์กฐํ ํ ์คํธ ๋ฆฌํฉํ ๋ง (#421) * refactor: ๋ฉ์์ง ์กฐํ ํ ์คํธ ๊ฐ์ * refactor: ์ฝ๋๋ฆฌ๋ทฐ ๋ฐ์ ๋ฐ ์ฝ๋ ๋น๊ต์ฉ ํ ์คํธ ํด๋์ค ์ถ๊ฐ * refactor: ์ฝ๋๋ฆฌ๋ทฐ ๋ฐ์ * refactor: Nested ํด๋์ค๋ฅผ ์ด์ฉํ ์กฐํ ํ ์คํธ ๊ฐ์ * refactor: ์ฝ๋๋ฆฌ๋ทฐ ๋ฐ์(์ด๋ ธํ ์ด์ ์์ ๋ณ๊ฒฝ, DisplayName ๊ฐ์ ) * refactor: ํด๋์ค๋ช ์ MessageServiceTest๋ก ๋ณ๊ฒฝ ๋ฐ ์๊ฐ์ ๋ฐ๋ฅธ ๋ฆฌ๋ง์ธ๋ ํ ์คํธ ์ด๋ * refactor: ์ฑ๋ ๋ชฉ๋ก ์กฐํ API ๊ฐ์ (#495) * refactor: Channel -> ChannelResponse ๋ณํ ๋ก์ง ๊ฐ์ * test: ๋ถํ์ํ ๋ณ์ ์ ์ธ ์ ๊ฑฐ * refactor: ์ฑ๋ ๋ชฉ๋ก ์กฐํ ๋ก์ง ChannelSubscriptionService์์ ChannelService๋ก ์ด๋ * test: ChannelSubscriptionServiceTest์์ ChannelService ์์กด ์ ๊ฑฐ * test: ์ฑ๋ ์ ์ฒด ์กฐํ ํ ์คํธ ์ถ๊ฐ * refactor: Map ๋์ Set ํ์ฉ * style: ๊ฐํ ๋ฌธ์ ์ ๊ฑฐ ๋ฐ ๋ฉ์๋ ์์ ๋ณ๊ฒฝ * refactor: ChannelService์ ChannelCreateService ๋ถ๋ฆฌ * test: DB Cleaner ์ ์ฉ * test: DB Cleaner ๋๋ฝ๋ ๊ณณ ์ถ๊ฐ * refactor: Service Layer์์ Domain์ด ์๋ DTO ๋ฐํ * style: ์ค๋ฐ๊ฟ ๊ฐ์ * refactor: ํค๋ ํ ํฐ๊ฐ ์ถ์ถ ํด๋์ค๋ฅผ auth ํจํค์ง๋ก ์ด๋ (#504) * refacotor: ์ ๊ทผ์ ์ด์ ์์ (#512) * feat: SlackApiCallException ๋ก๊น ๋ฉ์์ง ์ถ๊ฐ (#498) * feat: ์ฌ๋ api ํธ์ถ ์์ธ ๋ฐ์ ์ ์๋ฌ ๋ฉ์์ง ์ถ๊ฐ ๋ฐ ๋ก๊น * refactor: ๋ก๊น ๋ฉ์์ง ์์ํ, ์๋ต์ฝ๋ 500 ์ง์ * feat: ChannelCreateService ์ ์ฌ๋ ํธ์ถ ์์ธ์ ๋ฉ์์ง ์ถ๊ฐ * feature: submodule ๋ฒ์ ์ jenkinsfile์ ์ญ์ ํ ๋ฒ์ ์ผ๋ก ์ ๊ทธ๋ ์ด๋ (#510) * refactor: ๋ฉ์์ง/๋ถ๋งํฌ/๋ฆฌ๋ง์ธ๋ ์กฐํ API ์คํ ๋ณ๊ฒฝ (#513) * refactor: ๋ฉ์์ง ์กฐํ ์๋ต isLast๋ฅผ hasPast๋ก ๋ณ๊ฒฝ, isFuture ์ถ๊ฐ * refactor: ๋ฉ์์ง api ๋ณ๊ฒฝ ๊ด๋ จ ํ ์คํธ ์์ * refactor: ๋ถ๋งํฌ์ isLast ํ๋๋ฅผ hasPast๋ก ๋ณ๊ฒฝ * refactor: ๋ฆฌ๋ง์ธ๋ ์กฐํ ์ isLast ํ๋๋ฅผ hasFuture๋ก ๋ณ๊ฒฝ * refactor: ํ์์๋ @JsonProperty ์ ์ธ ์ ๊ฑฐ * refactor: has~ ํ๋์ getter ๋ช ๊ฐ์ , ์คํ ์ ์ * refactor: ๋ฉ์์ง/๋ถ๋งํฌ/๋ฆฌ๋ง์ธ๋ ์กฐํ API ์คํ ๋ณ๊ฒฝ ๋์ (#515) * refactor: ๋ถํ์ํ ์ฃผ์ ์ ๊ฑฐ * refactor: ๋ถ๋งํฌ get API ์คํ ๋ณ๊ฒฝ ๋์ - isLast -> hasPast ๋ก ์์ ํ์ฌ nextPageParam ํจ์ ๊ตฌํ - bookmark ์๋ต๊ฐ ํ์ interface ์์ * chore: ๋จ์ ํ ์คํธ ์์ ์ฃผ์์ฒ๋ฆฌ * refactor: ๋ฆฌ๋ง์ธ๋ get API ์คํ ๋ณ๊ฒฝ ๋์ - isLast -> hasFuture ๋ก ์์ ํ์ฌ nextPageParam ํจ์ ๊ตฌํ - Reminder ์๋ต๊ฐ ํ์ interface ์์ * refactor: ๋ฉ์์ง get API ์คํ ๋ณ๊ฒฝ ๋์ - isLast -> hasFuture ๋ก ๋ณ๊ฒฝํ์ฌ previousPageParam ํจ์ ๊ตฌํ - isLast -> hasPast ๋ก ๋ณ๊ฒฝํ์ฌ nextPageParam ํจ์ ๊ตฌํ - ๋ฉ์์ง ์๋ต๊ฐ interface ์์ * fix: Storybook ๋น๋ ์คํจ ํด๊ฒฐ - ์ญ์ ๋ svg ํ์ผ Import ๋ฌธ ์ ๊ฑฐ, ์ปดํฌ๋ํธ svg ๋ก ๋์ฒด * fix: font ์ ์ฉ๋์ง ์๋ ๋ฌธ์ ํด๊ฒฐ - font-face ๋ด ์คํ ์์ * refactor: HashMap ๊ฐ์ ํ๋ณํ ์ ๊ฑฐ (#508) * refactor: HashMap ๊ฐ์ ํ๋ณํ ๋์ ObjectMapper์ DTO ์ฌ์ฉ * refactor: challenge ๊ฒ์ฆ ๋ฐฉ์ ๋ณ๊ฒฝ * refactor: code smell ์ ๊ฑฐ - final ํค์๋ ์ถ๊ฐ - ๋ถํ์ํ import ์ ๊ฑฐ - util ํด๋์ค์์ private ์์ฑ์ ์์ฑ - deprecated ์ ๊ฑฐ * test: toJson ์์น ๋ณ๊ฒฝ * refactor: json ๋ณํ ์คํจ ์ ์ปค์คํ Exception ์ ์ฉ * test: JsonUtils ํ ์คํธ ์ฝ๋ ์ถ๊ฐ * refactor: DTO ์ด๋ฆ ๋ณ๊ฒฝ * refactor: ControllerDto -> ServiceDto ๋ณ๊ฒฝ ๋ก์ง ControllerDto๋ก ์ด๋ * feat: ์ ์ฅํ๋ ์ด๋ฏธ์ง 512์์ 48๋ก ๋ณ๊ฒฝ * test: json์ผ๋ก ์ ํํ๋ ๋ก์ง ๋ฉ์๋์์ ์ ๊ฑฐ * refactor: ๋ฏธ์ฌ์ฉ import ์ ๊ฑฐ * style: ์ปจ๋ฒค์ ๋ง์ถค - ๋ถํ์ํ ๊ณต๋ฐฑ ์ ๊ฑฐ - ๋ถํ์ํ import ์ ๊ฑฐ - ์ด๋ ธํ ์ด์ ์์ ๋ณ๊ฒฝ - InvalidJsonRequestException ๋ก๊น ๋ฉ์์ง ๋ณ๊ฒฝ * test: toJson() ๋ก์ง ๋ถ๋ฆฌ * fix: ์ฌํ๋ฆฌ์์ ๋ก๊ทธ์ธ ๋์ง ์๋ ๋ฒ๊ทธ ํด๊ฒฐ (#518) * refactor: ๋ถํ์ํ ์ฃผ์ ์ ๊ฑฐ * fix: ์ฌํ๋ฆฌ์์ ๋ก๊ทธ์ธ๋์ง ์๋ ๋ฒ๊ทธ ํด๊ฒฐ - ์ฌํ๋ฆฌ์์ ์ง์ํ์ง ์๋ ์ ๊ทํํ์ ๋ฌธ๋ฒ (look behind) ์ ๊ฑฐ - ๋์ฒด ๊ฐ๋ฅํ ์ ๊ทํํ์ ๋ฐ ๋ก์ง์ผ๋ก ๋์ฒด * fix: ๋ฌ๋ ฅ ์ปดํฌ๋ํธ ๋ฏธ๋ ๋ ์ง ๋ฐ ๋น ๊ณต๊ฐ ํด๋ฆญ์ ๋ฐ์ดํฐ ์์ฒญ๋๋ ๋ฒ๊ทธ ์์ (#519) * refactor: ๋งค๋ฒ ์์ฑ๋๋ date ๊ฐ์ฒด ์ต์ํ์ผ๋ก ์์ฑ๋ ์ ์๋๋ก ๋ณ๊ฒฝ * refactor: isBlank, isFuture ์ธ ๊ฒฝ์ฐ ํด๋ฆญ ์ด๋ฒคํธ ๋ฐ์ํ์ง ์๋๋ก css ์์ * fix: isBlank, isFuture์ธ day ํด๋ฆญ์ link ์ด๋๋๋ ๋ฒ๊ทธ ํด๊ฒฐ * refactor: reminderModal component ๋ฆฌํฉํฐ๋ง (#521) * refactor: useSetReminder hook ๋ถ๋ฆฌ - useDatePicker, useTimePicker๋ก ๋ถ๋ฆฌ Co-authored-by: moonheekim0118 <[email protected]> * refactor: ReminderModal component ๋ถ๋ฆฌ - DatePicker, TimePicker ๋ก ๋ถ๋ฆฌ Co-authored-by: moonheekim0118 <[email protected]> * refactor: DatePicker, TimePicker ์คํฌ๋กค ์์น ๋ฒ๊ทธ ์์ ๋ฐ string literal, magic number ์์ํ Co-authored-by: moonheekim0118 <[email protected]> Co-authored-by: moonheekim0118 <[email protected]> * refactor: ์ต์๋จ์ผ๋ก ์คํฌ๋กค์ ์์ง์ด๋ ๋ก์ง ๋ฆฌํฉํฐ๋ง (#527) * feat: ์ด๊ธฐ ๋ ๋๋ง ๋ฐ ์์กด์ฑ ๋ฐฐ์ด ๋ด ์ํ๊ฐ ๋ฐ๋์์ ๋ ์คํฌ๋กค ์์น๋ฅผ ์ต์๋จ์ผ๋ก ๋ณ๊ฒฝํ๋ ๋ก์ง ํ ์ผ๋ก ์์ฑ * refactor: ๋ฐ๋ณต๋๋ ๋ก์ง useScrollToTop ํ ์ ์ฉ * fix: ์,๋ถ,์ด๊ฐ ๊ฐ์ ๋ฉ์์ง๋ฅผ ์กฐํํ๋ ๊ฒฝ์ฐ ์ ๋ ฌ ์์๊ฐ ๋ฐ๋๋ ํ์ (#528) * feat: postedDate์ ์ปฌ๋ผ ํ์ ๋ณ๊ฒฝ * feat: LocalDateTime ๋ณํ ์ milliSecond ๋จ์๋ก ๋ณ๊ฒฝ * test: ์ฌ๋ฐ๋ฅธ ํ ์คํธ ๋ฐ์ดํฐ ์ธํ * refacotor: ์ฟผ๋ฆฌ์์ ๋ถํ์ํ left outer join ์ญ์ (#531) * fix: Drawer ๋ด๋ถ ํด๋ฆญ ์, Drawer ๊ฐ ๋ซํ๋ ๋ฌธ์ ํด๊ฒฐ (#529) * refactor: useOuterClick ํ ์์ - props ๋ก ๋ด๋ ค์ค ์ซ์์ ๋ฐ๋ผ์ innerRef ๋ฅผ n๊ฐ ์์ฑ ํ ์ ์๋๋ก ์์ * fix: Drawer ๋ด๋ถ ํด๋ฆญ ์, Drawer ๋ซํ๋ ๋ฌธ์ ํด๊ฒฐ - ๋ณ๊ฒฝ๋ useOuterClick ํ ์ ์ฉํ์ฌ ์ฌ๋ฌ๊ตฐ๋ฐ์ innerRef ์ ์ฉ ํ ์ ์๋๋ก ์์ * refactor: useOuterClick ํ ์ ์ฉ * refactor: useOuterClick ์์ props ๋ก ๋ฐ์ ref ์ซ์๊ฐ 0์ผ ๊ฒฝ์ฐ, ๊ธธ์ด๊ฐ 1๊ฐ์ธ ๋ฐฐ์ด์ ๋ํดํธ๋ก ์์ฑํ๋๋ก ์์ * fix: useOuterClick์ ์ด๋ฒคํธ ๋ฆฌ์ค๋์์ ๋ถํ์ํ ์กฐ๊ฑด๋ฌธ ์ ๊ฑฐ - Array ์ length ๊ฐ ๋ฌด์กฐ๊ฑด 1๊ฐ ์ด์์ด๊ธฐ ๋๋ฌธ์, ๋ถํ์ํ ๊ฐ๋๋ก ํ๋จ๋์ด ์ ๊ฑฐ * fix: nullish ์ฐ์ฐ์ or ์ฐ์ฐ์๋ก ์์ * refactor: useOuterClick ํจ์์์ innerRef ๋ฐฐ์ด ํฌ๊ธฐ ์ง์ ์ ๊ฐ์ ํ๋๋ก ์์ - requiredRefCount -> requiredInnerRefCount ๋ก ๋ค์ด๋ฐ ์์ - requiredInnerRefCount ํ์ ์ต์ ๋ ์ ๊ฑฐ - requiredInnerRefCount ๊ฐ 0๋ณด๋ค ๊ฐ๊ฑฐ๋ ์์ ๊ฒฝ์ฐ 1๋ก ๊ฐ์ ํ๋๋ก ์์ * refactor: useOuterClick ๋ฐํ ๊ฐ ์ฃผ์ ์์ฑ * refactor: useOuterClick ๋ฐํ๊ฐ ์์ - ๊ธฐ์กด์ ๊ฐ์ฒดํํ๋ก ๋ฐํํ๋ ๊ฒ์ array ๋ก ์์ * refactor: SearchForm component ๋ฆฌ๋ ๋๋ง ์ต์ํ ๋ก์ง ์ถ๊ฐ (#535) * chore: tomcat ์ค์ ์ถ๊ฐ (#533) * feat: Service Layer์์ ์์ฑ๋ DTO ๋ฐํ (#534) * refactor: ChannelSubscriptionService DTO ๋ฐํํ๋๋ก ๋ณ๊ฒฝ * style: ๋ฉ์๋ ์์ CRUD๋ก ๋ณ๊ฒฝ * style: ์ค๋ฐ๊ฟ ๋ณ๊ฒฝ Co-authored-by: hyewoncc <[email protected]> Co-authored-by: yeonLog <[email protected]> Co-authored-by: ๋ด <[email protected]> Co-authored-by: Jaejeung Ko <[email protected]>
- Loading branch information