Share settings invalid

I am using:
npm: 10.8.2
nodejs: v20.17.0
pigallery2 release
This is not the docker container.
I am using the admin account, but I seem unable to share even with sharing enabled.

I also tried to use the latest from master, but I was unable to start that version with npm
Error: Cannot find module '/home/jubei/Downloads/pigallery2/src/backend/index'
    at Module._resolveFilename (node:internal/modules/cjs/loader:1225:15)
    at Module._load (node:internal/modules/cjs/loader:1051:27)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:174:12)
    at node:internal/main/run_main_module:28:49 {
  code: 'MODULE_NOT_FOUND',

As for verison 2.0, here is my config.
{
    "Server": {
        "applicationTitle": "PiGallery 2",
        "//[publicUrl]": [
            "If you access the page form local network its good to know the public url for creating sharing link."
        ],
        "publicUrl": "http://<IP_ADDRESS>",
        "//[urlBase]": [
            "If you access the gallery under a sub url (like: http://mydomain.com/myGallery), set it here. If it is not working you might miss the '/' from the beginning of the url."
        ],
        "urlBase": "",
        "//[apiPath]": "PiGallery api path.",
        "apiPath": "/pgapi",
        "//[customHTMLHead]": [
            "Injects the content of this between the <head></head> HTML tags of the app. (You can use it add analytics or custom code to the app)."
        ],
        "customHTMLHead": "",
        "//[svgIcon]": [
            "Sets the icon of the app"
        ],
        "svgIcon": {
            "//[viewBox]": [
                "SVG path viewBox. See: https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/viewBox"
            ],
            "viewBox": "0 0 512 512",
            "//[items]": [
                "Content elements (paths, circles, rects) of the SVG icon. Icons used on the map: fontawesome.com/icons."

        ],
        "sessionTimeout": 604800000,
        "//[port]": [
            "Port number. Port 80 is usually what you need."
        ],
        "port": 80,
        "//[host]": [
            "Server will accept connections from this IPv6 or IPv4 address."
        ],
        "host": "<IP_ADDRESS>",
        "Threading": {
            "//[enabled]": [
                "[Deprecated, will be removed in the next release] Runs directory scanning and thumbnail generation in a different thread."
            ],
            "enabled": false,
            "//[thumbnailThreads]": [
                "Number of threads that are used to generate thumbnails. If 0, number of 'CPU cores -1' threads will be used."
            ],
            "thumbnailThreads": 0
        },
        "Log": {
            "//[level]": [
                "Logging level."
            ],
            "level": "info",
            "//[sqlLevel]": [
                "Logging level for SQL queries."
            ],
            "sqlLevel": "error",
            "//[logServerTiming]": [
                "If enabled, the app ads \"Server-Timing\" http header to the response."
            ],
            "logServerTiming": false
        }
    },
    "Users": {
        "//[authenticationRequired]": [
            "Enables user management with login to password protect the gallery."
        ],
        "authenticationRequired": true,
        "//[unAuthenticatedUserRole]": [
            "Default user right when password protection is disabled."
        ],
        "unAuthenticatedUserRole": "Admin",
        "//[enforcedUsers]": [
            "Creates these users in the DB during startup if they do not exist. If a user with this name exist, it won't be overwritten, even if the role is different."
        ],
        "enforcedUsers": []
    },
    "Gallery": {
        "//[enableCache]": [
            "Caches directory contents and search results for better performance."
        ],
        "enableCache": true,
        "//[enableOnScrollRendering]": [
            "Those thumbnails get higher priority that are visible on the screen."
        ],
        "enableOnScrollRendering": true,
        "//[enableDirectorySortingByDate]": [
            "If enabled, directories will be sorted by date, like photos, otherwise by name. Directory date is the last modification time of that directory not the creation date of the oldest photo."
        ],
        "enableDirectorySortingByDate": false,
        "//[enableOnScrollThumbnailPrioritising]": [
            "Those thumbnails will be rendered first that are in view."
        ],
        "enableOnScrollThumbnailPrioritising": true,
        "NavBar": {
            "//[enableDownloadZip]": [
                "Enable download zip of a directory contents Directory flattening. (Does not work for searches.)"
            ],
            "enableDownloadZip": false,
            "//[enableDirectoryFlattening]": [
                "Adds a button to flattens the file structure, by listing the content of all subdirectories. (Won't work if the gallery has multiple folders with the same path.)"
            ],
            "enableDirectoryFlattening": false,
            "//[defaultGidSize]": [
                "Default grid size that is used to render photos and videos."
            ],
            "defaultGidSize": "medium",
            "//[showItemCount]": [
                "Shows the number photos and videos on the navigation bar."
            ],
            "showItemCount": true,
            "//[links]": [
                "Visible links in the top menu."
            ],
            "links": [
                {
                    "type": "gallery"
                },
                {
                    "type": "albums"
                },
                {
                    "type": "faces"
                }
            ],
            "//[NavbarShowDelay]": [
                "Ratio of the page height, you need to scroll to show the navigation bar."
            ],
            "NavbarShowDelay": 0.3,
            "//[NavbarHideDelay]": [
                "Ratio of the page height, you need to scroll to hide the navigation bar."
            ],
            "NavbarHideDelay": 0.15,
            "//[showScrollUpButton]": [
                "Set when the floating scroll-up button should be visible."
            ],
            "showScrollUpButton": "mobileOnly",
            "SortingGrouping": {
                "//[defaultPhotoSortingMethod]": [
                    "Default sorting method for photo and video in a directory results."
                ],
                "defaultPhotoSortingMethod": {
                    "method": "Date",
                    "ascending": true
                },
                "//[defaultSearchSortingMethod]": [
                    "Default sorting method for photo and video in a search results."
                ],
                "defaultSearchSortingMethod": {
                    "method": "Date",
                    "ascending": false
                },
                "//[defaultPhotoGroupingMethod]": [
                    "Default grouping method for photo and video in a directory results."
                ],
                "defaultPhotoGroupingMethod": {
                    "method": "Date",
                    "ascending": true
                },
                "//[defaultSearchGroupingMethod]": [
                    "Default grouping method for photo and video in a search results."
                ],
                "defaultSearchGroupingMethod": {
                    "method": "Date",
                    "ascending": false
                }
            }
        },
        "//[captionFirstNaming]": [
            "Show the caption (IPTC 120) tags from the EXIF data instead of the filenames."
        ],
        "captionFirstNaming": false,
        "Lightbox": {
            "//[defaultSlideshowSpeed]": [
                "Default time interval for displaying a photo in the slide show."
            ],
            "defaultSlideshowSpeed": 5,
            "//[captionAlwaysOn]": [
                "If enabled, lightbox will always show caption by default, not only on hover."
            ],
            "captionAlwaysOn": false,
            "//[facesAlwaysOn]": [
                "If enabled, lightbox will always show faces by default, not only on hover."
            ],
            "facesAlwaysOn": false,
            "//[loopVideos]": [
                "If enabled, lightbox will loop videos by default."
            ],
            "loopVideos": false
        },
        "//[Themes]": [
            "Pigallery2 uses Bootstrap 5.3 (https://getbootstrap.com/docs/5.3) for design (css, layout). In dark mode it sets 'data-bs-theme=\"dark\"' to the <html> to take advantage bootstrap's color modes. For theming, read more at: https://getbootstrap.com/docs/5.3/customize/color-modes/"
        ],
        "Themes": {
            "//[enabled]": [
                "Enable themes and color modes."
            ],
            "enabled": true,
            "//[defaultMode]": [
                "Sets the default theme mode that is used for the application."
            ],
            "defaultMode": "auto",
            "//[selectedTheme]": [
                "Selected theme to use on the site."
            ],
            "selectedTheme": "classic",
            "//[availableThemes]": [
                "Adds these css settings as it is to the end of the body tag of the page."
            ],
            "availableThemes": [
                {
                    "//[name]": [
                        "Name of the theme"
                    ],
                    "name": "classic",
                    "//[theme]": [
                        "Adds these css settings as it is to the end of the body tag of the page."
                    ],
                    "theme": ":root nav.navbar {\n--bs-navbar-color: rgba(255, 255, 255, 0.55);\n--bs-navbar-hover-color: rgba(255, 255, 255, 0.75);\n--bs-navbar-disabled-color: rgba(255, 255, 255, 0.25);\n--bs-navbar-active-color: #fff;\n--bs-navbar-brand-color: #fff;\n--bs-navbar-brand-hover-color: #fff;\n--bs-bg-opacity: 1;\nbackground-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important;\n}"
                }
            ]
        },
        "//[InlineBlogStartsOpen]": [
            "Makes inline blog (*.md files content) to be auto open."
        ],
        "InlineBlogStartsOpen": false,
        "//[TopBlogStartsOpen]": [
            "Makes inline blog (*.md files content) to be auto open."
        ],
        "TopBlogStartsOpen": false
    },
    "Media": {
        "Thumbnail": {
            "//[iconSize]": [
                "Icon size (used on maps)."
            ],
            "iconSize": 45,
            "//[personThumbnailSize]": [
                "Person (face) thumbnail size."
            ],
            "personThumbnailSize": 200,
            "//[thumbnailSizes]": [
                "Size of the thumbnails. The best matching size will be generated. More sizes give better quality, but use more storage and CPU to render. If size is 240, that shorter side of the thumbnail will have 160 pixels."
            ],
            "thumbnailSizes": [
                240,
                480
            ],
            "//[useLanczos3]": [
                "if true, 'lanczos3' will used to scale photos, otherwise faster but lower quality 'nearest'."
            ],
            "useLanczos3": true,
            "//[quality]": [
                "Between 0-100."
            ],
            "quality": 80,
            "//[smartSubsample]": [
                "Use high quality chroma subsampling in webp. See: https://sharp.pixelplumbing.com/api-output#webp."
            ],
            "smartSubsample": true,
            "//[personFaceMargin]": [
                "This ratio of the face bounding box will be added to the face as a margin. Higher number add more margin."
            ],
            "personFaceMargin": 0.7
        },
        "//[Video]": [
            "Video support uses ffmpeg. ffmpeg and ffprobe binaries need to be available in the PATH or the @ffmpeg-installer/ffmpeg and @ffprobe-installer/ffprobe optional node packages need to be installed."
        ],
        "Video": {
            "enabled": true,
            "//[supportedFormatsWithTranscoding]": [
                "Video formats that are supported after transcoding (with the build-in ffmpeg support)."
            ],
            "supportedFormatsWithTranscoding": [
                "avi",
                "mkv",
                "mov",
                "wmv",
                "flv",
                "mts",
                "m2ts",
                "mpg",
                "3gp",
                "m4v",
                "mpeg",
                "vob",
                "divx",
                "xvid",
                "ts"
            ],
            "//[supportedFormats]": [
                "Video formats that are supported also without transcoding. Browser supported formats: https://www.w3schools.com/html/html5_video.asp"
            ],
            "supportedFormats": [
                "mp4",
                "webm",
                "ogv",
                "ogg"
            ],
            "//[transcoding]": [
                "To ensure smooth video playback, video transcoding is recommended to a lower bit rate than the server's upload rate.   The transcoded videos will be save to the thumbnail folder.  You can trigger the transcoding manually, but you can also create an automatic encoding job in advanced settings mode."
            ],
            "transcoding": {
                "//[bitRate]": [
                    "Target bit rate of the output video will be scaled down this this. This should be less than the upload rate of your home server."
                ],
                "bitRate": 5242880,
                "//[resolution]": [
                    "The height of the output video will be scaled down to this, while keeping the aspect ratio."
                ],
                "resolution": 720,
                "//[fps]": [
                    "Target frame per second (fps) of the output video will be scaled down this this."
                ],
                "fps": 25,
                "format": "mp4",
                "mp4Codec": "libx264",
                "webmCodec": "libvpx",
                "//[crf]": [
                    "The range of the Constant Rate Factor (CRF) scale is 0–51, where 0 is lossless, 23 is the default, and 51 is worst quality possible."
                ],
                "crf": 23,
                "//[preset]": [
                    "A preset is a collection of options that will provide a certain encoding speed to compression ratio. A slower preset will provide better compression (compression is quality per filesize)."
                ],
                "preset": "medium",
                "//[customOutputOptions]": [
                    "It will be sent to ffmpeg as it is, as custom output options."
                ],
                "customOutputOptions": [],
                "//[customInputOptions]": [
                    "It will be sent to ffmpeg as it is, as custom input options."
                ],
                "customInputOptions": []
            }
        },
        "Photo": {
            "Converting": {
                "//[enabled]": [
                    "Enable photo converting."
                ],
                "enabled": true,
                "//[loadFullImageOnZoom]": [
                    "Enables loading the full resolution image on zoom in the ligthbox (preview)."
                ],
                "loadFullImageOnZoom": true,
                "//[onTheFly]": [
                    "Converts photos on the fly, when they are requested."
                ],
                "onTheFly": true,
                "//[resolution]": [
                    "The shorter edge of the converted photo will be scaled down to this, while keeping the aspect ratio."
                ],
                "resolution": 1080
            },
            "//[supportedFormats]": [
                "Photo formats that are supported. Browser needs to support these formats natively. Also sharp (libvips) package should be able to convert these formats."
            ],
            "supportedFormats": [
                "gif",
                "jpeg",
                "jpg",
                "jpe",
                "png",
                "webp",
                "svg"
            ]
        },
        "//[folder]": [
            "Images are loaded from this folder (read permission required)"
        ],
        "folder": "demo/images",
        "//[tempFolder]": [
            "Thumbnails, converted photos, videos will be stored here (write permission required)"
        ],
        "tempFolder": "demo/tmp",
        "//[photoMetadataSize]": [
            "Only this many bites will be loaded when scanning photo/video for metadata. Increase this number if your photos shows up as square."
        ],
        "photoMetadataSize": 524288
    },
    "MetaFile": {
        "//[gpx]": [
            "Reads *.gpx files and renders them on the map."
        ],
        "gpx": true,
        "GPXCompressing": {
            "//[enabled]": [
                "Enables lossy (based on delta time and distance. Too frequent points are removed) GPX compression."
            ],
            "enabled": true,
            "//[onTheFly]": [
                "Enables on the fly *.gpx compression."
            ],
            "onTheFly": true,
            "//[minDistance]": [
                "Filters out entry that are closer than this to each other in meters."
            ],
            "minDistance": 5,
            "//[maxMiddleDeviance]": [
                "Filters out entry that would fall on the line if we would just connect the previous and the next points. This setting sets the sensitivity for that (higher number, more points are filtered)."
            ],
            "maxMiddleDeviance": 5,
            "//[minTimeDistance]": [
                "Filters out entry that are closer than this in time in milliseconds."
            ],
            "minTimeDistance": 5000
        },
        "//[markdown]": [
            "Reads *.md files in a directory and shows the next to the map."
        ],
        "markdown": true,
        "//[pg2conf]": [
            "Reads *.pg2conf files (You can use it for custom sorting and saved search (albums))."
        ],
        "pg2conf": true,
        "//[supportedFormats]": [
            "The app will read and process these files."
        ],
        "supportedFormats": [
            "gpx",
            "pg2conf",
            "md"
        ]
    },
    "Album": {
        "enabled": true
    },
    "Search": {
        "//[enabled]": [
            "Enables searching."
        ],
        "enabled": true,
        "//[searchCacheTimeout]": [
            "Search cache timeout."
        ],
        "searchCacheTimeout": 3600000,
        "AutoComplete": {
            "//[enabled]": [
                "Show hints while typing search query."
            ],
            "enabled": true,
            "//[ItemsPerCategory]": [
                "Maximum number autocomplete items shown per category."
            ],
            "ItemsPerCategory": {
                "//[maxItems]": [
                    "Maximum number autocomplete items shown at once. If there is not enough items to reach this value, it takes upto double of the individual items."
                ],
                "maxItems": 20,
                "//[fileName]": [
                    "Maximum number autocomplete items shown per photo category."
                ],
                "fileName": 2,
                "//[directory]": [
                    "Maximum number autocomplete items shown per directory category."
                ],
                "directory": 2,
                "//[caption]": [
                    "Maximum number autocomplete items shown per caption category."
                ],
                "caption": 3,
                "//[position]": [
                    "Maximum number autocomplete items shown per position category."
                ],
                "position": 3,
                "//[person]": [
                    "Maximum number autocomplete items shown per faces category."
                ],
                "person": 5,
                "//[keyword]": [
                    "Maximum number autocomplete items shown per keyword category."
                ],
                "keyword": 5
            },
            "//[cacheTimeout]": [
                "Autocomplete cache timeout. "
            ],
            "cacheTimeout": 3600000
        },
        "//[maxMediaResult]": [
            "Maximum number of photos and videos that are listed in one search result."
        ],
        "maxMediaResult": 10000,
        "//[maxDirectoryResult]": [
            "Maximum number of directories that are listed in one search result."
        ],
        "maxDirectoryResult": 200,
        "//[listDirectories]": [
            "Search returns also with directories, not just media."
        ],
        "listDirectories": false,
        "//[listMetafiles]": [
            "Search also returns with metafiles from directories that contain a media file of the matched search result."
        ],
        "listMetafiles": true
    },
    "Sharing": {
        "//[enabled]": [
            "Enables sharing."
        ],
        "enabled": true,
        "//[passwordProtected]": [
            "Enables password protected sharing links."
        ],
        "passwordProtected": true,
        "//[updateTimeout]": [
            "After creating a sharing link, it can be updated for this long."
        ],
        "updateTimeout": 300000
    },
    "Map": {
        "enabled": true,
        "//[useImageMarkers]": [
            "Map will use thumbnail images as markers instead of the default pin."
        ],
        "useImageMarkers": true,
        "mapProvider": "OpenStreetMap",
        "//[mapboxAccessToken]": [
            "MapBox needs an access token to work, create one at https://www.mapbox.com."
        ],
        "mapboxAccessToken": "",
        "//[customLayers]": [
            "The map module will use these urls to fetch the map tiles."
        ],
        "customLayers": [
            {
                "//[name]": [
                    "Name of a map layer."
                ],
                "name": "street",
                "//[url]": [
                    "Url of a map layer."
                ],
                "url": "",
                "//[darkLayer]": [
                    "Sets if the layer is dark (used as default in the dark mode)."
                ],
                "darkLayer": false
            }
        ],
        "//[maxPreviewMarkers]": [
            "Maximum number of markers to be shown on the map preview on the gallery page."
        ],
        "maxPreviewMarkers": 50,
        "//[MapPathGroupConfig]": [
            "Markers are grouped and themed by these settings"
        ],
        "MapPathGroupConfig": [
            {
                "//[name]": [
                    "Name of the marker and path group on the map."
                ],
                "name": "Transportation",
                "//[matchers]": [
                    "Matchers for a given map and path theme."
                ],
                "matchers": [
                    {
                        "//[matchers]": [
                            "List of regex string to match the name of the path. Case insensitive. Empty list matches everything."
                        ],
                        "matchers": [
                            "flight",
                            "flying"
                        ],
                        "//[theme]": [
                            "List of regex string to match the name of the path."
                        ],
                        "theme": {
                            "//[color]": [
                                "Color of the path. Use any valid css colors."
                            ],
                            "color": "var(--bs-orange)",
                            "//[dashArray]": [
                                "Dash pattern of the path. Represents the spacing and length of the dash. Read more about dash array at: https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-dasharray."
                            ],
                            "dashArray": "4 8",
                            "//[svgIcon]": [
                                "Set the icon of the map marker pin."
                            ],
                            "svgIcon": {
                                "//[viewBox]": [
                                    "SVG path viewBox. See: https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/viewBox"
                                ],
                                "viewBox": "0 0 567 512",
                                "//[items]": [
                                    "Content elements (paths, circles, rects) of the SVG icon. Icons used on the map: fontawesome.com/icons."
                                ],
                                "items": "<path d=\"M482.3 192c34.2 0 93.7 29 93.7 64c0 36-59.5 64-93.7 64l-116.6 0L265.2 495.9c-5.7 10-16.3 16.1-27.8 16.1l-56.2 0c-10.6 0-18.3-10.2-15.4-20.4l49-171.6L112 320 68.8 377.6c-3 4-7.8 6.4-12.8 6.4l-42 0c-7.8 0-14-6.3-14-14c0-1.3 .2-2.6 .5-3.9L32 256 .5 145.9c-.4-1.3-.5-2.6-.5-3.9c0-7.8 6.3-14 14-14l42 0c5 0 9.8 2.4 12.8 6.4L112 192l102.9 0-49-171.6C162.9 10.2 170.6 0 181.2 0l56.2 0c11.5 0 22.1 6.2 27.8 16.1L365.7 192l116.6 0z\"/>"
                            }
                        }
                    },
                    {
                        "//[matchers]": [
                            "List of regex string to match the name of the path. Case insensitive. Empty list matches everything."
                        ],
                        "matchers": [
                            "drive",
                            "driving"
                        ],
                        "//[theme]": [
                            "List of regex string to match the name of the path."
                        ],
                        "theme": {
                            "//[color]": [
                                "Color of the path. Use any valid css colors."
                            ],
                            "color": "var(--bs-orange)",
                            "//[dashArray]": [
                                "Dash pattern of the path. Represents the spacing and length of the dash. Read more about dash array at: https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-dasharray."
                            ],
                            "dashArray": "4 8",
                            "//[svgIcon]": [
                                "Set the icon of the map marker pin."
                            ],
                            "svgIcon": {
                                "//[viewBox]": [
                                    "SVG path viewBox. See: https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/viewBox"
                                ],
                                "viewBox": "0 0 640 512",
                                "//[items]": [
                                    "Content elements (paths, circles, rects) of the SVG icon. Icons used on the map: fontawesome.com/icons."
                                ],
                                "items": "<path d=\"M171.3 96H224v96H111.3l30.4-75.9C146.5 104 158.2 96 171.3 96zM272 192V96h81.2c9.7 0 18.9 4.4 25 12l67.2 84H272zm256.2 1L428.2 68c-18.2-22.8-45.8-36-75-36H171.3c-39.3 0-74.6 23.9-89.1 60.3L40.6 196.4C16.8 205.8 0 228.9 0 256V368c0 17.7 14.3 32 32 32H65.3c7.6 45.4 47.1 80 94.7 80s87.1-34.6 94.7-80H385.3c7.6 45.4 47.1 80 94.7 80s87.1-34.6 94.7-80H608c17.7 0 32-14.3 32-32V320c0-65.2-48.8-119-111.8-127zM434.7 368a48 48 0 1 1 90.5 32 48 48 0 1 1 -90.5-32zM160 336a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"/>"
                            }
                        }
                    },
                    {
                        "//[matchers]": [
                            "List of regex string to match the name of the path. Case insensitive. Empty list matches everything."
                        ],
                        "matchers": [
                            "ship",
                            "sailing",
                            "cruise"
                        ],
                        "//[theme]": [
                            "List of regex string to match the name of the path."
                        ],
                        "theme": {
                            "//[color]": [
                                "Color of the path. Use any valid css colors."
                            ],
                            "color": "var(--bs-orange)",
                            "//[dashArray]": [
                                "Dash pattern of the path. Represents the spacing and length of the dash. Read more about dash array at: https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-dasharray."
                            ],
                            "dashArray": "4 8",
                            "//[svgIcon]": [
                                "Set the icon of the map marker pin."
                            ],
                            "svgIcon": {
                                "//[viewBox]": [
                                    "SVG path viewBox. See: https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/viewBox"
                                ],
                                "viewBox": "0 0 576 512",
                                "//[items]": [
                                    "Content elements (paths, circles, rects) of the SVG icon. Icons used on the map: fontawesome.com/icons."
                                ],
                                "items": "<path d=\"M256 16c0-7 4.5-13.2 11.2-15.3s13.9 .4 17.9 6.1l224 320c3.4 4.9 3.8 11.3 1.1 16.6s-8.2 8.6-14.2 8.6H272c-8.8 0-16-7.2-16-16V16zM212.1 96.5c7 1.9 11.9 8.2 11.9 15.5V336c0 8.8-7.2 16-16 16H80c-5.7 0-11-3-13.8-8s-2.9-11-.1-16l128-224c3.6-6.3 11-9.4 18-7.5zM5.7 404.3C2.8 394.1 10.5 384 21.1 384H554.9c10.6 0 18.3 10.1 15.4 20.3l-4 14.3C550.7 473.9 500.4 512 443 512H133C75.6 512 25.3 473.9 9.7 418.7l-4-14.3z\"/>"
                            }
                        }
                    }
                ]
            },
            {
                "//[name]": [
                    "Name of the marker and path group on the map."
                ],
                "name": "Sport",
                "//[matchers]": [
                    "Matchers for a given map and path theme."
                ],
                "matchers": [
                    {
                        "//[matchers]": [
                            "List of regex string to match the name of the path. Case insensitive. Empty list matches everything."
                        ],
                        "matchers": [
                            "run"
                        ],
                        "//[theme]": [
                            "List of regex string to match the name of the path."
                        ],
                        "theme": {
                            "//[color]": [
                                "Color of the path. Use any valid css colors."
                            ],
                            "color": "var(--bs-primary)",
                            "//[dashArray]": [
                                "Dash pattern of the path. Represents the spacing and length of the dash. Read more about dash array at: https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-dasharray."
                            ],
                            "dashArray": "",
                            "//[svgIcon]": [
                                "Set the icon of the map marker pin."
                            ],
                            "svgIcon": {
                                "//[viewBox]": [
                                    "SVG path viewBox. See: https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/viewBox"
                                ],
                                "viewBox": "0 0 417 512",
                                "//[items]": [
                                    "Content elements (paths, circles, rects) of the SVG icon. Icons used on the map: fontawesome.com/icons."
                                ],
                                "items": "<path d=\"M320 48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM125.7 175.5c9.9-9.9 23.4-15.5 37.5-15.5c1.9 0 3.8 .1 5.6 .3L137.6 254c-9.3 28 1.7 58.8 26.8 74.5l86.2 53.9-25.4 88.8c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l28.7-100.4c5.9-20.6-2.6-42.6-20.7-53.9L238 299l30.9-82.4 5.1 12.3C289 264.7 323.9 288 362.7 288H384c17.7 0 32-14.3 32-32s-14.3-32-32-32H362.7c-12.9 0-24.6-7.8-29.5-19.7l-6.3-15c-14.6-35.1-44.1-61.9-80.5-73.1l-48.7-15c-11.1-3.4-22.7-5.2-34.4-5.2c-31 0-60.8 12.3-82.7 34.3L57.4 153.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l23.1-23.1zM91.2 352H32c-17.7 0-32 14.3-32 32s14.3 32 32 32h69.6c19 0 36.2-11.2 43.9-28.5L157 361.6l-9.5-6c-17.5-10.9-30.5-26.8-37.9-44.9L91.2 352z\"/>"
                            }
                        }
                    },
                    {
                        "//[matchers]": [
                            "List of regex string to match the name of the path. Case insensitive. Empty list matches everything."
                        ],
                        "matchers": [
                            "walk"
                        ],
                        "//[theme]": [
                            "List of regex string to match the name of the path."
                        ],
                        "theme": {
                            "//[color]": [
                                "Color of the path. Use any valid css colors."
                            ],
                            "color": "var(--bs-primary)",
                            "//[dashArray]": [
                                "Dash pattern of the path. Represents the spacing and length of the dash. Read more about dash array at: https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-dasharray."
                            ],
                            "dashArray": "",
                            "//[svgIcon]": [
                                "Set the icon of the map marker pin."
                            ],
                            "svgIcon": {
                                "//[viewBox]": [
                                    "SVG path viewBox. See: https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/viewBox"
                                ],
                                "viewBox": "0 0 320 512",
                                "//[items]": [
                                    "Content elements (paths, circles, rects) of the SVG icon. Icons used on the map: fontawesome.com/icons."
                                ],
                                "items": "<path d=\"M160 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM126.5 199.3c-1 .4-1.9 .8-2.9 1.2l-8 3.5c-16.4 7.3-29 21.2-34.7 38.2l-2.6 7.8c-5.6 16.8-23.7 25.8-40.5 20.2s-25.8-23.7-20.2-40.5l2.6-7.8c11.4-34.1 36.6-61.9 69.4-76.5l8-3.5c20.8-9.2 43.3-14 66.1-14c44.6 0 84.8 26.8 101.9 67.9L281 232.7l21.4 10.7c15.8 7.9 22.2 27.1 14.3 42.9s-27.1 22.2-42.9 14.3L247 287.3c-10.3-5.2-18.4-13.8-22.8-24.5l-9.6-23-19.3 65.5 49.5 54c5.4 5.9 9.2 13 11.2 20.8l23 92.1c4.3 17.1-6.1 34.5-23.3 38.8s-34.5-6.1-38.8-23.3l-22-88.1-70.7-77.1c-14.8-16.1-20.3-38.6-14.7-59.7l16.9-63.5zM68.7 398l25-62.4c2.1 3 4.5 5.8 7 8.6l40.7 44.4-14.5 36.2c-2.4 6-6 11.5-10.6 16.1L54.6 502.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L68.7 398z\"/>"
                            }
                        }
                    },
                    {
                        "//[matchers]": [
                            "List of regex string to match the name of the path. Case insensitive. Empty list matches everything."
                        ],
                        "matchers": [
                            "hike",
                            "hiking"
                        ],
                        "//[theme]": [
                            "List of regex string to match the name of the path."
                        ],
                        "theme": {
                            "//[color]": [
                                "Color of the path. Use any valid css colors."
                            ],
                            "color": "var(--bs-primary)",
                            "//[dashArray]": [
                                "Dash pattern of the path. Represents the spacing and length of the dash. Read more about dash array at: https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-dasharray."
                            ],
                            "dashArray": "",
                            "//[svgIcon]": [
                                "Set the icon of the map marker pin."
                            ],
                            "svgIcon": {
                                "//[viewBox]": [
                                    "SVG path viewBox. See: https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/viewBox"
                                ],
                                "viewBox": "0 0 384 512",
                                "//[items]": [
                                    "Content elements (paths, circles, rects) of the SVG icon. Icons used on the map: fontawesome.com/icons."
                                ],
                                "items": "<path d=\"M192 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm51.3 182.7L224.2 307l49.7 49.7c9 9 14.1 21.2 14.1 33.9V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V397.3l-73.9-73.9c-15.8-15.8-22.2-38.6-16.9-60.3l20.4-84c8.3-34.1 42.7-54.9 76.7-46.4c19 4.8 35.6 16.4 46.4 32.7L305.1 208H336V184c0-13.3 10.7-24 24-24s24 10.7 24 24v55.8c0 .1 0 .2 0 .2s0 .2 0 .2V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V272H296.6c-16 0-31-8-39.9-21.4l-13.3-20zM81.1 471.9L117.3 334c3 4.2 6.4 8.2 10.1 11.9l41.9 41.9L142.9 488.1c-4.5 17.1-22 27.3-39.1 22.8s-27.3-22-22.8-39.1zm55.5-346L101.4 266.5c-3 12.1-14.9 19.9-27.2 17.9l-47.9-8c-14-2.3-22.9-16.3-19.2-30L31.9 155c9.5-34.8 41.1-59 77.2-59h4.2c15.6 0 27.1 14.7 23.3 29.8z\"/>"
                            }
                        }
                    },
                    {
                        "//[matchers]": [
                            "List of regex string to match the name of the path. Case insensitive. Empty list matches everything."
                        ],
                        "matchers": [
                            "bike",
                            "biking",
                            "cycling"
                        ],
                        "//[theme]": [
                            "List of regex string to match the name of the path."
                        ],
                        "theme": {
                            "//[color]": [
                                "Color of the path. Use any valid css colors."
                            ],
                            "color": "var(--bs-primary)",
                            "//[dashArray]": [
                                "Dash pattern of the path. Represents the spacing and length of the dash. Read more about dash array at: https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-dasharray."
                            ],
                            "dashArray": "",
                            "//[svgIcon]": [
                                "Set the icon of the map marker pin."
                            ],
                            "svgIcon": {
                                "//[viewBox]": [
                                    "SVG path viewBox. See: https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/viewBox"
                                ],
                                "viewBox": "0 0 640 512",
                                "//[items]": [
                                    "Content elements (paths, circles, rects) of the SVG icon. Icons used on the map: fontawesome.com/icons."
                                ],
                                "items": "<path d=\"M400 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm27.2 64l-61.8-48.8c-17.3-13.6-41.7-13.8-59.1-.3l-83.1 64.2c-30.7 23.8-28.5 70.8 4.3 91.6L288 305.1V416c0 17.7 14.3 32 32 32s32-14.3 32-32V288c0-10.7-5.3-20.7-14.2-26.6L295 232.9l60.3-48.5L396 217c5.7 4.5 12.7 7 20 7h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H427.2zM56 384a72 72 0 1 1 144 0A72 72 0 1 1 56 384zm200 0A128 128 0 1 0 0 384a128 128 0 1 0 256 0zm184 0a72 72 0 1 1 144 0 72 72 0 1 1 -144 0zm200 0a128 128 0 1 0 -256 0 128 128 0 1 0 256 0z\"/>"
                            }
                        }
                    },
                    {
                        "//[matchers]": [
                            "List of regex string to match the name of the path. Case insensitive. Empty list matches everything."
                        ],
                        "matchers": [
                            "skiing",
                            "ski"
                        ],
                        "//[theme]": [
                            "List of regex string to match the name of the path."
                        ],
                        "theme": {
                            "//[color]": [
                                "Color of the path. Use any valid css colors."
                            ],
                            "color": "var(--bs-primary)",
                            "//[dashArray]": [
                                "Dash pattern of the path. Represents the spacing and length of the dash. Read more about dash array at: https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-dasharray."
                            ],
                            "dashArray": "",
                            "//[svgIcon]": [
                                "Set the icon of the map marker pin."
                            ],
                            "svgIcon": {
                                "//[viewBox]": [
                                    "SVG path viewBox. See: https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/viewBox"
                                ],
                                "viewBox": "0 0 512 512",
                                "//[items]": [
                                    "Content elements (paths, circles, rects) of the SVG icon. Icons used on the map: fontawesome.com/icons."
                                ],
                                "items": "<path d=\"M380.7 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM2.7 268.9c6.1-11.8 20.6-16.3 32.4-10.2L232.7 361.3l46.2-69.2-75.1-75.1c-14.6-14.6-20.4-33.9-18.4-52.1l108.8 52 39.3 39.3c16.2 16.2 18.7 41.5 6 60.6L289.8 391l128.7 66.8c13.6 7.1 29.8 7.2 43.6 .3l15.2-7.6c11.9-5.9 26.3-1.1 32.2 10.7s1.1 26.3-10.7 32.2l-15.2 7.6c-27.5 13.7-59.9 13.5-87.2-.7L12.9 301.3C1.2 295.2-3.4 280.7 2.7 268.9zM118.9 65.6L137 74.2l8.7-17.4c4-7.9 13.6-11.1 21.5-7.2s11.1 13.6 7.2 21.5l-8.5 16.9 54.7 26.2c1.5-.7 3.1-1.4 4.7-2.1l83.4-33.4c34.2-13.7 72.8 4.2 84.5 39.2l17.1 51.2 52.1 26.1c15.8 7.9 22.2 27.1 14.3 42.9s-27.1 22.2-42.9 14.3l-58.1-29c-11.4-5.7-20-15.7-24.1-27.8l-5.8-17.3-27.3 12.1-6.8 3-6.7-3.2L151.5 116.7l-9.2 18.4c-4 7.9-13.6 11.1-21.5 7.2s-11.1-13.6-7.2-21.5l9-18-17.6-8.4c-8-3.8-11.3-13.4-7.5-21.3s13.4-11.3 21.3-7.5z\"/>"
                            }
                        }
                    }
                ]
            },
            {
                "//[name]": [
                    "Name of the marker and path group on the map."
                ],
                "name": "Other paths",
                "//[matchers]": [
                    "Matchers for a given map and path theme."
                ],
                "matchers": [
                    {
                        "//[matchers]": [
                            "List of regex string to match the name of the path. Case insensitive. Empty list matches everything."
                        ],
                        "matchers": [],
                        "//[theme]": [
                            "List of regex string to match the name of the path."
                        ],
                        "theme": {
                            "//[color]": [
                                "Color of the path. Use any valid css colors."
                            ],
                            "color": "var(--bs-secondary)",
                            "//[dashArray]": [
                                "Dash pattern of the path. Represents the spacing and length of the dash. Read more about dash array at: https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-dasharray."
                            ],
                            "dashArray": "",
                            "//[svgIcon]": [
                                "Set the icon of the map marker pin."
                            ],
                            "svgIcon": {
                                "//[viewBox]": [
                                    "SVG path viewBox. See: https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/viewBox"
                                ],
                                "viewBox": "0 0 512 512",
                                "//[items]": [
                                    "Content elements (paths, circles, rects) of the SVG icon. Icons used on the map: fontawesome.com/icons."
                                ],
                                "items": ""
                            }
                        }
                    }
                ]
            }
        ],
        "//[bendLongPathsTrigger]": [
            "Map will bend the path if two points are this far apart on latititude axes. This intended to bend flight if only the end and the start points are given."
        ],
        "bendLongPathsTrigger": 0.5
    },
    "Faces": {
        "enabled": true,
        "//[keywordsToPersons]": [
            "If a photo has the same face (person) name and keyword, the app removes the duplicate, keeping the face only."
        ],
        "keywordsToPersons": true,
        "//[writeAccessMinRole]": [
            "Required minimum right to star (favourite) a face."
        ],
        "writeAccessMinRole": "Admin",
        "//[readAccessMinRole]": [
            "Required minimum right to show the faces tab."
        ],
        "readAccessMinRole": "User"
    },
    "//[RandomPhoto]": [
        "This feature enables you to generate 'random photo' urls. That URL returns a photo random selected from your gallery. You can use the url with 3rd party application like random changing desktop background. Note: With the current implementation, random link also requires login."
    ],
    "RandomPhoto": {
        "//[enabled]": [
            "Enables random link generation."
        ],
        "enabled": true
    },
    "Database": {
        "//[type]": [
            "SQLite is recommended."
        ],
        "type": "sqlite",
        "//[dbFolder]": [
            "All file-based data will be stored here (sqlite database, job history data)."
        ],
        "dbFolder": "db",
        "sqlite": {
            "//[DBFileName]": [
                "Sqlite will save the db with this filename."
            ],
            "DBFileName": "sqlite.db"
        },
        "mysql": {
            "host": "localhost",
            "port": 3306,
            "database": "pigallery2",
            "username": "",
            "password": ""
        }
    },
    "Indexing": {
        "//[cachedFolderTimeout]": [
            "If there was no indexing in this time, it reindexes. (skipped if indexes are in DB and sensitivity is low)."
        ],
        "cachedFolderTimeout": 3600000,
        "//[reIndexingSensitivity]": [
            "Set the reindexing sensitivity. High value check the folders for change more often.  Setting to never only indexes if never indexed or explicit running the Indexing Job."
        ],
        "reIndexingSensitivity": "low",
        "//[excludeFolderList]": [
            "Folders to exclude from indexing. If an entry starts with '/' it is treated as an absolute path. If it doesn't start with '/' but contains a '/', the path is relative to the image directory. If it doesn't contain a '/', any folder with this name will be excluded."
        ],
        "excludeFolderList": [
            ".Trash-1000",
            ".dtrash",
            "$RECYCLE.BIN"
        ],
        "//[excludeFileList]": [
            "Files that mark a folder to be excluded from indexing. Any folder that contains a file with this name will be excluded from indexing."
        ],
        "excludeFileList": []
    },
    "//[AlbumCover]": [
        "Specify a search query and sorting that the app can use to pick the best photo for an album and folder cover. There is no way to manually pick folder and album cover in the app. You can tag some of your photos with 'cover' and set that as search query or rate them to 5 and set sorting to descending by rating."
    ],
    "AlbumCover": {
        "//[SearchQuery]": [
            "Filters the sub-folders with this search query. If filter results no photo, the app will search again without the filter."
        ],
        "SearchQuery": {
            "type": 100,
            "text": ""
        },
        "//[Sorting]": [
            "If multiple cover is available sorts them by these methods and selects the first one."
        ],
        "Sorting": [
            {
                "method": "Rating",
                "ascending": false
            },
            {
                "method": "Date",
                "ascending": false
            },
            {
                "method": "PersonCount",
                "ascending": false
            }
        ]
    },
    "Duplicates": {
        "//[listingLimit]": [
            "Maximum number of duplicates to list."
        ],
        "listingLimit": 1000
    },
    "//[Messaging]": [
        "The App can send messages (like photos on the same day a year ago. aka: \"Top Pick\"). Here you can configure the delivery method."
    ],
    "Messaging": {
        "//[Email]": [
            "The app uses Nodemailer in the background for sending e-mails. Refer to https://nodemailer.com/usage/ if some options are not clear."
        ],
        "Email": {
            "//[emailFrom]": [
                "Some services do not allow sending from random e-mail addresses. Set this accordingly."
            ],
            "emailFrom"<EMAIL_ADDRESS>            "smtp": {
                "//[host]": [
                    "SMTP host server"
                ],
                "host": "",
                "//[port]": [
                    "SMTP server's port"
                ],
                "port": 587,
                "//[secure]": [
                    "Is the connection secure. See https://nodemailer.com/smtp/#tls-options for more details"
                ],
                "secure": false,
                "//[requireTLS]": [
                    "if this is true and secure is false then Nodemailer (used library in the background) tries to use STARTTLS. See https://nodemailer.com/smtp/#tls-options for more details"
                ],
                "requireTLS": true,
                "//[user]": [
                    "User to connect to the SMTP server."
                ],
                "user": "",
                "//[password]": [
                    "Password to connect to the SMTP server."
                ],
                "password": ""
            }
        }
    },
    "Jobs": {
        "//[maxSavedProgress]": [
            "Job history size."
        ],
        "maxSavedProgress": 20,
        "//[mediaProcessingBatchSize]": [
            "Jobs load this many photos or videos form the DB for processing at once."
        ],
        "mediaProcessingBatchSize": 1000,
        "scheduled": [
            {
                "name": "Indexing",
                "jobName": "Indexing",
                "config": {
                    "indexChangesOnly": true
                },
                "allowParallelRun": false,
                "trigger": {
                    "type": "never"
                }
            },
            {
                "name": "Album Cover Filling",
                "jobName": "Album Cover Filling",
                "config": {},
                "allowParallelRun": false,
                "trigger": {
                    "type": "after",
                    "afterScheduleName": "Indexing"
                }
            },
            {
                "name": "Thumbnail Generation",
                "jobName": "Thumbnail Generation",
                "config": {
                    "sizes": [
                        240
                    ],
                    "indexedOnly": true
                },
                "allowParallelRun": false,
                "trigger": {
                    "type": "after",
                    "afterScheduleName": "Album Cover Filling"
                }
            },
            {
                "name": "Photo Converting",
                "jobName": "Photo Converting",
                "config": {
                    "indexedOnly": true
                },
                "allowParallelRun": false,
                "trigger": {
                    "type": "after",
                    "afterScheduleName": "Thumbnail Generation"
                }
            },
            {
                "name": "Video Converting",
                "jobName": "Video Converting",
                "config": {
                    "indexedOnly": true
                },
                "allowParallelRun": false,
                "trigger": {
                    "type": "after",
                    "afterScheduleName": "Photo Converting"
                }
            },
            {
                "name": "GPX Compression",
                "jobName": "GPX Compression",
                "config": {
                    "indexedOnly": true
                },
                "allowParallelRun": false,
                "trigger": {
                    "type": "after",
                    "afterScheduleName": "Video Converting"
                }
            },
            {
                "name": "Temp Folder Cleaning",
                "jobName": "Temp Folder Cleaning",
                "config": {
                    "indexedOnly": true
                },
                "allowParallelRun": false,
                "trigger": {
                    "type": "after",
                    "afterScheduleName": "GPX Compression"
                }
            }
        ]
    }
}

Aha, I just had to type something in the password field, my mistake.


Makes types used in spark RDDs serializable

This makes Span and DependencyLink serializable. This uses thrift
encoding, as we've benchmarked it to be the fastest.

@yurishkuro FYI

The approach used here is a rip-off of square wire's (protobuf library) approach https://github.com/square/wire/pull/192

lgtm


feature request  - sap.m.ViewSettingsDialog

OpenUI5 version: all
sap.m.ViewSettingsDialog is a quite useful control. But right now it can`t be used to generate default setting before user interaction.
Simply because calling fireConfirm() before the user opened the control is leading to some null access errors. It seems like they aren`t initialised on init(). It's done at open().
So my feature request is to change ViewSettingsDialog in that way, that it is possible to call fireConfirm() without calling open() before.

That happens with xml fragments, required over javascript.

Hi @bkrrr,
I will forward you feature request to the responsible for ViewSettingsDialog team.
Kind Regards,
Gery


bumping version/image on the hub

Hi, thanks for the docker, would do you mind bumping up the version on the docker hub as well, currently latest version is HS3 <IP_ADDRESS>0.
Thanks again

Does this image contain all the mono packages ?( 6.8 )


Please help testing AU 915-928 band

Same as #9 except that this issue is for the AU 915-928 ism band 😄
Pre-compiled binaries for testing can be found here:
https://www.dropbox.com/sh/ywg5v3469zct7i9/AABrkYi87ov-vIp1UC1e4CBWa?dl=0
Alternatively, you can build them from the au_915_928 branch with the following commands:
BANDS=au_915_928 GOOS=linux GOARCH=amd64 make package
BANDS=au_915_928 GOOS=linux GOARCH=386 make package
BANDS=au_915_928 GOOS=linux GOARCH=arm make package
BANDS=au_915_928 GOOS=darwin GOARCH=amd64 make package
BANDS=au_915_928 GOOS=windows BINEXT=.exe GOARCH=386 make package
BANDS=au_915_928 GOOS=windows BINEXT=.exe GOARCH=amd64 make package

Under test.

Hi Orne,
I have done some testing with a Multitech Conduit and mDot end-nodes in Australian frequencies. I can't confirm the join process as our end-node might have some bugs in it which prevents the join process to be completed, however, if the credentials manually fed to the end-node, the RX and TX transmit is fully working (obviously after the changes I have submitted to Lorawan about the RX timestamp).
Here you go :)
Cheers,
Mehrad

Nice! Did you see any errors in the LoRa Server logs when trying an OTAA attempt? I had some difficulties with a iM880A-L node where it turned out some fields needed to be set LSBF, and some as MSBF (https://github.com/brocaar/loraserver/wiki/Activating-nodes#im880a-l--im880b-l).
Anyway, great to hear that the RX and TX is working after ABP!

Just coming back with some update.
I have tested the OTAA with our latest firmware on the end-nodes and I can say now that it fully working
I have test the OTA join on window 1 and 2 with both JOIN_ACCEPT_DELAYs and it was successful and robust.
This bring the Australian branch functionality to the fully working and tested state :100:


Add newly documented crossposting related endpoints and models.

Summary
Add newly documented crossposting related endpoints and models.
Checklist

[x ] I have run nox and all the pipelines have passed.
[ x] I have made unittests according to the code I have added/modified/deleted.

Related issues

Gonna add some methods to the Follow object real quick

ping me when updated and ill look again.


vbump sts to bring in a fix for table designer

#19035

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
6 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-0.001%) to 42.225%

Files with Coverage Reduction
New Missed Lines
%

extensions/notebook/src/book/bookTreeView.ts
2
38.21%

extensions/notebook/src/common/ports.ts
4
74.14%

Totals

Change from base Build<PHONE_NUMBER>:
-0.001%

Covered Lines:
27651

Relevant Lines:
61217

💛  - Coveralls


Bug: Copy/Pasting formatted text from/to the editor places the caret at wrong place

Lexical version: 0.3.5
Steps To Reproduce
https://codesandbox.io/s/lexical-rich-text-example-5tncvy

Enter into the first paragraph: AA
Enter into the second paragraph: BCB
Select C
Make it italic
Select BCB
CTRL+C -> copy
Place the Caret between A|A
CTRL+V -> paste

The current behavior
Caret placed to: AB|CBA
The expected behavior
Caret should ABCB|A
https://www.youtube.com/watch?v=bvkq1GlC0xI

This might be related:

Open https://codesandbox.io/s/lexical-rich-text-example-5tncvy
Type Hello World
Select: ell
Add a link to the selection
Select: ello
Ctrl+C -> copy
Move the caret somewhere else then ctrl+V -> paste

The current behavior
Caret jumps to the end of the paragraph
The expected behavior
Caret should be after the pasted content
https://www.youtube.com/watch?v=L7NQ-5Biyeg


Integrate Bootstrap and Angular form validation CSS

Bootstrap uses .has-error for invalid input fields, while Angular uses .ng-invalid. We should research and implement some elegant solution to use Bootstrap's functionality with Angular.

How about simply renaming the styles from bootstrap into a new css file? that should work


Valid Data is set to None when not applying chat template

Even if I don't whant to use a chat template this function is called and sets valid_data to None which results in the downstream error below
https://github.com/huggingface/autotrain-advanced/blob/01673f192f56439f083fc8f84a414d62eb2f5d28/src/autotrain/trainers/clm/utils.py#L443-L463
Special tokens have been added in the vocabulary, make sure the associated word embeddings are fine-tuned or trained.
INFO     | 2024-06-27 12:54:16 | autotrain.trainers.clm.utils:configure_logging_steps:467 - configuring logging steps
ERROR    | 2024-06-27 12:54:16 | autotrain.trainers.common:wrapper:120 - train has failed due to an exception: Traceback (most recent call last):
  File "/app/env/lib/python3.10/site-packages/autotrain/trainers/common.py", line 117, in wrapper
    return func(*args, **kwargs)
  File "/app/env/lib/python3.10/site-packages/autotrain/trainers/clm/__main__.py", line 28, in train
    train_sft(config)
  File "/app/env/lib/python3.10/site-packages/autotrain/trainers/clm/train_clm_sft.py", line 19, in train
    logging_steps = utils.configure_logging_steps(config, train_data, valid_data)
  File "/app/env/lib/python3.10/site-packages/autotrain/trainers/clm/utils.py", line 470, in configure_logging_steps
    logging_steps = int(0.2 * len(valid_data) / config.batch_size)
TypeError: object of type 'NoneType' has no len()

Maybe, until they fix the bug, for now you could solve it like this:
train_data, _ = utils.process_data_with_chat_template(config, tokenizer, train_data, valid_data)
valid_data, _ = utils.process_data_with_chat_template(config, tokenizer, train_data=valid_data, valid_data=None)

Can any maintainers of this repository please check this issue, I have some work for a research project, which requires fine tuning an LLM for which I need the validation scores as well.


Task status and worker persistent

Persistent task worker queues, for failure recovery.
Add the ability to query the status of conversion tasks.
How we can get notification of conversion completion?

Can we use the new feature Bolton  to persistent task worker queues? @imeoer

@Desiki-high It should be ok, thanks!


removeImageForTag() not implemented warning(or error) on Android

Is this a bug report?
Yes
Have you read the Contributing Guidelines?
Yes
Environment

Environment:
  OS:  Linux 4.4
  Node:  4.6.1
  Yarn:  0.27.5
  npm:  4.6.1
  Watchman:  4.7.0
Error: unable to print environment info
{ [Error: not found: xcodebuild] code: 'ENOENT' }

Steps to Reproduce

ImageStore can't call removeImageForTag()

Expected Behavior
ImageStore calls and remove the image file from ImageStore.
Actual Behavior
I'm getting this warning: removeImageForTag() not implemented
Code Snippet
    ImageEditor.cropImage(
      this.state.image,
      imageData,
      (successURI) => {
        ImageStore.getBase64ForTag(successURI,
          (base64Data) => {
            console.log(base64Data);
          },
          (failure) => {console.log('failed to load')});
        console.log(successURI);
        ImageStore.removeImageForTag(successURI)
      },
      (error) => { console.log('ERROR: ', error)}
    )

I guess I'm using outdated react-native.
    "react-native": "https://github.com/expo/react-native/archive/sdk-21.0.2.tar.gz",

Should I upgrade React-Native to use the removeImageForTag()?
Is it breaking anything when I upgrade my RN pkg. I'm little hesitating to do so.

in doc https://facebook.github.io/react-native/docs/imagestore.html
write static removeImageForTag(uri) - @platform ios


Screen is always on - WebRTC + Wallpanel

Hi, I've configured go2rtc correctly and I'm using the WebRTC cards in one of my dashboards. I have this dashboard in a wall tablet loaded with WallPanel and I have Wallpanel configured to automatically turn on the screen when a face is detected and turn it off after 1 minute.
What I've noticed is that by using the 'custom:webrtc-camera' cards, the screen is always on. Do you have the same problem? I am sure it is due to this card because as soon as I remove it, everything works properly again.
Any idea why this is happening and how to fix it?
Thanks.

This is browser / OS feature #613


Non standard property zoom

When viewing the website in Firefox, console returns the warning This page uses the non standard property “zoom”. Consider using calc() in the relevant property values, or using “transform” along with “transform-origin: 0 0”.
It would be nice to eliminate this warning

Hey @srujandeshpande I'd like to work on this issue.

Hey @srujandeshpande so I did look into the file and I don't the see any error in console. Also, there's no use of zoom property in the codebase.

@V3dant That's quite interesting. Thanks for pointing it out.
I seem to be getting that error only in Firefox and not in Chrome.

If nothing can be done about it, the issue can be dropped then.

So according to MDN the zoom property is not supported by Firefox.

assign this to me, and let me know where i can find the source code for this issue


On iOS 15, iPad Pro M1 (8GB RAM) can't allocate 4 GB of RAM for the VM

UTM needs more than the RAM you assign to the VM. The total RAM usage is about 1.5x what you request, partially due to how UTM works and partially due to iOS limitations. So if you request 4 GB in the config, it will use close to 6.5 GB (500mb for UTM app itself) which is probably too much. 3.5 GB should work (3.584 MB).

No need to be sorry for asking a question. :)
I've reached out to osy86 so we should soon know for sure.

