Create model_3d provider API scripts & associated DAGs

Problem

After all the preliminary work is done, we need some provider API scripts to test the process and start ingesting model_3d data.
Description

Create the model_3d provider API scripts using the new provider API script template updated in WordPress/openverse#1575 for model_3d providers.
Additional context

3D model sources are documented in the spreadsheet in WordPress/openverse#1592
Implementation

[ ] 🙋 I would be interested in implementing this feature.

Closing as 3d models are indefinitely on hold and no work should be done on them until we re-plan this project.


Add numRecordsInCounter and numBytesInCounter to KafkaConsumer/KafkaSource.

What is the purpose of the change
(For example: This pull request makes task deployment go through the blob server, rather than through RPC. That way we avoid re-transferring them on each deployment (during recovery).)
Brief change log
(for example:)

The TaskInfo is stored in the blob store on job creation time as a persistent artifact
Deployments RPC transmits only the blob storage reference
TaskManagers retrieve the TaskInfo from the blob cache

Verifying this change
(Please pick either of the following options)
This change is a trivial rework / code cleanup without any test coverage.
(or)
This change is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:
(example:)

Added integration tests for end-to-end deployment with large payloads (100MB)
Extended integration test for recovery after master (JobManager) failure
Added test that validates that TaskInfo is transferred only once across recoveries
Manually verified the change by running a 4 node cluser with 2 JobManagers and 4 TaskManagers, a stateful streaming program, and killing one JobManager and two TaskManagers during the execution, verifying that recovery happens correctly.

Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (yes / no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (yes / no)
The serializers: (yes / no / don't know)
The runtime per-record code paths (performance sensitive): (yes / no / don't know)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn/Mesos, ZooKeeper: (yes / no / don't know)
The S3 file system connector: (yes / no / don't know)

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

@AHeise Could you look into these test failures?
[ERROR]   KafkaITCase>KafkaConsumerTestBase.testMetrics:1798->KafkaConsumerTestBase.runMetricsTest:1877 No bytes read
Expected: a value greater than <0L>
     but: <0L> was equal to <0L>
[ERROR]   KafkaShuffleExactlyOnceITCase>KafkaConsumerTestBase.testMetrics:1798->KafkaConsumerTestBase.runMetricsTest:1877 No bytes read
Expected: a value greater than <0L>
     but: <0L> was equal to <0L>
[ERROR]   KafkaShuffleITCase>KafkaConsumerTestBase.testMetrics:1798->KafkaConsumerTestBase.runMetricsTest:1877 No bytes read
Expected: a value greater than <0L>
     but: <0L> was equal to <0L>

@AHeise Could you look into these test failures?
[ERROR]   KafkaITCase>KafkaConsumerTestBase.testMetrics:1798->KafkaConsumerTestBase.runMetricsTest:1877 No bytes read
Expected: a value greater than <0L>
     but: <0L> was equal to <0L>
[ERROR]   KafkaShuffleExactlyOnceITCase>KafkaConsumerTestBase.testMetrics:1798->KafkaConsumerTestBase.runMetricsTest:1877 No bytes read
Expected: a value greater than <0L>
     but: <0L> was equal to <0L>
[ERROR]   KafkaShuffleITCase>KafkaConsumerTestBase.testMetrics:1798->KafkaConsumerTestBase.runMetricsTest:1877 No bytes read
Expected: a value greater than <0L>
     but: <0L> was equal to <0L>

I'm assuming it's not working because it uses the same JMX metrics in the same Java process? Maybe this is the perfect time to introduce the TestReporter. Let me check.


Documentation for RDKit in Java

Hi,
We are trying to use RDKit in our Java application to plot chemical structured from SMILES or InChI. But we didn't find any documentation for using RDKit in Java. Could you point us to Java documentation if it exists?
We found API and Getting Started documentation for C++. I wonder how similar the Java API and C++ API for RDKit, and whether we can use C++ documentation with our Java code.
Thank you!

@asmirn1 Would you mind asking this question in the Discussions tab?
This makes it more discoverable to other users looking for the same information in the future and also keep the bug tracker tidy, since this is not actually a bug.
Thanks in advance, I am closing this now.


Make fallback callback accept Promise.

By doing so, the fallback callback can be asynchronous.

I am interested to know what your use case is for this feature.

@diachedelic  When we need to check the meta or MIME type of the file to decide whether to allow fallback, most of the time the check is asynchronous. Of course, the check can be conducted and synchronously stored previously, but allowing the callback to accept Promise could add flexibility to the method.

But which file are you checking? The fallback function is called only when the read failed. Are you checking some other file? Why would you decide not to allow fallback mode?


OS_QueueCreate failures

The OS_QueueCreate test (in test_msgq) is failing on specific
versions of specific branches where it previously passed.
I observed that after a string of GREEN builds, the nightly
builds were in RED status, with this test being the trigger
for the failure, but only on one of the two test targets.
Rebooting the test target involved cleared the failure. This
is not an acceptable long term solution; testing should not
induce resource leaks.
This was observed on the 64-bit X86 Linux test target, but I
suspect it will be common to all targets sharing that OSAL
Message Queue implementation.

Imported from trac issue 54.  Created by glimes on 2015-05-31T12:44:13, last modified: 2015-11-20T16:22:16

Trac comment by glimes on 2015-07-16 11:41:33:
The main test sequencing script generated by the OSAL build script
now assures that the target has the right number of message queues
configured. This is done by forcing msg_max to 64 after acquiring
the main test lock.

Trac comment by glimes on 2015-07-16 11:44:00:
This has been in place for a while, and has been checked by rebooting
the test targets cfsbt32 and cfsbt64 before running tests. This led
to refinements in the reconfiguration; for example, we no longer make
the update conditional on "old value was too small" and no longer include
code to restore the previous configuration on script exit.
The changes associated with this ticket are scattered around various commits
in the bamboo branch of the cfs_test repository. There were no changes
required to the cfs_osal repository to resolve this issue.


Add Social Signup and Login

Although referenced in https://github.com/vitorfs/bootcamp/issues/66 and https://github.com/vitorfs/bootcamp/issues/2 this task doesn't seem to have been implemented.
Is it now considered out of scope, or was this just an oversight?

Hi @bradlishman It was partially implemented because it requires some additional work if we want to keep it friendly with the old data, and I'm aware than there is still much room for improvement.  We are working on this for the new release.

The new version implements an easy way to add this feature, leaving it just to allow some additional setup. Partially solved because this functionality is a little bit out of scope, but with the code base is easy to implement the missing parts.


iframe

Task with Low priority was created by Jono Kolnik:

iframe

Environment: Chrome 73 on Mac OS with 1628x1232 screen size.
Check it in your website or get more details...

Brendan Mahony:

asdf


refactor: replace archived action

fixes #571.

Without this change

With this change

Without this change
https://github.com/RustAudio/rodio/actions/runs/8711480431

With this change
https://github.com/RustAudio/rodio/actions/runs/8763646895?pr=572

Nice, now CI is without any warnings :)


Better path presentation in quick open window

The way a file path is being presented in quick open window makes it sometimes hard to realise which file to pick. Let's consider two files:
some_project/some_longer_pathsome_longer_pathsome_longer_pathsome_longer_path/fruits/apples/Main.js
some_project/some_longer_pathsome_longer_pathsome_longer_pathsome_longer_path/fruits/bananas/Main.js
If we type "Main" in searchbox the list of results shows only begining of paths and the filenames and it looks ... excactly the same. At this point we have to randomly pick one of the files to check if it's the one we'd like especially since there's no preview editor triggered while navigating through result list (https://github.com/microsoft/vscode/issues/8939).

The solution is to present the ending of a path rather than begining, just like it's done in Sublime Text (please notice where ellipsis is added):

Additionally path could be presented in a separate line for more clarity.
https://github.com/microsoft/vscode/issues/143956#issue-1150370629

Fixed and tested in Commit 404039e


Consider making this support additional languages

Seems prudent to have this clever little "donate nudge" exist in Ruby gems, Python modules, etc... as well :)

Would love to. Open to pull requests :)


Cilium LRP failed to NAT when client side listen same port as endpoint

Bug report

Cilium version

Client: 1.9.4 07b62884c 2021-02-03T11:45:44-08:00 go version go1.15.7 linux/amd64
Daemon: 1.9.4 07b62884c 2021-02-03T11:45:44-08:00 go version go1.15.7 linux/amd64

Kernel version 5.4.0-65-generic

How to reproduce the issue
LRP works well when client  side not listen 80 port.

deploy with yaml  https://gist.github.com/l1b0k/a1936da7e80c1f53c6fa966bf89c4a04
client curl ,test LRP work well

