HolgerHatGarKeineNode
eb9285d601
Fix this (vibe-kanban 0064af70)
...
## Exception Summary
- Class: `TypeError`
- Message: `Cannot assign array to property Livewire\Component@anonymous::$fax of type string`
- Code: `0`
- File: `vendor/livewire/livewire/src/Mechanisms/HandleComponents/HandleComponents.php:555`
- Timestamp: `2026-02-11T11:10:02+00:00`
- Details: This exception was thrown during a HTTP Request.
## HTTP Request
- Method: `POST`
- URL: `https://verein.einundzwanzig.space/livewire-5c4c7b52/update `
- Route: `livewire.update`
- Status code: `500`
- IP address: `206.237.102.28`
### Request Headers
- `content-type: application/json`
- `content-length: 1484`
- `cookie: XSRF-TOKEN=[342 bytes redacted]; einundzwanzig_verein_session=[342 bytes redacted]`
- `sec-fetch-user: ?1`
- `sec-fetch-site: none`
- `sec-fetch-mode: navigate`
- `sec-fetch-dest: document`
- `upgrade-insecure-requests: 1`
- `connection: keep-alive`
- `accept-language: en-US,en;q=0.5`
- `accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8`
- `user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36`
- `accept-encoding: identity`
- `host: verein.einundzwanzig.space`
### Request Payload
```json
{
"_token": "[40 bytes redacted]",
"components": [
{
"snapshot": "{\"data\": {\"form\": [{\"reason\": \"\", \"check\": false, \"currentPleb\": null}, {\"class\": \"App\\\\Livewire\\\\Forms\\\\ApplicationForm\", \"s\": \"form\"}], \"profileForm\": [{\"email\": \"\", \"nip05Handle\": \"\", \"currentPleb\": null}, {\"class\": \"App\\\\Livewire\\\\Forms\\\\ProfileForm\", \"s\": \"form\"}], \"no\": false, \"showEmail\": true, \"fax\": \"\", \"nip05Verified\": false, \"nip05VerifiedHandle\": null, \"nip05HandleMismatch\": false, \"nip05VerifiedHandles\": [[], {\"s\": \"arr\"}], \"yearsPaid\": [[], {\"s\": \"arr\"}], \"events\": [[], {\"s\": \"arr\"}], \"payments\": null, \"invoiceStatus\": null, \"invoiceStatusLabel\": null, \"invoiceStatusMessage\": null, \"invoiceStatusVariant\": \"info\", \"invoiceExpiresAt\": null, \"invoiceExpiresAtDisplay\": null, \"invoiceExpiresIn\": null, \"amountToPay\": 21000, \"currentYearIsPaid\": false, \"currentPubkey\": null, \"currentPleb\": null, \"qrCode\": null}, \"memo\": {\"id\": \"w62UhlWfdP5hmH873cUk\", \"name\": \"association.profile\", \"path\": \"association/profile\", \"method\": \"GET\", \"release\": \"a-a-a\", \"attributes\": {\"_livewire_component\": \"association.profile\"}, \"children\": [], \"scripts\": [], \"assets\": [], \"errors\": [], \"locale\": \"en\", \"islands\": []}, \"checksum\": \"ef5141c41105681483f6be62494c4717a8d5a43c8c5a07173ea799a2a58d7005\"}",
"updates": {
"fax": []
},
"calls": []
}
],
"_nightwatch_files": []
}
```
### Authenticated User
- Not authenticated for this execution.
## Database Queries (before exception)
- Not captured
## Stack Trace (most recent call first)
- [0] Livewire\\Mechanisms\\HandleComponents\\HandleComponents->setComponentPropertyAwareOfTypes()
at vendor/livewire/livewire/src/Mechanisms/HandleComponents/HandleComponents.php:555
- [1] Livewire\\Mechanisms\\HandleComponents\\HandleComponents->setComponentPropertyAwareOfTypes()
at vendor/livewire/livewire/src/Mechanisms/HandleComponents/HandleComponents.php:455
- [2] Livewire\\Mechanisms\\HandleComponents\\HandleComponents->updateProperty()
at vendor/livewire/livewire/src/Mechanisms/HandleComponents/HandleComponents.php:426
- [3] Livewire\\Mechanisms\\HandleComponents\\HandleComponents->updateProperties()
at vendor/livewire/livewire/src/Mechanisms/HandleComponents/HandleComponents.php:188
- [4] Livewire\\Mechanisms\\HandleComponents\\HandleComponents->update()
at vendor/livewire/livewire/src/LivewireManager.php:131
- [5] Livewire\\LivewireManager->update()
at vendor/livewire/volt/src/LivewireManager.php:35
- [6] Livewire\\Volt\\LivewireManager->update()
at vendor/livewire/livewire/src/Mechanisms/HandleRequests/HandleRequests.php:123
- [7] Livewire\\Mechanisms\\HandleRequests\\HandleRequests->handleUpdate()
at vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:46
- [8] Illuminate\\Routing\\ControllerDispatcher->dispatch()
at vendor/laravel/framework/src/Illuminate/Routing/Route.php:265
- [9] Illuminate\\Routing\\Route->runController()
at vendor/laravel/framework/src/Illuminate/Routing/Route.php:211
- [10] Illuminate\\Routing\\Route->run()
at vendor/laravel/framework/src/Illuminate/Routing/Router.php:822
- [11] Illuminate\\Routing\\Router->{closure:Illuminate\\Routing\\Router::runRouteWithinStack():821}()
at vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180
- [12] Illuminate\\Pipeline\\Pipeline->{closure:Illuminate\\Pipeline\\Pipeline::prepareDestination():178}()
at vendor/laravel/nightwatch/src/Hooks/RouteMiddleware.php:34
- [13] Laravel\\Nightwatch\\Hooks\\RouteMiddleware->handle()
at vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
- [14] Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}()
at vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php:50
- [15] Illuminate\\Routing\\Middleware\\SubstituteBindings->handle()
at vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
- [16] Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}()
at vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:87
- [17] Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle()
at vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
- [18] Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}()
at vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:48
- [19] Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle()
at vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
- [20] Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}()
at vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:120
- [21] Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest()
at vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:63
- [22] Illuminate\\Session\\Middleware\\StartSession->handle()
at vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
- [23] Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}()
at vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:36
- [24] Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle()
at vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
- [25] Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}()
at vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:74
- [26] Illuminate\\Cookie\\Middleware\\EncryptCookies->handle()
at vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
- [27] Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}()
at vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:137
- [28] Illuminate\\Pipeline\\Pipeline->then()
at vendor/laravel/framework/src/Illuminate/Routing/Router.php:821
- [29] Illuminate\\Routing\\Router->runRouteWithinStack()
at vendor/laravel/framework/src/Illuminate/Routing/Router.php:800
- [30] Illuminate\\Routing\\Router->runRoute()
at vendor/laravel/framework/src/Illuminate/Routing/Router.php:764
- [31] Illuminate\\Routing\\Router->dispatchToRoute()
at vendor/laravel/framework/src/Illuminate/Routing/Router.php:753
- [32] Illuminate\\Routing\\Router->dispatch()
at vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:200
- [33] Illuminate\\Foundation\\Http\\Kernel->{closure:Illuminate\\Foundation\\Http\\Kernel::dispatchToRouter():197}()
at vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180
- [34] Illuminate\\Pipeline\\Pipeline->{closure:Illuminate\\Pipeline\\Pipeline::prepareDestination():178}()
at vendor/livewire/livewire/src/Features/SupportDisablingBackButtonCache/DisableBackButtonCacheMiddleware.php:19
- [35] Livewire\\Features\\SupportDisablingBackButtonCache\\DisableBackButtonCacheMiddleware->handle()
at vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
- [36] Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}()
at vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php:21
- [37] Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
at vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php:31
- [38] Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle()
at vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
- [39] Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}()
at vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php:21
- [40] Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
at vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php:51
- [41] Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle()
at vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
- [42] Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}()
at vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php:27
- [43] Illuminate\\Http\\Middleware\\ValidatePostSize->handle()
at vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
- [44] Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}()
at vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php:109
- [45] Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle()
at vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
- [46] Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}()
at vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php:48
- [47] Illuminate\\Http\\Middleware\\HandleCors->handle()
at vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
- [48] Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}()
at vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php:58
- [49] Illuminate\\Http\\Middleware\\TrustProxies->handle()
at vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
- [50] Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}()
at vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/InvokeDeferredCallbacks.php:22
- [51] Illuminate\\Foundation\\Http\\Middleware\\InvokeDeferredCallbacks->handle()
at vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
- [52] Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}()
at vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePathEncoding.php:26
- [53] Illuminate\\Http\\Middleware\\ValidatePathEncoding->handle()
at vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
- [54] Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}()
at vendor/laravel/nightwatch/src/Hooks/GlobalMiddleware.php:53
- [55] Laravel\\Nightwatch\\Hooks\\GlobalMiddleware->handle()
at vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
- [56] Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}()
at vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:137
- [57] Illuminate\\Pipeline\\Pipeline->then()
at vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:175
- [58] Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()
at vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:144
- [59] Illuminate\\Foundation\\Http\\Kernel->handle()
at vendor/laravel/framework/src/Illuminate/Foundation/Application.php:1220
- [60] Illuminate\\Foundation\\Application->handleRequest()
at public/index.php:17
## Code Context
- Not captured
## Occurrence Statistics
- First seen: `2026-02-02T01:38:48+00:00`
- Last seen: `2026-02-11T11:10:02+00:00`
- Occurrences (last 24 hours): `3`
- Occurrences (last 7 days): `3`
- Users affected: `0`
2026-02-11 14:37:05 +01:00
HolgerHatGarKeineNode
5b814d631b
✨ Add Security Monitoring System with Command, Model, and Service
...
- 🛡️ Introduce `SecurityMonitor` service for tampering and malicious activity detection.
- 🏷️ Add `SecurityAttempt` model and migration to log, categorize, and query security attempts.
- 🖥️ Create `SecurityAttemptsCommand` for filtering, statistics, and top IP analysis.
- ✅ Add extensive tests to ensure the reliability of security monitoring and logging.
- 🔗 Integrate `SecurityMonitor` into the exception handling pipeline for real-time monitoring.
2026-02-04 13:40:30 +01:00
HolgerHatGarKeineNode
10dac9d02b
🔒 Implement signed media URLs and migrate media storage to private disk
...
- ✅ Introduce `getSignedMediaUrl` in models for temporary signed URLs
- 🗂️ Migrate media collections to private disk for added security
- 🔧 Add `media:move-to-private` command to streamline migration
- ⚙️ Update views and components to use signed media URLs
- ✏️ Adjust route `media.signed` for signed file access handling
2026-01-25 19:14:49 +01:00
HolgerHatGarKeineNode
4fcbeb9ca6
📂 Add MIME type restrictions for 'main' media collection in ProjectProposal
2026-01-25 18:19:57 +01:00
HolgerHatGarKeineNode
578e4f13fc
🧹 Migrate Yarn registry URLs to npm registry: update yarn.lock dependencies for consistency and clean up unused entries.
2026-01-23 20:02:21 +01:00
HolgerHatGarKeineNode
4b9ad0f6ab
✨ Refactor NIP-05 verification: extract handle-fetching logic into reusable NostrFetcherTrait and enhance UI to display all verified handles with improved feedback.
2026-01-23 17:09:00 +01:00
HolgerHatGarKeineNode
2995063f6c
remove: unused Livewire component EinundzwanzigPlebTable (0 references in codebase, pre-existing broken test unrelated)
2026-01-23 01:44:49 +01:00
HolgerHatGarKeineNode
b280376376
remove: unused method NostrAuth::pleb() (0 usages in codebase)
2026-01-23 01:30:58 +01:00
HolgerHatGarKeineNode
acd3b3c395
remove: unused Livewire component MeetupTable (0 references in codebase)
2026-01-23 01:25:35 +01:00
HolgerHatGarKeineNode
29d83e9af7
remove: unused Livewire component NotificationForm (0 references in codebase)
2026-01-23 01:11:35 +01:00
HolgerHatGarKeineNode
15ac675407
remove: unused Livewire component VoteForm (0 references in codebase)
2026-01-23 01:05:06 +01:00
HolgerHatGarKeineNode
4a425da923
🎨 Update color palette: replace gray with zinc across Blade templates for improved design consistency and accessibility.
...
🛠 Refactor forms: rename NostrAuth method for clarity and enhance Flux button usage for cleaner and reusable components.
✨ Add `WithNostrAuth` trait: refactor `show` template logic, streamline project-support handling, and improve layout readability.
2026-01-20 14:58:02 +01:00
HolgerHatGarKeineNode
34f8d949d5
✨ Add NIP-05 handle management: Introduce migration, API route, and Livewire updates to support NIP-05 handle verification.
...
⚡ Enhance Nostr fetcher: Refactor profile data merging logic for improved efficiency and accuracy.
🛠
2026-01-20 13:56:50 +01:00
HolgerHatGarKeineNode
a6c8fb6435
✨ Refactor project-support forms: add admin-only fields, improve Flux form components, and enhance layout for consistency. 🛠️ Remove redundant NostrAuth methods and streamline authorization logic.
2026-01-20 00:49:28 +01:00
HolgerHatGarKeineNode
bf31b9f001
✨ Integrate Flux modals for member acceptance and rejection actions, refactor related Livewire methods, and improve Blade table structure for consistency and UX.
2026-01-18 23:28:27 +01:00
HolgerHatGarKeineNode
22d3e6aac1
🛠️ Add Eloquent factories for ProjectProposal and Election models, integrate HasFactory trait, and update tests with NostrAuth for authentication validation.
2026-01-18 22:33:35 +01:00
HolgerHatGarKeineNode
31fb04caaa
🗑️ Remove outdated migration files for einundzwanzig_plebs and pulse tables, restructure directory, and update testing suite with new factories and Livewire tests.
2026-01-18 22:23:23 +01:00
HolgerHatGarKeineNode
00707797e5
🚀 Refactor Livewire tables: update PowerGrid imports, replace deprecated methods, and enable WithExport trait for improved maintainability.
2026-01-18 21:21:53 +01:00
HolgerHatGarKeineNode
b090336c4f
🛠️ Refactor migrations, models, configs, and Blade files to apply consistent formatting, remove unnecessary lines, and improve readability.
2026-01-18 19:50:04 +01:00
HolgerHatGarKeineNode
0694a2d837
✨ Add Livewire Flux components and new tests for project proposal and editing forms
2026-01-18 15:19:00 +01:00
HolgerHatGarKeineNode
00216409b4
🗑️ Remove unused Livewire components and Blade views related to elections, member management, changelog, project support, and meetups.
2026-01-18 01:33:24 +01:00
HolgerHatGarKeineNode
a73587b9e8
🛠️ Refactor and streamline Blade templates for project support and elections, including improved conditionals and structure cleanup
...
🛠️ Replace `shell_exec` with `Process` in Changelog Livewire component for safer command execution
2026-01-17 23:54:06 +01:00
HolgerHatGarKeineNode
0abbe69868
🗑️ Remove election-related blade files no longer in use
2026-01-17 23:26:05 +01:00
HolgerHatGarKeineNode
5783445b68
🛠️ Simplify route definition and update JS for Nostr profile handling
2026-01-06 19:57:43 +01:00
HolgerHatGarKeineNode
ed378ad5a0
🔧 Remove obsolete maintainers file
...
🛠️ Improve ProjectProposal form logic and refactor mounting process
🐳 Update Docker image reference in docker-compose configuration
🪵 Add logging to NostrFetcherTrait for better debugging
2025-12-23 13:45:34 +01:00
user
9c1cea5868
🔒 Add Nostr authentication support with custom guard and user provider
...
🛠️ Integrate Nostr auth across relevant components and views
📦 Update config, routes, and service provider for Nostr auth
2025-11-20 23:10:20 +01:00
fsociety
936e27a31c
✨ refactor(pleb-table, project-support): clean up concatenation, improve filter handling, and optimize layout
2025-06-04 17:55:15 +02:00
fsociety
26c8b06162
🐛 fix(pleb-table): update Nostrudel URL in Npub link for accuracy and functionality
2025-06-04 17:49:23 +02:00
fsociety
14a216325d
🔄 chore(deps): update multiple dependencies in yarn.lock to latest versions for improved compatibility
2025-06-04 17:33:30 +02:00
fsociety
77c33fcbee
🎨 refactor(forms): change accepted to boolean and sats_paid to numeric default values in ProjectProposalForm
2025-02-14 20:52:47 +01:00
fsociety
8c0c3cab3e
🎨 refactor(table): update email and status columns visibility in EinundzwanzigPlebTable for export functionality
2025-02-13 13:04:13 +01:00
fsociety
e72a1aa814
🎨 feat(project-support): add accepted checkbox and sats paid fields to project proposal form
2025-01-16 17:48:50 +01:00
fsociety
73bed106b4
🚀 update(dependencies): upgrade Laravel framework and other packages to latest versions
2024-12-23 18:27:08 +01:00
fsociety
c4cb0fdf83
🎉 feat(table): add new export columns for email, status, npub, and payment details in PlebTable.
2024-10-28 14:56:33 +01:00
fsociety
3404c1cfcb
🎨 style(UI): format payment amount and improve association status label display in PlebTable.
2024-10-27 12:11:25 +01:00
fsociety
65688f649e
🚀 feat(form): simplify validation for check property in ApplicationForm and add alert for agreement in profile view.
2024-10-26 19:40:56 +02:00
fsociety
d4dd446c86
✨ feat(form): add checkbox for agreement to club statutes and email input for updates in profile section
2024-10-26 12:10:11 +02:00
fsociety
3055bfa196
🎨 feat(notification): add private disk for PDF uploads and update download route with signed URL.
2024-10-25 20:06:19 +02:00
fsociety
f600c7983c
🚀 feat(dependencies): add spatie/laravel-ciphersweet package for encryption support
...
✨ feat(profile): integrate email and fax fields in association profile
🆕 feat(migrations): create blind_indexes table for encrypted data
🔧 feat(model): implement CipherSweet in EinundzwanzigPleb for email encryption
🔧 config: add ciphersweet configuration file for encryption settings
🗄️ migration: add email field to einundzwanzig_plebs table for user data
2024-10-25 16:15:28 +02:00
fsociety
1bf8c66b35
🚀 feat(news): add news management with upload functionality and category selection in the association module
2024-10-25 15:02:23 +02:00
fsociety
06c43501a0
🎉 feat(project-support): update project support links and implement voting functionality with reasons for rejection.
2024-10-24 19:02:17 +02:00
fsociety
ef1d0fdf17
🎨 feat(project): enhance project support form with image upload and validation features.
...
🗃️ refactor(project): rename project support route for clarity and consistency.
🗑️ chore(project): implement delete confirmation for project proposals in the index view.
🔧 fix(editor): adjust initialization delay for SimpleMDE editor to improve responsiveness.
📸 fix(media): update fallback image URL in ProjectProposal model for better asset management.
2024-10-24 18:05:37 +02:00
fsociety
6db38d08f5
🆕 feat(project): add website field and validation for project proposals form
2024-10-24 17:40:51 +02:00
fsociety
c6b3593341
🚀 feat(project-support): add project proposal form and listing pages with image uploads and voting functionality
2024-10-23 18:10:14 +02:00
fsociety
9ac89de553
🛠️ fix(plebTable): display payment amount in green if paid, otherwise show no payment message
2024-10-22 17:19:31 +02:00
fsociety
ce1cffc66a
🎨 style(navigation): reduce icon sizes in navigation components for better layout consistency
...
🔧 fix(ApplicationForm): change validation rule for reason to nullable string
📝 update(profile): simplify membership status messages and remove unnecessary fields
🎨 style(election): adjust import formatting for better readability
🎨 style(association): reduce icon sizes in association navigation links for consistency
2024-10-22 15:59:33 +02:00
fsociety
af91859a4d
🔧 refactor(NostrFetcher): simplify filter assignment and add condition to fetch profiles only if available
2024-10-16 16:40:55 +02:00
fsociety
a2eb39e61e
🔧 feat(NostrFetcher): add null check for event before processing JSON data in profile update
2024-10-16 16:34:08 +02:00
fsociety
a04f1e691f
🛠️ fix(NostrFetcherTrait): handle empty data case by returning instead of throwing an exception
2024-10-16 16:19:51 +02:00
fsociety
ef109b87a3
🎨 style(association-status): update text color for default association status in Pleb table component
2024-10-07 14:18:10 +02:00