Follow the instructions in iOS Development


device not visible when using ENABLE_WIRELESS_DFU=1

even examples that already have ENABLE_WIRELESS_DFU=1, as service-example render device not visible (not advertising?).
Removing that line everything works ok.
I'm using nRF51822xxaa (16K, 256K)
just changed:
NRF_IC=nrf51822
RAM_KB=16
FLASH_KB=256

Hi, that is a weird issue. It's been a long time (and many SDKs) since I've touched the BLE DFU stuff, but if my memory serves right, you are either not enabling sufficient peripheral/central roles in the SDK config, or allocating enough memory for them in your linker script. This was always a very confusing process that I'm afraid we didn't document properly.
Unfortunately, like the nRF SDK support for nRF51x, this repository is not in active development. We've moved to the newer nRF52x platforms (and a new repo!). If you want to dig into the underlying issue here and submit a pull request, we'd be glad to look it over and pull it in.

hi!
thanks, probably one of those things. I followed the instructions on the README.md and just using service-example as my app, copied to /app and edited Makefile:
added:
RAM_KB=16
FLASH_KB=256

changed:
NRF_BASE_PATH ?= ../../nrf5x-base

files are found, things look ok but make still lists 32K chip version
make
BUILD OPTIONS:
  SoftDevice  s110
  SDK         10
  nRF         nrf51822
  RAM         32 kB
  FLASH       256 kB
  Board       BOARD_NULL

