I can't connect wallet on chrome/safari mobile phones(IOS/Android)

Describe the bug
I can connect the wallet to my project on my web but after mobile responsiveness was updated on the project, I could not connect the wallet on mobile phones.
To Reproduce
Steps to reproduce the behavior:

Connect Wallet on the web version, it works well
Connect Wallet on the smart phone is not connecting
Perform an action that requires the user to connect to that app.
See error

Expected behavior
I should be able to connect to my wallet on my smartphones exactly how it worked well on the web.
Screenshots
Attached screenshot
Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

Hello!
I checked your issue and did not find any connection problems.

I was able to connect to DEX using native app on iphone on in-app browser
I was able to connect to DEX opened in Safari using native app on iphone
I was able to connect to DEX using web wallet on iphone, both were opened in Safari

Device: iphone 13
OS: ios 17.5.1
browser: Safari

Hello, @Temitope3665.
Can you give us some more details of your problem?

Which version of aepp-sdk your project is using?
Are you trying to connect to a wallet via deeplink?
Are you having trouble connecting to the native app or the web version on mobile devices?
If it is possible maybe share the link to your project.

"@aeternity/aepp-sdk": "^13.2.2"

I tried using deeplink but whenever I want to make a transaction, I keep getting I'm not connected to the wallet.

Could you share the code that works generally instead here? or
Below is the function that I'm using to connect wallet, if you can help update it with the correct, I would be happy.

export const connectWallet = async ({
setConnectingToWallet,
setEnableIFrameWallet,
setUser,
address,
setConnectionError,
setOpenModal,
isHome,
walletObj = { info: { name: '', type: '' } },
aeSdk,
}: ConnectWalletParams) => {
setConnectingToWallet(true);
let addressDeepLink: any;
if ((IS_MOBILE || isSafariBrowser()) && !IN_FRAME) {
if (address) {
setConnectingToWallet(false);
return;
}
if (isHome) {
const domainName =
typeof window !== 'undefined' && window.location.origin;
const dashboardURL = ${domainName}/${DASHBOARD_URL}/;
addressDeepLink = createDeepLinkUrl({
type: 'address',
'x-success': ${           dashboardURL.split('?')[0]         }?address={address}&networkId={networkId},
'x-cancel': dashboardURL.split('?')[0],
});
} else {
addressDeepLink = createDeepLinkUrl({
type: 'address',
'x-success': ${           window.location.href.split('?')[0]         }?address={address}&networkId={networkId},
'x-cancel': window.location.href.split('?')[0],
});
}
if (typeof window !== 'undefined') {
window.location.replace(addressDeepLink);
}
} else {
try {
await resolveWithTimeout(30000, async () => {
const webWalletTimeout = IS_MOBILE
? 0
: setTimeout(() => setEnableIFrameWallet(true), 15000);
    let resolve: any = null;
    let rejected = (e: any) => {
      throw e;
    };
    let stopScan: any = null;

    const connectWallet = async (wallet: any) => {
      try {
        const { networkId } = await aeSdk.connectToWallet(
          wallet.getConnection()
        );
        const ret = await aeSdk.subscribeAddress('subscribe', 'connected');
        const {
          address: { current },
        } = ret;
        const currentAccountAddress = Object.keys(current)[0];
        if (!currentAccountAddress) return;
        stopScan?.();
        const user = { address: currentAccountAddress, isConnected: true };
        setUser(user);
        aeSdks = aeSdk;
        // localStorage.setItem('user', JSON.stringify(user));
        resolve?.(currentAccountAddress);
        setOpenModal(false);
      } catch (e: any) {
        if (!(e instanceof RpcRejectedByUserError)) {
          alert('error occured');
        }
        if (e.message === 'Operation rejected by user') {
          toast.error(e.message);
          resolve = null;
          rejected = (e: any) => {
            throw e;
          };
          stopScan = null;
        }
        console.log(e.message);
        rejected(e);
      }
    };
    if (walletObj.getConnection) {
      await connectWallet(walletObj);
    } else {
      const handleWallet = async ({ wallets }: any) => {
        const detectedWalletObject = Object.values(wallets).find(
          (wallet: any) => wallet.info.name === walletObj.info.name
        );
        if (!detectedWalletObject) return;
        clearInterval(webWalletTimeout);
        await connectWallet(detectedWalletObject);
      };
      const scannerConnection = new BrowserWindowMessageConnection();
      stopScan = walletDetector(scannerConnection, handleWallet);

      await new Promise((_resolve: any, _rejected: any) => {
        resolve = _resolve;
        rejected = _rejected;
      });
    }
  });
} catch (error) {
  if (walletObj.info.name === 'Superhero') {
    setConnectionError({
      type: 'denied',
      message:
        'Login with your wallet has failed. Please make sure that you are logged into your wallet.',
    });
  } else {
    setConnectionError({
      type: 'timeout',
      message: `Connection to ${walletObj.info.name} has been timeout, please try again later.`,
    });
  }
}

}
};

`export const connectWallet = async ({
setConnectingToWallet,
setEnableIFrameWallet,
setUser,
address,
setConnectionError,
setOpenModal,
isHome,
walletObj = { info: { name: '', type: '' } },
aeSdk,
}: ConnectWalletParams) => {
setConnectingToWallet(true);
let addressDeepLink: any;
if ((IS_MOBILE || isSafariBrowser()) && !IN_FRAME) {
if (address) {
setConnectingToWallet(false);
return;
}
if (isHome) {
const domainName =
typeof window !== 'undefined' && window.location.origin;
const dashboardURL = ${domainName}/${DASHBOARD_URL}/;
addressDeepLink = createDeepLinkUrl({
type: 'address',
'x-success': ${           dashboardURL.split('?')[0]         }?address={address}&networkId={networkId},
'x-cancel': dashboardURL.split('?')[0],
});
} else {
addressDeepLink = createDeepLinkUrl({
type: 'address',
'x-success': ${           window.location.href.split('?')[0]         }?address={address}&networkId={networkId},
'x-cancel': window.location.href.split('?')[0],
});
}
if (typeof window !== 'undefined') {
window.location.replace(addressDeepLink);
}
} else {
try {
await resolveWithTimeout(30000, async () => {
const webWalletTimeout = IS_MOBILE
? 0
: setTimeout(() => setEnableIFrameWallet(true), 15000);
    let resolve: any = null;
    let rejected = (e: any) => {
      throw e;
    };
    let stopScan: any = null;

    const connectWallet = async (wallet: any) => {
      try {
        const { networkId } = await aeSdk.connectToWallet(
          wallet.getConnection()
        );
        const ret = await aeSdk.subscribeAddress('subscribe', 'connected');
        const {
          address: { current },
        } = ret;
        const currentAccountAddress = Object.keys(current)[0];
        if (!currentAccountAddress) return;
        stopScan?.();
        const user = { address: currentAccountAddress, isConnected: true };
        setUser(user);
        aeSdks = aeSdk;
        // localStorage.setItem('user', JSON.stringify(user));
        resolve?.(currentAccountAddress);
        setOpenModal(false);
      } catch (e: any) {
        if (!(e instanceof RpcRejectedByUserError)) {
          alert('error occured');
        }
        if (e.message === 'Operation rejected by user') {
          toast.error(e.message);
          resolve = null;
          rejected = (e: any) => {
            throw e;
          };
          stopScan = null;
        }
        console.log(e.message);
        rejected(e);
      }
    };
    if (walletObj.getConnection) {
      await connectWallet(walletObj);
    } else {
      const handleWallet = async ({ wallets }: any) => {
        const detectedWalletObject = Object.values(wallets).find(
          (wallet: any) => wallet.info.name === walletObj.info.name
        );
        if (!detectedWalletObject) return;
        clearInterval(webWalletTimeout);
        await connectWallet(detectedWalletObject);
      };
      const scannerConnection = new BrowserWindowMessageConnection();
      stopScan = walletDetector(scannerConnection, handleWallet);

      await new Promise((_resolve: any, _rejected: any) => {
        resolve = _resolve;
        rejected = _rejected;
      });
    }
  });
} catch (error) {
  if (walletObj.info.name === 'Superhero') {
    setConnectionError({
      type: 'denied',
      message:
        'Login with your wallet has failed. Please make sure that you are logged into your wallet.',
    });
  } else {
    setConnectionError({
      type: 'timeout',
      message: `Connection to ${walletObj.info.name} has been timeout, please try again later.`,
    });
  }
}

}
};`

I think the problem might be in the sdk version. Version 13.3.1 containing an invisible breaking change. Since the version of the protocol for mainnet node was raised to 7.0.0 and the previous sdk is not supporting it.

What fix would you suggest?

The potential fixes are listed in the aepp-sdk release description. Our wallet currently using version version 13.3.1.

Alright, i will check out the release description out.

Hi, @Temitope3665. Were you able to resolve your issue?

No. It has not been resolved yet

Hi, @Temitope3665. I have few more clarification questions:

Are you redirected back to your site after deeplink is approved in superhero wallet?

If no, can you share the deeplink your code is generating?
if yes, does your code process the received address?

Yes, it's connecting successfully, and here is the deep link it's generating below
Deeplink URL result
Attached below is the response during the connection.

But the issue here is that, whenever we want to make a transaction or initiate an activity with the wallet, it keeps saying, wallet not connected. Here is a sample of how the error

In order to sign/send transaction on mobile, you are to create a new deeplink with the transaction details as such.
https://github.com/superhero-com/superhero-wallet/issues/2679#issuecomment-1921008234
Currently we don't have any docs regarding deeplink creation. It seems that we need to create such (judging from this issue).

Alright. I will check the thread.
That should help with the issue.

Could you help with how best to go about it especially when interacting with contract?
We're building a DAO system, by interacting with the contract, I mean creating a dao, creating a proposal, etc...

This is a small example, did not test it.
const createDeepLinkUrl = ({ type, callbackUrl, ...params }) => {
  const url = new URL(`https;//wallet.superhero.com/${type}`);
  if (callbackUrl) {
    url.searchParams.set('x-success', callbackUrl);
    url.searchParams.set('x-cancel', callbackUrl);
  }
  Object.entries(params)
    .filter(([, value]) => ![undefined, null].includes(value))
    .forEach(([name, value]) => url.searchParams.set(name, value));
  return url;
};

const contract = await aeSdk.initializeContract(
  {
    aci,
    address,
  },
);
const result = await contract[method](
  ...methodArgs,
  {
    callStatic: true,
    onAccount: createOnAccountObject(address),
  },
);

const encodedTx = result.rawTx;

const currentUrl = new URL(window.location.href);
// reset url
currentUrl.searchParams.delete('transaction');
currentUrl.searchParams.delete('transaction-status');

// append transaction parameter for success case
const successUrl = new URL(currentUrl.href);
successUrl.searchParams.set('transaction', '{transaction}');

// append transaction parameter for failed case
const cancelUrl = new URL(currentUrl.href);
cancelUrl.searchParams.set('transaction-status', 'cancelled');

