Skip to content

Commit 21aabaa

Browse files
Lukas Rostblackjack2693jannikgrosm1llaelenagensch
authored
Stable release of 2021 group (#430)
* first steps to implement a working offline mode. Therefor the exsisting object saving of the mails is used. this tries to resolve the issue:"Offline reading of mails #383" * first steps to implement a working offline mode. Therefor the exsisting object saving of the mails is used. this tries to resolve the issue:"Offline reading of mails #383" * fix trying to make loading possible on windows * Fixing MIME-Error and refactoring call stack for fetching an E-Mail-Body * Fixing red test appeared after last session refactoring. * Added CommandStorage for offline mode. * Flagging in offline mode is now possible * small changes to fix some bugs and make the code better * E-Mail flag change now shown in offline-mode * the setting and unsetting of flags is now offline possibe and synced to the server when connected with the internet again. * Add feature to add contacts and contact names to the address book (#396) * Added feature for adding contacts to address book * Contact Objects have been introduced for address book entries. A contact consists of a name and an email address field. Contact names are displayed (additionally to email addresses) in the address book. Tests for contacts and the address book are created/modified accordingly. This commit includes refactoring for adding contacts. * Refactoring for contact names and add-contact feature * Add icons in ICFolderDialog (#401) * adds icons for update, contacts and add account button in ICFolderDialog * move addContactIcon and add newlines * Trying to fix Ubuntu-Test-Failure * All Mails are fetched to hard drive during update or login * Fixed failing test * Feature/offline mode (#398) * first steps to implement a working offline mode. Therefor the exsisting object saving of the mails is used. this tries to resolve the issue:"Offline reading of mails #383" * first steps to implement a working offline mode. Therefor the exsisting object saving of the mails is used. this tries to resolve the issue:"Offline reading of mails #383" * fix trying to make loading possible on windows * Fixing MIME-Error and refactoring call stack for fetching an E-Mail-Body * Fixing red test appeared after last session refactoring. * Added CommandStorage for offline mode. * Flagging in offline mode is now possible * small changes to fix some bugs and make the code better * E-Mail flag change now shown in offline-mode * the setting and unsetting of flags is now offline possibe and synced to the server when connected with the internet again. * Trying to fix Ubuntu-Test-Failure * Refactoring for offline mode * resolve merge conflicts yet again * Loading time is dramatically reduced * Small fixes * Create merge_request_template.md can be selected when creating a merge request * Add feature to show last synchronization time (#400) ## What does this change? Adds the feature to show the last synchronization time in ICFolderDialog dialog title of an ICFolderDialog instance is updated after every successfull update. * Rename merge_request_template.md to pull_request_template.md * Sort the address book by name and mail address (#403) ## What does this change? adds the ability to sort the address book by name and mail address add tests for address book sorting * Equalize button sizes (#408) equalizes the size of the buttons on the navigation panel in ICFolderDialog (they have the same extent now) * remove broken Travis-CI badge and add 2021 team * Refactoring endpoint (#407) Splitted ICEndpoint in ICEndpoint and ICConnectionHandler (splits off direct server communication). Enhances Architecture for online/offline mode switch. * test folder load offline * Splits Login from ICFolderDialog initialization * deletes readFoldersFromDisk * set unitializedAccounts * relieve passwordPromptCallback and accountsComplete * restore multiple account login * emails not read from disk second time in login process * removing uninitializedAccounts instance variable * "production ready" * implements moving of offline emails, not tested yet * still under development, further smooothing out some bugs * Adding MockCommandStorage to fix tests (#414) Added MockCommandStorage to fix failing tests. * Increase test coverage (#412) This adds missing tests for ICAccountInfo, ICFolder and ICEmail. * in development, just to save progress * Merge login into offline_email_move (#416) copy current state of login branch * now the Moving of emails should work properly offline and online, please test at your system before approving. Sould be ready to merge into develop. * finalizing this branch to merge. Especially adressing comments by laugengebaeck, most small fixes without additional features or bugs. Also adding a new dialogTitle for the case the clinets is opened but not updated. * fix spelling mistakes * Access to email account in offline mode (#413) [Feature] Adds the possibility to access offline mode of IMAP Client without being logged in. Splits Login Process from ICFolderDialog initialization. Emails and Folders are loaded from File Storage (structure from last synchronization). Uses the UIManager for password request. Layered structure for calls from UI to interface with returns implemented. Bugs for login fixed (fatal error extracted from login process). Adjusted inital login for editing and adding accounts accordingly. Closes #409 and closes #410 * address review comments * The commit fixes the briken tests and addresses some minor problems. The tests required a variable not provided by the environment * Fixing moving of emails * fixing moving of emails again * Update README to reflect changes in this iteration (#419) main changes: updated screenshots and added explanation for new offline mode and address book features * Feature/offline tests (#420) Adds Tests for -Offline Switch Flag -Offline Delete Mail -Offline Move Email (also part of delete Mail) -Update Process (mocked Endpoint) * Fix wrong folder selection for moving (#426) show all but currently selected folder in move menu (fix for #379) * Connection closing on shutdown (#427) close connection on image shutdown to prevent errors when reopening IMAPClient (fix for #397) * Small Refactoring (#425) * Small changes for style and law of demeter * Refactorings to shorten methods * More refactoring to shorten methods * Small refactorings for style * LoginDialog is back, sorry! * Fix failing test * Fixed Flags Bugs * update tests related to flag storement * Fixing minor style/linting issues last minute (#429) * Improve style in updateProcess * Revert "Improve style in updateProcess" Co-authored-by: Johann Schulze Tast <[email protected]> Co-authored-by: Jan Groeneveld <[email protected]> Co-authored-by: Smilla Fox <[email protected]> Co-authored-by: Elena Gensch <[email protected]> Co-authored-by: Christian Helms <[email protected]> Co-authored-by: Lukas Rost <[email protected]>
1 parent 94d8137 commit 21aabaa

File tree

528 files changed

+2354
-984
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

528 files changed

+2354
-984
lines changed

.github/pull_request_template.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
## What does this change?
2+
3+
[Bug/Feature]*First, briefly describe what this merge request does.*
4+
5+
*Then, describe the changes in more detail (tests added, summary of )*
6+
*Make sure potential reviewers have enough information to quickly dive in and understand the changes.*
7+
Fixes *#number*
8+
9+
Co-authored-by: *name <[email protected]>*
10+
Co-authored-by: *another-name <[email protected]>*
11+
12+
13+
## Decisions / Choices I made
14+
15+
*This text should provide background information on the changes you did (optional). A great merge request answers at least the following question:*
16+
*- Which architectural or implementation decisions did you make? And why?*
17+
18+
*Remember: The more information you give other developers, the easier it is for them
19+
to understand and review the code, and the more helpful their review will ultimately be.*
20+
21+
22+
## Checklist
23+
24+
- [ ] Your branch has no merge conflicts with master
25+
- [ ] All related commits are squashed together
26+
- [ ] Singleton / Database changed*: if changed which Singleton*

.squot

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
OrderedDictionary {
2-
'packages\/BaselineOfIMAPClient.package' : #SquotCypressCodeSerializer,
3-
'packages\/IMAPClient-Core.package' : #SquotCypressCodeSerializer,
4-
'packages\/IMAPClient-Tests.package' : #SquotCypressCodeSerializer,
5-
'packages\/IMAPClient-UI.package' : #SquotCypressCodeSerializer,
6-
'packages\/IMAPClient-Protocol.package' : #SquotCypressCodeSerializer
2+
'packages/BaselineOfIMAPClient.package' : #SquotCypressCodeSerializer,
3+
'packages/IMAPClient-Core.package' : #SquotCypressCodeSerializer,
4+
'packages/IMAPClient-Tests.package' : #SquotCypressCodeSerializer,
5+
'packages/IMAPClient-UI.package' : #SquotCypressCodeSerializer,
6+
'packages/IMAPClient-Protocol.package' : #SquotCypressCodeSerializer
77
}

README.md

Lines changed: 28 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
# IMAPClient [![Build Status](https://travis-ci.org/hpi-swa-teaching/IMAPClient.svg?branch=develop)](https://travis-ci.org/hpi-swa-teaching/IMAPClient) [![Coverage Status](https://coveralls.io/repos/github/hpi-swa-teaching/IMAPClient/badge.svg?branch=develop)](https://coveralls.io/github/hpi-swa-teaching/IMAPClient?branch=develop)
1+
# IMAPClient [![Coverage Status](https://coveralls.io/repos/github/hpi-swa-teaching/IMAPClient/badge.svg?branch=develop)](https://coveralls.io/github/hpi-swa-teaching/IMAPClient?branch=develop)
22

3-
Welcome to our IMAP Client project. We are a team of 4th semester IT-Systems Engineering students and are happy to take over this project for the sixth iteration.
4-
This project is part of a lecture in Softwareengineering techniques and will be contributing to our final grade, so we are giving it our best ;)
3+
Welcome to our IMAP Client project. We are a team of 4th semester IT-Systems Engineering students and are happy to take over this project for the seventh iteration.
4+
This project is part of a lecture in Software Engineering techniques and will be contributing to our final grade, so we are giving it our best ;)
55
As this is a student project, it will mostly be worked on during the summer terms. Therefore our time with this project is limited to the end of july.
66