so maybe apps/service-example/Makefile is not the place for adding this?
putting this ram and flash size on nrf5x-base/make/Makefile seems to solve it, build now all say 16k/256k, so i must be missing something

Make sure you aren't redefining RAM_KB twice.
I just tried to build it and saw something similar. So if the ENABLE_WIRELESS_DFU option is included in your makefile (defined at all), you are also building the bootloader, and you should see two BUILD OPTIONS lists, one that lists the correct settings for the service-example application, and another for the bootloader, which seems to always list the 32kB.
I'd recommend not using the bootloader or DFU feature. That should solve your problem.

indeed, but avoiding BLE DFU is not an option, I'm only here because of it...
thanks for the advice. I will let you guys know if i find something worth of note, and please if someone has some relevant info about this please let me know.

I think you'll just need to edit the makefiles and linker scripts to build the DFU using the smaller memory option. Back when I was working on this feature, I think I ran into troubles using the 16kB option as there was not enough memory.


OmniSharp server picks up the wrong version of Visual Studio

It looks like if Visual Studio and Visual Studio Preview are installed the OmniSharp server will always try to the Preview version of the local Visual Studio installation for MSBuild.
Environment data
dotnet --info output:
.NET Command Line Tools (1.0.3)

Product Information:
 Version:            1.0.3
 Commit SHA-1 hash:  37224c9917

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.15063
 OS Platform: Windows
 RID:         win10-x64
 Base Path:   C:\Program Files\dotnet\sdk\1.0.3