root@ins3:~# nsenter -t 1077188 -n bash
root@ins3:~# curl <IP_ADDRESS>:8080
GET /
Host: <IP_ADDRESS>:8080
ins3 server-mxgkg/default
Counter: 1
Accept: */*
User-Agent: curl/7.68.0

start a listen in client pod

root@ins3:~# nc -lp 80

curl again

root@ins3:~# curl <IP_ADDRESS>:8080
^C

previous trace , i can see no DNAT is done and package is route out the vm

time       NETWORK_NS   INTERFACE    DEST_MAC     PKT_INFO                                 TRACE_INFO
[15:54:26 ][4026532778] b'nil'<PHONE_NUMBER>00 T_SYN:<IP_ADDRESS>:35112-><IP_ADDRESS>:8080 ffff899c60df58e0.0:b'ip_output'
[15:54:26 ][4026532778] b'eth0'<PHONE_NUMBER>00 T_SYN:<IP_ADDRESS>:35112-><IP_ADDRESS>:8080 ffff899c60df58e0.0:b'ip_finish_output'
[15:54:26 ][4026532778] b'eth0'<PHONE_NUMBER>00 T_SYN:<IP_ADDRESS>:35112-><IP_ADDRESS>:8080 ffff899c60df58e0.0:b'__dev_queue_xmit'
[15:54:26 ][4026531992] b'lxc3410fd74de30' e23a36f7c133 T_SYN:<IP_ADDRESS>:35112-><IP_ADDRESS>:8080 ffff899c60df58e0.0:b'netif_rx'
[15:54:26 ][4026531992] b'lxc3410fd74de30' e23a36f7c133 T_SYN:<IP_ADDRESS>:35112-><IP_ADDRESS>:8080 ffff899c60df58e0.0:b'__netif_receive_skb'
[15:54:26 ][4026531992] b'lxc3410fd74de30' e23a36f7c133 T_SYN:<IP_ADDRESS>:35112-><IP_ADDRESS>:8080 ffff899c60df58e0.0:b'ip_rcv'
[15:54:26 ][4026531992] b'lxc3410fd74de30' e23a36f7c133 T_SYN:<IP_ADDRESS>:35112-><IP_ADDRESS>:8080 ffff899c60df58e0.0:b'ip_rcv_finish'
[15:54:26 ][4026531992] b'lxc3410fd74de30' e23a36f7c133 T_SYN:<IP_ADDRESS>:35112-><IP_ADDRESS>:8080 ffff899c60df58e0.0:b'ip_output'
[15:54:26 ][4026531992] b'eth0'      e23a36f7c133 T_SYN:<IP_ADDRESS>:35112-><IP_ADDRESS>:8080 ffff899c60df58e0.0:b'ip_finish_output'
[15:54:26 ][4026531992] b'eth0'      eeffffffffff T_SYN:<IP_ADDRESS>:35112-><IP_ADDRESS>:8080 ffff899c60df58e0.0:b'__dev_queue_xmit'
[15:54:27 ][4026532778] b'nil'<PHONE_NUMBER>00 T_SYN:<IP_ADDRESS>:35112-><IP_ADDRESS>:8080 ffff899c60df58e0.0:b'ip_output'
[15:54:27 ][4026532778] b'eth0'<PHONE_NUMBER>00 T_SYN:<IP_ADDRESS>:35112-><IP_ADDRESS>:8080 ffff899c60df58e0.0:b'ip_finish_output'
[15:54:27 ][4026532778] b'eth0'<PHONE_NUMBER>00 T_SYN:<IP_ADDRESS>:35112-><IP_ADDRESS>:8080 ffff899c60df58e0.0:b'__dev_queue_xmit'

@aditighag pls take a look

hmm, I cannot seem to reproduce on GKE (with cilium 1.9.4 release):
root@client-sz8gw:/# curl <IP_ADDRESS>:8080
GET /
Host: <IP_ADDRESS>:8080
gke-osstest-default-pool-437bf7dd-12ff server-nsgs4/default
Counter: 1
Accept: */*
User-Agent: curl/7.68.0
root@client-sz8gw:/# nc -lp 0 &
[1] 2886
root@client-sz8gw:/# curl <IP_ADDRESS>:8080
GET /
Host: <IP_ADDRESS>:8080
gke-osstest-default-pool-437bf7dd-12ff server-nsgs4/default
Counter: 2
Accept: */*
User-Agent: curl/7.68.0

@Weil0ng You are running 4.19 kernel? I suspect that the loop fix is somehow in effect here. But that's only applicable on > 5.1 kernel.

I'm running 5.4 kernel actually
root@client-sz8gw:/# uname -a
Linux client-sz8gw 5.4.89+ #1 SMP Thu Jan 28 22:59:01 PST 2021 x86_64 x86_64 x86_64 GNU/Linux

@l1b0k can you copy-paste output from ss -a
Here's mine:
root@client-sz8gw:/# ss -a
Netid                    State                        Recv-Q                    Send-Q                                        Local Address:Port                                              Peer Address:Port                    Process
nl                       UNCONN                       0                         0                                                      rtnl:kernel                                                        *
nl                       UNCONN                       0                         0                                                      rtnl:1754                                                          *
nl                       UNCONN                       768                       0                                                   tcpdiag:kernel                                                        *
nl                       UNCONN                       4352                      0                                                   tcpdiag:ss/3018                                                       *
nl                       UNCONN                       0                         0                                                      xfrm:kernel                                                        *
nl                       UNCONN                       0                         0                                                     audit:kernel                                                        *
nl                       UNCONN                       0                         0                                                 fiblookup:kernel                                                        *
nl                       UNCONN                       0                         0                                                       nft:kernel                                                        *
nl                       UNCONN                       0                         0                                                    uevent:kernel                                                        *
nl                       UNCONN                       0                         0                                                      genl:kernel                                                        *
tcp                      LISTEN                       0                         1                                                   <IP_ADDRESS>:80                                                     <IP_ADDRESS>:*
tcp                      TIME-WAIT                    0                         0                                                <IP_ADDRESS>:39798                                           <IP_ADDRESS>:8080

@Weil0ng
Netid                      State                         Recv-Q                      Send-Q                                           Local Address:Port                                                         Peer Address:Port                          Process
nl                         UNCONN                        0                           0                                                         rtnl:dockerd/1023481                                                          *
nl                         UNCONN                        0                           0                                                         rtnl:kernel                                                                   *
nl                         UNCONN                        4352                        0                                                      tcpdiag:ss/1157397                                                               *
nl                         UNCONN                        768                         0                                                      tcpdiag:kernel                                                                   *
nl                         UNCONN                        0                           0                                                         xfrm:kernel                                                                   *
nl                         UNCONN                        0                           0                                                        audit:kernel                                                                   *
nl                         UNCONN                        0                           0                                                    fiblookup:kernel                                                                   *
nl                         UNCONN                        0                           0                                                          nft:kernel                                                                   *
nl                         UNCONN                        0                           0                                                       uevent:kernel                                                                   *
nl                         UNCONN                        0                           0                                                         genl:kernel                                                                   *
u_str                      ESTAB                         0                           0                                                            * 3560736                                                                 * 3560735
u_str                      ESTAB                         0                           0                                                            * 3560735                                                                 * 3560736
tcp                        LISTEN                        0                           1                                                      <IP_ADDRESS>:http                                                              <IP_ADDRESS>:*
tcp                        SYN-SENT                      0                           1                                                   <IP_ADDRESS>:39938                                                      <IP_ADDRESS>:http-alt

@aditighag @Weil0ng I think we need to remove sock4_skip_xlate_if_same_netns().
I briefly wondered whether something like the below could be made to work ...
diff --git a/bpf/bpf_sock.c b/bpf/bpf_sock.c
index b377364e7..37c930a7b 100644
--- a/bpf/bpf_sock.c
+++ b/bpf/bpf_sock.c
@@ -305,6 +305,7 @@ sock4_skip_xlate_if_same_netns(struct bpf_sock_addr *ctx __maybe_unused,
                .ipv4.dport = backend->port,
        };
        struct bpf_sock *sk = NULL;
+       bool match;

        switch (ctx->protocol) {
        case IPPROTO_TCP:
@@ -318,8 +319,9 @@ sock4_skip_xlate_if_same_netns(struct bpf_sock_addr *ctx __maybe_unused,
        }

        if (sk) {
+               match = sk->src_ip4 == backend->address;
                sk_release(sk);
-               return true;
+               return match;
        }
 #endif /* BPF_HAVE_SOCKET_LOOKUP */
        return false;

... but then this won't cover the case when the server binds to <IP_ADDRESS>, so I don't think it's a reliable solution overall. What is happening here is that in the client ns the nc -l 80 auto-binds in the kernel to <IP_ADDRESS> from the same netns, the lookup will score on the more generic address for the target port. Hence we need a more reliable way to detect the real backend netns.
One option could be if we resurrect the old patchset for net_cls and have the agent set the LXC_ID as the classid, and then in the backend have the LXC_ID encoded. Then we can retrieve the current LXC_ID and compare to the backend one, and skip if they match. This won't work for a pure cgroupv2 K8s setting, but we might still be a bit away from that.
Another option could be reliably detect at the bind hook time the kiam proxy ns (), and once we have that recorded we can match on the netns cookie (current vs backend one). Not sure yet how to get to do () reliably right now though, need to brainstorm some more.

in my resent test ,make sock4_skip_xlate_if_same_netns always return false  solve the problem

This won't work for a pure cgroupv2 K8s setting, but we might still be a bit away from that given vast majority have a v1/v2 mixed env.

Let's fallback to cgroupv1 as a last resort. This year we might see many environments switching to v2 only, so let's not hinder the transition.

What is happening here is that in the client ns the nc -l 80 auto-binds in the kernel to <IP_ADDRESS> from the same netns, the lookup will score on the more generic address for the target port.

Hmm, I had my doubt there too, but am curious how come in my test it seems not to be triggered? I have a listening socket on <IP_ADDRESS>:80 too, is it some kernel-specific behavior? @borkmann

This won't work for a pure cgroupv2 K8s setting, but we might still be a bit away from that given vast majority have a v1/v2 mixed env.

Let's fallback to cgroupv1 as a last resort. This year we might see many environments switching to v2 only, so let's not hinder the transition.

For cgroup v2, we could potentially use the BPF cgroup id helper. It's possible to get it from the user space as well, but I'm still trying to figure out how we can retrieve it for the kiam pod.

For cgroup v2, we could potentially use the BPF cgroup id helper. It's possible to get it from the user space as well, but I'm still trying to figure out how we can retrieve it for the kiam pod.

We'll be keeping a mapping of pod metadata to its cgroup-id for socket-lb. So we can identify kiam pods, and inform the datapath about their cgroup-ids so that the datapath skips service translation only for these pods. We can get rid of the socket lookup based loopback fix we currently have in place, and address this limitation.


Upgrade Appwrite service template to 1.5

Appwrite 1.5 Service Template
Service Changes

Removed appwrite-influxdb and related env vars
Removed appwrite-telegraf and related env vars
Replaced appwrite-usage with appwrite-worker-usage and appwrite-worker-usage-dump
Replaced appwrite-schedule with appwrite-scheduler-functions and appwrite-scheduler-messages
Enabled appwrite-assistant
Updated Redis and MariaDB versions
Added additional env vars to appwrite-worker-messaging

Added new env vars:

_APP_MAINTENANCE_DELAY
_APP_CONSOLE_HOSTNAMES

Would like feedback on whether this should be the default: _APP_CONSOLE_HOSTNAMES=localhost,appwrite.io,*.appwrite.io

thank you for the update,
However i am curious in regards to this..
Would like feedback on whether this should be the default: _APP_CONSOLE_HOSTNAMES=localhost,appwrite.io,*.appwrite.io

However i am curious in regards to this..
Would like feedback on whether this should be the default: _APP_CONSOLE_HOSTNAMES=localhost,appwrite.io,*.appwrite.io

I suppose this is something the user should get prompted to define himself, depending on the FQDN

I cannot find _APP_CONSOLE_HOSTNAMES in their docs. Where did you get it from?

@andrasbacsai Add `_APP_CONSOLE_HOSTNAMES` env var to allow more hostnames to the console project by @stnguyen90 in https://github.com/appwrite/appwrite/pull/7377
https://github.com/appwrite/appwrite/blob/f7e6d516efe3afbf6ee2343fd99a9d5692379076/CHANGES.md?plain=1#L131

All default env vars can be found here: https://github.com/appwrite/appwrite/blob/f7e6d516efe3afbf6ee2343fd99a9d5692379076/.env

Sorry, it happened unintentionally when I was syncing my fork.

