Mike 2 лет назад
Родитель
Сommit
b4e8f88d90

+ 25 - 34
.github/ISSUE_TEMPLATE/bug_report.md

@@ -1,51 +1,42 @@
 ---
-name: Bug report
-about: Use this ONLY for bugs in retro-aim-server itself.
+name: Bug report 🐞
+about: Use this template to report bugs in Retro AIM Server.
+
 title: ''
-labels: ''
+labels: bug
 assignees: ''
 
 ---
+
 <!--
-    # ###
-    NOTE: Please update to the latest version of retro-aim-server before reporting an issue!
-    This saves you and us a lot of time and troubleshooting.
-    # ###
+    ### 🚀 Please Update First! 🚀
+    Please ensure you're using the latest [release](https://github.com/mk6i/retro-aim-server/releases) of Retro AIM Server before reporting.
 -->
 
 <!--
-Please fill out the following template to make solving your problem easier and faster for us.
-This is only a guideline. If you think that parts are unnecessary for your issue, feel free to remove them.
+Hello! 👋 Thank you for reporting an issue with Retro AIM Server. To help us solve the problem quickly, please fill out the following template.
+Feel free to adjust or remove any parts that aren't relevant to your issue.
 
-Remember to hide/redact personal or confidential information,
-such as passwords, IP addresses, and DNS names as appropriate.
+Remember to avoid sharing sensitive information like passwords or personal data.
 -->
 
-### Subject of the issue
-<!-- Describe your issue here. -->
-
-### Deployment environment
-
-<!-- The version number -->
-<!-- Remember to check if your issue exists on the latest version first! -->
-* retro-aim-server version:
-
-<!-- How the server was installed: Pre-built, built from source, etc. -->
-* Install method:
-
-* Clients used: <!-- AIM 5.1.3036, Miranda IM 0.10.80, Pidgin 2.12, etc. -->
+### Subject of the Issue
+<!-- Briefly describe the problem you're encountering. -->
 
-* Other relevant details:
+### Deployment Environment
+* **Retro AIM Server Version**: <!-- Version number -->
+* **Installation Method**: <!-- Pre-built, built from source, etc. -->
+* **Client(s) Used**: <!-- AIM 5.1.3036, Miranda IM 0.10.80, Pidgin 2.12, etc. -->
+* **Other Relevant Details**: <!-- Any additional context about your setup -->
 
-### Steps to reproduce
-<!-- Tell us how to reproduce this issue. What parameters did you set (differently from the defaults)
-and how did you start retro-aim-server? -->
+### Steps to Reproduce
+<!-- Detailed steps to reproduce the issue. Include any specific settings or configurations you used. -->
 
-### Expected behaviour
-<!-- Tell us what you expected to happen -->
+### Expected Behavior
+<!-- Describe what you expected to happen. -->
 
-### Actual behaviour
-<!-- Tell us what actually happened -->
+### Actual Behavior
+<!-- Describe what actually happened instead. -->
 
-### Troubleshooting data
-<!-- Share any log files, screenshots, or other relevant troubleshooting data -->
+### Troubleshooting Data
+<!-- Attach any relevant log files, screenshots, or other troubleshooting data that might help diagnose the issue. -->

+ 14 - 34
.github/ISSUE_TEMPLATE/feature_request.md

@@ -1,48 +1,28 @@
 ---
-name: Feature request
-about: Use this to suggest new features or improvements for retro-aim-server.
+name: Feature request ✨
+about: Use this template to suggest new features or improvements for Retro AIM Server.
+
 title: ''
-labels: ''
+labels: enhancement
 assignees: ''
 
 ---
 
 <!--
-    # ###
-    NOTE: Please check the existing feature requests before submitting a new one!
-    This helps avoid duplicates and allows us to focus on the most requested features.
-    # ###
--->
+Hello! 👋 Thank you for suggesting a feature or improvement for Retro AIM Server. To help us understand your request better, please fill out the following template.
+Feel free to adjust or remove any parts that aren't relevant to your suggestion.
 
-<!--
-Please fill out the following template to make solving your problem easier and faster for us.
-This is only a guideline. If you think that parts are unnecessary for your issue, feel free to remove them.
-
-Remember to hide/redact personal or confidential information,
-such as passwords, IP addresses, and DNS names as appropriate.
+Remember to avoid sharing sensitive information like passwords or personal data.
 -->
 