VS Code version: 1.11.2
C# Extension version: 1.9.0
Steps to reproduce

Download and install Visual Studio with .NET Core support.
Download and install Visual Studio preview without .NET Core support. (I have Visual Studio Preview setup with only Python support).
Create a new .NET Core project using dotnet new console.
Open the project using VSCode.

Expected behavior
C# project loads properly.
Actual behavior
C# extension reports:
Warning: Some projects have trouble loading. Please review the output for more details.
Here's my output log.
Starting OmniSharp server at 4/28/2017, 3:04:46 AM
    Target: c:\Users\Sanders\dotnettest

OmniSharp server started
    Path: C:\Users\Sanders\.vscode\extensions\ms-vscode.csharp-1.9.0\bin\omnisharp\OmniSharp.exe
    PID: 22872

OmniSharp: -s c:\Users\Sanders\dotnettest --hostPID 13324 --stdio DotNet:enablePackageRestore=false --encoding utf-8 --loglevel information formattingOptions:useTabs=false formattingOptions:tabSize=4 formattingOptions:indentationSize=4
[info]: OmniSharp.Startup
        Omnisharp server running using Stdio at location 'c:\Users\Sanders\dotnettest' on host 13324.
[info]: OmniSharp.DotNet.DotNetProjectSystem
        Initializing in c:\Users\Sanders\dotnettest
