Skip to content

Bump golang.org/x/crypto from 0.36.0 to 0.45.0 in /server in the go_modules group across 1 directory - #2

Closed
dependabot[bot] wants to merge 15 commits into
masterfrom
dependabot/go_modules/server/go_modules-dd7da38a6b
Closed

Bump golang.org/x/crypto from 0.36.0 to 0.45.0 in /server in the go_modules group across 1 directory#2
dependabot[bot] wants to merge 15 commits into
masterfrom
dependabot/go_modules/server/go_modules-dd7da38a6b

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Nov 20, 2025

Copy link
Copy Markdown
Contributor

Bumps the go_modules group with 1 update in the /server directory: golang.org/x/crypto.

Updates golang.org/x/crypto from 0.36.0 to 0.45.0

Commits
  • 4e0068c go.mod: update golang.org/x dependencies
  • e79546e ssh: curb GSSAPI DoS risk by limiting number of specified OIDs
  • f91f7a7 ssh/agent: prevent panic on malformed constraint
  • 2df4153 acme/autocert: let automatic renewal work with short lifetime certs
  • bcf6a84 acme: pass context to request
  • b4f2b62 ssh: fix error message on unsupported cipher
  • 79ec3a5 ssh: allow to bind to a hostname in remote forwarding
  • 122a78f go.mod: update golang.org/x dependencies
  • c0531f9 all: eliminate vet diagnostics
  • 0997000 all: fix some comments
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore <dependency name> major version will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
  • @dependabot ignore <dependency name> minor version will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
  • @dependabot ignore <dependency name> will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
  • @dependabot unignore <dependency name> will remove all of the ignore conditions of the specified dependency
  • @dependabot unignore <dependency name> <ignore condition> will remove the ignore condition of the specified dependency and ignore conditions
    You can disable automated security fix PRs for this repo from the Security Alerts page.

claude and others added 15 commits November 18, 2025 17:55
This plugin enables voice messaging in Mattermost with full support for:
- Desktop (Web, Electron app)
- iOS (Safari 14.3+)
- Android (Chrome)

Key features:
- MediaRecorder API for universal browser support
- Pause/Resume functionality during recording
- WebM/Opus audio format for optimal quality and size
- Responsive UI that works on mobile devices
- Server-side file upload and post creation

Technical stack:
- Server: Go with Mattermost plugin API
- Webapp: React/TypeScript with MediaRecorder API
- Build system: Makefile with cross-platform compilation

This solves the limitation of existing voice plugins that only work
on desktop by using modern web standards supported in mobile browsers.
Major enhancements to the cross-platform media messaging plugin:

Voice messaging improvements:
- Added beautiful audio player with waveform visualization
- Playback speed control (1x, 1.25x, 1.5x, 2x)
- Progress bar with seek functionality
- Slash command /voice to quickly open recorder

Video messaging (NEW):
- Full video recording with live preview from webcam
- Support for pause/resume during recording
- VP9 codec for optimal quality/size ratio
- Slash command /video to quickly open recorder
- Video clip player for playback

Security enhancements:
- File validation with magic number checking
- Size limits (50MB audio, 100MB video)
- Channel permission verification
- MIME type validation

Technical additions:
- Unit tests for server-side validation
- WebSocket events for slash commands
- Support for multiple media formats

All features work across desktop, web, iOS, and Android platforms.
…ar video

- Fixed go.mod: removed replace directive, updated module path
- Updated plugin.json name to "Voice & Video Clips"
- Added peerDependencies for React in package.json
- Added css-loader and style-loader dependencies
- Added .nvmrc for Node v20
- Redesigned video_clip_player.tsx as 240px circular Telegram-style
  with SVG progress ring and overlay controls
- Updated video_recorder_button.tsx with circular preview and
  square aspect ratio (1:1) for circular display
Bug fixes:
- Fix TestIsValidMediaFile to use correct function name and params
- Fix duplicate var declaration in plugin.go handleUpload
- Add proper error handling for duration parsing
- Fix memory leak in video_recorder_button.tsx (URL.revokeObjectURL)

