gotoTerminal with pane ID doesn't work with Tmux windows

If I create a new window and get the pane id from $TMUX_PANE, doing lua require("harpoon.tmux").gotoTerminal("%pane_id") doesn't work. If goto a pane instead, it works.
The problem is right now, harpoon navigates to a pane using tmux select-pane -t pane_id. The problem is that tmux select-pane -t pane_id makes the pane active in its own window, but does not change the window. If you do tmux select-window -t pane_id, tmux switches to the window that the pane is in.
I suggest always calling "select-window", so tmux will switch windows even if the pane_id is in another window.
https://github.com/ThePrimeagen/harpoon/blob/4dfe94e633945c14ad0f03044f601b8e6a99c708/lua/harpoon/tmux.lua#L124
New gotoTerminal suggestion:
function M.gotoTerminal(idx)
    log.trace("tmux: gotoTerminal(): Window:", idx)
    local window_handle = find_terminal(idx)

    if window_handle.pane then
        local _, ret, stderr = utils.get_os_command_output({
            "tmux",
            "select-pane",
            "-t",
            window_handle.window_id,
        }, vim.loop.cwd())

        if ret ~= 0 then
            error("Failed to go to terminal." .. stderr[1])
        end
    end

    local _, ret, stderr = utils.get_os_command_output({
        "tmux",
        "select-window",
        "-t",
        window_handle.window_id,
    }, vim.loop.cwd())

    if ret ~= 0 then
        error("Failed to go to terminal." .. stderr[1])
    end
end

I have a similar issue, but I think its better create a new function called function gotoWindow(idx). I'll try to do feat related.

This issue can be closed because ThePrimeagen say it will not be a problem more in Harpoon 2!


Fail with Nuxt 3 RC 9

Hello,
When upgrading to version Nuxt 3 RC 9 the component fails

WARN  Module device-module is disabled due to incompatibility issues:                                                                          13:15:46

[nuxt] Nuxt version ^3.0.0 || ^2.16.0 is required but currently using 3.0.0-rc.9

I have updated to RC 13 version and it is throwing me an error.
Nuxi 3.0.0-rc.13 Nuxt 3.0.0-rc.13 with Nitro 0.6.1

Local:    http://localhost:3000/
Network:  http://<IP_ADDRESS>:3000/

information_source Using default Tailwind CSS file from runtime/tailwind.css
ERROR Cannot start nuxt: Cannot find module<EMAIL_ADDRESS>at createEsmNotFoundErr (node:internal/modules/cjs/loader:1012:15) at finalizeEsmResolution (node:internal/modules/cjs/loader:1005:15) at resolveExports (node:internal/modules/cjs/loader:522:14) at Function.Module._findPath (node:internal/modules/cjs/loader:562:31) at Function.Module._resolveFilename (node:internal/modules/cjs/loader:971:27) at Function.resolve (node:internal/modules/cjs/helpers:109:19) at Function._resolve [as resolve] (node_modules/jiti/dist/jiti.js:1:243302) at resolveModule (node_modules/@nuxt/kit/dist/index.mjs:240:29) at normalizeModule (node_modules/@nuxt/kit/dist/index.mjs:445:18) at installModule (node_modules/@nuxt/kit/dist/index.mjs:426:47)

I removed the dist folder from the repository and I'm waiting for someone to review and merge the PR, in the meanwhile you can install the module from an older commit that has the dist folder by doing yarn add Redemption198/device-module#2136ea0 or npm install Redemption198/device-module#2136ea0

solved!


Tamagui Webpack Loader Error

Current Behavior
Tamagui Webpack Loader Error:
   Cannot read properties of undefined (reading 'tamaguiConfig')
TypeError: Cannot read properties of undefined (reading 'tamaguiConfig')
    at loadTamagui /node_modules/@tamagui/static/src/extractor/loadTamagui.ts:39:28)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)
    at Object.load [as loadTamagui] (/node_modules/@tamagui/static/src/extractor/createExtractor.ts:112:29)
    at extractToClassNames (/node_modules/@tamagui/static/src/extractor/extractToClassNames.ts:70:3)
    at Object.loader2 (/node_modules/tamagui-loader/src/loader.ts:60:23)

Expected Behavior
Compile without errors
Tamagui Version
1.15.38

Reproduction
tamagui.config.ts

import { config } from '@my/library';

export type Conf = typeof config;

declare module 'tamagui' {
  interface TamaguiCustomConfig extends Conf {}
}

export default config;

webpack.config
tsx

              loader: 'tamagui-loader',
              options: {
  config: './tamagui.config.ts',
  components: ['@my/library', 'tamagui'],
  disableExtraction: isDevelopment,
},

### System Info

_No response_

Latest release I added some safety but please run DEBUG=tamagui and send me logs

In 1.15.40 I see
Tamagui Webpack Loader Error:
   Cannot destructure property 'components' of 'undefined' as it is undefined.
TypeError: Cannot destructure property 'components' of 'undefined' as it is undefined.
    at parseWithConfig (/node_modules/@tamagui/static/src/extractor/createExtractor.ts:136:7)
    at Object.parse (/node_modules/@tamagui/static/src/extractor/createExtractor.ts:131:14)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)
    at extractToClassNames (/node_modules/@tamagui/static/src/extractor/extractToClassNames.ts:94:15)
    at Object.loader2 (/node_modules/tamagui-loader/src/loader.ts:60:23)

Getting the same error

fixed in latest release

I really want to integrate this library in my project.  I've tried everything but I keep getting this error.
error -asdfi/node_modules/react-native/index.js:14
import typeof AccessibilityInfo from './Libraries/Components/AccessibilityInfo/AccessibilityInfo';
^^^^^^

SyntaxError: Cannot use import statement outside a module
    at internalCompileFunction (node:internal/vm:73:18)
    at wrapSafe (node:internal/modules/cjs/loader:1195:20)
    at Module._compile (node:internal/modules/cjs/loader:1239:27)
    at Module._extensions..js (node:internal/modules/cjs/loader:1329:10)
    at Module.load (node:internal/modules/cjs/loader:1133:32)
    at Module._load (node:internal/modules/cjs/loader:972:12)
    at Module.require (node:internal/modules/cjs/loader:1157:19)
    at require (node:internal/modules/helpers:119:18)
    at Object.<anonymous> (asdf/node_modules/@tamagui/use-keyboard-visible/dist/cjs/useKeyboardVisible.js:25:27)
    at Module._compile (node:internal/modules/cjs/loader:1275:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1329:10)
    at Module.load (node:internal/modules/cjs/loader:1133:32)
    at Module._load (node:internal/modules/cjs/loader:972:12)
    at Module.require (node:internal/modules/cjs/loader:1157:19)
    at require (node:internal/modules/helpers:119:18)
    at Object.<anonymous> (asdf/node_modules/@tamagui/use-keyboard-visible/dist/cjs/index.js:24:33)
    at Module._compile (node:internal/modules/cjs/loader:1275:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1329:10)
    at Module.load (node:internal/modules/cjs/loader:1133:32)
    at Module._load (node:internal/modules/cjs/loader:972:12)
    at Module.require (node:internal/modules/cjs/loader:1157:19)
    at require (node:internal/modules/helpers:119:18)
    at Object.<anonymous> (asdf/node_modules/@tamagui/sheet/dist/cjs/Sheet.js:40:35)
    at Module._compile (node:internal/modules/cjs/loader:1275:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1329:10)
    at Module.load (node:internal/modules/cjs/loader:1133:32)
    at Module._load (node:internal/modules/cjs/loader:972:12)
    at Module.require (node:internal/modules/cjs/loader:1157:19)
    at require (node:internal/modules/helpers:119:18)
    at Object.<anonymous> (asdf/node_modules/@tamagui/sheet/dist/cjs/index.js:25:25)
    at Module._compile (node:internal/modules/cjs/loader:1275:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1329:10)
    at Module.load (node:internal/modules/cjs/loader:1133:32)
    at Module._load (node:internal/modules/cjs/loader:972:12)
    at Module.require (node:internal/modules/cjs/loader:1157:19)
    at require (node:internal/modules/helpers:119:18)
    at Object.<anonymous> (asdf/node_modules/@tamagui/dialog/dist/cjs/Dialog.js:57:20)
    at Module._compile (node:internal/modules/cjs/loader:1275:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1329:10)
    at Module.load (node:internal/modules/cjs/loader:1133:32)
    at Module._load (node:internal/modules/cjs/loader:972:12)
    at Module.require (node:internal/modules/cjs/loader:1157:19)
    at require (node:internal/modules/helpers:119:18)
    at Object.<anonymous> (asdf/node_modules/@tamagui/dialog/dist/cjs/index.js:18:25)
    at Module._compile (node:internal/modules/cjs/loader:1275:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1329:10)
    at Module.load (node:internal/modules/cjs/loader:1133:32)
    at Module._load (node:internal/modules/cjs/loader:972:12)
    at Module.require (node:internal/modules/cjs/loader:1157:19)
    at require (node:internal/modules/helpers:119:18) {
  page: '/'
}

