Skip to content

Commit d2a0b8c

Browse files
committed
feat(BRIDGE-487): update go to 1.26.1
1 parent fdbe905 commit d2a0b8c

17 files changed

Lines changed: 49 additions & 40 deletions

File tree

.github/workflows/pull-request.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@ jobs:
1414
- name: Get sources
1515
uses: actions/checkout@v4
1616

17-
- name: Set up Go 1.24.4
17+
- name: Set up Go 1.26.1
1818
uses: actions/setup-go@v5
1919
with:
20-
go-version: "1.24.4"
20+
go-version: "1.26.1"
2121

2222
- name: Run go mod tidy
2323
run: go mod tidy
@@ -32,7 +32,7 @@ jobs:
3232
- name: Run govulncheck
3333
uses: ./.github/actions/govulncheck
3434
with:
35-
go-version-input: 1.24
35+
go-version-input: 1.26.1
3636
go-package: ./...
3737

3838
- name: Run tests

connector/dummy.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import (
1212
"github.com/ProtonMail/gluon/constants"
1313
"github.com/ProtonMail/gluon/imap"
1414
"github.com/ProtonMail/gluon/internal/ticker"
15-
"github.com/bradenaw/juniper/xslices"
15+
"github.com/ProtonMail/gluon/internal/utils"
1616
"github.com/sirupsen/logrus"
1717
"golang.org/x/exp/slices"
1818
)
@@ -391,23 +391,23 @@ func (conn *Dummy) validateUpdate(oldName, newName []string) error {
391391
}
392392