When this will come out?

I guess whenever @andrasbacsai feels like reviewing and merging it.

@andrasbacsai can you give some attention here, this update adds great things on AppWrite

@andrasbacsai can you give some attention here, this update adds great things on AppWrite

In the meantime, what you can do, is to create an existing Appwrite service and copy paste the contents of https://github.com/coollabsio/coolify/blob/4d8553f95996411142efa6d554df0614c2c9032f/templates/compose/appwrite.yaml into the textarea for Edit Compose File on Coolify.
Remember to add new env variables as well.

@estubmo There is 2 version: '3' lines in this file


Make configs for the mod

make config for each feature that this mod have

Makes bats quiet (they don't make any sounds)

Makes bats intangible (you can swing your tools/etc right through them without being interrupted)

Prevents extra bat spawns on halloween (only if on the server side, everything else works on client alone)

I like to be able to kill bats when I wanted so having that option would be great (basically you made bats invincible :D )

definitely a good idea! can't make any promises about when we get around to implementing it, configs are harder to make than u might think


Orcid queue cannot handle long title

Describe the bug
Orcid queue entries cannot be created if their description is longer than 255 characters.
We have seen this issue on DSpace-Cris (2022.03.00 / 7.4), but it should also be reproducable on DSpace because the ported code has not changed at the relevant lines of code.
To Reproduce
Steps to reproduce the behavior:

ensure that orcidqueue consumer and orcid sync are active in the configuration.
select some item A which is related with some person B that got some authenticated orcid and the orcid sync enabled
edit this item A dc.title and use some text longer than 255 characters.
The orcid queue consumer is triggered and some orcidqueue entry for person B with item A should be generated. This new entry will use the item A metadata dc.title as the description (see OrcidQueueServiceImpl) and at this point...
... the consumer is interrupted by some SQLError that can be found in the logs

2023-03-20 15:35:05,250 ERROR unknown unknown org.hibernate.engine.jdbc.spi.SqlExceptionHelper @ Batch entry 0 insert into public.orcid_queue (attempts, description, entity_id, metadata, operation, owner_id, put_code, record_type, id) values (0, 'Desbois, Patrick, In broad daylight: the secret procedures behind the Holocaust by bullets / Father Patrick Desbois, with a historical introduction by Andrej Umansky, translated from the French by Hilary Reyl and Calvert Barksdale. First paperback edition: New York, 2021', '<anonymized>'::uuid, NULL, 'UPDATE', '<anonymized>'::uuid, '<anonymized>', 'Publication', 1) was aborted: ERROR: value too long for type character varying(255)  Call getNextException to see other errors in the batch.
2023-03-20 15:35:05,250 ERROR unknown unknown org.hibernate.engine.jdbc.spi.SqlExceptionHelper @ ERROR: value too long for type character varying(255)

Expected behavior
We expect the orcid queue entry to be generated sucessfully.
Related work
The description is only shown on the orcid registry queue to the orcid owner. Some description with 255 characters should in most cases be enough information for the orcid owner to distinguish the entries in the registry queue. We suggest that the OrcidQueueServiceImpl, in case the metadatavalue for dc.title is longer than 255 characters, shorten the metadatavalue at position 252 and add three dots to the end.
Another approach could be to change the database schema for Orcid queue table to text.

Definitely sounds like a bug.  I have a slight preference for the approach to change the database schema orcid_queue.description field to be TEXT instead of CHARACTER VARYING(255).  That seems like a relatively simple change, though it will require a new Flyway migration.
In any case, this requires a volunteer to move forward.  I'll move it tentatively to 7.6 board in the hopes that someone volunteers.

We, Universität Konstanz, can confirm that we also have this issue in vanilla DSpace 7.4. As a workaround we changed the column type to TEXT in both orcid_queue and orcid_history which did indeed fix the issue.
We'd also be willing to create the necessary migration

@hutattedonmyarm : If you are willing to contribute your change back via a PR, it'd be very welcome.  I would do my best to ensure it gets into the upcoming 7.6 release.


We have a central translation service for our products. It was so much fine, if you add you user to our translater list. Which language will you add?
http://translate.marketpress.com/projects/plugins/multilingualpress-pro
Register for the service: http://translate.marketpress.com/sign-up/

Oh great a Glotpress install. I have a fully reviewed French translation on my side.
But it doesn't mean you shouldn't remove your de-DE file from the languages folder, add a .pot instead and a nice readme text for people to join your GlotPress community ;)

Currently we have a difference between relase and development, also in the language files. After release the new version we will add all full translation files, also french. There is 100% ready in glotpress.
http://translate.marketpress.com/projects/plugins/multilingualpress-pro
Your idea is fine. I think we add also the hint for the translation service via web, glotpress, to the readme.

Indeed my makepot is clearly different from your glotpress file ;)
Registered there, I'll have a deeper look to the translation

Thanks a lot! :+1:  Now you can edit on the french translation of MLP
http://translate.marketpress.com/projects/plugins/multilingualpress-pro


License

@Ericson2314 This is primarily your code. What do you want the license to be?

Dual MIT and Apache is fine. On a different note, I'm kind of a history buff, could you use the full history I just spliced together from https://github.com/Ericson2314/rust-nightly-nix :)?

Both done. I also restructured my own commits, so your fork won't be able to pull from mine cleanly, but the history is much cleaner.


FAQ: "How do I know that Office Online loaded successfully?"

We get this question every other week or so.

This document would be extremely helpful.  I'm currently running into this issue with a test scenario where my host returns 404 for a CheckFileInfo request due to a user not having authorization to a document.  The host page simply renders the Word Online loading spinner.  I would sure like to know how to hook into this flow, so I can present an error or redirect the end user.


Exploring Playwright to automate import process

Exploring Playwright: auto Login to Flomo, and keep the session alive
Auto generate backup & import to Obsidian

PoC works well file is generated successfully.

fixed in this release


add more complex examples for deform_conv2d

@voldemortX
A useful patch for the PR: https://github.com/pytorch/vision/pull/3758


Made animations slightly smoother when initially moved

Before, if the beginning touch was not on specifically on the center of the thumb, there was a small jerk when the user dragged the thumb.
The update fixes this problem by taking into account the exact part of the thumb the user touches when changing the center.
Also, the first 3 "files changed"  were done unintentionally. The fix to the problem occurs on the last 2 files changed. Being that I am new to github, unfortunately I was unable to remove the first 3 files from the commit.

Thank you very much for that, I have created a .gitignore file, with a few changes so that such an issue with adding files won't happen again.
When you commit something to git, it is easier to add individual files using git add <filename> and then running git commit -m "<message>", rather than running git commit -a. This gives you finer control over what you commit.
You can read more at http://www.sitepoint.com/the-designers-guide-to-git-or-how-i-learned-to-stop-worrying-and-love-the-repository/

thanks for clarifying that for me


Release v<IP_ADDRESS> - New Major Release

Tentative plan is to release v0.18 ~2weeks after the last RC.

schedule is wk2010 if no major issues are found on rc1


DRILL-7673: View set query fails with NPE for non-existing option

DRILL-7673: View set query fails with NPE for non-existing option
Description
OptionManager.getOption() method returns null for non-existing options.
Added call for OptionManager.getOptionDefinition() whith throws valid exception for such case.
Used option name from OptionDefinition to display option name in the correct casing.
Documentation
NA
Testing
Added unit test.

+1


Remap characters for \setminus and \smallsetminus