-### Description of the feature
-<!-- Describe the feature or improvement you would like to see. -->
+### Description of the Feature
+<!-- Describe the new feature or improvement you would like to see. -->
 
-### Use case
+### Use Case
 <!-- Explain how this feature would be used and what benefits it would provide. -->
 
-### Deployment environment
-
-<!-- The version number -->
-<!-- This helps us understand the context of your request. -->
-* retro-aim-server version:
-
-<!-- How the server was installed: Pre-built, built from source, etc. -->
-* Install method:
-
-* Clients used: <!-- AIM 5.1.3036, Miranda IM 0.10.80, Pidgin 2.12, etc. -->
-
-* Other relevant details:
-
-### Potential challenges
-<!-- Discuss any potential challenges or concerns you foresee with implementing this feature. -->
+### Potential Challenges
+<!-- Discuss any challenges or concerns you foresee with implementing this feature. -->
 
-### Additional information
-<!-- Share any additional information, examples, or references that might be helpful. -->
+### Additional Information
+<!-- Share any additional details, examples, or references that might support your suggestion. -->

+ 9 - 1
.github/workflows/go.yml

@@ -19,7 +19,15 @@ jobs:
       - name: Set up Go
         uses: actions/setup-go@v5
         with:
-          go-version: '1.21'
+          go-version: '1.22'
+
+      - name: Go Format
+        run: |
+          gofmt -s -l .
+          if [ "$(gofmt -s -l . | wc -l)" -gt 0 ]; then exit 1; fi
+
+      - name: Go Vet
+        run: go vet ./...
 
       - name: Build
         run: go build -v ./...

+ 1 - 0
README.md

@@ -20,6 +20,7 @@ The following features are supported:
 - [x] Buddy Icons (v4.x, v5.x)
 - [x] Buddy List
 - [x] Chat Rooms
+- [x] Public & Private Chat Exchanges
 - [x] Instant Messaging
 - [x] User Profiles
 - [x] Blocking (v3.5+)

+ 8 - 1
codecov.yml

@@ -1,3 +1,10 @@
 coverage:
   round: down
-  range: 70..79
+  range: 70..79
+  status:
+    project:
+      default:
+        informational: true
+    patch:
+      default:
+        informational: true

+ 1 - 1
config/settings.env

@@ -46,5 +46,5 @@ export LOG_LEVEL=info
 # clients, a private IP address (e.g. 192.168..) or hostname should suffice. For
 # clients connecting over the Internet, specify your public IP address and
 # ensure that TCP ports 5190-5194 are open on your firewall.
-export OSCAR_HOST=192.168.68.61
+export OSCAR_HOST=127.0.0.1
 

+ 0 - 27
foodgroup/auth_test.go

@@ -991,33 +991,6 @@ func TestAuthService_RegisterBOSSession_HappyPath(t *testing.T) {
 	assert.Equal(t, sess, have)
 }
 
-func TestAuthService_RegisterBOSSession_SessionNotFound(t *testing.T) {
-	sess := newTestSession("screen-name")
-
-	sessionManager := newMockSessionManager(t)
-	sessionManager.EXPECT().
-		AddSession(sess.DisplayScreenName()).
-		Return(nil)
-
-	authCookie := []byte(`the-auth-cookie`)
-	cookieBaker := newMockCookieBaker(t)
-
-	cookieBaker.EXPECT().
-		Crack(authCookie).
-		Return([]byte("screen-name"), nil)
-
-	userManager := newMockUserManager(t)
-	userManager.EXPECT().
-		User(sess.IdentScreenName()).
-		Return(&state.User{DisplayScreenName: sess.DisplayScreenName()}, nil)
-
-	svc := NewAuthService(config.Config{}, sessionManager, nil, userManager, nil, cookieBaker, nil, nil, nil)
-
-	have, err := svc.RegisterBOSSession(authCookie)
-	assert.NoError(t, err)
-	assert.Nil(t, have)
-}
-
 func TestAuthService_SignoutChat(t *testing.T) {
 	tests := []struct {
 		// name is the unit test name