Build on Ubuntu without Docker for the sake of documentation

Everything in one yml file for ease of understanding. No Docker.
For https://github.com/AppImageCommunity/AppImageUpdate/issues/239

Probably more shenanigans from https://github.com/AppImageCommunity/AppImageUpdate/blob/main/ci/Dockerfile.x86_64 are needed...

This is pointless, redundant and ultimately unnecessary. I wouldn't want to maintain this. It wastes resources with a superfluous unsupported build job. It does not provide any benefit for the community. See #239.

Even if we end up not merging this, I'd like to document how to build this without Docker. And I am (ab)using this PR to get builds done in a documented way (as opposed to a local dev machine).

This has now served its intended purpose; the results are in

https://github.com/AppImageCommunity/AppImageUpdate/pull/242


regression test for  module api

This PR is related to #181.  First #181 needs to be merged before this makes sense.

@vsoch  i will open a new PR, had to rebase my branch

Did you mean to just close this?

Ah were the commits merged?

Yea i had to branch of #181 to do the regtest. Now that its merged to devel i had conflict not to worry I got my issue resolved


installer only works with a vpn

🧐 Have you read the FAQ and viewed similar issues?

[X] I have read the FAQ
[X] I have checked older issues, open and closed
[X] I did a clean install of SpotX as described in the FAQ

Сountry of your account
australia
What is your Spotify Plan?
Free
Do you have Spicetify installed?
No
ℹ Computer information
- Spotify: <IP_ADDRESS>5.g66a43ceb
- Windows: windows 11 22h2 22621.3007
- PowerShell: 5.1.22621.2506

📝 Description

gives me an error as soon as i run the installer
restarting my computer doesn't help
i had installed spotx a month before this happened, but the original spotify client recently reinstalled itself
i can install spotx when using a vpn, otherwise it gets blocked

📸 Screenshots

update your bat file from redmi


test: fix the testcase strings to not include osinfo_template

This commit fixes the testcase string representation to not include the osinfo_template string and adds a test case to not accidentally regress here. Currently our test case strings look like:
<Dir bootc-image-builder>
  <Dir test>
    <Module test_build.py>
      <Function test_container_builds>
      <Function test_image_is_generated[quay.io/centos-bootc/centos-bootc:stream9,qcow2+raw+vmdk+vhd+gce,CentOS Stream 9 ({arch})]>
      <Function test_image_boots[quay.io/centos-bootc/centos-bootc:stream9,raw,CentOS Stream 9 ({arch})]>
...

which is an accident (not the {arch} part in the output above). A testcase should ideally only contain what
Instead of putting the osinfo_template into the testcase itself, have a function that generates it. It has downsides (now the osinfo_template is more disconnected from the testcase) so we could move it also back into testcase or we could exclude osinfo_template from the string generation. Ideas welcome here, my current approach feels okay but not like it's perfect yet.

Why just not moving all the osinfo information to the osinfo_for function?

Thank you, that is an excellent suggestion, I updated the code based on your suggestion (will probably have to force push again and if you don't mind squash) because I think the linter will not be happy.

@mvo5 why do you removed my suggestion? wasn't it working?

@mvo5 why do you removed my suggestion? wasn't it working?

@mmartinv I'm deep sorry, I'm a Muppet, I thought I applied the suggestion and pushed but clearly I did not, I am fixing this now, thanks for noticing.

Sorry, had to re-push as one of the new tests broke this PR.


Toolpaths load upside-down and workingstep changes are buggy

This seems to happen only on the second workingstep

fixed in MTConnect branch, issue involved Okuma machine not recognizing IF lines as lines

DONT BELIEVE HIS LIES

I am not cake


jasper reboot error

when i rebooted my rpi (im using the latest raspbian jessie) this error popped up

do anyone know how to fix this?

Its a mic config issue, not related to code.

Find the sample rate you microphone supports.
arecord --list-devices
**** List of CAPTURE Hardware Devices ****
card 0: CAMERA [USB2.0 PC CAMERA], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
So mine is on card 0, device 0
Then :
arecord -f S16_LE -r 60000 -D hw:0,0 -d 5 testS16_LE.wav
output :
Recording WAVE 'testS16_LE.wav' : Signed 16 bit Little Endian, Rate 60000 Hz, Mono
Warning: rate is not accurate (requested = 60000Hz, got = 48000Hz)
please, try the plug plugin
The error say's it all, the microphone supports 48000Hz
Edit /home/pi//client/mic.py
Search for RATE =  (default is 16000)
Change it to the supported rate. (3 times in the mic.py)
Save mic.py and restart jasper.


Enable all Presentation Compiler tests on the CI for PRs (including Windows tests)

Current behaviour
PRs affecting the Presentation Compiler require the [test_windows_full] tag , which is easy to forget about, and launches suites which aren't necessary.
Expectation
PR's affecting the presentation compiler should also trigger a new job on windows that runs scala3-presentation-compiler-bootstrap/test and scala3-language-server/test when changes are made in modules mentioned above.

FYI cc @hamzaremmal

The presentation compiler tests only broke the CI because the default tests are run on JDK 17, only the windows ones are run on JDK 8. Why is that? What is the purpose of using JDK 1, which doesn't really verify if we can compile using JDK 8?

Should I:

windows and JDK 8 job for presentation compiler only
separate JDK 8 and windows jobs for presentation compiler
switch the defaults to use JDK 8 on PRs


L515 is not detected by code

Before opening a new issue, we wanted to provide you with some useful suggestions (Click "Preview" above for a better view):

Consider checking out SDK examples.
Have you looked in our documentations?
Is you question a frequently asked one?
Try searching our GitHub Issues (open and closed) for a similar issue.

All users are welcomed to report bugs, ask questions, suggest or request enhancements and generally feel free to open new issue, even if they haven't followed any of the suggestions above :)

Required Info

Camera Model
{ L515}

Firmware Version
v2.42.2

Operating System & Version
{Win (10)

Kernel Version (Linux Only)
(e.g. 4.14.13)

Platform
PC, Jupyter notebook

SDK Version
2.0 }

Language
{python}

Segment
{Robot/Smartphone/VR/AR/others }

Issue Description
<Describe your issue / question / feature request / etc..>
Hello,
I'm using L515, and it is detected on Intel RealSense viewer.
However, when I use python code for recording, it says
File "record2.py", line 63, in
profile = pipeline.start(config)
RuntimeError: No device connected
The code record2.py is like below.
pipeline = rs.pipeline()
config = rs.config()
#config.enable_device(f0190164)
config.enable_stream(rs.stream.depth, 1024, 768, rs.format.z16, 30)
config.enable_stream(rs.stream.color, 1280, 720, rs.format.bgr8, 30)
# Start pipeline
profile = pipeline.start(config)
frames = pipeline.wait_for_frames()
color_frame = frames.get_color_frame()
Depth and color option on the code is same as my camera.
How can I solve this problem?
Thanks and Regards,
H.Yoon

Hi @hyoon970
I'm not able to replicate what you are seeing on my current setup.  I'm using Python2.7 on my machine.  I do not see the no device detected error.  I'm also using the built files from the 2.43 Librealsense SDK Windows install package.
Can you add images of what you're seeing.  I also cut and pasted your code in one of our python examples that way I know the code was added to an example that was previously ran without errors.

Thank you for your reply.
I solved the problem and I can use L515 now.

Excellent


RKE cluster not recognized

I've installed Kubernetes on a virtual machine with RKE 0.1.18. After that I installed helm and cert-manager as described in the rancher documentation. Everything went smoothly. Installing rancher 2.2.3 via helm worked fine as well. After logging into rancher I noticed, that rancher had added the cluster it is running on to the list of managed clusters as "local". The provisioner is "Imported". I would expect it to be "RKE". Rancher seems not to be able to detect a RKE cluster. Without recognizing RKE, there seems no way to edit RKE specific parameters like PSPs.
Is that behavior intentional or is there anything I can do to fix it?
Thank you in advance!

There is another issue popping up in conjunction with this. As the Cluster is not recognized as an RKE provisioned cluster, network isolation does not work. There are pods in different projects that can communicate with each other.
Any help is appreciated ;-)

Ok, now I see this is by design (see blog post).
To summarize:

RKE provisions a "pure" Kubernetes cluster. It does not do anything to prepare it for Rancher. Rancher can be installed onto this cluster to gain high availablity by storing Rancher data as Kubernetes resources which are replicated by etcd. Rancher sees its own cluster as "local" in the cluster list.
As far as I understand it, the only way to get a cluster with project isolation which is manageable via the Rancher UI is to separate the Rancher installation from the production cluster. I think I will install it on separate set of VMs - separated from the production cluster

Yes it is recommended to use the RKE cluster created for Rancher solely for Rancher as described here: https://rancher.com/docs/rancher/v2.x/en/installation/ha/
All the options for RKE are in the RKE docs here: https://rancher.com/docs/rke/latest/en/. Rancher specific features (like projects and project isolation) are available when using Rancher and creating clusters via Rancher.
Let me know if something else is unclear.


How to configure Docker's NAT?

How do I configure this to log in to the server? If the rules are removed via iptables -t nat -F - then the server enters but the Ip of the players is "<IP_ADDRESS>"

This is not related to mmproxy-rs. Please consider asking on Stack Overflow.


add retry to rabbit connection check

Not entirely sure how I feel about introducing https://pypi.python.org/pypi/retry as a dependency, but this is a helpful improvement to stop intermittent test failures

@davidszotten what do you think about introducing this library as a dependency?
It's only conditionally required if users also have pytest installed. I'm not sure if setuptools has the ability  to specify rules like that.

for the pretty small part of that already fairly small library, you could probably just reimplement

@davidszotten I have reimplemented the most useful bits of that library

i'm sorry if i wasn't very clear but my point definitely wasn't that we should provide our own general  @retry utility that we have to maintain. if a user of nameko needs that, they can just use retry from pypi. what did i mean was, since you are only using @retry with all the defaults (and in particular, no backoff, max_delay or allowed_exceptions), that we'd just implement a very simple decorator that takes no arguments and provides just the behaviour we need. given that we're decorating an internal function use by our pytest plugin, we probably don't even need wrapt (though i mind less depending on it)

No, I completely agree. I've removed it for a use-case specific version.

👍


TIP

Hi!
First of all: thanks for your working!
Could you please add a timeleft/!timeleft command to the plugin? It would be very cool.
I don't know how well you know the wasd api developer, but it would be nice if you could talk to him so that "space" is the selection instead of the letter D. Thanks!

I replaced D to Space in v 1.5.0 for players in teams. Spectators still have to use D, unfortunately.
timeleft is not a very obvious command. I have it in mind for future development, but it is not easy.