393393
func removeMessageMailboxesUpdatedFromSlice(updates []imap.Update, messageID imap.MessageID) []imap.Update {
394-
return xslices.Filter(updates, func(update imap.Update) bool {
394+
return utils.Filter(updates, func(update imap.Update) bool {
395395
u, ok := update.(*imap.MessageMailboxesUpdated)
396396

397397
return (!ok) || (u.MessageID != messageID)
398398
})
399399
}
400400

401401
func removeMessageFlagsUpdatedFromSlice(updates []imap.Update, messageID imap.MessageID) []imap.Update {
402-
return xslices.Filter(updates, func(update imap.Update) bool {
402+
return utils.Filter(updates, func(update imap.Update) bool {
403403
u, ok := update.(*imap.MessageFlagsUpdated)
404404

405405
return (!ok) || (u.MessageID != messageID)
406406
})
407407
}
408408

409409
func removeMailboxUpdatedFromSlice(updates []imap.Update, mailboxID imap.MailboxID) []imap.Update {
410-
return xslices.Filter(updates, func(update imap.Update) bool {
410+
return utils.Filter(updates, func(update imap.Update) bool {
411411
u, ok := update.(*imap.MailboxUpdated)
412412

413413
return (!ok) || (u.MailboxID != mailboxID)

go.mod

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
module github.com/ProtonMail/gluon
22

3-
go 1.24
4-
5-
toolchain go1.24.13
3+
go 1.26.1
64

75
require (
86
github.com/ProtonMail/go-mbox v1.1.0
@@ -18,7 +16,7 @@ require (
1816
github.com/stretchr/testify v1.8.3
1917
go.uber.org/goleak v1.2.1
2018
golang.org/x/exp v0.0.0-20230510235704-dd950f8aeaea
21-
golang.org/x/sys v0.8.0
19+
golang.org/x/sys v0.32.0
2220
golang.org/x/text v0.9.0
2321
gopkg.in/yaml.v3 v3.0.1
2422
)

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,8 +77,8 @@ golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7w
7777
golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
7878
golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
7979
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
80-
golang.org/x/sys v0.8.0 h1:EBmGv8NaZBZTWvrbjNoL6HVt+IVy3QDQpJs7VRIw3tU=
81-
golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
80+
golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20=
81+
golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
8282
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
8383
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
8484
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=

imap/flags.go

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ package imap
33
import (
44
"strings"
55

6-
"github.com/bradenaw/juniper/xslices"
76
"golang.org/x/exp/maps"
87
"golang.org/x/exp/slices"
98
)
@@ -98,22 +97,22 @@ func (fs FlagSet) ContainsUnchecked(flag string) bool {
9897

9998
// ContainsAny returns true if and only if any of the flags are in the set.
10099
func (fs FlagSet) ContainsAny(flags ...string) bool {
101-
return xslices.IndexFunc(flags, func(f string) bool {
100+
return slices.IndexFunc(flags, func(f string) bool {
102101
return fs.Contains(f)
103102
}) >= 0
104103
}
105104

106105
// ContainsAnyUnchecked returns true if and only if any of the flags are in the set. The flag list is not converted to
107106
// lower case.
108107
func (fs FlagSet) ContainsAnyUnchecked(flags ...string) bool {
109-
return xslices.IndexFunc(flags, func(f string) bool {
108+
return slices.IndexFunc(flags, func(f string) bool {
110109
return fs.ContainsUnchecked(f)
111110
}) >= 0
112111
}
113112

114113
// ContainsAll returns true if and only if all of the flags are in the set.
115114
func (fs FlagSet) ContainsAll(flags ...string) bool {
116-
return xslices.IndexFunc(flags, func(f string) bool {
115+
return slices.IndexFunc(flags, func(f string) bool {
117116
return !fs.Contains(f)
118117
}) < 0
119118
}

internal/backend/connector_updates.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import (
1313
"github.com/ProtonMail/gluon/imap"
1414
"github.com/ProtonMail/gluon/internal/ids"
1515
"github.com/ProtonMail/gluon/internal/state"
16+
"github.com/ProtonMail/gluon/internal/utils"
1617
"github.com/ProtonMail/gluon/rfc822"
1718
"github.com/bradenaw/juniper/parallel"
1819
"github.com/bradenaw/juniper/xslices"
@@ -388,7 +389,7 @@ func (user *user) applyMessagesCreated(ctx context.Context, update *imap.Message
388389
return nil, err
389390
}
390391

391-
toAdd := xslices.Filter(msgList, func(id db.MessageIDPair) bool {
392+
toAdd := utils.Filter(msgList, func(id db.MessageIDPair) bool {
392393
return !slices.Contains(inMailbox, id.InternalID)
393394
})
394395

@@ -536,7 +537,7 @@ func (user *user) setMessageMailboxes(ctx context.Context, tx db.Transaction, me
536537

537538
var updates []state.Update
538539

539-
for _, mboxID := range xslices.Filter(mboxIDs, func(mboxID imap.InternalMailboxID) bool { return !slices.Contains(curMailboxIDs, mboxID) }) {
540+
for _, mboxID := range utils.Filter(mboxIDs, func(mboxID imap.InternalMailboxID) bool { return !slices.Contains(curMailboxIDs, mboxID) }) {
540541
_, update, err := user.applyMessagesAddedToMailbox(ctx, tx, mboxID, []db.MessageIDPair{messageID})
541542
if err != nil {
542543
return nil, err
@@ -545,7 +546,7 @@ func (user *user) setMessageMailboxes(ctx context.Context, tx db.Transaction, me
545546
updates = append(updates, update)
546547
}
547548

548-
for _, mboxID := range xslices.Filter(curMailboxIDs, func(mboxID imap.InternalMailboxID) bool { return !slices.Contains(mboxIDs, mboxID) }) {
549+
for _, mboxID := range utils.Filter(curMailboxIDs, func(mboxID imap.InternalMailboxID) bool { return !slices.Contains(mboxIDs, mboxID) }) {
549550
update, err := user.applyMessagesRemovedFromMailbox(ctx, tx, mboxID, []imap.InternalMessageID{messageID.InternalID})
550551
if err != nil {
551552
return nil, err

internal/backend/user.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -298,7 +298,7 @@ func (user *user) removeState(ctx context.Context, st *state.State) error {
298298
return nil, fmt.Errorf("no such state")
299299
}
300300

301-
messageIDs = xslices.Filter(messageIDs, func(messageID imap.InternalMessageID) bool {
301+
messageIDs = utils.Filter(messageIDs, func(messageID imap.InternalMessageID) bool {
302302
return xslices.CountFunc(maps.Values(user.states), func(other *state.State) bool {
303303
return st != other && other.HasMessage(messageID)
304304
}) == 0
@@ -372,7 +372,7 @@ func (user *user) cleanupStaleStoreData(ctx context.Context) error {
372372
return err
373373
}
374374

375-
idsToDelete := xslices.Filter(storeIds, func(id imap.InternalMessageID) bool {
375+
idsToDelete := utils.Filter(storeIds, func(id imap.InternalMessageID) bool {
376376
_, ok := dbIdMap[id]
377377

378378
return !ok

internal/state/actions.go

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import (
1010
"github.com/ProtonMail/gluon/db"
1111
"github.com/ProtonMail/gluon/imap"
1212
"github.com/ProtonMail/gluon/internal/ids"
13+
"github.com/ProtonMail/gluon/internal/utils"
1314
"github.com/ProtonMail/gluon/observability"
1415
"github.com/ProtonMail/gluon/observability/metrics"
1516
"github.com/ProtonMail/gluon/rfc822"
@@ -249,7 +250,7 @@ func (state *State) actionAddMessagesToMailbox(
249250
return nil, nil, err
250251
}
251252

252-
if remMessageIDs := xslices.Filter(messageIDs, func(messageID db.MessageIDPair) bool {
253+
if remMessageIDs := utils.Filter(messageIDs, func(messageID db.MessageIDPair) bool {
253254
return slices.Contains(haveMessageIDs, messageID.InternalID)
254255
}); len(remMessageIDs) > 0 {
255256
updates, err := state.actionRemoveMessagesFromMailboxUnchecked(ctx, tx, remMessageIDs, mboxID)
@@ -299,7 +300,7 @@ func (state *State) actionAddRecoveredMessagesToMailbox(
299300
return nil, nil, err
300301
}
301302

302-
toAdd := xslices.Filter(messageIDs, func(t db.MessageIDPair) bool {
303+
toAdd := utils.Filter(messageIDs, func(t db.MessageIDPair) bool {
303304
return !slices.Contains(filter, t.InternalID)
304305
})
305306

@@ -509,7 +510,7 @@ func (state *State) actionRemoveMessagesFromMailbox(
509510
return nil, err
510511
}
511512

512-
messageIDs = xslices.Filter(messageIDs, func(messageID db.MessageIDPair) bool {
513+
messageIDs = utils.Filter(messageIDs, func(messageID db.MessageIDPair) bool {
513514
return slices.Contains(haveMessageIDs, messageID.InternalID)
514515
})
515516

@@ -552,7 +553,7 @@ func (state *State) actionMoveMessages(
552553
return nil, nil, err
553554
}
554555

555-
if remMessageIDs := xslices.Filter(messageIDs, func(messageID db.MessageIDPair) bool {
556+
if remMessageIDs := utils.Filter(messageIDs, func(messageID db.MessageIDPair) bool {
556557
return slices.Contains(messageIDsToAdd, messageID.InternalID)
557558
}); len(remMessageIDs) > 0 {
558559
updates, err := state.actionRemoveMessagesFromMailboxUnchecked(ctx, tx, remMessageIDs, mboxToID)
@@ -569,7 +570,7 @@ func (state *State) actionMoveMessages(
569570
return nil, nil, err
570571
}
571572

572-
messagesIDsToMove := xslices.Filter(messageIDs, func(messageID db.MessageIDPair) bool {
573+
messagesIDsToMove := utils.Filter(messageIDs, func(messageID db.MessageIDPair) bool {
573574
return slices.Contains(messageInFromMBox, messageID.InternalID)
574575
})
575576

internal/state/mailbox_fetch.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import (
1414
"github.com/ProtonMail/gluon/imap/command"
1515
"github.com/ProtonMail/gluon/internal/contexts"
1616
"github.com/ProtonMail/gluon/internal/response"
17+
"github.com/ProtonMail/gluon/internal/utils"
1718
"github.com/ProtonMail/gluon/rfc822"
1819
"github.com/bradenaw/juniper/parallel"
1920
"github.com/bradenaw/juniper/xslices"
@@ -177,7 +178,7 @@ func (m *Mailbox) Fetch(ctx context.Context, cmd *command.Fetch, ch chan respons
177178
return err
178179
}
179180

180-
msgsToBeMarkedSeen := xslices.Filter(snapMessages, func(s snapMsgWithSeq) bool {
181+
msgsToBeMarkedSeen := utils.Filter(snapMessages, func(s snapMsgWithSeq) bool {
181182
return s.snapMsg != nil
182183
})
183184

internal/state/mailbox_search.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@ import (
1414
"github.com/ProtonMail/gluon/imap"
1515
"github.com/ProtonMail/gluon/imap/command"
1616
"github.com/ProtonMail/gluon/internal/contexts"
17+
"github.com/ProtonMail/gluon/internal/utils"
1718
"github.com/ProtonMail/gluon/rfc5322"
1819
"github.com/ProtonMail/gluon/rfc822"
1920
"github.com/bradenaw/juniper/parallel"
20-
"github.com/bradenaw/juniper/xslices"
2121
"golang.org/x/text/encoding"
2222
)
2323

@@ -78,7 +78,7 @@ func (m *Mailbox) Search(ctx context.Context, keys []command.SearchKey, decoder
7878
return nil, err
7979
}
8080

81-
return xslices.Filter(result, func(v uint32) bool {
81+
return utils.Filter(result, func(v uint32) bool {
8282
return v != 0
8383
}), nil
8484
}

0 commit comments

Comments
 (0)