return createDeepLinkUrl({
  type: 'sign-transaction',
  transaction: encodedTx,
  networkId,
  // decode these urls because they will be encoded again
  'x-success': decodeURI(successUrl.href),
  'x-cancel': decodeURI(cancelUrl.href),
});

Here is a deep link schema we are using.
https://github.com/superhero-com/superhero-wallet/blob/develop/docs/deep-link-schema.md

Thank you Cedrink. I was able to do it just like you suggested. Here is the code below. But I keep getting an error relating to pubkey in my console. Could you help me if I'm doing anything wrong or requires an update?

export const createDeepLinkUrl = ({   type,   callbackUrl,   ...params }: DeepLinkParams): URL => {   const url = new URL(${process.env.NEXT_PUBLIC_WALLET_URL}/${type}`);
if (callbackUrl) {
url.searchParams.set('x-success', callbackUrl);
url.searchParams.set('x-cancel', callbackUrl);
}
Object.entries(params)
.filter(([, value]) => value !== undefined && value !== null) // Filter out undefined and null values
.forEach(([name, value]) => url.searchParams.set(name, value as string)); // Assert value as string
return url;
};
const generateKey: any = () => {
const secretKey = CryptoJS.lib.WordArray.random(64).toString();
return secretKey;
};
const node = new Node('https://testnet.aeternity.io'); // ideally host your own node
const account = new MemoryAccount(generateKey());
const newUserAccount = MemoryAccount.generate();
const aeSdk: any = new AeSdk({
nodes: [{ name: 'testnet', instance: node }],
accounts: [account, newUserAccount],
// onCompiler: compiler, // remove if step #2 skipped
});
const createDeepLinkUrl2 = async ({ type, callbackUrl, ...params }: any) => {
const url = new URL(${process.env.NEXT_PUBLIC_WALLET_URL}/${type});
if (callbackUrl) {
url.searchParams.set('x-success', callbackUrl);
url.searchParams.set('x-cancel', callbackUrl);
}
Object.entries(params)
.filter(([, value]) => value !== undefined && value !== null) // Filter out undefined and null values
.forEach(([name, value]) => url.searchParams.set(name, value as string)); // Assert value as string
// Object.entries(params)
//   .filter(([, value]) => ![undefined, null].includes(value))
//   .forEach(([name, value]) => url.searchParams.set(name, value));
return url;
};
const createOnAccountObject = () => {
const accountObject = aeSdk.addresses()[0];
return accountObject;
};
export const contractInterract = async (payload: any) => {
const contract = await aeSdk.initializeContract({
aci: basicDAOAci,
address: payload.daoContractAddress,
});
const result = await contract['createProposal'](
payload.proposalType,
payload.description,
payload.value,
payload.target,
payload.info,
{
callStatic: true,
onAccount: createOnAccountObject(),
}
);
const encodedTx = result.rawTx;
const currentUrl = new URL(window.location.href);
// reset url
currentUrl.searchParams.delete('transaction');
currentUrl.searchParams.delete('transaction-status');
// append transaction parameter for success case
const successUrl = new URL(currentUrl.href);
successUrl.searchParams.set('transaction', '{transaction}');
// append transaction parameter for failed case
const cancelUrl = new URL(currentUrl.href);
cancelUrl.searchParams.set('transaction-status', 'cancelled');
return createDeepLinkUrl2({
type: 'sign-transaction',
transaction: encodedTx,
networkId: 'ae_uat',
// decode these urls because they will be encoded again
'x-success': decodeURI(successUrl.href),
'x-cancel': decodeURI(cancelUrl.href),
});
};
`

Awesome!.
Thank you for this.
But I noticed a few things after I confirmed, which are;

I couldn't find the transaction in my history
The newly created proposal was not added to the expected list of proposals the contract returns when I get all contracts.

You should also set flag broadcast  to true in deep link creation if you want wallet to push it to the node.

Yeah. That solves the problem.
Thank you.
I have a question again, I noticed when redirecting to the success page, that it disconnected the wallet. Is there a way that can be prevented?

You can store user's address in localStorage.

Yes. That's perfect.
Thank you

I think that's problem solved, now that we have a deeplink scheme and an actual example of creating a such in JS. Feel free to open the issue back up if there are any unresolved issues or additional questions.

@CedrikNikita I want to switch the network from our app, although it's switched successfully on our app but, it does not switch on super hero wallet.
How can we go about it?

Hi. This is not possible currently. If the user currently connected to other dapps in case wallet will change the network for one of them it will change the network for each. It can be frustrated to the users.
The only supported wallet api methods are:
https://github.com/aeternity/aepp-sdk-js/blob/c8fbffebab588389f088f9a836de457d4d8afa00/src/aepp-wallet-communication/rpc/types.ts#L34-L95
You can explain to the user how to change the network. In the wallet manually. If this is now what you need and that is an important feature of yours, please right down the use case of it.
You can also propose to have a such api method in the sdk issues https://github.com/aeternity/aepp-sdk-js/issues.

Alright. Thank you.
I will do that.


Add support to configure multiple sudoers groups

Context

For APPUiO Managed we grant some customer users "admin" rights on the clusters. These rights ideally are identical to the ones granted to the sudoers group via this component. Currently we do this with adhoc configs.
But manually maintaining adhoc configs misses changes like #42 and #61 .
By having an option to add additional sudoers groups, this could be managed via this component.
Alternatives

Keep doing it with adhoc-configs

@simu @glrf I'm happy to try and make a draft for this if you think that's something that's doable and reasonable.

We're always happy to get contributions.
Regarding implementation, this feature seems pretty straightforward, I'd probably deprecate (read: remove from class/defaults.yml, but still use it if present in the hierarchy) the current sudoGroupName parameter https://github.com/appuio/component-openshift4-authentication/blob/4a09fd36689cbd89e9adf4e24fed43abdaf3cbbd/class/defaults.yml#L4 and replace it with some setup which allows users to provide multiple group names that should get sudo rights, probably along the lines of:
sudoGroups:
  sudoers:
    enabled: true
  customer-admins:
    enabled: false

where the keys get interpreted as group names by the component. The component should still accept existing configs using sudoGroupName, but print a warning that the parameter is deprecated, see e.g. https://github.com/projectsyn/component-system-upgrade-controller/blob/dee24d712191985ed86a2b1e8edc681f59c58d98/component/main.jsonnet#L12-L22 for an example.

Thanks for the feedback, I'll give it a shot when I find the time :+1:

Alternatively -- I'm not sure what the better approach would be -- you could use the renderArray() function in commodore.libjsonnet: https://syn.tools/commodore/reference/commodore-libjsonnet.html#_renderarrayarr to implement sudoGroups as an array which allows removal of elements by prefixing them with ~.


I cannot disable/uninstall TaskBarX, I keep trying to find a way but it is not working out at all.. Version: <IP_ADDRESS> OS: Windows 10 Pro, please help!

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. Windows 10]
Version [e.g. 1909]

Additional context
Add any other context about the problem here.

Since you haven't filled out the form, it is hard to tell what is really happening. I will try to assist you.

Open Windows search (Win + S)
Type "TaskbarX Configurator"
In the left menu, click on Uninstall

After the uninstallation Windows Explorer shows up. You should be located in the installation folder with "TaskbarX.exe" and so on. If not, navigate to your installation folder yourself. Delete the whole folder.

To be able to focus on major/current bugs I had to close all issues. The issues section has gotten very messy to a point that I couldn't follow it anymore. Most issues are duplicates, very old or are already fixed/solved. Feel free to reopen this issue if you still have this issue on the latest version of TaskbarX to get my attention. All feature requests have been put in a list here: 💡| Feature requests #870
I hope you understand ❤


What version of python was get-api-endpoints.sh written for?

I have the latest aws-cli aws-cli/2.6.4 and get the error from   File "/home/foo/.local/lib/python3.9/site-packages/aws/main.py", line 23
print '%(name)s: %(endpoint)s' % {
Using python 3.9.x

Figured it out.  Had to hard code the tables and add the region and profile since different than my system.


In review , Custom fields are displayed in alphabetical order instead of displaying it according to the priority.

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

In Review stage, sorting of Custom field is being displayed in alphabetical order. That should be displayed  according to Priority given by user. @mitulpanch


docs: header permalinks

Fixes #119
What I did

add header-link style permalinks to markdown

Notes to Reviewers
The approach taken in this PR differs from the original design in #119, for accessibility reasons, so please take a look @coreyvickery
This initial draft does not style the header links any differently from regular links, but that's up for revision, naturally.
This PR relies on a patch to pfe-tools. If the approach taken here is desirable, please wait on merging this until we upstream the changes (cc @eyevana as this may affect cpelements docs site)

Greg's best-of-all-worlds demo
https://codepen.io/hellogreg/pen/NWEPppE

@hellogreg PTAL, I made the copy element wrap the headings.


feat(core) buffered proxying

Summary
Implements buffered proxying in Kong so that plugins can implement:
function Plugin:access(conf)
  kong.service.request.enable_buffering()
end

function Plugin:header_filter(conf)
  local body = kong.service.response.get_raw_body()
  -- OR
  local body = kong.service.response.get_body()

  if not body then
    return
  end

  -- ...
end

Style question: Being a new feature that mostly adds new isolated code, is there a reason why we don't put the added code in kong.access in a function on its own?


libinput: 0.12.0 -> 0.12.1

Various fixes, see:
https://lists.freedesktop.org/archives/wayland-devel/2018-October/039502.html

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[x] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Fits CONTRIBUTING.md.

Success on aarch64-linux (full log)
Attempted: libinput
Partial log (click to expand)
strip is /nix/store/428gs2z4b8f9byvghzlpbjwjb3a7jwxx-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/n1wa7nwkbf4nlisjnp7rjkh3k2829hp9-libinput-1.12.1/lib
patching script interpreter paths in /nix/store/n1wa7nwkbf4nlisjnp7rjkh3k2829hp9-libinput-1.12.1
checking for references to /build in /nix/store/n1wa7nwkbf4nlisjnp7rjkh3k2829hp9-libinput-1.12.1...
shrinking RPATHs of ELF executables and libraries in /nix/store/148hx3hxxg20mbkvxdbhabxnlbsa8syj-libinput-1.12.1-dev
strip is /nix/store/428gs2z4b8f9byvghzlpbjwjb3a7jwxx-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/148hx3hxxg20mbkvxdbhabxnlbsa8syj-libinput-1.12.1-dev/lib
patching script interpreter paths in /nix/store/148hx3hxxg20mbkvxdbhabxnlbsa8syj-libinput-1.12.1-dev
checking for references to /build in /nix/store/148hx3hxxg20mbkvxdbhabxnlbsa8syj-libinput-1.12.1-dev...
/nix/store/8qmircd06aylz2x842p6n5d3rv3ls61m-libinput-1.12.1-bin

No attempt on x86_64-darwin (full log)
The following builds were skipped because they don't evaluate on x86_64-darwin: libinput
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.

Success on x86_64-linux (full log)
Attempted: libinput
Partial log (click to expand)
strip is /nix/store/dxf1m7dhc4qb655bdljc1fsd74v1nag3-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/k188n3hzbqqmzd40s57zxkgarjq5f74z-libinput-1.12.1/lib
patching script interpreter paths in /nix/store/k188n3hzbqqmzd40s57zxkgarjq5f74z-libinput-1.12.1
checking for references to /build in /nix/store/k188n3hzbqqmzd40s57zxkgarjq5f74z-libinput-1.12.1...
shrinking RPATHs of ELF executables and libraries in /nix/store/si5cjfkl5xln3n0z0ygxxs4x3k7gg5r8-libinput-1.12.1-dev
strip is /nix/store/dxf1m7dhc4qb655bdljc1fsd74v1nag3-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/si5cjfkl5xln3n0z0ygxxs4x3k7gg5r8-libinput-1.12.1-dev/lib
patching script interpreter paths in /nix/store/si5cjfkl5xln3n0z0ygxxs4x3k7gg5r8-libinput-1.12.1-dev
checking for references to /build in /nix/store/si5cjfkl5xln3n0z0ygxxs4x3k7gg5r8-libinput-1.12.1-dev...
/nix/store/1vr0ln1vxkh9gnn4zsy8hckvjd2pqzh7-libinput-1.12.1-bin

@GrahamcOfBorg build gnome3.gnome-session

No attempt on x86_64-darwin (full log)
The following builds were skipped because they don't evaluate on x86_64-darwin: gnome3.gnome-session
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.

Success on aarch64-linux (full log)
Attempted: gnome3.gnome-session
Partial log (click to expand)
shrinking /nix/store/wxzimxj1j6c5k0243wrbwijn7xphp4hb-gnome-session-3.28.1/libexec/gnome-session-failed
shrinking /nix/store/wxzimxj1j6c5k0243wrbwijn7xphp4hb-gnome-session-3.28.1/libexec/gnome-session-binary
gzipping man pages under /nix/store/wxzimxj1j6c5k0243wrbwijn7xphp4hb-gnome-session-3.28.1/share/man/
strip is /nix/store/428gs2z4b8f9byvghzlpbjwjb3a7jwxx-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/wxzimxj1j6c5k0243wrbwijn7xphp4hb-gnome-session-3.28.1/libexec  /nix/store/wxzimxj1j6c5k0243wrbwijn7xphp4hb-gnome-session-3.28.1/bin
patching script interpreter paths in /nix/store/wxzimxj1j6c5k0243wrbwijn7xphp4hb-gnome-session-3.28.1
/nix/store/wxzimxj1j6c5k0243wrbwijn7xphp4hb-gnome-session-3.28.1/bin/.gnome-session-wrapped: interpreter directive changed from "/bin/sh" to "/nix/store/017xymp5i03qzigafnfx7sgf6602gmzq-bash-4.4-p23/bin/sh"
/nix/store/wxzimxj1j6c5k0243wrbwijn7xphp4hb-gnome-session-3.28.1/bin/gnome-session-custom-session: interpreter directive changed from " /bin/sh" to "/nix/store/017xymp5i03qzigafnfx7sgf6602gmzq-bash-4.4-p23/bin/sh"
checking for references to /build in /nix/store/wxzimxj1j6c5k0243wrbwijn7xphp4hb-gnome-session-3.28.1...
/nix/store/wxzimxj1j6c5k0243wrbwijn7xphp4hb-gnome-session-3.28.1


Build error following doc/user-guide.md or README.md, with go modules

Bug Report

What did you do?
Followed doc/user-guide.md, with go modules, to the point of
$operator-sdk build quay.io/example/memcached-operator:v0.0.1

What did you expect to see?
quay.io/example/memcached-operator:v0.0.1 docker image is built
What did you see instead? Under which circumstances?
[foo@localhost memcached-operator]$ operator-sdk build quay.io/example/memcached-operator:v0.0.1
build github.com/example-inc/memcached-operator/cmd/manager: cannot load sigs.k8s.io/controller-runtime/pkg/controller: open /home/syedriko/go/src/github.com/example-inc/memcached-operator/vendor/sigs.k8s.io/controller-runtime/pkg/controller: no such file or directory
Error: failed to build operator binary: (failed to exec []string{"go", "build", "-o", "/home/syedriko/go/src/github.com/example-inc/memcached-operator/build/_output/bin/memcached-operator", "-gcflags", "all=-trimpath=${GOPATH}", "-asmflags", "all=-trimpath=${GOPATH}", "-mod=vendor", "github.com/example-inc/memcached-operator/cmd/manager"}: exit status 1)

Environment
OOTB Fedora 30

operator-sdk version:

operator-sdk version: v0.7.0+git
the current HEAD of https://github.com/operator-framework/operator-sdk as of 2019/05/10

go version:

go version go1.12.1 linux/amd64

Kubernetes version information:

n/a

Kubernetes cluster kind:

n/a

Are you writing your operator in ansible, helm, or go?

go
Possible Solution
A workaround is to run "go mod vendor -v" just before "operator-sdk build quay.io/example/memcached-operator:v0.0.1".
I've root-caused it to the fact that
"go mod vendor -v" that "operator-sdk new memcached-operator" runs, only includes vendor packages actually imported from the project's source code at the time "go mod vendor" runs. At that stage, there's no pkg/controller/memcached/memcached_controller.go file in the project, which is the only one that imports
	"sigs.k8s.io/controller-runtime/pkg/controller"
	"sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"

so they are not present in the vendored controller-runtime.

@syedriko yes I believe we mention the need to rerun go mod vendor in the docs.
cc @estroz

There's indeed a mention of it in the Advanced Topics of the user-guide.md. But look at this from the first timer perspective. I, for one, did not know go modules existed until I started working through the user guide.
I followed the "Get started with the SDK" link on https://www.openshift.com/learn/topics/operators and worked through the guide step-by-step and ran into the issue I'm reporting.
In the "Create and deploy an app-operator using the SDK CLI:" section of README.md, there's no mention of "go mod vendor" and just running the commands from there by copy-paste fails at the "operator-sdk build quay.io/example/app-operator" step.
Since the operator-sdk tool wraps "go mod vendor" in the "operator-sdk new" command, may be "operator-sdk build" should invoke it too, before running "go build"?

@syedriko thanks for pointing this out. We just merged the go modules support yesterday, so with such a big change, there are likely still some rough edges (like this one).
Since go modules make the vendor directory less necessary, we plan to make a follow-up change that only invokes the go command with vendor-related options when a vendor directory is already present.
When we make that change, you'll no longer need a vendor directory, and the go build command should automatically handle fetching new dependencies.

We just merged the go modules support yesterday
Lucky me :)
Can we then add the go mod vendor to the user guide and the readme for now and remove them when they're no longer needed? I added a commit to here: https://github.com/operator-framework/operator-sdk/pull/1408/commits/84ffd568d717b15f0dd7675053b1e53814bfc0e8

Should we close this now that PR #1408 is merged?

:+1: Thanks!


Vercel returns "An error occurred while fetching the data. Please try again."

Sorry for this noob question, but could not see an answer anywhere else, so thought there might be others with the same problem.
My project works locally, but when hosted in Vercel it returns "An error occurred while fetching the data. Please try again.".
How come?

solved - missed rebuild after adding env variables

can u show me code? im same problem with u


No compiler warnings? Can compiler flags be set on a by-target basis?

Potential bug? I don't see any compiler warnings even though I expect some.
Is there a way to set compiler flags either globally or on a per-target basis? And is it expected to not see anything from a #pragma message directive?
I've attempted to use the following:

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -pedantic") both before and after the toolchain file inclusion and with and without cacheing
add_definitions("-Wall -Wextra -pedantic")
target_compile_options(myLib PUBLIC -Wall -Wextra -pedantic)

However when I have an unused and uninitialized variable, e.g.,
void loop() {
   int x;
}

I see no warnings.
And even when attempting either the #pragma message "test" or #warning "test" I don't see any warnings printed to the screen. Switching to #error "test" triggers a compile-time error and shows the message.
Output from CMake config shown below running on MacOS 12.2 using Arduino SDK 1.8.19:
/Applications/Arduino.app/Contents/Java
-- Found Arduino Platform: /Applications/Arduino.app/Contents/Java/hardware/arduino/avr
-- Found Arduino Platform: /Users/connorfuhrman/Library/Arduino15/packages/esp32/hardware/esp32/2.0.0
-- Selected Arduino Board: Arduino Uno [avr.uno]
-- The C compiler identification is GNU 7.3.0
-- The CXX compiler identification is GNU 7.3.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- The ASM compiler identification is GNU
-- Found assembler: /Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-gcc
-- Found Arduino Library TimerInterrupt: /Users/connorfuhrman/Documents/Arduino/libraries/TimerInterrupt
-- Configuring done
-- Generating done
-- Build files have been written to: /path/to/my/project

May have jumped the gun on this one... Editing the platform.txt file from the Arduino IDE application folder seems to be working.

Sorry for the spam this issue is resolved by editing the Arduino platform.txt file for me!


FabulaUltima New Sheet, awaiting valid

Submission Checklist
Required

[X] The pull request title clearly contains the name of the sheet I am editing.
[X] The pull request title clearly states the type of change I am submitting (New Sheet/New Feature/Bugfix/etc.).
[X] The pull request makes changes to files in only one sub-folder.
[X] The pull request does not contain changes to any json files in the translations folder (translation.json is permitted)

New Sheet Details

The name of this game is: < Fabula Ultima >  (i.e. Dungeons & Dragons 5th Edition, The Dresden Files RPG)

The publisher of this game is: < Need Games > (i.e. Wizards of the Coast, Evil Hat)

The name of this game system/family is: < Unique System > (i.e. Dungeons & Dragons, FATE)

[X] I have followed the Character Sheets Standards when building this sheet.

[ ] This sheet has been made on behalf of, or by, the game's publisher.
[X] This game is not a traditionally published game, but a copy of the game rules can be purchased/downloaded/found at: < https://www.drivethrurpg.com/product/410108/Fabula-Ultima-TTJRPG?src=hottest_small >
[ ] This sheet is for an unofficial fan game, modification to an existing game, or a homebrew system.

Changes / Description

Character Sheet Info Roll20 Internal Use only.


Use 'Go to type definition' to switch to the generated AST type declaration

When you are in the grammar and want to know how the type looks like in the ast.ts file, we could use Go to implementation of the LSP.
Especially when you need to know inferred types or maybe container information, this could be nice.
We can simply search for a line starting with export interface ABC or export type ABC in ast.ts.
Go to implementation seems to be the best match. But if there is a better action for this idea, choose the better one.

@Lotes
If one want to re-use one of LSP services, maybe Goto Type Definition would match your case better?

True, I was not aware of this action.

Rethinking about this... When doing "Go to type definition" on a grammar rule (definition or usage), I would expect the editor to navigate to either the rule definition if the type is inferred or the type declaration. But we could say something similar about "Go to implementation": If you do that on a type, one could expect the editor to navigate to a grammar rule that uses that type. So maybe a custom command is the better choice to avoid confusion.

Shamelessly voting for this ... I spend an embarrassingly large amount of time jumping between usage, definition and then searching the ast.


ut_sb_stubs broken by packet layout change

The structure defining the message layout changed, placing
the message content in a separate structure, requiring
current code that was "pointer->field" to be adjustd
to read "pointer->Packet.field"
This change must be applied to code in ut_sb_stubs.c
that is only compiled when UT_VERBOSE is defined.
The automatic test system used to check out CFE builds
defines UT_VERBOSE in order to collect supporting
evidence useful for debugging any failures or errors
encountered during testing.

Imported from trac issue 37.  Created by glimes on 2015-03-14T14:23:54, last modified: 2019-03-05T14:57:55

Trac comment by glimes on 2015-03-14 14:29:00:
Currently testing commit [changeset:7d4f2b4] that addresses this issue.

Trac comment by glimes on 2016-02-25 10:17:32:
these will be fixed in CFE 6.5

Trac comment by glimes on 2015-04-13 15:04:22:
Part of integration candidate 2015-03-10,
committed to cFS CFE Development branch on 2015-04-10
as part of merge [changeset:7d6f6d0].

Trac comment by jhageman on 2019-03-05 14:57:55:
Milestone renamed


fix machinepool validator so that validation is not skipped

https://jira.coreos.com/browse/CO-670

/test e2e

/lgtm


Are attachments kept in issue history?

Feature Description
Related to Improve_websites_thanks_to_open_source/issues/798.
Screenshots
No response

If so and have forgotten censoring something, then have to delete the edit revision or even the comment itself.

Do not forget to delete previous attachments, not just reference in Markdown to them. Can keep the reference as it is a random ID, except if want to hide that proceeded to a change.
It seems that Codeberg at least proceed quickly:
curl -I 'https://codeberg.org/Benjamin_Loison/Thunderbird/attachments/9a6d7cd1-4f61-4b83-829f-673e4412760e'

Output:
HTTP/2 404
cache-control: max-age=0, private, must-revalidate, no-transform
content-type: text/plain; charset=utf-8
set-cookie: i_like_gitea=274e62fd80a8028b; Path=/; HttpOnly; Secure; SameSite=Lax; Secure; SameSite=Lax
set-cookie: _csrf=8zo8qXEeKMw1bZTQLAoOFhoFD2Y6MTcyODY2ODgzNDk4MTYzNDQ2OQ; Path=/; Max-Age=86400; HttpOnly; Secure; SameSite=Lax; Secure; SameSite=Lax
date: Fri, 11 Oct 2024 17:47:14 GMT
content-length: 10
strict-transport-security: max-age=63072000; includeSubDomains; preload
permissions-policy: interest-cohort=()
x-frame-options: sameorigin
x-content-type-options: nosniff

curl -I 'https://codeberg.org/Benjamin_Loison/Thunderbird/attachments/58c8f842-aeeb-4ae9-b590-a8bd5c907133'

Output:
HTTP/2 200
accept-ranges: bytes
access-control-expose-headers: Content-Disposition
cache-control: private, max-age=300
content-disposition: inline; filename="image.png"; filename*=UTF-8''image.png
content-length: 467995
content-type: image/png
etag: "58c8f842-aeeb-4ae9-b590-a8bd5c907133"
last-modified: Fri, 11 Oct 2024 17:35:27 GMT
no-gzip-compression: 1
set-cookie: i_like_gitea=73253cd9c3e52766; Path=/; HttpOnly; Secure; SameSite=Lax; Secure; SameSite=Lax
set-cookie: _csrf=xtHcFZ6rQTCVw3_JWMiAoWd-qyo6MTcyODY2ODg0MDA2MDAzNTk4Mg; Path=/; Max-Age=86400; HttpOnly; Secure; SameSite=Lax; Secure; SameSite=Lax
date: Fri, 11 Oct 2024 17:47:20 GMT
strict-transport-security: max-age=63072000; includeSubDomains; preload
permissions-policy: interest-cohort=()
x-frame-options: sameorigin
x-content-type-options: nosniff

Should verify with the API to be faster.

Related to Benjamin_Loison/gitlab/issues/6.


Docs about flex-fill

https://getbootstrap.com/docs/4.1/utilities/flex/#fill

Use the .flex-fill class on a series of sibling elements to force them into equal widths while taking up all available horizontal space. Especially useful for equal-width, or justified, navigation.

This document might cause misunderstanding.
They are not the same width, they actually depend on the width of their content.
demo: https://codepen.io/anon/pen/jKoOad
I would like to make a PR, but I am not a native speaker, so I ask for someone's help.

Agreed. Personally, I find the cases for equal width content (flex: 1 1 0) more prevalent than what this does (flex: 1 1 auto). I thought .flex-fill would do the former, but was surprised that it did the later.

Yup, after much head-scratching I realized the docs are wrong. flex-fill will fit to content.

I have to agree that this is really confusing in the documentation. To make matters worse, the example is using the same content for all of the three boxes, so it looks as if the items will all have the same width.
In my opinion, it would have been much more natural to make this a flex: 1 (with a flex-basis: 0) to make the boxes actually fill the available width equally. I think that is much more likely what people expect from a “flex-fill” class.

I don't think there's a big need for .flex-fill as it is now - it is almost never what users want.
If .flex-fill can't be changed due to backwards-compatibility issues, it would be nice to introduce a .flex-even class with flex: 1.
In any case the docs are very confusing as they are now - I had to ask) on StackOverflow!