77
In case of any questions, feel free to contact us.
@@ -25,51 +25,54 @@ Metacello new
2525
You can open the tool with the command `ICFolderDialog new` or using a Menu Entry.
2626

2727
## Configuration
28-
You can customize the number of mails, which are fetched on the initial update process, and the number of mails which are loaded if you press the `Load older Mails` Button. Default are 100 and 10. Change `ICFolder>>numbersOfHeadersToFetch{AtLoaderOlderMail | AtTheBeginning}`
28+
You can customize the number of mails, which are fetched on the initial update process, and the number of mails which are loaded if you press the `Load older Mails` Button. Default are 100 and 10. Change `ICFolder>>numbersOfHeadersToFetch{AtLoadOlderMail | AtTheBeginning}`
2929
This will not regard the e-mails that are already persisted on your disk, so if you have some e-mails in a Maildir directory, all of them will be read no matter what you defined here.
3030

3131
## Features
32-
- Manage different accounts
32+
- _Manage different accounts_
3333
![](screenshots/addAccount.png)
3434
You can add an account by clicking the `+` button. You will then be prompted to enter the account information needed to establish a connection with the server.
3535

36-
- Fetch new mails from the server
36+
- _Fetch new mails from the server_
3737
![](screenshots/updating.png)
38-
Mails are automatically fetched on login. If you wish to update and resynchronize with the server, click the update button.
38+
Mails are automatically fetched on the first login. If you wish to update and resynchronize with the server afterwards, click the update button. The title bar of the tool will show you the time of the last successful synchronization to help you decide if you want to update.
3939

