J1939 support

Hi,
I've seen the J1939 conversation come up here several times...  Any chance such an improvement would be considered? Has anyone tried to implement it?
Thanks,
PS: glad to see this project is back in active development... looking very good I must say

I personally don't use J1939 in my work, and am not really familiar with the details... so I wouldn't be looking to implement it any time soon, myself.
But we also went through the effort (and made this library somewhat more complex) to implement the types and traits from the embedded_can crate. The idea was to allow other libraries to write the higher-level protocols, like J1939, using this library as the implementation for SocketCAN, and other libraries for other targets.
So, my suggestion would be for someone to write a can-j1939 crate, using the embedded_can traits as much as possible, and make a feature to enable using SocketCAN as one of many possible deployment targets.

I had the same initial thought, but then things got blurry when, if memory serves me correctly, the Linux 5.4 kernel came out with J1939 support (socketCAN too obviously): https://docs.kernel.org/networking/j1939.html
In other words, what you're proposing is definitely the way to go if you want to use the same library in both embedded systems and Linux, but it's reinventing the wheel if you're only targeting Linux.
Make sense?

Oh, wow. I had no idea it was in the kernel! Thanks for pointing that out.
Yeah, in that case, it should go in this library. Preferably behind a cargo feature, normally off.

I took a stab at it a while back before you started maintaining this and gave up because:

stuff was missing in the libc crate
this project wasn't maintained

What I ended up doing is simply writing some C code (vomit) and a thin Rust rapper around it.  Not the most elegant solution, but it worked.
Circumstances change...  I'll take another stab at it when I could find some time
PS: could also be used with NMEA 2000 (boats) which is a super set of J1939

PS2: Mind you I did like your original idea, a lot actually.  It just royally ticks me off to have to pay several hundred bucks for the J1939 specs... that's just wrong.
hate these "yeah, we're open, and we want everyone to use it, but give me a ridiculous amount of $$$ for my PDFs" folks.... ok, I feel much better now... sorry for venting  :)

Hi,
I started tinkering with the J1939 kernel networking, too. Currently I try to wrap my head around the data structures and behavior of the J1939 stack. I am programming in rust for a while now, but OS level stuff and FFI is new to me. I forked the crate and made a separate j1939 module and can already send and receive data. However, I wonder how to continue because the j1939 stack works a bit different than socketcan because the addressing data is not part of the payload but needs to be handled via sockaddr_can. Secondly, the j1939 can be used either with connect()/read()/write() or with sendto()/recv_from(). I am not sure how to best reflect this in the API.

I've been on it too brother.  Very doable, but VERY HARD NUT TO CRACK.
That J1939 C code is.... Not sure what the politically correct word is...
Let's just say "special".
I'm on my sailboat with sporadic Internet access, that's why I'm not done.

On Sun, Dec 10, 2023, 11:01 dlips @.***> wrote:

Hi,
I started tinkering with the J1939 kernel networking, too. Currently I try
to wrap my head around the data structures and behavior of the J1939 stack.
I am programming in rust for a while now, but OS level stuff and FFI is new
to me. I forked the crate and made a separate j1939 module and can already
send and receive data. However, I wonder how to continue because the j1939
stack works a bit different than socketcan because the addressing data is
not part of the payload but needs to be handled via sockaddr_can. Secondly,
the j1939 can be used either with connect()/read()/write() or with
sendto()/recv_from(). I am not sure how to best reflect this in the API.
—
Reply to this email directly, view it on GitHub
https://github.com/socketcan-rs/socketcan-rs/issues/52#issuecomment-1849004173,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACS6QTZQJAMSHEFX7T7SPSDYIXMFBAVCNFSM6AAAAAA6K2CKCWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNBZGAYDIMJXGM
.
You are receiving this because you authored the thread.Message ID:
@.***>

I think it is ok-ish, although the documentation could definitely be improved :) I just implemented the Read and Write traits, which work well with a connected socket. For now this is fine for me. I rather will think about the API for working with PGNs and setting filters etc.
Do you know if we can access the NAME table from the address table in the kernel stack? I found some older sources, which said no, and also newer ones (but still a few years old) which say they are working on a solution for this.

I have not been tracking the discussion in detail, but I wanted to share some J1939 code I wrote for another project. Originally I had thought to bring it here, but I'm not sure the socketcan-rs API is the right one for J1939. The project is not currently focused on CAN, so development stopped at its current (working) state.
https://github.com/oats-center/isoblue/tree/master/services/j1939d/src/j1939
It is all MIT. Fell free to borrow as you see fit.

Thanks for sharing this. Will definitely have a look at it. I am also not sure if it should be a behind a feature flag in socketcan-rs or be a separate crate. On one hand it’s conceptionally close the socketcan, on the other hand the kernel stack api works a bit differently and I don’t see atm that much code can be shared between the socketcan part in the crate and the potential j1939 part

Like I said, I've never worked with J1939, so can't be sure whether this is the correct crate for it or not. But a quick look at the code @abalmos just posted, I think may not? Or, at least not yet.
It appears that J1939 over SocketCAN uses dgram sockets? Whereas this library is based on all raw sockets and fixed CAN frames (standard or FD, etc).
But even if this is not the place for the J1939 code, perhaps I could add a few things so this crate could be useful to something built on top of it. For example, I willfully ignored the J1939 and ISOTP fields in the CAN address object. I could certainly add those so that you could use the CanAddr type from here, already wrapped up nicely.
And, to be honest, I allowed myself to be talked into having a separate Socket type for each different supported Frame. That made supporting async more difficult and will be unsustainable as we consider adding, integrating, or just supporting higher-level protocols. Maybe we do need a single, base Socket implementation that is more flexible.

Yes, J1939 uses DGRAM sockets.
Yes, extending the CanAddr to include the additional fields for j1939 would be good, unless this would interfere with the normal socketcan code. I guess the additional fields are just ignored, if someone sets them by mistake and then uses the address for a raw socket?
In case anybody is interested here is the current state to my forked repo.

Now during the holiday break, I have some time to continue working on the J1939 support. The basic implementation is finished. It still needs a lot of polishing. Feedback is very welcome. Here some thoughts:

For error handling, I currently just pass through the IoErrors from the socket2 crate. Is this ok? I understand that the CanSocket needs its custom CanError because of the conversion of CAN error frames to proper rust errors.
I created types for PGNs and NAMEs. Would be nice to have a common base for these types similar to the embedded_can Frame and Ids. I looked on crates.io but could not find anything.

I guess the additional [SocketCan J1939] fields are just ignored, if someone sets them by mistake and then uses the address for a raw socket?

Yeah, even with the existing API you can manually create a libc::can_addr and convert it into a CanAddr, which would technically allow someone to populate the J1939 fields and try to use them to create a Raw socket. I don't know if they're ignored or if you get an error from the kernel. I'll let someone else experiment. :-)

I currently just pass through the IoErrors from the socket2 crate. Is this ok?