[info]: OmniSharp.DotNet.DotNetProjectSystem
        Auto package restore: False
[info]: OmniSharp.DotNet.DotNetProjectSystem
        Update workspace context
[info]: OmniSharp.DotNet.DotNetProjectSystem
        Resolving projects references
[info]: OmniSharp.MSBuild.MSBuildProjectSystem
        MSBuild will use local Visual Studio installation.
[info]: OmniSharp.MSBuild.MSBuildProjectSystem
        No solution files found in 'c:\Users\Sanders\dotnettest'
[warn]: OmniSharp.MSBuild.MSBuildProjectSystem
        Failed to process project file 'c:\Users\Sanders\dotnettest\dotnettest\dotnettest.csproj'.
c:\Users\Sanders\dotnettest\dotnettest\dotnettest.csproj(1,1)
Microsoft.Build.Exceptions.InvalidProjectFileException: The imported project "C:\Program Files (x86)\Microsoft Visual Studio\Preview\Enterprise\MSBuild\Sdks\Microsoft.NET.Sdk\Sdk\Sdk.props" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.  c:\Users\Sanders\dotnettest\dotnettest\dotnettest.csproj
   at Microsoft.Build.Shared.ProjectErrorUtilities.ThrowInvalidProject(String errorSubCategoryResourceName, IElementLocation elementLocation, String resourceName, Object[] args)
   at Microsoft.Build.Shared.ProjectErrorUtilities.ThrowInvalidProject(IElementLocation elementLocation, String resourceName, Object arg0)
   at Microsoft.Build.Evaluation.Evaluator`4.ExpandAndLoadImportsFromUnescapedImportExpression(String directoryOfImportingFile, ProjectImportElement importElement, String unescapedExpression, Boolean throwOnFileNotExistsError, List`1& imports)
   at Microsoft.Build.Evaluation.Evaluator`4.ExpandAndLoadImports(String directoryOfImportingFile, ProjectImportElement importElement)
   at Microsoft.Build.Evaluation.Evaluator`4.EvaluateImportElement(String directoryOfImportingFile, ProjectImportElement importElement)
   at Microsoft.Build.Evaluation.Evaluator`4.PerformDepthFirstPass(ProjectRootElement currentProjectOrImport)
   at Microsoft.Build.Evaluation.Evaluator`4.Evaluate()
   at Microsoft.Build.Evaluation.Project.Reevaluate(ILoggingService loggingServiceForEvaluation, ProjectLoadSettings loadSettings)
   at Microsoft.Build.Evaluation.Project.ReevaluateIfNecessary(ILoggingService loggingServiceForEvaluation, ProjectLoadSettings loadSettings)
   at Microsoft.Build.Evaluation.Project.Initialize(IDictionary`2 globalProperties, String toolsVersion, String subToolsetVersion, ProjectLoadSettings loadSettings)
   at Microsoft.Build.Evaluation.Project..ctor(String projectFile, IDictionary`2 globalProperties, String toolsVersion, String subToolsetVersion, ProjectCollection projectCollection, ProjectLoadSettings loadSettings)
   at Microsoft.Build.Evaluation.ProjectCollection.LoadProject(String fileName, IDictionary`2 globalProperties, String toolsVersion)
   at OmniSharp.MSBuild.ProjectFile.ProjectFileInfo.Create(String projectFilePath, String solutionDirectory, ILogger logger, MSBuildOptions options, ICollection`1 diagnostics, Boolean isUnityProject)
   at OmniSharp.MSBuild.MSBuildProjectSystem.CreateProjectFileInfo(String projectFilePath, Boolean isUnityProject)