40-
- Delete & move mails
40+
- _Delete & move mails_
4141
![](screenshots/move.png)
4242
A right click on any mail will show you your options. Deleting a mail automatically moves it to the trash folder. If you want to revert a deletion, you can simply navigate to the trash folder and move the email back to another folder.
4343
When you want to permanently delete emails, right click on the trash folder and choose expunge. This will dump your trash folder permanently.
4444

45-
- Flag and read emails
45+
- _Flag and read emails_
4646
A right click on any mail will show you your options. You can flag an email for later use or mark it as seen if you do not want to be disturbed by it beeing highlighted anymore. Also you can mark already seen mails as unseen again.
4747
![](screenshots/flag.png)
4848
![](screenshots/unflag.png)
4949

50-
- See unseen mails immediately.
50+
- _See unseen mails immediately._
5151
All unseen mails will be highlighted and the number of unseen mails per folder can be seen next to the folder name.
5252

53-
- Search Mails
53+
- _Search Mails_
5454
![](screenshots/search.png)
55-
You can enter a search string into the search bar at the top. Right next to the search bar you can see, how many search results you got for the current search.
55+
You can enter a search string into the search bar at the top. Right next to the search bar you can see how many search results you got for the current search.
5656

57-
- Parse different encodings
57+
- _Parse different encodings_
5858