Sure. That's what the Socket classes already do. The library's top-level error is either a std I/O error or a parsed failure from an error frame (i.e. `CanError). So returning ether of those would be compatible. We used a local type alias for the I/O errors:
https://github.com/socketcan-rs/socketcan-rs/blob/7851a509bfb077a1722e0bc013ca97d2aeb15252/src/errors.rs#L93-L94

I created types for PGNs and NAMEs. Would be nice to have a common base for these types

Maybe open an Issue PR in the embedded_can project to get some feedback? See what they think?

I saw that you added support for J1939 and ISO-TP to the CanAddr. I have a working rust wrapper for the J1939 networking for a while now (including async support for tokio), but I developed it in a separate crate. Now, I copied over my implementation to the j1939_support branch in my fork: https://github.com/dlips/socketcan-rs/tree/j1939_support
I still need to make some changes before I can create a PR:

Use the common CanAddr type. I made my own but this is obsolete with the changes you made on the isotp_j1939 branch
Use the SocketOptions. Made a derivate from this crate, which now needs to be merged back
Create some examples

Yes, I started, but got distracted by some other things. So keep in mind that what is there is perhaps not complete and certainly not tested well. As I mentioned above, my intent is to at least cover the low-level basics. So, for example, since we export CanAddr, we should at least cover everything that is in the OS struct, like J1939 and ISO-TP support.
So whether it's best to keep the higher-level protocols in separate crates or merge them in here is still to be decided. My thinking leans more towards making separate higher-level crates that are based more on traits than a specific low-level implementation might be better.  That way something like J1939 could perhaps be ported to other platforms; not just Linux/SocketCAN.

Hi all,
I'm maintainer of kernel net/can/j1939 stack and glad to see you are using it and integrating it to this project. If you have questions, feel free to ask, i'll do my best. If there are wishes or suggestions for documentation, you can help me to extended and make it better :)

In case you need it, here is documetation update:
<EMAIL_ADDRESS>

Hi @olerem,
thank you for your offer. I guess it is best to ask the questions on your mailing list? The documentation update you linked is very nice. It clarifies some of my questions, especially regarding the possible returned error codes. Currently, I just pass the errors through as general IoErrors but it would be better to have more specific errors to allow the user to handle errors more precisely. I wasn't aware of the SO_J1939_ERRQUEUE and currently don't understand it fully, but it seems to be useful to allow for more finegrained feedback to the user.

Yes, the preferred way is to ask over<EMAIL_ADDRESS>mailing list. I'll recommend to use SO_J1939_ERRQUEUE in most implementations.

@olerem, thanks for checking in!


QUESTION - LINUX ONLY

Is it possible to use CDC FT for Linux 2 Linux transfers to speed things up?

It seems like it just uses the SSH protocol, so it should work fine?

Right now, it's not, but it wouldn't be hard to do, at least for cdc_rsync.
The code is largely cross-platform, except for a few things that are not:

The socket classes need to work around a few platform specific issues like WSAEADDRINUSE vs EADDRINUSE.
We're calling netstat, which has different flags for Windows and Linux.
The file systems and permissions are different.
We're calling binaries through ssh. On Windows, that runs in Powershell, on Linux it uses bash by default (at least on our systems). Escaping is also different.
Overall, it shouldn't be a lot of work. Note that rsync on Linux provides a large number of flags that cdc_rsync doesn't support (yet) to fine tune how things work. cdc_rsync is really geared towards the use case of deploying a game.

We're currently adding support for Windows to Windows cdc_rsync (including local syncs, i.e. not over network), see
https://github.com/google/cdc-file-transfer/compare/main...sync_windows
For cdc_stream, it could be a bit more work to get the FUSE running on Windows. However, there are tools that provide a FUSE wrapper, like Dokan (https://dokan-dev.github.io/).

I imagine it might not be very hard to do that in principle. We actually used librsync (https://github.com/librsync/librsync) in the first incarnation of this tool, and switched to CDC later. This switch only took a few days. That being said, rsync has a much longer history and more baggage to carry. Some flags might not make sense for CDC, some behavior might change, so I could imagine the main amount of work would go into making the transition smooth. Maybe ask this question again on the librsync repo.

I'm trying to bulld linux version fo cdc_rsync;
It chokes on file_watcher_win  module...
Inybody hav adaptation of this module to Linux?

cdc_rsync doesn't use the file watcher, that's used by cdc_stream only. If
you build the //cdc_rsync target only, you shouldn't see this error.
However, it still won't build. The process class isn't supported on Linux.
The Linux implementation would be significantly different and a bit of
work, but on the bright side a process class is pretty standard.
Other than that, I don't think there are major obstacles. There is a minor
one, the path::SearchFiles (iirc) method supports wildcards on Windows, but
not on Linux. This could be fixed fairly easily by manually filtering using
PathFilter.
Vadiml1024 @.***> schrieb am Mo., 20. Feb. 2023, 13:36:

I'm trying to bulld linux version fo cdc_rsync;
It chokes on file_watcher_win module...
Inybody hav adaptation of this module to Linux?
—
Reply to this email directly, view it on GitHub
https://github.com/google/cdc-file-transfer/issues/56#issuecomment-1436944422,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEBQFMEP2DOPOD4ABE7DP7TWYNQOHANCNFSM6AAAAAATUS4TL4
.
You are receiving this because you commented.Message ID:
@.***>

Linux support would be lovely, specially for the cdc_rsync as a faster alternative to traditional rsync...


tf.nn.softmax_cross_entropy_with_logits output on multichannel continuous targets

Hi,
How does the tf.nn.softmax_cross_entropy_with_logits work for a target that is continuous with C channels,
eg - HxWxC, they are not soft targets (values across channels dont add up to 1) with values ranging between 0 and 1.
Thanks in advance

This is a support question for https://stackoverflow.com/questions/tagged/tensorflow
Please close this ticket and submit your question there.
Thanks


refactor(umask integration tests): use non root images instead of building it

a small refactor to the unit test as a pre-requisite to  https://github.com/firecow/gitlab-ci-local/issues/1171
on a side note, should'nt --umask be default to false instead ? Which should be closer to gitlab-ci default

@firecow do you have any opinion on this ?

on a side note, should'nt --umask be default to false instead ? Which should be closer to gitlab-ci default


Chrisda to Master

OPS Build status updates of commit e27d0dd:
:clock10: Pending: waiting for processors (17 builds ahead of you)
:warning: OPS Build is busy, click here to report any potential performance downgrade issues, or you could view OPS Portal for trend of build queue length.

OPS Build status updates of commit e27d0dd:
:clock10: Preparing: average preparing time is 1 min(s) 12 sec(s)

OPS Build status updates of commit e27d0dd:
:clock10: Incremental building: average incremental building time is 12 min(s) 23 sec(s)

OPS Build status updates of commit e27d0dd:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

exchange/exchange-ps/exchange/antispam-antimalware/Set-HostedContentFilterPolicy.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/antispam-antimalware/Set-IPAllowListProvider.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/antispam-antimalware/Set-IPBlockListProvider.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/antispam-antimalware/Set-IPBlockListProvidersConfig.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/antispam-antimalware/Set-MailboxJunkEmailConfiguration.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/antispam-antimalware/Set-SenderFilterConfig.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/client-access-servers/Set-ClientAccessServer.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/client-access-servers/Set-ClientAccessService.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/client-access-servers/Set-OwaVirtualDirectory.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/client-access/Set-CASMailbox.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/client-access/Set-ClientAccessRule.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/client-access/Set-ImapSettings.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/client-access/Set-MailboxCalendarConfiguration.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/client-access/Set-OwaMailboxPolicy.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/client-access/Set-PopSettings.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/devices/Set-ActiveSyncOrganizationSettings.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/devices/Set-DeviceTenantRule.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/email-addresses-and-address-books/New-AddressList.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/email-addresses-and-address-books/New-EmailAddressPolicy.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/email-addresses-and-address-books/New-GlobalAddressList.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/email-addresses-and-address-books/Set-AddressList.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/email-addresses-and-address-books/Set-EmailAddressPolicy.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/email-addresses-and-address-books/Set-GlobalAddressList.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/email-addresses-and-address-books/Set-OfflineAddressBook.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/federation-and-hybrid/Set-RemoteMailbox.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/mail-flow/Set-ForeignConnector.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/mail-flow/Set-SendConnector.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/mail-flow/Set-TransportConfig.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/mail-flow/Set-TransportServer.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/mail-flow/Set-TransportService.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/mailbox-databases-and-servers/Set-MailboxServer.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/mailboxes/Set-InboxRule.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/mailboxes/Set-Mailbox.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/mailboxes/Set-ResourceConfig.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/move-and-migration/Set-MigrationBatch.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/organization/Set-OrganizationConfig.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/sharing-and-collaboration/New-SyncMailPublicFolder.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/sharing-and-collaboration/Set-MailPublicFolder.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/sharing-and-collaboration/Set-SharingPolicy.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/unified-messaging/Set-UMCallRouterSettings.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/unified-messaging/Set-UMService.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/users-and-groups/New-DynamicDistributionGroup.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/users-and-groups/Set-DistributionGroup.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/users-and-groups/Set-DynamicDistributionGroup.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/users-and-groups/Set-MailContact.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/users-and-groups/Set-MailUser.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/users-and-groups/Set-UnifiedGroup.md
:white_check_mark:Succeeded
View (exchange-ps)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Create venv from script metadata

Being able to uv run a script with PEP 723 metadata is really cool.
But it seems like uv is missing a way to create a venv for the script.  Having a venv with script dependencies is useful for development, so that my editor can provide auto-completion, type checking, etc.
My workaround is to maintain the same dependency list in a separate pyproject.toml file, which lets me easily sync to a venv.  But that means I need to maintain the same dependency list in two places, which is not ideal.

#8609 would be a step towards this

May be duplicate of #6637

Being able to uv run a script with PEP 723 metadata is really cool.
But it seems like uv is missing a way to create a venv for the script. Having a venv with script dependencies is useful for development, so that my editor can provide auto-completion, type checking, etc.
My workaround is to maintain the same dependency list in a separate pyproject.toml file, which lets me easily sync to a venv. But that means I need to maintain the same dependency list in two places, which is not ideal.

This would be a hugely helpful feature.

Let's track in the other issue.


added HelpCommand file and registered in the ChatManager

This closes issue #109
To test, just hop on this branch and try the "/?" command

Testing:

james/help loaded successfully without issue.
able to call command "/?" in Lobby
able to call command "/?" in a ChatRoom
able to close out of the help dialog window successfully
able to re-call command "/?"

:shipit:

@adamtuliper thoughts on this? we can delete the PR if you want, I just saw that Heather made dynamically collecting the commands work so this won't be entirely necessary anymore. We can merge as a way to bring over the HelpCommand but that's really the only big change 👍

Accepted, note the hard coded commands will get overwritten when Heather's working Reflection version gets merged.


⚠ Cioos National CKAN has degraded performance

In 1e82d00, Cioos National CKAN (https://catalogue.cioos.ca/) experienced degraded performance:

HTTP code: 200
Response time: 14002 ms

Resolved: Cioos National CKAN performance has improved in b4d249d after 5 minutes.


Update Storybook and fix configs

Updated to latest version (6.0.0-alpha) + fixed config files and theme config. Added viewMode parameter: all stories now load in the Docs view by default. ✨

 Here is an overview of what got changed by this pull request:

Issues
======
+ Solved 8
- Added 3

Clones added
============
- packages/orcs-design-system/lib/systemtheme.js  1

See the complete overview on Codacy


Unable to upgrade LVH images tests-datapath-verifier.yaml

We haven't been able to upgrade the LVH images since October for tests-datapath-verifier.yaml as they fail every time. The GH action with the test failure can be found here
The PR that tried to upgrade the images is https://github.com/cilium/cilium/pull/29534/files#diff-8a97415e3b1ab63d0cbf682a195a63c178786ae792455f62f7dc523acf9f9b50, the changes were reverted in the meanwhile but the diff was the following:
diff --git a/.github/workflows/tests-datapath-verifier.yaml b/.github/workflows/tests-datapath-verifier.yaml
index f833b34d9e0..dc22e342eb9 100644
--- a/.github/workflows/tests-datapath-verifier.yaml
+++ b/.github/workflows/tests-datapath-verifier.yaml
@@ -73,22 +73,22 @@ jobs:
       matrix:
         include:
           # renovate: datasource=docker depName=quay.io/lvh-images/kind
-          - kernel: '4.19-20231026.065108'
+          - kernel: '4.19-20231124.100406'
             ci-kernel: '419'
           # renovate: datasource=docker depName=quay.io/lvh-images/kind
-          - kernel: '5.4-20231026.065108'
+          - kernel: '5.4-20231124.100406'
             ci-kernel: '54'
           # renovate: datasource=docker depName=quay.io/lvh-images/kind
-          - kernel: '5.10-20231026.065108'
+          - kernel: '5.10-20231124.100406'
             ci-kernel: '510'
           # renovate: datasource=docker depName=quay.io/lvh-images/kind
-          - kernel: '5.15-20231026.065108'
+          - kernel: '5.15-20231124.100406'
             ci-kernel: '510'
           # renovate: datasource=docker depName=quay.io/lvh-images/kind
-          - kernel: '6.1-20231026.065108'
+          - kernel: '6.1-20231124.100406'
             ci-kernel: '61'
           # renovate: datasource=docker depName=quay.io/lvh-images/kind
-          - kernel: 'bpf-next-20231123.012848'
+          - kernel: 'bpf-next-20231128.012937'
             ci-kernel: 'netnext'
     timeout-minutes: 60
     steps:

Analysis
LVH PR https://github.com/cilium/little-vm-helper-images/pull/187 introduced systemd-resolved in the images.
The GH workflow tests-datapath-verifier.yaml fails because systemd-resolved isn't ready once the LVH GH action command tries to download Go as first step.
Waiting for the service to become ready should do the trick
poor mans solution (added as first step in cmd:
for i in {1..5}; do curl "https://golang.org/" > /dev/null 2>&1 && break || sleep 5; echo "Waiting for systemd-resolved to be ready..."; done

Blocked Renovate PR: https://github.com/cilium/cilium/pull/29556

Related DNS changes in LVH images & action
Images: install systemd-resolved: https://github.com/cilium/little-vm-helper-images/pull/187
Action: remove dns-resolver property in action: https://github.com/cilium/little-vm-helper/pull/118


fix: DNS cache processing

prvProcessDNSCache() stops the search when pcName[0] is zero
pcName[0] is set to zero when cache entry is invalidated.
https://github.com/aws/amazon-freertos/issues/471

Description

Checklist:

[ X] I have tested my changes. No regression in existing tests.
[ ] My code is Linted.

The re-review request was an accident. Please disregard.


iptables: Manage IP sets independently with the stateDB reconciler

Add an independent cell to manage IP sets and reconcile them dynamically through the stateDB generic reconciler.
The cell manages only two different sets, one related to the Node IPv4 addresses and the other one related to the Node IPv6 addresses. Other sets are not touched in any way.
When IP sets are disabled, the IP sets manager tries to clean both Cilium managed IP sets at startup, to avoid leaving stale entries from previous runs.
When IP sets are enabled, the IP sets manager exports two methods to add and remove IPs from a named set, respectively. The sets are updated in the relative stateDB table and the kernel state reconciled later using the ipset utility.
This is a required step in preparation for the iptables manager refactoring that allows to react to devices and local node info changes. A PoC has already been developed and can be seen here.
Note to the reviewers: please review each commit individually.

/test

Removing some reviewers whose codeowners have already been covered.
@joestringer I've fixed the CODEOWNERS for the new package, do you mind taking another look? Thanks! :pray:

/test

CI triage:
ci-e2e: timeout while querying quay.io
ci-ginkgo: similar issue with quay.io
ci-integration: tracked here
ci-ipsec-upgrade: tracked here

This PR needs approval from current @cilium/tophat, as Dylan dropped from the team.


refactor: updated and decoupled contextService logic (#72)

feat: updated and decoupled contextService logic

feat: creating new context when root context file is missing.

feat: removed registry & stringify issue

chore: returning context or undefined in contextAllocator save method

feat: added warning for saving file.

feat: lint fixes

Description

This PR fixes the initial issue of context service, where it threw an error when the context file was loaded every time the context file was missing. Now it simply returns undefined.
This does not break anything and only creates new context service logic is not yet used anywhere.

Related issue(s)

see also #83

@magicmatatjahu has once reviewed this, just need the approval to merge.


Add Python UDF for Primitive Types

Here's how it's to be used, as well as an explanation of some of its features
import kuzu
db = kuzu.Database("db")
conn = kuzu.Connection(db)

def aplusb(a: int, b: int) -> int:
    return a + b

conn.create_function(name="aplusb", udf=aplusb)
# we can use annotations to help bind the function

print(conn.execute("return aplusb(1, 2)").get_next()[0])
# 0

def atimesb(a, b):
    return a*b

conn.create_function(name="atimesb", udf=atimesb, parameters=[kuzu.Type.INT64, kuzu.Type.INT64], return_type=kuzu.Type.INT64)
# we can explicitly state the parameters and the return type

print(conn.execute("return atimesb(5, 10)").get_next()[0])
# 50

def vector3dDistance(x1: float, y1: float, z1: float, x2: float, y2: float, z2: float) -> float:
    return ( (x1-x2)**2 + (y1-y2)**2 + (z1-z2)**2 ) ** 0.5

conn.create_function("v3dDist", vector3dDistance)
# unlike with the C++ UDF, we can specify as many parameters as we want for python UDFs

print(conn.execute("return v3dDist(-100, 1, 2, 200, -5, 10)").get_next()[0])
# just over 300

Nested types haven't been implemented yet, but it's been decided to be done.

What is going to happen if a python function has optional arguments or position arguments? How are we going to use them in kuzu?

@acquamarin If we allow Python UDF to have optional or position arguments, we cannot match the right function based on user's parameters with our function framework. So we'll require users to provide all parameters for Python UDF by now.
I haven't read much into how Python handles optional arguments, @mxwli could take a look at this case when he gets back to work.

What is going to happen if a python function has optional arguments or position arguments? How are we going to use them in kuzu?

@acquamarin If we allow Python UDF to have optional or position arguments, we cannot match the right function based on user's parameters with our function framework. So we'll require users to provide all parameters for Python UDF by now.
I haven't read much into how Python handles optional arguments, @mxwli could take a look at this case when he gets back to work.

Optional arguments and keyword arguments don't have a very good equivalent in Kuzu, so it's not handled at the moment.


Deprecation oft this project should be removed

You have to read the Elastic web page carefully, X-Pack is NOT under Apache 2.0 license, it's Elastic license! This means only some (More or less basic monitoring) features of X-Pack is in free tire: https://www.elastic.co/subscriptions
Security and auth is NOT in free tire! So this image will stay important for users who want to use Search guard with ES 6.3!

thank you @xtermi2


if a mark x or y is NaN the associated path causes and error.

This seems like it's due to the data having errors. Perhaps we should be feeding these errors back to the user? Hiding the error seems unexpected.

We should report about the errors in data instead of hiding them. #93 already has a list of things that should be checked. I'd suggest to add it here as well

dropping it


[WebScrobbler] Can't use slugs

Describe the bug
Hello, I tried to use Multi-Scrobbler in order to scrobble from Spotify and WebScrobbler
It seems WebScrobbler works only if there is no slug in the config file
To Reproduce
Steps to reproduce the behavior:

Setup WebScrobbler source with a slug
Setup Maloja (or other) client
Restart (I use Docker so docker restart multi-scrobler)
Set the webhook url in WebScrobbler (https://scrobbler.mydomain.tld/api/webscrobbler/magikh)

Expected behavior
It shoulds works even when using a slug
Logs
Nothing releated to Web Scrobbler appears in the logs
Config file (config.json)
{
	"sources": [
		{
			"name": "lastfm-magikh42",
			"type": "lastfm",
			"enable": false,
			"clients": [
				"maloja-magikh42"
			],
			"data": {
				"apiKey": "REDACTED",
				"secret": "REDACTED",
				"redirectUri": "http://scrobbler.mydomain.tld/lastfm/callback"
			}
		},
		{
			"name": "webscrobbler-magikh",
			"type": "webscrobbler",
			"enable": true,
			"clients": [
				"maloja-magikh"
			],
			"data": {
				"slug": "magikh", // If I remove this line and edit the webhook in the Web Scrobbler addon settings it works
				"whitelist": ["Invidious"], // I also tried with no blacklist nor whitelist
				"blacklist": []
			}
		},
		{
			"name": "spotify",
			"type": "spotify",
			"enable": true,
			"clients": [
				"maloja-magikh42"
			],
			"data": {
				"clientId": "REDACTED",
				"clientSecret": "REDACTED",
				"redirectUri": "http://scrobbler.mydomain.tld/spotify/callback",
				"interval": 20
			}
		}
	],
	"clients": [
		{
			"name": "maloja-magikh",
			"type": "maloja",
			"enable": true,
			"data": {
				"url": "https://maloja.mydomain.tld",
				"apiKey": "REDACTED"
			},
			"enable": true
		}
	]
}

Versions (please complete the following information):
Provide version information for any related sources/clients.

multi-scrobbler: 0.6.5 on Docker
maloja: 3.2.2 on Docker
WebScrobbler: 3.5.0 on Firefox

Also, I use Multi-Scrobbler behind a reverse proxy (scrobbler.mydomain.tld -> 'localhost:9078')

EDIT: I have this line in the log when I try to scrobble using a slug
2024-02-14T04:45:36+00:00 debug   : [API] Server received POST request from ::ffff:<IP_ADDRESS> (REDACTED ipv6) (UA: Mozilla/5.0 (Windows NT 10.0; rv:102.0) Gecko/20100101 Firefox/102.0) to unknown route: /

Thanks for the detailed logs. Please try out foxxmd/multi-scrobbler:develop docker image and see if this issue is resolved for you

Hi @Magikh42 have you had a change to verify this fix worked for you?

Hi, I was away from home but I'll soon check if using the development version solve the issue

@Magikh42 did you get to test this? I'm ready to cut a release but want to confirm this is fixed.

I tried with the develop branch, the slug feature seems to be working as intended
Thanks for the fix !

Fix is included in 0.7.0


Linking PivotTable article to reference topics

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/excel/excel-add-ins-pivottables.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Jvm test suite type should not be unique

Expected Behavior
should be valid so that plugins like the jacoco aggregate report can aggreate both.
   val test by getting(JvmTestSuite::class) {
      testType = TestSuiteType.UNIT_TEST
      dependencies {
        implementation(libs.spring.orm)
        compileOnly(libs.jspecify)
      }
    }
    val whitebox by registering(JvmTestSuite::class) {
      testType = TestSuiteType.UNIT_TEST

Current Behavior (optional)
* What went wrong:
Could not determine the dependencies of task ':controller-registration:compileJava'.
> Could not resolve all dependencies for configuration ':controller-registration:compileClasspath'.
   > Could not resolve project :jpa.
     Required by:
         project :controller-registration > project :model-security
      > Could not configure suite: 'whitebox'. Another test suite: 'test' uses the type: 'unit-test' and has already been configured in project: 'jpa'.

Context
Because I use JPMS and follow the test trophy model, I sometimes need to create two test suites with similar profiles. While unit testing is my example, I primarily write integration tests. The challenge is that my "blackbox by default" test suites don't provide access to package-private methods, forcing me to switch to classpath testing.
I can also see this approach being useful outside of JPMS. For instance, when integrating a library with different implementations, such as testing Spring Data JPA with both EclipseLink and Hibernate. There are likely other scenarios where this method is needed.
I could use custom strings for the suite names, but what happens if I have both whiteboxUnit and whiteboxIntegration? This approach can quickly become excessive, especially with examples like JPA. It still wouldn't solve the issue with the JaCoCo aggregation plugin, which only aggregates a single test type. Additional undocumented steps would be necessary to make it work.
Moreover, this method could be confusing for someone new to the project. Renaming the suite doesn't truly create a new type; it just adds another label. At that point, you might as well stick with the suite name. Another option would be to use a different, albeit inaccurate, test type—but again, the aggregation plugin doesn’t handle this out of the box.
------------------------------------------------------------
Gradle 8.10
------------------------------------------------------------

Build time:    2024-08-14 11:07:45 UTC
Revision:      fef2edbed8af1022cefaf44d4c0514c5f89d7b78

Kotlin:        1.9.24
Groovy:        3.0.22
Ant:           Apache Ant(TM) version 1.10.14 compiled on August 16 2023
Launcher JVM:  21.0.4 (Eclipse Adoptium 21.0.4+7-LTS)
Daemon JVM:    /home/xeno/.asdf/installs/java/temurin-21.0.4+7.0.LTS (no JDK specified, using current Java home)
OS:            Linux 6.6.44-1-MANJARO amd64

loosely related #30445

However, we believe that the original problem @xenoterracide is experiencing is that Gradle can't aggregate multiple reports of the same type from a single project. @xenoterracide can you confirm?

Yes, that's the only functional issue I've encountered so far, though it's not necessarily the only one. Another point to consider is that these settings could serve as "code as documentation." The test type should imply the type of the test suite, not just its name. I believe the domain model—specifically for test suites—is incorrectly represented, which might be the root of the issue.
As it stands, I think the current testType should be renamed to suiteName or simply name, while testType or suiteType should reflect what TestSuiteType holds now. This would still allow for arbitrary strings while making the distinction clearer. That way, the JaCoCo report aggregation would still rely on the type, but the suite name would be more accurately labeled.
You could even make this change without altering the current ABI, so it wouldn’t break any existing code. Instead, you could simply announce the semantic change.

We'll be thinking more about testing and test suites soon as part of Declarative Gradle modeling efforts, and will be sure to consider these points.  Thanks for filing this!


Add jre key store to key vault  key store

Before, the key vault key store only fetches certificates and keys from the remote key vault.
Now it is changed to that the local jre key store's certificates can also be used by key vault key store to trust tls peers.

Hi, @michaelqi793 , let's update this PR after @lzc-1997-abel 's PR merged. You can discuss with him about it.
Refs: https://github.com/Azure/azure-sdk-for-java/pull/20765

Hi, @michaelqi793 .
@lzc-1997-abel 's PR has already merged, please update your PR.


insilico_pcr and pga functions fail when running multiple job at once: an intermediate files conflict?

Hi @gjeunen,
I would like to extract the amplicon regions from the same database using the insilico_pcr and pga functions for a large number of primers. I tried setting up a SLURM job to do this, but the jobs were failing.
This is the error message for one of the jobs that failed:
(base) [thlu@login ref_db_downloads]$ cat extract_ampseq_verts_deagle_error
100%|██████████|<PHONE_NUMBER>/1644979368 [00:14<00:00, 115647037.50it/s]
100%|██████████| 29726034/29726034 [00:00<00:00, 32807761.06it/s]
100%|██████████|<PHONE_NUMBER>/1134958850 [00:03<00:00, 340319973.96it/s]
100%|██████████| 232056/232056 [00:00<00:00, 16543664.42it/s]
 86%|████████▌ | 25805888/29958090 [00:04<00:00, 5813128.26it/s]
 99%|█████████▊|<PHONE_NUMBER>/1644979368 [00:36<00:00, 43926387.21it/s]
100%|██████████|<PHONE_NUMBER>/1132228635 [00:16<00:00, 70604909.90it/s] vsearch v2.21.1_linux_x86_64, 188.7GB RAM, 32 cores
https://github.com/torognes/vsearch

Reading file Vertebrates_16S_deagle_db_merged.fasta 100%
25758905 nt in 374592 seqs, min 32, max 13886, avg 69
minseqlength 32: 2397 sequences discarded.
Masking 100%
Counting k-mers 100%
Creating k-mer index 100%
Searching 100%
Matching unique query sequences: 3509 of 54810 (6.40%)

0it [00:00, ?it/s]

I think the reason the jobs failed has something to do with the intermediate files that are created by these functions having a fixed name (e.g. init_untrimmed.fasta, init_trimmed.fasta, CRABS_pga_info.txt, CRABS_pga.fasta, CRABS_pga_subset.fasta). When running multiple jobs simultaneously in the same folder, would these intermediate files not overwrite each other and mess with the other jobs? Or, when one job finished, would it clean up and remove the intermediate file, making it unavailable to the other jobs?
I apologize if I am overlooking something, I am relatively new to using the HPC. Generally, do you have any advice to perform the insilico_pcr and pga functions on many different primer pairs at once? As far as I can tell, the functions only take a single forward and reverse primer. Could it be useful to implement a change that allows the functions to be supplied by a .txt file containing details on input datasets, primer pairs, output names?
I appreciate any insights.
Cheers,
Thomas

Hi @ThomasLuypaert, Thanks for continuing to explore Crabs. As for running multiple jobs at once, I think your diagnosis is correct that the intermediate files are messing with each other. For the coming major update to Crabs, we might be able to add a timestamp or random number to each intermediate file so multiple primers could be analyzed at once. We will look into this.
As for the second part of your comment, I am a bit confused. The answer depends on whether the different primer pairs amplify overlapping gene regions. If they do not overlap, you should run these functions separately. If you have the case where you are amplifying the same region with different primers, that is a little trickier. For the insilico_pcr function, in the upcoming update we may be able to add an option for looking at multiple primers at once, but for now you would have to run the insilico_pcr function separately for each primer pair. I suppose you could then merge the insilico_pcr results and run a single pga function on the combined results. I am not sure if this would get everything, but if you set __filter_method to 'relaxed' this should get all regions.
Ideally, the final reference sequences for overlapping primer sets should all cover the longest combined primer region. For example, one primer set starts at position 105 and ends at position 305; another primer starts at position 110 and ends at 310. For the reference sequences, you would want them to start at position 105 and end at 310, so the combined region is covered completely. I can think of ways to address this programmatically but for now you can try the steps as outlined above and see how that goes.
Let us know how you progress, and if I misunderstood your question please clarify. It is a great suggestion to add options for covering multiple overlapping primers for the same region, as this is a recommended way of avoiding primer bias from any one set. It will take us some time to implement this, but in the meantime please keep posting and we will try to help.
Any thoughts, @gjeunen ? You may have a better answer.

Hi @hughcross,
Thanks for getting back to me so quickly!
I have run into similar issues with intermediate file conflicts when downloading multiple databases at once from NCBI, so that future implementation with timestamped intermediate files sounds great 👍.
My comment was not referring specifically to primers targeting overlapping regions, although the functionality you propose could be useful for what I am working on. I will give your suggestion to merge the insilico_pcr outputs before running pga a try.
My original comment was referring more to options to start many different insilico_pcr and pga jobs for a large number of different primers using a single command, for instance by calling on an external file that contains all the required information. However, this is not really a necessity, for now I can just enter the information manually.
Not related to this thread, but I also noticed that the issue we discussed on a different thread (with the MitoFish download failing due to the absence of unzip) was not resolved using the new docker image you created. Not sure if this is an issue specific to my computer, or whether somehow the command can still not reach unzip. Additionally, I discovered an issue with download data from the EMBL database which seems to be related to this  issue. I tried the proposed solution (capitalizing the database query), however the downloaded database I get is is still empty. Let me know if I should report a new issue to report this behavior.
Sorry for spamming you with issues, I am really enjoying exploring the full CRABS functionality.
Cheers,
Thomas

Hello @ThomasLuypaert,
My sincere apologies for this long delay in my response!
crabs --version 1.0.0 is now available and can be downloaded by cloning the GitHub repo (we hope to update the conda package and Docker container shortly). This version removes the need for intermediary file generation where possible and ensures a unique name when an intermediary file needs to be created. This will enable concurrent running of multiple crabs codes within the same folder. I hope this will solve your issue, but please reopen this thread if the issue persists.
Best wishes,
Gert-Jan


Improvement: replace lazy_static with once_cell

Hello,
I would suggest to change lazy_static for once_cell, lazy static was needed because back in 2015 in rust 1.0 it was impossible to express something like a compile time shared global ressource but safely accessed.
Since 2019, it's possible with : https://github.com/matklad/once_cell also the author openned a RFC PR 0000-standard-lazy-types.md to make it in std Tracking Issue for once_cell
It's used here : https://github.com/Gandi/jbod-rs/blob/main/src/prometheus.rs#L54-L71 and maybe used for regex compiled on the fly.
Gains:

Less macro code
API in standardisation

as it is not a critical issue, I'm closing this issue! Please, feel free to submit a PR with the proper changes.


Few more things needed to added.

I am a computer science and a IT enthusiast since last few years.
On basis of my research and experince i have noticed some significant difference between being a CS guy and being a IT guy.
but i strongly belive that a combination of CS and a IT will be awesome.
the fundaments difference between a CS and a IT guy is that CS guys knows the skeleten part of the computer's very well like physics and maths behind computers and a IT guy knows to use the Computer tools really well.
as said in nand2tetris most of the IT guys just deal with the API level of Computers.
Sites like Udemy , cbt-nuggets are for the IT guys and sites like edx.org and MITOCW and MOOCS are for CS guys.
but development in both the fileds is actually required to be a successfull computer engineer.
I have some alternatives to udemy like spoken-tutorial.org which provides tutorials on tools of computers. I think some of these kinds of sites which provides free skill set's on increasing yours typing speed , using tools , and other IT stuffs can be added in next level.
There are lot's of computer science students i know don't even have a good typing speed. LOL
I hope i have made my point enough visible.

Many CS graduates end up going into "IT" fields like Devops, SRE, or infosec. It's a great way to make a living, since there are many more jobs than pure CS.
There are plenty of resources for learning this stuff online, like Google's SRE book.
The problem with IT fields are that they tend to go obsolete pretty quickly. IT has changed significantly in the 10 years since I finished my CS degree (Devops didn't even exist back then), and I don't doubt it will change again in the next 10 years. CS on the other hand is still mostly the same - you still have trees and recursive algorithms, etc. When moving into IT the most important thing isn't any specific tech you learn, but your ability to pick up new things quickly. If you can't do that, you probably won't have a long career.

@robbrit exactly and i agree with you but now a day's a lot of teen are just jumping into the IT field rather then having a CS base first and people who have a CS base don't seem's to be quite productive in short tearm because of there lack of basic skill set's with computer.
Computer too is like a musical instument where you may have studied all the math's and physics behind yet you need to spend a lot of time with it to learn to play it.


Establish relationship between tables

Hello Code Reviewer
In this PR I Implemented the following

[ ] Created a table named vets
[ ] Created a join table called specialization
[ ] Created a animal to vets join table called visit
[ ] Insert data into vets table
[ ] Insert data into specialization table
[ ] Insert data for visit
[ ] The last animal seen by William Tatcher
[ ] The  List of different animals seen by Stephanie Mendez
[ ] List of all vets and their specialties, including vets with no specialties
[ ] List of all animals that visited Stephanie Mendez between April 1st and August 30th, 2020
[ ] The  animal that has the most visits to vets
[ ] Maisy Smith's first visit
[ ] Details for most recent visit: animal information, vet information, and date of visit.
[ ] How many visits were with a vet that did not specialize in that animal's species?
[ ] specialty should Maisy Smith consider getting

@sumairq Thank you


setting input_type to 'text' and keyboard_suggestions to True doesnt change the keyboard.

Software Versions

Python:3.7.5
OS:Android
Kivy:2.0.0rc4
Kivy installation method: pip, buildozer

Describe the bug
A clear and concise description of what the bug is.
The issue tracker is a tool to address bugs only (search known bugs: https://git.io/vM1iE).
Please use the #support Discord channel at https://chat.kivy.org/ or Stack Overflow for
support questions, more information at https://git.io/vM1yQ.
My Code:-
MDTextField:
id: tduty
hint_text: "Duties Performed"
helper_text: "Enter Duties performed by you today"
helper_text_mode: "on_focus"
multiline: True
required: True
input_type: 'text'
keyboard_suggestions: True
Expected behavior
It should open the keyboard with suggestions,
To Reproduce
MDTextField:
id: tduty
hint_text: "Duties Performed"
helper_text: "Enter Duties performed by you today"
helper_text_mode: "on_focus"
multiline: True
required: True
input_type: 'text'
keyboard_suggestions: True
Code and Logs and screenshots
// REPLACE ME: Paste your code and logs here, a template can be found at https://git.io/vM1id.

Additional context
It doesn't open the suggestion keybaord, rather open the keyboard for password.

.

It should work with master. But also see https://github.com/kivy/kivy/issues/7337 for additional issues.


Ensure that captured messages are fingerprinted based on the message

Original: https://github.com/getsentry/sentry-laravel/pull/278 there's a configure scope function on the hub, I didn't notice that.
Feature request: Captured messages should have the option to be fingerprinted based on the PSR-3 (https://www.php-fig.org/psr/psr-3/) message.
Hi. Maybe someone can point me in the right direction, but the edited code I have here is an example of an implementation of the feature request, which solves my issue.
We enjoy being able to log messages (not exceptions, necessarily, because exceptions are grouped by the stacktrace) to sentry. However, since every monolog record is unique (based on the time and context e.g. https://github.com/Seldaek/monolog/blob/master/src/Monolog/Handler/ErrorLogHandler.php#L67), sentry only reports 1 event per log message. Needless to say, it's pretty hard to accurately gauge the frequency of each log statement. Fingerprinting seems like the exact feature to avoid this issue, but I don't see an easy way to do that.
What are people's thoughts on adding a feature like this?

Ok, I actually missed where the fingerprint can get set through the context. https://github.com/getsentry/sentry-laravel/blob/master/src/Sentry/Laravel/SentryHandler.php#L168-L171 Is that the sole way this repo intends for fingerprints to get set? Because I still think it's worth discussing some options to fingerprint based on the record's message. I'd prefer not to have to extract the message to a variable so it can be re-used through the record's message and the fingerprint both:
$message = 'This is the message';
$log->critical($message, ['fingerprint' => $message]);

Either way, being able to set valuable sentry data like tags and fingerprints through the record's context is probably worth putting in the docs.

Ah, and I just saw this in the docs https://docs.sentry.io/platforms/php/laravel/#user-context. I'm good, I can work this.
I guess the main point I was trying to make is that it makes sense to fingerprint based on the message text, so having an option to do that would be helpful, otherwise it potentially takes some legwork for us to either configure scope and/or set fingerprints in the context.
Sorry for the noise, thanks!

Sentry.io currently has Grouping settings in beta (it's in the project settings), I am not 100% sure if everyone sees this feature but this allows setting Server Side Fingerprinting which might be what you want to fingerprint based on the message without any code changes for a complete project.
However this is not for everyone since the context around an exception is in most cases as important as the message and the Sentry server is pretty intelligent about grouping the correct exceptions together.
It's highly unlikely we will adopt a change like this since this is massively breaking and not how the grouping is intended to function. I assume you want this because you are using Sentry for logs which is not exactly how Sentry is intended to be used, see: https://sentry.io/vs/logging/.
Hope this helps a bit, feel free to open an issue if you want some clarification on why things are the way they are.

Also, I almost forgot to mention we have a before_send hook that allows you to change the Event data before it's being sent which also allows you to update the fingerprint for every event the Sentry client is sending to Sentry.

https://docs.sentry.io/platforms/php/#filter-events--custom-logic


need help understanding

I have a few questions.
designations:
(ret to fuzzer) this is a function call (with @ Fuzz annotation) by a fuzzer
>>SEE<< the highlights of my question
Questions/Suggestions
1)I suggest adding null values to the generator for wrapper classes (int(Integer),long(Long) and others) (to substitute fuzzing as an argument)
args:null ->(ret to fuzzer)

2)add "possible" interpretations of some data types as others:
Long loo=140;//RANDOM
String ret=Long.toString(loo);
(ret to fuzzer)

or in a line (with the name of the function in my code):
Long->String->i1;
Long->String->i2;
invoke fuzzCreateContextPath(String i1, String i2);

3)
//CHECK
I want to get 3 obvious errors
1)java.lang.NullPointerException
2)java.lang.NumberFormatException
3)java.lang.ArithmeticException: / by zero
but i get only 1 exception type but with different argument data
.id_000000[0]: 񥂉🤒񔫰󏶰򀼏񶿋񗦈񓠅􁴟뎆󆊊񒦳􎕔񨪦򜟟񞿐򰇐𡗋󡽈ꩫ񭛃򋡀𦞪𧹟
id_000000[1]: 悖ᯪ䏺窚遖㟩⎛汪⼾嘬臑铸퍞Ạ胎矿垊䖿頳摗ꂌ쀐ꋐ᱅懗
id_000000 ::= FAILURE (java.lang.NumberFormatException)
E
Time: 0,177
There was 1 failure:
1) fuzzCreateContextPath(freedom1b2830.fforum.test.Pages)
java.lang.NumberFormatException: For input string: "񥂉🤒񔫰󏶰򀼏񶿋񗦈񓠅􁴟뎆󆊊񒦳􎕔񨪦򜟟񞿐򰇐𡗋󡽈ꩫ񭛃򋡀𦞪𧹟"
	at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:67)
	at java.base/java.lang.Integer.parseInt(Integer.java:668)
	at java.base/java.lang.Integer.valueOf(Integer.java:999)
	at freedom1b2830.fforum.test.Pages.fuzzCreateContextPath(Pages.java)

FAILURES!!!
Tests run: 1,  Failures: 1

can't progress past this exception NumberFormatException
here is the message:

Test name:            freedom1b2830.fforum.test.Pages#fuzzCreateContextPath
Results directory:    /home/dev/.eclipse/WORKSPACE/fforum/target/fuzz-results/freedom1b2830.fforum.test.Pages/fuzzCreateContextPath
Elapsed time:         30s (no time limit)
Number of executions: 99 341 (no trial limit)
Valid inputs:         0 (0,00%)
Cycles completed:     0
Unique failures:      3 // >>SEE<< all 3 type 1 exceptions
Queue size:           0 (0 favored last cycle)
Current parent input: <seed>
Execution speed:      4 233/sec now | 3 252/sec overall
Total coverage:       0 branches (0,00% of map)
Valid coverage:       0 branches (0,00% of map)
Fuzzing stopped due to guidance exception: Too many trials without coverage; likely all assumption violations
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  01:02 min
[INFO] Finished at: 2022-05-30T21:49:05Z
[INFO] ------------------------------------------------------------------------

>>SEE<<

[ERROR] Failed to execute goal edu.berkeley.cs.jqf:jqf-maven-plugin:1.8:fuzz (default-cli) on project fforum: Internal error: Too many trials without coverage; likely all assumption violations -> [Help 1]

my code:
@RunWith(JQF.class)
public class Pages {
	public CopyOnWriteArrayList<Class<? extends Exception>> exceptions = new CopyOnWriteArrayList<>();

	public @Fuzz void fuzzCreateContextPath(String i1, String i2) {//NPE from
		try {
			Integer intI1 = Integer.valueOf(i1);//NPE here, NumberFormatException here
			Integer intI2 = Integer.valueOf(i2);//NPE here, NumberFormatException here
			int ext = intI1 / intI2; //ArithmeticException
		} catch (Exception e) {

                        // >>SEE<<
                        //CHECK start
                       //here is a check that the exception is unique (>> the question is how to skip the caught exception, and write down what is 'throw e;' )
                        //in the eclipse IDE, there is a switch in the debug tool to catch all_caught(try{}catch)/uncaught exceptions. How do I set this up in JQF ?
			Class<? extends Exception> ccc = e.getClass();
			if (!exceptions.contains(ccc)) {
				exceptions.add(ccc);
				throw e;
			}
                        //CHECK end
		}
	}
}

I will supplement my questions with illustrations with the help of yed

Thanks for the questions. One of the design decisions of JQF was to be compatible with JUnit-Quickcheck tests, so we borrow the interpretation of type generators etc. from there.

1)I suggest adding null values to the generator for wrapper classes (int(Integer),long(Long) and others) (to substitute fuzzing as an argument)

Null-input generation is not supported by default in JUnit-QuickCheck, but can be added via annotations such as @NullAllowed or @Nullable; see docs: https://pholser.github.io/junit-quickcheck/site/1.0/usage/null.html.
JQF did not support these annotations for some reason, so I just pushed a commit that will allow these to be used with JQF-style generators. Hope this solves your use case! (Note that Integer.valueOf() does not throw an NPE for null args, only a NumberFormatException with a message "Cannot parse null string").

2)add "possible" interpretations of some data types as others:

Again, we choose to use the default generators from junit-quickcheck, which do random uniform sampling. If you want to add special values, you can roll out a custom generator that uses tokens pulled out of a dictionary of special values. For an example, see DictionaryBackedStringGenerator and its sample usage when fuzzing Ant's build.xml input with a dict file.

3)java.lang.ArithmeticException: / by zero

Getting this exception in your example would be possible but incredibly unlikely. JQF would have to first generate a valid String i1 which is of an integer representation and then generate a String i2 which is exactly the single character 0. The reason this is unlikely is because by default, JQF does not instrument the internals of JDK classes such as Integer and cannot track the fuzzing progress ("coverage") within the implementation of Integer.valueOf(). This might work if you had your own string-to-integer parser. For fuzzing JDK internals, you will have to use the javaagent approach (not the Maven plugin) and mess with JVM command-line flags  to allow JQF to instrument the JDK classes such as java.lang.Integer. This is possible but not recommended, and I do not have the bandwidth to document the hackery required for this.

please check the code
        if (true) {

I'm wondering how to implement data mutation in the generator
how to track the place where the data allows you to "pass" the code further (pass checks, etc.)


Course Overview Page

Summary

Fixes #
Worked on the Course overview Page as seen on the Figma Design
List of changes proposed in this PR (pull-request)

Course Overview Page.

What should a reviewer concentrate their feedback on?

[ ] Course Overview Page

Also, I added PropTypes Package to fix husky errors.

Hi @sandygudie the add label and reviewer weren't showing at my end. So I just want to let you know I made a PR. Looking forward to your feedback.

@Eshy10
Your implementation looks good
a few quick things you might want to do ...
(1) You forgot to add the link to the issue this PR fixes.
(2) Your branch is 21 commits behind the dev_team2 branch on the main repo. Try to rebase this PR

@

@Eshy10 Your implementation looks good a few quick things you might want to do ...
(1) You forgot to add the link to the issue this PR fixes. (2) Your branch is 21 commits behind the dev_team2 branch on the main repo. Try to rebase this PR

@okerekechinweotito I can rebase the PR because the option is not showing here. If the merge Pull Request thingy was showing I could do that.
for example, this is a different PR:

But for this one, it is not showing. But I have added the issue link.

@Eshy10   You can rebase the branch for this PR on the terminal on your local machine.  Here is a free resource to get you started - https://www.freecodecamp.org/news/the-ultimate-guide-to-git-merge-and-git-rebase/

@okerekechinweotito thanks done.


[PROFILE REVIEW]

GitHub Profile Link:-
https://github.com/Shivam-Katare
You can also join our Discord community here
Feel free to check out other cool repositories of the Open Source Community here

Hello @Shivam-Katare
Improvements to be done:

Add a banner
Center the tech stack and socials
Align the GitHub Stats side by side


Add a fixed size table of 8 * num_exutors with 16 bit entries. Use th…

…is for mapping the first components exact.
With more components than 8x we fall abck to to using shrunk id of 8 bits as before.
This enables perfect distribution for the first 8x and then 'good enough' for the rest.
The more there are the less impact of imperfect distribution will be.
@geirst and @toregge PR

@toregge PTAL
I hope both issues are now addressed


[fix][test] Update OpenTelemetry receiver endpoint in integration test

Fixes https://github.com/apache/pulsar/issues/22995
Motivation
OpenTelemetry integration tests are broken due to an upstream change in the OTel receiver. The receiver had a breaking change in v0.104.0, where the listener binds to localhost unless otherwise instructed (ref).
Modifications
Bind the receiver to <IP_ADDRESS>:4317 for the integration tests.
Verifying this change

[x] Make sure that the change passes the CI checks.

This change is already covered by existing tests, such as org.apache.pulsar.tests.integration.metrics.OpenTelemetrySanityTest#testOpenTelemetryMetricsOtlpExport
Does this pull request potentially affect one of the following parts:

[ ] Dependencies (add or upgrade a dependency)
[ ] The public API
[ ] The schema
[ ] The default values of configurations
[ ] The threading model
[ ] The binary protocol
[ ] The REST endpoints
[ ] The admin CLI options
[ ] The metrics
[ ] Anything that affects deployment

Documentation

[ ] doc
[ ] doc-required
[x] doc-not-needed
[ ] doc-complete

Matching PR in forked repository
PR in forked repository:

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 73.43%. Comparing base (bbc6224) to head (b9c5757).
Report is 431 commits behind head on master.

Additional details and impacted files

@@             Coverage Diff              @@
##             master   #22998      +/-   ##
============================================
- Coverage     73.57%   73.43%   -0.15%
- Complexity    32624    32964     +340
============================================
  Files          1877     1908      +31
  Lines        139502   142996    +3494
  Branches      15299    15587     +288
============================================
+ Hits         102638   105006    +2368
- Misses        28908    29973    +1065
- Partials       7956     8017      +61

Flag
Coverage Δ

inttests
27.54% <ø> (+2.95%)
:arrow_up:

systests
24.75% <ø> (+0.43%)
:arrow_up:

unittests
72.45% <ø> (-0.40%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.
see 485 files with indirect coverage changes


fix delete of configmap/secret with keys

the unit tests were not creating actual files resulting from k/v's in the configmap/secret data maps
hence the need for an os.RemoveAll vs. the existing os.Remove was missed
also did some cleanup around better unit test concurrency and string literals

/assign @otaviof

Another data race in the disruptive test .. this time it was 2 separate configmap/secret events trying to init the client:
        ==================
        WARNING: DATA RACE
        Write at 0x0000030fa510 by goroutine 81:
          github.com/openshift/csi-driver-projected-resource/pkg/client.initClient()
              /go/src/github.com/openshift/csi-driver-projected-resource/pkg/client/client.go:88 +0x279
          github.com/openshift/csi-driver-projected-resource/pkg/client.ExecuteSAR()
              /go/src/github.com/openshift/csi-driver-projected-resource/pkg/client/client.go:93 +0x47

will see how pervasive it is with a few more runs.  If pervasive, I'll have to fix here for merge, otherwise will fix separately.

/test e2e-aws-operator-disruptive

ok it passed this time ... let's try to review / merge this change as is @otaviof and I'll deal with the data race in a separate PR

A nit comment about hostpath.primeSecretVolume signature, currently we have:
https://github.com/openshift/csi-driver-projected-resource/blob/2ba5bb4acf3aef39584906431ef5d2a315d73da8/pkg/hostpath/hostpath_test.go#L442
However, usually t (testing) comes as a first argument, and by having t, it is always able to extract the test name (t.Name()). Therefore, we can simplify the method signature as the following snippet:
func primeSecretVolume(t *testing.T, hp *hostPath, targetPath, share *sharev1alpha1.Share) *corev1.Secret


Add Code to toggle pio pin when bluetooth is connected or when sound is playing

This will let us control an external amplifier and turn it on when bluetooth pairs.
Volumio has an add-in that does this and it worked great

I dont't understand your request. Do you mean that when a bluetooth device connects a GPIO pin gets activated/disabled?

yes, when a bluetooth device connects, toggle a gpio pin.  this can be used
to with a relay to turn on an external amplifier or perhaps switch inputs
Volumio has this capability for Airplay but they do not implement a
bluetooth receiver.
On Thu, Oct 17, 2019 at 3:35 PM Alex<EMAIL_ADDRESS>wrote:

I dont't understand your request. Do you mean that when a bluetooth device
connects a GPIO pin gets activated/disabled?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/balena-io-projects/balena-sound/issues/22?email_source=notifications&email_token=AJSFGBJNSF2ILZCQTSNJASLQPC5BZA5CNFSM4IPYEQ52YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEBRIS5A#issuecomment-543328628,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AJSFGBKTGDKQGO7YFVSDDU3QPC5BZANCNFSM4IPYEQ5Q
.

I think i just need to add a line in: https://github.com/balena-io-projects/balena-sound/blob/master/bluetooth-audio/bluetooth-udev which runs when a bluetooth device pairs and disconnects.

How do you need it? Should the GPIO pin turned off when the device disconnects or should he stay on? And which pin do you want to use?

The way the volumio implements it is with an addin that you can configure
which pin # you want and if you want it normally off or normally on so as
to provide the most flexibility as to what relay you are using.
Since this is a dedicated player you can perhaps program in any available
two gpio pins one NO and another NC so as avoid a configuration screen
menu. I just need t
On Fri, Oct 18, 2019 at 7:39 AM Alex<EMAIL_ADDRESS>wrote:

How do you need it? Should the GPIO pin turned off when the device
disconnects or should he stay on? And which pin do you want to use?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/balena-io-projects/balena-sound/issues/22?email_source=notifications&email_token=AJSFGBKZ4SU6KEHISJBOSADQPGN77A5CNFSM4IPYEQ52YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEBUBJPI#issuecomment-543691965,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AJSFGBI2WXSX3CJX6FXNES3QPGN77ANCNFSM4IPYEQ5Q
.

@johnborgesfl I think i found a solution. I can use python to control the GPIO Pins with gpiozero. Python has all functions for implementing it so it could work.

@AlexProgrammerDE implemented this on #56


replaced sigma_8 -> sigma8

Fixes #399 as well as a couple other issues (bug in notebook and global pointer initialization). @tmcclintock , could you review?

Pull Request Test Coverage Report for Build 1544

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.495%

Totals

Change from base Build 1540:
0.0%

Covered Lines:
515

Relevant Lines:
545

💛  - Coveralls

Looks fine to me. Just curious why you added this line (and the one below it):
+ccl_gsl_params * ccl_gsl=NULL; // Global variable
I'm not sure why adding the =NULL was necessary.

@tmcclintock : the =NULL lines are to initialize the global pointers. It's already pretty bad that we have global variables, but having them uninitialized is even worse. Especially since CCL checks explicitly for ccl_gsl==NULL to determine whether or not it has to allocate it and fill it up.


LE Audio: Make CCID public

Fixes https://github.com/zephyrproject-rtos/zephyr/issues/76105

Added another unit test and slightly modified existing tests


Emulate headless when running code or selector

By passing a fake argument -headless to the image when running in an
implicit headless environment due to -r or -m evaluating Smalltalk isHeadless will return true now.
Signed-Off: @fniephaus

Coverage remained the same at 47.042% when pulling a008dc7682d2bae9695b397492bfd437bf2fe95c on headless into 5bff36ce0ddb74059cbc549b68d2f334eaf9e2c4 on master.


Qlik-Py-Init Errors

I am encountering errors when I run Qlik-Py-Init.bat file and then when running Qlik-Py-Start.bat.
Please see the screenshots attached.
I have installed Python 3.6.8 and MS C++ compiler as instructed before running Qlik-Py-Tools bat files
Qlik Sense accordingly does not recognize the PyTools functions in expressions containing them
Thanks in advance for a solution

I also have the same problem.

This looks like a duplicate of issue #38. I suspect you both have the 32bit version of Python installed, as the error occurs because of the standard Python module enum missing an attribute in the 32bit version. This is just the tip of the iceberg as the 32bit version will give you various issues.
You'll need to uninstall Python and reinstall the 64 bit version.
https://www.python.org/downloads/release/python-368/
Use the Windows x86-64 executable installer or Windows x86-64 web-based installer.

thank you so much - all working fine now with 64-bit Python :-)


How to implement input onMouseLeave?

How can I implement onMouseLeave?
When I add onMouseLeave prop on Autosuggest, it's not triggered.
Thanks

Just to clarify: are you trying to add onMouseLeave for the input element (not the suggestions)? Have you tried to add inputProps.onMouseLeave?

No activity, closing for now.


New server types with dedicated VCPUs (ccx11 to ccx51).

Hetzner Cloud offers new servers with dedicated VCPU:
https://www.hetzner.com/news/08-18-dedicated-cpu-hc/?country=us
Please check if the suffix _DEDICATED_VCPU fits in your naming conventions. It's a bit bulky but I had no other idea.

Thanks for continuing to support this project. Have your thought about using the _DVCPU suffix?


Cannot update addon if filename has a space

As title say, if the download redirect goes to a filename with a space, the client fails to update the addon with the error (in console): Could not open $filename , retrying...5 times, ending with HTTP Error 400: Bad Request.
I fixed the issue by adding a line at line 171 in waitdlg.py:
downloadLink = re.sub(r" ", "%20", downloadLink)
right below:
downloadLink = soup.select(".download-link")[0].get('data-href')

Do you have an example addon? .... So I can test my changes?

Back when it was an issue, it was "http://mods.curse.com/addons/wow/quest_completist", if it's fixed now on their side, I don't know.


[Bug]: Log rotation not working

Checklist

[X]  I am not using Home Assistant. Or: a developer has told me to come here.
[X] I have checked the troubleshooting section and my problem is not described there.
[X] I have read the changelog and my problem is not mentioned there.

Deploy method
Docker
Zwavejs2Mqtt version
6.12
ZwaveJS version
9.3.0
Describe the bug
A couple of things here I notice:
1 - Expecting a 7-day (?) rotation but the logs are accumulating daily
2 - There's a gap or two in daily log name zips (and I haven't manually deleted any) e.g. June 1 and June 8 in attached file list.
The zwavejs log is rotating every 7 days so this is restricted to zwavejs2mqtt only.
Running from HA with Frenk add-on, if that matters

.
To Reproduce
Configure as per attached configure file.  Let it run > 1 week.
Expected behavior
Logs rotate, directories don't grow with files unmanaged. One archive per day, no gaps.
Additional context
No response

I did some checks a while ago and it was working but I know you are not the only one having by this problem, I will investigate on this


Some improvements

Make using and external code dependencies more explicit.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>9
Details

17 of 23 (73.91%)  changed or added relevant lines in 5 files are covered.
13 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.07%) to 82.229%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/BUGSPrimitives/functions.jl
1
2
50.0%

src/utils.jl
3
5
60.0%

src/model.jl
10
13
76.92%

Files with Coverage Reduction
New Missed Lines
%

src/utils.jl
13
91.26%

Totals

Change from base Build<PHONE_NUMBER>4:
-0.07%

Covered Lines:
1439

Relevant Lines:
1750

💛  - Coveralls


fdisk does not recognize gpt partitions

The version of fdisk does not recognize gpt partitions which breaks locating unpartitioned hdds for boot2docker to setup.

Also struggling with boot2docker's fdisk, I guess it's from busybox and old? Do newer versions really support GPT? I thought you have to use parted ( docker@boot2docker:~$ tce then Search for "parted" and Install it).
When I do dd if=~/Downloads/boot2docker.iso of=/dev/disk3 bs=1M that creates a MBR drive (not GPT) but if I add a partition using fdisk I run into issues like http://www.tldp.org/FAQ/Linux-FAQ/error-messages.html#fdisk-says-partition.
Would be great if someone posted exact commands for making a self-contained docker bootable drive out of a large usb disk. I'm trying to make use of spare machines whose drives I don't necessarily want to mess with, but I'd like to use the machines as docker servers running off a big fast SSD.
I think such a docker boot drive needs to be GPT (so it handles large drives and boots on any PC/Linux hardware). It needs a boot2docker.iso(?) boot partition, a "boot2docker-data" ext4 partition, and probably a separate EXFAT or ext4 partition to store application data e.g. for sharing to containers as a volume.
Wondering if boot2docker is going away in favor of "docker machine" with maybe a baremetal driver https://github.com/docker/machine/issues/291? Sorry I guess this should be a post on groups.

Implementing a baremetal driver for machine would need a dhcp configuration that supports pxe in some way ie its more complicated than just run machine


NoClassDefFoundError on 1.18.1 dedicated server

I'm aware this could well be because the mod hasn't been updated
to 1.18.1 yet, but I did want to report it in case you were not aware.
Versions

Minecraft 1.18.1
Victus 0.1.4+1.18
More mods.. let me know if they're relevant.

 I pushed an update for owo literally right before Christmas which is the first time it ever contained a critical bug. I'll get on fixing it as soon as I can but it has already been reported on three different projects🥲

I know myself about those kind of issues. No worries. Enjoy your Holidays! :green_heart:
I'll just be waiting for Victus and oωo updates to re-add the mod.
Thanks for your work.

Fixed since 0.3.11, but 0.3.12 should be use as 0.3.11 contains a different bug


I want to add a guessing game

I will add a guessing game in which user has to guess the number between 1 and 10 and the score will depend upon the number of tries before guessing the correct number.

Sorry,
I was not able to work as expected,
I regret to say, I will not be able to add the guessing game


Adds a websocket handler

This allows us to intercept and allow or deny a websocket request. There is currently no way to read the websocket data flow.

Looks good overall. Can you add a test?

The WebSocketHandler doesn't have a default value, so pretty much all the existing examples panic.


bad argument (expected URI object or URI string)

I'm running in rails console with the following code:
client = Restforce.new :username =><EMAIL_ADDRESS>:password => 'my password', :api_version => "34.0"
client.describe

and I get the following error:
ArgumentError: bad argument (expected URI object or URI string)
from /usr/local/rvm/gems/ruby-2.2.1/gems/faraday-0.9.2/lib/faraday/utils.rb:260:in URI'         from /usr/local/rvm/gems/ruby-2.2.1/gems/faraday-0.9.2/lib/faraday/connection.rb:309:in url_prefix='
from /usr/local/rvm/gems/ruby-2.2.1/gems/restforce-2.1.2/lib/restforce/concerns/verbs.rb:39:in rescue in block in define_verb'         from /usr/local/rvm/gems/ruby-2.2.1/gems/restforce-2.1.2/lib/restforce/concerns/verbs.rb:34:in block in define_verb'
from /usr/local/rvm/gems/ruby-2.2.1/gems/restforce-2.1.2/lib/restforce/concerns/verbs.rb:61:in block in define_api_verb'         from /usr/local/rvm/gems/ruby-2.2.1/gems/restforce-2.1.2/lib/restforce/concerns/api.rb:106:in describe'
from (irb):7
from /usr/local/rvm/gems/ruby-2.2.1/gems/railties-4.2.4/lib/rails/commands/console.rb:110:in start'         from /usr/local/rvm/gems/ruby-2.2.1/gems/railties-4.2.4/lib/rails/commands/console.rb:9:in start'
from /usr/local/rvm/gems/ruby-2.2.1/gems/railties-4.2.4/lib/rails/commands/commands_tasks.rb:68:in console'         from /usr/local/rvm/gems/ruby-2.2.1/gems/railties-4.2.4/lib/rails/commands/commands_tasks.rb:39:in run_command!'
from /usr/local/rvm/gems/ruby-2.2.1/gems/railties-4.2.4/lib/rails/commands.rb:17:in <top (required)>'         from /usr/local/rvm/gems/ruby-2.2.1/gems/activesupport-4.2.4/lib/active_support/dependencies.rb:274:in require'
from /usr/local/rvm/gems/ruby-2.2.1/gems/activesupport-4.2.4/lib/active_support/dependencies.rb:274:in block in require'         from /usr/local/rvm/gems/ruby-2.2.1/gems/activesupport-4.2.4/lib/active_support/dependencies.rb:240:in load_dependency'
from /usr/local/rvm/gems/ruby-2.2.1/gems/activesupport-4.2.4/lib/active_support/dependencies.rb:274:in require'         from /home/cstep/r2/bin/rails:8:in <top (required)>'
from /usr/local/rvm/gems/ruby-2.2.1/gems/activesupport-4.2.4/lib/active_support/dependencies.rb:268:in load'         from /usr/local/rvm/gems/ruby-2.2.1/gems/activesupport-4.2.4/lib/active_support/dependencies.rb:268:in block in load'
from /usr/local/rvm/gems/ruby-2.2.1/gems/activesupport-4.2.4/lib/active_support/dependencies.rb:240:in load_dependency'         from /usr/local/rvm/gems/ruby-2.2.1/gems/activesupport-4.2.4/lib/active_support/dependencies.rb:268:in load'
from /usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in require'         from /usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in require'

I've hit this exact problem - It's unclear if this is an actual bug, or perhaps there are some assumptions in the usage that aren't clearly documented in the README?

Have either of you had a chance to do some digging into this? I think it'll
be quite easy to find the cause with some digging into the stack trace, but
I'm a little busy right now.
--
Tim Rogers
GoCardless.com https://gocardless.com
On Tue, May 3, 2016 at 4:18 PM, Paul Bennett-Freeman <
<EMAIL_ADDRESS>wrote:

I've hit this exact problem - It's unclear if this is an actual bug, or
perhaps there are some assumptions in the usage that aren't clearly
documented in the README?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
https://github.com/ejholmes/restforce/issues/234#issuecomment-216561797

I had this issue unless I included the instance_url.

Perhaps the Readme can be updated?  I get similar errors when run in console.

Fancy tweaking it for yourself in a PR? 👌
Sent from my iPhone

On 12 May 2016, at 04:07, Anthony Lee<EMAIL_ADDRESS>wrote:
Perhaps the Readme can be updated? I get similar errors when run in console.
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub

I added 'https://'  to the url string and that solves the issue for me.

@timrogers I am using restforce  version 2.1.0 and I don't see this issue. I followed steps specified in above issue.
(here)[https://github.com/ejholmes/restforce/blob/master/lib/restforce/concerns/base.rb#L64] if instance_url is not present then authentication is done and instance_url is set on the client.
But if client_id and client_secret are nil then that produces above issue.

And in (documentation)[https://github.com/ejholmes/restforce/blob/master/lib/restforce/concerns/base.rb#L64] if you are using password authentication then this is specified.
So I think we can close this issue. Your thoughts?

@Shwetakale What is specified? The client_id and client_secret are not explained.

  #        :client_id               - The oauth client id to use. Needed for both
  #                                   password and oauth authentication
  #        :client_secret           - The oauth client secret to use.

These should be explained on the README.
Client vs Connected App.. Are these the same?
To connect to Salesforce you need to define a Connected App in a Salesforce account.
Follow the instructions to create your Connect App. The Connected App creates an Oauth consumer key and secret which you need to authenticate to the force.com API.
Once you create Connected App inside of one Salesforce account, your app can access any Salesforce acccount using the same Oauth credentials.

@shadowbq Do you want to make a PR adding something useful to the README?


subscribe/unsubscribe don't seem to be functioning

Expected Behaviour
subscribe/unsuscribe from topic
Actual Behaviour
push.subscribe or push.unsubscribe don't execute at all
Reproduce Scenario (including but not limited to)
Attempt to call either function in app.js, when platform is ready
Steps to Reproduce
Call function as follows:
push.subscribe('scheduleAndroid', function() {
console.log('success');
}, function(e) {
console.log('error:');
console.log(e);
});
Platform and Version (eg. Android 5.0 or iOS 9.2.1)
Android 4.4.4
(Android) What device vendor (e.g. Samsung, HTC, Sony...)
LeapDroid emulator
Cordova CLI version and cordova platform version
cordova --version                                    Cordova CLI: 6.3.1
cordova platform version android                    android 5.2.2

Plugin version
cordova plugin version | grep phonegap-plugin-push   1.8.3

Sample Push Data Payload
Note: payload works, and sends to all topics. I am trying to unsubscribe from 'all' and subscribe to an Android only topic, so i can send different payloads to iOS and Android.
{
"to": "/topics/scheduleAndroid", //Topic or single device
"data":{
"content-available": "1",
"title": "Notification title",  //Any value
"body": "Notification body"  //Any value
}
}
Sample Code that illustrates the problem
See steps to reproduce
Logs taken while reproducing problem
No logs, as using Ionic and cloud9 for development. Observed behaviour is that either function breaks the app.js flow, which will then work if i comment out the push.subscribe or push.unsubscribe functions.
This may have been functioning a week ago, but i removed the plugin and re-added the latest version yesterday.

Seems like subscriptions was added after 1.8.3. And only added to master (not to v2.0).

@mbaggott subscribe/unsubscribe is not in 1.8.3. I'll see if I can get a 1.8.4 out today. In the meantime you can just install directly from github.

@macdonst Thank you :) Love the plugin, is working really well for me


2023 10 17 fix localscratch

2023 10 17 fix localscratch

Tested on test looked ok:
[xmb@floor1 ~]$ df -h /mnt
Filesystem      Size  Used Avail Use% Mounted on
/dev/vdb        142G  1.1G  134G   1% /mnt
[xmb@floor1 ~]$ df -h /localscratch/
Filesystem      Size  Used Avail Use% Mounted on
/dev/vdb        142G  1.1G  134G   1% /localscratch


CPU [Linux]: Fix inaccurate ARM CPU on SoC systems

Description
Rationale
On systems with system-on-a-chip like Raspberry Pi or Android phones, their CPU output in model name/Processor is ARMv6-compatible processor rev 7 instead of whatever supposed to be there. They are placed in Hardware instead.
processor	: 0
model name	: ARMv6-compatible processor rev 7 (v6l)
BogoMIPS	: 2.28
Features	: half thumb fastmult vfp edsp java tls
CPU implementer	: 0x41
CPU architecture: 7
CPU variant	: 0x0
CPU part	: 0xb76
CPU revision	: 7

Hardware	: BCM2708
Revision	: 0004
Serial		:<PHONE_NUMBER>3b89e4

However there are systems like this, which put proper name of Processors in Processor and put the hardware model in Hardware.
Processor       : StrongARM-1110 rev 9 (v4l)
BogoMIPS        : 137.21
Features        : swp half 26bit fastmult
CPU implementor : 0x69
CPU architecture: 4
CPU variant     : 0x0
CPU part        : 0xb11
CPU revision    : 9

Hardware        : HP iPAQ H3800
Revision        : 0000
Serial          :<PHONE_NUMBER>000000

This is a compromise measure. So if a SoC is detected, it will detect the Hardware part.
It also eliminates the need for getprop in Android.
Issues
N/A, for now.
TODO
More testing.

LGTM :+1:


Gradle not sync sucessfully

Resolved issue gradle not sync successfully after updating android studio > 3.1

I am closing this issue/PR, as it has been migrated to the new repo linked above in the comments. Thank you!


Implement a better solution for generating local packages

xmake package and option/.pkg is an older way to make local packages.
I do not intend to continue to improve it. Later I will try to implement a better solution for generating local packages, which can be better integrated with add_requires() and add_packages().

In my personal use case I would like to treat my libraries and applications in the workspace as individual packages by themselves.
Will it be possible to add the package() definition in the same xmake.lua that has the target() definition? Then add_targets() into the package() to get targets published?
e.g.
If I have following folder structure,
xmake.lua
|_libs
| |_lib1
| | |_xmake.lua
| |_lib2
|   |_xmake.lua
|_apps
  |_app1
    |_xmake.lua

I would like to write the follwing in the libs/lib1/xmake.lua
package("lib1")
	set_version(0.9)
	set_homepage("http://me/my/aswsome/library")
	set_description("my aswome library")
	add_targets("lib1")

	if is_package_manager("conan") then
		-- do conan specific stuff
	end

	if is_package_manager("xrepo") then
		-- do xrepo specific stuff
	end

target("lib1")
	set_kind("static")
	add_files("src/*.cpp")

target("lib1_test")
	set_kind("binary")
	add_files("test/*.cpp")

Note that I don't publish the test target in the package.

When I use "lib1" package from the local workspace, I can add the following in the root xmake.lua (something similar to NPM7 workspaces).
add_worksapce_packages("libs/lib1")
If I use "lib1" in "apps/app1" I can use "add_requires()" and "add_packages()" as mentioned in the previous comment.
It would be great if package is built into "lib/lib1/build/[config hash]" instead of "apps/app1/build/[platform]/[arch]/[debug/release]" to avoid re-building the same package configuration multiple times when used by multiple projects.

On the other hand if I want to publish "lib1" in a package manager (not only xrepo, vcpkg and conan etc...), xmake command line can be extended to generated pagckage manager specific package description from the generic package description available in "libs/lib1/xmake.lua".
xmake create_package_description [package_manager] [package] [git url] [git tag]
For xrepo,
xmake create_package_description xrepo libs/lib1 "http://github.com/me/lib1" "650250979303a649e21f87b5ccd02672af1ea6954b911342ea491f351ceb7122"
This will generate the xmake.lua that can be put in a remote xrepo.
For vcpkg,
xmake create_package_description vcpkg libs/lib1 "http://github.com/me/lib1" "650250979303a649e21f87b5ccd02672af1ea6954b911342ea491f351ceb7122"
This will generate,

vcpkg.json
portfile.cmake
USAGE

Other package managers can be supported in the same way.
To handle package manager specific use cases "is_package_manager()" condition can be added similar to "is_plat()" condition.

If something like this can be achieved xmake would be in a quite unique position not only allowing packages to be consumed from multiple package managers but also allowing xmake packages to be published in multiple package managers from a single definition.

I have supported it.  https://github.com/xmake-io/xmake/pull/1435
Old local package format
It will be deprecated, but we can also use it now.
$ xmake package -f oldpkg

It will generage xxx.pkg, docs: https://xmake.io/#/package/local_package
New local package format (default)
$ xmake package
package(foo): build/packages/f/foo generated

It will generate build/packages/f/foo/xmake.lua
package("foo")
    set_description("The foo package")
    set_license("Apache-2.0")
    add_deps("add", "sub")

    on_load(function (package)
        package:set("installdir", path.join(os.scriptdir(), package:plat(), package:arch(), package:mode()))
    end)

    on_fetch(function (package)
        local result = {}
        result.links = "foo"
        result.linkdirs = package:installdir("lib")
        result.includedirs = package:installdir("include")
        return result
    end)

and
$ tree build/packages/f/foo/
build/packages/f/foo/
├── macosx
│   └── x86_64
│       └── release
│           ├── include
│           │   └── foo.h
│           └── lib
│               └── libfoo.a
└── xmake.lua

We can use add_requires/add_repositories to link this local package
add_rules("mode.debug", "mode.release")

add_repositories("local-repo build")
add_requires("foo")

target("bar")
    set_kind("binary")
    add_files("src/*.cpp")
    add_packages("foo")

In addition, It supports target/add_deps too.
Generate remote package
$ xmake package -f remote

It will generate packages/f/foo/xmake.lua
package("foo")
    set_description("The foo package")
    set_license("Apache-2.0")
    add_deps("add", "sub")

    add_urls("https://github.com/myrepo/foo.git")
    add_versions("1.0", "<shasum256 or gitcommit>")

    on_install(function (package)
        local configs = {}
        if package:config("shared") then
            configs.kind = "shared"
        end
        import("package.tools.xmake").install(package, configs)
    end)

    on_test(function (package)
        -- TODO check includes and interfaces
        -- assert(package:has_cfuncs("foo", {includes = "foo.h"})
    end)

we can pass xmake package -f remote --url=https://xxxx/xxx.tar.gz --shasum=xxxxx --homepage=xxxxx` to rewrite some configurations.

I'd like to provide a use case for this feature.
xmake.lua
set_project("foo")

option("local-repo")
	set_showmenu(true)
	set_description("Use extra local repository.")
option_end()

if has_config("local-repo") then
	add_repositories("local-repo " .. get_config("local-repo"))
end

add_requires("bar")

...

Here the library foo depends on the package bar. If someone just want to use foo but with their own bar implementation, what he should do is just to put package bar in some directory (such as ~/pkgs), and run xmake -f --local-repo=~/pkgs without modification to the build scripts of foo.
If I understand it correctly, that's definitely a great improvement in the flexibility of the package dependency hierarchy.

I'd like to provide a use case for this feature.
xmake.lua
set_project("foo")

option("local-repo")
	set_showmenu(true)
	set_description("Use extra local repository.")
option_end()

if has_config("local-repo") then
	add_repositories("local-repo " .. get_config("local-repo"))
end

add_requires("bar")

...

Here the library foo depends on the package bar. If someone just want to use foo but with their own bar implementation, what he should do is just to put package bar in some directory (such as ~/pkgs), and run xmake -f --local-repo=~/pkgs without modification to the build scripts of foo.
If I understand it correctly, that's definitely a great improvement in the flexibility of the package dependency hierarchy.

No need to do this, you need only run the following command.
$ xmake repo --add local-repo=~/pkgs

I have supported it. #1435
Old local package format
It will be deprecated, but we can also use it now.
$ xmake package -f oldpkg

It will generage xxx.pkg, docs: https://xmake.io/#/package/local_package
New local package format (default)
$ xmake package
package(foo): build/packages/f/foo generated

It will generate build/packages/f/foo/xmake.lua
package("foo")
    set_description("The foo package")
    set_license("Apache-2.0")
    add_deps("add", "sub")

    on_load(function (package)
        package:set("installdir", path.join(os.scriptdir(), package:plat(), package:arch(), package:mode()))
    end)

    on_fetch(function (package)
        local result = {}
        result.links = "foo"
        result.linkdirs = package:installdir("lib")
        result.includedirs = package:installdir("include")
        return result
    end)

and
$ tree build/packages/f/foo/
build/packages/f/foo/
├── macosx
│   └── x86_64
│       └── release
│           ├── include
│           │   └── foo.h
│           └── lib
│               └── libfoo.a
└── xmake.lua

We can use add_requires/add_repositories to link this local package
add_rules("mode.debug", "mode.release")

add_repositories("local-repo build")
add_requires("foo")

target("bar")
    set_kind("binary")
    add_files("src/*.cpp")
    add_packages("foo")

In addition, It supports target/add_deps too.
test example: https://github.com/xmake-io/xmake/blob/dev/tests/actions/package/localpkg/test.lua
"/usr/bin/xcrun -sdk macosx clang++" -o build/macosx/x86_64/release/bar build/.objs/bar/macosx/x86_64/release/src/main.cpp.o -arch x86_64 -mmacosx-version-min=10.15 -isysroot
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.0.sdk -stdlib=libc++
 -L/Users/ruki/projects/personal/xmake/tests/actions/package/localpkg/bar/build/packages/f/foo/macosx/x86_64/release/lib
 -L/Users/ruki/projects/personal/xmake/tests/actions/package/localpkg/bar/build/packages/s/sub/macosx/x86_64/release/lib
 -L/Users/ruki/projects/personal/xmake/tests/actions/package/localpkg/bar/build/packages/a/add/macosx/x86_64/release/lib
 -Wl,-x -lfoo -lsub -ladd -lz

Generate remote package
$ xmake package -f remote

It will generate packages/f/foo/xmake.lua
package("foo")
    set_description("The foo package")
    set_license("Apache-2.0")
    add_deps("add", "sub")

    add_urls("https://github.com/myrepo/foo.git")
    add_versions("1.0", "<shasum256 or gitcommit>")

    on_install(function (package)
        local configs = {}
        if package:config("shared") then
            configs.kind = "shared"
        end
        import("package.tools.xmake").install(package, configs)
    end)

    on_test(function (package)
        -- TODO check includes and interfaces
        -- assert(package:has_cfuncs("foo", {includes = "foo.h"})
    end)

we can pass xmake package -f remote --url=https://xxxx/xxx.tar.gz --shasum=xxxxx --homepage=xxxxx to rewrite some configurations.

@waruqi Greate work, nicely done!!!
Just curious, how does the xmake.lua for lib foo looks like in this example? Where do i specify description, license, etc...?

@madhurajith see https://github.com/xmake-io/xmake/tree/dev/tests/actions/package/localpkg and xmake package --help