package.json
{
  "name": "asdf",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    "postinstall": "npm run sylink-git-hooks",
    "prebuild": "echo 'prebuild'",
    "build": "next build",
    "dev": "next dev",
    "export": "next export",
    "lint": "next lint",
    "lintfix": "next lint --fix",
    "tslint": "tsc",
    "start": "next start",
    "prettier": "./node_modules/.bin/prettier --write ./src",
    "prettier-check": "./node_modules/.bin/prettier --check ./src",
    "sylink-git-hooks": "ln -s ../../git-hooks/pre-commit .git/hooks/pre-commit && ln -s ../../git-hooks/pre-push .git/hooks/pre-push"
  },
  "dependencies": {
    "@aws-amplify/ui-react": "^4.3.8",
    "@emotion/react": "^11.10.6",
    "@emotion/styled": "^11.10.6",
    "@expo/next-adapter": "^5.0.2",
    "@fortawesome/fontawesome-svg-core": "^6.3.0",
    "@fortawesome/free-regular-svg-icons": "^6.3.0",
    "@fortawesome/free-solid-svg-icons": "^6.3.0",
    "@fortawesome/react-fontawesome": "^0.2.0",
    "@headlessui/react": "^1.7.13",
    "@heroicons/react": "^2.0.16",
    "@mui/icons-material": "^5.11.16",
    "@mui/material": "^5.12.2",
    "@next/font": "13.1.6",
    "@tailwindcss/forms": "^0.5.3",
    "@tanstack/react-table": "^8.7.9",
    "@types/node": "18.13.0",
    "@types/react": "18.0.27",
    "@types/react-dom": "18.0.10",
    "@types/styled-components-react-native": "^5.2.1",
    "@visx/axis": "^3.1.0",
    "@visx/curve": "^3.0.0",
    "@visx/gradient": "^3.0.0",
    "@visx/grid": "^3.0.1",
    "@visx/group": "^3.0.0",
    "@visx/legend": "^3.0.0",
    "@visx/marker": "^3.0.0",
    "@visx/mock-data": "^3.0.0",
    "@visx/pattern": "^3.0.0",
    "@visx/scale": "^3.0.0",
    "@visx/shape": "^3.0.0",
    "@visx/text": "^3.0.0",
    "@visx/xychart": "^3.0.1",
    "aws-amplify": "^5.0.16",
    "clsx": "^1.2.1",
    "dotenv": "^16.0.3",
    "eslint": "8.33.0",
    "eslint-config-next": "13.1.6",
    "lodash.has": "^4.5.2",
    "lodash.set": "^4.3.2",
    "nativewind": "^2.0.11",
    "next": "13.1.6",
    "react": "18.2.0",
    "react-dom": "18.2.0",
    "react-native": "^0.71.7",
    "react-native-web": "^0.19.4",
    "react-redux": "^8.0.5",
    "react-spring": "^9.7.1",
    "redux": "^4.2.1",
    "redux-thunk": "^2.4.2",
    "styled-components": "^5.3.10",
    "tailwind-merge": "^1.10.0",
    "tamagui": "^1.26.0",
    "typescript": "4.9.5",
    "webpack": "^5.80.0"
  },
  "devDependencies": {
    "@react-native-community/eslint-config": "^3.2.0",
    "@total-typescript/ts-reset": "^0.3.7",
<EMAIL_ADDRESS>"^4.5.7",
<EMAIL_ADDRESS>"^4.3.7",
    "@typescript-eslint/eslint-plugin": "^5.59.0",
    "@typescript-eslint/parser": "^5.59.0",
    "autoprefixer": "^10.4.13",
    "eslint-config-prettier": "^8.8.0",
    "eslint-plugin-prettier": "^4.2.1",
    "eslint-plugin-react-native": "^4.0.0",
    "eslint-plugin-react-perf": "^3.3.1",
    "eslint-plugin-tailwindcss": "^3.10.1",
    "postcss": "^8.4.21",
    "prettier": "^2.8.4",
    "prettier-plugin-tailwindcss": "^0.2.7",
    "tailwindcss": "^3.2.7"
  }
}

next.config.js
const { withExpo } = require('@expo/next-adapter');

/** @type {import('next').NextConfig} */
const nextConfig = {
  swcMinify: true,
  transpilePackages: [
    'react-native',
    'nativewind',
  ],
  experimental: {
    forceSwcTransforms: true,
    fullySpecified: false,
    esmExternals: 'loose'
  },
  reactStrictMode: true,
  images: {
    unoptimized: true,
  },
  webpack(config) {
    config.module.rules.push({
      test: /\.m?js$/,
      type: 'javascript/auto',
      resolve: {
        fullySpecified: false,
      },
    })
    return config
  },
};

module.exports = withExpo(nextConfig);

Why aren’t you using the next plugin?
You need to alias react-native to react-native-web

Thank you very much. I got it to work.
I don't know if it has due to my particular NextJS setup, but the Tamagui documentation for NextJS setup was misleading by saying:
"For a minimal setup with just @tamagui/core, you can get away with this configuration: [shows minimal next.config]"
I did have to setup @tamagui/next-plugin in my next.config as you suggested, and is described here : https://tamagui.dev/docs/guides/next-js#nextconfigjs
But the @tamagui/next-plugin section says, "For a more complete configuration," and for me, it was mandatory.
I also had to setup TamaguiProvider as described on that linked docs page.


Terminology and Missing information

MCAS has a Threat Detection policy category but does not have Threat Protection as a category, are these phrases interchangeable? it would be better if they were consistently used.
Also, there is a "Suspicious additions to sensitive groups" in the Threat Detection policy category, that is not described on this page. Where can I find the details about how that policy works?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: ed369c7a-5261-5df9-4858-32522c2d5930
Version Independent ID: 6ee8f528-54a8-a024-55d4-7e396ffb552b
Content: Threat protection policies - Cloud App Security
Content Source: CloudAppSecurityDocs/policies-threat-protection.md
Service: cloud-app-security
GitHub Login: @shsagir
Microsoft Alias: shsagir

@DeanGross  Thanks for your feedback. We're investigating the issue and get back to you.

@DeanGross Thanks for your feedback. We've submitted a documentation change based on your suggestion, and the updated article should be live by tomorrow. Please let us know if there's anything more we can do for you. To follow up on this issue, leave us a comment with an @mention.


Package request: Gridcoin

Project description
Gridcoin is a POS-based cryptocurrency that rewards users for participating on the BOINC network. Gridcoin uses peer-to-peer technology to operate with no central authority - managing transactions, issuing money and contributing to scientific research are carried out collectively by the network.
Metadata

homepage URL: https://gridcoin.us/
source URL: https://github.com/gridcoin-community/Gridcoin-Research
license: MIT
platforms: linux, windows, mac

Duplicate of https://github.com/NixOS/nixpkgs/issues/187264

Duplicate of #187264

My bad, lack of search skills at 1:30am

Duplicate of #187264

My bad, lack of search skills at 1:30am


fix: stop considering parent URLs as public file

Description
Currently, when the URL starts with /.../node_modules/ (e.g. /../node_modules/some-library/src/someFile.js) then checkPublicFile() wrongfully considers the file to be a public file.
This bug happens because path.join(publicDir, '/../node_modules/some-library/src/someFile.js') resolves to the actual file someFile.js which makes checkPublicFile() wrongfully believe that it's a public file.

Additional context
This sometimes happens for frameworks built on top of vite-plugin-ssr.
Reproduction: https://github.com/brillout/vite-reprod-11145.
What is the purpose of this pull request?

[x] Bug fix
[ ] New Feature
[ ] Documentation update
[ ] Other

Before submitting the PR, please make sure you do the following

[x] Read the Contributing Guidelines.
[x] Read the Pull Request Guidelines and follow the Commit Convention.
[x] Check that there isn't already a PR that solves the problem the same way to avoid creating a duplicate.
[x] Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. fixes #123).
[ ] Ideally, include relevant tests that fail without this PR but pass with it.

I think it'll be great to have tests that can reproduce this. I'm not sure how this would happen in Vite currently, and maybe it's better to fix the root problem.

I think it'll be great to have tests that can reproduce this. I'm not sure how this would happen in Vite currently, and maybe it's better to fix the root problem.

👍 Makes sense. I will try to reproduce this as a test.

Just had a closer look.

I'm not sure how this would happen in Vite currently

It happens when you have this:
import.meta.glob('/../path/to/**/*.js')

Which is a valid pattern: https://github.com/vitejs/vite/blob/388adf5a7e9fa16b5d5431773457c038fc5b6621/packages/vite/src/node/tests/plugins/importGlob/fixture.test.ts#L51

I think it'll be great to have tests that can reproduce this

I think it requires a full-fledged playground (because importAnalysisPlugin() requires a publicDir and a dev server). So I'm not sure if it's worth it to have an entire new playground just to test this edge case?

That's quite a strange pattern to support. I'd ping Anthony but he's on vacation now. I'm not sure if we want to correctly support it though, and using relative ../../ instead would be safer. 🤔

That's quite a strange pattern to support. I'd ping Anthony but he's on vacation now. I'm not sure if we want to correctly support it though, and using relative ../../ instead would be safer. 🤔