CI/CD:
- Add GitHub Actions workflow for build, test, lint, release
- Add golangci-lint configuration
- Generate go.sum for reproducible builds
- Generate package-lock.json for webapp
Bumps the go_modules group with 3 updates in the /server directory: [golang.org/x/crypto](https://github.com/golang/crypto), [golang.org/x/net](https://github.com/golang/net) and google.golang.org/protobuf.


Updates `golang.org/x/crypto` from 0.20.0 to 0.35.0
- [Commits](golang/crypto@v0.20.0...v0.35.0)

Updates `golang.org/x/net` from 0.21.0 to 0.38.0
- [Commits](golang/net@v0.21.0...v0.38.0)

Updates `google.golang.org/protobuf` from 1.32.0 to 1.33.0

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-version: 0.35.0
  dependency-type: indirect
  dependency-group: go_modules
- dependency-name: golang.org/x/net
  dependency-version: 0.38.0
  dependency-type: indirect
  dependency-group: go_modules
- dependency-name: google.golang.org/protobuf
  dependency-version: 1.33.0
  dependency-type: indirect
  dependency-group: go_modules
...

Signed-off-by: dependabot[bot] <support@github.com>
- Remove all console.log/error statements from production code
- Add fallback WebSocket event handlers for compatibility
- Remove unused fileInfo parameter from VoiceClipPlayer
- Remove unused fileInfo parameter from VideoClipPlayer
- Add comments for play() catch blocks (autoplay policy)
iOS Safari fixes:
- Add isIOS() detection for platform-specific behavior
- Use MP4/AAC codec on iOS (VP9/WebM not supported)
- Use MP4/H.264 for video on iOS Safari
- Simplified getUserMedia constraints for iOS
- Add isPauseResumeSupported() - iOS doesn't support pause/resume
- Hide pause/resume buttons on iOS Safari

Cross-platform improvements:
- Add getVideoMimeType() with proper codec fallbacks
- Fix file extensions to match actual MIME type
- Use correct extension (.mp4 on iOS, .webm on desktop)
- Add touch event support for audio progress bar seeking
- Mobile-responsive modal sizing

Codec priority:
- Desktop: VP9 > VP8 > H.264
- iOS: H.264/AAC only
- Audio: Opus on desktop, AAC on iOS
- Add isFirefox() detection function
- Fix isPauseResumeSupported() to check MediaRecorder existence first
- Fix getVideoMimeType() to return empty string instead of hardcoded fallback
- Prioritize OGG/Opus codecs for Firefox (better Linux support)
- Prioritize VP8 over VP9 for Firefox video recording
- Add try-catch blocks for pause/resume in MediaRecorderWrapper
- Handle empty mimeType in getFileExtensionForMimeType()
Waveform Visualizer:
- Fix memory leak by tracking MediaElementSource connection
- Add proper AudioContext cleanup on unmount
- Use deterministic pattern instead of Math.random() for static waveform

Server:
- Add .mp3 and .aac to allowed audio extensions
- Add magic number validation for MP3 (ID3/frame sync) and AAC (ADTS)
- Update error message to include new formats

Tests:
- Add test cases for MP3 and AAC file validation
Server configuration:
- Add MaxAudioFileSize, MaxVideoFileSize (in MB)
- Add MaxVideoDuration (separate from audio)
- Add AudioBitrate, VideoBitrate (in kbps)
- Add AllowedAudioFormats, AllowedVideoFormats (configurable)
- Use config values for file size and duration validation
- Return all settings via /api/v1/config endpoint

Plugin settings UI (plugin.json):
- Add dropdowns for audio/video bitrate selection
- Add number inputs for file sizes and durations
- Add text inputs for allowed formats
- Organize settings with clear descriptions

Client-side:
- Create config_service.ts for fetching and caching config
- Update audio_recorder.ts to accept dynamic bitrate
- Update voice_recorder_button to use config (bitrate, max duration, auto-stop)
- Update video_recorder_button to use config (bitrate, max duration, auto-stop)

Settings available in System Console > Plugins > Voice & Video Clips:
- Maximum audio/video duration
- Maximum file sizes
- Preferred formats (WebM, OGG, MP4)
- Audio bitrate (64-256 kbps)
- Video bitrate (500-4000 kbps)
- Allowed file extensions
- Waveform visualization toggle
- Add internationalization with 12 languages (auto-detects system language)
- Add cartoon "pulk" notification sounds for voice/video messages
- Create comprehensive English documentation in doc/ folder
- Update README.md to English with links to detailed docs
- Integrate translations into voice and video recorder components

Languages: en, ru, de, fr, es, pt, zh, ja, ko, it, nl, pl
…ver/go_modules-345a13660d

Bump the go_modules group across 1 directory with 3 updates
- Replace build.yml with standardized ci.yml and auto-release.yml
- Update GitHub Actions to latest versions with pinned SHAs
- Add lint job with golangci-lint
- Set version to 0.4.0
- Add .golangci.yml configuration
- Handle all json.Encode error returns for errcheck compliance
Bumps the go_modules group with 1 update in the /server directory: [golang.org/x/crypto](https://github.com/golang/crypto).


Updates `golang.org/x/crypto` from 0.36.0 to 0.45.0
- [Commits](golang/crypto@v0.36.0...v0.45.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-version: 0.45.0
  dependency-type: indirect
  dependency-group: go_modules
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file go Pull requests that update go code labels Nov 20, 2025
@gluckdev gluckdev closed this May 3, 2026
@dependabot @github

dependabot Bot commented on behalf of github May 3, 2026

Copy link
Copy Markdown
Contributor Author

This pull request was built based on a group rule. Closing it will not ignore any of these versions in future pull requests.

To ignore these dependencies, configure ignore rules in dependabot.yml

@dependabot
dependabot Bot deleted the dependabot/go_modules/server/go_modules-dd7da38a6b branch May 3, 2026 22:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file go Pull requests that update go code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants