Repository Analysis

wekan/wekan

The Open Source kanban, built with Meteor. GitHub issues/PRs are only for FLOSS Developers, not for support, support is at https://wekan.fi/commercial-support/ . New English strings for new features at imports/i18n/data/en.i18n.json . Non-English translations at https://app.transifex.com/wekan/wekan only.

2.4 Likely human-written View on GitHub
2.4
Adjusted Score
2.4
Raw Score
100%
Time Factor
2026-05-30
Last Push
20,945
Stars
JavaScript
Language
627,126
Lines of Code
1289
Files
726
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 3HIGH 28MEDIUM 346LOW 349

Pattern Findings

726 matches across 15 categories. Click a row to expand file-level details.

Decorative Section Separators328 hits · 992 pts
SeverityFileLineSnippet
MEDIUMstart-wekan.sh52 #-----------------------------------------------------------------
MEDIUMstart-wekan.sh58 #-----------------------------------------------------------------
MEDIUMstart-wekan.sh67 #-----------------------------------------------------------------
MEDIUMstart-wekan.sh75 #-----------------------------------------------------------------
MEDIUMstart-wekan.sh84 #-----------------------------------------------------------------
MEDIUMstart-wekan.sh87 #-----------------------------------------------------------------
MEDIUMstart-wekan.sh110 #---------------------------------------------
MEDIUMstart-wekan.sh112 #---------------------------------------------
MEDIUMstart-wekan.sh113 #---------------------------------------------
MEDIUMstart-wekan.sh116 #---------------------------------------------
MEDIUMstart-wekan.sh120 #---------------------------------------------------------------
MEDIUMstart-wekan.sh124 #---------------------------------------------------------------
MEDIUMstart-wekan.sh134 #---------------------------------------------------------------
MEDIUMstart-wekan.sh139 #---------------------------------------------------------------
MEDIUMstart-wekan.sh144 #---------------------------------------------------------------
MEDIUMstart-wekan.sh149 #---------------------------------------------------------------
MEDIUMstart-wekan.sh153 #---------------------------------------------------------------
MEDIUMstart-wekan.sh156 #---------------------------------------------------------------
MEDIUMstart-wekan.sh161 #---------------------------------------------------------------
MEDIUMstart-wekan.sh166 #---------------------------------------------------------------
MEDIUMstart-wekan.sh196 #-----------------------------------------------------------------
MEDIUMstart-wekan.sh200 #-----------------------------------------------------------------
MEDIUMstart-wekan.sh207 #---------------------------------------------
MEDIUMstart-wekan.sh237 #---------------------------------------------
MEDIUMstart-wekan.sh241 #---------------------------------------------
MEDIUMstart-wekan.sh244 #---------------------------------------------
MEDIUMstart-wekan.sh604 #---------------------------------------------------------------------
MEDIUMstart-wekan.sh607 #---------------------------------------------------------------------
MEDIUMstart-wekan.sh612 #---------------------------------------------------------------------
MEDIUMstart-wekan.sh12 #-------------------------------------------------------------------------------
MEDIUMstart-wekan.sh32 #----------------------------------------------------------------------
MEDIUMstart-wekan.sh98 #-----------------------------------------------------------------
MEDIUMstart-wekan.sh182 #---------------------------------------------------------------
MEDIUMstart-wekan.sh221 #---------------------------------------------
MEDIUMstart-wekan.sh225 #-----------------------------------------------------------------
MEDIUMstart-wekan.sh290 #-----------------------------------------------------------------
MEDIUMstart-wekan.sh306 #-----------------------------------------------------------------
MEDIUMstart-wekan.sh352 #---------------------------------------------
MEDIUMstart-wekan.sh365 #-----------------------------------------------------------------
MEDIUMstart-wekan.sh399 #-----------------------------------------------------------------
MEDIUMstart-wekan.sh406 #---------------------------------------------
MEDIUMstart-wekan.sh433 #----------------------------------------------------------------------------
MEDIUMstart-wekan.sh438 #---------------------------------------------------------------------------
MEDIUMstart-wekan.sh583 #---------------------------------------------------------------------
MEDIUMstart-wekan.sh593 #---------------------------------------------------------------------
MEDIUMstart-wekan.sh624 #---------------------------------------------------------------------
MEDIUMstart-wekan.sh627 #---------------------------------------------------------------------
MEDIUMstart-wekan.sh638 #---------------------------------------------------------------------
MEDIUMrebuild-wekan.sh102 #---------------------------------------------------------------------
MEDIUMrebuild-wekan.sh106 #---------------------------------------------------------------------
MEDIUMrebuild-wekan.sh114 #---------------------------------------------------------------------
MEDIUMrebuild-wekan.sh117 #---------------------------------------------------------------------
MEDIUMrebuild-wekan.sh124 #---------------------------------------------------------------------
MEDIUMrebuild-wekan.sh128 #---------------------------------------------------------------------
MEDIUMrebuild-wekan.sh140 #---------------------------------------------------------------------
MEDIUMrebuild-wekan.sh142 #---------------------------------------------------------------------
MEDIUMrebuild-wekan.sh146 #---------------------------------------------------------------------
MEDIUMrebuild-wekan.sh158 #---------------------------------------------------------------------
MEDIUMrebuild-wekan.sh160 #---------------------------------------------------------------------
MEDIUMrebuild-wekan.sh164 #---------------------------------------------------------------------
268 more matches not shown…
Cross-Language Confusion (JS/TS)25 hits · 169 pts
SeverityFileLineSnippet
HIGHsnap-src/bin/migrate-schema-v843.js29 print('Schema v8.43 already applied at ' + marker.completedAt + ' — skipping.');
HIGHsnap-src/bin/migrate-schema-v843.js33print('=== Applying WeKan schema v8.43 ===');
HIGHsnap-src/bin/migrate-schema-v843.js36print('Step 1: Building default swimlane map...');
HIGHsnap-src/bin/migrate-schema-v843.js46print('Step 2: Creating default swimlanes for boards that have none...');
HIGHsnap-src/bin/migrate-schema-v843.js63 print(' Created default swimlane for board ' + boardId);
HIGHsnap-src/bin/migrate-schema-v843.js68print('Step 3: Building list → swimlane map...');
HIGHsnap-src/bin/migrate-schema-v843.js75print('Step 4: Patching lists without swimlaneId...');
HIGHsnap-src/bin/migrate-schema-v843.js86print(' Lists patched: ' + listFixed);
HIGHsnap-src/bin/migrate-schema-v843.js89print('Step 5: Patching cards without swimlaneId or with invalid listId...');
HIGHsnap-src/bin/migrate-schema-v843.js192print(' Cards patched: ' + cardFixed + ' (' + cardOrphaned + ' orphaned → Rescued Data swimlane)');
HIGHsnap-src/bin/migrate-schema-v843.js195print('Step 6: Stamping boards with migrationVersion ' + SCHEMA_VER + '...');
HIGHsnap-src/bin/migrate-schema-v843.js206print('Step 7: Converting cfs.attachments.filerecord → attachments (Meteor-Files)...');
HIGHsnap-src/bin/migrate-schema-v843.js249print(' CFS attachments converted: ' + cfsAttachConverted);
HIGHsnap-src/bin/migrate-schema-v843.js252print('Step 8: Converting cfs.avatars.filerecord → avatars (Meteor-Files)...');
HIGHsnap-src/bin/migrate-schema-v843.js288print(' CFS avatars converted: ' + cfsAvatarConverted);
HIGHsnap-src/bin/migrate-schema-v843.js292print('Step 9: Normalising legacy file URL references in cards...');
HIGHsnap-src/bin/migrate-schema-v843.js299print(' Card coverIds normalised: ' + urlsFixed);
HIGHsnap-src/bin/migrate-schema-v843.js320print('');
HIGHsnap-src/bin/migrate-schema-v843.js321print('=== Schema v8.43 migration complete ===');
HIGHsnap-src/bin/migrate-schema-v843.js322print(' Lists patched: ' + listFixed);
HIGHsnap-src/bin/migrate-schema-v843.js323print(' Cards patched: ' + cardFixed);
HIGHsnap-src/bin/migrate-schema-v843.js324print(' Cards rescued: ' + cardOrphaned);
HIGHsnap-src/bin/migrate-schema-v843.js325print(' CFS attach conv: ' + cfsAttachConverted);
HIGHsnap-src/bin/migrate-schema-v843.js326print(' CFS avatar conv: ' + cfsAvatarConverted);
HIGHsnap-src/bin/migrate-schema-v843.js327print(' URLs normalised: ' + urlsFixed);
Over-Commented Block219 hits · 148 pts
SeverityFileLineSnippet
LOWfind.sh1#!/bin/bash
LOWstart-wekan.sh1#!/bin/bash
LOWstart-wekan.sh41 # Later change to: METEOR_REACTIVITY_ORDER=changeStreams,oplog,polling
LOWstart-wekan.sh61 # For local MongoDB replica set named 'rs0':
LOWstart-wekan.sh81 # If at public Internet, required different settings:
LOWstart-wekan.sh101 export MAIL_URL=smtp://user:pass@mailserver.example.com:25/
LOWstart-wekan.sh121 # ==== AFTER OIDC LOGIN, ADD USERS AUTOMATICALLY TO THIS BOARD ID ====
LOWstart-wekan.sh141 #export ATTACHMENTS_UPLOAD_EXTERNAL_PROGRAM="/usr/local/bin/avscan {file}"
LOWstart-wekan.sh161 #---------------------------------------------------------------
LOWstart-wekan.sh181 export BIGEVENTS_PATTERN=NONE
LOWstart-wekan.sh201 # CORS: Set Access-Control-Allow-Origin header. Example: *
LOWstart-wekan.sh221 #---------------------------------------------
LOWstart-wekan.sh241 #---------------------------------------------
LOWstart-wekan.sh261 #
LOWstart-wekan.sh281 #
LOWstart-wekan.sh301 #export OAUTH2_SECRET=<keycloak client secret>
LOWstart-wekan.sh321 #export OAUTH2_SECRET=54321abcde
LOWstart-wekan.sh341 # OAuth2 ID Mapping
LOWstart-wekan.sh361 # LDAP_HOST : The host server for the LDAP server
LOWstart-wekan.sh381 #
LOWstart-wekan.sh401 #
LOWstart-wekan.sh421 #export LDAP_IDLE_TIMEOUT=10000
LOWstart-wekan.sh441 #export LDAP_AUTHENTIFICATION_PASSWORD=
LOWstart-wekan.sh461 export LDAP_BACKGROUND_SYNC_INTERVAL=''
LOWstart-wekan.sh481 #export LDAP_REJECT_UNAUTHORIZED=false
LOWstart-wekan.sh501 #export LDAP_SEARCH_SIZE_LIMIT=0
LOWstart-wekan.sh521 #export LDAP_GROUP_FILTER_GROUP_MEMBER_FORMAT=
LOWstart-wekan.sh541 #export LDAP_FULLNAME_FIELD=
LOWstart-wekan.sh561 #export LDAP_EMAIL_FIELD=
LOWstart-wekan.sh581 # Comma separated list of admin group names to sync.
LOWstart-wekan.sh601 # LOGOUT_ON_MINUTES : The number of minutes
LOWstart-wekan.sh621 #export SAML_IDENTIFIER_FORMAT=
LOWsandstorm.js461
LOWdocker-compose.yml1# Note: Do not add single quotes '' to variables. Having spaces still works without quotes where required.
LOWdocker-compose.yml21# ==== OPTIONAL: DEDICATED DOCKER USER ====
LOWdocker-compose.yml41# docker compose stop
LOWdocker-compose.yml61# docker cp wekan-db:/data/dump .
LOWdocker-compose.yml81# # 10) Exit db container
LOWdocker-compose.yml101 #
LOWdocker-compose.yml121 # - POSTGRES_DB=wekan
LOWdocker-compose.yml141 # expose:
LOWdocker-compose.yml161 # Runs once, before WeKan starts. Exits 0 on success, 1 on fatal error.
LOWdocker-compose.yml181 # # npm ci is used if package-lock.json exists; npm install otherwise.
LOWdocker-compose.yml201 #
LOWdocker-compose.yml261 volumes:
LOWdocker-compose.yml281 # c) Quay:
LOWdocker-compose.yml301 # context: .
LOWdocker-compose.yml321 #-----------------------------------------------------------------
LOWdocker-compose.yml341 # If you have Caddy/Nginx/Apache providing SSL
LOWdocker-compose.yml361 - MAIL_FROM=Wekan Notifications <noreply.wekan@mydomain.com>
LOWdocker-compose.yml381 # - Latency from 50ms to 2000ms
LOWdocker-compose.yml401 # https://github.com/wekan/wekan-logstash
LOWdocker-compose.yml421 # Wekan Export Board works when WITH_API=true.
LOWdocker-compose.yml441 #---------------------------------------------------------------
LOWdocker-compose.yml461 # https://github.com/wekan/wekan/pull/2544
LOWdocker-compose.yml481 # b) All
LOWdocker-compose.yml501 #- EMAIL_NOTIFICATION_TIMEOUT=30000
LOWdocker-compose.yml521 #-----------------------------------------------------------------
LOWdocker-compose.yml541 # ==== AUTOLOGIN WITH OIDC/OAUTH2 ====
LOWdocker-compose.yml561 # OAuth2 login style: popup or redirect.
159 more matches not shown…
Hyper-Verbose Identifiers85 hits · 89 pts
SeverityFileLineSnippet
LOWtests/wekanCreator.import.test.js223function testDefaultSwimlaneCreation() {
LOWserver/methods/fixDuplicateLists.js73async function fixDuplicateListsForBoard(boardId) {
LOWserver/publications/users.js99// function UpdateLastConnectionDateAndLastConnectionAverageTime(lstUsers) {
LOWserver/models/users.js919 function startNotificationCleanupDebounced() {
LOWserver/models/attachmentStorageSettings.js18async function countCollectionDocumentsSafe(db, collectionName) {
LOWserver/models/settings.js72async function isNonAdminAllowedToSendMail(currentUser) {
LOWserver/permissions/attachments.js6function hasUnsafeClientVersionFields(fileObj) {
LOWserver/lib/headerLoginAuth.js50function isTrustedHeaderLoginSource(req) {
LOWserver/lib/headerLoginAuth.js68function hasMeteorLoginTokenCookie(req) {
LOWserver/lib/headerLoginAuth.js79function shouldProcessHeaderLoginMiddlewareRequest(req) {
LOWserver/lib/headerLoginAuth.js96async function findOrCreateHeaderLoginUser(req) {
LOWserver/lib/utils.js17export function allowIsBoardMemberCommentOnly(userId, board) {
LOWserver/lib/utils.js21export function allowIsBoardMemberNoComments(userId, board) {
LOWserver/lib/utils.js26export function allowIsBoardMemberWithWriteAccess(userId, board) {
LOWserver/lib/utils.js31export async function allowIsBoardMemberWithWriteAccessByCard(userId, card) {
LOWserver/routes/universalFileServer.js29async function getAttachmentDownloadLimitSettings() {
LOWserver/routes/universalFileServer.js384 function sanitizeFilenameForHeader(filename) {
LOWserver/routes/universalFileServer.js413 function buildContentDispositionHeader(disposition, sanitizedFilename) {
LOWserver/routes/legacyAttachments.js17function sanitizeFilenameForHeader(filename) {
LOWserver/routes/legacyAttachments.js46function buildContentDispositionHeader(disposition, sanitizedFilename) {
LOWmodels/checklistItems.js170export async function publishChekListUncompleted(userId, doc) {
LOWmodels/users.js697export function hasForbiddenUserUpdateField(fields) {
LOWmodels/attachments.server.js33async function getAttachmentUploadMaxBytes() {
LOWmodels/lib/attachmentBackwardCompatibility.js181export async function getAttachmentWithBackwardCompatibility(attachmentId) {
LOWmodels/lib/attachmentBackwardCompatibility.js203export async function getAttachmentsWithBackwardCompatibility(query) {
LOWmodels/lib/attachmentBackwardCompatibility.js272export function getOldAttachmentDataBuffer(attachmentId) {
LOWmodels/lib/universalUrlGenerator.js54export function generateUniversalAttachmentUrl(attachmentId, version = 'original') {
LOWmodels/lib/universalUrlGenerator.js64export function generateUniversalAvatarUrl(avatarId, version = 'original') {
LOWimports/lib/dateUtils.js46export function formatDateByUserPreference(
LOWdocs/Login/ldap-sync/ldap-sync.py287def update_wekan_team_memberships(ldap_user):
LOWdocs/Login/ldap-sync/ldap-sync.py312def update_wekan_board_memberships(ldap_users):
LOWopenapi/generate_openapi.py120def load_return_type_jsdoc_json(data):
LOWpackages/wekan-ldap/server/loginHandler.js5function fallbackDefaultAccountSystem(bind, username, password) {
LOWpackages/wekan-fullcalendar/fullcalendar/gcal.js6(function webpackUniversalModuleDefinition(root, factory) {
LOW…ckages/wekan-fullcalendar/fullcalendar/fullcalendar.js2226function eventDefsToEventInstances(eventDefs, unzonedRange) {
LOW…ckages/wekan-fullcalendar/fullcalendar/fullcalendar.js2236function eventInstanceToEventRange(eventInstance) {
LOW…ckages/wekan-fullcalendar/fullcalendar/fullcalendar.js2240function eventRangeToEventFootprint(eventRange) {
LOW…ckages/wekan-fullcalendar/fullcalendar/fullcalendar.js2245function eventInstanceToUnzonedRange(eventInstance) {
LOW…ckages/wekan-fullcalendar/fullcalendar/fullcalendar.js2249function eventFootprintToComponentFootprint(eventFootprint) {
LOW…ckages/wekan-fullcalendar/fullcalendar/fullcalendar.js6(function webpackUniversalModuleDefinition(root, factory) {
LOW…ckages/wekan-fullcalendar/fullcalendar/fullcalendar.js341function computeIsLeftRtlScrollbars() {
LOW…ckages/wekan-fullcalendar/fullcalendar/fullcalendar.js566function computeDurationGreatestUnit(duration, durationInput) {
LOW…ckages/wekan-fullcalendar/fullcalendar/fullcalendar.js2356function attachImmediatelyResolvingThen(promise, val) {
LOW…ckages/wekan-fullcalendar/fullcalendar/fullcalendar.js2364function attachImmediatelyRejectingThen(promise) {
LOW…ckages/wekan-fullcalendar/fullcalendar/fullcalendar.js2737function populateInstanceComputableOptions(options) {
LOW…ckages/wekan-fullcalendar/fullcalendar/fullcalendar.js5112function renderFakeFormatStringParts(fakeFormatString, date) {
LOW…ckages/wekan-fullcalendar/fullcalendar/fullcalendar.js5150function queryMostGranularFormatUnit(formatStr) {
LOW…ckages/wekan-fullcalendar/fullcalendar/fullcalendar.js7285 function StandardInteractionsMixin() {
LOW…ckages/wekan-fullcalendar/fullcalendar/fullcalendar.js8170 function BasicViewDateProfileGenerator() {
LOW…ckages/wekan-fullcalendar/fullcalendar/fullcalendar.js8570function isOverlapEventInstancesAllowed(overlapEventFootprints, subjectEventInstance) {
LOW…ckages/wekan-fullcalendar/fullcalendar/fullcalendar.js10571function convertEventsPayloadToLegacyArray(eventsPayload) {
LOW…ckages/wekan-fullcalendar/fullcalendar/fullcalendar.js11518function filterLegacyEventInstances(legacyEventInstances, legacyQuery) {
LOW…ckages/wekan-fullcalendar/fullcalendar/fullcalendar.js12747function groupEventFootprintsByAllDay(eventFootprints) {
LOW…ckages/wekan-fullcalendar/fullcalendar/fullcalendar.js14068 function MonthViewDateProfileGenerator() {
LOW…s/wekan-fontawesome/fontawesome-free/js/fontawesome.js1642 function makeLayersCounterAbstract(params) {
LOW…s/wekan-fontawesome/fontawesome-free/js/fontawesome.js2347 mutationObserverCallbacks: function mutationObserverCallbacks(accumulator) {
LOW…s/wekan-fontawesome/fontawesome-free/js/fontawesome.js2709 mutationObserverCallbacks: function mutationObserverCallbacks(accumulator) {
LOWclient/components/sidebar/sidebar.js788function draggableMembersLabelsWidgets() {
LOWclient/components/sidebar/sidebarFilters.js165function buildInsertionSortIndexes(cardsCount, targetCard, position, listId, swimlaneId) {
LOWclient/components/settings/settingBody.js192function refreshAttachmentStorageSettings(tpl, showLoading = false) {
25 more matches not shown…
Hallucination Indicators3 hits · 30 pts
SeverityFileLineSnippet
CRITICAL…s/wekan-fullcalendar/fullcalendar/lib/jquery-ui.min.js6(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)})(function(t){function e(t){for(var e=
CRITICAL…s/wekan-fullcalendar/fullcalendar/lib/jquery-ui.min.js9}},_updateDatepicker:function(e){this.maxRows=4,m=e,e.dpDiv.empty().append(this._generateHTML(e)),this._attachHandlers(e
CRITICAL…ages/wekan-fullcalendar/fullcalendar/lib/jquery.min.js2!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):f
Excessive Try-Catch Wrapping18 hits · 18 pts
SeverityFileLineSnippet
MEDIUMapi.py396 print(f"Error: {response.status_code}")
MEDIUMapi.py399 print(f"Error in the GET request: {e}")
MEDIUMapi.py792 print(f"Error: File '{filepath}' not found")
MEDIUMapi.py795 print(f"Error reading file: {e}")
MEDIUMapi.py253 print("Error obraining ID.")
MEDIUMapi.py255 print("Error adding card.")
MEDIUMapi.py496 print(f"Error: {body.status_code}")
MEDIUMapi.py520 print(f"Error: {body.status_code}")
MEDIUMapi.py578 print("Error GET:", e)
MEDIUMapi.py607 print(f"Error deleting card: {e}")
MEDIUMapi.py611 print(f"Error getting swimlane cards: {e}")
MEDIUMapi.py629 print(f"Error: {e}")
MEDIUMapi.py732 print(f"Error: {e}")
LOWapi.py398 except Exception as e:
LOWapi.py794 except Exception as e:
LOWapi.py421 except Exception as e:
LOWapi.py577 except Exception as e:
LOWopenapi/generate_openapi.py562 except Exception:
Magic Placeholder Names3 hits · 15 pts
SeverityFileLineSnippet
HIGHdocs/API/User.md99"id":"YOUR-ID-HERE","token":"YOUR-TOKEN-HERE","tokenExpires":"2017-12-23T21:07:10.395Z"}
HIGHdocs/API/User.md105curl -H "Authorization: Bearer YOUR-TOKEN-HERE" \
HIGHdocs/API/User.md121curl -H "Authorization: Bearer YOUR-TOKEN-HERE" \
Self-Referential Comments5 hits · 14 pts
SeverityFileLineSnippet
MEDIUMapi.py55 python3 api.py createlabel BOARDID LABELCOLOR LABELNAME (Color available: `white`, `green`, `yellow`, `orange`,
MEDIUMsnapcraft.yaml280 # Create a basic default Caddyfile for the snap
MEDIUMreleases/docker-build-deps.sh1# Create a new builder instance that supports multi-platform
MEDIUMreleases/snapcraft-local.yaml281 # Create a basic default Caddyfile for the snap
MEDIUMdocs/Platforms/FOSS/Docker/Meteor3/keys.sh12# Create a folder for the key if it doesn't exist
Example Usage Blocks9 hits · 14 pts
SeverityFileLineSnippet
LOWreleases/test-download-urls.sh17# Usage:
LOWreleases/release-website.sh5# Usage:
LOWreleases/rebuild-docs.sh5# Usage:
LOWreleases/build-bundle-ppc64le.sh8# Usage:
LOWreleases/build-bundle-s390x.sh8# Usage:
LOWreleases/build-bundle-armhf.sh11# Usage:
LOWreleases/release-all.sh5# Usage:
LOWreleases/old-build-bundle-arm64.sh8# Usage:
LOW.github/workflows/release-all.yml4# Usage:
Deep Nesting12 hits · 12 pts
SeverityFileLineSnippet
LOWdocs/Login/ldap-sync/ldap-sync.py312
LOWdocs/Login/ldap-sync/ldap-sync.py64
LOWdocs/Login/ldap-sync/ldap-sync.py101
LOWopenapi/generate_openapi.py17
LOWopenapi/generate_openapi.py816
LOWopenapi/generate_openapi.py192
LOWopenapi/generate_openapi.py386
LOWopenapi/generate_openapi.py464
LOWopenapi/generate_openapi.py606
LOWopenapi/generate_openapi.py232
LOWopenapi/generate_openapi.py485
LOWopenapi/generate_openapi.py494
Unused Imports7 hits · 7 pts
SeverityFileLineSnippet
LOWapi.py13
LOWapi.py16
LOWdocs/ImportExport/trello/api.py16
LOWdocs/ImportExport/trello/api.py10
LOWdocs/ImportExport/trello/api.py11
LOWdocs/ImportExport/trello/api.py14
LOWdocs/Login/ldap-sync/ldap-sync.py13
Redundant / Tautological Comments4 hits · 5 pts
SeverityFileLineSnippet
LOWapi.py785 # Read file and convert to base64
LOWdocs/Platforms/FOSS/Docker/Meteor3/backup.sh48# Check if the backup was successful
LOWdocs/Platforms/FOSS/Docker/Meteor3/sh.sh13# Check if the .txt file exists
LOWstacksmith/user-scripts/build.sh61# Check if opting for a release candidate instead of major release
Verbosity Indicators3 hits · 4 pts
SeverityFileLineSnippet
LOWtests/wekanCreator.import.test.js254 // Step 1: Normalize IDs
LOWtests/wekanCreator.import.test.js269 // Step 2: Map swimlanes
LOWtests/wekanCreator.import.test.js275 // Step 3: Verify cards get mapped swimlane IDs
Slop Phrases4 hits · 4 pts
SeverityFileLineSnippet
LOWstart-wekan.sh250 # by installation type, but make sure you have the following:
LOWdocker-compose.yml553 # by installation type, but make sure you have the following:
LOWdocker-compose.yml586 # by installation type, but make sure you have the following:
LOWreleases/virtualbox/start-wekan.sh153 # by installation type, but make sure you have the following:
Fake / Example Data1 hit · 1 pts
SeverityFileLineSnippet
LOWdocs/Webserver/Caddy.md719ExecStart=/home/username/caddy/caddy -conf=/home/username/caddy/Caddyfile -agree -email="admin@example.com"