The .flex-fill is definitely worth keeping, it may come in handy if you want a 100% width horizontal menu width equal space distribution. However, I would endorse the addition of a .flex-even class width flex: 1 1 0%; for real equal widths. At least I use both...


Strapi 5

Do you plan to support strapi v5?

I put up a draft PR that is working for me. Reviews would be appreciated.
https://github.com/Zaydme/strapi-plugin-multi-select/pull/32

@Zaydme
is there any tentative date for the plugin update to support strapi 5?

<EMAIL_ADDRESS>with Strapi v5 support has been published, any feedback is appreciated.
Solved with #32


[Question] Purpose of Request's id property?

👋 I noticed that Request defines the following property:
https://github.com/kean/Get/blob/f93c8efb3cc17b4e6404bd943949b631b1836a12/Sources/Get/Request.swift#L17
But it's not currently used. I'm wondering what the intended purpose of this property was?
For context, for crash reporting/debugging purposes, I want a way to identify which path (endpoint/controller) is being represented by a Request when using CreateAPI to generate those request definitions. Using the actual URL path doesn't cut it, because /repos/1 and /repos/2 are not unique when they are both representing the same endpoint (/repos/{id}).
For that reason, I had considered that maybe CreateAPI could pass the operationId to this property, but I didn't want to open a PR that could make that possible if I misunderstood the purpose of it.
WDYT? Thanks!