59-
- Reflect server changes back to Client.
59+
- _Reflect server changes back to Client._
6060
If you're accessing your mails for a different device, and deleting/moving them, just press the update button in the Client, and every change should be correctly updated.
6161

62-
- Sort mails by different categories.
62+
- _Offline mode_
63+
All above features are also available while you are offline. Specifically, mails can be read, flagged and moved to other folders after they were downloaded on the first login. As soon as you are online again, you may resynchronize your account with the server by clicking on the update button and filling in your password.
64+
65+
- _Sort mails by different categories._
6366
![](screenshots/sort.png)
64-
By default all sortings are ascending. Double clicking the button will switch do descending order.
67+
By default all sortings are ascending. Double clicking the button will switch to descending order.
6568

66-
- Addressbook.
69+
- _Addressbook._
6770
![](screenshots/addressbook.png)
68-
You can open the addressbook by clicking the button with the person icon. The adressbook holds all sender addresses of mails from any of the currently logged in accounts.
71+
You can open the addressbook by clicking the button with the persons icon. The adressbook holds all sender names and addresses of mails from any of the currently logged in accounts. You can also add your own contacts by clicking on the respective button. Finally, it is possible to sort contacts in ascending or descending order by both sender name and address.
6972

7073
## Usage
7174
Start the IMAP Client with `ICFolderDialog new`. Add new Accounts with the `+` Button. We tested the functionality with web.de Accounts. But other accounts should work fine.
72-
The hpi owa accounts are known to be relatively large, as calendar and contact meta information is also sent to our client as folder objects. Therefore it might not entirely load in the requested time of 5 seconds.
75+
The HPI OWA accounts are known to be relatively large, as calendar and contact meta information is also sent to our client as folder objects. Therefore it might not entirely load in the requested time of 5 seconds.
7376