Virtual modules cannot use ../../, so the only option is /../../. (Since /../../ is relative to config.root, whereas ../../ is relative to __dirname but __dirname doens't exist in virutal modules.)
Hydrogen introduced the practice of globbing inside node_modules/some-dependency/ which VPS also does.
When using pnpm, the file paths ends up being /../node_modules/some-library/some-file.js.

It looks like these paths are indeed valid. Interesting that this is the only place where things break though. If vite-ecosystem-ci passes, this LGTM.

/ecosystem-ci run


Low unselected text visibility when creating a new folder

Thanks! Will fix. On Jun 23, 2024, at 4:20 PM, Arthur Stramkals @.> wrote: 4GyH7rI.png (view on web) — Reply to this email directly, view it on GitHub , or unsubscribe . You are receiving this because you are subscribed to this thread. Message ID: @.>

My solution is to install Style Settings plugin, then in the options of that plugin, you can change the color of file name, the default is white, you may change to accent.

This should be fixed in the most recent push. Please let reopen if you run into further issues. Thank you for offering helpful advice, too, @lowrank!


fix emoji

Fixes #36

Any particularly reason why this has not been merged yet?

@Hanspagh Hi, sorry for not responding here.
I'll test this against a prod db backup (just to make sure) as soon as I get home from my trip :+1:


Downlaod of Docker image fails

Dear all
I am trying to install the docker image on my Synology.
After choosing "latest" the downlaod alwas fails.
What could be the reason?

oh, looks like I forgot to update that after the v0.0.11 release.  should work now!

well, --debug isn't a valid flag anymore.  You can look in the logs and it will tell you what is going on:

Fatal error to specify two interfaces.
I put eth0 and tun0.
It says eth0 is not configured.

I dunno... is it?  I don't use eth0 personally.  You'll want to ssh into your NAS and run ifconfig and see what the correct interface is.

I got this:

So i put in bond0 and tun0. No further error message but the container always restarts.

you have to remove the -l flag.  When you specify that it lists the interfaces and then exits.

https://github.com/synfinatic/udp-proxy-2020/blob/main/README.md#when-should-i-use---no-listen

Sounds like this is working now?  If so, then I'll close this ticket.


Update links to the Origin Trial Guide.

This removes links to JP Chase's personal github account with one in the GoogleChrome organization.
CC: @petele

Whoops!
There were 113 warnings that will prevent this PR from being merged. Please take a look, and either fix, or provide a justification for why they can't be fixed.
WARNINGS
src/content/en/updates/2015/07/interact-with-ble-devices-on-the-web.md#L526 - Updates post is missing RSS feed widget: '{% include "web/_shared/rss-widget-updates.html" %}'
src/content/en/updates/2015/07/interact-with-ble-devices-on-the-web.md#L517 - Common typo found: 'android' Should it be 'Android'? See: https://developers.google.com/style/word-list#android
src/content/en/updates/2015/07/interact-with-ble-devices-on-the-web.md#L517 - Common typo found: 'android' Should it be 'Android'? See: https://developers.google.com/style/word-list#android
src/content/en/updates/2015/07/interact-with-ble-devices-on-the-web.md#L51 - Line must be at most 100 characters
src/content/en/updates/2015/07/interact-with-ble-devices-on-the-web.md#L62 - Line must be at most 100 characters
src/content/en/updates/2015/07/interact-with-ble-devices-on-the-web.md#L81 - Line must be at most 100 characters
src/content/en/updates/2015/07/interact-with-ble-devices-on-the-web.md#L132 - Line must be at most 100 characters
src/content/en/updates/2015/07/interact-with-ble-devices-on-the-web.md#L133 - Line must be at most 100 characters
src/content/en/updates/2015/07/interact-with-ble-devices-on-the-web.md#L134 - Line must be at most 100 characters
src/content/en/updates/2015/07/interact-with-ble-devices-on-the-web.md#L141 - Line must be at most 100 characters
src/content/en/updates/2015/07/interact-with-ble-devices-on-the-web.md#L384 - Line must be at most 100 characters
src/content/en/updates/2015/07/interact-with-ble-devices-on-the-web.md#L422 - Line must be at most 100 characters
src/content/en/updates/2015/07/interact-with-ble-devices-on-the-web.md#L423 - Line must be at most 100 characters
src/content/en/updates/2015/07/interact-with-ble-devices-on-the-web.md#L424 - Line must be at most 100 characters
src/content/en/updates/2015/07/interact-with-ble-devices-on-the-web.md#L425 - Line must be at most 100 characters
src/content/en/updates/2015/07/interact-with-ble-devices-on-the-web.md#L426 - Line must be at most 100 characters
src/content/en/updates/2015/07/interact-with-ble-devices-on-the-web.md#L427 - Line must be at most 100 characters
src/content/en/updates/2015/07/interact-with-ble-devices-on-the-web.md#L428 - Line must be at most 100 characters
src/content/en/updates/2015/07/interact-with-ble-devices-on-the-web.md#L429 - Line must be at most 100 characters
src/content/en/updates/2015/07/interact-with-ble-devices-on-the-web.md#L433 - Line must be at most 100 characters
src/content/en/updates/2015/07/interact-with-ble-devices-on-the-web.md#L434 - Line must be at most 100 characters
src/content/en/updates/2015/07/interact-with-ble-devices-on-the-web.md#L435 - Line must be at most 100 characters
src/content/en/updates/2015/07/interact-with-ble-devices-on-the-web.md#L436 - Line must be at most 100 characters
src/content/en/updates/2015/07/interact-with-ble-devices-on-the-web.md#L437 - Line must be at most 100 characters
src/content/en/updates/2015/07/interact-with-ble-devices-on-the-web.md#L438 - Line must be at most 100 characters
src/content/en/updates/2015/07/interact-with-ble-devices-on-the-web.md#L439 - Line must be at most 100 characters
src/content/en/updates/2015/07/interact-with-ble-devices-on-the-web.md#L440 - Line must be at most 100 characters
src/content/en/updates/2015/07/interact-with-ble-devices-on-the-web.md#L442 - Line must be at most 100 characters
src/content/en/updates/2015/07/interact-with-ble-devices-on-the-web.md#L446 - Line must be at most 100 characters
src/content/en/updates/2015/07/interact-with-ble-devices-on-the-web.md#L447 - Line must be at most 100 characters
src/content/en/updates/2015/07/interact-with-ble-devices-on-the-web.md#L448 - Line must be at most 100 characters
src/content/en/updates/2015/07/interact-with-ble-devices-on-the-web.md#L449 - Line must be at most 100 characters
src/content/en/updates/2015/07/interact-with-ble-devices-on-the-web.md#L474 - Line must be at most 100 characters
src/content/en/updates/2015/07/interact-with-ble-devices-on-the-web.md#L475 - Line must be at most 100 characters
src/content/en/updates/2015/07/interact-with-ble-devices-on-the-web.md#L484 - Line must be at most 100 characters
src/content/en/updates/2015/07/interact-with-ble-devices-on-the-web.md#L487 - Line must be at most 100 characters
src/content/en/updates/2016/03/access-usb-devices-on-the-web.md#L334 - Updates post is missing RSS feed widget: '{% include "web/_shared/rss-widget-updates.html" %}'
src/content/en/updates/2016/03/access-usb-devices-on-the-web.md#L48 - Line must be at most 100 characters
src/content/en/updates/2016/03/access-usb-devices-on-the-web.md#L77 - Line must be at most 100 characters
src/content/en/updates/2016/03/access-usb-devices-on-the-web.md#L141 - Line must be at most 100 characters
src/content/en/updates/2016/03/access-usb-devices-on-the-web.md#L168 - Line must be at most 100 characters
src/content/en/updates/2016/03/access-usb-devices-on-the-web.md#L294 - Line must be at most 100 characters
src/content/en/updates/2016/03/access-usb-devices-on-the-web.md#L300 - Line must be at most 100 characters
src/content/en/updates/2016/03/access-usb-devices-on-the-web.md#L320 - Line must be at most 100 characters
src/content/en/updates/2016/06/persistent-storage.md#L111 - Updates post is missing RSS feed widget: '{% include "web/_shared/rss-widget-updates.html" %}'
src/content/en/updates/2016/06/persistent-storage.md#L101 - Common typo found: 'signin' Should it be 'sign-in'? See: https://developers.google.com/style/word-list#sign-on
src/content/en/updates/2016/06/persistent-storage.md#L59 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L241 - Updates post is missing RSS feed widget: '{% include "web/_shared/rss-widget-updates.html" %}'
src/content/en/updates/2016/09/foreign-fetch.md#L22 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L24 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L26 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L28 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L34 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L40 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L46 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L48 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L52 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L56 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L60 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L69 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L71 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L77 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L79 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L80 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L81 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L83 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L85 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L92 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L96 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L100 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L106 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L112 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L114 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L127 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L128 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L132 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L134 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L136 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L158 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L160 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L161 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L162 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L164 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L181 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L185 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L187 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L189 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L200 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L215 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L219 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L223 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L226 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L227 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L230 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L240 - Line must be at most 100 characters
src/content/en/updates/2016/09/navigator-share.md#L140 - Updates post is missing RSS feed widget: '{% include "web/_shared/rss-widget-updates.html" %}'
src/content/en/updates/2016/09/navigator-share.md#L8 - Common typo found: 'android' Should it be 'Android'? See: https://developers.google.com/style/word-list#android
src/content/en/updates/2016/09/navigator-share.md#L118 - Common typo found: 'android' Should it be 'Android'? See: https://developers.google.com/style/word-list#android
src/content/en/updates/2016/09/navigator-share.md#L138 - Line must be at most 100 characters
src/content/en/updates/2016/09/navigator-share.md#L139 - Line must be at most 100 characters
src/content/en/updates/2016/11/nic55.md#L178 - Updates post is missing RSS feed widget: '{% include "web/_shared/rss-widget-updates.html" %}'
src/content/en/updates/2016/11/nic55.md#L175 - Line must be at most 100 characters
src/content/en/updates/2016/11/nic55.md#L176 - Line must be at most 100 characters
src/content/en/updates/2017/02/navigation-preload.md#L342 - Updates post is missing RSS feed widget: '{% include "web/_shared/rss-widget-updates.html" %}'
src/content/en/updates/2017/04/chrome-59-deprecations.md#L150 - Updates post is missing RSS feed widget: '{% include "web/_shared/rss-widget-updates.html" %}'
src/content/en/updates/2017/04/getinstalledrelatedapps.md#L248 - Updates post is missing RSS feed widget: '{% include "web/_shared/rss-widget-updates.html" %}'
src/content/en/updates/2017/04/getinstalledrelatedapps.md#L86 - Common typo found: 'android' Should it be 'Android'? See: https://developers.google.com/style/word-list#android
src/content/en/updates/2017/04/getinstalledrelatedapps.md#L95 - Common typo found: 'android' Should it be 'Android'? See: https://developers.google.com/style/word-list#android
src/content/en/updates/2017/04/getinstalledrelatedapps.md#L95 - Common typo found: 'android' Should it be 'Android'? See: https://developers.google.com/style/word-list#android
src/content/en/updates/2017/04/getinstalledrelatedapps.md#L226 - Common typo found: 'Homescreen' Should it be 'home screen'? See: https://developers.google.com/style/word-list#home-screen
src/content/en/updates/2017/04/getinstalledrelatedapps.md#L228 - Common typo found: 'Homescreen' Should it be 'home screen'? See: https://developers.google.com/style/word-list#home-screen
src/content/en/updates/2017/04/getinstalledrelatedapps.md#L12 - Common typo found: 'web site' Should it be 'website'? See: https://developers.google.com/style/word-list#website
src/content/en/updates/2017/06/budget-api.md#L195 - Updates post is missing RSS feed widget: '{% include "web/_shared/rss-widget-updates.html" %}'


get-started: rewrite it (reach "next level") for user interaction

After #487 ✔

[x] Review validity of open get-started issues when the above is addressed.
[x] Consider these comments about the current Get Started: https://discuss.dvc.org/t/about-get-started/194
[x] Include #634 as well (replace the orphan stage from add-files for an import stage)

@dashohoxha and @dmpetrov and our users brought good points that it's still not clear from the get started that basic data versioning can be used independently from pipelines. I think it's a good time to try to split into segments - Versioning, Accessing (import/get), Pipelines (aka Reproducibility?), Experiments (metrics, etc, etc).
The challenge here is to make them simple, easily reproducible in a sense that we need to provide commands to run. Ideally it still should be base on one project so that you can all these new section one by one.
The things that should change for example, is that Get Old Files should become a part of the first part where basic data management is described. So, we would need to have two versions of the data file at this point.
What options do we have? One singe project, multiple different project that server different needs?

@jorgeorpinel please, feel free to update and change the ticket (checkboxes) accordingly :)

I think it's a good time to try to split into segments - Versioning, Accessing (import/get), Pipelines...
The challenge here is to make them simple...

I don't know if I agree with this. That's what we have tutorials and other docs for. What is a Get Started for? I think it should be a basic introduction to some key features so a user can quickly get familiar with DVC. If its getting to complicated or confusing, we should probably just remove some of the chapters and simplify others (like ** Import Data** perhaps).

[ ] Get Older Files (currently the last chapter) should become a part of (the first part where basic data management is described)

Maybe the name or description could be improved but in the current project at least, the only file that has more than one version is model.pkl, the last output in the whole pipeline, so that's why this chapter has to be at the end.

update and change the ticket (checkboxes) accordingly

Looking at them now.

I think it should be a basic introduction to some key features so a user can quickly get familiar with DVC.

💯 on this! So, when we want to restructure it a little bit the change should not be increasing the complexity. On contrary, it should simplify the perception since you can focus on the fist data management part for example and clearly see how it works end-to-end w/o even touching dvc run.
It's definitely a problem that we talk about dvc checkout at the very end, for example.
Pages should stay as simple as possible.

If the sub-sections are linear (i.e. you can follow them logically in chronological order) then I like the idea. Agree about dvc checkout. We'll need to redesign that part so there's different versions to checkout early on.

@jorgeorpinel I think if we make them based on a single example (the same get started a bit redesigned?) than it would be perfect and you will be able to follow them in chronological order.

Here's an example of a get-started-like example repo from ZEIT/Next.js: https://github.com/zeit/next-learn-demo
They do a combination of the options we're discussing: It's kind of a monorepo with directories for each lesson, but at the same time each lesson continues from the previous one's result. This implies there's repetition of files in each dir, yes, but it's easier to understand the structure at a glance and doesn't require a bunch of tags or precise commits (generated from another project). Maybe we should follow this pattern?
And if we need different repos for different get-started sub sections even if they're not completely linear, we can also do that e.g. iterative/get-started-basics, iterative/get-started-external-data, etc.
What do you think?

