feat: v0.0.1 - Groq provider, timezone, journal context, test connection, task logging

Added:
- Groq AI provider (free, fast with llama-3.3-70b-versatile)
- Timezone setting (22 timezones)
- Journal context: include previous journals (3/7/14/30 days)
- Test connection button for AI providers
- Per-provider settings (API key, model, base URL remembered)
- Detailed task logging (full prompts and responses)
- Tasks page with expandable details
- Progress modal with steps and AI output details

Fixed:
- Groq API endpoint (https://api.groq.com/openai/v1/chat/completions)
- Ollama baseUrl leaking to other providers
- Database schema references
- Proper Prisma migrations (data-safe)

Changed:
- Default AI: OpenAI → Groq
- Project renamed: TotalRecall → DearDiary
- Strict anti-hallucination prompt
- Docker uses prisma migrate deploy (non-destructive)
This commit is contained in:
lotherk
2026-03-26 21:56:29 +00:00
parent 37871271cc
commit 5c217853de
27 changed files with 1026 additions and 260 deletions

View File

@@ -9,14 +9,14 @@ import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Surface
import androidx.compose.ui.Modifier
import com.deardiary.ui.AppNavigation
import com.deardiary.ui.TotalRecallTheme
import com.deardiary.ui.DearDiaryTheme
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
setContent {
TotalRecallTheme {
DearDiaryTheme {
Surface(
modifier = Modifier.fillMaxSize(),
color = MaterialTheme.colorScheme.background

View File

@@ -8,7 +8,7 @@ import androidx.datastore.preferences.core.stringPreferencesKey
import androidx.datastore.preferences.preferencesDataStore
import com.deardiary.api.*
private val Context.dataStore: DataStore<Preferences> by preferencesDataStore(name = "totalrecall")
private val Context.dataStore: DataStore<Preferences> by preferencesDataStore(name = "deardiary")
class Repository(context: Context, private val baseUrl: String) {
private val api = ApiClient(baseUrl)

View File

@@ -18,7 +18,7 @@ private val DarkColorScheme = darkColorScheme(
)
@Composable
fun TotalRecallTheme(
fun DearDiaryTheme(
content: @Composable () -> Unit
) {
MaterialTheme(

View File

@@ -36,7 +36,7 @@ fun AuthScreen(
verticalArrangement = Arrangement.Center
) {
Text(
text = "TotalRecall",
text = "DearDiary",
style = MaterialTheme.typography.headlineLarge,
color = MaterialTheme.colorScheme.primary
)