7477
For HPI accounts use the following login info:
7578
```
@@ -90,18 +93,18 @@ Use SSL: True
9093

9194
## Security
9295
Your password isn't stored on disk, but will be visible to your Squeak environment. It is immediately deleted after login, so you will not be able to retrieve it afterwards, but be aware that we are no security experts and you might not want to test this with a high severity account.
93-
After closing the IMAP-Client and reopening it your are welcomed by a password prompt to re-enter your credentials.
96+
After closing the IMAP-Client and reopening it, you are welcomed by a password prompt when you click the update button for the first time.
9497

9598
## Known Problems
9699

97100
As this project has lived through many iterations, there are a couple of known issues that we could not resolve during the few months we spend with this project.
98-
If you encounter any problem while using our IMAP client, have a look at the Issues of this GitHub Project. Most of them are probably already known to us.
101+
If you encounter any problem while using our IMAP client, have a look at the [Issues](https://github.com/hpi-swa-teaching/IMAPClient/issues) of this GitHub Project. Most of them are probably already known to us.
99102
In case your problem has not been reported yet, feel free to post a new issue and describe what you did to get the problem, what the unexpected behaviour was and what behaviour you would have expected.
100-
Thank you in anvance for contributing to making this project better by reporting any problems that we are not yet aware of!
103+
Thank you in advance for contributing to making this project better by reporting any problems that we are not yet aware of!
101104

102105
## Documentation
103106

104-
Hava a look at the GitHub Project Wiki to find more insights into the project.
107+
Have a look at the [GitHub Project Wiki](https://github.com/hpi-swa-teaching/IMAPClient/wiki) to find more insights into the project.
105108

106109
## History
107110
2016: Johannes Schneider, Maximilian Söchting, Julian Weise, Alexander Riese, Alexander Loeser
@@ -113,3 +116,5 @@ Hava a look at the GitHub Project Wiki to find more insights into the project.
113116
2019: Paul Methfessel, Martin Taraz, Otto Kissig, Tim Garrels, Felix Rindt
114117

115118
2020: Henrik Guhl, Lorenz Woth, Niko Hastrich, Julia Joch
119+
120+
2021: Smilla Fox, Elena Gensch, Jan Groeneveld, Christian Helms, Lukas Rost, Johann Schulze Tast

packages/IMAPClient-Core.package/ICAccountInfo.class/instance/hash.st

Lines changed: 0 additions & 5 deletions
This file was deleted.

packages/IMAPClient-Core.package/ICAccountInfo.class/methodProperties.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
"eraseStoredPassword" : "LW 7/31/2020 11:39",
1818
"hasValidServerInfo" : "tg 7/15/2019 12:08",
1919
"hasValidUserInfo" : "tg 7/15/2019 12:08",
20-
"hash" : "LW 8/1/2020 12:04",
2120
"host" : "tg 7/10/2019 20:06",
2221
"host:" : "tg 7/10/2019 17:11",
2322
"isValid" : "fr 7/26/2019 15:57",
Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
action
22
addEmail: aString
3-
4-
self addIfNotPresent: aString
53

4+
self addAllFirstUnlessAlreadyPresent: {aString} asOrderedCollection

packages/IMAPClient-Core.package/ICAddressBook.class/instance/feedMeWithEntries..st

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
initialize
22
feedMeWithEntries: anEmailCollection
3-
3+
44
anEmailCollection do: [:emailAccount |
55
self
66
readRootFoldersMailsFrom: emailAccount;
Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
initialize
22
readChildFoldersMailsFrom: anEmailAccount
33

4+
| anICContact |
45
anEmailAccount rootFolder recursiveChildFolders do: [:childFolder |
56
childFolder emails do: [:childFolderEmail |
6-
self addEmail: childFolderEmail senderAddressFromHeader]]
7+
anICContact := ICContact newWith: childFolderEmail senderAddressFromHeader
8+
with: childFolderEmail senderName.
9+
self addEmail: anICContact asString]]
Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
initialize
2-
readRootFoldersMailsFrom: anEmailAccount
2+
readRootFoldersMailsFrom: anEmailAccount
33

4-
anEmailAccount rootFolder emails do: [:rootFolderEmail |
5-
self addEmail: rootFolderEmail senderAddressFromHeader]
4+
| anICContact |
5+
anEmailAccount rootFolder emails
6+
do: [:rootFolderEmail |
7+
anICContact := ICContact newWith: rootFolderEmail senderAddressFromHeader
8+
with: rootFolderEmail senderName.
9+
self addEmail: anICContact asString]

packages/IMAPClient-Core.package/ICAddressBook.class/methodProperties.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
"class" : {
33
"new" : "hg 6/24/2020 12:34" },
44
"instance" : {
5-
"addEmail:" : "LW 6/16/2020 09:51",
6-
"feedMeWithEntries:" : "LW 6/16/2020 09:51",
5+
"addEmail:" : "EG 5/22/2021 09:43",
6+
"feedMeWithEntries:" : "EG 5/20/2021 12:25",
77
"find:" : "LW 6/16/2020 09:51",
8-
"readChildFoldersMailsFrom:" : "LW 6/16/2020 09:50",
9-
"readRootFoldersMailsFrom:" : "LW 6/10/2020 13:32" } }
8+
"readChildFoldersMailsFrom:" : "EG 5/29/2021 23:35",
9+
"readRootFoldersMailsFrom:" : "EG 5/29/2021 23:35" } }
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
An ICCommandStorage stores the user's commands in offline mode so changes can be sychronized with the server later. It maps every account's hash to a list of commands.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
instance creation
2+
new
3+
4+
Instance ifNil: [Instance := super new].
5+
^ Instance
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
do
2+
add: aCommand for: anAccount
3+
4+
(self at: anAccount ifAbsent: [ self addAccount: anAccount ]) addFirst: aCommand
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
accessing
2+
addAccount: anAccount
3+
4+
self at: anAccount put: OrderedCollection new.
5+
^ self at: anAccount
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
accessing
2+
getNextCommandFor: anAccount
3+
4+
^ (self at: anAccount) last
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
accessing
2+
isEmptyFor: anAccount
3+
4+
^ (self at: anAccount ifAbsent: [ self addAccount: anAccount ]) isEmpty
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
undo
2+
popNextCommandFor: anAccount
3+
4+
^ (self at: anAccount) removeLast
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"class" : {
3+
"new" : "EG 6/25/2021 10:19" },
4+
"instance" : {
5+
"add:for:" : "sf 5/27/2021 12:02",
6+
"addAccount:" : "jng 6/3/2021 11:22",
7+
"getNextCommandFor:" : "jng 5/29/2021 15:09",
8+
"isEmptyFor:" : "sf 5/27/2021 12:25",
9+
"popNextCommandFor:" : "jng 5/29/2021 15:09" } }
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{
2+
"category" : "IMAPClient-Core",
3+
"classinstvars" : [
4+
],
5+
"classvars" : [
6+
"Instance" ],
7+
"commentStamp" : "sf 5/27/2021 09:12",
8+
"instvars" : [
9+
],
10+
"name" : "ICCommandStorage",
11+
"pools" : [
12+
],
13+
"super" : "Dictionary",
14+
"type" : "normal" }
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
The ConnectionHandler handles the connection to the server.
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
accessing
2+
accountInfo: anObject
3+
4+
accountInfo := anObject
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
accessing
2+
accountInfo
3+
4+
^ accountInfo ifNil: [accountInfo := ICAccountInfo new]
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
accessing
2+
allUIDs
3+
4+
self sendCommand: ICCommand allUIDs.
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
connection
2+
assembleResponse
3+
4+
| multiLineResponse |
5+
multiLineResponse := OrderedCollection new.
6+
[ICParser commandSucceeded: self stream lastResponse] whileFalse: [
7+
multiLineResponse add: self stream lastResponse.
8+
self stream nextResponse].
9+
10+
^ multiLineResponse
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
connection
2+
checkConnected
3+
4+
self isConnected
5+
ifFalse: [
6+
self fatalErrorOccured: true.
7+
^ false].
8+
9+
^ true
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
1-
error handling
1+
connection
22
checkForBadRequest
33

44
(self fatalErrorOccured)
55
ifTrue: [^ false].
66

77
(ICParser responseIsError: self stream lastResponse) ifTrue: [
88
self fatalErrorOccured: true.
9-
^ Error signal: self class errorBadProtocol].
9+
self inform: 'responseError in checkForBadRequest'.
10+
^ true].
1011

1112
^ false

packages/IMAPClient-Core.package/ICEndPoint.class/instance/checkForParameterError.st renamed to packages/IMAPClient-Core.package/ICConnectionHandler.class/instance/checkForParameterError.st

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
error handling
1+
connection
22
checkForParameterError
33

44
(self fatalErrorOccured)

packages/IMAPClient-Core.package/ICEndPoint.class/instance/checkLoggedIn.st renamed to packages/IMAPClient-Core.package/ICConnectionHandler.class/instance/checkLoggedIn.st

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
login
1+
connection
22
checkLoggedIn
33

44
(self fatalErrorOccured)
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
connection
2+
close
3+
4+
self stream close.
5+
self loggedIn: false
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
connection
2+
connect
3+
4+
self connectWith: self class defaultStreamClass

packages/IMAPClient-Core.package/ICEndPoint.class/instance/connectWith..st renamed to packages/IMAPClient-Core.package/ICConnectionHandler.class/instance/connectWith..st

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
connection
22
connectWith: aStreamClass
33

4-
self accountInfo isValid ifFalse: [^ Error signal: self class errorInvalidConnectionConfiguration].
5-
4+
self accountInfo isValid ifFalse: [^ self handleInvalidAccountInfo].
5+
66
[self stream
77
ssl: self accountInfo ssl;
88
connectTo: self accountInfo host on: self accountInfo port with: aStreamClass;
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
delete
2+
deleteEmail: aMessageID
3+
4+
self sendCommand: (ICCommand deleteEmail: aMessageID)
5+
6+
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
delete
2+
expungeEmails
3+
4+
self sendCommand: ICCommand expungeEmails

0 commit comments

Comments
 (0)