Status
READY
Description
STIX Two has been updated. (stipub/stixfonts#179) Therefore, this change
achieves Unicode compliance without producing inconsistencies with
STIX. This is regarding issue #181.
Todo

[X] Tests added to cover new/fixed functionality
[X] Documentation added if necessary
[X] Code follows expl3 style guidelines

Minimal example demonstrating the new/fixed functionality
\documentclass{article}
\usepackage{unicode-math}
\setmathfont{texgyrepagella-math.otf}% filename only please!
\begin{document}
\[
  \setminus, \smallsetminus
\]
\end{document}

Sorry for the slow reply. To do this taking into account variations between fonts, wouldn't we need to have a package option or font-loading option to choose whether or not to switch these?

I am sorry, but after this time I can't remember the entire picture. I believe I based this PR on the following. You once said: “The unicode-math definitions come from the STIX table and match up with the STIX fonts (see below), which are the reference implementation for unicode math fonts”^1. The STIX fonts has been updated, therefore unicode-math has to be updated if STIX is supposed to be a “reference implementation”.

\documentclass{article}
\usepackage{fontspec}
\newfontface\lm{lmroman10-regular.otf}
\newfontface\lmm{latinmodern-math.otf}
\newfontface\tgp{texgyrepagella-regular.otf}
\newfontface\tgpm{texgyrepagella-math.otf}
\newfontface\cbia{Cambria}
\newfontface\cbiam{Cambria Math}
\newfontface\sx{Stix Two Text}
\newfontface\sxm{Stix Two Math}
\newfontface\ncm{NewCM10-Book.otf}
\newfontface\ncmm{NewCMMath-Book.otf}
\newfontface\fira{FiraSans-Regular.otf}
\newfontface\firam{FiraMath-Regular.otf}

\usepackage{amssymb}
\begin{document}

{\tiny
U+005C REVERSE SOLIDUS

U+2216 SET MINUS

U+27CD MATHEMATICAL FALLING DIAGONAL

U+29F5 REVERSE SOLIDUS OPERATOR

U+FE68 SMALL REVERSE SOLIDUS

}
\def\x#1 #2 #3:#4\relax{#3}
\newcommand\test[2]{
#1 \expandafter\expandafter\expandafter\x\expandafter\meaning\the\font\relax
&#1  \char"005C   &#1  ^^^^29f5 &#1  ^^^^2216  &#1  ^^^^27cd &#1  ^^^^fe68  \\
#2 \expandafter\expandafter\expandafter\x\expandafter\meaning\the\font\relax
&#2  \char"005C   &#2  ^^^^29f5 &#2  ^^^^2216  &#2  ^^^^27cd &#2  ^^^^fe68  \\[10pt]
}

\begin{tabular}{llllll}
    &005C             &2216         &27CD          &29F5         &FE68        \\
amssymb &$\backslash$&$\setminus$& ? &$\smallsetminus$&?\\[10pt]
\test\lm\lmm
\test\tgp\tgpm
\test\cbia\cbiam
\test\sx\sxm
\test\ncm\ncmm
\test\fira\firam
\end{tabular}

\end{document}

Which is fairly depressing, none of the OTF really has a small set minus apart from NCM but at least U+29F5 is more slanted so that's a better map for smallsetminus in the fonts where it exists. So I think that should be the used were possible but neither is usable as a straight default setting I think the settings need to be guarded by tests to see if the characters exist in the font and set them to something that exists in all cases.

@wspr  perhaps something like this, modify the table as in this PR but at the end make sure both commands point to something
\documentclass{article}

\usepackage{unicode-math}
\AtBeginDocument{%
% from (new) unicode-math-table
%\UnicodeMathSymbol{"02216}{\setminus                 }{\mathbin}{reverse solidus operator}%
%\UnicodeMathSymbol{"029F5}{\smallsetminus            }{\mathbin}{small set minus (cf. reverse solidus)}%
\iffontchar\textfont2 "02216 \else
  \let\setminus \backslash
\fi
\iffontchar\textfont2 "029F5 \else
  \let\smallsetminus\setminus
\fi
}

%\setmathfont{NewCMMath-Book.otf}
%\setmathfont{FiraMath-Regular.otf}
\setmathfont{Stix Two Math}

\begin{document}

$[\backslash][\setminus][\smallsetminus]$
\end{document}

Many thanks for the contributions and input here. I've taken this on board but implemented it slightly differently — update to come.


Could not disable shadow route for index action in sails v0.12.3

Sails version: 0.12.3
Node version: 4.2.3
NPM version: 2.14.7
Operating system: Ubuntu 14.04

Could not disable blueprint routes.
Situation:
I have a UserController having index action and corresponding User model and I have bind
/guests to UserController's index action. Now I want to disable blueprint route provided by sails, so that /guests should be the only endpoint for User index action.
So I have set
module.exports.blueprints = {
  actions: false,
  rest: false,
  shortcuts: false
};

However this seems to have no effect, and I could still list all users using /user endpoint.
I have created a test project with the configuration I mentioned.
Steps to reproduce

Setup app

git clone https://github.com/sujanadiga-practo/sails-test
cd sails-test
npm install
sails lift

Go to localhost:1337/user
Expected: 404(since this route is not bound to any action in routes and blueprints are disabled)

Obtained:
{
  "message": "Users fetched",
  "users": []
}

Also http method seems to have no effect

@sujanadiga-practo thanks for the report- verified in latest sails 0.12.x.  We'll follow up with a patch momentarily.

@sgress454 thanks!

verified fixed in the repro app: https://trello.com/c/5oubdDY2/78-sails-0-12-x-blueprints-bug-4023-rather-than-supplying-any-kind-of-workaround-we-should-publish-a-0-12-13-patch-with-the-fix-i-v

https://github.com/sujanadiga-practo/sails-test/pull/1
published in 0.12.13

Its fixed in v0.12.13, thank you @mikermcneil


Lazy component compilations

Currently, TestEnvironment#registerComponent eagerly compiles the component layout, which causes it to try to lookup other component definitions that might not have been loaded yet (which then causes the compiler to emit OpenPrimitiveElement).
(This is just a TestEnvironment implementation issue, so it shouldn't require any Glimmer changes)

Working on this one.

Closed by #50


Exclude log directory from analysis

It looks like the script greps everything inside the current directory.
Some directories should likely be excluded by default, like the /log directory, which frequently contains large files that don't have application code.

@itsderek23 I just copied into the directories I cared about app and so on and then ran it in isolation per directory

You can now use the java version which takes in the folder as the parameter
Sent with GitHawk


feat(concepts): string meta_value_constant

Generalize meta_value_constant to support string-like types.

The library already supports this usage, and widely utilizes it in units.


Deletes freshly emitted .css files

Using emit webpack hook seems too late.
I am using MiniCssExtractPlugin to emit .css files from .less files, and my working theory is that this happens before the emit hook in webpack is fired. I created my own simple delete plugin that instead uses compile hook and what works (see below).
If this plugin either switched to compile by default, or had an option to specify what hook to use, then I guess that would also work.
CustomWebpackDeletePlugin.js
const fs = require('fs');

function removeDir(path) {
  var execSync = require('child_process').execSync;
  execSync('rm -r ' + path);
  console.log('Deleted: ' + path);
}

function WebpackDeletePlugin(paths) {
  const defaultPaths = [ 'dist'];
  this.paths = paths || defaultPaths;

  if (!this.paths || !this.paths.length) {
    throw '"paths.paths" must be an array with at least one absolute path.';
  }
}

WebpackDeletePlugin.prototype.apply = function(compiler) {
  const paths = this.paths;
  console.log('Params', paths)
  compiler.hooks.compile.tap('Delete files/dirs', (compilation) => {
    for (const path of paths) {
      removeDir(path);
      // fs.unlinkDirSync(path);
      console.log(`Deleted: "${path}"...`)
    }
  });
};

module.exports = WebpackDeletePlugin;

Closed in v2.0.0 via #99. See johnagan/clean-webpack-plugin#usage. Please open a new issue if you continue to have problems.


Querying to different firebase project

Is your feature request related to a problem? Please describe.
I've two different projects on firebase. But I'd like to access or establish communication between them.
Describe the solution you'd like
There should be some documentation on how to achieve this through cloud_firestore
Additional context
https://firebase.googleblog.com/2016/12/working-with-multiple-firebase-projects-in-an-android-app.html

If I understand the issue correctly, this is already possible. See here


Remove done tasks.

The paper "Ding" appears multiple times:

I think, because of https://github.com/InAnYan/jabref/issues/108
This makes the impression that the summary is created multiple times in parallel.

[ ] After a task is done, it should be removed from the task list. I hope, this is possible with the current task infrastructure.

Closed, as completed in https://github.com/JabRef/jabref/pull/11574


Script no longer working

Looks like Spinitron changed the location of their file storage. Your script is looking for the files at "https://ark-wxox.s3.us-east-1.amazonaws.com/" and the new location is "https://ark2.spinitron.com/ark2/".  I changed the location in your script to the new location, but that didn't fix the issue. I'm still getting 404 errors.

Hmm, I see. There is even a nice m3u8 index file now.  Script is broken until further notice!

Normally, a nice m3u8 file would be appreciated. You can use something like JDownloader to download the file inside the m3u8 for you or simply paste the link inside the m3u8 into a new tab and download it there. However, in this case, the link you get doesn't contain an ending time, only a starting time. Therefore, you end up getting the whole rest of the 24 hour period instead of what you actually wanted. Like in my case, I simply want the downloads of my 60 minute show.

I played with it for a little today and made a little progress.  There appear to be index files for every 1/2 hour period.  So I've tired using those to get all the audio segments. However, when I concatenate them I get an mpeg (not what the format is actually...) that claims to be only 1/2 as long as it should be.  At least when I try to get my show, I attempt a one hour show, get 360 10s segments but the ultimate file reports 30min lengh in the player (where player is just the finder on my mac).
Possibly there is some meta data I need to adjust?
Feel free to play with it. The branch is mk-m3u8

Using ffmpeg on the chunks works better, eg:
First of all set program to not delete all the chunks, then
ls -1 wxox_0*.mpeg | awk '{print "file " $1}' >mylist.txt
ffmpeg -f concat -safe 0 -i mylist.txt -c copy outout.mpeg

I put the ffmpeg stuff in the script. I think it's working now.

That's great. Thanks for keeping up with this. I'll give it a shot.

I just tried it, but am getting a new error about SSL certs and such.
% ./spinget.py 01/25/2022 17:00 1
show start is 20220125T220000Z
fetching index for 20220125T220000Z
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 1348, in do_open
h.request(req.get_method(), req.selector, req.data, headers,
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/http/client.py", line 1282, in request
self._send_request(method, url, body, headers, encode_chunked)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/http/client.py", line 1328, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/http/client.py", line 1277, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/http/client.py", line 1037, in _send_output
self.send(msg)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/http/client.py", line 975, in send
self.connect()
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/http/client.py", line 1454, in connect
self.sock = self._context.wrap_socket(self.sock,
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/ssl.py", line 512, in wrap_socket
return self.sslsocket_class._create(
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/ssl.py", line 1070, in _create
self.do_handshake()
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/ssl.py", line 1341, in do_handshake
self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:997)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/sean/Downloads/spinget-main/./spinget.py", line 151, in
seglist = loadsegs(utcs, hours)
File "/Users/sean/Downloads/spinget-main/./spinget.py", line 110, in loadsegs
playlist = m3u8.load(INDEXURL.format(showtime))
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/m3u8/init.py", line 46, in load
content, base_uri = http_client.download(uri, timeout, headers, verify_ssl)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/m3u8/httpclient.py", line 20, in download
resource = opener.open(uri, timeout=timeout)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 519, in open
response = self._open(req, data)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 536, in _open
result = self._call_chain(self.handle_open, protocol, protocol +
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 496, in _call_chain
result = func(*args)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 1391, in https_open
return self.do_open(http.client.HTTPSConnection, req,
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 1351, in do_open
raise URLError(err)
urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:997)>

hmm, see this:
https://stackoverflow.com/questions/27835619/urllib-and-ssl-certificate-verify-failed-error

Good call. I dug into that thread and ran the install_certificates.command command. Certifi was installed and created the symlink to the certs. After that, the script ran fine. Thanks for the help. This probably wouldn't have happened on Windows. That thread seemed to be solely about Macs, which obviously I'm using.

Excellent

After working for one week, now I'm getting a new error. I decided to try and update ffmpeg to the latest version. Couldn't do that out of the gate, because I'm on a M1 Mac, so I had to to reinstall Homebrew and ffmpeg. Still didn't fix the issue. The script works up to the ffmpeg part and then ffmpeg can't concat the files. Since I already had the files downloaded, I simply took your commands out of this convo and ran them manually. Same error. I suspect the second error is because of the first, but not sure.
[mpegts @ 0x144e0b4d0] start time for stream 1 is not set in estimate_timings_from_pts
Input #0, concat, from 'wxox_20220201T220000Z_1h.mpeg.index':
Duration: N/A, start: 0.000000, bitrate: 131 kb/s
Stream #0:0: Audio: aac (LC) ([15][0][0][0] / 0x000F), 44100 Hz, stereo, fltp, 131 kb/s
Stream #0:1: Data: timed_id3 (ID3  / 0x20334449)
[mpeg @ 0x144e0fb30] Unsupported audio codec. Must be one of mp1, mp2, mp3, 16-bit pcm_dvd, pcm_s16be, ac3 or dts.
Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument
Error initializing output stream 0:0 --
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Last message repeated 1 times

Thought this might be a new show problem, not an old show problem, so I tried running the script again for a show in the past two weeks with the same result. A show that I had previously used this script to successfully download last week mind you. So something has changed again.

Thanks for bringing this to my attention. I'll look into it!


Flutter Form Builder German Translation

And here you are with the German (my mother-tongue son helped here ;) ).

Any timeline on when this will get merged?


Improve testing 🧪

Fixes #19. Note: This also has very significant architecture changes to facilitate a testable architecture going forward. As such, it's quite massive.
Along the way, we've also gone and done these things:

fix #22
fix #7
Refactor electron-builder output dir
Move entrypoint(s)
Adapt to consistent 2-space tabbing
Refactor environment-variable parsing

I'm thinking of this as the large chunk of work that takes this from a "hackathon proof of concept" to something a bit more concrete, that we should be able to build off of going forward.

Needs a thorough manual test-pass.

Darn - SonarCloud includes branch coverage in it's number, not just file. so this needs a bit more.

Great - we're finally seeing green.
🚨 Before we remove the invalid, I'll do a manual test pass (in the am) and report back here.

Signalling connection fails, due to CSP. We need our stream provider to load a CSP-open page.

Removed invalid, added reviewers, this is ready to go from my perspective.

Ah - we fail CI now because no dotfile - need to improve that.

Well that's cool - that helped me find a logical bug in environment-data loading 🚀 🎸

@bengreenier  There is a bug when running in Docker:
><EMAIL_ADDRESS>direct-start /home/electron/browserd
> electron . "--no-sandbox"

Workaround: Creating context on data display instead of control
            You can ignore this message
{"level":40,"time":1561993402408,"pid":48,"hostname":"323a47171eab","msg":"dotenv failed: Error: ENOENT: no such file or directory, open '/home/electron/browserd/.env'","v":1}
Fontconfig warning: "/etc/fonts/fonts.conf", line 100: unknown element "blank"
ATTENTION: default value of option force_s3tc_enable overridden by environment.
{"level":30,"time":1561993402829,"pid":48,"hostname":"323a47171eab","msg":"Node: using Twilio","v":1}
{"level":30,"time":1561993402830,"pid":48,"hostname":"323a47171eab","msg":"Node: creating browser","v":1}
{"level":30,"time":1561993403975,"pid":48,"hostname":"323a47171eab","msg":"Node: created browser","v":1}
{"level":30,"time":1561993404978,"pid":48,"hostname":"323a47171eab","msg":"Node: creating streamer","v":1}
{"level":30,"time":1561993405160,"pid":115,"hostname":"323a47171eab","msg":"Browser: initializing application","v":1}
{"level":50,"time":1561993405185,"pid":115,"hostname":"323a47171eab","msg":"Browser: failed to boot: TypeError: Cannot read property 'id' of undefined","v":1}

Docker is happy now - I also added stack tracing on errors, if stacks are present. This should help us trace these kind of failures better in the future.

@bengreenier Looking great! I have a couple of questions and feedback but most of them are minor, no real blocker.

@bengreenier We're having 7 major Code Smells issues. Do you plan to fix them?

@phongcao not at this point, 7 is still really low for their "grade". I'll make a pass over them in the future.


Explicit panic on Falcon

Hi,
I have most models to work with; thanks again for your guidance, but I also had one other issue with Falcon.  Hopefully, someone knows about this.
codespace@codespaces-f226cf:/workspaces/rust-candle-demos/candle$ RUST_BACKTRACE=1 && cargo run --example falcon --release -- --pr
ompt "which 100m sprinter won the 1984 olympics"?
warning: some crates are on edition 2021 which defaults to `resolver = "2"`, but virtual workspaces default to `resolver = "1"`
note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
    Finished release [optimized] target(s) in 0.35s
     Running `target/release/examples/falcon --prompt 'which 100m sprinter won the 1984 olympics?'`
Running on CPU, to run on GPU, build this example with `--features cuda`
retrieved the files in 226.6µs
loaded the model in 8.0565019s
starting the inference loop
thread 'main' panicked at 'explicit panic', /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/candle-gemm-0.15.6/src/gemm.rs:143:9
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

That's because the model use bf16 for which there is no cpu implementation. I'll make the error message more explicit, if you have a gpu maybe you want to use --features cuda?

Or you can try --use-f32 if you have lots of memory :)

Or you can try --use-f32 if you have lots of memory :)

That worked!  These GPU boxes from GitHub Codespaces for pretty crazy memory:
codespace@codespaces-f226cf:/workspaces/rust-candle-demos$ free -h
              total        used        free      shared  buff/cache   available
Mem:          110Gi        31Gi        44Gi       4.0Mi        33Gi        77Gi
Swap:            0B          0B          0B

codespace@codespaces-f226cf:/workspaces/rust-candle-demos/candle$ RUST_BACKTRACE=1 && cargo run --example falcon --release -- --prompt "which 100m sprinter won the 1984 olympics"? --use-f32
warning: some crates are on edition 2021 which defaults to `resolver = "2"`, but virtual workspaces default to `resolver = "1"`
note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
    Finished release [optimized] target(s) in 0.19s
     Running `target/release/examples/falcon --prompt 'which 100m sprinter won the 1984 olympics?' --use-f32`
Running on CPU, to run on GPU, build this example with `--features cuda`
retrieved the files in 218.6µs
loaded the model in 17.0826025s
starting the inference loop
> 2.6911119s
1 token: 193 '

That's because the model use bf16 for which there is no cpu implementation. I'll make the error message more explicit, if you have a gpu maybe you want to use --features cuda?

Good to know!  Yes, the plan is for me to mostly use GPU to work with Candle.
These boxes do have CUDA working and I was able to get your previous library Rust PyTorch working well with them.  I am not an expert at configuring GPU in GitHub Codespaces by my contact at Microsoft is an expert and he promised to help fix this configuration, I will add him to this ticket.
codespace@codespaces-f226cf:/workspaces/rust-candle-demos/candle$ nvidia-smi
Thu Aug 24 22:22:40 2023
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.86.10              Driver Version: 535.86.10    CUDA Version: 12.2     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  Tesla V100-PCIE-16GB           On  | 00000001:00:00.0 Off |                  Off |
| N/A   31C    P0              23W / 250W |      0MiB / 16384MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+

+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|  No running processes found                                                           |
+---------------------------------------------------------------------------------------+

You probably already tried it but using --features cuda might work well out of the box if cuda is installed at some default locations. E.g.
RUST_BACKTRACE=1 cargo run --example falcon --features cuda --release -- --prompt ...

You probably already tried it but using --features cuda might work well out of the box if cuda is installed at some default locations. E.g.
RUST_BACKTRACE=1 cargo run --example falcon --features cuda --release -- --prompt ...

I believe this is an error on my CUDA configuration which I am working on fixing (Codespaces are bit tricky to get perfect but once you do they are pretty cool because you can "fork" the environment and GPU "just works".
codespace@codespaces-f226cf:/workspaces/rust-candle-demos/candle$ RUST_BACKTRACE=1 cargo run --example falcon --features cuda --release -- --prompt "What is an apple"
warning: some crates are on edition 2021 which defaults to `resolver = "2"`, but virtual workspaces default to `resolver = "1"`
note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
   Compiling rayon v1.7.0
   Compiling cudarc v0.9.14
   Compiling candle-examples v0.1.3 (/workspaces/rust-candle-demos/candle/candle-examples)
error: failed to run custom build command for `cudarc v0.9.14`
note: To improve backtraces for build dependencies, set the CARGO_PROFILE_RELEASE_BUILD_OVERRIDE_DEBUG=true environment variable to enable debug information generation.

Caused by:
  process didn't exit successfully: `/workspaces/rust-candle-demos/candle/target/release/build/cudarc-4b11c4da84f29f3d/build-script-build` (exit status: 101)
  --- stdout
  cargo:rerun-if-changed=build.rs
  cargo:rerun-if-env-changed=CUDA_ROOT
  cargo:rerun-if-env-changed=CUDA_PATH
  cargo:rerun-if-env-changed=CUDA_TOOLKIT_ROOT_DIR

  --- stderr
  thread 'main' panicked at 'Unable to find `include/cuda.h` under any of: ["/usr", "/usr/local/cuda", "/opt/cuda", "/usr/lib/cuda", "C:/Program Files/NVIDIA GPU Computing Toolkit", "C:/CUDA"]. Set the `CUDA_ROOT` environment variable to `$CUDA_ROOT/include/cuda.h` to override path.', /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/cudarc-0.9.14/build.rs:21:13
  stack backtrace:
     0: rust_begin_unwind
               at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/std/src/panicking.rs:593:5
     1: core::panicking::panic_fmt
               at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/core/src/panicking.rs:67:14
     2: build_script_build::link_cuda::{{closure}}
     3: core::option::Option<T>::unwrap_or_else
     4: build_script_build::link_cuda
     5: build_script_build::main
     6: core::ops::function::FnOnce::call_once
  note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
warning: build failed, waiting for other jobs to finish...
error: failed to run custom build command for `candle-examples v0.1.3 (/workspaces/rust-candle-demos/candle/candle-examples)`
note: To improve backtraces for build dependencies, set the CARGO_PROFILE_RELEASE_BUILD_OVERRIDE_DEBUG=true environment variable to enable debug information generation.

Caused by:
  process didn't exit successfully: `/workspaces/rust-candle-demos/candle/target/release/build/candle-examples-f3567e9c5827622f/build-script-build` (exit status: 1)
  --- stdout
  cargo:rerun-if-changed=build.rs

  --- stderr
  Error: cannot find include/cuda.h

  Stack backtrace:
     0: build_script_build::set_cuda_include_dir
     1: build_script_build::main
     2: core::ops::function::FnOnce::call_once
     3: std::sys_common::backtrace::__rust_begin_short_backtrace
     4: std::rt::lang_start::{{closure}}
     5: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once
               at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/core/src/ops/function.rs:284:13
        std::panicking::try::do_call
               at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/std/src/panicking.rs:500:40
        std::panicking::try
               at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/std/src/panicking.rs:464:19
        std::panic::catch_unwind
               at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/std/src/panic.rs:142:14
        std::rt::lang_start_internal::{{closure}}
               at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/std/src/rt.rs:148:48
        std::panicking::try::do_call
               at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/std/src/panicking.rs:500:40
        std::panicking::try
               at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/std/src/panicking.rs:464:19
        std::panic::catch_unwind
               at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/std/src/panic.rs:142:14
        std::rt::lang_start_internal
               at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/std/src/rt.rs:148:20
     6: std::rt::lang_start
     7: main
     8: __libc_start_main
               at /build/glibc-SzIz7B/glibc-2.31/csu/../csu/libc-start.c:308:16
     9: _start
codespace@codespaces-f226cf:/workspaces/rust-candle-demos/candle$

Ah yes certainly looks like a cuda setup issue with cudarc not finding include/cuda.h. Typical install would be in /usr/local/cuda but maybe this is different in your setup (the error message mentions the list of paths that were searched for this file and some useful enviroment variables in case you want to use some custom location, e.g. CUDA_ROOT).

Ah yes certainly looks like a cuda setup issue with cudarc not finding include/cuda.h. Typical install would be in /usr/local/cuda but maybe this is different in your setup (the error message mentions the list of paths that were searched for this file and some useful enviroment variables in case you want to use some custom location, e.g. CUDA_ROOT).

Thanks again for all of your help, I was able to make significant progress and get CUDA working in GitHub Codespaces due the help from @alfredo deza.  This is a repo that has a GitHub Codespace that should work for the majority of candle examples:  Candle Demos .devcontainer
The main issue was the following:

sudo apt-get install cuda-nvcc-12-2
export PATH=$PATH:/usr/local/cuda-12.2/bin
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
sudo apt-get install cuda-toolkit-12-2

I verified that most candle demos including whisper and big code and bert work.  I still have an issue with Falcon:
codespace@codespaces-ac540e:/workspaces/rust-candle-demos/candle$ RUST_BACKTRACE=1 cargo run --features cuda --example falcon --release -- --prompt "What is the best ty
pe of Apple to eat"?
warning: some crates are on edition 2021 which defaults to `resolver = "2"`, but virtual workspaces default to `resolver = "1"`
note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
    Finished release [optimized] target(s) in 0.67s
     Running `target/release/examples/falcon --prompt 'What is the best type of Apple to eat?'`
retrieved the files in 254µs
loaded the model in 8.1835721s
starting the inference loop
Error: DriverError(CUDA_ERROR_NOT_FOUND, "named symbol not found") when loading is_u32_bf16

Stack backtrace:
   0: falcon::model::Falcon::forward
   1: falcon::TextGeneration::run
   2: falcon::main
   3: std::sys_common::backtrace::__rust_begin_short_backtrace
   4: std::rt::lang_start::{{closure}}
   5: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once
             at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/core/src/ops/function.rs:284:13
      std::panicking::try::do_call
             at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/std/src/panicking.rs:500:40
      std::panicking::try
             at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/std/src/panicking.rs:464:19
      std::panic::catch_unwind
             at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/std/src/panic.rs:142:14
      std::rt::lang_start_internal::{{closure}}
             at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/std/src/rt.rs:148:48
      std::panicking::try::do_call
             at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/std/src/panicking.rs:500:40
      std::panicking::try
             at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/std/src/panicking.rs:464:19
      std::panic::catch_unwind
             at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/std/src/panic.rs:142:14
      std::rt::lang_start_internal
             at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/std/src/rt.rs:148:20
   6: main
   7: __libc_start_main
             at /build/glibc-SzIz7B/glibc-2.31/csu/../csu/libc-start.c:308:16
   8: _start

Re is_u32_bf16 missing, this may be caused by having an old GPU that doesn't support old bf16, we require cuda-arch >= 800 for these. Could you check your compute cap by running nvidia-smi --query-gpu=compute_cap --format=csv?

Re is_u32_bf16 missing, this may be caused by having an old GPU that doesn't support old bf16, we require cuda-arch >= 800 for these. Could you check your compute cap by running nvidia-smi --query-gpu=compute_cap --format=csv?

codespace@codespaces-ac540e:/workspaces/rust-candle-demos/candle$ nvidia-smi --query-gpu=compute_cap --format=csv
compute_cap
7.0

Yep I'm afraid that explains it, we could convert the ops to take place in f16 but then might easily run into precision issues.

Yep I'm afraid that explains it, we could convert the ops to take place in f16 but then might easily run into precision issues.

No problem!  Feel free to close ticket.  Related I also have a lot of money to spend on AWS.  If anyone has advice on AWS GPU setup for development that would recommend let me know...otherwise, will most likely provision an EC2 Spot instance with a Custom AMI that has all of the CUDA stuff hooked up.  I might go Ubuntu for this since I could mimick a similar setup as GitHub Codespaces.
Thanks again for all of work on Candle!  I think it is the future of LLMOps and MLOps.

Can verify VSCode + SSH to AWS works pretty well.  Note, I am working on getting permissions to P4 and will verify Falcon.

Great, I think P4 being Pascal they may be a bit too old for bf16 but certainly worth trying.

Great, I think P4 being Pascal they may be a bit too old for bf16 but certainly worth trying.

Tell you what I will do a quick matrix test of all the new GPU instances on AWS will give me access to since I have a budget to test things out.  Related I may build a Rust spot instance launcher tool soon, and/or integrate EFS to store artifacts since I see myself doing a lot of work with Rust Candle.

Sounds great, looking forward to potential aws related tooling. I would recommend Ampere or Hopper if there is some availability for these, the upside is that you can use flash-attention on these (see the flash-attn feature) and this is quite a game changer for inference speed on transformer architectures (thanks to all the hard work that has been put in flash-attn-v2).

Ok, I have some more info, and it does look like there may be a bug even with compute_cap >8.  I finally found a decent instance I could test with and selected with a G5:  https://aws.amazon.com/ec2/instance-types/g5/.
Instance type
g5.16xlarge
ubuntu@ip-172-31-21-63:~/candle$ git rev-parse HEAD
6559eae72cd55939f477f6d9ba45c228823c5b06

ubuntu@ip-172-31-21-63:~/candle$ nvidia-smi --query-gpu=compute_cap --format=csv
compute_cap
8.6
ubuntu@ip-172-31-21-63:~/candle$ RUST_BACKTRACE=1 cargo run --features cuda --example falcon --release -- --prompt "What is the best ty
> pe of Apple to eat"?
   Compiling candle-examples v0.1.3 (/home/ubuntu/candle/candle-examples)
    Finished release [optimized] target(s) in 11.55s
     Running `target/release/examples/falcon --prompt 'What is the best ty
pe of Apple to eat?'`
tokenizer.json [00:00:00] [████████████████████████████████████████████████████████████████████████] 2.61 MiB/2.61 MiB 26.94 MiB/s (0s)..del-00001-of-00002.safetensors [00:00:22] [█████████████████████████████████████████████████████] 9.27 GiB/9.27 GiB 419.26 MiB/s (0s)..del-00002-of-00002.safetensors [00:00:09] [█████████████████████████████████████████████████████] 4.18 GiB/4.18 GiB 458.51 MiB/s (0s)retrieved the files in 32.218427604s
loaded the model in 6.609368502s
starting the inference loop
Error: DriverError(CUDA_ERROR_NOT_FOUND, "named symbol not found") when loading is_u32_bf16

Stack backtrace:
   0: falcon::model::Falcon::forward
   1: falcon::TextGeneration::run
   2: falcon::main
   3: std::sys_common::backtrace::__rust_begin_short_backtrace
   4: std::rt::lang_start::{{closure}}
   5: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once
             at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/core/src/ops/function.rs:284:13
      std::panicking::try::do_call
             at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/std/src/panicking.rs:500:40
      std::panicking::try
             at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/std/src/panicking.rs:464:19
      std::panic::catch_unwind
             at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/std/src/panic.rs:142:14
      std::rt::lang_start_internal::{{closure}}
             at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/std/src/rt.rs:148:48
      std::panicking::try::do_call
             at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/std/src/panicking.rs:500:40
      std::panicking::try
             at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/std/src/panicking.rs:464:19
      std::panic::catch_unwind
             at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/std/src/panic.rs:142:14
      std::rt::lang_start_internal
             at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/std/src/rt.rs:148:20
   6: main
   7: __libc_start_main
   8: _start

That's pretty unexpected, it seems that the cuda kernel is_u32_bf16 is not found. Maybe it's some caching issue somehow, could you try running make clean-ptx and giving it another go?
My guess is that you already built the example with a lower compute cap and the build system didn't have a way to detect that this has changed.

That's pretty unexpected, it seems that the cuda kernel is_u32_bf16 is not found. Maybe it's some caching issue somehow, could you try running make clean-ptx and giving it another go? My guess is that you already built the example with a lower compute cap and the build system didn't have a way to detect that this has changed.

This was it!  Thanks again for all of the help, Candle is pretty cool!  I started with the p4, then switching the machine to a G5 which has a better cost profile, and better performance for developmant and is actually supported by Candle!  I simply "switched machine type", which I should have thought about, and could have created a subtle issue with the compilation.
Here is my workflow that verifies Falcon works a g5.16xlarge.  Later I will open another ticket on a related by different topic of machine compatibility for development, probably later this week and put some of my notes in there.
ubuntu@ip-172-31-21-63:~/candle$ nvidia-smi --query-gpu=compute_cap --format=csv
compute_cap
8.6
ubuntu@ip-172-31-21-63:~/candle$ make clean-ptx
find target -name "*.ptx" -type f -delete
echo "" > candle-kernels/src/lib.rs
touch candle-kernels/build.rs
touch candle-examples/build.rs
touch candle-flash-attn/build.rs
ubuntu@ip-172-31-21-63:~/candle$ RUST_BACKTRACE=1 cargo run --features cuda --example falcon --release -- --prompt "What is the best ty
> ^C
ubuntu@ip-172-31-21-63:~/candle$ RUST_BACKTRACE=1 cargo run --features cuda --example falcon --release -- --prompt "What is the best type of apple to eat?"
   Compiling candle-examples v0.1.3 (/home/ubuntu/candle/candle-examples)
   Compiling candle-kernels v0.1.3 (/home/ubuntu/candle/candle-kernels)
   Compiling candle-core v0.1.3 (/home/ubuntu/candle/candle-core)
   Compiling candle-nn v0.1.3 (/home/ubuntu/candle/candle-nn)
   Compiling candle-transformers v0.1.3 (/home/ubuntu/candle/candle-transformers)
   Compiling candle-datasets v0.1.3 (/home/ubuntu/candle/candle-datasets)
    Finished release [optimized] target(s) in 41.51s
     Running `target/release/examples/falcon --prompt 'What is the best type of apple to eat?'`
retrieved the files in 22.997771ms
loaded the model in<PHONE_NUMBER>95s
starting the inference loop
> 9.624751977s
1 token: 193 '
'
> 102.677149ms
2 token: 487 'The'
> 43.732627ms
3 token: 935 ' best'
> 43.633475ms
4 token: 19088 ' apples'
> 43.604565ms
5 token: 271 ' to'
> 43.646475ms
6 token: 3781 ' eat'
> 68.119076ms
7 token: 362 ' are'
> 43.602295ms
8 token: 248 ' the'
> 43.662716ms
9 token: 3040 ' ones'
> 43.624095ms
10 token: 325 ' that'
> 43.707497ms
11 token: 362 ' are'
> 43.652905ms
12 token: 272 ' in'
> 43.697466ms
13 token: 2120 ' season'
> 43.602755ms
14 token: 25 '.'
> 43.654146ms
15 token: 193 '
'
> 43.645306ms
16 token: 487 'The'
> 43.607284ms
17 token: 935 ' best'
> 43.780128ms
18 token: 19088 ' apples'
> 43.699476ms
19 token: 271 ' to'
> 43.709886ms
20 token: 3781 ' eat'
> 43.732406ms
21 token: 362 ' are'
> 43.623285ms
22 token: 248 ' the'
> 43.687266ms
23 token: 3040 ' ones'
> 43.840629ms
24 token: 325 ' that'
> 43.825839ms
25 token: 362 ' are'
> 43.765788ms
26 token: 272 ' in'
> 43.789708ms
27 token: 2120 ' season'
> 43.863559ms
28 token: 25 '.'
> 43.84757ms
29 token: 193 '
'
> 43.846399ms
30 token: 487 'The'
> 43.835978ms
31 token: 935 ' best'
> 43.859219ms
32 token: 19088 ' apples'
> 43.809038ms
33 token: 271 ' to'
> 43.816158ms
34 token: 3781 ' eat'
> 43.836879ms
35 token: 362 ' are'
> 43.832719ms
36 token: 248 ' the'
> 43.844879ms
37 token: 3040 ' ones'
> 43.840609ms
38 token: 325 ' that'
> 49.265138ms
39 token: 362 ' are'
> 43.779528ms
40 token: 272 ' in'
> 43.782628ms
41 token: 2120 ' season'
> 43.810958ms
42 token: 25 '.'
> 43.782698ms
43 token: 193 '
'
> 43.879599ms
44 token: 487 'The'
> 43.834599ms
45 token: 935 ' best'
> 43.86694ms
46 token: 19088 ' apples'
> 43.8874ms
47 token: 271 ' to'
> 43.857309ms
48 token: 3781 ' eat'
> 43.945341ms
49 token: 362 ' are'
> 43.811019ms
50 token: 248 ' the'
> 43.87959ms
51 token: 3040 ' ones'
> 43.888ms
52 token: 325 ' that'
> 43.87292ms
53 token: 362 ' are'
> 43.822219ms
54 token: 272 ' in'
> 43.88727ms
55 token: 2120 ' season'
> 43.837039ms
56 token: 25 '.'
> 43.85941ms
57 token: 193 '
'
> 43.802489ms
58 token: 487 'The'
> 43.789688ms
59 token: 935 ' best'
> 43.792658ms
60 token: 19088 ' apples'
> 43.791908ms
61 token: 271 ' to'
> 43.791158ms
62 token: 3781 ' eat'
> 43.834899ms
63 token: 362 ' are'
> 43.752368ms
64 token: 248 ' the'
> 43.832158ms
65 token: 3040 ' ones'
> 43.793968ms
66 token: 325 ' that'
> 43.787038ms
67 token: 362 ' are'
> 43.735537ms
68 token: 272 ' in'
> 43.817829ms
69 token: 2120 ' season'
> 43.86399ms
70 token: 25 '.'
> 43.990323ms
71 token: 193 '
'
> 43.911951ms
72 token: 487 'The'
> 43.88645ms
73 token: 935 ' best'
> 43.863369ms
74 token: 19088 ' apples'
> 43.905461ms
75 token: 271 ' to'
> 43.87203ms
76 token: 3781 ' eat'
> 43.89619ms
77 token: 362 ' are'
> 43.890361ms
78 token: 248 ' the'
> 43.988762ms
79 token: 3040 ' ones'
> 43.909571ms
80 token: 325 ' that'
> 43.994063ms
81 token: 362 ' are'
> 43.932841ms
82 token: 272 ' in'
> 43.949341ms
83 token: 2120 ' season'
> 43.952721ms
84 token: 25 '.'
> 43.960452ms
85 token: 193 '
'
> 43.89845ms
86 token: 487 'The'
> 43.92011ms
87 token: 935 ' best'
> 43.870799ms
88 token: 19088 ' apples'
> 43.935321ms
89 token: 271 ' to'
> 43.933781ms
90 token: 3781 ' eat'
> 43.972932ms
91 token: 362 ' are'
> 43.953642ms
92 token: 248 ' the'
> 43.950331ms
93 token: 3040 ' ones'
> 43.785347ms
94 token: 325 ' that'
> 43.804188ms
95 token: 362 ' are'
> 43.770187ms
96 token: 272 ' in'
> 43.90394ms
97 token: 2120 ' season'
> 43.89419ms
98 token: 25 '.'
> 43.913241ms
99 token: 193 '
'
> 43.911771ms
100 token: 487 'The'
100 tokens generated (7.115549321467834 token/s)
----

The best apples to eat are the ones that are in season.
The best apples to eat are the ones that are in season.
The best apples to eat are the ones that are in season.
The best apples to eat are the ones that are in season.
The best apples to eat are the ones that are in season.
The best apples to eat are the ones that are in season.
The best apples to eat are the ones that are in season.
The
----


error in getting data for #capital_market.market_watch_all_indices()

which version of nselib you are using?

Latest version nselib 1.5 released on november 4, 2024


How to use a nested element to represent a sub layout/ header

I would like to have a nested element on a page that references the header that each page shares and click on an item in that header.
I am currently doing it by subclassing the header class like:
[PageNavigation("/")]
public class HomePage : Header
But, other pages share other layouts or tables and I would like to separate them so that each page only has the elements that they require and not copy and paste the elements through the page classes as we have lots.
I have been trying to get it working as a subelement like:
[PageNavigation("/")]
public class HomePage
{
[ElementLocator(Class = "userPanel")]
public Header Header { get; set; }
}
And in my specflow:
And I chose Header.Login (which doesn't work)
Is there something simple I am missing or do I need to do it as a subclass?

I think it will be easier if you just do something like this:
[ElementLocator(Id = "header-search-submit")]
public HtmlButton HeaderSearchSubmit { get; set; }

And then in your Gherkin file:
When I choose HeaderSearchSubmit

Or this will work too:
When I choose Header Search Submit


prevent overwriting entity variables

I just accidentally did
light.living_room_lights = "off"

and now my lights in Home Assistant became unavailable.
Maybe it an idea to now allow overwriting entities?
The same goes for state, service, task, etc.

I don't know why they become unavailable.  Is it because the attributes get cleared when you do this?
This seems related to issue #9.

With commit 712692f, state variable setting now preserves attributes.

While playing around I came across a different problem regarding overwriting variables.
I seems, that declared variables take presedence over provided variables/objects.
Sample code:
@time_trigger
def precende_problem():
    log.info(f"set_sensor_daytime_startup: running")
    event = None
    event.fire("raises Exception")

precende_problem: running
Exception in <jupyter_0.precende_problem> line 35:
event.fire("raises Exception")
^
AttributeError: 'NoneType' object has no attribute 'fire'

I came across this, when doing a for loop and naming the variable "state" without thinking too much about it.
It wouldn't be too much of an issue, if variables would be scoped, but as they are not, weird things can happen if you don't watch out.

Variable scoping should be the same as Python, and I agree it would be a bug if it wasn't.  If you create a local variable it will overwrite a previously defined function or object.
The example looks correct to me.  This behaves exactly the same in Python and pyscript:
bytes.fromhex("1234")
bytes = None
bytes.fromhex("5678")

The first call works, and the second one fails with an error:
AttributeError: 'NoneType' object has no attribute 'fromhex'

Here's another example that also works the same in Python and pyscript:
import math
print(math.sqrt(2))
math = None
print(math.sqrt(2))

I agree there is a subtle difference in pyscript: yes, event or state don't exist as an object.  But if it does (ie: you set them to something), that takes precedence over the event.fire or state.set functions, which is the same behavior as regular Python.

What you say makes sense, I just never happen to stumble upon it before. Issue can be closed.


An Optional followed by a Params parses a single argument as the Optional

This prevents, in this case, a person providing only IGuildUsers

This is by design.


[Typography] Don't put tooltip triggers in

These…

…should match this:

Will be addressed in #70


More thorough logging needed throughout

From comment in #83:

We really need to enhance the logging support. First of all, all logging should have timestamp. 2nd, the current code has little or no log, it is really hard to debug things when stuff goes wrong.

I concur with this statement that we should make a pass through major components to ensure that debug-level logging is more thorough.

Thank you @wfarner for opening this!

@linsun i'm going to take a pass at this over the next few days.  If there are any particular bodies of  code where you would like to see more logging, feel free to drop a list here!

@wfarner Thanks for asking! I would like to see log finest level for entry/exit into any method, that is helpful when troubleshooting things.  I would like to see info level logs associated to key actions, like group watch request received, group is being destroyed, group is being created. I would like to see appropriate error and warning message in the logs.  When there is something wrong, would be great to see where the error was first occurred, whether this is a user error where user can potentially correct in group.json or plugin error or infrakit code error.  I recently tried rolling upgrade, but it didn't work for me, there was not much log at all other than it did detect that I requested an increase of 1 more instance number, but it also keeps saying "Waiting for scaler to quiesce"...

@linsun thanks.  I agree with everything except logging every method.  However, i was looking to add full RPC request/response logging, which might be in a similar vein without as much upkeep/noise.

@wfarner logging every method is something I am debating myself too, i think it is great to have at the finest logging level.  I totally agree with you the request/response logging would be awesome!


[BUG] fish version doesn't accept flagless arguments

I don't think this is possible at the moment using the official argparse function


fix: Filters title swapped for dashboard_layout and rundown_layout

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
Bug fix

What is the current behavior? (You can also link to an open issue here)
In layout editor (Shelf layout): Label and button text for rundown_layout says "PANELS" and "Add Panels".
In layout editor (Shelf layout): Label and button text for dashboard_layout says "TABS" and "Add Tabs".

What is the new behavior (if this is a feature change)?
In layout editor (Shelf layout): Label and button text for rundown_layout says "TABS" and "Add Tabs".
In layout editor (Shelf layout): Label and button text for dashboard_layout says "PANELS" and "Add Panels".

Other information:

Status

[ ] Code documentation for the relevant parts in the code have been added/updated by the PR author
[X] The functionality has been tested by the PR author
[ ] The functionality has been tested by NRK

Codecov Report

Merging #595 (afb74fc) into release37 (c85d57b) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           release37     #595   +/-   ##
==========================================
  Coverage      67.17%   67.17%
==========================================
  Files            262      262
  Lines          18022    18022
  Branches        4061     4061
==========================================
  Hits           12106    12106
  Misses          5875     5875
  Partials          41       41

Impacted Files
Coverage Δ

meteor/lib/api/rundownLayouts.ts
60.00% <ø> (ø)

Continue to review full report at Codecov.

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


Support authentication with service account tokens

What kind of request is this (question/bug/enhancement/feature request):
Enhancement
Many 3rd party integrations available for Kubernetes (e.g. for Gitlab, Vault, Avi, etc.) involve giving an external process access to the Kubernetes API using a native Kubernetes Service Account token for authentication.
Rancher's Auth Proxy has no notion of SA tokens and sending any request to the Rancher endpoint that uses such token will result in an auth error.
Expected behaviour:
Ranchers auth proxy should support authentication of requests that specify a Service Account token in the Authorization Bearer header
Additional notes:
Implementation could leverage TokenReview API
gz#12686
gz#12674

SURE_2746

https://github.com/rancher/dashboard/issues/11444

Completed validations on v2.9-3c4ccdc5bc9fde3510089153b5ad58fdbe604880-head below new issues got reported. None of them are blockers and closing this card.
https://github.com/rancher/rancher/issues/46170
https://github.com/rancher/dashboard/issues/11444
None of them are blockers and closing this card.


[Refactor] Remove unused help module

Fixes #issue
What type of PR is this:

[ ] BugFix
[ ] Feature
[ ] Enhancement
[x] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Does this PR entail a change in behavior?

[x] Yes, this PR will result in a change in behavior.
[ ] No, this PR will not result in a change in behavior.

If yes, please specify the type of change:

[x] Interface/UI changes: It removes unused help from the Frontend website navigator.

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[ ] I have checked the version labels which the pr will be auto-backported to the target branch

[ ] 3.2
[ ] 3.1
[ ] 3.0
[ ] 2.5

[BE Incremental Coverage Report]
:heart_eyes: pass : 0 / 0 (0%)

[FE Incremental Coverage Report]
:disappointed: fail : 0 / 1 (00.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/qe/ShowExecutor.java
0
1
00.00%
[1334]

[BE Incremental Coverage Report]
:heart_eyes: pass : 0 / 0 (0%)

[FE Incremental Coverage Report]
:disappointed: fail : 0 / 1 (00.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/qe/ShowExecutor.java
0
1
00.00%
[1334]


Compilation Failed Error

HI Team,
I am setting up the exchange-core on my local machine. During build, am getting below error.
"The method get(int, Supplier) is ambiguous for the type ObjectsPool." position = objectsPool.get(ObjectsPool.SYMBOL_POSITION_RECORD, SymbolPositionRecord::new);
Class - RiskEngine.java, line 359.
Please help me in resolving this issue.
Regards
Abhishek

Hi Abhishek, which java version do you use? (This project is for Java 8)

Thanks @mzheravin  for the response. I am using below java version.
java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)

@sharmaabhishek2207 could you please try to compile recent version? did you try to build with maven?


apply aggregates to data

Problem
Currently, load_household_data.py has code without being sorted into methods or classes, having nothing tying it together to allow it to be treated as a single unit.
Solution
A solution to this is applying aggregates. This allows for clarity in domain driven design. Additionally, it allows for invariants to be applied and maintained to closely related objects, rather than having it applied to each object individually.
How?
This was done by adding root Household. As this is our root, we can treat the methods within it as a single unit when it comes to things such as invariants.
Please Note that these changes are part of a school project.

Thanks for the PR -- we're not considering major architectural changes currently, but we appreciate the contribution to open-source software!


Fix Attach to .NET Process before Roslyn LSP is ready

This PR passes the roslynServerStartedProcess to the coreClrDebug activate call as the Roslyn Server registers the 'coreclr' DebugConfigurationProvider that will handle the process listing for the user to select the process ID.
If the configuration provider is not registered but the adapter factory is, it will send it to the debugger without a processName or processId and will fail with that error.
Fixes: https://github.com/microsoft/vscode-dotnettools/issues/1350

Would this also be an issue for O#? Maybe we could pass in roslynLanguageServerStartedPromise || omnisharpLangServicePromise and have it work the same for both.

Would this also be an issue for O#? Maybe we could pass in roslynLanguageServerStartedPromise || omnisharpLangServicePromise and have it work the same for both.

I wasn't able to hit it with O#, but I'll pass it in since it registers the configuration provider similar to Roslyn.


CountryPicker

Hi,
You should switch to this package for country picker --> https://github.com/imtoori/CountryCodePicker
It allows internationalization :)

Thanks for your suggestion @gilthonweapps.
I think this will solve the issue you raised had in #335.

Noted. Thanks for the suggestion

In fact, this one is better: https://pub.dev/packages/country_codes
It uses code from Android/iOS to get the list of countries translated into the device language.

The package I gave in my previous post is not really good.
This one is definitely better: https://pub.dev/packages/iso_countries
It will return all the countries in any language.


Logout problem react-admin 3, feathers 4

Hi, I'm using react-admin 3 and feathers 4.4.1.
I installed version 2.4.1 of the data provider and it works correctly but the system logs me out when I refresh the page or open it in a new tab. I could see that version 2.4.1 is 2 commits behind the master branch.
I downloaded and used the master branch code because I saw that the commit 9e8fdc099c883d92e2386c7bf9b3f560fbcbfdd6 adds reauthentication logic in AUTH_CHECK and the session logout problem was fixed. Could you get an updated version with that fix?
Thank you!

New release done !
Check

https://github.com/josx/ra-data-feathers/releases/tag/v2.5.0
https://www.npmjs.com/package/ra-data-feathers


Add support for installation args in SiteExtension ARM functional test

Add support for installation arguments in the SiteExtension ARM functional tests. Also fixed minor trace strings to better reflect test functionality.

@william-xie,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by .NET Foundation. We will now review your pull request.
Thanks,
.NET Foundation Pull Request Bot


Add a global debug variable

Let's have a global variable globalDebug that would be enabled/disabled through the API SetLog().
When we want to enable the debug, we want it for all components, that's why a global (but not exported) variable would be very convenient.

@sameo does that makes sense ?

@sboeuf -- any updates on this?

This has been implemented. Can be closed.


ARROW-3647: [R] Fix R bit64 crash and formatting

Fix for https://issues.apache.org/jira/browse/ARROW-3647 by adding a dependency to bit64 in arrow which will avoid letting bit64 be unloaded while arrow is loaded.
Additionally, fix for https://github.com/rstudio/sparklyr/issues/1736, which was preventing tibbles using integer64 to be formatted properly if bit64 was not loaded explicitly.
CC: @romainfrancois

Codecov Report

Merging #2867 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #2867   +/-   ##
=======================================
  Coverage   87.56%   87.56%
=======================================
  Files         411      411
  Lines       63818    63818
=======================================
  Hits        55881    55881
  Misses       7867     7867
  Partials       70       70

Continue to review full report at Codecov.

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

LGTM

+1

It's not clear to me that this fix is correct — I don't think you can generally expect to unload R packages containing C code and still have things work.

Am I correct that this fix allows the loading of bit64 to be deferred?

As far as I can see, the fix does the opposite - it forces loading of bit64 when arrow is loaded


Some difficulty understanding associativity with rewrite

In the section entitled "Associativity with rewrite", it's not easy to understand why we are allowed to simpify with the base and inductive cases somehow automatically, and how the rewrite (rule? function?) "knows" to do a match and replace on this transformed version.
Perhaps it's just that it's not clear what rewrite is "doing".
In particular, this sentence is baffling:

After rewriting with the inductive hypothesis these two terms are equal, and the proof is again given by refl. Rewriting by a given equation is indicated by the keyword rewrite followed by a proof of that equation. Rewriting avoids not only chains of equations but also the need to invoke cong.

It feels a little like we've described rewriting as... rewriting.
That is, it's not apparent how Agda knows when we tell it +-assoc′ (suc m) n p  rewrite +-assoc′ m n p  =  refl  that it can understand this to mean to transform this into suc ((m + n) + p) ≡ suc (m + (n + p)), nor how it knows how to ignore the suc there on each side to match the form of +-assoc′ m n p to transform the matched LHS pattern into the "output" RHS pattern. It's fairly possible I'm missing something obvious.
To boot, what manner of form "is" rewrite such that it can appear where it does, in the pattern matching position, on the left of =?

Rewrite takes the goal to be proved into another goal. For instance, the goal
suc ((m + n) + p) ≡ suc (m + (n + p))

when rewritten with assoc m n p becomes
suc (m + (n + p))  ≡ suc (m + (n + p))

which is proved by refl.

Oh, I think I see what you're trying to say.
Would it be correct to say rewrite pattern matches on the LHS of ≡ within the LHS of = and replaces the parts it matches with the resultant transformed pattern on the RHS of ≡?
(or, at least, have I captured the gist of the understanding?)

Rewriting replaces each occurrence of the left-hand side of the equation in the goal by the right-hand side. In this case, after rewriting by the inductive hypothesis our goal becomes

This sounds a little like it's replacing every literal occurrence, but my understanding is that it's replacing matches. Is that right? Gosh this is confusing.

It might be useful to explain some more pedestrian examples of rewrites to orient the reader on the basics of it and allow them to triangulate the semantics so that this less-than-trivial example becomes trivial?

I'm going to leave it as it is. If anyone wants to suggest an improved wording, please submit a pull request.

Thanks! Sorry for reporting that I was having difficulties understanding. I've since realised that I should have been using the mailing list, and been learning some leanprover quite a bit and more Agda through Conor's videos, and I understand rewriting much better now. Your revised version is also much easier to understand.

Noted, thanks!


Add plugin support for streaming packets to Kafka

There are some assumptions that I've made in this PR that probably need to be addressed before this can be marked as ready for review.

With the S3 Plugin, we added the PCAP header to each file so that the objects in S3 were valid files. It would seem sensible to do the same with Kafka but we might be more constrained.  For example, how do we know when to start a new "file"?  We probably don't want to add the header to every 65 KB message unless we also want files to be that size too, but that seems odd.  Maybe there should be some fileSize property and a new header is added to the first packet after fileSize amount of data has been received. There will be more work to do if this is the behaviour that you want.
Packets that are destined for the same file need to share a message key to guarantee ordering.  I've hard coded this as "packetstreamer" right now, but I'm happy to hear suggestions on other approaches. If we follow the approach suggestion in point 1, we could generate a new value for each "file" that could be used as the key.

There is now a fileSize property that is set in the config. We will read publish each "message" to Kafka, but after fileSize amount of data is received, we will start a new "file" (with accompanying header).  Each "file" has its own unique ID that is used as the Kafka message key when publishing packets that will be contained in that "file".

Thanks, LGTM.
We need to do better job with handling errors, but it needs to be done for S3 as well, so I'd be happy to make that change for both plugins at the same time.