Diagnostic Mode

How should we configure the service to run in "diagnostic" mode?
Should we have a diagnostic-mode flag that defaults to False in config.yaml?
Or should we have a diagnostic-mode parameter in the API that, when not present, is the same as it being set to false? So that the API can carry out requests in diagnostic vs production mode on demand, vs having to be reconfigured?
Pros and cons to either approach. Definitely the API becomes more complex and it's unclear whether it's useful for end-user clients to have a "diagnostic" mode that's almost certainly implementation-specific. Then again, the API accepts different parameters (such as perspectives) if it's running in this mode. So the request spec is sensitive to it.
And while we are at it, what else should we be able to freely set that would otherwise fail strict, requirements-aware validation, in "diagnostic" mode? And if there is anything, then should it have separate toggles to disable validation of it?
(There's a lot that needs to be true of a truly valid request. Valid request path, valid validation method, valid quorum count, valid format for things like domain or IP, etc. I don't even have validation for quite all of it in there, quite yet. And then of course all the required fields, like "prefix" etc. depending on the validation method.)

Per my conversation with @sciros I think the current proposal is there is a top level diagnostic_mode flag. If true, there is an optional diagnostic_params object (name tbd). perspectives can go in diagnostic_params and override perspective_count should it be present. @sciros feel free to comment with your thoughts.

I believe we are moving this to low priority since simply not acting on the result of the open-mpic query in a CAs logic can  be used as an effective diagnostic mode for the time being.


Feature suggestion -- alternative word scoring metrics

First, great package. Very easy to use!
May I kindly suggest/request a feature? In the RAKE paper, they say that there are multiple ways to compute word scores, each of which favor different kinds of key phrases:

word frequency (freq(w))
word degree (deg(w)),
ratio of degree to frequency (deg(w)/freq(w))

The third is what they primarily use and is what your package uses. However, as Rose et al note, this metric favors longer keyphrases. Indeed, in my dataset of news articles, I find that this produces very wonky, idiosyncratic phrases that don't, impressionistically, describe my articles well.
So it could be nice to allow something like the following:
r = Rake(metric='word_freq')
when initializing the Rake object.
I would help with this but I don't really know Python OOP...

@drussellmrichie: That's a really neat idea. I will try to get it soon enough.

@drussellmrichie : Please update the package to 1.0.3 and you should have the feature to change the ranking metric between d(w)/f(w) or d(w) or f(w)


Fix non-x86 release jobs

During the 0.6.0 release the travis jobs for building the release wheels
on aarch64, ppc64le, and s390x all failed because of some requirements
conflicts between the travis python environment and the requirements for
twine. The wheels were built successfully but the upload to PyPi failed
because of this requirements issue. This commit fixes that so future
releases should be able to upload the wheels. At the same time the rust
version used for the s390x jobs are updated is updated to the latest
stable release to keep the compiled binaries using the same version of
rustc.

Pull Request Test Coverage Report for Build 372583477

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 94.601%

Totals

Change from base Build 370746586:
0.0%

Covered Lines:
2891

Relevant Lines:
3056

💛  - Coveralls


wagmi isLoading & isSuccess. Add isMining in our custom hooks?

When sending a tx, wagmi flags work like this:
isLoading: tx being sent to the mempool
isSuccess: tx succesfully sent to the mempool
I'd like to have a flag "isMining" that is true until the TX is mined. I think we could add it into our useScaffoldContractWrite.ts. Unless I'm missing something :upside_down_face:
I created this branch with everything set up to test:
https://github.com/scaffold-eth/se-2/tree/test-isLoading
YourContract Goerli address contract: 0x194391b38342E2B776f0ada0b3F0f024b2221e19
hardhat_contracts.json
{
  "5": [
    {
      "name": "goerli",
      "chainId": "5",
      "contracts": {
        "YourContract": {
          "address": "0x194391b38342E2B776f0ada0b3F0f024b2221e19",
          "abi": [
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "_owner",
                  "type": "address"
                }
              ],
              "stateMutability": "nonpayable",
              "type": "constructor"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "greetingSetter",
                  "type": "address"
                },
                {
                  "indexed": false,
                  "internalType": "string",
                  "name": "newGreeting",
                  "type": "string"
                },
                {
                  "indexed": false,
                  "internalType": "bool",
                  "name": "premium",
                  "type": "bool"
                },
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "value",
                  "type": "uint256"
                }
              ],
              "name": "GreetingChange",
              "type": "event"
            },
            {
              "inputs": [],
              "name": "greeting",
              "outputs": [
                {
                  "internalType": "string",
                  "name": "",
                  "type": "string"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "owner",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "premium",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "string",
                  "name": "_newGreeting",
                  "type": "string"
                }
              ],
              "name": "setGreeting",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "totalCounter",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "name": "userGreetingCounter",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "withdraw",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "stateMutability": "payable",
              "type": "receive"
            }
          ]
        }
      }
    }
  ]
}

First 10 secs and last 10 secs
https://user-images.githubusercontent.com/25638585/225395927-869e05ec-7be5-4fb1-a3ad-78a3f217404f.mov

Please check if it works as expected @carletex

Yes, it does!

Should it be true before sending a transaction (when isLoading is true)?

Yep, I think so. I like how it's now. Even if technically is not mining yet :D
Wan't to create a PR? Remove my dev comments, revert to hardhat on .env.dev etc
Thanks!!

If at all we want to be more specific we can use useWaitForTransaction
const {isSucess} = useWaitForTransaction({
    hash: wagmiContractWrite.data?.hash,
  })

isSuccess  guarantees that 1 block is mined we can also use isLoading which in our case isMining maybe

Good point, thanks! But in this case, we will need to change the logic, and handle if's of our hook etc to add this. Also, we will need to add an additional variable to combine useContractWrite's isLoading and useWaitForTransaction isLoading. So adding one simple isMining seems easier and better
https://github.com/scaffold-eth/se-2/pull/244

If at all we want to be more specific we can use useWaitForTransaction
const {isSucess} = useWaitForTransaction({
    hash: wagmiContractWrite.data?.hash,
  })

isSuccess  guarantees that 1 block is mined we can also use isLoading which in our case isMining maybe

I really think these will be better
const {isSucess: isMinning} = useWaitForTransaction({ hash: wagmiContractWrite.data?.hash,
})
then we can simply return isMinning

am currently giving it a try :100:

const {isSucess: isMinning} = useWaitForTransaction({ hash: wagmiContractWrite.data?.hash,
})

Maybe something like this:
export const useScaffoldContractWrite = (contractName: string, functionName: string, args?: any[], value?: string) => {
  const configuredChain = getTargetNetwork();
  const { data: deployedContractData } = useDeployedContractInfo(contractName);
  const { chain } = useNetwork();
  const writeTx = useTransactor();
  const [isMining, setIsMining] = useState(false);

  const wagmiContractWrite = useContractWrite({
    mode: "recklesslyUnprepared",
    chainId: configuredChain.id,
    address: deployedContractData?.address,
    abi: deployedContractData?.abi,
    args,
    functionName,
    overrides: {
      value: value ? utils.parseEther(value) : undefined,
    },
  });

  const { isSuccess } = useWaitForTransaction({
    hash: wagmiContractWrite.data?.hash,
  });
  useEffect(() => {
    if (isSuccess) {
      setIsMining(false);
    }
  }, [isSuccess]);

  const sendContractWriteTx = async () => {
    if (!deployedContractData) {
      notification.error("Target Contract is not deployed, did you forgot to run `yarn deploy`?");
      return;
    }
    if (!chain?.id) {
      notification.error("Please connect your wallet");
      return;
    }
    if (chain?.id !== configuredChain.id) {
      notification.error("You on the wrong network");
      return;
    }

    if (wagmiContractWrite.writeAsync) {
      try {
        setIsMining(true);
        await writeTx(wagmiContractWrite.writeAsync());
      } catch (e: any) {
        const message = getParsedEthersError(e);
        notification.error(message);
      }
    } else {
      notification.error("Contract writer error. Try again.");
      return;
    }
  };

  return {
    ...wagmiContractWrite,
    isMining,
    // Overwrite wagmi's write async
    writeAsync: sendContractWriteTx,
  };
};