Hi,
That's exactly what it a was added for – operation IDs.
There is an existing isAddingOperationIds option in CreateAPI that does it.


Fix snapshot repository registration failure in mixed OpenSearch version setups

Description
This PR addresses issue #16830, where snapshot repository registration fails in clusters with mixed OpenSearch versions, specifically when nodes running OS 2.17 are present alongside nodes running earlier 1.x or 2.x versions.
Problem:

Repository registration fails due to different handling of test paths in OS 2.17 compared to earlier versions.
This issue occurs during version upgrades, causing snapshot functionality to break.

Solution:

Implement version-aware logic for handling test paths.
Ensure backward compatibility with earlier OpenSearch versions.
Add checks to use the appropriate test path handling method based on the minimum node version in the cluster.

Changes:

Modified code to include version checks.
Updated test path handling logic to accommodate mixed version scenarios.

Testing:

Tested repository registration in clusters with:

OS 2.15 and OS 2.17 nodes

Verified successful repository registration in all scenarios.
Ensured existing functionality remains intact for homogeneous version clusters.

This fix ensures smooth operation of snapshot repositories during cluster upgrades and in environments where different OpenSearch versions coexist.
Related Issues
Resolves #16830

Check List

[ ] Functionality includes testing.
[ ] API changes companion pull request created, if applicable.
[ ] Public documentation issue/PR created, if applicable.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

❌ Gradle check result for 51a6e67: FAILURE
Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change?

Flaky test - https://github.com/opensearch-project/OpenSearch/issues/15831

❌ Gradle check result for 51a6e67: FAILURE
Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change?

Flaky test - https://github.com/opensearch-project/OpenSearch/issues/16015

Codecov Report
Attention: Patch coverage is 40.00000% with 3 lines in your changes missing coverage. Please review.

Project coverage is 72.15%. Comparing base (5ba909a) to head (51a6e67).
Report is 7 commits behind head on main.

Files with missing lines	Patch %	Lines
...ch/repositories/blobstore/BlobStoreRepository.java	33.33%	0 Missing and 2 partials ⚠
...nsearch/cluster/service/ClusterApplierService.java	0.00%	0 Missing and 1 partial ⚠
Additional details and impacted files
☔ View full report in Codecov by Sentry. 📢 Have feedback on the report? Share it here.

Some of the changes needs mixed version tests for which there is an issue created.

The backport to 2.x failed:
The process '/usr/bin/git' failed with exit code 128

To backport manually, run these commands in your terminal:
# Navigate to the root of your repository
cd $(git rev-parse --show-toplevel)
# Fetch latest updates from GitHub
git fetch
# Create a new working tree
git worktree add ../.worktrees/OpenSearch/backport-2.x 2.x
# Navigate to the new working tree
pushd ../.worktrees/OpenSearch/backport-2.x
# Create a new branch
git switch --create backport/backport-16831-to-2.x
# Cherry-pick the merged commit of this pull request and resolve the conflicts
git cherry-pick -x --mainline 1 d37cc9b32600faef17b3c898f8c86b0fd7640d72
# Push it to GitHub
git push --set-upstream origin backport/backport-16831-to-2.x
# Go back to the original working tree
popd
# Delete the working tree
git worktree remove ../.worktrees/OpenSearch/backport-2.x

Then, create a pull request where the base branch is 2.x and the compare/head branch is backport/backport-16831-to-2.x.

Manually backporting this PR.

Created manual backport https://github.com/opensearch-project/OpenSearch/pull/16849


assert failed

Hi,
I got this error:
OpenCV Error: Assertion failed ((img.depth() == CV_8U || img.depth() == CV_32F) && img.type() == templ.type()) in matchTemplate, file /tmp/opencv20160107-29960-t5glvv/opencv-2.4.12/modules/imgproc/src/templmatch.cpp, line 249
libc++abi.dylib: terminating with uncaught exception of type cv::Exception: /tmp/opencv20160107-29960-t5glvv/opencv-2.4.12/modules/imgproc/src/templmatch.cpp:249: error: (-215) (img.depth() == CV_8U || img.depth() == CV_32F) && img.type() == templ.type() in function matchTemplate
Abort trap: 6