[info]: OmniSharp.Script.ScriptProjectSystem
        Detecting CSX files in 'c:\Users\Sanders\dotnettest'.
[info]: OmniSharp.Script.ScriptProjectSystem
        Could not find any CSX files
[info]: OmniSharp.Startup
        Invoking Workspace Options Provider: OmniSharp.Roslyn.CSharp.Services.CSharpWorkspaceOptionsProvider
[info]: OmniSharp.Startup
        Configuration finished.

This worked fine before I had the Preview version installed.

This is actually an MSBuild issue. In this situation, we've determined that VS 2017 is on the box and allowed MSBuild to locate itself properly. However, in the case of multiple versions of VS 2017, it just picks one.
Try opening VS Code from the Developer Command Prompt associated with the correct instance of VS 2017.

Here's where MSBuild just picks one instance of VS when there are many installed: https://github.com/Microsoft/msbuild/blob/11119f63f8c612874c39ca020d7ebd3377ec49af/src/Shared/BuildEnvironmentHelper.cs#L246.
cc @RainerSigwald, @AndyGerlicher

Running VSCode from the appropriate VS 2017 instance does work.

I'm glad to hear that it's easily worked around. If you wanted to be fancy, you could set the environment variables that MSBuild cares about from the Developer Command Prompt yourself: "VSINSTALLDIR" and "VisualStudioVersion"