"Learn" is a common name for this kind of section with all the guides, tutorials, etc e.g. https://nextjs.org/learn

I think this link is not a good example. First of all, notice how Learn is not even part of Docs. Mostly because it's too generic. Second, it looks like the whole Learn section for Next is actually one single interactive tutorial.

OK. Addressed in https://github.com/iterative/dvc.org/pull/1051#issuecomment-600828452.

Closing this. We have higher priorities now. We can revisit later when we get to the next iteration.


Suggestion make .add[0,0] for chunks

For locations we have location.add[0,4,-4] to change and work with them.
I would like to have the same for chunks.
Of course I can save the chunk.x and chunk.z separately and work with some math but we don't do that for locations, why not for chunks, too

BTW you can close this, because it works.


Fix: category modal on mobile devices

Description

Fix for issue #13
Changes Made
Update styling for:

category modal
search bar
app shell
links

Checklist

[x] Code follows the style and coding standards of the project
[x] Code is properly formatted and documented
[x] All tests pass
[x] Changes have been tested thoroughly

Codecov Report

Merging #14 (9b3569a) into main (c6d0395) will decrease coverage by 0.08%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main      #14      +/-   ##
==========================================
- Coverage   95.31%   95.23%   -0.08%
==========================================
  Files           5        5
  Lines          64       63       -1
  Branches       19       18       -1
==========================================
- Hits           61       60       -1
  Misses          3        3

Impacted Files
Coverage Δ

src/components/Header.tsx
100.00% <ø> (ø)

src/components/SearchBar.tsx
100.00% <ø> (ø)


enhancement: handling cwv grouping changes

Please ensure your pull request adheres to the following guidelines:

[ ] make sure to link the related issues in this description
[ ] when merging / squashing, make sure the fixed issue references are visible in the commits, for easy compilation of release notes

Related Issues
Thanks for contributing!

I think we should store the cwv metrics along with the url in form-vitals to avoid mapping them again.
 "form-vitals": [
    {
      "url": "https://business.adobe.com/se/resources/main.html",
      "formengagement": {
        "desktop:windows": 100
      },
      "pageview": {
        "desktop:windows": 7898
      },
      "cwv": {
           "desktop": {},
            "mobile": {}
        }
    }
]

I think we should store the cwv metrics along with the url in form-vitals to avoid mapping them again.
 "form-vitals": [
    {
      "url": "https://business.adobe.com/se/resources/main.html",
      "formengagement": {
        "desktop:windows": 100
      },
      "pageview": {
        "desktop:windows": 7898
      },
      "cwv": {
           "desktop": {},
            "mobile": {}
        }
    }
]

would like to keep the structure as it is which we are getting from cwv query.
unless if any major modifications happens again we dont have to do anything at our end, like adding or bifurcating new device type or something like that.
Reporting worker processes this and parses this in a more human friendly manner anyways.

:tada: This PR is included in version 1.36.1 :tada:
The release is available on:

v1.36.1
GitHub release

Your semantic-release bot :package::rocket:


Use new ArgumentNullException.ThrowIfNull throw-helper API

This API was introduced in .NET 6.
In some cases, the custom exception message has been removed because the throw helper doesn't allow it. I can revert these changes if we want to keep the custom message.

Will revert the exceptions with custom messages and cases where the code is more cluttered than before later today.

I have reverted all cases where there was a custom exception message, or where the new pattern made the code uglier.

Potentially even a full revert of 17b7b14

Even the instances where there are custom exception messages? I can yield on the performance critical but ugly instances for sure, but the ones with custom exception messages are to me a major downgrade in developer usability.

I think they're pretty self explanatory. Between the following messages:
Unhandled exception. System.ArgumentNullException: May not create a TransformSequence with a null origin. (Parameter 'origin')
   at osu.Framework.Graphics.Transforms.TransformSequence`1..ctor(T origin) in /home/smgi/Repos/osu-framework/osu.Framework/Graphics/Transforms/TransformSequence.cs:line 51
   at osu.Desktop.Program.Main(String[] args) in /home/smgi/Repos/osu/osu.Desktop/Program.cs:line 35

Unhandled exception. System.ArgumentNullException: Value cannot be null. (Parameter 'origin')
   at System.ArgumentNullException.Throw(String paramName)
   at System.ArgumentNullException.ThrowIfNull(Object argument, String paramName)
   at osu.Framework.Graphics.Transforms.TransformSequence`1..ctor(T origin) in /home/smgi/Repos/osu-framework/osu.Framework/Graphics/Transforms/TransformSequence.cs:line 50
   at osu.Desktop.Program.Main(String[] args) in /home/smgi/Repos/osu/osu.Desktop/Program.cs:line 35

Given the appropriate stacktrace, I don't think any information is being lost. The second one may even be more readable since it's a consistent message across everything (e.g. for Sentry views).

I'd still argue that the NonNullableBindable case should stay but I don't care enough to argue this further.

IOS not happy with this one, for some reason :(

That one's a known failure, still no clue why it's happening but re-running fixes it.

That just looks like the iOS workflow broke for whatever reason. There are similar failures on other pulls.


Turned Footer SVG Logo White

We never asked for our existing logo to be deleted.  As you know, we never delete data in our organization as this is a violent way to get the end goal.
Come up with a non-destructive solution that retains our original logo.
Best option is to create a 2nd logo or styling to manipulate the current for the color you intend.

Ok, I will research it and will do it according to the requirements.

I will follow these steps to avoid a non-destructive change to the original logo stored inside our Repo.

Open the GitHub website repo on VS Code Insider.
Navigate to the directory where the logo file is stored.
Create a copy of the existing logo file by right-clicking on it and selecting "Duplicate" or "Copy".
Rename the duplicated file to "logo-white" to differentiate it from the original.
Open the newly renamed file in a VS Code Insider.
Modify the colors of the duplicated logo file to create the desired white version.
Save the changes to the newly created file.
Use Live Share to see changes.
Commit the changes to the repo using Git.
Push the changes to the remote GitHub repo.

I am closing this PR, as I raised a new PR #153 for this.


multiple Search components bug

the search bar works but only in Desktop mode or only in Mobile mode (\when the windows isn't full screen), it doesn't expect a click event. so it becomes a dud.
To Reproduce

got to quartz.layout.ts
enter the following code in either the right or left or beforebody sections:

Component.DesktopOnly(Component.search),
Component.MobileOnly(Component.search),

-- you can also just have one with an DeviceOnly component and the other regular.

build and preview
try it out in both full screen and in minimized.

Expected behavior
for the scenario in which you want the search component in a different place in the desktop than in the mobile
I would expect the search bar to just work...
https://github.com/OfirSinn/Articles
ofirsinn.github.io/Articles

Quartz Version: V4.2.3
node Version: v20.11.1
npm version: v10.2.4
OS: windows, android
Browser: chrome, firefox

Additional context
the reason for needing 2 search components lies with my site being RTL, so the left and the right components switch places.
on Mobile though left and right are top and bottom so I figured best to have them separated by DeviceOnly components so
both look good.

This is currently the expected behaviour, iirc we have the same discussion elsewhere about components.
Currently all components are singleton, which if you make DesktopOnly and MobileOnly of the same component it won't work.


Update mirror automatically after a pull request is merged to main

Now that we have the mirror, it would be nice to automatically mirroring after a pr is merged. I think that's something which should be possible with gh actions somehow. Unfortunately that's something way over my head.

yes i can put it on my list, just calling an already setup npm command via github action should be (hopefully) possible for me :)
but maybe the action should be setup in the mirror repository and we transfer this issue to there?

possible, but I dont think it would be the typical use-case
if someone wants to mirror they setup their own repo, with the name they want, this repo might be public or private. Thus its easier to have a cron job in the mirror pulling the code from the source

thanks for the info, ok when i find time i will give it a try in the mirror repo with a cron job. it makes somehow no sense, but then this repo is a good copy&paste template for everyone who needs the functionality in the future.

in the mirror repository and we transfer this issue to there?  - makes sense.
Seems that I'm not allowed to do that. So feel free.


Add rollout packaging

Add rollout packaging which is more lightweight and better for libraries than webpack.
Our webpack was ridiculously outdated anyway.
Closes #261 by babelifying the build.
I'm actually very unhappy with that, so let's follow up closely create-react-app and remove the babel stuff as soon as possible.

@juanjoDiaz we probably need to build the code before we run the tests, seems why travis is failing.

Travis is running build before the tests... weird that it doesn't work. I'll look more into it.


requirements.txt is missing

It's mentioned in the documentation but not in the source code, if I've understood correctly.

Hi @scampion ,
The packages you need to install to run the code of this repository are listed in the Installation section of the README file. We do not provide a requirements.txt file, where did you find the mention of the file exactly?
Let me know if you need something else :)
Oscar

Indeed I found that :)
Thanks a lot for your feedback.
The message was in the notebook :
Event Extraction with GoLLIE[¶]
This notebook provides an example of how to conduct Event Extraction using GoLLIE.

In the paper, to compare GoLLIE with the previous state-of-the-art (SOTA), we divided the Event Extraction task into two sub-tasks: Event Extraction (EE) and Event Argument Extraction (EAE). The former focuses on detecting event instances in a text, while the latter, given an event instance, predicts its attributes, such as the persons involved and their roles. Additionally, GoLLIE is capable of performing End-to-End Event Extraction. In this notebook, we will demonstrate all three scenarios. This notebook covers:

How to define guidelines for a task
How to load GoLLIE
How to conduct Event Extraction (EE) using GoLLIE
How to perform Event Argument Extraction (EAE) with GoLLIE
How to execute end-to-end Event Extraction with GoLLIE
How to implement a scorer and evaluate the results
You can modify this notebook to run any Event Extraction task you want

Import requeriments
See the requeriments.txt file in the main directory to install the required dependencies


Comments not followed by a line of code are sorted incorrectly