Interesting... Can you describe what you were doing when this happened? Can you recreate this behaviour?

nothing in particular i think. I’ll try and recreate.

On 24 Mar 2016, at 14:49, Matt Hammond<EMAIL_ADDRESS>wrote:
Interesting... Can you describe what you were doing when this happened? Can you recreate this behaviour?
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub https://github.com/mc-jesus/face_detect_n_track/issues/1#issuecomment-200869458

It seems to happen very quickly when i start it up and move my face out of the frame. 。

When I move my face out of the frame I get these errors:
From left side
OpenCV Error: Assertion failed (ssize.area() > 0) in cv::resize, file C:\OpenCV\modules\imgproc\src\imgwarp.cpp, line 3480
From right side
No errors
From bottom side
OpenCV Error: Assertion failed (0 <= roi.x && 0 <= roi.width && roi.x + roi.width <= m.cols && 0 <= roi.y && 0 <= roi.height && roi.y + roi.height <= m.rows) in cv::Mat::Mat, file C:\OpenCV\modules\core\src\matrix.cpp, line 516
From top side
OpenCV Error: Assertion failed (0 <= roi.x && 0 <= roi.width && roi.x + roi.width <= m.cols && 0 <= roi.y && 0 <= roi.height && roi.y + roi.height <= m.rows) in cv::Mat::Mat, file C:\OpenCV\modules\core\src\matrix.cpp, line 516

Ok I think I've solved this. Let me know if there's any more crashes.


MonitorControl exits after sleep/wake of LG 34WK95U

Before opening the issue, have you...?

[X] Searched for existing issues
[X] Looked through the wiki
[X] Updated MonitorControl to the latest version (if applicable)

