Skip to content

Commit 6be1fce

Browse files
authored
[#4!0] HomeView의 LoadingView를 즉시 뜨도록 수정한다 (#413)
* refactor: HomeView의 모든 LoadingView는 딜레이 없이 뜨도록 개선 * ci: 수동으로 TestFlight 업로드가 가능하도록 수정
1 parent c522647 commit 6be1fce

2 files changed

Lines changed: 26 additions & 11 deletions

File tree

.github/workflows/testflight.yml

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,16 @@
11
name: iOS TestFlight
22

33
on:
4+
workflow_dispatch:
5+
inputs:
6+
upload_to_app_store_connect:
7+
description: Upload to App Store Connect
8+
required: true
9+
default: "false"
10+
type: choice
11+
options:
12+
- "false"
13+
- "true"
414
pull_request:
515
types:
616
- closed
@@ -25,16 +35,21 @@ permissions:
2535

2636
jobs:
2737
testflight:
28-
if: github.event.pull_request.merged == true && github.event.pull_request.base.ref == 'develop' && (contains(github.event.pull_request.labels.*.name, 'qa') || contains(github.event.pull_request.labels.*.name, 'qa-local'))
38+
if: github.event_name == 'workflow_dispatch' || (github.event.pull_request.merged == true && github.event.pull_request.base.ref == 'develop' && (contains(github.event.pull_request.labels.*.name, 'qa') || contains(github.event.pull_request.labels.*.name, 'qa-local')))
2939
runs-on: macos-latest
3040
timeout-minutes: 45
3141

3242
steps:
3343
- name: Checkout merge commit
44+
if: github.event_name == 'pull_request'
3445
uses: actions/checkout@v5
3546
with:
3647
ref: ${{ github.event.pull_request.merge_commit_sha }}
3748

49+
- name: Checkout current ref
50+
if: github.event_name == 'workflow_dispatch'
51+
uses: actions/checkout@v5
52+
3853
- name: Install private config files
3954
uses: ./.github/actions/install-private-config
4055
with:
@@ -78,10 +93,10 @@ jobs:
7893
- name: Build for TestFlight
7994
run: bundle exec fastlane testflight_build_only
8095

81-
- name: Skip TestFlight Upload for Local QA Label
82-
if: contains(github.event.pull_request.labels.*.name, 'qa-local')
83-
run: echo "Skipping TestFlight upload for PR labeled qa-local"
96+
- name: Skip TestFlight Upload
97+
if: (github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'qa-local')) || (github.event_name == 'workflow_dispatch' && inputs.upload_to_app_store_connect != 'true')
98+
run: echo "Skipping TestFlight upload"
8499

85100
- name: Upload to TestFlight
86-
if: contains(github.event.pull_request.labels.*.name, 'qa') && !contains(github.event.pull_request.labels.*.name, 'qa-local')
101+
if: (github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'qa') && !contains(github.event.pull_request.labels.*.name, 'qa-local')) || (github.event_name == 'workflow_dispatch' && inputs.upload_to_app_store_connect == 'true')
87102
run: bundle exec fastlane upload_testflight_build

DevLog/Presentation/ViewModel/HomeViewModel.swift

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -160,10 +160,10 @@ final class HomeViewModel: Store {
160160
func run(_ effect: SideEffect) {
161161
switch effect {
162162
case .fetchTodoCategoryPreferences:
163-
beginLoading(for: .preferences, mode: .delayed)
163+
beginLoading(for: .preferences, mode: .immediate)
164164
Task {
165165
do {
166-
defer { endLoading(for: .preferences, mode: .delayed) }
166+
defer { endLoading(for: .preferences, mode: .immediate) }
167167
let preferences = try await fetchPreferencesUseCase.execute()
168168
send(.setTodoCategory(preferences.map(TodoCategoryItem.init(from:))))
169169
} catch {
@@ -195,10 +195,10 @@ final class HomeViewModel: Store {
195195
}
196196
}
197197
case .fetchRecentTodos:
198-
beginLoading(for: .recentTodos, mode: .delayed)
198+
beginLoading(for: .recentTodos, mode: .immediate)
199199
Task {
200200
do {
201-
defer { endLoading(for: .recentTodos, mode: .delayed) }
201+
defer { endLoading(for: .recentTodos, mode: .immediate) }
202202
let page = try await fetchRecentTodos()
203203
let items = page.items
204204
.filter { $0.createdAt != $0.updatedAt }
@@ -243,10 +243,10 @@ final class HomeViewModel: Store {
243243
}
244244
}
245245
case .fetchWebPages:
246-
beginLoading(for: .webPage, mode: .delayed)
246+
beginLoading(for: .webPage, mode: .immediate)
247247
Task {
248248
do {
249-
defer { endLoading(for: .webPage, mode: .delayed) }
249+
defer { endLoading(for: .webPage, mode: .immediate) }
250250
let pages = try await fetchWebPagesUseCase.execute("")
251251
send(.updateWebPages(pages.map { WebPageItem(from: $0) }))
252252
} catch {

0 commit comments

Comments
 (0)