Nice tool. One thing is not so nice.
Consider this source file (it's a sample, just to show the issue):
/** @class Test */

/** @function Test#method1 */
Object();

/** @function Test#method2 */

/** @function Test#method3 */
Object();

When fed to jsdoc-parse, method2 is moved before method1 and method3.
[
  {
    "kind": "class",
    "name": "Test",
    "longname": "Test"
  },
  {
    "kind": "function",
    "name": "method2",
    "memberof": "Test",
    "longname": "Test#method2",
    "scope": "instance"
  },
  {
    "kind": "function",
    "name": "method1",
    "memberof": "Test",
    "longname": "Test#method1",
    "scope": "instance"
  },
  {
    "kind": "function",
    "name": "method3",
    "memberof": "Test",
    "longname": "Test#method3",
    "scope": "instance"
  }
]

The output of jsdoc looks ok, so the problem must be probably in the parser.

closing, as what you are seeing is the expected behaviour of jsdoc (which powers jsdoc-parse)


enh: allow to use S3 for uploaded files

Is your feature request related to a problem? Please describe.
@tjbck clarified Postgres can be used for metadata (Open WebUI config and user chat history) at https://github.com/open-webui/helm-charts/issues/83#issuecomment-2379241585 except for user uploaded files.
Describe the solution you'd like
It would be great to support to use S3 for uploaded files.
Describe alternatives you've considered
Use EBS or EFS for uploaded files.
Additional context
None

PR Welcome!

I'm willing to contribute to this feature.

@ZhangChaoWN
Thanks for taking this on! I'm interested in contributing to this feature as well.
Lmk if you need help finishing it!

@DucNgn, I'm super excited that you're interested in helping out on this feature!
Here’s a quick overview of what's been done so far and what still needs attention.
Completed:

In process_doc: Download file from S3
In upload_file: Upload file to S3
/{id}/content API: Download file to the client

TODO:

Modify the configuration to enable switching between saving files to S3 or the local file system (currently hardcoded). And Retrieve the S3 bucket name from the configuration.
Consider adding documentation about this feature.
In process_doc, would it be better to delete the temporary file downloaded from S3 after storing it in the vector database?

I have forked this project and pushed my code changes. If you're interested in collaborating on the coding work, feel free to merge my code or ask me to merge yours. Feel free to point out any mistakes or suggest ways to improve the feature. If you have any ideas for additional tasks, Please feel free to share them as well.

Squashed commits and rebased onto the latest main branch in the forked repo

The content of the uploaded file will be indexed in the vector database; is it still necessary to upload it to  S3?   @tjbck @ZhangChaoWN

@gmemstr Good catch, should be addressed in dev! More testing wanted here!

What about mounting a JuiceFS filesystem?

Hey ! well done, I'm looking forward this feature :)
So, taking a look at the code, I started fixing it, but what do you think if we follow the same approach as for vector/dbs?
Where we have a "common CRUD" contract and then in config env we choose which implementation provider ("local" or "s3") should instantiate, what do you think?

How does the sync directory work from the front end?  It crashes if I try it via the pwa. But works pretty well on PC. But how does it stay in "sync"?

@davizucon external vector dbs are already supported, unsure what you meant here.

@gmemstr should be fixed on dev!

@tjbck , thanks for reply.
this is how the classes and functions are organized. Instead of all functions with if/else, you could make specialist classes that each deal with a specific implementation of storage. I mentioned vector just to be used as an example of organization, it follows this design.

Hi all, I'm also looking forward to this feature. I agree with @davizucon idea to organise them into separate classes:

StorageProvider(ABC)
FileSystemStorageProvider(StorageProvider)
S3StorageProvider(StorageProvider)

Also noticed that with the existing implementation there is no pagination on list_objects calls, which might cause issues after 1000 uploads. There may be some frontend considerations for such large collections.
Looking to deploy with a stable release relatively soon, so I'm happy to help put together a PR if it would be accepted 😄

@CallumJHays Feel free to make an initial PR, I'll provide guidance/comment where needed!

Hi @tjbck , I creatd a PR #6773 to fix the S3 bug and also split files mentioned as @CallumJHays and @davizucon
Other changes:

Organise files under user to prevent too many files in one folder.
Avoid using a local file when downloading file
Delete the local temp file after loading into docs during upload.

Please let me know your opinion, thanks

@weixu365 I'd appreciate if you could split them up to atomic PRs.

Hi @tjbck , If you are fine with splitting the file into multiple files, then the following three things need to be in a single PR:

Return StreamResponse directly using S3 response, to avoid copy to a local file
Use a temporary file during file upload, and delete the local file after parsing into docs
Split Storage providers into multiple files: base, local, and s3

The following two can be separate PRs:

Add file info to the metadata in vector db when using S3: 20 lines change in: https://github.com/open-webui/open-webui/pull/6773/files#diff-2d89f8187eb510b438425635ecf01562e49d051917a23ed58ebd73b0519e6cc6R890-R910
Organise files under the current user id to avoid too many files in the same folder: 1 line at https://github.com/open-webui/open-webui/pull/6773/files#diff-20f606f9101c38ec9235ead28a87261b54b09151b45a04d76456aa0bf2e69ef1R50

Please let me know your opinion.

I can also create PRs in the following order:

Split Storage providers into multiple files: base, local, and s3 without changing any logic.
Add dest path to Storage fields to make the Storage classes generic, e.g. supports File Upload, Image Generation, and audio transcription

S3 Storage: bucket, prefix
Local Storage: storage_home

Delete temporary local files when using S3 for storage, includes the following changes:

Return StreamResponse from S3 response
Delete the local file created during upload
Use paginate to list all files for deleting

Organise files under the current user id to avoid too many files in the same folder
Add file info to the metadata in vector db when using S3

The 2nd and 3rd are slightly coupled, so it would be easier to merge them into one PR.

Hi @tjbck, is there any update on the PR? I can split it into a couple of small PRs, but I need your guidance on what changes are accepted in the above 6 atomic changes.

Hey @tjbck, does this mean that the S3 bugfixes are delayed until v5?

so, i had upload file for S3,but console print error info:
`INFO  [open_webui.apps.webui.routers.files] file.content_type: application/pdf
ERROR [open_webui.apps.retrieval.main] list index out of range
Traceback (most recent call last):
File "D:\sourcecode\soft-factory\ai\open-webui\backend\open_webui\apps\retrieval\main.py", line 835, in process_file
file_path = Storage.get_file(file_path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\sourcecode\soft-factory\ai\open-webui\backend\open_webui\storage\provider.py", line 144, in get_file
return self._get_file_from_s3(file_path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\sourcecode\soft-factory\ai\open-webui\backend\open_webui\storage\provider.py", line 71, in _get_file_from_s3
bucket_name, key = file_path.split("//")[1].split("/")
~~~~~~~~~~~~~~~~~~~~~^^^
IndexError: list index out of range
ERROR [open_webui.apps.webui.routers.files] 400: list index out of range
Traceback (most recent call last):
File "D:\sourcecode\soft-factory\ai\open-webui\backend\open_webui\apps\retrieval\main.py", line 835, in process_file
file_path = Storage.get_file(file_path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\sourcecode\soft-factory\ai\open-webui\backend\open_webui\storage\provider.py", line 144, in get_file
return self._get_file_from_s3(file_path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\sourcecode\soft-factory\ai\open-webui\backend\open_webui\storage\provider.py", line 71, in _get_file_from_s3
bucket_name, key = file_path.split("//")[1].split("/")
~~~~~~~~~~~~~~~~~~~~~^^^
IndexError: list index out of range
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "D:\sourcecode\soft-factory\ai\open-webui\backend\open_webui\apps\webui\routers\files.py", line 71, in upload_file
process_file(ProcessFileForm(file_id=id))
File "D:\sourcecode\soft-factory\ai\open-webui\backend\open_webui\apps\retrieval\main.py", line 903, in process_file
raise HTTPException(
fastapi.exceptions.HTTPException: 400: list index out of range
ERROR [open_webui.apps.webui.routers.files] Error processing file: 54add99d-1754-431d-8935-8ecd82794aae
INFO:     <IP_ADDRESS>:49411 - "POST /api/v1/files/ HTTP/1.1" 200 OK`

So, I figure it, modified provider.py file,
def _get_file_from_s3(self, file_path: str) -> str:
        """Handles downloading of the file from S3 storage."""
        if not self.s3_client:
            raise RuntimeError("S3 Client is not initialized.")

        if os.path.exists(file_path):  # Local file
            return file_path

        try:
            # Validate and parse the file path
            if not file_path.startswith("s3://"):
                raise ValueError(f"Invalid S3 file path format: {file_path}")
            bucket_name, key = file_path[len("s3://"):].split("/", 1)

            local_file_path = os.path.join(UPLOAD_DIR, os.path.basename(key))
            self.s3_client.download_file(bucket_name, key, local_file_path)
            return local_file_path
        except ValueError as e:
            raise RuntimeError(f"File path validation failed: {e}")
        except ClientError as e:
            raise RuntimeError(f"Error downloading file from S3: {e}")

def get_file(self, file_path: str) -> str:
        """Downloads a file either from S3 or the local file system and returns the file path."""
        try:
            if self.storage_provider == "s3":
                return self._get_file_from_s3(file_path)
            return self._get_file_from_local(file_path)
        except RuntimeError as e:
            if "Invalid file path format" in str(e):
                print("Attempting to handle file as local path.")
                return self._get_file_from_local(file_path)
            raise

Why not just use one of the other million ways to mount S3 to a path like s3fs ... Or something that does not use fuse whatever...


[fix-10207] When the registered alarm plugin is empty, the error message is not clear

…stered alarm plugin is empty

Purpose of the pull request
Brief change log
ref #10207 , this PR only solves the problem of prompt information
Verify this pull request
Manually verified the change by testing locally.

Codecov Report

Merging #10224 (585e32c) into dev (de5507f) will decrease coverage by 0.00%.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##                dev   #10224      +/-   ##
============================================
- Coverage     40.96%   40.96%   -0.01%
  Complexity     4736     4736
============================================
  Files           854      854
  Lines         34565    34565
  Branches       3819     3819
============================================
- Hits          14160    14159       -1
- Misses        19050    19051       +1
  Partials       1355     1355

Impacted Files
Coverage Δ

.../org/apache/dolphinscheduler/api/enums/Status.java
100.00% <100.00%> (ø)

...er/master/dispatch/host/assign/RandomSelector.java
77.77% <0.00%> (-5.56%)
:arrow_down:

...r/plugin/task/sqoop/parameter/SqoopParameters.java
53.33% <0.00%> (-1.34%)
:arrow_down:

...dolphinscheduler/remote/future/ResponseFuture.java
83.60% <0.00%> (+1.63%)
:arrow_up:

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 de5507f...585e32c. Read the comment docs.


Updated to default boost 1_59, added Google Protocol buffers v3 and MySQL C Connector

I have updated the default boost version to 1_59.
I have added Google Protocol Buffers v3
I have added MySQL C Connector v6.1.6

@dlinten Hi, what is the status of this PR. I see some new patches not related to original PR.

@ruslo No further updates have been made as of yet.  Please ignore PR.  I will redo and conform to review procedures.

Performing redo in accordance with review procedures.

just to summarize:

mysql connector add intent: https://github.com/ruslo/hunter/pull/316/files
protobuf: https://github.com/ruslo/hunter/issues/97. I see that already like 3 developers try to add it. Project use CMake as a build system and looks pretty trivial, not sure what is the problem here...
I've made a "cut" boost releases for 1.59, 1.60 versions. All that need to be done is to calculate sha1 of archives


soplex: init at 6.0.4

Description of changes

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 273296 run on x86_64-linux 1

1 package built:

soplex

Result of nixpkgs-review pr 273296 run on x86_64-linux 1

1 package built:

soplex

You can run nix-shell then nixfmt the file to pass CI

@NixOS/nixpkgs-merge-bot merge


Make it easier to specify polymer expression globals

Right now it's pretty difficult to specify the globals available to expressions in a PolymerElement. This is what's currently required:
class MyElement extends PolymerElement {
  var _mySyntax = new PolymerExpressions(globals: {
    'enumerate': enumerate,
    'appName': 'My App',
  });
  DocumentFragment instanceTemplate(Element template) =>
      template.createInstance(this, _mySyntax);
}
We'd like to require less boilerplate and at the same time make it easier to statically analyze so that IDEs could offer warnings and code completion within HTML templates.
A solution could be to allow elements to directly declare their globals, and automatically create a PolymerExpressions object using those globals. To make it more declarative and add type annotations, the globas can be a plain Dart object, instead of a map:
class MyGlobals {
  List enumerate(List l) => enumerate(l);
  String appName = 'My App';
}
class MyElement extends PolymerElement {
  var globals = new MyGlobals();
}

This issue has been moved to dart-lang/polymer-dart#481.


It is possible to use hostname in A and AAAA record?

Hello
I think I know the answer, but I still want to ask in case I missed something.
Based on https://ns1.com/resources/dns-types-records-servers-and-queries I understand that the A record contain hostname and IP.
I guess I can make it work by making a new zone for each domain like www.example.com instead of using the zone example.com with an A record that will contain the hostname www and the ipv4. From my reading, it looks like it's not implemented in twisted, but maybe I understand something wrong.
Thanks for your help.
Cheers

Hi,
The A/AAAA records can only contain IPs, if you want to "redirect" your DNS query to a different domain/zone you would use a CNAME record.
For example, check out www.bbc.co.uk below:
$ dig -t A www.bbc.co.uk @<IP_ADDRESS>

; <<>> DiG 9.16.1-Ubuntu <<>> -t A www.bbc.co.uk @<IP_ADDRESS>
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 13308
;; flags: qr rd ra; QUERY: 1, ANSWER: 8, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;www.bbc.co.uk.			IN	A

;; ANSWER SECTION:
www.bbc.co.uk.		15753	IN	CNAME	www.bbc.co.uk.pri.bbc.co.uk.
www.bbc.co.uk.pri.bbc.co.uk. 300 IN	CNAME	gtm-uk.www.bbc.co.uk.pri.bbc.co.uk.
gtm-uk.www.bbc.co.uk.pri.bbc.co.uk. 300	IN A	<IP_ADDRESS>
gtm-uk.www.bbc.co.uk.pri.bbc.co.uk. 300	IN A	<IP_ADDRESS>
gtm-uk.www.bbc.co.uk.pri.bbc.co.uk. 300	IN A	<IP_ADDRESS>
gtm-uk.www.bbc.co.uk.pri.bbc.co.uk. 300	IN A	<IP_ADDRESS>
gtm-uk.www.bbc.co.uk.pri.bbc.co.uk. 300	IN A	<IP_ADDRESS>
gtm-uk.www.bbc.co.uk.pri.bbc.co.uk. 300	IN A	<IP_ADDRESS>

;; Query time: 23 msec
;; SERVER: <IP_ADDRESS>#53(<IP_ADDRESS>)
;; WHEN: Tue Aug 15 19:04:10 BST 2023
;; MSG SIZE  rcvd: 191

While we ask for A it returns a CNAME and then the IPs for it.
Thanks,
Pavel

Hello @sadreck
Thanks for your fast answer, maybe I didn't explain it clearly but I still think it is a "A" record if I check the bind example from redhat (https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/managing_networking_infrastructure_services/assembly_setting-up-and-configuring-a-bind-dns-server_networking-infrastructure-services)
@ IN SOA ns1.example.com. hostmaster.example.com. (
<PHONE_NUMBER> ; serial number
                          1d         ; refresh period
                          3h         ; retry period
                          3d         ; expire time
                          3h )       ; minimum TTL

                  IN NS   ns1.example.com.
                  IN MX   10 mail.example.com.

www               IN A    <IP_ADDRESS>
www               IN AAAA 2001:db8:1::30
ns1               IN A    <IP_ADDRESS>
ns1               IN AAAA 2001:db8:1::1
mail              IN A    <IP_ADDRESS>
mail              IN AAAA 2001:db8:1::20

If my understanding is correct, the bind example is the zone file of example.com and we have A record like mail that is linked to an IP.
I'm wrong or maybe it's just bind representation?

I believe the mail record is for the subdomain mail.example.com rather than example.com

And for doing that kind of configuration in SnitchDNS I would make a zone "mail.example.com" with an A record <IP_ADDRESS> ?

Yes, exactly!

Ok thanks, I guess it must be something related to bind maybe. I didn't find anything related to that in the RFC only "host address".

Sorry for answering again @sadreck
I read a bit of the documentation of twisted, and it looks like they use something similar but not with their method if I understood correctly. I'm not so good in python to really understand, but maybe you will understand it better.
https://docs.twisted.org/en/stable/names/howto/names.html
It's mainly about this line
    A('example-domain.com', '<IP_ADDRESS>'),

Thanks again and sorry to disturb you again about that.
Cheers


specify packages and structure

Is it possible to specify a requirements.txt and/or json file to specify packages and versions to install along with folder structure for app?

@MortalCatalyst, generator-python-package does not create any requirements file. Required packages – along with their versions – should be listed in the setup.py file, for example:
setup(
    # ...
    install_requires=[
        'flask>=0.10.1,<0.11.0',
        'pyyaml>=3.11,<3.12',
        'ujson>=1.33,<1.34.0',
        # ...
    ],
    # ...
)


Small update to 5.21.0.

So CodeMirror was updated to 5.21.0 2 days ago. This commit brings the Adobe fork of CodeMirror up to that release.

@KamranMackey this may be closed soon in favor of using npm instead.
See https://github.com/adobe/brackets/issues/12937

We'll now be using npm versioned through npm and not this repository.
ref: https://github.com/adobe/brackets/pull/12972


Events that Trigger PUSH notifications

As a user
I want certain events to trigger a push notification
so that I can be notified close to real time of specific events

Assumptions & Scope
What are the assumptions for this story?
This story covers the scenarios where push notifications will be triggered by certain events
What is IN scope?
Notifications related to the comment log, that will be considered PUSH notifications
What is NOT in scope?
Pull notifications covered in (#855)
Acceptance Criteria
Scenario 1: New comments by User

GIVEN a FOI Request is in any state
WHEN a comment has been created by any other user on that request
THEN all users assigned to the request, except for the user that created the comment, will receive a PUSH notification that includes: FOI Request number, and a message saying "New Comment: XXXX" where XXX will be the first 90 characters of the comment added, with three dots at the end if the comment continues past the character limit

Scenario 2: Replies to Comments

GIVEN a FOI Request has a parent comment added by a user
WHEN a reply to that comment has been entered
THEN the author of the parent comment will receive a PUSH notification that includes: FOI Request number, and a message saying "New Reply to Your comment: XXXX" where XXX will be the first 90 characters of the reply added, with three dots if the reply continues past the character limit

Scenario 3: Comments - Replies to Replies

GIVEN a FOI Request has a parent comment with replies by one or more user
WHEN subsequent replies are added
THEN the author of the parent comment, and any other user that has authored a reply, EXCEPT for the user that authored the reply, will receive a PUSH notification that includes: FOI Request number, and a message saying "New Reply to Your comment: XXXX" where XXX will be the first 90 characters of the reply added, with three dots at the end of the text if the reply continues past the character limit

Scenario 4: Comments - Tagged in a Comment

GIVEN a FOI Request is in any state
WHEN a user has been tagged in a comment added to a request
THEN the user that has been tagged will receive a PUSH notification that includes: FOI Request number, and a message saying "You've been tagged in a comment: XXXX where XXX will be the first 90 characters of the comment the user is tagged in, with three dots at the end of the text if the comment continues past the character limit

Dependencies? What is the impact of this dependency? (If so, link dependency in the ticket, make it visible in a team´s backlog)
Validation Rules? (If yes, list here)
Design
@xxx - please link the Design here
Definition of Ready

[ ] Is there a well articulated User Story?
[ ] Is there Acceptance Criteria that covers all scenarios (happy/sad paths)?
[ ] If there is a user interface, is there a design?
[ ] Does the user story need user research/validation?
[ ] Does this User Story needs stakeholder approval?
[ ] Design / Solution accepted by Product Owner
[ ] Is this user story small enough to be completed in a Sprint? Should it be split?
[ ] Are the dependencies known/ understood? (technical, business, regulatory/policy)
[ ] Has the story been estimated?

Definition of Done

[ ] Passes developer unit tests
[ ] Passes peer code review
[ ] If there's a user interface, passes UX assurance
[ ] Passes QA of Acceptance Criteria with verification in Dev and Test
[ ] Confirm Test cases built and succeeding
[ ] No regression test failures
[ ] Test coverage acceptable by Product Owner
[ ] Ticket ready to be merged to master or story branch
[ ] Developer to list Config changes/ Update documents and designs
[ ] Can be demoed in Sprint Review
[ ] Tagged as part of a Release
[ ] Feature flagged if required
[ ] Change Management activities done?

User story created, split off from #855 - this covers specific events from the comment log that will generate push notifications

@mpilchar @m-prodan Please note for scenario#3 is implemented as given and have not included tagged

@mpilchar @m-prodan Observation; this does not cover edit or delete notifications. Confirmation required.

@mpilchar @m-prodan Where does the comments to be displayed in UI; because any user of team can comment and tagged users need not be watcher or  assignee.

@m-prodan @arielleandrews Just chatted with @sumathi-thirumani-aot this is not a blocker so we can discuss at Stand-up on Monday. What we are trying to resolve is the fact that a user who is not the "Assigned" or "Watched" could be tagged in a request comments. For our notifications we currently have them broken into two tabs "Assigned & Watching" but a user who is neither of those could be tagged so where should we be displaying those notifications.
I think this does flag an issue that could continue to arise as our platform grows. Should be remove the tabs in notifications and have it display all with some filtering options for requests assigned and requests watching? Should we add an all tab and have 3 sections? Just some quick ideas I have thought of, but would like to hear what you both think before we change the design or if you have an idea of where users would like these types of notifications to sit. We will discuss Monday.
cc: @mpilchar @lmullane for awareness

@sumathi-thirumani-aot and @divyav-aot I have added scenario 5 to auto delete the notification for deleted comments per our discussion this morning. Please let me know if you think anything is missing or if this needs to be separated out for comments vs replies. Thanks!

Removed Scenario 5 - this has been moved to its own ticket #1514

@JHarrietha-AOT There are some design updates with comment notifications. Please test that as well. Thanks!

@lmullane @m-prodan @arielleandrews This ticket has passed UX assurances.
One change I would recommend is instead of scenario 1 being limited at 90 characters I think it should be two lines to the whole word. This will lend to better responsiveness and remove awkward single letters on the third line like you can see in screenshots below.
Wanted to flag one thing I noticed while I was reviewing.
Bug - User Name of who made change/authored comment on request shows up on notifications when logged in as a Ministry User but not as an IAO User (See Screenshot below)
Signed in as Ministry User:
Signed in as IAO User:
cc: @aparna-aot @sumathi-thirumani-aot

Hey @JHarrietha-AOT That's a good catch, although the issue is different. Issue with the author name exists when u open the notifications in the dashboard view and that is happening with the latest dashboard updates. Will fix and push to QA once dev is unlocked. Thanks!

@aparna-aot Thanks for the quick response, that sounds great!

The 4 scenarios worked as expected. Super fast and easy to use.
I added a 5th scenario for notifications for watchers (aka these notifications show in the 'Watching Notifications' log.
One bug - if a watcher replies to an a comment by an assigned user, the reply shows up in the 'Watching Notifications' log for the assigned user. Minor but should appear in the My Notifications log for an assignee.

@lmullane Thank you. we will have this addressed as part of delete notifications in current sprint.

@JHarrietha-AOT Created #1569 for the bug regarding author name as it's not part of push notifications alone and is in QA. Please view the ticket.

@aparna-aot This fix is working. One minor glitch is that the username takes a second longer to load than the rest of the notification - so it appears like the screenshot above for a second or two and then the username of the author populates. This occurs for both IAO and Ministry users. Thoughts on next steps for this bug ticket? cc @sumathi-thirumani-aot


Bump to 0.2.81

I noticed that the example I added in #2924 does not show up in the book. Do we need to publish this separately?

I believe that website is maintained by workflows in https://github.com/rustwasm/rustwasm.github.io which haven't been maintained in a long time to the point that they probably no longer work.


RDMO 1.5

Improve user interface:

Add functionality to continue interview at the last edited questionset
Change order of options in projects and project sidebars to improve usability
Remove user credentials from projects page
Add additional help text to project page
Add additional interaction elements (e.g. invite user) to project page

Add file upload fields to questionnaire:

Add uploaded files to views (images are displayed inline, other files can be downloaded)
Add uploaded files to issues/tasks to be send as attachments

Add project hierarchy:

Add parent field to projects, resulting in a tree structure
Add child projects to views
Add function to import values from parent project to child projects
Inherit memberships of superior projects to child projects

Refactor project memberships:

Add invitation by mail (to existing or external users)
Add silent creation of memberships for site managers and admins
Add separate "Leave project" function

Add "Locked" flag to elements to prevent unintended changes
Add PROJECT_FILE_QUOTA to settings to control file quota of projects
Add NESTED_PROJECTS to settings to disable nested projects
Add PROJECT_SEND_INVITE to settings to disable invite mails to external users
Add PROJECT_INVITE_TIMEOUT to set a timeout on invites
Refactor view rendering and add ProjectWrapper
Refactor project import
Refactor validation
Refactor test for projects
Optimize database access and increase overall performance

:rocket:

Right now, some of the new features are not working with MySQL. I'll have to check tomorrow...

Coverage increased (+0.02%) to 93.387% when pulling 43f8c4cb7f8b99b709f3f1270aba708e888f33ef on dev into bbd1148b518869c21af345128c14b862c25912ef on master.

MySQL should work again, lets wait for travis to finish.

Tests work, everything is ready! :partying_face:


[Doc] Show how to use @sanity/image-url

A small PR. closes #20
maybe we could also add a short paragraph about the cases someone would use @sanity/client over SanityImage. I haven't really use SanityImage yet, but I'm planning to so for an upcoming project, so I'll have more to say about this.
In the example, I thought I might as well show some best practices (alt text, setting width and height, lazy loading) 😋

Forgot to increment the version number. I guess this is the property that show users that there's new content?


calcu8

Check this amazing web app

Good work. I am merging your PR.
Do give us a star by hitting the star button of this repo!


German translation

This is the german translation for DesignPatternsPHP located at http://designpatternsphp-german.readthedocs.org/de

@shangguokan can you please add designpatternsphp-german as translation for "de" to the original RTD project at http://designpatternsphp.readthedocs.org?

ping @shangguokan

@domnikl sorry for the late response
It's added, http://designpatternsphp-de.readthedocs.io/de/latest/
After you merge this PL, the translation will replace the original english messages

@shangguokan no problem and thanks!


forbidden message does not distinguish between org not having a data plan, and unauthenticated user

For example, this will be printed even if the org is not registered for data:
Import failed: Forbidden. Have you signed in with foxglove login?

Is there a place where we return a 403 but could be a 401?

Assigned to @wkalt to double check if this is still a thing.

I am closing this. There's no such thing as an org without a data plan since we give folks free data.


If the database value of @DiscriminatorField changes to unsupported value, an Exception should be thrown instead of PHP Notice

Referring to the second issue in my SO question (http://stackoverflow.com/questions/15056946/doctrine-odm-returns-proxy-object-for-base-class-instead-of-sub-classed-document): if a database value of the discriminator field changes to some unsupported value, a PHP notice is thrown instead of proper exception.
I tried to find a suitable place to test this and throw an exception so I could have submitted a PR with fix & test case, but unfortunately I do not know that much about mongodb-odm codebase to find a correct place for throwing an exception...
However, I drafted a test case for the issue. Don't know whether HydratorException is the correct exception class and where this test function should be added (Tests/Functional/InheritanceTest.php maybe), but here is it anyway.
/**
 * @expectedException \Doctrine\ODM\MongoDB\Hydrator\HydratorException
 */
public function testUnsupportedDatabaseValueForDiscriminatorMapRaisesException()
{
    $project = new \Documents\Project('Project');
    $this->dm->persist($project);
    $this->dm->flush();

    $id = $project->getId();

    $coll = $this->dm->getDocumentCollection('Documents\Project');
    $document = $coll->findOne(array('name' => 'Project'));
    $this->assertEquals('project', $document['type']);

    // Changing database value for DiscriminatorMap field
    $coll->update(array('name' => 'Project'), array('$set' => array('type' => 'unsupported-type')));

    // Ensuring it's properly persisted
    $document = $coll->findOne(array('name' => 'Project'));
    $this->assertEquals('unsupported-type', $document['type']);

    // This query should raise \Doctrine\ODM\MongoDB\Mapping\HydratorException
    // because 'unsupported-type' is not an allowed value in @DiscriminatorMap
    $document = $this->dm->find('Documents\Project', $id);
    $this->assertInstanceOf('Documents\Project', $document);
}

Cross referencing with https://github.com/doctrine/mongodb-odm/issues/867

Great @malarzm +1

Closing in favour of #867  and #1887.


Superset 0.38, 0.37 (and potentially others) are broken with sqlachemy 1.4.0 release

I was installing superset manually and was unable to get the installation to work properly; I had to downgrade to 0.37.2 and downgrade to sqlalchemy==1.3.23
Expected results
Upon installation of apache-superset=0.38.1 I expect superset db upgrade to work properly
Actual results
The following error is thrown:
$ superset db upgrade
Traceback (most recent call last):
  File "/etc/superset/bin/superset", line 5, in <module>
    from superset.cli import superset
  File "/etc/superset/lib/python3.6/site-packages/superset/__init__.py", line 21, in <module>
    from superset.app import create_app
  File "/etc/superset/lib/python3.6/site-packages/superset/app.py", line 24, in <module>
    from flask_appbuilder import expose, IndexView
  File "/etc/superset/lib/python3.6/site-packages/flask_appbuilder/__init__.py", line 5, in <module>
    from .api import ModelRestApi  # noqa: F401
  File "/etc/superset/lib/python3.6/site-packages/flask_appbuilder/api/__init__.py", line 21, in <module>
    from .convert import Model2SchemaConverter
  File "/etc/superset/lib/python3.6/site-packages/flask_appbuilder/api/convert.py", line 4, in <module>
    from flask_appbuilder.models.sqla.interface import SQLAInterface
  File "/etc/superset/lib/python3.6/site-packages/flask_appbuilder/models/sqla/interface.py", line 16, in <module>
    from sqlalchemy_utils.types.uuid import UUIDType
  File "/etc/superset/lib/python3.6/site-packages/sqlalchemy_utils/__init__.py", line 1, in <module>
    from .aggregates import aggregated  # noqa
  File "/etc/superset/lib/python3.6/site-packages/sqlalchemy_utils/aggregates.py", line 372, in <module>
    from .functions.orm import get_column_key
  File "/etc/superset/lib/python3.6/site-packages/sqlalchemy_utils/functions/__init__.py", line 1, in <module>
    from .database import (  # noqa
  File "/etc/superset/lib/python3.6/site-packages/sqlalchemy_utils/functions/database.py", line 11, in <module>
    from .orm import quote
  File "/etc/superset/lib/python3.6/site-packages/sqlalchemy_utils/functions/orm.py", line 14, in <module>
    from sqlalchemy.orm.query import _ColumnEntity
ImportError: cannot import name '_ColumnEntity'

pip list:
$ pip list
Package                Version
---------------------- -----------
aiohttp                3.7.4.post0
alembic                1.5.7
amqp                   2.6.1
apache-superset        0.38.1
apispec                3.3.2
async-timeout          3.0.1
attrs                  20.3.0
Babel                  2.9.0
backoff                1.10.0
billiard               <IP_ADDRESS>
bleach                 3.3.0
Brotli                 1.0.9
cachelib               0.1.1
celery                 4.4.7
cffi                   1.14.5
chardet                4.0.0
click                  7.1.2
colorama               0.4.4
contextlib2            0.6.0.post1
croniter               1.0.8
cryptography           3.4.6
dataclasses            0.6
decorator              4.4.2
defusedxml             0.7.1
dnspython              2.1.0
email-validator        1.1.2
Flask                  1.1.2
Flask-AppBuilder       3.2.0
Flask-Babel            1.0.0
Flask-Caching          1.10.0
Flask-Compress         1.9.0
Flask-JWT-Extended     3.25.1
Flask-Login            0.4.1
Flask-Migrate          2.7.0
Flask-OpenID           1.2.5
Flask-SQLAlchemy       2.4.4
flask-talisman         0.7.0
Flask-WTF              0.14.3
future                 0.18.2
geographiclib          1.50
geopy                  2.1.0
greenlet               1.0.0
gunicorn               20.0.4
humanize               3.2.0
idna                   3.1
idna-ssl               1.1.0
importlib-metadata     3.7.3
isodate                0.6.0
itsdangerous           1.1.0
Jinja2                 2.11.3
jsonschema             3.2.0
kombu                  4.6.11
Mako                   1.1.4
Markdown               3.3.4
MarkupSafe             1.1.1
marshmallow            3.10.0
marshmallow-enum       1.5.1
marshmallow-sqlalchemy 0.23.1
msgpack                1.0.2
multidict              5.1.0
mysqlclient            2.0.3
natsort                7.1.1
numpy                  1.19.5
packaging              20.9
pandas                 1.1.5
parsedatetime          2.6
pathlib2               2.3.5
pip                    21.0.1
pkg-resources          0.0.0
polyline               1.4.0
prison                 0.1.3
py                     1.10.0
pyarrow                1.0.1
pycparser              2.20
PyJWT                  1.7.1
pyparsing              2.4.7
pyrsistent             0.17.3
python-dateutil        2.8.1
python-dotenv          0.15.0
python-editor          1.0.4
python-geohash         0.8.5
python3-openid         3.2.0
pytz                   2021.1
PyYAML                 5.4.1
retry                  0.9.2
selenium               3.141.0
setuptools             54.1.2
simplejson             3.17.2
six                    1.15.0
slackclient            2.5.0
SQLAlchemy             1.4.0
SQLAlchemy-Utils       0.36.8
sqlparse               0.3.0
typing-extensions      <IP_ADDRESS>
urllib3                1.26.4
vine                   1.3.0
webencodings           0.5.1
Werkzeug               1.0.1
wheel                  0.36.2
WTForms                2.3.3
WTForms-JSON           0.3.3
yarl                   1.6.3
zipp                   3.4.1

Screenshots
If applicable, add screenshots to help explain your problem.
How to reproduce the bug
It looks like currently superset does not support sqlalchemy==1.4.0 (it was released less than an hour ago). To reproduce install manually (which default installs sqlalchemy==1.4.0
Environment
(please complete the following information):

superset version: 0.38.1
python version: Python 3.6.9
node.js version: node -v

Checklist
Make sure to follow these steps before submitting your issue - thank you!

[x] I have checked the superset logs for python stacktraces and included it here as text if there are any.
[x] I have reproduced the issue with at least the latest released version of superset.
[x] I have checked the issue tracker for the same issue and I haven't found one similar.

Additional context
I was able to get superset to work by downgrading:
$ pip install apache-superset==0.37.2
$ pip install sqlalchemy==1.3.23
$ superset db upgrade
logging was configured successfully
INFO:superset.utils.logging_configurator:logging was configured successfully
/etc/superset/lib/python3.6/site-packages/flask_caching/__init__.py:202: UserWarning: Flask-Caching: CACHE_TYPE is set to null, caching is effectively disabled.
  "Flask-Caching: CACHE_TYPE is set to null, "
No PIL installation found
INFO:superset.utils.screenshots:No PIL installation found
WARNI [alembic.env] SQLite Database support for metadata databases will         be removed in a future version of Superset.
INFO  [alembic.runtime.migration] Context impl SQLiteImpl.
INFO  [alembic.runtime.migration] Will assume transactional DDL.
INFO  [alembic.runtime.migration] Running upgrade  -> 4e6a06bad7a8, Init
...

Thank you for reporting.
This seems like an incompatibility between sqlalchemy-utils and the new sqlalchemy. Looking into it.
Has a note, pinning all your dependencies avoids this kind of problems, you can use superset's repo pinned dependencies: https://github.com/apache/superset/blob/master/requirements/base.txt

Hi @dpgaspar, thanks for the info. It doesn't look like that file is in 0.37.2 tag? Is that something recently changed?

Just to flag this again (and for future reference/others having the same issue), pip install apache-superset now displays ERROR: flask-appbuilder 3.2.1 has requirement SQLAlchemy<1.4.0, but you'll have sqlalchemy 1.4.3 which is incompatible. pip install "SQLAlchemy<1.4.0" fixes that

@jonasjancarik I was able to reproduce, seems that flask-sqlalchemy has launched 2.5.0 that supports sqlalchemy > 1.4.0 already. I'll remove the pinned dependency on Flask-AppBuilder

is there by any chance that SQLAlchemy will be upgraded other than the specified versions?
I have to downgrade to SQLAlchemy==1.3.16 to get it working. My fitbit version is using SQLAlchemy==1.4.8
Traceback (most recent call last):
  File "/Applications/beingfit/builds/fitbit.visual.io/fitbit.visual.io/bin/superset", line 6, in <module>
    from pkg_resources import load_entry_point
  File "/Applications/beingfit/builds/fitbit.visual.io/fitbit.visual.io/lib/python3.8/site-packages/pkg_resources/__init__.py", line 3262, in <module>
    def _initialize_master_working_set():
  File "/Applications/beingfit/builds/fitbit.visual.io/fitbit.visual.io/lib/python3.8/site-packages/pkg_resources/__init__.py", line 3245, in _call_aside
    f(*args, **kwargs)
  File "/Applications/beingfit/builds/fitbit.visual.io/fitbit.visual.io/lib/python3.8/site-packages/pkg_resources/__init__.py", line 3274, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/Applications/beingfit/builds/fitbit.visual.io/fitbit.visual.io/lib/python3.8/site-packages/pkg_resources/__init__.py", line 586, in _build_master
    return cls._build_from_requirements(__requires__)
  File "/Applications/beingfit/builds/fitbit.visual.io/fitbit.visual.io/lib/python3.8/site-packages/pkg_resources/__init__.py", line 599, in _build_from_requirements
    dists = ws.resolve(reqs, Environment())
  File "/Applications/beingfit/builds/fitbit.visual.io/fitbit.visual.io/lib/python3.8/site-packages/pkg_resources/__init__.py", line 792, in resolve
    raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (SQLAlchemy 1.4.8 (/Applications/beingfit/builds/fitbit.visual.io/fitbit.visual.io/lib/python3.8/site-packages), Requirement.parse('SQLAlchemy<1.4.0'), {'flask-appbuilder'})

Using legacy setup.py install for Flask-JWT-Extended, since package 'wheel' is not installed.
Using legacy setup.py install for Flask-OpenID, since package 'wheel' is not installed.
Using legacy setup.py install for Flask-Login, since package 'wheel' is not installed.
Using legacy setup.py install for pyrsistent, since package 'wheel' is not installed.
Using legacy setup.py install for pymeeus, since package 'wheel' is not installed.
ERROR: flask-appbuilder 3.2.2 has requirement SQLAlchemy<1.4.0, but you'll have sqlalchemy 1.4.8 which is incompatible.

Closing this as part of issue cleanup.


Cannot upgrade to Nextcloud integration app

I have NC 13.0 in docker with Onlyoffice, nginx and MariaDB. Works well. I get a notification that there is a new version 1.3 of the integration app. Click on that - it shows upgrading. But when I get back no upgrade has taken place.
Maybe same issue as "App (files_pdfviewer) update do not work properly #288" https://github.com/nextcloud/docker/issues/288

Please try chown -R www-data:www-data app/
where app/ is directory with installed applications

It worked. Thanks.

Sorry - it did not work...

Hello @rollanders,
Try to contact Nextcloud support. The reason might be in the market.

Hello @rollanders, please specify if the issue still exists.

This issue was closed due to no response.


Make fields public for ServerListPingEvent

This pr just makes some fields public for the ServerListPingEvent. This is helpful since you may want to modify stuff like the port or Minecraft Version shown.
This PR is likely missing some stuff since this would also require to change some underlying python bindings, but eh..
Also, any reason we are using .h instead of .hpp?

This PR instead of making the needed fields public, adds methods to set the local port (ipv4 & pv6) as well as the guid

Thank you for the pull request! These fields were intentionally kept readable, as modifying these values doesn't affect their appearance in the server list. I am wondering about the practical usage of making these fields writable with these setters?

@Dingsel That makes sense to me, although I think the proxy should ideally handle the ping response from backend servers, rather than the backend servers managing it directly. But I assume the proxies aren't that advanced yet.
@theaddonn One more thing before I merge this PR—could you also add the Python bindings for these setters?

@wu-vincent The proxy are that advanced, but it introduces a lot more overhead.. which can easily be avoided by just changing the needed data on the backend server directly.


Add forgoten translation

PR adds forgotten line at top of the file.

Also, remove #Needs translation on line 100. Thanks.

Thank you!

Sorry for forgetting so many things...
You're welcome!

https://www.mediafire.com/download/gsynfu387r7q1lt

@lolmanz0 You forgot the new-player translation.


Added Metrics plugin

Documentation for: https://mattermost.atlassian.net/browse/MM-55218

@nab-77 - Is there a release ETA for this new plugin we're working towards?

@nab-77 - Is there a release ETA for this new plugin we're working towards?

Currently running on community as the last check ahead of making available in "preview" mode.

@nab-77 - Performance monitoring content is now split, as requested, into 3 parts: 3rd party integrations, our own plugin, and metrics. Looking forward to your feedback!

@isacikgoz - Really liked your titling suggestions! Thank you!

An integration consolidation docs effort is in progress via https://github.com/mattermost/docs/pull/7030. My plan is to incorporate the the Metrics content from this PR there. Current ETA is by the end of the month (April).


Hello world example

Github seems to be a little confused on this patch now after the rebase. I am going to close it so you can open a new pull request, that we can review.
Thanks Brad


Override DefaultRoute

We have set DefaultRoute hub parameter to All-Traffic (0/0), however for one of our VPCs we wish to override this so that the tagged subnet RT points to a more specific network.
Is this possible?

Hello @mancinifm thank you for your query.
There is a CloudFormation parameter which you can use to change the default configuration. Review parameter under VPC Route Table Settings, Choose the type of destination for target Transit Gateway. This parameter can be adjusted for Custom-Destinations. With custom destinations, you can provide either CIDR blocks or managed prefix-lists. See more details here.
One thing to note, the change will be applied to all VPCs moving forward.

Thank you for the info.
It sounds like STNO was designed for all VPCs in the solution to use the same CIDR for the TGW route, and the only way to support having this route differ between VPCs is to set DefaultRoute to Configure-Manually and for each new VPC attached, manually set the route.
What would be nice is if there was an additional tag for tagged subnets called something like tgw-cidr which allows me to specify the value of the default route on a per-VPC basis.
However this is not a deal breaker and I am happy for you to close this issue if my understanding of the situation is correct.
Appreciate your response.


Nice project!

I hope you don't mind that I cloned your repo. It's a very very impressive Rails app that I'd like to hold on to for reference.
Thanks!
Eric

Hey Eric, no problem - It's still a work in progress, so free to open up a PR if you find any issues!
Thanks, Chris


build-script: Rerun all lldb Swift tests with DWARFImporter.

rdar://problem/57880844

test with https://github.com/apple/llvm-project/pull/568
@swift-ci test

@shahmishal This change adds ~100s to the cost of the LLDB test suite. Compared to the time spent compiling, I doubt that this will really show up as a bottleneck, but I thought you should know in the odd case it does.

test with https://github.com/apple/llvm-project/pull/568
@swift-ci test

@swift-ci Please test Linux platform

Build failed
Swift Test Linux Platform
Git Sha - e676286c976050bbe1aea9e4664f52ed05c4136b

@adrian-prantl I don't see the big problem having these test enabled because it's only adding 100s. However, can we make sure these tests are stable?

I don't have any reason to believe that they wouldn't be stable, but I'll monitoring the bots closely to make sure there isn't any flakiness being introduced.

test with https://github.com/apple/llvm-project/pull/568
@swift-ci smoke test

Build failed
Swift Test Linux Platform
Git Sha - e676286c976050bbe1aea9e4664f52ed05c4136b

Weird.. it didn't pick up the related PR.

test with https://github.com/apple/llvm-project/pull/568
@swift-ci test

Build failed
Swift Test Linux Platform
Git Sha - e676286c976050bbe1aea9e4664f52ed05c4136b