MSBuild's specification for finding VS installation is at https://github.com/Microsoft/msbuild/issues/1461. Unfortunately, it's fairly difficult to divine which of several possible VS installations is the "right" one for a given project, so we need help (in the form of the environment variables).

Setting VSINSTALLDIR and VisualStudioVersion worked 👍🏾

@rainersigwald: I notice that the issue you linked was closed because it was fully implemented. However, there's no warning when the number of VS installations is > 1.

That's true @DustinCampbell; I filed Microsoft/msbuild#2029 so it doesn't get forgotten again.

Thanks man! Appreciated.

I had a similar issue since the 1.9.0 update, on a devbox with only the VS 2107 Build Tools installed. I worked around it by doing a set MSBuildSDKsPath=C:\Program Files\dotnet\sdk\1.0.1\Sdks before opening the project, but I think this is still a small regression. Thanks for the awesome extension!

Great point @nanhopper -- thanks!

@nanhopper: another solution here would be to create an omnisharp.json file in the root folder opened in VSCode with the following content:
{
    "msbuild": {
        "MSBuildSdksPath": "<your path>"
    }
}

I tried that, but it didn't work. When looking at debug logs and here it does not seem that the file is passed on as args to the omnisharp server. What am I missing?

That file gets picked up by the OmniSharp server if it's in the CWD (your VS Code workspace path). You can also create one globally. See, Configuration Options on the omnisharp-roslyn wiki.
cc @filipw

The file does get picked up as you say but it would seem it only accepts
formatting options?
https://github.com/OmniSharp/omnisharp-roslyn/blob/c786717208d4167fc584d12bce4a6b3099cb09ae/src/OmniSharp.Abstractions/Options/OmniSharpOptions.cs
In any case, don't worry about it, as I have a workaround :)
On Sat, Apr 29, 2017 at 6:49 PM, Dustin Campbell<EMAIL_ADDRESS>wrote:

That file gets picked up by the OmniSharp server if it's in the CWD (your
VS Code workspace path). You can also create one globally. See, Configuration
Options
https://github.com/OmniSharp/omnisharp-roslyn/wiki/Configuration-Options
on the omnisharp-roslyn wiki.
cc @filipw https://github.com/filipw
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/OmniSharp/omnisharp-vscode/issues/1438#issuecomment-298180238,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AKGNk3X0Qjmaw-uYcyTaatxw9gFiVqzCks5r02olgaJpZM4NLIJn
.

It doesn't just allow formatting options. Those are just the only options that are statically included. The msbuild options are read dynamically in OmniSharp.MSBuild\MSBuildProjectSystem.Initialize(...).

The issue that @nanhopper is reporting will go away after https://github.com/Microsoft/msbuild/issues/1697 is fixed. Setting MSBuildSDKsPath is a good workaround for now.

OK, thanks Rainer!
On Mon, May 1, 2017 at 7:29 PM, Rainer Sigwald<EMAIL_ADDRESS>wrote:

The issue that @nanhopper https://github.com/nanhopper is reporting
will go away after Microsoft/msbuild#1697
https://github.com/Microsoft/msbuild/issues/1697 is fixed. Setting
MSBuildSDKsPath is a good workaround for now.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/OmniSharp/omnisharp-vscode/issues/1438#issuecomment-298381037,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AKGNk6M0uqr1cdT-fY2Dx9dTCsPNEuewks5r1haRgaJpZM4NLIJn
.

This should be addressed with https://github.com/OmniSharp/omnisharp-roslyn/pull/847, which sets MSBuildSDKsPath to the .NET CLI.


ui-router in angular1.5, if parent route component includes another component, child route component doesn't show

recently i start working in a project which is using angular 1.x, but i prefer component based framework like react and angular 2. also i want to progressively transform this project from controller to component style which provided in angular 1.5.
i'm using ui-router in angular1.5 for component routing, but i found a little problem. if parent route component includes another component (writing directly in the template using "" etc.), child route component doesn't show. if parent component doesn't include any other component, the child routes work well.
that might not be a major problem, but i'm just wondering if there are other solutions or i'm doing incorrectly...
for example: this is my states:
const states = [
    {
        name: 'index',
        url: '/index',
        component: 'indexComponent',
        resolve: {
            title: () => 'this is a title'
        }
    },
    {
        parent: 'index',
        name: 'list',
        url: '/list',
        component: 'listComponent',
        resolve: {
            text: () => '356345654364'
        }
    }
];

and i have three components, which are:
ListComponent:

    List: {{data.text}}
    <input ng-model="data.text" />

import tpl from '../views/listComponent.html';

const ListComponent = {
    bindings: {
        text: '<'
    },
    template: tpl,
    controller: Controller,
    controllerAs: 'data'
};

function Controller () {
    console.log(this);
}

export default ListComponent;

NavComponent

            {{el.name}}

import tpl from '../views/navComponent.html';
import states from '../constants/states';

const NavComponent = {
    template: tpl,
    controller: Controller,
    controllerAs: 'data'
};

function Controller () {
    this.navigation = states.filter(el =>
        (el.name === 'index' || el.parent === 'index')
    );
}

export default NavComponent;

IndexComponent

{{data.title}}

    <ui-view />

import tpl from '../views/indexComponent.html';

const IndexComponent = {
    bindings: {
        title: '<'
    },
    template: tpl,
    controller: Controller,
    controllerAs: 'data'
};

function Controller () {
    console.log(this);
}

export default IndexComponent;

when i add  into IndexComponent, the  stop working.
thanks for your reading and hopefully there are ways to solve this...

When angular parses templates, it does not expect components tags to be self closing.
Replace with this and it works:

    <ui-view></ui-view>

http://plnkr.co/edit/zfedBHd2vTjMFePzNSRY?p=preview

because both  and  work properly separately, so i never thought that. i tried and it works! thanks a lot.


Some error messages are not detailed enough to locate the problem

Version
2.2.4
Reproduction link
https://jsfiddle.net/qk4ofq1q/
Steps to reproduce

