Skip to content

Commit

Permalink
initial table handling; just create a second messagix client
Browse files Browse the repository at this point in the history
  • Loading branch information
JJTech0130 committed Jul 5, 2024
1 parent 72f27ec commit b46fd39
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 26 deletions.
2 changes: 1 addition & 1 deletion messagix/instagram.go
Original file line number Diff line number Diff line change
Expand Up @@ -229,7 +229,7 @@ func (ig *InstagramMethods) RegisterPushNotifications(endpoint string) error {
return nil
}

func (ig *InstagramMethods) FetchFBID(currentUser types.UserInfo, tbl *table.LSTable) (int64, error) {
func (ig *InstagramMethods) ExtractFBID(currentUser types.UserInfo, tbl *table.LSTable) (int64, error) {
var newFBID int64

for _, row := range tbl.LSVerifyContactRowExists {
Expand Down
23 changes: 13 additions & 10 deletions pkg/connector/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -105,22 +105,25 @@ func (m *MetaClient) handleTableEvent(tblEvt any) {
}

func (m *MetaClient) Connect(ctx context.Context) error {
if m.client == nil {
log := m.login.User.Log.With().Str("component", "messagix").Logger()
client := messagix.NewClient(m.cookies, log)
m.client = client
// We have to call this before calling `Connect`, even if we don't use the result
_, _, err := m.client.LoadMessagesPage()
if err != nil {
return fmt.Errorf("failed to load messages page: %w", err)
}
log := m.login.User.Log.With().Str("component", "messagix").Logger()

client := messagix.NewClient(m.cookies, log)
m.client = client

_, initialTable, err := m.client.LoadMessagesPage()
if err != nil {
return fmt.Errorf("failed to load messages page: %w", err)
}

m.handleTable(initialTable)

m.client.SetEventHandler(m.eventHandler)
err := m.client.Connect()

err = m.client.Connect()
if err != nil {
return fmt.Errorf("failed to connect to messagix: %w", err)
}

err = m.Update(ctx)
if err != nil {
return err
Expand Down
9 changes: 0 additions & 9 deletions pkg/connector/connector.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@ import (
"context"

"maunium.net/go/mautrix/bridgev2"

"go.mau.fi/mautrix-meta/messagix"
)

type MetaConnector struct {
Expand Down Expand Up @@ -79,17 +77,10 @@ func (m *MetaConnector) Start(ctx context.Context) error {
}

func (m *MetaConnector) LoadUserLogin(ctx context.Context, login *bridgev2.UserLogin) error {
return m.LoadUserLoginWithClient(ctx, login, nil)
}

func (m *MetaConnector) LoadUserLoginWithClient(ctx context.Context, login *bridgev2.UserLogin, client *messagix.Client) error {
cli, err := NewMetaClient(ctx, m, login)
if err != nil {
return err
}
if client != nil {
cli.client = client
}
login.Client = cli
return nil
}
8 changes: 2 additions & 6 deletions pkg/connector/login.go
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ func (m *MetaCookieLogin) SubmitCookies(ctx context.Context, strCookies map[stri

id := user.GetFBID()
if client.Instagram != nil {
id, err = client.Instagram.FetchFBID(user, tbl)
id, err = client.Instagram.ExtractFBID(user, tbl)
if err != nil {
return nil, fmt.Errorf("failed to fetch FBID: %w", err)
}
Expand Down Expand Up @@ -148,11 +148,7 @@ func (m *MetaCookieLogin) SubmitCookies(ctx context.Context, strCookies map[stri
"cookies": c,
},
},
}, &bridgev2.NewLoginParams{
LoadUserLogin: func(ctx context.Context, login *bridgev2.UserLogin) error {
return m.Main.LoadUserLoginWithClient(ctx, login, client)
},
})
}, nil)
if err != nil {
return nil, fmt.Errorf("failed to save new login: %w", err)
}
Expand Down

0 comments on commit b46fd39

Please sign in to comment.