I like the useWaitForTransaction approach.
Maybe something like this (since we also want to clear the isMining flag when there's an error, etc:
``typescript
export const useScaffoldContractWrite = (contractName: string, functionName: string, args?: any[], value?: string) => {
const configuredChain = getTargetNetwork();
const { data: deployedContractData } = useDeployedContractInfo(contractName);
const { chain } = useNetwork();
const writeTx = useTransactor();
const [isMining, setIsMining] = useState(false);
const wagmiContractWrite = useContractWrite({
mode: "recklesslyUnprepared",
chainId: configuredChain.id,
address: deployedContractData?.address,
abi: deployedContractData?.abi,
args,
functionName,
overrides: {
value: value ? utils.parseEther(value) : undefined,
},
});
const { isLoading: isWaitingForTransaction } = useWaitForTransaction({
hash: wagmiContractWrite.data?.hash,
});
useEffect(() => {
if (!isWaitingForTransaction) {
setIsMining(false);
}
}, [isWaitingForTransaction]);
const sendContractWriteTx = async () => {
if (!deployedContractData) {
notification.error("Target Contract is not deployed, did you forgot to run yarn deploy?");
return;
}
if (!chain?.id) {
notification.error("Please connect your wallet");
return;
}
if (chain?.id !== configuredChain.id) {
notification.error("You on the wrong network");
return;
}
if (wagmiContractWrite.writeAsync) {
  try {
    setIsMining(true);
    await writeTx(wagmiContractWrite.writeAsync());
  } catch (e: any) {
    const message = getParsedEthersError(e);
    notification.error(message);
  }
} else {
  notification.error("Contract writer error. Try again.");
  return;
}

};
console.log({ isMining, isWaitingForTransaction });
return {
...wagmiContractWrite,
isMining,
// Overwrite wagmi's write async
writeAsync: sendContractWriteTx,
};
};

const { isLoading: isWaitingForTransaction } = useWaitForTransaction({
    hash: wagmiContractWrite.data?.hash,
  });

...
return {
    ...wagmiContractWrite,
    isMining: isLoading || isWaitingForTransaction,
    // Overwrite wagmi's write async
    writeAsync: sendContractWriteTx,
  };

is enough, but it duplicates work from transactor, so it seems not needed

I agree with @rin-st here. The approach he took on https://github.com/scaffold-eth/se-2/pull/244 seems to be working fine and it's simple.
The transactor is already waiting for the TX to mine.

since we also want to clear the isMining flag when there's an error

Yep, but I think we are already doing that (resetting on the finally block), right?


libc/fdcheck: add fdcheck module

Summary
In embedded development environments, due to the lack of address isolation between processes, fd may be passed between processes and lead to misuse,
We have designed an fd cross-process automatic detection tool, fdcheck_protect returns the fd containing the pid information, indicating that the ownership of the current fd belongs to the pid and is not allowed to be used by other processes. fdcheck_restore will obtain the true fd and check if the ownership of the fd is legal
For ease of understanding, let's give an example where the following information is represented in 32-bit binary format
fd        00000000 00000000 00000000 10001010
pid       00000000 00000000 00000011 01010101
ret       00000000 00000011 01010101 10001010
Impact
none
Testing
ostest

Hello @hujun260,
I just tried this but build fails with:
arm-none-eabi-ld: nuttx/staging/libc.a(lib_fdcheck.o): in function `fdcheck_restore':
nuttx/libs/libc/misc/lib_fdcheck.c:88: undefined reference to `getppid'

It seems that I need to enable SCHED_HAVE_PARENT.
Do we really need to have the dependency to this config?
If so, maybe FDCHECK should also select SCHED_HAVE_PARENT?

Oh, also I think that the relevant #include is missing for getppid()?

Oh, also I think that the relevant #include is missing for getppid()?

@fjpanag please try this patch: https://github.com/apache/nuttx/pull/9497

@hujun260 @xiaoxiang781216 I think that something is wrong with this.
After enabling CONFIG_FDCHECK several things break in various ways.
For example, I was using select() before on a set of TCP sockets in a server. It was working correctly before.
Now, when I enable this option, select() returns an error. Checking errno, it contains garbage.

could you share your code around select?

@xiaoxiang781216 I think there may be a case in max_fd + 1 that is passed to select. I think it should be computed based on fdcheck_restore().

But select already contain the code to restore:
https://github.com/apache/nuttx/blob/master/fs/vfs/fs_select.c#L105

could you share your code around select?

Have a look here.
It seems that only select() is affected by this.
The other failures that I see are something else, probably introduced in the latest commits as well.

The fdcheck_protect() is implemented as
/****************************************************************************
 * Name: fdcheck_protect
 *
 * Description: Obtain the combined value of fd and pid
 *
 * the return value carries the pid and fd information.
 * The original fd information is stored in low bit of val.
 * The pid information is stored in high bit of val.
 * For ease of understanding, let's give an example where
 * the following information is represented in 32-bit binary format
 *
 *  fd        00000000 00000000 00000000 10001010
 *  pid       00000000 00000000 00000000 01010101
 *  val       00000000 00000000 01010101 10001010

So for example we have 2 pthreads spawned from application main task. main has pid 50 and open fd 4 while pthread1/2 has pid 40/30 and opens fd 5/6. Finally main wants to select based on 3 fds and in normal case it will get max of 4, 5, 6 and finally will pass max_fd + 1 that is 7 to select. While with fdcheck_protect() modified fds it will select main's fd 4 as max because of main has higher pid value and will pass it +1 to select.
Does this makes sense?

In general if we do a swap and store pid value in lower bits and fd in upper bits it will give a correct comparison result based on fd value.

But select already contain the code to restore:
https://github.com/apache/nuttx/blob/master/fs/vfs/fs_select.c#L105

@xiaoxiang781216 The fdcheck_protect() is implemented as
/****************************************************************************
 * Name: fdcheck_protect
 *
 * Description: Obtain the combined value of fd and pid
 *
 * the return value carries the pid and fd information.
 * The original fd information is stored in low bit of val.
 * The pid information is stored in high bit of val.
 * For ease of understanding, let's give an example where
 * the following information is represented in 32-bit binary format
 *
 *  fd        00000000 00000000 00000000 10001010
 *  pid       00000000 00000000 00000000 01010101
 *  val       00000000 00000000 01010101 10001010

So for example we have 2 pthreads spawned from application main task. main has pid 50 and open fd 4 while pthread1/2 have pid 40/30 and open fd 5/6. Finally main wants to select based on 3 fds and in normal case it will get max of 4, 5, 6 and finally will pass max_fd + 1 that is 7 to select. While with fdcheck_protect() modified fds it will select main's fd 4 as max because of main has higher pid value and will pass it +1 to select. Does this makes sense?

Yes, you are right.

In general if we do a swap and store pid value in lower bits and fd in upper bits it will give a correct comparison result based on fd value.

@hujun260 please take a look.

But select already contain the code to restore:
https://github.com/apache/nuttx/blob/master/fs/vfs/fs_select.c#L105

@xiaoxiang781216 The fdcheck_protect() is implemented as
/****************************************************************************
 * Name: fdcheck_protect
 *
 * Description: Obtain the combined value of fd and pid
 *
 * the return value carries the pid and fd information.
 * The original fd information is stored in low bit of val.
 * The pid information is stored in high bit of val.
 * For ease of understanding, let's give an example where
 * the following information is represented in 32-bit binary format
 *
 *  fd        00000000 00000000 00000000 10001010
 *  pid       00000000 00000000 00000000 01010101
 *  val       00000000 00000000 01010101 10001010

So for example we have 2 pthreads spawned from application main task. main has pid 50 and open fd 4 while pthread1/2 have pid 40/30 and open fd 5/6. Finally main wants to select based on 3 fds and in normal case it will get max of 4, 5, 6 and finally will pass max_fd + 1 that is 7 to select. While with fdcheck_protect() modified fds it will select main's fd 4 as max because of main has higher pid value and will pass it +1 to select. Does this makes sense?

hi @pkarashchenko   In fact, I am using pid instead of tid, and the pid used by the thread is the same as application main task.
The situation you mentioned will not happen。

It seems that only select() is affected by this.
The other failures that I see are something else, probably introduced in the late

@fjpanag  I am currently unable to analyze the specific cause of the problem you encountered. Are you using the latest code?
Can you provide a reproduction method? Or provide some printing information, such as max_sd for better analysis.

@hujun260 Here is what I think it happens:

select() is called, and uses fdcheck_restore().
select() is calling poll() internally.
poll() calls poll_setup().
poll_setup() calls poll_fdsetup().
poll_fdsetup() calls fs_getfilep() before file_poll().
fs_getfilep() calls again fdcheck_restore() on an already restored file descriptor.

I added prints, and I verified that the error originates here (following the above sequence).
The actual error is EBADF (no idea why errno contained garbage).

@hujun260 Here is what I think it happens:

select() is called, and uses fdcheck_restore().
select() is calling poll() internally.
poll() calls poll_setup().
poll_setup() calls poll_fdsetup().
poll_fdsetup() calls fs_getfilep() before file_poll().
fs_getfilep() calls again fdcheck_restore() on an already restored file descriptor.

I added prints, and I verified that the error originates here (following the above sequence).
The actual error is EBADF (no idea why errno contained garbage).

I have written some test code and it seems to be fine.
Can you provide a complete and runnable test code so that I can reproduce it? for example
    int fd = open("/dev/null", O_WRONLY);
    int rc;
    fd_set w_set;
    FD_ZERO(&w_set);
    FD_SET(fd, &w_set);

    if ((rc = select(fd + 1, NULL, &w_set, NULL, NULL)) == -1) {
        printf("error  %d\n", rc);
        close(fd);
        goto end;
    }
    if (rc == 0) {  // we had a timeout
        printf("timeout\n");
        close(fd);
        goto end;
    }

    if (FD_ISSET(fd, &w_set)) {
        int len = write(fd, "test",4);
        printf("writeok %d\n", len);
        close(fd);
        goto end;
    } else {
        printf("faild %d\n", rc);
        close(fd);
        goto end;
    }

@hujun260 I am sorry but I haven't been able to create a minimum working example yet.
I working on it, but I have limited availability.
I am currently testing on sim, using this server.
I think I did some more progress though...
Check this line. This fails before select() fails.
The thing is that socket() returns a protected file descriptor.
However, FD_ISSET() is checking on an unprotected descriptor, as seen here.
So, although my server descriptor is for example 7172 (0x1C04), FD_ISSET() returns true when checking for fd = 4.
I changed the above line to:
		if (sd == fdcheck_restore(broker->server.sd))

and I was able to move forward a bit.

In fact, if I change all uses of sd in this loop with fdcheck_protect(sd) everything works as expected, and all tests pass.
So, as it seems, it is not select() that has the problem. Rather it is FD_ISSET() which fails in such constructs.

Based on your description, I have a idea of the problem, fdcheck does have compatibility issues and some user codes need to be changed. But I haven't found a good solution yet. If fdcheck affects your work, don't enable it.

if (sd == fdcheck_restore(broker->server.sd))
after this change, is everything normal now?

In fact, if I change all uses of sd in this loop with fdcheck_protect(sd) everything works as expected, and all tests pass.
So, as it seems, it is not select() that has the problem. Rather it is FD_ISSET() which fails in such constructs.

You are right, you can also refer to the modifications made to fs_select.c when I submitted this module,
mainly in CONFIG_FDCHECK
https://github.com/apache/nuttx/blob/master/fs/vfs/fs_select.c#LL105C20-L105C20

I get it now.
The thing is that fdcheck_restore() does not know if it operates on a raw or a protected descriptor.
I believe that the first thing to do is fix this.
For example, when fdcheck_protect() protects an fd, it can set a flag (let's say set bit 31).
Then fdcheck_restore() can check if this flag is set (and thus if the fd is actually protected), and act accordingly.
As a first defense, fdcheck_restore() should raise an error when it is passed an unprotected fd.
This would have saved a lot of time when troubleshooting this specific issue.
Users will immediately be informed about the wrong use (or at least the limitations) of fdcheck_restore().
As a second step, in these cases fdcheck_restore() can return an invalid fd so, code like the one mentioned above may work correctly? I am still experimenting with this.

My current solution to this very specific problem is to add a min_sd here as it is done with max_sd.
Then this loop starts of from min_sd, instead of 0:
for (int sd = min_sd; (sd <= max_sd) && (available > 0); sd++)

This works because min_sd now is an actual protected sd. The loop (and thus FD_ISSET()) will only check the protected range of descriptors.
I guess this will also slightly increase performance even without CONFIG_FDCHECK, as fd 0 to 2 will now not be checked (as they aren't actually needed).

I would insist however that fdcheck_restore() should check the validity of its arguments.

@fjpanag I think you need to adopt code from https://github.com/apache/nuttx-apps/blob/3bd106081fa68e58d58a23998553b4e27c372058/canutils/candump/candump.c#L614-L629 and instead if sd++ save the list of all open descriptors into the array of socket indexes and then iterate over an array instead of incrementing descriptor value directly


Error with subset of samples in pipeline

I have added dnaapler all to my Snakemake pipeline. It runs without issue for most samples, but a small handful fail with an error. I have attached the log and input file for one such failing sample. Just in case, I also attached the config file for the dnaapler env. Python version in Conda environment: Python 3.12.3
Input (renamed to txt to upload)
PP04977_pilon.fasta.txt
Logfile:
PP04977_dnaapler.fasta.log
dnaapler config file (renamed to txt to upload)
dnaapler.yml.txt
I see this in the log file:
WARNING  | dnaapler.utils.processing:reorient_single_record_bulk:391 - The top blastx hit for the contig NODE_1079_ did not begin with a valid start codon.
But the file ends with:
  File "/ebio/abt6_projects/Pseudomonas5000/Snakemake/.snakemake/conda/bfcb9a24112daef50ea4c0b10c556be2_/lib/python3.12/site-packages/dnaapler/utils/processing.py", line 416, in reorient_single_record_bulk     closest_gene_index = max(overlap_dict, key=lambda key: overlap_dict[key])                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ValueError: max() iterable argument is empty
I do not know how to interpret the stack traceback of the error at the end. Is it failing due to the lack of valid start codon? If the error is simply the result of dnaapler not being able to reorient this assembly, then that's fine, and I'll wait for the dnaapler version that fixes https://github.com/gbouras13/dnaapler/issues/76 . If not, I would be grateful for suggestions on how to troubleshoot this.
System info:
Ubuntu 20.04.6 LTS
64-bit
GNOME version 3.36.8

Hi @KR0manova ,
I had a look at this - the error is with contig NODE_3970_
The issue is that this contig is tiny and has no CDS at all (according to prodigal), and so when Dnaapler tries to find the CDS with the biggest overlap with the blast hit, it can't find anything.
While in my contig is too short to use with Dnaapler in my opinion (please filter all the tiny contigs out as I doubt they are circular - that is my solution for you here), it is plausible that a longer contig might start with some fragment of dnaA and cause this error so I will put in a fix.
George

Thank you so much for looking into it!


update Node.js version range

2018-05-23, Version 10.2.0 (Current), @MylesBorins:

esm:

Builtin modules (e.g. fs) now provide named exports in ES6 modules. (Gus Caplan) #20403

Node 10.x has just reached end of life: https://nodejs.org/en/about/releases/

That is useful information, Aldwin. We can drop support for v10 as soon as we encounter a reason to do so. :)
This pull request simply corrects the specified version range.


Possibility to choose file to boot

Hi!
Emulator does not have possibility to choose executable file (elf or bin) by manual selection (via "Open File") or manual adding them to list.
Why do we need this - I have some .bin files (homebrews), but they are not visible in list. So I had to use old version, with LUA script support.

Right now filter string is hardcoded:
https://github.com/InoriRus/Kyty/blob/bc02c0560edecdff46aa430ff53edd37e0ea754c/source/launcher/src/ConfigurationEditDialog.cpp#L273
I can add button to edit this string within launcher

Hi!
Well, if it gonna solve issue - add, it please.

You should close now

You should close now

As issue isn't resolved it should be open, or I'm wrong?

As issue isn't resolved it should be open, or I'm wrong?

No new update gives you possibility to choose file, you should close

Oh, gonna check it at evening.
Can you post screenshot (if you have an opportunity for now) of this feature?


sample import have error tips

sample import have error tips "ImportError: cannot import name Instapush".
need modify to "from instapush.instapush import Instapush, App"

I have the error too, thank you for your tips !

@tonynii @icuy thx for your reporting.
ImportError is a bug and i have fixed it.
pls update to 0.1.2 to fix your env. :smiley:


[Feature] New icons for cores 核心的新图标

Why do you need this feature?
they look old, and the dirt path is not filling the square in the core selection:

Suggest an implementation
i accessed the images by entering the path C:\Program Files\WindowsApps\26553XcubeStudio.Natsurianko.FluentLauncher_<IP_ADDRESS>_x64__whpyvkhkm7b2a\Assets\Icons in my explorer bar and then i see all these old-looking icons.
i made some icons that are looking the same as the new icons for minecraft (launcher, apps, etc) - aka 8-bit/8x8 - and they look wayyy better. ok, some of them are brought from the internet, but that doesn't matter
Credits:
for the crafting table - I made more Minecraft Launcher icons (Reddit)
for the dirt path - myself (edited the minecraft icon using colors from the minecraft trial android app icon)
for the furnace - Isometric Mini-Blocks (PlanetMinecraft)
for the dirt block - Minecraft original icon (Minecraft Wiki)
Attachment
from this

to this

zip for every icon:
new icons.zip

looks better
I will implement this icon set in version 2.3

If possible, could you help me think about the design of these icons?

Sure, I'll see. I can use the anvil for forge and another block for fabric, etc. maybe I'll also look up on google. Is it ok if we use blocks from Minecraft for these icons?

Sure, I'll see. I can use the anvil for forge and another block for fabric, etc. maybe I'll also look up on google. Is it ok if we use blocks from Minecraft for these icons?

Anything is fine, as long as the style is consistent

for fabric i can use the loom, but it doesn't really represent it. is it good tho?
https://x.com/the_sheddmer/status/1624240699196706816

(the loom is the block in the middle)

so,
fabric: loom
forge: anvil
neoforge: smithing table (i can use the smith-table from my last comment)
optifabric: beacon or end rod or lantern
optifine: sea lantern or glowstone or shroomlight
quilt: carpet
for optifine and optifabric i couldn't brainstorm any ideas, pick one of your like
now i'm gonna find a 8x8 block texture for carpet

quilt:
boring -

mixed -

loom:

hey, when making a new core, can you still use the original icons? the new-bies would better "recognize" what they do. and the core icon will be the block icon

i still need to do the forge (i started up last night but still working on), opti-es and neoforge. can you please choose the block for optifine and optifabric?

hey, when making a new core, can you still use the original icons? the new-bies would better "recognize" what they do. and the core icon will be the block icon

You mean the icon here?

i still need to do the forge (i started up last night but still working on), opti-es and neoforge. can you please choose the block for optifine and optifabric?

Glass or Sea Lantern might be good choices.

hey, when making a new core, can you still use the original icons? the new-bies would better "recognize" what they do. and the core icon will be the block icon

 You mean the icon here?

no, those core icons are good, this:

and in the cores menu there'll be the block icons i do, aka here:

the anvil is done, but i don't know how should i remove the background, cuz paint doesn't do its job good

i still need to do the forge (i started up last night but still working on), opti-es and neoforge. can you please choose the block for optifine and optifabric?

Glass or Sea Lantern might be good choices.

ok, so glass for both? or glass for optifine and sea lantern for optifabric?

hey, when making a new core, can you still use the original icons? the new-bies would better "recognize" what they do. and the core icon will be the block icon

 You mean the icon here?

no, those core icons are good, this:
and in the cores menu there'll be the block icons i do, aka here:
the anvil is done, but i don't know how should i remove the background, cuz paint doesn't do its job good

Emmm, I plan to use the new icons you made. If we continue to use the original icons, then you may not need to make new ones.
You can try to export this icon in png format

Emmm, I plan to use the new icons you made. If we continue to use the original icons, then you may not need to make new ones.

nah, i'm continuing (i finally found a use for paint)

You can try to export this icon in png format

They ARE in png format. and even when i convert them in jpg and then back to png, still white background. and i know i'll have the same problem with the glass

well... python did its job much better than all tools i've ever used. helped me with resizing 8x8 images and now removing the background. yay!

don't forget that i'm resizing them to 1024 (for best resolution, of course)

don't forget that i'm resizing them to 1024 (for best resolution, of course)

OK, but it doesn't matter, 256*256 is enough

don't forget that i'm resizing them to 1024 (for best resolution, of course)

OK, but it doesn't matter, 256*256 is enough

¯\_ ( ͡° ͜ʖ ͡°) _/¯

may i upload a zip of all the images?

so, i thought of adding the carpet to the glass for optifabric - because opti + fabric
is it good?

this is the final version, with all the icons names as original
Icons.zip

this is the final version, with all the icons names as original
Icons.zip

OK, thank you very much for your help, you can create a Pull Request to merge these files into the main branch, so that you can be added to the list of contributors
https://github.com/Xcube-Studio/Natsurainko.FluentLauncher/graphs/contributors

Oh yeah, i didn't made any pr here. Let's go! (but tomorrow, it's 12 am in my country)

you uploaded the files. thanks! (well, i hope i still get on the list)

https://discord.com/channels/717348433601626162/717348433773461609/1265345509233791047
@natsurainko
needed to tell someone


quotes: upto 651

[x] quote 629 spoiler css
[x] validate user information again

[x] Avatars
[x] Nicknames
[x] Roles

[ ] Add nsfw info for quotes 568+

I've got some cleanup / improvements that I'll continue working on before pr'ing seperately

Only thing left to do here is the NSFW boolean


.enable(false) can't call internal fnDisable function

When calling .enable(false) I get this error:
Uncaught ReferenceError: fnDisable is not defined

Isn't this an issue with the colReorder plugin rather than colResize plugin?

Oh you're right @dhobi! Whoops! I'll report this in ColReorder instead


DUPLO 17600 fixed enhance monitoring not getting disable on setting 0 value

Overview
Fixed enhance monitoring not getting disable on setting 0 value
Summary of changes
This PR does the following:

changed d.Get to d.HasChange and then retriving the value
...

Testing performed

[ ] Using unit tests
[ ] Manually, on my local system
[ ✓] Manually, on a remote test system

Describe any breaking changes

...

Task linked: DUPLO-17600 RDS: TF enhanced_monitoring : Not working for value "0"


Avoid allocation when creating adjacency graph

[!WARNING]
Benchmark before merging.

Add a type parameter loops::Bool to the private struct Graph that decides whether coefficients (i, i) present in the matrix should be included as edges in the graph.
Adjust neighbors, degree, nnz accordingly. In particular, neighbors uses Iterators.filter, which slows it down a lot.
Make bipartite_graph create two Graph{true} and adjacency_graph create a Graph{false}.
Force star_coloring and acyclic_coloring to only work on Graph{false} (no loops).
Add some tests.

TLDR: to me that's an acceptable slowdown if it avoids one large allocation. We can probably speed things up by rolling out our custom iterator.
Benchmark code:
using BenchmarkTools
using LinearAlgebra
using SparseArrays
using SparseMatrixColorings:
    Graph, adjacency_graph, bipartite_graph, degree, neighbors, vertices

sum_all_neighbors(g) = sum(sum(neighbors(g, v)) for v in vertices(g))

function compare_graph_speeds(n::Integer, p::Real)
    A = sparse(Symmetric(sprand(n, n, p)))
    A -= Diagonal(A)

    g_fast = Graph{true}(A)
    g_slow = Graph{false}(A)
    @assert sum_all_neighbors(g_fast) == sum_all_neighbors(g_slow)

    t_fast = @belapsed sum_all_neighbors($g_fast) seconds=1
    t_slow = @belapsed sum_all_neighbors($g_slow) seconds=1
    @info "Size $n - sparsity $p" t_fast t_slow
end

Benchmark results:
julia> compare_graph_speeds(10^3, 2e-3)
┌ Info: Size 1000 - sparsity 0.002
│   t_fast = 5.183857142857143e-6
└   t_slow = 8.351333333333334e-6

julia> compare_graph_speeds(10^3, 2e-2)
┌ Info: Size 1000 - sparsity 0.02
│   t_fast = 1.5743e-5
└   t_slow = 4.5259e-5

julia> compare_graph_speeds(10^3, 2e-1)
┌ Info: Size 1000 - sparsity 0.2
│   t_fast = 3.1333e-5
└   t_slow = 0.000352061

julia> compare_graph_speeds(10^5, 2e-5)
┌ Info: Size 100000 - sparsity 2.0e-5
│   t_fast = 0.001276226
└   t_slow = 0.001490046

julia> compare_graph_speeds(10^5, 2e-4)
┌ Info: Size 100000 - sparsity 0.0002
│   t_fast = 0.002158873
└   t_slow = 0.004774465

julia> compare_graph_speeds(10^5, 2e-3)
┌ Info: Size 100000 - sparsity 0.002
│   t_fast = 0.007859449
└   t_slow = 0.038726697


Feat/update dot com domain

Stream API:

STREAM_URL - to continue to use STREAM_URL in the format 'https://thierry:pass@getstream.io/?app_id=1' (potentially used in older Heroku deployments), an additional STREAM_BASE_URL must be set. E.g. 'https://api.getstream.io/api/' (without our default location) or 'https://us-east-api.getstream.io/api/' (with a specific location).

Stream Analytics:

To continue using the legacy 'https://analytics.getstream.io/analytics/' endpoint, set STREAM_ANALYTICS_BASE_URL environment variable.

@tbarbugli - final review and merge please :)


Deprecation of stepX in ChartEntryModel is not properly reflected

Describe the bug
It seems that the deprecation of stepX in ChartEntryModel is not properly reflected on the version 1.6.6.
Module

[ ] compose
[ ] views
[ ] compose-m2
[ ] compose-m3
[x] core (select if none of the above apply)

To reproduce
I have created the following method in one of my unitTest class to help me create some dummy ChartEntryModel instances:
    private fun createChartEntryModel(minY: Float, maxY: Float): ChartEntryModel {
        return object : ChartEntryModel {
            override val entries: List<List<ChartEntry>> = emptyList()
            override val minX: Float = 0f
            override val maxX: Float = 0f
            override val minY: Float = minY
            override val maxY: Float = maxY
            override val stackedPositiveY: Float = 0f
            override val stackedNegativeY: Float = 0f
            override val stepX: Float = 0f
            @Deprecated("Use stepX instead")
            override val xStep = 0f
        }
    }

But then, when I try to run the unit tests, it is returning me a warning with the following message:

This declaration overrides deprecated member but not marked as deprecated itself. This deprecation won't be inherited in future releases. Please add @Deprecated annotation or suppress. See https://youtrack.jetbrains.com/issue/KT-47902 for details

The tests run locally, but the problem is that my CI pipeline is configured to treat warnings as errors, so the pipeline fails.
Also, the IDE complains that 'xStep' overrides nothing:

And if I go to the declaration of ChartEntryModel I see that indeed I don't see the field:

If I remove the override val xStep = 0f, I get the following error when compiling:

I am using Vico 1.6.6.
Expected behavior
Should be able to properly override ChartEntryModel properties in unit tests
Screenshots
See above

Ok, it is working now... After a Gradle Sync (which I am pretty sure I did before as well). And now I see the correct ChartEntryModel.
Not sure what happened (probably gradle stuff).
Sorry for the noise. Closing the ticket.

No worries! I’m glad the problem is resolved.


feat: remove 0 usage line items in breakdown

Closes #929
Removes table output of 0 cost items. JSON output has been kept intact - see #929 for more info.
Cases covered by this pr:

0 cost components removed

 aws_dx_connection.my_dx_connection_usage
 ├─ DX connection                                                   730  hours       $219.00
 ├─ Outbound data transfer (from ap-east-1, to EqDC2)                 0  GB           $0.00
 └─ Outbound data transfer (from eu-west-1, to EqDC2)             1,000  GB           $28.20

 now goes to:

  aws_dx_connection.my_dx_connection_usage
 ├─ DX connection                                                   730  hours       $219.00
 └─ Outbound data transfer (from eu-west-1, to EqDC2)             1,000  GB           $28.20

0 cost sub resource cost components removed

 aws_dx_connection.my_dx_connection_usage
 └─ sub resource
    ├─ should not                                                0  GB           $0.00
    └─ should show                                           1,000  GB           $28.20

 now goes to:

 aws_dx_connection.my_dx_connection_usage
 └─ sub resource
    └─ should show                                           1,000  GB           $28.20

resource with 0 cost components removed

 aws_dx_connection.my_dx_connection_usage
 └─ Outbound data transfer (from eu-west-1, to EqDC2)             0  GB           $0.00

  now goes to:

Note: I haven't touched diffs - let me know if this in the scope of the issue. I'll also update the docs in a separate PR.

and we're closing again, because my machine sucks...


Document how parent context fields are included in the child record

Migrated from GitLab: https://gitlab.com/meltano/sdk/-/issues/303
Originally created by @edgarrmondragon on 2022-01-07 17:23:58

When user parent-child streams with the SDK as documented in https://sdk.meltano.com/en/latest/parent_streams.html
class GitlabStream(RESTStream):
    # Base stream definition with auth and pagination logic
    # This logic works for other base classes as well, including Stream, GraphQLStream, etc.

class EpicsStream(GitlabStream):

    name = "epics"

    # ...

    def get_child_context(self, record: dict, context: Optional[dict]) -> dict:
        """Return a context dictionary for child streams."""
        return {
            "group_id": record["group_id"],
            "epic_id": record["id"],
            "epic_iid": record["iid"],
        }

class EpicIssuesStream(GitlabStream):
    # Note that this class inherits from the GitlabStream base class, and not from
    # the EpicsStream class.

    name = "epic_issues"

    # EpicIssues streams should be invoked once per parent epic:
    parent_stream_type = EpicsStream

    # Assume epics don't have `updated_at` incremented when issues are changed:
    ignore_parent_replication_keys = True

    # Path is auto-populated using parent context keys:
    path = "/groups/{group_id}/epics/{epic_iid}/issues"

    # ...

the docs fail to mention that group_id, epic_id and epic_iid are all added to the child epic_issues records and should the dev want them, they need to be included in the stream schema.

View 1 previous comment from the original issue on GitLab


Issue about map

Dear Automapper developer,
Many thanks for your contributions to automatically generating templates of bond/react.
The command I ran is "**python3.7 AutoMapper.py . map cleanedBm-F6-pre.data cleanedBm-F6-post.data --save_name pre-molecule.data post-molecule.data --ba 68 182 68 182 --ebt N C O N C O H**"
But I got an issue when I used **AutoMapper.py . map** command;

"Error: Missing Atom Search timed out. Atoms will be missing from the map. Please raise an issue on GitHub if the problem persists."
I don't know how to solve it, could you please give me some suggestions? And I attached the data file of pre-reaction and post-reaction. In the ZIP folder, there are four data files, named: "Bm-F6-pre.data" and "Bm-F6-post.data", which are generated from MS and converted to lammps format using PYSIMM. And other two files are generated from AutoMapper.py . clean command.
Best
Yang
LAMMPS-data.zip

Hi Yang,
I've had a look at your files and you also form a new bond between atoms 66 and 183. You need to specify all the bonding atoms in the call so the --ba flag should be 68 182 66 183 68 182 66 183.
The masses in your cleaned files are also out of order e.g. type 1 is N in pre and O in post. These need to refer to the same types or AutoMapper wont work. Check you've used the clean command correctly and if it still doesn't work upload your coefficient file and I'll try it on my computer.
Thanks,
Matt

Thank you so much, you pointed out the key problem. But it is troublesome. I'll explain the procedure I did.
First, I create the un-reaction molecules in Materials Studio and then save it to .mol2 file, and next convert it to lammps data file with Dreiding force field using PYSIMM, I hope you know this package.
Second, I create the reacted molecules in Materials Studio and also save it to .mol2 file, and next convert it to lammps data file with Dreiding force field using PYSIMM, but the atom type order of these two data files is different. That is very annoying and I don't know how to solve that.
Now I'll upload the .mol2 files of pre- and post reaction and the reaction mechanism figure, if you have any ideas please let me know, I am really appreciated it.
Also, I'll double-check the pysimm to see if there is a way to solve the atom type order issue.

mol2.zip

There is another question, --ba flag should only follow four atom IDs, so it can not type 68 182 66 183 68 182 66 183.
And I prepared the right pre- and post-reaction data files and you can have a look. Additionally, I also created the pre-reaction.template, post-reaction.template, and automap.data files in the zip folder.
Thanks.
LAMMPS_datafiles.zip

Thank you so much, I updated the Automapper to v.1.10, but --ba flag can only have 4 atom IDs.  And I'll try moltemplate later.

Ah apologies, I've not put it in as a new version, just added a new commit. If you git pull from the AutoMapper repo you should get it.

OK, that will be great, because my polymer is a bit complex, so it is difficult to build the model using moltemplate.

Super, do you want to email<EMAIL_ADDRESS>and we'll arrange a time there?
Best, Matt

Yes, thank you.
But I am a little confused, you mean that I eamil to<EMAIL_ADDRESS>first? And ask for arranging a time? for a meeting?

Yes please, I'd rather not give away personal info on here 😊

font{
    line-height: 1.6;
}
ul,ol{
    padding-left: 20px;
    list-style-position: inside;
}

    Thank you so much, Matt. I think I figured this issue out now. You see the figure below, the crosslinking reaction is worked. I hope we can keep in touch if I have some new questions in the future. Thanks.
    Best Yang

        font{
        line-height: 1.6;
    }font{
        line-height: 1.6;
    }font{
        line-height: 1.6;
    }font{
        line-height: 1.6;
    }------------------------------------------------------------Yang WangPh. D. Student, (Visting Ph.D. Student in U of Groningen)Materials Science & Engineering University of Science & Technology BeijingBeijing, 100086, ChinaPhone: +86<PHONE_NUMBER>2Email<EMAIL_ADDRESS>

---- Replied Message ----

     From

<EMAIL_ADDRESS>

     Date

    9/9/2022 12:05

     To

<EMAIL_ADDRESS>

     Cc

<EMAIL_ADDRESS>        ,

<EMAIL_ADDRESS>

     Subject

          Re: [m-bone/AutoMapper] Issue about map (Issue #6)

Yes please, I'd rather not give away personal info on here 😊
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

I can't see the images but I'm glad that it's worked! Please do get in touch if you've got any other issues. Best, Matt


Make login email not case sensitive

Working to properly implement this bugfix. Found a simple/handy guide that doesn't apply to our problem/solution but remains a good resource for similar issues in the future.
https://tech.fleka.me/translate-laravels-reset-password-email-b0f1d6e4709a


Improve git-pack encode performance.

The current performance of Git pack encoding is poor and takes too long, causing operations like cloning to be excessively slow, as seen in issue #571 . The main time-consuming factor is the zlib compression process.
Possible solutions:

Try alternative compression algorithms/libraries.
The current encoding is sequential, consider changing it to parallel processing.

@Hou-Xiaoxuan ,
Maby try miniz_oxide, a pure rust replacement for the miniz deflate/zlib encoder/decoder using no unsafe code. It builds in no_std mode, though it requires alloc and collections crates.

Most of the encoding time is spent on compressing, and we can do little about it. Is it acceptable to lower the compression level or add a option for the user to decide it?
mercury/src/internal/pack/encode.rs:encode_one_object:
 let mut inflate = ZlibEncoder::new(Vec::new(), flate2::Compression::default()); // change to flate2::Compression::fast()


Index issue on edges collection

My Environment

ArangoDB Version:        3.5.2
Storage Engine:             RocksDB
Deployment Mode:     Cluster
Deployment Strategy:  Kubernetes ArangoDeployment
Configuration:     3 agents ,3 dbservers ,3 coordinators
Infrastructure:       AWS

Component, Query & Data
Affected feature: AQL query using web interface or java driver

Problem: fetching from edges collection using _from index is sometimes producing results with missing data
my aql with index:

my aql without index

This looks similar to issue #11303, which was fixed in release <IP_ADDRESS>:
From the <IP_ADDRESS> CHANGELOG entry:
v<IP_ADDRESS> (2020-05-08)
---------------------

* Fixed issue #11303: The result data of filter operation on edge document with
  _from or _to field ALWAYS miss some data on version 3.6.2.

  This bug could have led to some edges from a RocksDB edge index not being
  returned when a non-traversal edge lookup was done in an AQL query in an inner
  FOR loop. Whether or not edges were withheld depended on whether edges were
  located within the same prefix domain.

If you are running version 3.5.2 then an update should fix this.

Other than that, == and like in theory can return different results, because they are not equivalent operations.
This will at least be the case if the like pattern contains any wildcard characters, such as % or _.

As you can see I am using the like without any wildcard characters so its equivalent to ==
I will try to update.

@razbenya Did you have a chance to upgrade and test if a more recent server version has the problem fixed?

Not yet, I will update sometimes this week.

@razbenya Did you have a chance to upgrade to a more recent version?

Updated to 3.6.5, the bug is not preproduced for now

Ok, closing as solved then.


open multiple window and close one of them cause crash

for dioxus/examples/compose.rs

open multiple window and close one of them, will crash
Environment:

Dioxus version: master
Rust version: 1.75
OS info: MacOS
App platform: desktop

I can reproduce this issue on the master branch, but not in https://github.com/DioxusLabs/dioxus/pull/1791 which is interesting. Could be a dioxus core issue that is fixed in #1791 or a muda/wry issue like https://github.com/DioxusLabs/dioxus/pull/1819/files

@ealmloff  thanks, works now in master.


Fix: gnome-keyring and kwallet will be unlocked on login

Needed to change the /etc/pam.d/ly file to get gnome-keyring to unlock on login, added kwallet as well for those who use that instead.
As the lines are prefixed with a - they will not throw any errors to the log if failed to load. That way it's a positive for those who use a keyring and not noticeable for those who don't.
Fixes #331

This breaks starting some DEs (tested with Hyprland) if gnome-keyring or kwallet isn't installed and running

@Sid127 What error does it throw?

I think this changes should be rather added as a script to make install as it is done with installsystemd

I think this changes should be rather added as a script to make install as it is done with installsystemd

This breaks starting cinnamon from ly - my /etc/pam.d/ly:
#%PAM-1.0

auth      optional     pam_gnome_keyring.so
session   optional     pam_gnome_keyring.so auto_start
auth       include      login
account    include      login
password   include      login
session    include      login

@Sid127 @ilikenwf Please open a new issue if your issues persist. Thanks!


added 15 more quotes

Check one of the below boxes as per your PR

[x] Adding more quotes issue
[ ] Fixes another issue #00 (<=== Add issue number here)

Make sure these boxes are checked before your pull request (PR) is ready to be reviewed and merged. Thanks!

[x] PR is descriptively titled 📑 and links the original issue above 🔗
[x] code is in uniquely-named branch and has no merge conflicts 📁
[ ] screenshots/GIFs are attached 📎 if applicable
[ ] ask @avats-dev for help, in a comment below

I'm happy to help you get this ready -- don't be afraid to ask for help, and don't be discouraged !

Thanks!

Hey @anwesha-mohanty , can you rename your file as mentioned here.

Yes sure! Have made the changes

Hey @anwesha-mohanty , after you make the changes, you again need to push those to your remote so that they update here as recent commit. As, this PR has not updated anything, I think you need to push those changes.

Ok, I see you have opened a new PR #79 with the changes. Thanks, managing this :tada:


[coro_io] enable IOCP file read/write in windows

Search before asking

[✔] I searched the issues and found no similar issues.

What happened + What you expected to happen
Now, struct_pack disable IOCP file read/write in windows, but use thread_pool & block read/write.
We need enable IOCP file read/write default in windows.
Reproduction way
Anything else
Are you willing to submit a PR?

[ ] Yes I am willing to submit a PR!

We have enable it in windows


Ability to pass variables into lessphp filter

This is a very simple enhancement that lets pass variables into the less file from php (using the already existing functionality):
http://leafo.net/lessphp/docs/#setting_variables_from_php
I also concerned about the ability to set these variables from config.yml, this requires appropriate changes in AsseticBundle.
I suppose an example to call lessphp:
assetic:
    filters:
        lessphp:
            presets:
                baseColor:      '#f00'
                anotherColor:   '#0f0'
                imagePrefix:    'http://cdn.example.com/img/'

@kastaneda can you update your code to inject the variables through a setter instead ?
And please also add a test for this feature


Log progress while downloading

Is your feature request related to a problem? Please describe.
When using lb tubeadd and lb dl with --verbose option, I wished yt_dlp output weren't supressed. This makes it difficult to track the progress of video downloads.
Describe the solution you'd like
I would like the ability to see the progress of video downloads. This could be achieved by allowing an option to display the download progress logs during execution.
Describe alternatives you've considered
I have considered manually modifying tube_backend.py to enable yt_dlp output
   "default_opts": {
    ...
    "quiet": False,
    "noprogress": False,
    "skip_download": False,
    ...
    }

but a built-in option to control log visibility during execution would be more convenient and user-friendly.
Additional context
Having a real-time progress indicator for downloads would make it easier to monitor the status of ongoing downloads.

The default logging is minimal so that novel errors are obvious.
You can run with -v, -vv, -vvv, or -vvvv for more verbose logging.
You can use the lb download-status command.

You can use the lb download-status command.

Interesting.  And lb download_status with underscore appears to be equivalent:
https://github.com/chapmanjacobd/library/blob/0c08fd4814aebbc087284543c266f28c207cadd4/xklb/lb.py#L41
Just FYI --help or -h output below (if I'm reading it correctly!) suggests this is not for ongoing monitoring of granular details e.g. during the download of large/individual videos.
(Not a walk in the park to parse animation-like text output of things like rsync --info=progress2 if course ;-)
But we'll find a way eventually! 💯
root@box:~# lb download-status -h
usage: library download-status DATABASE

    Print download queue groups

        library download-status video.db
        ╒═════════════╤══════════════════╤════════════════════╤══════════╕
        │ extractor_key      │ duration         │   never_downloaded │   errors │
        ╞═════════════╪══════════════════╪════════════════════╪══════════╡
        │ Youtube     │ 3 hours and 2.07 │                 76 │        0 │
        │             │ minutes          │                    │          │
        ├─────────────┼──────────────────┼────────────────────┼──────────┤
        │ Dailymotion │                  │                 53 │        0 │
        ├─────────────┼──────────────────┼────────────────────┼──────────┤
        │ Youtube     │ 1 day, 18 hours  │                 30 │        0 │
        │             │ and 6 minutes    │                    │          │
        ├─────────────┼──────────────────┼────────────────────┼──────────┤
        │ Dailymotion │                  │                186 │      198 │
        ├─────────────┼──────────────────┼────────────────────┼──────────┤
        │ Youtube     │ 1 hour and 52.18 │                  1 │        0 │
        │             │ minutes          │                    │          │
        ├─────────────┼──────────────────┼────────────────────┼──────────┤
        │ Vimeo       │                  │                253 │       49 │
        ├─────────────┼──────────────────┼────────────────────┼──────────┤
        │ Youtube     │ 2 years, 4       │              51676 │      197 │
        │             │ months, 15 days  │                    │          │
        │             │ and 6 hours      │                    │          │
        ├─────────────┼──────────────────┼────────────────────┼──────────┤
        │ Youtube     │ 4 months, 23     │               2686 │        7 │
        │             │ days, 19 hours   │                    │          │
        │             │ and 33 minutes   │                    │          │
        ╘═════════════╧══════════════════╧════════════════════╧══════════╛

    Simulate --safe flag

        library download-status video.db --safe

positional arguments:
  database

options:
  -h, --help            show this help message and exit
  --cols [COLS ...], -cols [COLS ...], -col [COLS ...]
                        Include a column when printing (default: None)
  --safe, -safe         Skip generic URLs (default: False)
  --retry-delay RETRY_DELAY, -r RETRY_DELAY
                        Must be specified in SQLITE Modifiers format: N hours, days, months, or years
                        (default: 14 days)
  -v, --verbose

Yes, xklb prioritizes interactive and experimental use.
Perhaps you could query the SQLITE database directly to see if any recoverable, unrecoverable errors occurred during the previous download attempt.

Perhaps you could query the SQLITE database directly to see if any recoverable, unrecoverable errors occurred

Excellent Suggestion, Thanks! 👌
Context:

Naturally everyone's a sucker for "Entrancing Animations" and "Exact Percentages" while watching the kettle boil (i.e. during downloads).

Such Bells & Whistles can be added later, but are not required at this time.

Robust engineering is our goal at this time.

Yes, xklb prioritizes interactive and experimental use.
Perhaps you could query the SQLITE database directly to see if any recoverable, unrecoverable errors occurred during the previous download attempt.

Thanks @chapmanjacobd. I will implement your suggestion. I think it will help for now.

You will need to set the retry time to something small like 1 second lb dl --retry-delay '1 second'
The default is to retry after two weeks because most recoverable errors are not transient errors but take time to resolve [account inactivity, copyright trolls, geofencing, etc]).

Critical & vital logistics, Thanks for explaining!
Background: In practice, most Internet-in-a-Box implementers are not professional curriculum designers and so try to provision all content (for their school, clinic, church, prison, family, etc) within a single weekend — and often lose patience (declaring victory!) within ~24h maximum. 😉

I should clarify that yt-dlp will retry on network and similar transient errors so any mid-download interruption is likely the result of getting IP-blocked by the site that is hosting the video. Retrying after 20 minutes or one hour would likely be a better strategy but many video site IP blocks last longer than a day.


preallocate nodes in quadtree constructor

Make preallocating  freeNodes accesible for public usage. It is useful for filling quadtree by custom pointers.

Sorry for the late reply to this. Looks good 👍


Configured Maven to create a MANIFEST file. Also renamed Data Faker t…

…o Datafaker.
Example of MANIFEST.MF:
Manifest-Version: 1.0
Created-By: Maven JAR Plugin 3.3.0
Build-Jdk-Spec: 17
Specification-Title: Datafaker
Specification-Version: 2.0
Implementation-Title: Datafaker
Implementation-Version: 2.0.0-SNAPSHOT
Ref #794

Codecov Report

Merging #802 (1cc94db) into main (09e4d90) will increase coverage by 0.03%.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@             Coverage Diff              @@
##               main     #802      +/-   ##
============================================
+ Coverage     92.70%   92.74%   +0.03%
- Complexity     2653     2654       +1
============================================
  Files           286      286
  Lines          5264     5264
  Branches        553      553
============================================
+ Hits           4880     4882       +2
+ Misses          242      241       -1
+ Partials        142      141       -1

see 1 file with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Add Charging Start Time

Is your feature request related to a problem? Please describe.
In order to not drain the home battery (not too great for the batteries health) I often start the charging manually in the morning, when the battery is (nearly) empty.
Describe the solution you'd like
Add a function to set a charging start time (and date) in the UI.
Describe alternatives you've considered
Maybe set a "standard" charging start time in config-file. Seems to be too inflexible.

This can already be achieved using home automation and the available APIs.


Partitioned download checksumming

Partitioned downloader validates the checksum while streaming data to the provided destination.
Data is streamed to destination before checksum finishes validating.

API change check
API changes are not detected in this pull request.


feat: add the @focus syntax

issue: #2
Similar to #3 PR, focus is used to emphasize a specific line and de-emphasize other lines.

oops, sry I squashed the PR. please resolve the conflicts


What / where to feed the kWh imported and exported

Hi @nmakel thanks for your solaredge proxy.
I'm feeding info from my Dutch P1 meter to Solaredge. This output provides separate fields for import & export
The current import/export W for solaredge is working fine with calculating export-import.
I'm struggling to understand what the solarEdge expects as values for the export & import KwH
I was feeding the meterposition (electricityDeliveredT1 + electricityDeliveredT2 & electricitySuppliedT1 + electricitySuppliedT2)  to it by supplying the meter in export_energy_active and import_energy_active  but that gives very odd bar in the solaredge app as it seems my total import and export in a single day.
Do you know what SolarEdge expects for this, is it a value that resets every day, or every hour, never (as I was expecting)?
Note this is what I get from my meter (using https://github.com/mcrapts/p1-reader to convert to MQTT)
{
  "versionInformation": 50,
  "timestamp":<PHONE_NUMBER>,
  "equipmentIdentifier": "E0069000717977322",
  "electricityDeliveredT1": 1593648,
  "electricityDeliveredT2": 1337601,
  "electricitySuppliedT1": 148511,
  "electricitySuppliedT2": 297506,
  "tariffIndicator": 1,
  "electricityDeliveredActual": 0,
  "electricitySuppliedActual": 2608,
  "powerFailures": 41,
  "powerFailuresLong": 28,
  "powerFailureEventLog": "10|0-0:96.7.19|220326050040W|0004303445|220326050040W|0004303446|220326050039W|0004303448|220301082909W|0002155955|220301082909W|0002155955|220301082909W|0002155957|220204115736W|0000008462|220204115736W|0000008462|220204115736W|0000008464|220129113651W|0004300285",
  "voltageSagsL1": 11,
  "voltageSagsL2": 10,
  "voltageSagsL3": 6,
  "voltageSwellsL1": 15,
  "voltageSwellsL2": 15,
  "voltageSwellsL3": 16,
  "textMessage": "",
  "instantaneousVoltageL1": 233,
  "instantaneousVoltageL2": 231,
  "instantaneousVoltageL3": 231,
  "instantaneousCurrentL1": 4,
  "instantaneousCurrentL2": 3,
  "instantaneousCurrentL3": 3,
  "instantaneousActivePowerL1Plus": 0,
  "instantaneousActivePowerL2Plus": 0,
  "instantaneousActivePowerL3Plus": 0,
  "instantaneousActivePowerL1Min": 948,
  "instantaneousActivePowerL2Min": 883,
  "instantaneousActivePowerL3Min": 775,
  "deviceType1": "003",
  "equipmentIdentifier1": "G0073004116253431",
  "deviceValue1": 1037.661
}

Hi! Here's a sample of the data I'm sending to the inverter (obtained from a SDM630 in single phase mode), which should give you an idea of the expected units:
{
    'energy_active':<PHONE_NUMBER>9375,                               # kWh (total import + export)
    'import_energy_active': 57.836997985839844,             # kWh
    'power_active':<PHONE_NUMBER>164062,                            # W
    'l1_power_active':<PHONE_NUMBER>3554688,
    'l2_power_active':<PHONE_NUMBER>53125,
    'l3_power_active': 88.22502136230469,
    'voltage_ln':<PHONE_NUMBER>4003906,                               # V
    'l1n_voltage':<PHONE_NUMBER>7929688,
    'l2n_voltage':<PHONE_NUMBER>84375,
    'l3n_voltage':<PHONE_NUMBER>9902344,
    'voltage_ll': 0.0,
    'l12_voltage': 0.0,
    'l23_voltage': 0.0,
    'l31_voltage': 0.0,
    'frequency': 49.8844108581543,                                    # Hz
    'l1_energy_active':<PHONE_NUMBER>9375,                            # kWh (import + export)
    'l1_import_energy_active': 57.836997985839844,          # kWh
    'export_energy_active':<PHONE_NUMBER>0791016,               # kWh
    'l1_export_energy_active':<PHONE_NUMBER>0791016,
    'energy_reactive':<PHONE_NUMBER>798828,
    'l1_energy_reactive':<PHONE_NUMBER>798828,
    'energy_apparent':<PHONE_NUMBER>0390625,
    'l1_energy_apparent':<PHONE_NUMBER>0390625,
    'power_factor': 0.6266472935676575,
    'l1_power_factor': 0.5347498059272766,
    'l2_power_factor': 0.6997311115264893,
    'l3_power_factor': 0.5260195136070251,
    'power_reactive': -698.6649169921875,
    'l1_power_reactive': -204.4337921142578,
    'l2_power_reactive': -352.2327880859375,
    'l3_power_reactive': -142.6428985595703,
    'power_apparent':<PHONE_NUMBER>898438,
    'l1_power_apparent':<PHONE_NUMBER>5703125,
    'l2_power_apparent':<PHONE_NUMBER>566406,
    'l3_power_apparent':<PHONE_NUMBER>8691406,
    'l1_current': 1.0146546363830566,
    'l2_current': 2.0701656341552734,
    'l3_current': 0.7032737731933594,
    'demand_power_active':<PHONE_NUMBER>613281,
    'maximum_demand_power_active': 0.0,
    'demand_power_apparent':<PHONE_NUMBER>21875,
    'l1_demand_power_active':<PHONE_NUMBER>7341123,
    'l2_demand_power_active':<PHONE_NUMBER>680883,
    'l3_demand_power_active':<PHONE_NUMBER>4959851
}

Here you see in my week consumption 4.05 MWh which is a biiiiit too much ...

So this is probably a unit issue. I also ran into this accidentally during debugging. To remove this value from the dashboard I needed to open a ticket with SolarEdge support. With a bit of luck they can remove the erroneous values from the graphs.

Thanks for the input.
I'm running the script now for couple of days. It happened 2 times more that it had and will indeed create a support ticket for removing those.
Still awaiting the day I see matching numbers for energy in the portal . (power is working fine).
The strange thing is that I see the correct values for the energy on the powerEdge itself. (at least I see the total meter kWh for import & export)
What I noticed is that for me the timeout settings have a very big impact. I somewhat expect that the strange numbers are cuz of data errors when I was setting various timeouts
with timeout 1sec, the device get stuck on requesting address-1601
with timeout .1 I see requests for 1601, 1651,1701, 1001, 1101,2128 and many 1011
every seconds there are quite a few request for 1011, than every 4 sec the others are requested.
Is it normal to have so many 1011 requests (I see around 8 requests/second) or is it some sort of error and it is not happening with a regular wattnode?
What is unexpected / strange in your example is the energy_active ,  as acc to the spec I was assuming it is the export - import, but in your example you have it as import+export

Note, I assume the Energy shown in the screen is suppose to show the current meter value, not the daily number right?
I'm feeding
 {
   "demand_power_active":<PHONE_NUMBER>222222,
    "energy_active": 2536.827,
    "export_energy_active": 547.341,
    "frequency": 50,
    "import_energy_active": 3084.168,
    "l1_demand_power_active": 44.044444444444444,
    "l1_export_energy_active": 547.341,
    "l1_import_energy_active": 3084.168,
    "l1_power_active": 37.0,
    "l1n_voltage": 234.0,
    "l2_demand_power_active":<PHONE_NUMBER>6666664,
    "l2_power_active": 351.0,
    "l2n_voltage": 233.0,
    "l3_demand_power_active":<PHONE_NUMBER>333333,
    "l3_power_active": 446.0,
    "l3n_voltage": 233.0,
    "p1_current": 0.1581196581196581,
    "p2_current": 1.5064377682403434,
    "p3_current": 1.9141630901287554,
    "power_active": 839.0,
    "voltage_ln": 234.0
}

I can say that I finally had 2 days that everything fully matched, import & export included.
The trick was the setting of  timeout = .1 .
dunno if the rootcause of the issue, if it is something in the hardware, or the pymodbus or something in the solarEdge that causes the behavior.

Note, I assume the Energy shown in the screen is suppose to show the current meter value, not the daily number right?
I'm feeding...

Check your p1_current p2_current and p3_current. Those should be l1_current etc.
My unit does not have a display, so I cannot confirm, but it sounds right.

I can say that I finally had 2 days that everything fully matched, import & export included. The trick was the setting of timeout = .1 .
dunno if the rootcause of the issue, if it is something in the hardware, or the pymodbus or something in the solarEdge that causes the behavior.

Great news, thanks for letting me know! The timeout value is good to know, I will add that as the default -- my setup is based on RS485 to ethernet converters, so I never have this issue.

Are you using the latest solaredge firmware, by the way? Just to confirm this still works on newer firmware -- I have mine locked to an older release.

Before installing the energy meter I updated to the latest firmware for inverters with display: Version Date July 2020
Single Phase Inverter with HD-Wave Technology | CPU  3.2537 |  DSP1 1.0.1036 | DSP2 2.0.910
So, yes it still works.

nice work, i also want to try to connect my P1 meter via mqtt, but i cannot seem to find what values has to be mapped to which channel could you provide your config? where which channel is which telegram topic,
i now use dsmr reader, which wil provide some json topics, not all in 1 post divided in several post. is this a problem? so in 1 post the day consumption will be posted, and in another post the actual power values will be posted.
and is it needed that the total import/export need to be supplied? or is day import and a day export value ok?
thanx!

closing as it works perfect now


Support Ollama

Thanks for the amazing work, of course for a brand new beginner, it takes some times to setup the entire environment.
As readme already said the current best model to use is the gpt4o model. which majorities of us would understand. but in another hand, the openai and glaude models has been coded as predefiend config/formats. I wonder is there any plan to support ollama for the experiements of the offline LLM testing? since ollama can be called with the api as well. that should be possible and  should be a standard way.
again, I am brandnew to both llm and agent, please correct me if I am wrong in any way. and hope ollama can be supported soon.!
once again, thanks for the great work!

I am trying porting Cradle to llama with mistral nemo 13B. so far the main issue is the LLM provider inside Cradle only support openai and claude.  llama 's server api have most compatibility to openai , but Ollama is far from compatible.  so if you go with ollama, it definitely cost you more time as you have to write a new LLM client.
I am not at the LLM 's planning level yet,  but I doubt that mistral nemo is equivalent to openai 4, so most task's failure is expected.

LM studio uses same api structure as openai so is it possible to run via that and i have tried setting set OPENAI_API_BASE_URL="http://localhost:1234/v1" and i have also changed openai_config.json file to add a base url is there anything in code to change base url for openai
{
"key_var": "OA_OPENAI_KEY",
"base_var": "OA_BASE_URL",
"emb_model": "text-embedding-ada-002",
"comp_model": "gpt-4o",
"is_azure": false
}

You can modify line 108 of the cradle/provider/llm/openai.py. OpenAI provides the base url parameter.
self.client` = OpenAI(api_key=key, base_url = ...).

class OpenAI(SyncAPIClient):
    completions: resources.Completions
    chat: resources.Chat
    edits: resources.Edits
    embeddings: resources.Embeddings
    files: resources.Files
    images: resources.Images
    audio: resources.Audio
    moderations: resources.Moderations
    models: resources.Models
    fine_tuning: resources.FineTuning
    fine_tunes: resources.FineTunes
    beta: resources.Beta
    with_raw_response: OpenAIWithRawResponse

    # client options
    api_key: str
    organization: str | None

    def __init__(
        self,
        *,
        api_key: str | None = None,
        organization: str | None = None,
        base_url: str | httpx.URL | None = None,
        timeout: Union[float, Timeout, None, NotGiven] = NOT_GIVEN,
        max_retries: int = DEFAULT_MAX_RETRIES,
        default_headers: Mapping[str, str] | None = None,
        default_query: Mapping[str, object] | None = None,
        # Configure a custom httpx client. See the [httpx documentation](https://www.python-httpx.org/api/#client) for more details.
        http_client: httpx.Client | None = None,
        # Enable or disable schema validation for data returned by the API.
        # When enabled an error APIResponseValidationError is raised
        # if the API responds with invalid data for the expected schema.
        #
        # This parameter may be removed or changed in the future.
        # If you rely on this feature, please open a GitHub issue
        # outlining your use-case to help us decide if it should be
        # part of our public interface in the future.
        _strict_response_validation: bool = False,
    ) -> None:

i have changed  self.client = OpenAI(api_key="lm-studio", base_url ="http://localhost:1234/v1") in line 108 and now its redirecting to LMstudio and hre is the output from runner.py
python runner.py --envConfig "./conf/env_config_chrome.json" C:\Users\sa\AppData\Local\Programs\Python\Python310\lib\site-packages\torch\functional.py:504: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ..\aten\src\ATen\native\TensorShape.cpp:3527.)   return _VF.meshgrid(tensors, **kwargs)  # type: ignore[attr-defined] final text_encoder_type: bert-base-uncased 2024-08-01 20:41:56,739 - UAC Logger - CPU: 0.0%, Memory: 93.6% - INFO - Loading skills from ./res/chrome/skills/skill_lib.json 2024-08-01 20:53:29,591 - openai._base_client - CPU: 0.0%, Memory: 86.6% - INFO - Retrying request to /embeddings in 0.751233 seconds
here is the log from lmstudio
[2024-08-01 20:43:29.588] [INFO] Received POST request to /v1/embeddings with body: {   "input": [     [       6014,       369,       459,       4652,       449,       2316,       8649,       330,       92459,       3331,       17863,       7935,       1,       323,       3665,       1202,       11612,       1052,       13     ]   ],   "model": "text-embedding-ada-002",   "encoding_format": "base64" } [2024-08-01 20:53:30.395] [INFO] Received POST request to /v1/embeddings with body: {   "input": [     [       6014,       369,       459,       4652,       449,       2316,       8649,       330,       92459,       3331,       17863,       7935,       1,       323,       3665,       1202,       11612,       1052,       13     ]   ],   "model": "text-embedding-ada-002",   "encoding_format": "base64" }
and where to attach the second code you have provided in the code


event-kind ids not complete in idm > causing error in frontend

Some event-kind-ids that are used within the events are not part of the event-kinds-vocabulary in the idm.json file (refereing to Mucha example), which causes an "Unprocessable Entity" error (Explanation: because they are not locally available, the systems queries the backend where those ids do not exist). Other event-kind-ids have "event-kind-event-kind-XXX" ids (which is OK because they are part of the vocabulary).
This is the list of ids used in the events, but not in the vocabulary.
"event-kind-born"
"event-kind-applied"
"event-kind-received"
"event-kind-decided"
"event-kind-moved"
"event-kind-enrolled"
"event-kind-began"
"event-kind-made"
"event-kind-provided"
"event-kind-shared"
"event-kind-became"
"event-kind-ordered"
"event-kind-created"
"event-kind-show"
"event-kind-produced"
"event-kind-joined"
"event-kind-collaborated"
"event-kind-begun"
"event-kind-conceived"
"event-kind-referred"
"event-kind-returned"
"event-kind-married"
"event-kind-accepted"
"event-kind-undertook"
"event-kind-completed"
"event-kind-remained"
"event-kind-devoted"
"event-kind-painted"
"event-kind-rented"
"event-kind-lived"
"event-kind-worked"
"event-kind-died on"

Should be fixed now!


🐞 Bug Footer section alignment

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
the footer section has improper alignment and the image is at the center also the copyright trademark is at the left.I will make it an attractive footer section.
Steps To see

go to the website of circuitverse
then scroll down to the footer section
see the alignment of the footer section

Expected Behavior
All the elements are at the center like the heading, image..
Screenshots
No response
Device Information [optional]
- OS:
- Browser:
- version:

Additional context
No response
Are you working on this issue?
Yes

hi @tanmoysrt  sir,
can i work on it

hi @tanmoysrt sir,
can i work on it

You should provide what the current design and what design you want to see in update

Sir, The copyright trademark should be at the center and I will arrange the image to the right of it.
There is more space around the elements all the elements are grouped at center

The isssue and design is already here https://github.com/CircuitVerse/CircuitVerse/issues/4563
So, closing this issue as duplicate of #4563

But on the website, it doesn't align with the appropriate positions what is the issue?

But on the website, it doesn't align with the appropriate positions what is the issue?

The PR's a re not merged yet, under review.
You should check recent issues + development website locally before raising issue

ok


Update userstoppedtypingbehavior.md

What changes to the docs does this PR provide?
Corrected ShouldDismissKeyBoardAutomatically to have a bool type,
and          StoppedTypingTimeThreshold to be int
PR Checklist
Please check if your PR fulfills the following requirements:

[x] For new pages, used the provided template.
[x] For new features, added an entry in the Table of Contents.
[x] Ran against a spell and grammar checker.
[x] Contains NO breaking changes.

Docs Build status updates of commit 15be875:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/behaviors/userstoppedtypingbehavior.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


Add support for user input

Add support for user input such as

yes/no question
press any key buttons
character input
numeric input
password input
some pattern based inputs (email, name, phone)

In devel branch:
Added minput with functions for:

yes/no questions
Pause, press enter
formatted string input
numeric only input
email input

And a function to detect if a string is a numer (float and negative supported)


board: arm64: Add suport for ROC-RK3568-PC

This is support for AArch64 development board.
The board uses 4-core Cortex-A55, which are based on the ARMv8.2 architecture.
In addition,we support smp support and
it can use 4-cores to run basic samples.
Associated PR: #63343

Can you please fix the CI failures?

Can you please fix the CI failures?
Some failure are caused by building other board, such as west twister -p circuitdojo_feather_nrf9160_ns -s tests/kernel/common/kernel.common will cause below failures:

Could this be considered as an issue with the test of circuitdojo_feather_nrf9160_ns board?

Can you please fix the CI failures?

Yes, I modified the documentation, it seems work.

Can you please fix the CI failures?

I am not very familiar with Github CI. Can you tell me why the build process of other board affects this PR's check?
west build -p -b qemu_xtensa_mmu tests/kernel/fatal/message_capture -T kernel.logging.message_capture

@cocoeoli try to rebase on the latest main

@cocoeoli try to rebase on the latest main

Thanks, I will have a try.

@carlocaione @povergoing Please help me review these commits and see if there are any other issues?

@cocoeoli
Hi, I have run this patch on my RK3566 platform, that cool, next I want try zvm on my platform.