Describe the bug
Hello,
I'm using MonitorControl since version 3.x on this setup. Since I've update to macOS 12.0.1 or MonitorControl 4.0.1. Not sure exactly when it started MonitorControl exits after external monitor wakes up or goes to sleep. I need to reopen the app. All functions work well just the app is not there when I need it and need to reopen.
Setup:
MacBook: MacBookPro17,1 (M1 MacBook Pro 13")
Monitor:  LG 34WK95U connected via Thunderbolt 3 (Newest firmware)
Dock: Elgato Dock Pro (Monitor is connected via TB3 to the dock and the dock to the MacBook also via TB3)
Steps to reproduce
Put MacBook to the lock screen and let monitors to turn off. Once unlocked MonitorControl is not active and needs to be relaunched.
Expected behavior
MonitorControl still works after monitor wakes up from sleep.
Anything else?
No response
Environment Information (please complete the following information)
- macOS version: 12.0.1
- Mac model: MacBookPro17,1 (M1 MacBook Pro 13")
- MonitorControl version: 4.0.2
- Monitor(s): LG 34WK95U
- Apple Silicon/M1 (yes or no): yes

Hi @xszuflax , handling of sleep was changed a bit in 4.0.2 (wait times were shortened). Can you please try 4.0.1 and see if the issue is present with that version as well? Thank you!

Hello @waydabber this issue actually started on 4.0.1. I've updated to 4.0.2 hoping for the fix...
And now the funny thing. Since I created this very ticket the issue is gone... not sure what happened.

Well, next time you have this issue, just create a ticket, that will solve it. :)
All right, if the problem comes back, let me know!


Add Jesus To Allowed List

Fixes #545

@krishdevdb A small suggestion for you. If you want to work on an issue. Just comment on that issue that you would love to work on that. This would be helpful for new contributors to confirm that someone is working on that issue!

@krishdevdb A small suggestion for you. If you want to work on an issue. Just comment on that issue that you would love to work on that. This would be helpful for new contributors to confirm that someone is working on that issue!

I think for such a small change it's not necessary due by opening the pr and linking the issue with resolve #issuenumber for everyone is clear that a fix for this is suggested. But yeah for bigger issues I would definitely recommend commenting on the issue that you would like to work on it

@krishdevdb A small suggestion for you. If you want to work on an issue. Just comment on that issue that you would love to work on that. This would be helpful for new contributors to confirm that someone is working on that issue!

I think for such a small change it's not necessary due by opening the pr and linking the issue with resolve #issuenumber for everyone is clear that a fix for this is suggested. But yeah for bigger issues I would definitely recommend commenting on the issue that you would like to work on it

That's true! I just recommended the best practice. :)

@krishdevdb A small suggestion for you. If you want to work on an issue. Just comment on that issue that you would love to work on that. This would be helpful for new contributors to confirm that someone is working on that issue!

I think for such a small change it's not necessary due by opening the pr and linking the issue with resolve #issuenumber for everyone is clear that a fix for this is suggested. But yeah for bigger issues I would definitely recommend commenting on the issue that you would like to work on it

That's true! I just recommended the best practice. :)

I think when you open a pr the linked issues get it added in their gh comments

However, it would be great if you could follow our commit message guidelines in our CONTRIBUTING.md file, from next time.
We like to follow Conventional Commits...

Sure my next commits will be on that pattern


Launch app with JIT on same device

Hello. Looking at the code, it seems to me that it should be possible to launch an app with JIT on the same device instead of having a secondary device. libmobiledevice supports detached debug mode which doesn't need a daemon to be tethered to the JIT app. Is there a technical limitation that I'm missing? Thanks

iOS rejects debug packets coming from loopback network devices. If you find a way to fake the source network device with an app running locally on the device, this would work.

I think using a fake vpn that just redirects outgoing traffic back to the device with a spoofed sender might work.
At the very least people have successfully remote debugged when using an openvpn server.
https://stackoverflow.com/questions/49267354/iphone-remote-debugging-over-vpn-connection

Very interesting share @jakibaki! I will test this tonight and report back.

Thanks @ViRb3 for testing VPN reflection. Since that worked it wasn’t a stretch to assume that a custom VPN created on device would work as well so I took the time to implement it (didn’t want to before as it might have been a waste of time). The downside is you need a $99/year developer account to use it (or one of those UDID registration services that lets you buy a certificate from them for a few bucks). https://github.com/osy/Jitterbug/commit/86f359b3dabb788da8752eadd7f5983836f36a12

@osy you are absolutely on fire, thank you!

Thank you! I'm really happy to hear that this works!

Thanks @ViRb3 for testing VPN reflection. Since that worked it wasn’t a stretch to assume that a custom VPN created on device would work as well so I took the time to implement it (didn’t want to before as it might have been a waste of time). The downside is you need a $99/year developer account to use it (or one of those UDID registration services that lets you buy a certificate from them for a few bucks). d701acf

Hey, i have this kind of certificate! How can I do that? And does it work on iOS 15 too?

Thanks @ViRb3 for testing VPN reflection. Since that worked it wasn’t a stretch to assume that a custom VPN created on device would work as well so I took the time to implement it (didn’t want to before as it might have been a waste of time). The downside is you need a $99/year developer account to use it (or one of those UDID registration services that lets you buy a certificate from them for a few bucks). d701acf

Hey, i have this kind of certificate! How can I do that? And does it work on iOS 15 too?

Thanks @ViRb3 for testing VPN reflection. Since that worked it wasn’t a stretch to assume that a custom VPN created on device would work as well so I took the time to implement it (didn’t want to before as it might have been a waste of time). The downside is you need a $99/year developer account to use it (or one of those UDID registration services that lets you buy a certificate from them for a few bucks). d701acf
@osy

And should I sign Jitterbug and Jitterbug tunnel? Because I only have one bundle id with that specific feature

You need to sign both, two bundle ids are required.

You need to sign both, two bundle ids are required.

Oh thanks. Hey can you help me I have on my primary device the same bug as in the Delta emulator: When I try to import the support files and press on a file in the files selection window, nothing will happen :(

Thanks @ViRb3 for testing VPN reflection. Since that worked it wasn’t a stretch to assume that a custom VPN created on device would work as well so I took the time to implement it (didn’t want to before as it might have been a waste of time). The downside is you need a $99/year developer account to use it (or one of those UDID registration services that lets you buy a certificate from them for a few bucks). d701acf

Hey, i have this kind of certificate! How can I do that? And does it work on iOS 15 too?

All right thats sad but in iOS 15 the apps are crashing when you launch them


[WIP] Trittium (TRTT) chainparams

Work in progress.
Do not merge yet.

does define replace them in strings or file such .md, .conf, .ui

In rebranding step, we can rebrand all and then can either comment out those definitions or can fix them (revert the replacement in those lines). I think commenting out is a better option.


update dependencies

Description
Update of dependencies
Issue reference
We strive to have all PR being opened based on an issue, where the problem or feature have been discussed prior to
implementation.
Please reference the issue this PR will close: #[issue number]
Checklist
Please make sure you've completed the relevant tasks for this PR, out of the following list:

[ ] Tests pass
[ ] Created/updated tests
[ ] Extended the documentation

Codecov Report

Merging #86 (18621d3) into main (98dfdd3) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##               main      #86   +/-   ##
=========================================
  Coverage     73.76%   73.76%
  Complexity      396      396
=========================================
  Files            49       49
  Lines          1456     1456
=========================================
  Hits           1074     1074
  Misses          382      382

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 98dfdd3...18621d3. Read the comment docs.


how to query rated power?

Is this a new feature, an improvement, or a change to existing functionality?
New Feature
Please provide a clear description of the problem this feature solves
How do I to query rated power?
Feature Description
query  rated power
Describe your ideal solution
I know a little.
Additional context
e.g:  3080       320W

@wade-liwei
Most likely, you need one of these fields:
/**
 * Current Power limit for the device
 */
#define DCGM_FI_DEV_POWER_MGMT_LIMIT 160

/**
 * Minimum power management limit for the device
 */
#define DCGM_FI_DEV_POWER_MGMT_LIMIT_MIN 161

/**
 * Maximum power management limit for the device
 */
#define DCGM_FI_DEV_POWER_MGMT_LIMIT_MAX 162

/**
 * Default power management limit for the device
 */
#define DCGM_FI_DEV_POWER_MGMT_LIMIT_DEF 163

/**
 * Effective power limit that the driver enforces after taking into account all limiters
 */
#define DCGM_FI_DEV_ENFORCED_POWER_LIMIT 164


The ESP8266 wiring on the blog example are wrong

I've try to replicate your example on Blog
http://www.arducam.com/arducam-supports-esp8266-arduino-board-wifi-websocket-camera-demo/
The wiring for SDA and SCL are actually wrong, follow you example cannot work.
SDA should be D2 and SCL should be D1 and will works.
To use with the hardware connection showed in the example (without fixing wires), you must modify Wire.begin(3,4);

ESP8266 has different firmware version, I use the generic one, not the Adafuit or some others.
So the pin configuration may be different, you have to check the dedicate pins for I2C and SPI according to your fimware.

From: max mc costa
Date: 2015-11-29 23:53
To: ArduCAM/Arduino
Subject: [Arduino] The ESP8266 wiring on the blog example are wrong (#8)
I've try to replicate your example on Blog
http://www.arducam.com/arducam-supports-esp8266-arduino-board-wifi-websocket-camera-demo/
The wiring for SDA and SCL are actually wrong, follow you example cannot work.
SDA should be D2 and SCL should be D1 and will works.
To use with the hardware connection showed in the example (without fixing wires), you must modify Wire.begin(3,4);
—
Reply to this email directly or view it on GitHub.

In the example you are using Arduino ESP8266.
Take a look in variants/generic/pins_arduino.h
static const uint8_t SDA = 4;
static const uint8_t SCL = 5;
This for all devices!

Hi,
I also try to replicate this example with an Arduino ESP8266 and a OV5642. How do you manage to solve the String.h not found error @compile time?
Arduino/libraries/ESP8266-Websocket/WebSocketServer.h:48:20: fatal error: String.h: No such file or directory
#include "String.h"
^
compilation terminated.
Error compiling.

Hi,
I am able to replicate this example with an OV2640. When i replace the OV2640 with an OV5642 and modify the camera detect it does find the Camera but i always get an SPI1 interface error and i
also have no image when i capture.
What causes the SPI1 interface error with the OV5642 what it does not do with the OV2640. It is exactly the same wired.

I think it should the same as OV2640 camera. Can you run the OV5642 camera with Arduino UNO without any problem?
You have to make sure there is no problem with hardware first. I will try to interface OV5642 camera with ESP8266 tomorrow.

Hi,
I did not try to run the OV5642 whith an Arduino UNO as i run Linux on my systems and there is only PC console software for Microsoft.
You are right. I did not think about the possibility the CAM  can be broken as it is detecting it fine.
I'll try as soon as possible.

Hi,
I can confirm the hardware is working. I tried the OV5642 with an Arduino UNO and the only thing i needed to do was set the speed to 115200.  I could emulate your .exe with Wine under linux without problems.
No SPI  interface errors seen so it seems to be the combination OV5642 and NodeMcu ESP8266. note that i am running a NodeMcu V3.

Hi,
I was able to get the OV5642 working with an ESP8266 v1.0 NodeMCU (ESP-12e) module.  There is a slight discrepancy on the website example for the I2C connections.  Make sure your connections are consistent with the definitions in the pins_arduino.h file.
The SPI issues appear to be due to a 1-bit left rotation in the data returned from the SPI.transfer() function.  After compensating for this, I was able to capture and transfer images from the OV5642.
Not sure where the rotation is happening.  Could it be in the ArduCAM mini camera?  SPI version read back gives 0x43.

Hi Hieudini,
Would you be so kind to share some code how you did that 1-bit left rotation?

You will have to rotate to the right by 1 bit.  Modify the uint8_t SPIClass::transfer(uint8_t data) function in the .arduino15/packages/esp8266/hardware/esp8266/2.0.0/libraries/SPI/SPI.cpp as follows:
uint8_t SPIClass::transfer(uint8_t data) {     while(SPI1CMD & SPIBUSY) {}     // reset to 8Bit mode     setDataBits(8);     SPI1W0 = data;     SPI1CMD |= SPIBUSY;     while(SPI1CMD & SPIBUSY) {}     uint8_t val = SPI1W0 & 0xff;     val = (byte)(val >> 1) | (val << 7); // correction for bit rotation from readback     return val;     //return (uint8_t) (SPI1W0 & 0xff); }

Thank you hieudini for the workaround.
I found the SPI timing is different between AVR based microprocessor and ARM based microporcessor.
I think I have to lower the SPI speed and modify the firmware in the 5MP camera to make both microprocessor compatible.
<EMAIL_ADDRESS>From: hieudini
Date: 2016-01-30 05:33
To: ArduCAM/Arduino
CC: Lee
Subject: Re: [Arduino] The ESP8266 wiring on the blog example are wrong (#8)
You will have to rotate to the right by 1 bit. Modify the uint8_t SPIClass::transfer(uint8_t data) function in the .arduino15/packages/esp8266/hardware/esp8266/2.0.0/libraries/SPI/SPI.cpp as follows:
uint8_t SPIClass::transfer(uint8_t data) {
while(SPI1CMD & SPIBUSY) {}
// reset to 8Bit mode
setDataBits(8);
SPI1W0 = data;
SPI1CMD |= SPIBUSY;
while(SPI1CMD & SPIBUSY) {}
uint8_t val = SPI1W0 & 0xff;
val = (byte)(val >> 1) | (val << 7); // correction for bit rotation from readback
return val;
//return (uint8_t) (SPI1W0 & 0xff);
}
—
Reply to this email directly or view it on GitHub.

I recently purchased an OV5642 to duplicate the "ArduCAM now Supports ESP8266 Arduino Board with WIFI Websocket Camera Demo" on a "Adafruit Feather HUZZAH ESP8266". I modified the "ArduCAM_Mini_OV2640_websocket_server" sketch for the OV5642.
When trying to run the sketch I receive the following error message...
Header mismatch
Disconnecting client
Terminating socket
Has anyone got a sketch to run this demo using the OV5642 on the Adafruit ESP8266?

Yes, you can modify the following example for OV5642 camera, it is much better. We will also post a new example for OV5642 camera soon.
Please use example https://github.com/ArduCAM/Arduino/tree/master/ArduCAM/examples/ESP8266/ArduCAM_Mini_OV2640_Capture
and modify the ESP8266 core library with following changes from folder ..\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.1.0 which normally located on C driver.
//--------------------------------------------------
[WiFiClient.h]
#define WIFICLIENT_MAX_PACKET_SIZE 2048
[ClientContext.h]
add the line
_pcb->snd_buf = TCP_SND_BUF;
before
size_t room = tcp_sndbuf(_pcb);
[lwipopts.h]
#define TCP_MSS                         2048
//--------------------------------------------------
Then use the html page to control the camera:
https://github.com/ArduCAM/Arduino/blob/master/ArduCAM/examples/ESP8266/ArduCAM_Mini_OV2640_Capture/html/video.html
<EMAIL_ADDRESS>

Hi,
I tried the new example and modified the Camera Check so it can be used with an OV5642 and my NodeMCU.
I also modified the files mentioned above.
Problem what i have is that when i'll fetch the image with wget and try to open it i get the message: Error interpreting JPEG image file (Not a JPEG file: starts with 0xff 0xb1).
when i go to the http://IP/capture with firefox i got the message the image cannot be displayed because it contains errors.
I used the modified SPI.cpp with the 1 bit right rotation to get rid of the SPI interface error.
Please help.

I followed your instructions. At first I had a problem when running the camera off of the 3.3 board power supply, it keep shutting the board down. After switching it to a dedicated power supply everything seem to work except I had no pictures. Tried the 1 bit rotation and got the SPI interface error.
Transcript:
Connecting to westell5413
....WiFi connected
<IP_ADDRESS>
Server started
CAM Capturing
capture total_time used (in miliseconds):39
CAM Capture Done!
Size is 0.
send total_time used (in miliseconds):0
CAM send Done!

@Steve, Size is 0 means there is some problem with the sensor, I'm afraid that the sensor is not well initialized. Please use the predefined settings before normal operation.

Which predefined settings are you talking about? I pasted all code in the example for the OV5642, I am not sure what I am missing or what setting need to be changed.

Hi Steelgoose,
I see in some init functions:
myCAM.write_reg(ARDUCHIP_TIM, VSYNC_LEVEL_MASK);
for the
myCAM.clear_fifo_flag();

HUZZAH... you got it... Thank you Bitbanger1900. As I mention before, the 3.3v on the board does not have enough power, the OV5642 drawing power off the board causing the board lock up. I am using a "Adafruit Feather HUZZAH ESP8266" which has a 3.7v lipo connector. I plug the lipo into the board and connected the OV5642 to the Bat pin. The OV5642 in running off of lipo voltage, 3.7v to 4.2v.
I disconnect the usb and it still work correctly off the 3.7v lipo over wifi. HUZZAH...
This is my Int. setup:
//Check if the camera module type is OV5642
//myCAM.wrSensorReg16_8(0xff, 0x01);
myCAM.rdSensorReg16_8(OV5642_CHIPID_HIGH, &vid);
myCAM.rdSensorReg16_8(OV5642_CHIPID_LOW, &pid);
if((vid != 0x56) || (pid != 0x42))
Serial.println("Can't find OV5642 module!");
else
Serial.println("OV5642 detected.");
//Change to JPEG capture mode and initialize the OV5642 module
myCAM.set_format(JPEG);
myCAM.InitCAM();
//myCAM.OV5642_set_JPEG_size(OV5642_320x240);
//myCAM.OV5642_set_JPEG_size(OV5642_640x480);
myCAM.OV5642_set_JPEG_size(OV5642_1280x720);
myCAM.write_reg(ARDUCHIP_TIM, VSYNC_LEVEL_MASK);
//myCAM.clear_fifo_flag();
myCAM.write_reg(ARDUCHIP_FRAMES, 0x00);

Servus Steelgoose,
Glad that i could help. Nice picture by the way :).
Just curious. did you use the https://github.com/ArduCAM/Arduino/tree/master/ArduCAM/examples/ESP8266/ArduCAM_Mini_OV2640_Capture ? As this example produces in my setup
a corrupt jpg image.
I hope the specialists can help me here as i am running out of ideas what this could be.

Yes, the ...OV2640_Capture, is the one I used with updates shown above. Had a lot of problems with the amperage draw until I figured that one out, did a lot of crazy things. The board has only about 250mA usable. The OV5642 draws  more current than the OV2640. I had also had to remove duplicate header files from the documents/arduino/library folder that I had installed.
I bought a couple more boards (NodeMCU), I will experiment with them, but they should all be the same firmware so I don't expect any problems...
I can just plug the lipo into the HUZZAH ESP8266 and use my android phone to capture the picture.
The puppy is my best buddy, she is like a security system with super sensors and night vision...

Thanks! good to know that it is working with the OV5642. Then i must have a weird thing with the
firmware on mine. When i use my OV2640 it is working but when i simply replace the init for the OV5642 i get a corrupt image and i always have to do that one bit rotation thing.
Should i be possibe to flash the firmware? :)

Try this, add your ssid.
https://www.dropbox.com/sh/cnikj9q550a8t2t/AACi-BHsnTkIo773Fu5qjcGxa?dl=0

Hi Steelgoose,
Thanks for sharing.
Got the same error. my jpg is always starting with:
00000000   FF B1 FF C1  00 20 94 8C  92 8C 00 02  02 02 00 00

I don't know what to tell you, that is beyond my knowledge base... I will wire up my new board tonight with the OV5642 and see what happens.

Well Bitbanger1900, I have bad news and I have good news... I connected the OV5642 to my new ESP8266 ESP-12E board. The bad news is that it does not work, I get a partial picture (like the first packet or something) and then the rest of it is gray-out (no picture). When the lipo was disconnected or low voltage (around 2.6v) I get the SPI error. Plug a charged lipo in and the SPI error went away.
The good news is, it is probably your board... if you call that good news. Good news as it narrows the problem down. I don't think the boards is bad, It may be that the board can't keep up with the speed of the camera processor. When I had the OV5642 on the HUZZAH ESP8266 taking a 1280x720 jpg, it displayed really fast (about a second). The new board  was considerably slower. It only displayed about half the picture taking a 320x240 jpd. I suppose they could work if the speed was slowed down... if that is the problem... might be something else.
These boards are normally used to turn on and off switches and retrieving sensor readings. Processing pictures takes considerable more processing power. I like the HUZZAH because it has a 2.7v lipo plug, a builtin charger for the lipo and you could connect a solar panel to charge it during the day, all for about $16.00... if you can find one.
I have another board coming in tomorrow, but I think it the same as the one I just got. I also bought a OV2640 that will be delivered Sunday. The OV5642 appears to be a good test tool for testing out the ESP8266 boards. If I find another ESP8266 similar to the HUZZAH, I will buy it just to test it out.

Hi Steelgoose,
Thanks for testing! Glad that it is weekend :) much time to play around.
I bought three esp8266 12E boards with all the same result when i try with the 5642.
When i connect the 2640 it is working.
When i connect the 5642 and use the websocket demo it is working so i have
more the feeling that this is software related and not hardware.
If i use the OV5642 i always have to do the one bit rotatition modification in the SPI.cpp.
The header is always starting with  FF B1 FF C1 00 20 94 8C 92 8C 00 02 02 02 00 00
(using the capture demo). the header should start with D8 instead of B1. When i convert this back to binary it looks like first bit is missing what could be caused by that one bit right rotation in the SPI.CPP.  (D8 = 1101 1000 and B1 = 1011 0001).
I would say that when i add a trailing 1 to the buffer the image is correct again.
The only bad thing is that i am a not a software engineer and have no knowledge of
C programming how to do this :(
Do you also have to do the one bit right rotation to get rid of the SPI interface error? As
if there are OV5642's with different firmware on it.

Interesting, I think this is a job for "Super Lee"... Every time I did the one bit rotation I got the SPI error and had to revert back. I wonder is there is some kind of firmware update for the esp8266 12E, or if that would even help.
When I first started with the OV5642 I was using the websocket demo but keep getting a Header mismatch error. What to I need to do to get the use the websocket demo?

yeah Super Lee! we can use your help here as this is getting more weird. Steelgoose and
i are using the same camera and have complete different results running the same example.
@steelgoose,

I changed the init to use the OV5642 instead of the OV2640
added  myCAM.write_reg(ARDUCHIP_TIM, VSYNC_LEVEL_MASK);
just after setting the resolution.
modified to use the SPI.CPP to do that one bit right rotation
(used the NodeMcu ESP8266-12E)

Super Lee; with the OV5642, same example, on the Adafrute Feather ESP8266 ESP-12E board, I get a great picture, but on the NodeMCU ESP8266 ESP-12E board, It will only print the first packet of the image. What do you think it is?

Bitbanger1900, What do I need to do to get the "ArduCAM_Mini_OV2640_websocket_server" example working. I am not familiar with setting up websockets or how this example works.

Hi Steelgoose.
Actually it is straitforward as the manual from Lee. Open the websocket example and modify it to use it with the OV5942. Then open the camera_demo.html in the corresponding html folder and enter the IP of the camera in the location part.
Then press the capture button and see the result :)

Dahhhhh!... Thanks
Did you ever get your camera issue resolved?

Hi,
Nope. never got a feedback from Lee about that problem :(
There is another github project  what uses esp-open-rtos to run a 2640 directly on the esp8266
https://github.com/kanflo/esparducam
I'm going to give that a try and see if that runs directly on the esp8266 without the NodeMCU. I also
ordered a few of those boards but it will take some weeks to arrive.

That's cool, I will have to try that when I have  more time. Who did you order your boards from?
I would like to connect one to GSM and send it to my cell phone...

@Bitbanger1900 We have update our library for ESP8266 board, please check the latest library and examples from http://www.arducam.com/arducam-esp8266-uno-board-arduino-camera/

Hi Lee,
Thanks! i ordered today that bord and can't wait to try it!
In the meantime i installed the latest Arducam libraries and try to compile ArduCAM_ESP8266_OV5642_Capture.ino example for the NodeMCU-1.0 but
it is failing to compile with the error:
ov5642-new.ino.ino: In function 'void setup()':
ov5642-new.ino:206: error: 'OV5642_CHIPID_HIGH' was not declared in this scope
ov5642-new.ino:207: error: 'OV5642_CHIPID_LOW' was not declared in this scope
'OV5642_CHIPID_HIGH' was not declared in this scope
Any idea where this causes?

@Bitbanger1900 Please read the document here for detail: http://www.arducam.com/downloads/ESP8266_UNO/ArduCAM_ESP8266_UNO_DS.pdf

@Bitbanger1900 Check out this ESP8266 Wifi Range/Distance Tests. I will have to do some range testing with the ArduCAM... An inexpensive battery powered wildlife or security cam...
https://www.youtube.com/watch?v=7BYdZ_24yg0

Hi Lee,
I managed to compile the ArduCAM_ESP8266_OV5642_Capture.ino example for the NodeMCU.
The solution is to dowload the source for the ArduCAM_ESP8266_UNO and after that copy the ArduCAM library to the esp8266 library subdirectory... I can imagine that there is also another solution to get this working? At least the ArduCAM sources are not the same what is causing the compile error!
After uploading to the NodeMCU the image what i get is not okay.

@Bitbanger1900 , it is the know issue. Please use our new board library package for esp8266 from the instruction in post: http://www.arducam.com/arducam-esp8266-uno-board-arduino-camera/

Hi,
Is it possible to use the ESP8266 on the ArduCAM ESP8266 UNO as a software serial device? If so, what are the TX and RX pins?


Upgrade lwIP to 2.0.3

This upgrades to the latest stable version of lwIP: 2.0.3.  Currently, we are using 2.0.2.

You need to remove include/netif/ppp/pppoe.h and src/netif/ppp/pppoe.c because they are category X license (4-clause BSD).

Thanks for the reminder up, @utzig!  I remember the nightmare those files caused in a previous release.  I have removed the two files.

I will definitely not test this, but PR looks ok!


Remove block options

⚠ This repo is Continuously Deployed: make sure you follow the guidance ⚠
What

some blocks have options, which are passed to them to control things like inverse and margin when they're inside other blocks
for example, all blocks within a hero block text box need to be inverse because the background colour is dark blue, otherwise the text would be unreadable

Things to do:

update blocks documentation

Why

I came up with this system, but I now think it's confusing as blocks do 'magic' things to make them appear correctly and these things are effectively hard coded, removing control
so I'm removing this, and moving all the options into the YAML so they can be controlled from there
it makes the YAML a bit more verbose, but I think makes adding and configuring blocks clearer

Visual changes
None, but we might need to update some of the data currently in draft otherwise the pages are going to have visual/layout problems.

@leenagupte does this PR seem sensible to you? Options seemed like a good idea at the time, but they're starting to get in the way, particularly in light of https://github.com/alphagov/frontend/pull/4400

@leenagupte does this PR seem sensible to you? Options seemed like a good idea at the time, but they're starting to get in the way, particularly in light of #4400

So reason that block options were added in the first place, is that everything that's configured in the blocks will appear in the content item. And it feels very odd to define such purely low-level presentational things like "margin-bottom" in the content item. It felt like the type of block should be able to handle this stuff. i.e. the block should be able to figure out the margin it needs based on information it has about itself. i.e. if it's minimal, or is full-width.

@leenagupte that's fair. I think I'm going to go with a different approach, but good to have your input.


refactor(database): move service logic into separate package

Based off of https://github.com/go-vela/server/pull/574, https://github.com/go-vela/server/pull/663, https://github.com/go-vela/server/pull/687, https://github.com/go-vela/server/pull/692, https://github.com/go-vela/server/pull/721, https://github.com/go-vela/server/pull/722, https://github.com/go-vela/server/pull/782 and https://github.com/go-vela/server/pull/810
This change continues the refactor efforts initially introduced in the above PRs.
This adds a new service package to the github.com/go-vela/server/database package.
This contains a ServiceInterface interface declaring all functions necessary for service based interactions with the database:
https://github.com/go-vela/server/blob/d930b22743b26fe3753dbf8cf71aa3b447a1ae68/database/service/interface.go#L11-L49

NOTE: The other refactor PRs above leveraged using the keyword "service" when referring to interfaces.
However, when I started that for this package, it left me with an interface{} type named ServiceService.
I thought this name wasn't great so I elected to refactor all of them from *Service -> *Interface.

This package also contains the engine which implements the above service interface:
https://github.com/go-vela/server/blob/d930b22743b26fe3753dbf8cf71aa3b447a1ae68/database/service/service.go#L23-L38
This engine contains no raw SQL queries for integrating with the services table.
Instead, we leverage our DB library's (https://gorm.io/) agnostic abstraction for integrating with that table.

@jbrockopp We plan to review this within the next couple weeks.


Run on horizontal terminal

Will be good to have optino run horizontal split (float also).

Ok, I can pr this holidays. Can I pr it?

Sorry for late reply(had unplanned thing on holidays). I guess better to make it on setup. So I will add setup to plugin and make it optional.

Yes, I think using a setup function for this is the best way.


PseudoPotentialFamily: deduplicate existing pseudos

Fixes #4
When creating a new family through the create_from_folder class
method, the code will now check for each parsed pseudo potential whether
the exact same potential already exists in the database, and use that
instead. The check is performed on the exact pseudo potential node type
and the md5 of its file content. The behavior can be turned off through
the new deduplicate keyword.
The advantage of deduplication is not only a question of efficiency,
where it prevents that the same pseudo potential gets stored as a node
multiple times in the database, but it can also be more intuitive. If
one imports two families that each happen to contain the exact same
pseudo potential, one might expect that there is a single node that
represents that pseudo that just happens to be part of both groups that
represent the two pseudo potential families.

Will there be a CLI for it?

Do you mean whether there will be an option on the install family command to toggle the deduplication?
I think I will merge this and then see if I can add this and the other suggestion


About Stanford dogs accuracy

Hi, could you release your training settings for the Stanford dogs dataset? I set the lr to 3e-3 and did not change other settings, however the model is underfitting. I only get 1.7% accuracy after 200k steps.

I used 4 tesla v100(32G) gpus, batch_size=14(16 is OOM) to reproduce Dog and kept the same config with your paper, but the acc is only 90.5, a big difference from the paper 92.3.

I used 4 tesla v100(32G) gpus, batch_size=14(16 is OOM) to reproduce Dog and kept the same config with your paper, but the acc is only 90.5, a big difference from the paper 92.3.

Hi Oliver, just wondering if you can share your pretrained model with me?

I used 4 tesla v100(32G) gpus, batch_size=14(16 is OOM) to reproduce Dog and kept the same config with your paper, but the acc is only 90.5, a big difference from the paper 92.3.

Hi Oliver, just wondering if you can share your pretrained model with me? Thanks in advance!

Thanks for your reply, i use the pretrained model "VIT_B16" downloaded from your link. By the way, i removed the "part_select" and "part_layer"(like pure vit), the performance is similar with TransFG which i reproduced 90.5.
`
class Encoder(nn.Module):
def init(self, config):
super(Encoder, self).init()
self.layer = nn.ModuleList()
for _ in range(config.transformer["num_layers"] - 1):
layer = Block(config)
self.layer.append(copy.deepcopy(layer))
# self.part_select = Part_Attention()
# self.part_layer = Block(config)
self.part_norm = LayerNorm(config.hidden_size, eps=1e-6)
def forward(self, hidden_states):
    # attn_weights = []
    for layer in self.layer:
        hidden_states, _ = layer(hidden_states)
        # attn_weights.append(weights)
    # part_num, part_inx = self.part_select(attn_weights)
    # part_inx = part_inx + 1
    # parts = []
    # B, num = part_inx.shape
    # for i in range(B):
    #     parts.append(hidden_states[i, part_inx[i,:]])
    # parts = torch.stack(parts).squeeze(1)
    # concat = torch.cat((hidden_states[:,0].unsqueeze(1), parts), dim=1)
    # part_states, part_weights = self.part_layer(concat)
    # part_encoded = self.part_norm(part_states)
    part_encoded = self.part_norm(hidden_states)

    return part_encoded

`


redirectTo doesn't work in children routes config

I have below routes configured:
const routes: Routes = [
    { path: "", redirectTo: "/home", pathMatch: "full" },
    {
        path: "home", component: HomeComponent, children: [
            { path: "", redirectTo:"body", pathMatch: "full" },
            { path: "body", component: BodyComponent}
    ] }
];

Note the line:
{ path: "", redirectTo:"body", pathMatch: "full" }
I expected the path /home will show the BodyComponent, but I can't see the content of BodyComponent it in the page.
Please check the sample in playground.
I also verify the same routes setting in a pure angular 6.0 environment, it works fine.
check the ng app
SO I believe this issue is specific to nativescript, does Nativescript don't support redirectTo in children routes?

Hi @liuwei108,
Thank you for the provided sample projects.
We reviewed it and found that this seems to be the default behaviour. In our research, we found that in this scenario, only one redirect will be executed on initial time. Angular will make the first redirect while navigating to the main page, which in this case is home. The other child redirects will not be executed. This behaviour is also described in this article. Check out the One Redirect at a Time part.
Something more, we check the attached angular project as well. In it, we found that on the first load of the Angular app, it will redirect to the HomeComponent and the second child redirect will not be executed. The second redirect in the web project will be performed after refreshing the page. For your convenience, I am attaching GIF file.

Also to navigate to the BodyComponent while starting the app, you can do something like the below-attached example:
const routes: Routes = [
    { path: "", redirectTo: "/home/body", pathMatch: "full" },
    {
        path: "home", component: HomeComponent, children: [
            { path: "", redirectTo:"body", pathMatch: "full" },
            { path: "body", component: BodyComponent}
    ] }
];

Hello @tsonevn,
Thanks a lot for the article you mentioned.
By reading the article, I believe  the One Redirect at a Time applies to the redirects in same level, but for parent routes redirect and child routes redirect like mine, it should be processed together.
The key line is once an absolute redirect is matched, the redirect phase stops.
So I just changed
{ path: "", redirectTo: "/home", pathMatch: "full" }
to { path: "", redirectTo: "home", pathMatch: "full" }
and it start to work!

Thank its works ! thank u mate


Replay challenge (issue #34)

Enable replaying a challenge sequence rather than resetting

Restarting a challenge creates a new random sequence of user arrivals
and floor requests. This means it's possible to pass a given challenge
simply by retrying after each failure.

Instead, save the sequence of user arrivals and floor requests as they
are generated. Replay them when we're restarting the same challenge after
a failure. Navigation to a different challenge or restarting after success
generates new sequences as before.

Note that saving the sequence of user arrivals and floor requests does
not perfectly save the failed game for replay since the elevators
users board, X positions, and the slots users get assigned are
still randomized. While those attributes can be saved this constitutes
a reasonable subset that is easy to restore and preserves much of the
difficulty presented by a given arrival and request sequence.

(see issue #34 )

This contains some unrelated changes. Also, I would rather do this with a seedable random object than to keep track of all the spawned users. Keeping track of users makes the code very stateful and more involved, it also presents a memory usage problem in the "perpetual demo".
See for example: https://github.com/davidbau/seedrandom or https://github.com/blixt/js-procedural (which presents a very interesting approach).

Good point. I looked at the seed idea but didn't want to incorporate a new PRNG implementation since there are already two in use (it seems absurd that neither allows you to set the seed!).
I'll rework this and post a different pull request using a seedable PRNG.

Great, thanks!


factorio: Add rcon paremeters to NixOS module

This adds rcon bind address and password options to the Factorio NixOS module. These unfortunately cannot be set in the config file, so adding these params is the only I'm aware to configure it.
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

[x] 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
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 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

[x] Fits CONTRIBUTING.md.

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

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/do-i-need-to-explicitly-signpost-my-pr-review-as-nonbinding/55613/1

@bmillwood Do you know how to figure out who the owners of this module that can approve this PR are? Would it be the same as the maintainers for the Factorio package? I haven't done much contributing to the module side of nixpkgs.

@bmillwood Do you know how to figure out who the owners of this module that can approve this PR are? Would it be the same as the maintainers for the Factorio package? I haven't done much contributing to the module side of nixpkgs.

@lukegb merged my PR #350769, so perhaps they'd be able to help here?


Last Week in Pony - August 4, 2019

The Makefile that is included with our "library-project-starter" has been greatly enhanced. After the recent changes, the Makefile will now:

only rebuild test binary if source files have changed
supports compiling example applications
supports release and debug configurations for building
using pony stable or ponyc to compile

RFC final comment period: https://github.com/ponylang/rfcs/pull/152

Sean T. Allen writes:
We need you to help test out the nightly builds of ponyc and stable.
The ponyc nightly is a .tar.gz archive that should work on any x86-64 glibc based Linux.
stable is a static binary that should work on any x86-64 Linux.
We need your help in verifying that they work without issue. Please download them and put em through their paces. Please report any issues on their respective repos.
The nightlies are available in this temporary testing repo and once will be moved to a more official one later. In the meantime, please help out and give em a try:
https://cloudsmith.io/~main-pony/repos/pony-nightlies/packages/
New packages are uploaded every day around midnight UTC.
Some members of the community have already joined in and reported some issues for the ponyc nightly builds. Please lend a hand as well.
Thanks!

My CurryOn London talk "Safely Sharing Data: Reference Capabilities in Pony" has gone up on YouTube here https://www.youtube.com/watch?v=u1JfYa413fY.

Audio from the July 30, 2019 Pony development sync call is available.

the http library at https://github.com/ponylang/http has a new release 0.2.2 containing both a bugfix and adding compatibility with ponyc 0.30.0.
Check the release notes: https://github.com/ponylang/http/releases/tag/0.2.2

@rkallos is now a Pony committer! Welcome to the team Richard.

main.actor needs you! Yes, you! (If you are a JS/CSS wielding lover of Pony)
main.actor, our package discovery website (kind of like Ruby gems) is going to go live with an early version in August. The site is powered by a gatsby website that @ChristopherBiscardi put together. It's an excellent starting point. Going forward, we are going to want to add a lot of additional functionality and features.
Most of the active Pony committers are not JavaScript people. We could really use a couple of CSS/JavaScript people who are interested in becoming Pony committers and working on main.actor. If you are interested, let's talk. We really need you.  I know there's got to be at least a couple of CSS/JS folks here who want to join in.
Interested? Drop my the main.actor stream on the Pony Zulip and let's chat.

Version 0.3.0 of the Pony changelog-tool has been released. Thanks @Theodus!


jQuery 3.0 in Bootstrap v4

As the title says, can you add support for jQuery 3.

Yes, though we probably won't start work on it until jQuery 3 ships a stable release; jQuery 3 is currently still in beta.

The jQuery 3.0 release candidate should be coming out next week, feel free to mention me in other tickets. Are the tests on master the ones I should be checking against?

@dmethvin No, the v4-dev branch.

Will you start implementing the jQuery 3.0 rc-1 now that it is  out. They say the api should stay the same. Thank you.

The v4 branch passes all tests with jQuery 3.0.0-rc1 once #19906 is landed. Even that was a unit test issue, nothing failed in the actual v4 code. If you find otherwise and it's due to Bootstrap (not your own code) open a ticket here and ping me in. Note that jQuery Migrate will find many of the issues so be sure to use it in your code.

jQuery 3.0 final has been released.

You can temporarily override the version check with this: <script>$.fn.jquery = "2.2.4";</script>

The stable version of jQuery 3 was launched, I believe that as the Bootstrap 4 is still in development, it would be interesting to use this latest version.
I did a test only replacing the linked version, and it worked normally.
I think I would have no problem in updating the version.

Bootstrap 3.3.6 does not support jQuery 3: at least dropdowns are broken.

jQuery v3.0 is out, will you join this new version with Bootstrap v46
It seems to be more compatible then any other version! I did switch with v3.0 on some web site and I didn't have compatibility problem!

X-Ref: #16834

We have some unit test problems to fix before we can comfortably claim jQuery 3 compatibility: #20182

Fixed by #20190, #20191, #20198.

For when the v<IP_ADDRESS>-alpha.3??

@TheBuzzer67 You can set your package.json/bower.json file to point to the raw v4 repo or monkey patch whatever development version you are using.  The version check is in the first few lines of the minified file.

Want to know when alpha.3 version will be available on the web site?
And I'd like to follow the evolution of the development, is there a site where we can follow?

The v4.0.0-alpha.3 milestone has 24 open issues right now.  That's the closest thing I've found for tracking status:
https://github.com/twbs/bootstrap/milestones/v4.0.0-alpha.3

Want to know when alpha.3 version will be available on the web site?

Please refer to #19403.
But given the number of "duplicate, already fixed in v4-dev" issues I'm seeing, we should try to ship it soonish.

And I'd like to follow the evolution of the development, is there a site where we can follow?

You can follow https://github.com/twbs/bootstrap/tree/v4-dev to see what we're committing.
You can follow http://blog.getbootstrap.com for release announcements.
There's currently no official "this week in Bootstrap 4"-type summaries, if that's what you mean.


Package info and other cleanup

Coverage decreased (-0.06%) to 94.897% when pulling 699a35bb86c7360cd2a26a68057165c99143aaf3 on package-info-and-other-cleanup into bd1d1f5bd404c9a1e8aa29f0a07845573bd8eff0 on master.