Create a component which will raise any error. (In my reproduction sample I defined a required prop and didn't referenced it later)
Create another component which will use the first component in its template.

What is expected?
When an error occures in a component, I think error message should also contain the components name tree. Because when the error occurred from a common component like <some-button> we can't locate which component included this node.
So a detailed error message is expected.
Like:

[Vue warn]: Missing required prop: "must" (found in )
Component Trace: Container (err line) -> Demo

What is actually happening?
When an error is raised, browser's console mentions only the problematic component. Not it's parents...

[Vue warn]: Missing required prop: "must" (found in )

My application is built by webpack/vue-loader. So it is much harder to locate the problem as the source codes are being parsed by some tools.
So I think when this issue is solved, webpack/vue-loader structured projects will receive those detailed errors too?

the component name tree sounds very nice


Fix error on ordering posts

With @Jmmxp , we changed ordering to be on the model, adding a meta class to Post to sort instead of sorting on the queryset.

The bug is that my line of code should have been queryset = queryset.order_by, but we were ignoring the return value. Too used to Python's sorting methods that don't return anything.


Devicetree: Remove deprecated enum macro

Remove deprecated _ENUM_TOKEN and _ENUM_UPPER_TOKEN. They're deprecated for over three years by now.

Please fix typo in commit message (UPPRE) and use lowercase devicetree: Looks good otherwise, thanks!

Thanks for noting. I fixed it


updated docs for Bool.roc

Updated the comments to be consistent in the use of words. Added expectations to illustrate the use of functions.
This should be good for review.

This looks good to me for a review and merge.


Add gitter link to README (first-timers-only)

first-timers-only
This issue is tagged :octocat: first-timers-only. It is only for people who have never contributed to open source before, and are looking for an easy way take their first steps.
Consider this your chance to dip your toe into the world of open-source, and get some bragging rights for helping make drones fly, cars find charging stations, and people and goods get from place to place.
Find more first-timers-only issues here:

Missions
Mission Control
Captain

Thank you for your help :heart:
What is this project?
DAV (Decentralized Autonomous Vehicles) is a new foundation working to build an open-source infrastructure for autonomous vehicles (cars, drones, trucks, robots, and all the service providers around them) to communicate and transact with each other over blockchain.
As an organization that believes in building a large community of open-source contributors, we often create issues like this one to help people take their first few steps into the world of open-source.
Missions
The DAV project you are looking at is Missions. It is the mobile web app used by users to order package pickup via drones. Yes, drones.
How you can help
In order to foster a community of developers that encourages helping each other, we started a gitter chat room just for contributors.
Please edit the README.md file in the root directory of the repository to contain a link to our gitter chat room.
The link should be placed just below the top headline. This is the markdown code required to display the link:
[![Gitter chat](https://badges.gitter.im/gitterHQ/gitter.png)](https://gitter.im/DAVFoundation/DAV-Contributors)

This will look like this:

Contributing to Missions

[ ] Make sure this issue is labeled up-for-grabs. If it isn't, someone is already working on it.
[ ] Comment on this issue, saying you would like to take this issue.
[ ] Fork the repository from the Missions GitHub page.
[ ] Clone a copy to your local machine with $ git clone git@github.com:YOUR-GITHUB-USER-NAME/missions.git
[ ] Add the file
[ ] Commit your changes and push your local changes back to github with $ git push -u origin master
[ ] Visit your fork on GitHub.com (https://github.com/YOUR-USER-NAME/missions) and create a pull request for your changes.
[ ] Make sure your pull request describes exactly what you changed and references this issue (include the issue number in the title like this: #1)

This sounds like something I could handle. Do you mind if I take it?

Please do. Thank you!

Thank you @freethewhat
And congratulations on your first pull request! 🍾
I hope it is the first of many contributions to open-source.

Thank you, for supporting first timers only. Definitely was nice to see how it works and start to get a feel for contributing to open source.

@freethewhat Thanks for your contribution 😄  Please feel free to join the DAV-Contributors gitter channel you just helped add to the readme and hopefully help others looking to get started with open-source and DAV.


Design page for slack bot_token info

@rubel90 Give it branding. But keep it very simple. I need a single HTML file not extra CSS, JS file etc.
Like we have done for emails.

With the legacy token, this is not needed anymore.


Return orignal header names in errors

Currently the validation errors are returned using the BASE schema property names
Current flow:
--> alternative header --> convert header to BASE schema property name --> run validation      --> errors with BASE schema property name
--> 'Date last modified -> 'date_last_modifed'                         --> 'date_last_modified' -> 'date_last_modified'
This flow is confusing to any calling clients as data is returned in a form that was not inputted originally. It poses problems where the client relies on the alternative property for further processing, necessitating further transforms to data by the calling client
Refactor returns the orginally provided headers in the errors:
--> alternative header --> convert header to BASE schema property name --> run validation     --> convert errors to use alternative header
--> 'Date last modified -> 'date_last_modified'                        --> 'date_last_modified -> 'Date last modified'
A utils method is provided to give the mapping between the BASE schema property name and any alternative key

Closing for now


Convert obsidian tasks to unicode checkboxes in Confluence

This change converts Obsidian tasks to unicode checkboxes when publishing to Confluence.
Given the following Obsidian markdown:
Edit mode:

Source mode:

The following will be published to Confluence:
Before

After

Fixes https://github.com/markdown-confluence/markdown-confluence/issues/333

This is a good starting step towards this :)
Ideally long term this would convert to a TaskItem and TaskList
https://cdn.jsdelivr.net/npm/<EMAIL_ADDRESS>https://cdn.jsdelivr.net/npm/<EMAIL_ADDRESS>


Fix 100 block limit

The notion API is bad and requires recursive iteration to get all blocks.

This resolves #46

Tested, works!

Oh no, thank you for building it :)
I wanted to hack something like this together to source my new blog directly from notion (since I already had it setup to work from .md files) and it was soooo painful. This library probably saved me hours at least.


Add ms:laurl and mspr:pro parsing

This PR closes #484 and parses license urls from <ms:laurl> and <mspr:pro> in the manifest.

Signed the CLA

Great thanks for the comments!

I would like to see some form of this get in.....   What do we think the status of this is?   Are we just waiting for the contributor to make the requested changes.   Also I am curious about what appears to be adding ms:laurl support for widevine.   Is this specifically something that is likely to make it into shaka?

@TheJohnBowers, the status is that @TheModMaker requested changes to this PR from @forbesjo, and we are still waiting on an updated PR.  Adding ms:laurl support is a low priority item for the Shaka Player team at this time, but we are always happy to have features contributed by the community.

This PR is still on my radar but other work has taken priority

@forbesjo Are you still interested in this PR?  If so, you'll need to rebase and make some style changes like using let instead of var.

Thanks for the ping, I'll be taking a look at this PR and cleaning it up some time soon

Update on this PR, I don't think I'll have time to clean up the PR. If any other user would like to implement this feature in Shaka feel free to use this as a starting point. Feel free to close if necessary.

Closing in favor of #1644, which is being actively worked on.  Thanks!


Bugfix: rename example_flow.yaml file to yml

As title
Close #18

flows/flows_mnist_gpu_1/flow.yaml 這裡好像沒改到

flows/flows_mnist_gpu_1/flow.yaml -> 宇翔那邊改嗎？


The status that SyncTrayzor shows is wrong

What happened: The SyncTrayzor shows wrong status when files in sync, it's should be syncing instead of up to date.
What expected to happend: The receiver shows same  status with sender(PS: sender 1 and sender 2 are different because of the time gaps I take screenshots.).
Receiver version: v0.14.33, Windows (64 bit)
Sender 1 version: v0.14.33, Linux (64 bit)
Sender 2 version: v0.14.33, Windows (64 bit)
Receiver screenshot
Sender 1 screenshot
Sender 2 screenshot
Syncthing Version: v0.14.33
OS Version: Windows 10 64 bit  / Ubuntu 16.04 64bit
Browser Version: Google Chrome  59.0.3071.115

You are looking at the Syncthing UI. This is a Syncthing issue. Please post on the Syncthing forum.


Update cobra shorts with arguments for docs gen

What this PR does / why we need it:
We are going to automate generating command documentation. As such, we should add some more information about what arguments command take.
NONE

/assign @MattiasGees @simonswine

/close

/reopen
/assign @simonswine


Arrows

Summary

When viewing an album, one can now arrow right or arrow left to change thumbnail and slippy map
Test plan
Unit tests added for reducer and action

Coverage remained the same at 95.073% when pulling aeacb590185ff00ce02f66832db3339a1c479dbf on arrows into fb0e032779f7accd52fdf78b992b6d9417958d1b on master.


Command to add text domains to i18n functions

It might be a good time to think about a wp i18n add-text-domain command.
See #7, #11 for discussions / some background about this.

This would mean we need to work with the AST of  PHP / JavaScript file.
https://github.com/wp-cli/i18n-command/pull/26 already uses a JS AST parser.
https://github.com/nikic/PHP-Parser is a popular one for PHP. It would make sense to use that for the make-pot task as well (less dependencies as https://github.com/oscarotero/Gettext wouldn't be needed anymore, improved code sharing), however it requires PHP 7.

After looking at #28 I think this command would need:

An --only-missing option to only add the domain where it's missing
A way to only replace a specific domain with a new one, in case the source folder contains strings with multiple text domains.

@swissspidy is there any update on this ?

@swissspidy how can i use add-text-domain cmd in cli to append text domains to wp functions inside my plugin / theme ( __() )

@varunsridharan No update I am afraid. add-text-domain does currently not exist.
However, you can achieve this using the WordPress-Coding-Standards PHPCS configuration as long as you set your text domain accordingly.
I think that is probably the best solution for this specific task.
Once you've configured PHPCS with the WordPress coding standards, you can use phpcbf to automatically fix any i18n functions that don't use your required text domain.

@swissspidy thanks for your faster reply. well i work on quite a lot of projects and i use common rules-set.xl in phpstorm and i dont think that will work for me :-(

I think that should still work. You don't have to include all of WPCS in your ruleset, just the text domain sniff is enough. Then, you can even auto-fix things directly in PHPStorm.

Based on my testing i can say that PHPStorm dose not support multiple ruleset in a single project.

@swissspidy thanks for your time. i was not able to get this done using PHPStrom / Rule set not sure why may be i was doing something wrong.
and i created a simple composer package which dose this job
https://github.com/varunsridharan/wp-cli

Closing for now as this seems better suited for a tool like PHPCS, as mentioned in the discussion above. https://github.com/varunsridharan/wp-cli-textdomain exists for people who want a dedicated command/script.


v0.9 is not available on quay.io

First off, thanks for the solution. I had the same idea and thankfully before implementing it myself found your repository.
I don't know if you realized it but:

the travis build of tag 0.9 failed
the image is not pushed to quay.io causing deployment to fail.

Could you please push the image to quay.io?

I didn't realize the pipeline for v0.9 failed. Thanks for point out!
It seemed to be some issue with travis go environment setup from the log. I already restart the job, and tag v0.9 is now available
https://quay.io/repository/titansoft/imagepullsecret-patcher?tab=tags
To prevent this from happening again, I created a new issue #4.


BAG3: Module.remove_instance and Module.delete_instance functionality not equivalent

In the module class, calling delete_instance does not actually remove the instance as remove_instance does. The suspect lines of code are below, from BagFramework/src/design/module.py
def delete_instance(self, inst_name):
   return self._cv.remove_instance(inst_name)

def remove_instance(self, inst_name):
    success = self._cv.remove_instance(inst_name)
    if success:
        del self.instances[inst_name]
    return success

Most legacy code contains calls to delete_instance not remove_instance.

Thanks for the catch.  During development there was a reason why there should be two different methods, but that has changed now.  I removed the remove_instance() method and kept delete_instance in the laster master.


/v2/txproposals/ :500:Error querying the blockchain

I have a wallet service, in which I have to make several payments, initially just create the wallet the payments worked at a good speed, but now every time a successful transaction is made the following transactions will leave with this error / v2 / txproposals /: 500: Error querying the blockchain
Beforehand thank you for your valuable help and I have several days with this problem
something's lines from error
::ffff:<IP_ADDRESS> 2017-04-28T23:06:47.949Z "POST /bws/api/v2/txproposals/" 200 - 742.794 "node-superagent/3.5.2" 4bddfa7c-8bdf-4649-84d6-0015df856bcb 1e6400eb83e8509100512a42aa20f66f1e3e04869d2585d27733bbab290c3c98
WARN Insight http://localhost:3001/insight-api/tx/02383a2e636409954d64f22eec66ee0e1b484a2e673fc668945e2fdae529061a Returned Status: 400
ERR! /v1/txproposals/c4e3dcb1-7026-4ce1-a250-f2055b2b0d67/publish/ :500:Error querying the blockchain

The problem was solved, removing some transactions that are blocking the balance of some addresses

I do not know, if what I do is correct, but I solve it by entering directly into the database of bws to delete transactions with this line
use bws;
db.txs.remove ({"walletId": "c7fe9f7c-3f47-4c25-a205-428acbae7e6", "status": "accepted", "broadcastedOn": null});


Develop

Codecov Report

Merging #40 (86af1d6) into master (855717a) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##            master       #40   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            5         5
  Lines           53        53
  Branches         5         5
=========================================
  Hits            53        53

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 855717a...86af1d6. Read the comment docs.