Feat : Tablet display of home page

Feature: Tablet display

As a user of the portal on the portal,
I want to have the portal app adapted to tablets
So that I can have a nice experience using my tablet device

Acceptance criteria
Scenario: Tablet display of the stat cards
Given that I am a user of the OKP4 portal,
And I am using a tablet device,
When I am on the home page
Then the stat cards should appear according to the tablet version (see mock up)
Scenario: Tablet display of the lateral bar
Given that I am a user of the OKP4 portal,
And I am using a tablet device,
When I am on any page of the app
Then lateral bar should appear according to the tablet version (see mock up)
Scenario: Tablet display of the tool bar
Given that I am a user of the OKP4 portal,
And I am using a tablet device,
When I am on any page of the app
Then tool bar should appear according to the tablet version (see mock up)
Requirements
Resources
Mockups

Environment

staging URL: https://app.staging.okp4.network/

Additional informations
None.

Test 20/03
Firefox
Scenario: Tablet display of the stat cards : OK ✅
Scenario: Tablet display of the lateral bar : OK ✅
Scenario: Tablet display of the tool bar : OK ✅


fix: change pod OwnerReference to clean workflowtaskresult in large-scale scenarios

In large-scale scenarios on cloud, we find the are so many workflowtaskresults left in the cluster (over a million), causing the cluster to fail to work. After investigation, we determined that there is something wrong with the pod owner reference.

/test

/test


 Cannot run another application on that port after ctrl c.
To Reproduce

Run Kitty Items
Hit control c
Try running another app on port 3001

by design I guess, it is running via pm as service. npm run stop should stop background services.


Refactor perstist.Filesystem to allow model from different generations of JSON models.

At the moment fairly minor, but breaking, changes to the way Filesystem stores JSON files forces increments of breaking changes to this whole library. While that's fine in some capacity, as it discourages breaking changes, the consequences are a bit more than I find acceptable. Being able to load from multiple versions will also make writing migration scripts much much easier moving forward.

Fixed in 5161652d0ac5075640fc30b5ed9ba9bc9fa60a4e


Failed to run walrus if probe is used when generating certificates with acme

Describe the bug

When using ACME to generate certificate, using probes will make pods fail to run.
Steps to reproduce

Install walrus by using ACME to generate trusted certificate.
Add probes to pods.
https://github.com/seal-io/walrus/blob/main/deploy/manifests/kubernetes.yaml#L624-L643
Check the installation results.

Result

Failed to run the pod.

 ~/seal/manifests/ kubectl describe pod walrus-6cd767b69f-6sn46
Name:             walrus-6cd767b69f-6sn46
Namespace:        walrus-system
Priority:         0
Service Account:  walrus
Node:             ip-192-168-0-173.ap-east-1.compute.internal/<IP_ADDRESS>
Start Time:       Mon, 21 Aug 2023 14:22:49 +0800
Labels:           app.kubernetes.io/component=walrus
                  app.kubernetes.io/name=walrus-server
                  app.kubernetes.io/part-of=walrus
                  app.kubernetes.io/test=w1
                  pod-template-hash=6cd767b69f
Annotations:      <none>
Status:           Running
IP:               <IP_ADDRESS>
IPs:
  IP:           <IP_ADDRESS>
Controlled By:  ReplicaSet/walrus-6cd767b69f
Containers:
  walrus-server:
    Container ID:   containerd://2005cceb228b0a6b1c7a12d96b135d2e3a402d104cad4d834db5ce54c35cb0cf
    Image:          sealio/walrus:v0.3.0-rc3
    Image ID:       docker.io/sealio/walrus@sha256:04fad1cc95a60ede46e9b345f53635969d27c81867540225713921fcba5f0e56
    Ports:          80/TCP, 443/TCP
    Host Ports:     0/TCP, 0/TCP
    State:          Waiting
      Reason:       CrashLoopBackOff
    Last State:     Terminated
      Reason:       Error
      Exit Code:    2
      Started:      Mon, 21 Aug 2023 14:29:14 +0800
      Finished:     Mon, 21 Aug 2023 14:30:05 +0800
    Ready:          False
    Restart Count:  6
    Limits:
      cpu:     4
      memory:  8Gi
    Requests:
      cpu:      500m
      memory:   512Mi
    Liveness:   http-get http://:80/livez delay=0s timeout=5s period=10s #success=1 #failure=10
    Readiness:  http-get http://:80/readyz delay=0s timeout=5s period=5s #success=1 #failure=3
    Startup:    http-get http://:80/readyz delay=0s timeout=1s period=5s #success=1 #failure=10
    Environment:
      DB_DRIVER:                     <set to the key 'db_driver' in secret 'walrus'>    Optional: false
      DB_USER:                       <set to the key 'db_user' in secret 'walrus'>      Optional: false
      DB_PASSWORD:                   <set to the key 'db_password' in secret 'walrus'>  Optional: false
      DB_NAME:                       <set to the key 'db_name' in secret 'walrus'>      Optional: false
      SERVER_ENABLE_TLS:             <set to the key 'enable_tls' in secret 'walrus'>   Optional: false
      SERVER_DATA_SOURCE_ADDRESS:    $(DB_DRIVER)://$(DB_USER):$(DB_PASSWORD)@database:5432/$(DB_NAME)?sslmode=disable
      SERVER_CASDOOR_SERVER:         http://identity-access-manager:8000
      SERVER_TLS_AUTO_CERT_DOMAINS:  xxx
    Mounts:
      /etc/walrus/ssl from custom-tls (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-657b5 (ro)
      /var/run/walrus from data (rw)
Conditions:
  Type              Status
  Initialized       True
  Ready             False
  ContainersReady   False
  PodScheduled      True
Volumes:
  custom-tls:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  walrus-custom-tls
    Optional:    true
  data:
    Type:       EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:
    SizeLimit:  <unset>
  kube-api-access-657b5:
    Type:                    Projected (a volume that contains injected data from multiple sources)
    TokenExpirationSeconds:  3607
    ConfigMapName:           kube-root-ca.crt
    ConfigMapOptional:       <nil>
    DownwardAPI:             true
QoS Class:                   Burstable
Node-Selectors:              <none>
Tolerations:                 node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
                             node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
  Type     Reason     Age                     From               Message
  ----     ------     ----                    ----               -------
  Normal   Scheduled  8m19s                   default-scheduler  Successfully assigned walrus-system/walrus-6cd767b69f-6sn46 to ip-192-168-0-173.ap-east-1.compute.internal
  Normal   Pulled     8m17s                   kubelet            Successfully pulled image "sealio/walrus:v0.3.0-rc3" in 1.546935182s (1.546951585s including waiting)
  Normal   Pulling    7m29s (x2 over 8m18s)   kubelet            Pulling image "sealio/walrus:v0.3.0-rc3"
  Normal   Killing    7m29s                   kubelet            Container walrus-server failed startup probe, will be restarted
  Normal   Created    7m27s (x2 over 8m16s)   kubelet            Created container walrus-server
  Normal   Started    7m27s (x2 over 8m16s)   kubelet            Started container walrus-server
  Normal   Pulled     7m27s                   kubelet            Successfully pulled image "sealio/walrus:v0.3.0-rc3" in 1.528812606s (1.528824822s including waiting)
  Warning  Unhealthy  6m59s (x14 over 8m8s)   kubelet            Startup probe failed: Get "https://<IP_ADDRESS>:443/readyz": remote error: tls: internal error
  Warning  Unhealthy  3m18s (x40 over 8m13s)  kubelet            Startup probe failed: Get "https://<IP_ADDRESS>:443/readyz": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

After removing the probes, the pod run successfully.

Environment

Walrus version:  v0.3.0-rc3
UI version: dev-c8f5bd3

Environment

Walrus version: main<PHONE_NUMBER>a0f63bb024a12309027f88b8f4bad9

Test Result: pass


renderButtonText renders '[object Object]' if there is a call to setState in onSelect or renderButtonText functions

I have version 0.6.1 and am using a slightly more complex data structure.
         <ModalDropdown
              dropdownStyle={styles.pickerItemStyle}
              style={styles.dropDwon}
              textStyle = {styles.DropDownText}
              dropdownTextStyle = {styles.DropDownPickerText}
              renderButtonText = { (rowData) => {
                this.setState({selectedService: rowData.ssid});
                return rowData.ssid;
                } }
              defaultValue = {"Please select wifi"}
              options = {this.state.services}
              renderRow = {this._renderDropdownRow.bind(this)}
              onSelect = {this.pickerOnSelect.bind(this)}
            >
         </ModalDropdown>

If there is a call to setState for both of these functions then the dropdown text renders as [object Object]. If I remove the call then the dropdown renders the ssid strings as expected.

it seems any call to setState is breaking the renderButtonText. [object Object] looks very broken.

@Culzean the same here, if I use setState it goes in some endless loop and I receive maximum call stack size exceeded error.

Having the same issue as well, and I am not using any this.setState in it either. Here's a snippet:
<ModalDropdown
  ref={self => { this.accountPicker = self }}
  defaultValue={i18n.t('ui.inputs.account_picker.placeholder')}
  options={accounts.data}
  onSelect={({ address }) => this.updateTxField({ from: address })}
  renderRow={({ title }) => <Text>{title}</Text>}
  renderButtonText={({ title }) => title}
  style={style.dropdownContainer}
  textStyle={style.dropdownText}
  dropdownStyle={style.dropdownStyle}
/>

In my example, accounts.data is an array of objects with obviously 2 props, title and address.
The results are as follows (image 1 is during selection, 2 is after the option is clicked):

I tried reverting back to version 0.5.0 to see what would happen and in that, [Object object] shows up all the time, not just after selection.

I believe the issue is here:
https://github.com/sohobloo/react-native-modal-dropdown/blob/master/components/ModalDropdown.js#L182
It should be using the renderButtonText there but it does not seem to. I can take a closer look and submit a PR, need to fix this for my app anyways!

I submitted a PR -> https://github.com/sohobloo/react-native-modal-dropdown/pull/142

Fixed in v0.6.2 #146

Just testing out the update now. Issue resolved. Thanks!


add DragEvent bindings

Add bindings for the DragEvent.
Drag_and_Drop_API
Since Bridge.Test ist not public, there are no new tests.

We're going to try our best to get this into the Bridge 1.14 release.
If you can provide some C# samples that demonstrate a simple page that we can use to test with, that would really help speed up the process.

I hope this simple example helps:
You can drag the first div into the second. In addition you can drag files from the desktop to this div.
The FileReader API will be needed for actual doing somthing with this files... As far as I have seen this is not implemented in Bridge yet, maybe this would also be a great addition... new ticket?
using System;
using System.Linq;
using Bridge.Html5;
using Bridge.Html5.Events;

namespace Bridge1Test
{
    public class App
    {
        [Ready]
        public static void Main()
        {
            var div = new DivElement
            {
                Id = "drag-me",
                InnerHTML = "Drag me!",
                OnDragStart = OnDragStart,
                Style =
                {
                    Background = "#AAAAAA",
                    Width = "100px",
                    Height = "100px"
                }
            };
            div.SetAttribute("draggable", "true");
            Document.Body.AppendChild(div);

            var dropzone = new DivElement
            {
                InnerHTML = "Drop DIV or File here!",
                OnDragOver = OnDragOver,
                OnDrop = OnDrop,
                Style =
                {
                    Background = "#CCCCCC",
                    Width = "200px",
                    Height = "200px"
                }
            };
            Document.Body.AppendChild(dropzone);
        }

        private static void OnDragStart(Event<DivElement> @event)
        {
            DragEvent dragEvent = @event.As<DragEvent>();
            dragEvent.DataTransfer.EffectAllowed = EffectAllowed.Move;
            dragEvent.DataTransfer.SetData("text", @event.CurrentTarget.Id);
        }

        private static void OnDragOver(Event<DivElement> @event)
        {
            @event.PreventDefault();
            DragEvent dragEvent = @event.As<DragEvent>();
            dragEvent.DataTransfer.DropEffect = DropEffect.Move;
        }

        private static void OnDrop(Event<DivElement> @event)
        {
            @event.PreventDefault();
            DragEvent dragEvent = @event.As<DragEvent>();

            if (dragEvent.DataTransfer.Files.Any())
            {
                foreach (var file in dragEvent.DataTransfer.Files)
                {
                    @event.CurrentTarget.AppendChild(new DivElement
                    {
                        InnerHTML = file.Name
                    });
                }
            }

            var data = dragEvent.DataTransfer.GetData("text");
            if (!string.IsNullOrEmpty(data))
            {
                @event.CurrentTarget.AppendChild(Document.GetElementById(data));
                dragEvent.DataTransfer.ClearData();
            }
        }
    }
}

Hi @glaanc03, we reviewed and merged your Pull Request. Thank you for contribution.
We updated your sample a bit (just added one more drop zone and draggable) and created a Live Bridge sample.


Update Shopify Littledata - Deploy

Proposed changes

Merge timing

Related issues (optional)
Deploy PR for #3539

Just one typo fix and then looks good to me


Admin CP has warnings

Warning: Missing argument 1 for printChangePasswordForm(), called in /home/pauperkr/public_html/gatherling/admincp.php on line 32 and defined in /home/pauperkr/public_html/gatherling/admincp.php on line 43

Line 43 is:
Code:
function printChangePasswordForm($series) {
This function is getting called on line 32 as:
Code:
printChangePasswordForm();
printChangePasswordForm($series)  does not need the $series argument so just remove it in line 43:
function printChangePasswordForm() {

This was fixed in f097575, which got merged in with the recent changes.


Remove references to dev branch in preparation for deprecation

Overview
Part of #3179.
Remove references to dev branch, since we'll be using main/stable/nightly instead.

in git workflow docs (replaced with main)
in readthedocs URLs (replaced with /stable/)
in GHA workflows (replaced with main)
in gcp_pudl_etl.sh (replaced with main)
in datasette template (replaced with main, but maybe should point to latest or nightly?)

If the builds from #3164 pass, and the nightly branch gets updated, we will merge this as the final PR into dev and lock the dev branch. Then we'll force main to point at the tip of dev and all future development will work from there.
Testing
We need to see if the nightly builds do successfully build on main instead of dev after we do all the finagling above. We can't use a tag build to test that before we merge this PR, because a lot of the stuff we're testing is specific to main, but we can kick off a tag build immediately after we move main.
# To-do list
- [ ] Review the PR yourself and call out any questions or issues you have

We'll also need to change the dependabot and pre-commit-ci target branch from dev to main


Support creating CiliumNetworkPolicy manifests that allow egress requests to DNS and conditionally the proxy host, covering only the giantswarm and kube-system namespaces

What this PR does / why we need it
Towards https://github.com/giantswarm/giantswarm/issues/27266. Replaces the closed PR https://github.com/giantswarm/cluster-aws/pull/341 which was wrong because network policies must be installed in the MC/WC, respectively, and therefore shouldn't be a direct part of the Helm template, but now went into cilium-app.
Proxy-private clusters require connectivity to the proxy. With a deny-all network policy, access to the proxy needs to be explicitly allowed. With this change, we 1) allow reaching CoreDNS to resolve the proxy (e.g. proxy.goatproxy.gaws.gigantic.internal) and 2) allow reaching the proxy domain via Cilium Layer 7 rules. Note how 1) is required because Cilium inspects DNS requests in order to get a domain-to-IPs mapping that is required to evaluate Layer 7 rules (toFQDNs in network policy, see cilium-app https://github.com/giantswarm/cilium-app/pull/83/files). After some discussions, this change is scoped for the giantswarm and kube-system namespaces only so that other applications on the MC/WC are not affected (note how Cilium's default enforcement mode uses deny-all if any rule matches a pod, such as the ones we're adding here).
This includes cilium-app v0.10.0..v0.12.0 changes such as a newer upstream version. It worked fine for me, so https://github.com/giantswarm/cluster-aws/pull/369 is probably not needed anymore (@njuettner).
Checklist

[x] Update changelog in CHANGELOG.md.

Trigger e2e tests
/run cluster-test-suites

/run cluster-test-suites


Add GraphScope with NetworkX blog

as titled.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Feature: custom attribute for selected drawer items

As I'm building out a drawer, I thought it might be nice to have a custom attribute to specify which item in the drawer is selected. To take it a step further, it would be great if it could detect which drawer is being used and then use the appropriate class name for the selected item.
For now, I'll just use the mdc-temporary-drawer--selected class for the selected item.
Thanks!

Actually, it turns out that I can't seem to apply the mdc-temporary-drawer--selected class.
I'm doing something like this but with no result:
class.bind="${row.isActive ? 'mdc-temporary-drawer--selected' : ''}"

Thank you :smile:


Spearbit 102

Description
Fix https://github.com/spearbit-audits/connext-nxtp/issues/102

Type of change

[ ] Docs change / dependency upgrade
[ ] Configuration / tooling changes
[x] Refactoring
[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Requires changes in customer code

High-level change(s) description - from the user's perspective

Related Issue(s)
Fixes
https://github.com/spearbit-audits/connext-nxtp/issues/102
Related pull request(s)

issue in spearbit closed, closing pr


Adding chromsizes to hg19 results in wrong coordinates

I am not sure this is an error or I am doing something wrong. Besides, it might be related to
issue #446.
To give a bit of context, I tried to ingest a bigwig file directly, but then I got the error No chromsizes available which match the chromosomes in this bigwig. I supposed that the reason might be the non-primary contigs (such as chrUn_gl000233) in my reference genome, so I decided to follow this guide and add a chromsizes file.
Steps to reproduce
docker exec higlass-container python higlass-server/manage.py ingest_tileset --filename /genomes/hg19/hg19.chromsizes --filetype chromsizes-tsv --datatype chromsizes --coordSystem hg19
The chromsizes file was downloaded from UCSC and we added phix to it.
Observed behavior
Adding a different chromsizes file modifies the coordinates of the hg19 reference in Higlass. Therefore, when I look up a gene I end up elsewhere in the genome. Even worse, the relative positions of different datasets do not remain constant: peaks in bigwig files shift with respect to gene and HIC heatmap tracks. The following images show 1) the right position of CTCF peaks in the "normal" setting, and 2) CTCF peaks in the wrong position after adding a new chromsizes file.

If I remove the ingested chromsizes file everything goes back to normal and I can visualize the bigwig files (that were uploaded using that chromsizes) just fine. So my current make-shift solution is to add the new chromsizes, ingest whatever bigwigs I want and remove the chromsizes -- hardly an optimal process.
Expected behavior

The coordinates should be consistent with whichever hg19 coordinates are stored on Higlass, since the primary contigs are identical. Perhaps, as mentioned in issue #446, this is related to how associated contigs are handled.
In any case I expect my tracks to keep the same positions relative to each other no matter what chromsizes I am using.

Can you paste a copy of your chromsizes file here? I suspect that it has a different order than the one we use for the gene annotations and Hi-C heatmap.
This is an unfortunate example of the strategy we used to make sure that chromosome order is aligned between different files backfiring. The default ordering is a "semantic" ordering (e.g. "chr1, chr2, ..., chrX, chrY, chrm). If you added a chromSizes file that had a different ordering, e.g. by size (chr1, chr2, ..., chrX, ..., chr22, ...) your bigWig files would reflect that ordering but the gene annotations wouldn't.
Perhaps you can try using this file? https://raw.githubusercontent.com/pkerpedjiev/negspy/master/negspy/data/hg19/chromSizes.tsv

Please find attached a copy of my chromsizes files. Based on your explanation, perhaps the problem is that it's not semantically ordered, as the associate contigs do not come after the primary ones. hg19_chromsizes.txt
I have also tried the file you proposed, but it gets even worse:

My previously uploaded bigwig files do not load and I get the error: "Error retrieving tilesetInfo from URL/api/v1". However, I can upload any of the signal files that come pre-packaged with Higlass.
The coordinates are completely wrong: chr19 now becomes chr4.

Was your matrix generated with the semantically or size-ordered chromsizes?
I know it's not ideal, but for the gene annotations you have to use the semantically ordered chromsizes. The reasoning here is that bigWig files can be dynamically rearranged whereas gene annotations and matrices cannot be. So whatever chromsizes file they were generated with is the one they are stuck with.
The failing bigwig file is puzzling. If you're willing to send me a copy, I can take a quick look locally.


Incomplete guide for config file

Greetings
The readme could have a nicer explanation on how to create the ngentest.config.js. I believe just providing a snippet as example would suffice.
In my case I just want to configure the testing framework to use Karma (Angular CLI default)
Thanks

README.md has been updated. Thanks for your feedback.


chore: bump dependencies

Description
Changes proposed in this pull request:

bump dependencies

Related issue(s)

/cla


sfCoreAutoload::make() doesn't work

Hey Team,
the sfCoreAutoload::make() doesn't work.
https://github.com/FriendsOfSymfony1/symfony1/blob/master/lib/autoload/sfCoreAutoload.class.php
The preg_replace needs the "old PHP array syntax":
preg_replace('/protected \$classes = array *\(.*?\);/s',
In the code the new syntax  protected $classes = [***] is used - without array.
So the  preg_replace fails.

Using
    protected $classes = array(
    'sfaction' => 'action/sfAction.class.php',
    'sfactionstack' => 'action/sfActionStack.class.php',
    'sfactionstackentry' => 'action/sfActionStackEntry.class.php',

fixes it.

Thx for support.

@thePanz This issue was caused by this change.
https://github.com/FriendsOfSymfony1/symfony1/commit/53a2b128735823cfe5d4d8488b8b820bafeadf26#diff-eaebe010ea1054743688dffd43445400da8d71e461475fbd0910c23f4a4dbc63

Otherwise this pattern will fix it also:
'/protected \$classes = (array|\\[) *\(.*?\);/s'
This matches both array(...) and [...] declarations.

Doesn’t the end part ()) also need to be fixed?

No, the end part is marked by the ";" itself.
\(.*?\) means any character ;)

@JohannesTyra @vendethiel thanks for the report! I was using the latest release of SF1, but did not get the error.
Can you help me to reproduce it? Thanks!

@thePanz Which declaration you have in the latest relaese?
https://github.com/FriendsOfSymfony1/symfony1/commit/53a2b128735823cfe5d4d8488b8b820bafeadf26#diff-eaebe010ea1054743688dffd43445400da8d71e461475fbd0910c23f4a4dbc63
... array() OR [] ?
The preg_replace works only on the array() syntax.

the latest release uses the short array syntax.
How can I reproduce the error?


[Feature] Redesign github action pipeline

Is your feature request related to a problem? Please describe.
GitHub pipeline is hard to comprehend and maintain, repeats itself in several steps.
Reference:

https://github.com/cnti-testcatalog/testsuite/tree/main/.github/workflows

Describe the solution you'd like
Extraction of several steps and jobs to separate files, reusing step definitions where possible, improving overall readability and usability of CI.

Reference https://github.com/cnti-testcatalog/testsuite/tree/main/.github/workflows


[Request] Multiple pics of the same Pokemon?

The idea is for Shinies and other variants (hats!). I'd like to have "one" Pikachu photo, but clicking on Pikachu could show other Pikachu photos that I've selected.

This has now been implemented on the new Flickr API version of the website.


Adding kodadot/nft-gallery to good-first issue

[x] At least three issues with the good first issue label. - 17 at time of making this PR

[x] Detailed setup instructions for the project.

[x] CONTRIBUTING.md

[x] Actively maintained. - live and funded - https://nft.kodadot.xyz

https://github.com/kodadot/nft-gallery/issues

@sanket-deepsource @shubhendra-deepsource just did. I thought I originally posted it right, maybe I had a cursor elsewhere but I was looking to make it in lexicographic order originally. :)

@sanket-deepsource @shubhendra-deepsource just did. I thought I originally posted it right, maybe I had a cursor elsewhere but I was looking to make it in lexicographic order originally. :)

No worries! @yangwao ✨

Awesome, thanks for accepting @shubhendra-deepsource !
I've just realized we forked our own repo back in January and hasn't changed the description.
Would that be changed in the next rebuild?

now


Fix a possible signed integer overflow in localIjToCell

This protects against a particular instance of signed integer overflow that would have occurred in ijkNormalize.

Coverage decreased (-0.05%) to 98.991% when pulling fffdba77c953b10974369a69a02cc2d24f14bb5c on isaacbrodsky:localijtocell-overflow into de388c6370a4723876386633d82424aa912f7e20 on uber:master.

I don't think my original test was correct (coverage decreased) and I updated. TBD if coverage is complete on the new test.


Adopt v0.14

Hi, I've tried to adopt Fluentd v0.14.
I've found that there are several problems and I fixed them.

missing development dependency of test-unit gem
missing fluent/input require
sometimes missing calling super in #start and #shutdown

Thanks!


[Bug/Enhancement] Update Font Sizes For the Title & Subtitle in Hero Section

Currently the font sizes don't exactly match the figma design making the dynamic or the look of it weird (at least to me).

Yes it is weird imo. Thanks for pointing out.
Small question: do you think making the font size scale dynamically is a good idea? @juancwu

Yes it is weird imo. Thanks for pointing out.
Small question: do you think making the font size scale dynamically is a good idea? @juancwu

We should make the font smaller as the device width decreases but currently, I don't think the values for the desktop is not working out. Specifically the HawkHacks title. We should either maintain the ratio between the title and subtitle or have the same values.
The subtitle is 32px(2rem) but the title is not nearly close to the original size in Figma 110px(6.875rem). We have the font sizes configured in tailwind already so it should be an easy fix.
I think the breakpoint xl  for the title should be lg instead of use text-8.5xl. It is really big but it also makes the hero section look better.
As I said, I think we should keep the ratio when decreasing the font sizes if the current size on Figma seems way to big.

Alright, just focusing on fixing the desktop font for now...Can I handle it @juancwu

Alright, just focusing on fixing the desktop font for now...Can I handle this issue @juancwu ?

Sure, go for it


Mocking guzzle is way too complicated

http://guzzle.readthedocs.org/en/latest/testing.html
Although I appreciate this mock environment, it's way too verbose to set up. It really isn't necessary on most test situations and just adds noise to otherwise straightforward test cases.
There's also the fact Guzzle has code specifically geared towards unit testing. This is almost always bad practice, and a symptom of encapsulation breakdown somewhere. Using Guzzler's MockHandler means introducing an extra dependency on my tests as well as code extraneous to the unit being tested.
It doesn't help that all actual calls are done through a magic __call method.
Guzzle would be much more straightforward to mock if only it'd implement post(), get() et al as real methods rather than rely on __call. While __call being evil or not is up for discussion, it certainly has downsides on code clarity which surface on things like unit testing.
This would also help with type hinting on IDEs.

How is it too verbose?
What are you using to mock that does not allow magic methods?
Have you tried mocking send()? It's used on all blocking requests.

On Jun 16, 2015, at 5:29 AM, Luis Pabon<EMAIL_ADDRESS>wrote:
http://guzzle.readthedocs.org/en/latest/testing.html
Although I appreciate this mock environment, it's way too verbose to set up. It really isn't necessary on most test situations.
It doesn't help that all actual calls are done through a magic __call method.
Guzzle would be much more straightforward to mock if only it'd implement post(), get() etc rather than rely on __call.
This would also help with type hinting on IDEs.
—
Reply to this email directly or view it on GitHub.

I appreciate this, I'm just trying to find a way of mocking Guzzle in a way that tests don't need any actual knowledge of Guzzle itself by taking advantage of v6's PSR7ness. I'll see if I can do something a bit more constructive by actually going through the code. Might open a PR at some point with an RFC.

@luispabon I know this is years after you closed the issue, but if you still are looking for a nice way to work with Guzzle in tests, you might look into using Guzzler. Just a thought.

Thank you @adamkelso. Since then, I'm in fact using PSR-18 so not really an issue anymore


Internal $ref resolution in a referenced external JSON Schema is incorrectly resolved against OAS context

I've encountered an issue with how Prism handles $ref resolution, especially when referencing external JSON Schema files that contain their own internal references.
Context
When my OpenAPI specification references an external JSON Schema, and that external schema has its own internal references using the hash format (e.g., "$ref": "#/definitions/PropertyType"), it seems that Prism is attempting to resolve these internal references within the context of the main OpenAPI document rather than the external JSON Schema.
Example
OpenAPI Spec:
components:
  schemas:
    GenericContent:
      $ref: 'https://some.host/externally-hosted-schema.json#/definitions/Content'

externally-hosted-schema.json:
{
  "$id": ".."
  "schema" : ".."
  "definitions": {
    "Content": {
      "additionalProperties":{
         "$ref": "#/definitions/PropertyType"
      }
      "type": "object",
      "properties": {
        ....
      }
    },
    "PropertyType": {
      "type": "string"
    }
  }
}

When Prism processes the above, it appears to look for PropertyType within the OpenAPI document instead of in the external-schema.json file where it is defined.
Expected Behavior
Prism should resolve the internal $ref (pointing to PropertyType) relative to external-schema.json, not the main OpenAPI spec.
Current Behavior
Prism is looking for PropertyType in the main OpenAPI spec instead of external-schema.json and fails to locate it:
MissingPointerError: at "#/components/schemas/GenericContent/additionalProperties", token "definitions" in "#/definitions/PropertyType" does not exist

I understand that the OpenAPI specification states reference resolution should follow the JSON Reference specification and not the JSON Schema specification. The behavior I'm seeing in Prism appears to be inconsistent with this.
Would appreciate any guidance or fixes related to this issue. Thank you for your attention and assistance.
Possible Workaround/Solution
Currently a way to work around it seems to give absolute references instead of relative in the external files, but we don't like that much. It means providing the whole absolute web URL as a prefix for each internal reference.
Environment
OpenAPI 3.0,

Version used: 5.3.1
node v20.0.0
Operating System and version Mac M1 Pro Ventura 13.5.2

Are you able to resolve your issue by updating your reference to the full json path in the external JSON Schema?
Based on the example provided, $ref: 'https://some.host/externally-hosted-schema.json#/Content' should be $ref: 'https://some.host/externally-hosted-schema.json#/definitions/Content'. I see the path in the error output is different than the schema you have provided so this might not apply.
I was unable to reproduce the MissingPointerError using the following schemas that are based on the example you provided:
{
  "$id": "https://example.com/person.schema.json",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "Person",
  "type": "object",
  "definitions": {
    "Name": {
      "additionalProperties": {
        "$ref": "#/definitions/PropertyType"
      },
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        }
      }
    },
    "PropertyType": {
      "type": "string"
    }
  }
}

openapi: 3.0.0
info:
  title: example external schema
  version: '1.0'
servers:
  - url: 'http://localhost:3000'
paths:
  '/users/{userId}':
    parameters:
      - schema:
          type: integer
        name: userId
        in: path
        required: true
        description: Id of an existing user.
    get:
      summary: Get User Info by User ID
      tags: []
      responses:
        '200':
          description: User Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
components:
  schemas:
    User:
      $ref: 'https://raw.githubusercontent.com/brendarearden/garbage/main/schemas/externally-hosted-schema-defs-only.json#/definitions/Name'

If changing the JSON path does not fix the issue for you, could you please provide a complete spec/schema that reproduces the issue?

Hi, yeah, I messed up, when I was providing the example. We do have it correctly referenced in the original file.
After some narrowing down it turns out it is the x-examples that messes things up. See below your modified example:
openapi: 3.0.0
info:
  title: example external schema
  version: '1.0'
servers:
  - url: 'http://localhost:3000'
paths:
  '/users/{userId}':
    parameters:
      - schema:
          type: integer
        name: userId
        in: path
        required: true
        description: Id of an existing user.
    get:
      summary: Get User Info by User ID
      tags: []
      responses:
        '200':
          description: User Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
components:
  schemas:
    User:
      $ref: 'https://raw.githubusercontent.com/brendarearden/garbage/main/schemas/externally-hosted-schema-defs-only.json#/definitions/Name'
      x-examples:
        Example 1:
          property1 : "something"

I just added x-examples to your example and that's when you get the error:
  stack: 'MissingPointerError: at "#/components/schemas/User/additionalProperties", token "definitions" in "#/definitions/PropertyType" does not exist\n' +

@mimkorn the fix for this is in the latest version (v5.4.0) of prism and is also in the master branch!


brave notifications sounds mute

What does this PR?
If notifications are turned off from notification settings the notification won’t pop up and the sound won’t play.
If notification is turned on from settings but notification alerts from preferences are turned off. Only the notification displays but the sound will not play.
If notifications are turned on from settings and notifications alerts from preferences are also turned on then the sound will play and the notification will also display.
Steps to reproduce

Transfer funds from one account to another account. The source account open in chrome browser and target account opens in brave browser.
On the notification alerts setting from preferences and also turn on the transfer setting from notifications. You will hear the sound of notification and also see the notification popup.
Turn off the notifications alert from preferences. You will just see the notification popup but the sound won't play.
But if you turn off the transfer and any other setting from notifications, you won't see any popup notification or any sound of notifications.

Issue number
fixes #1211
Screenshot / Video
You can hear the notification sound in the video.
https://user-images.githubusercontent.com/106739598/226862852-bfa89286-56fc-41af-81a3-b849f5032cd0.mp4

@MTSaeed, notification alert is stored on backend and alert (sound + popup) should follow that settings. If vote notification alerts are turned off, then only that should turn off (sound + popup) but other notification types should still popup+sound.
User profile settings, turning off notification alert should also use same backend api only in this case, it should turn off and on all types of notifications (sount+popup).

@MTSaeed
Basically these two are slightly different UI but should use same backend api.
Only 1st image you can individually turn on/off notification types.

2nd image you can turn on/off all type of notifications (sound+popup)

@feruzm I have noticed that checks for global notification alert setting are not in place. The notification alerts are displayed and sound is played regardless of the global settings. I suggest few things.

@MTSaeed

When Settings alert is on/off should reflect notification drawer all off, all on.
When notification drawer individuals on/off should reflect Settings alert on/off too only it is selective on/off, not all types.

Does this means sense?
Alternative, expand Settings page dropdown with options like we have on notifications drawer with additional All option that can be on/off. That way dropdown is almost same.

@feruzm I have done following implementation.
1- When notifications are turned off from the settings. All notifications are turned off in the notification drawer.
2- If all notifications are turned off, and one of them is turned on in notification drawer. It will turn on the notifications in profile settings.
3- If all notifications are turned off from the notifications, it will turn off the notifications in the settings.
4- If all notifications were off previously turning on the notifications from settings will turn on all notifications in the drawer.

https://user-images.githubusercontent.com/106739598/230610213-c6bfd661-0221-4223-ae01-5795ca815fde.mp4


Create custom fields?

Hello.
I was wondering if it's possible to create new custom fields and add them to a custom profile.
For example, I would like to have "DOI" and "Second Author" fields for pdf files.
Based on this, it looks possible on a Windows level.

Hi
The link you give is the correct one. You can indeed define your own custom properties by describing them using a schema, and then calling Windows functions to create the property described. Once you have done so, File Meta should pick them up, just as it does the built-in properties.
But notice that 'should'. I have never done this, and I've never seen it done. It requires writing a program to call the windows functions required, and I know of no such program that anybody has written. And the schema is by no means simple to understand.
What I have seen done instead is to re-purpose one of the more than 600 properties defined by the system, with a little creative reinterpretation of its name. Not entirely satisfactory, I know, but not collectively painful enough to have given rise to date to a solution for creating custom properties beyond the fact that the capability exists at the system level.
Dijji

Thank you for the quick reply!
I have no idea how to create custom properties, so the real question is:
Are there any view plans to include such a feature in FileMeta?
If not, renaming an existing property would be fine for me. Do you know of any resources that could help me do that?
Thank you.

Changing a system property is more daunting than creating a custom one. In fact, I don't even know if it can be done. I don't think I could recommend it as an approach, even if it is possible. You never know what you will break.
What I had in mind was more something like repurposing, say, 'Contributing Artists' to hold information about additional authors.
I don't know of any software out there that you would support you doing anything else. I would not add the creation of custom properties as part of File Meta, but I could imagine doing a small project focused on just that little job. But first, I think you should exhaust the repurposing idea. There are a lot of properties in there, which is I think why nobody has ever felt the need to add more of their own strongly enough to write the software to do it.
Dijji

Oh, I see. I obviously considered that, but what I mentioned was just a small example. For my purposes, it would be unpractical and confusing to repurpose existing fields. For the number of fields that I need, it would be hard to keep track of what is what.
I tried looking into how other software add their custom fields. I found their .propdesc files. That seems easy enough. Also found the registry entries. But modifying any of these didn't have any effect on the actual properties detected by FileMeta. So I suspect there is some registration process (like calling some windows function) that needs to be done first to have windows "see" these custom properties.
If you do ever get to that project, it would greatly appreciated.
Thanks for the help.

I've been looking at what it would take to create an application to manipulate custom properties, and it doesn't look too hard to get to something at least somewhat useful. I have most of the pieces that I need to hand.
I will look a bit harder, and if it doesn't get worse, start the project immediately. Would you be prepared to be an early adopter, test the versions as they involve and give feedback?
Dijji

That sounds great! I'm really interested in having this capability, so yes, whatever you need I'm up for it.
Thanks!

https://github.com/Dijji/CustomWindowsProperties is now open for business!
I have posted an initial testing release, and would love to get your feedback. Can you create the properties you want? Do they work when you do?
The new site does describe the program, and should be enough to get you started. If it isn't, that is one of the things I would like to know!
Please raise issues on the new site to give your feedback.

If it can help also xyplorer crashes when adding fields to pdf. Nothing noteworthy noted in logs.


v1.6.1 IAM permissions not fully documented for instance role and logging

Hi folks!
Minor doc/policy issue to file here ...
Running brand new cfncluster 1.6.1 in a python virtualenv with IAM policies set up exactly as documented on: https://cfncluster.readthedocs.io/en/latest/iam.html
But still see this error on the role associated with the compute fleet members:
IAM role error on user provided role ec2-cfncluster-ICL-HPC-role: action logs:* is implicitDeny
See https://cfncluster.readthedocs.io/en/latest/iam.html

Note that https://cfncluster.readthedocs.io/en/latest/iam.html has zero IAM permissions related to "logs:" or cloudwatch logging at all in the section documenting the CfnClusterInstancePolicy.

Thanks for reporting this, there's no cloudwatch log permissions needed in 1.6.1. We removed cloudwatch logs as a dependency in 1.6.0. You can go ahead and turn off config sanity until we fix the validation.
sanity_check = false


a default options of  ttl  is need?

i think a default options of ttl is necessary,are you ? 😄

Which ttl did you mean? Could you provide an example?

Redis session TTL (expiration) in seconds.

Redis session? Do you mean the arguments of the EXPIRE command?

yeah,it's right. description indeterminacy,i'm so sorry 🎅

Aha. What value of the default ttl do you want? You can define a new command with a default ttl set:
redis.exipreWithDefaultTTL = function (key, seconds) {
  seconds  = seconds || 0;
  return redis.expire(key, seconds);
};


Stringification of empty AssetList

Currently an empty AssetList stringifies to an empty string. Should output something more informative instead, such as [] or none

implemented in https://github.com/mars-protocol/cw-asset/commit/e96c04fc45044225dd3a47bfb791cbfe822723af


kubectl using 1200% CPU on MacOS 14.4.1

What happened:
I always keep a terminal open with watch "kubectl get pods" while I work, so that if I can at a glance see the status of my remote cluster.
I noticed today while working that my computer was sluggish. When looking in activity monitor, kubectl was running at 1200% (12 full CPU cores) CPU usage, with low memory usage. At that time, watch "kubectl get pods" had been running for 5d 14h, polling state every 2s while my laptop is not in sleep mode.
I killed the command watch "kubectl get pods" and the process successfully exited, releasing the CPU load.
What you expected to happen:
Not eat 12 full CPU, it's polling once every 2 sec.
How to reproduce it (as minimally and precisely as possible):

No idea really! Anything I can do to help diagnose this?
The only reason that I'm posting here is that high CPU usage like this can be indicative of an exploited security vulnerability, and thus why I'm taking proactive action to open this issue.

Is there any sort of log that is left by kubectl locally or remotely (our cluster is in GCP K8S)?
How do I check the integrity of the program (checksum perhaps?)?

I think my kubectl is packaged directly with gcloud. I'm not sure; how do I check?
Anything else we need to know?:
Environment:

Kubernetes client and server versions (use kubectl version):

Client Version: v1.30.4
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Server Version: v1.30.4-gke.1348000

Cloud provider or hardware configuration: Google Cloud Platform, K8S; locally, MacBook Pro 2019 Intel Core i9
OS (e.g: cat /etc/os-release): MacOS 14.4.1 Sonoma

Thank @ardaguclu. I've added the flag and will be monitoring CPU usage. If anything happens I'll let you know :)

How do I check the integrity of the program (checksum perhaps?)?

The sha512 hash (for the gz) is published in the changelog.
For example, https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.30.md#client-binaries
Something like this should work:

Download the client binaries archive.
Compute the hash of the archive you downloaded to confirm it matches what the changelog says it should be.
Extract the archive.
Compute the hash for the extracted binary (This is the expected hash).
Compute the hash for your local binary and compare to confirm that it matches what you got in step 4.

Example (your will want to use darwin instead of linux-amd64):
~/Downloads $ shasum -a 512 kubernetes-client-linux-amd64.tar.gz
7551aba20eef3e2fb2076994a1a524b2ea2ecd85d47525845af375acf236b8afd1cd6873815927904fb7d6cf7375cfa5c56cedefad06bf18aa7d6d46bd28d287  kubernetes-client-linux-amd64.tar.gz
~/Downloads $ tar xvf kubernetes-client-linux-amd64.tar.gz kubernetes
kubernetes/
kubernetes/client/
kubernetes/client/bin/
kubernetes/client/bin/kubectl
kubernetes/client/bin/kubectl-convert
~/Downloads $ shasum -a 512 kubernetes/client/bin/kubectl
1adba880a67e8ad9aedb82cde90343a6656147e7f331ab2e2293d4bc16a280591bd3b912873f099f11cde2f044d8698b963ed45fadedfe1735d99158e21e44a0  kubernetes/client/bin/kubectl

Then get your local kubectl's hash and compare it...
shasum -a 512 $(which kubectl)

The interesting thing about this is that kubectl is not running for 5 days, it is being invoked by watch every 2 seconds for 5 days.
In addition to using -v=9 as @ardaguclu suggested...
If it happens again, try doing the following in another terminal, while the problem is occurring, to collect information that might be helpful to diagnose the problem:
ps -F $(pgrep kubectl)

pgrep kubectl | xargs -L1 lsof -p

Fantastic @brianpursley, thanks for the additional tips! I will be checking the checksum tomorrow :)

The interesting thing about this is that kubectl is not running for 5 days, it is being invoked by watch every 2 seconds for 5 days.

I was thinking the same thing - after 5 days, maybe that there's some kind of low-level error that leads to more CPU consumption or some data that accumulates. But every 2 second one execution? Shouldn't be an issue.
I'll follow up shortly!

Hi @brianpursley!
With some extra delays, I've done the sha1 check, and the checksum don't match.
I'm not sure whether they should match in the first place because:

My kubectl binary is the one distributed by google-cloud-sdk
When running kubectl version I get three versions - one for the client, one for the server, and one for kustomize; whereas the downloads on github are separate between the client and server

Here are the steps taken:

Determine the kubectl location on fs & version:

$ which kubectl
/Users/philippe/google-cloud-sdk/bin/kubectl
$ kubectl version
Client Version: v1.30.4
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Server Version: v1.30.5-gke.1014001

Download the kubectl binary from source

2.1. Navigate to https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.30.md#downloads-for-v1304
2.2. Click on kubernetes-client-darwin-amd64.tar.gz
2.3. Extract kubectl to a folder using tar -xvzf kubernetes-client-darwin-amd64.tar.gz

Assert checksum match

$ shasum -a 512 $(which kubectl)
a49c02cbe3d3b80011a0d53118d3d8f921efbad89e6c986d39e05a5d486702a9020ff324a1c01d79f24234fa5d8783448352c980379c876344efd0eb332377d4  /Users/philippe/google-cloud-sdk/bin/kubectl

and
$ shasum -a 512 /Users/philippe/Downloads/kubernetes/client/bin/kubectl 78c72e33056778b37c43e272e2b997be272edc70fd6f650e29eb4ab1221c0184955470611f6dba20592f778135c348752e423776c51e97f91a3cad33216430bc  /Users/philippe/Downloads/kubernetes/client/bin/kubectl

As you can see the checksum mismatch even though the client version matches.
How can I assert that the kubectl binary I have hasn't been tampered with/that there wasn't a supply-chain attack?
I can't just download the google-cloud-sdk on a docker image and obtain the shasum of the installed kubectl bin, all that would tell me is that my kubectl binary matches that of the provider, rather than if it matches the one compiled from this project.
Thank you for your help!
Cheers,
Philippe

Note that I also opened a support case with Google Cloud internally to assist in confirming the integrity of the kubectl binary packaged as part of google-cloud-sdk. Any information on your end will still be helpful, and I'll provide any information I got from Google Cloud's support team.

@philippefutureboy Do the Google Cloud SDK maintainers build their own kubectl binary that has gcloud specific changes?
If so, and if kubectl version reports it as "regular" kubectl, that seems like it could be confusing.

@brianpursley that's also what I'm trying to figure out with my support rep. I'll keep you in the loop with any new info.

@brianpursley Following up on the Google Cloud SDK kubectl binary - here's the support team's response:

The team confirmed that the checksum is unique to each binary unless it is compiled in the exact same environment and with the same parameters, which explains why the checksums do not match.
Currently, we do not have a checksum for kubectl, as it is part of the Cloud SDK package. However, we do have checksums available for gcloud [1].
If you wish to use a checksum for kubectl from the repository [2], you will need to generate the checksum yourself for the specific binary you are using.
To clarify, we only have checksums for the overall package (gcloud), not for the individual kubectl binary.

I'm not sure how to approach this, as I can't realistically reproduce the environment in which they compiled their version of the kubectl binary. I'll inquire if there's anything I can do to counter-verify the signature of their kubectl binary.

Here's the follow-up answer from the support team:

Regarding the questions you shared with us I would like to inform you that I checked with our internal team and this is what they shared with us:
“From what I gather, GCP seems to be compiling the binary on their own rather than using the binary that is provided by the official repository.
Why is that?”
As you mentioned earlier the official way to verify is to validate the checksum provided in our website [1] when downloading gcloud sdk CLI, after that you can install kubectl as part of gcloud components, "gcloud components install kubectl". However, we do not publish SHA checksum for the kubectl command that is packaged as part of gcloud-sdk. Meaning that we can do a checksum for the full package of gcloud components but we do not provide a way to checksum for single components.
“What's the motive to compile it on your end? Do you modify the source code in any way before compilation?”
GCP modifies kubectl binary included in gcloud to add specific features, optimizations, or integrations with Google Cloud services. These modifications would alter the checksum. Also, different build processes or compilation options can result in binaries with different checksums

So from what I understand it is not possible to assert the integrity of the kubectl binary when it is packaged by the Google Cloud team as part of the gcloud utilities. I've asked a follow-up question to see if it is possible to assert the checksum of the gcloud sdk with the kubectl binary against a publicly published list of checksums.


use CPPPATH from environment if it exists

This will pull in CPPPATH from the environment to specify an alternate location for header files.

:cake: Please merge me. :cake:


[SqlServer] BulkInsertOrUpdate does not insert in correct order and database IDs not assigned

Using the newest version (6.4.4) I have the problem that the order of the entities to be inserted is changed. Also the entities don't have the database IDs assigned (see Output section "newValuesFromMemory").
Given the following code:
[HttpGet]
public async Task<IActionResult> CreateStudents()
{
    var entriesToInsertOrUpdate = new List<Student>
    {
        new Student { CourseId = 1, EnrollmentDate = new DateTimeOffset(2020, 1, 1, 10, 0, 0, TimeSpan.FromHours(0)), Name = "Fawn Shawna"},      // Updated
        new Student { CourseId = 1, EnrollmentDate = new DateTimeOffset(2022, 1, 1, 23, 0, 0, TimeSpan.FromHours(0)), Name = "Fawn Shawna"},      // Created should be 11, but is 14
        new Student { CourseId = 1, EnrollmentDate = DateTimeOffset.UtcNow, Name = "Indy Carreen"},                                               // Created should be 12, but is 15
        new Student { CourseId = null, EnrollmentDate = DateTimeOffset.UtcNow, Name = "Nelly Cecil"},                                             // Created should be 13, but is 13
        new Student { CourseId = null, EnrollmentDate = new DateTimeOffset(2020, 1, 1, 10, 0, 0, TimeSpan.FromHours(0)), Name = "Fawn Shawna"},   // Created should be 14, but is 12
        new Student { CourseId = null, EnrollmentDate = new DateTimeOffset(2020, 1, 1, 10, 0, 0, TimeSpan.FromHours(0)), Name = "Keila Emerson"}, // Updated
        new Student { CourseId = 1, EnrollmentDate = DateTimeOffset.UtcNow, Name = "Quentin Creighton"},                                          // Created should be 15, but is 16
        new Student { CourseId = 2, EnrollmentDate = new DateTimeOffset(2020, 1, 1, 8, 0, 0, TimeSpan.FromHours(0)), Name = "Aston Fenton" },     // Updated
        new Student { CourseId = null, EnrollmentDate = DateTimeOffset.UtcNow, Name = "Earlene Aaren"},                                           // Created should be 16, but is 11
    };

    var beforeInsertOrUpdate = await _applicationDbContext.Set<Student>().ToArrayAsync();

    await _applicationDbContext.BulkInsertOrUpdateAsync(
        entities: entriesToInsertOrUpdate,
        bulkConfig: new BulkConfig
        {
            SetOutputIdentity = true,
            PreserveInsertOrder = true,
            UpdateByProperties = new List<string>
            {
                nameof(Student.CourseId),
                nameof(Student.Name),
                nameof(Student.EnrollmentDate),
            },
            PropertiesToExcludeOnUpdate = new List<string>
            {
                nameof(Student.CreatedAt),
            },
            SqlBulkCopyOptions = SqlBulkCopyOptions.CheckConstraints
                | SqlBulkCopyOptions.FireTriggers
                | SqlBulkCopyOptions.UseInternalTransaction
        });

    return Ok(new
    {
        OldValuesFromDatabase = beforeInsertOrUpdate,
        NewValues = entriesToInsertOrUpdate,
        ValuesFromDatabase = await _applicationDbContext.Set<Student>().ToArrayAsync()
    });
}

Entities:
public class Student
{
    [Key]
    public long Id { get; set; }

    [DatabaseGenerated(DatabaseGeneratedOption.Computed)]
    public DateTimeOffset? CreatedAt { get; set; }

    [Required]
    [MaxLength(255)]
    public string? Name { get; set; }

    public long? CourseId { get; set; }

    public DateTimeOffset EnrollmentDate { get; set; }

    public Course? Course { get; set; }
}

public class Course
{
    [Key]
    public long Id { get; set; }

    [Required]
    [MaxLength(255)]
    public string? Name { get; set; }
}

Context
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
    base.OnModelCreating(modelBuilder);

    modelBuilder.Entity<Student>(entity =>
    {
        entity.HasOne(s => s.Course)
            .WithMany()
            .HasForeignKey(s => s.CourseId)
            .OnDelete(DeleteBehavior.Restrict);

        entity.HasData(
            new Student { Id = 1, CourseId = 1, EnrollmentDate = new DateTimeOffset(2020, 1, 1, 8, 0, 0, TimeSpan.FromHours(0)), Name = "Libby Briar" },
            new Student { Id = 2, CourseId = 1, EnrollmentDate = new DateTimeOffset(2020, 1, 1, 8, 0, 0, TimeSpan.FromHours(0)), Name = "Kehlani Hallie" },
            new Student { Id = 3, CourseId = 1, EnrollmentDate = new DateTimeOffset(2020, 1, 1, 10, 0, 0, TimeSpan.FromHours(0)), Name = "Fawn Shawna" },
            new Student { Id = 4, CourseId = 2, EnrollmentDate = new DateTimeOffset(2020, 1, 1, 8, 0, 0, TimeSpan.FromHours(0)), Name = "Richardine Dash" },
            new Student { Id = 5, CourseId = 2, EnrollmentDate = new DateTimeOffset(2020, 1, 1, 8, 0, 0, TimeSpan.FromHours(0)), Name = "Fletcher Kaylin" },
            new Student { Id = 6, CourseId = 2, EnrollmentDate = new DateTimeOffset(2020, 1, 1, 10, 0, 0, TimeSpan.FromHours(0)), Name = "Delilah Cari" },
            new Student { Id = 7, CourseId = 2, EnrollmentDate = new DateTimeOffset(2020, 1, 1, 10, 0, 0, TimeSpan.FromHours(0)), Name = "Chanel Linton" },
            new Student { Id = 8, CourseId = 2, EnrollmentDate = new DateTimeOffset(2020, 1, 1, 8, 0, 0, TimeSpan.FromHours(0)), Name = "Aston Fenton" },
            new Student { Id = 9, CourseId = null, EnrollmentDate = new DateTimeOffset(2020, 1, 1, 8, 0, 0, TimeSpan.FromHours(0)), Name = "Renee Madisyn" },
            new Student { Id = 10, CourseId = null, EnrollmentDate = new DateTimeOffset(2020, 1, 1, 10, 0, 0, TimeSpan.FromHours(0)), Name = "Keila Emerson" });
    });

    modelBuilder.Entity<Course>(entity =>
    {
        entity.HasData(
            new Course { Id = 1, Name = "Software Engineering" },
            new Course { Id = 2, Name = "Mechanical Engineering" });
    });
}

Output
{
  "oldValues": [
    {
      "id": 1,
      "createdAt": null,
      "name": "Libby Briar",
      "courseId": 1,
      "enrollmentDate": "2020-01-01T08:00:00+00:00",
      "course": null
    },
    {
      "id": 2,
      "createdAt": null,
      "name": "Kehlani Hallie",
      "courseId": 1,
      "enrollmentDate": "2020-01-01T08:00:00+00:00",
      "course": null
    },
    {
      "id": 3,
      "createdAt": null,
      "name": "Fawn Shawna",
      "courseId": 1,
      "enrollmentDate": "2020-01-01T10:00:00+00:00",
      "course": null
    },
    {
      "id": 4,
      "createdAt": null,
      "name": "Richardine Dash",
      "courseId": 2,
      "enrollmentDate": "2020-01-01T08:00:00+00:00",
      "course": null
    },
    {
      "id": 5,
      "createdAt": null,
      "name": "Fletcher Kaylin",
      "courseId": 2,
      "enrollmentDate": "2020-01-01T08:00:00+00:00",
      "course": null
    },
    {
      "id": 6,
      "createdAt": null,
      "name": "Delilah Cari",
      "courseId": 2,
      "enrollmentDate": "2020-01-01T10:00:00+00:00",
      "course": null
    },
    {
      "id": 7,
      "createdAt": null,
      "name": "Chanel Linton",
      "courseId": 2,
      "enrollmentDate": "2020-01-01T10:00:00+00:00",
      "course": null
    },
    {
      "id": 8,
      "createdAt": null,
      "name": "Aston Fenton",
      "courseId": 2,
      "enrollmentDate": "2020-01-01T08:00:00+00:00",
      "course": null
    },
    {
      "id": 9,
      "createdAt": null,
      "name": "Renee Madisyn",
      "courseId": null,
      "enrollmentDate": "2020-01-01T08:00:00+00:00",
      "course": null
    },
    {
      "id": 10,
      "createdAt": null,
      "name": "Keila Emerson",
      "courseId": null,
      "enrollmentDate": "2020-01-01T10:00:00+00:00",
      "course": null
    }
  ],
  "newValuesFromMemory": [
    {
      "id": 0,
      "createdAt": null,
      "name": "Fawn Shawna",
      "courseId": 1,
      "enrollmentDate": "2020-01-01T10:00:00+00:00",
      "course": null
    },
    {
      "id": 0,
      "createdAt": null,
      "name": "Fawn Shawna",
      "courseId": 1,
      "enrollmentDate": "2022-01-01T23:00:00+00:00",
      "course": null
    },
    {
      "id": 0,
      "createdAt": null,
      "name": "Indy Carreen",
      "courseId": 1,
      "enrollmentDate": "2022-04-27T08:41:24.2603513+00:00",
      "course": null
    },
    {
      "id": 0,
      "createdAt": null,
      "name": "Nelly Cecil",
      "courseId": null,
      "enrollmentDate": "2022-04-27T08:41:24.260352+00:00",
      "course": null
    },
    {
      "id": 0,
      "createdAt": null,
      "name": "Fawn Shawna",
      "courseId": null,
      "enrollmentDate": "2020-01-01T10:00:00+00:00",
      "course": null
    },
    {
      "id": 0,
      "createdAt": null,
      "name": "Keila Emerson",
      "courseId": null,
      "enrollmentDate": "2020-01-01T10:00:00+00:00",
      "course": null
    },
    {
      "id": 0,
      "createdAt": null,
      "name": "Quentin Creighton",
      "courseId": 1,
      "enrollmentDate": "2022-04-27T08:41:24.2603528+00:00",
      "course": null
    },
    {
      "id": 0,
      "createdAt": null,
      "name": "Aston Fenton",
      "courseId": 2,
      "enrollmentDate": "2020-01-01T08:00:00+00:00",
      "course": null
    },
    {
      "id": 0,
      "createdAt": null,
      "name": "Earlene Aaren",
      "courseId": null,
      "enrollmentDate": "2022-04-27T08:41:24.260353+00:00",
      "course": null
    }
  ],
  "newValuesFromDatabase": [
    {
      "id": 1,
      "createdAt": null,
      "name": "Libby Briar",
      "courseId": 1,
      "enrollmentDate": "2020-01-01T08:00:00+00:00",
      "course": null
    },
    {
      "id": 2,
      "createdAt": null,
      "name": "Kehlani Hallie",
      "courseId": 1,
      "enrollmentDate": "2020-01-01T08:00:00+00:00",
      "course": null
    },
    {
      "id": 3,
      "createdAt": null,
      "name": "Fawn Shawna",
      "courseId": 1,
      "enrollmentDate": "2020-01-01T10:00:00+00:00",
      "course": null
    },
    {
      "id": 4,
      "createdAt": null,
      "name": "Richardine Dash",
      "courseId": 2,
      "enrollmentDate": "2020-01-01T08:00:00+00:00",
      "course": null
    },
    {
      "id": 5,
      "createdAt": null,
      "name": "Fletcher Kaylin",
      "courseId": 2,
      "enrollmentDate": "2020-01-01T08:00:00+00:00",
      "course": null
    },
    {
      "id": 6,
      "createdAt": null,
      "name": "Delilah Cari",
      "courseId": 2,
      "enrollmentDate": "2020-01-01T10:00:00+00:00",
      "course": null
    },
    {
      "id": 7,
      "createdAt": null,
      "name": "Chanel Linton",
      "courseId": 2,
      "enrollmentDate": "2020-01-01T10:00:00+00:00",
      "course": null
    },
    {
      "id": 8,
      "createdAt": null,
      "name": "Aston Fenton",
      "courseId": 2,
      "enrollmentDate": "2020-01-01T08:00:00+00:00",
      "course": null
    },
    {
      "id": 9,
      "createdAt": null,
      "name": "Renee Madisyn",
      "courseId": null,
      "enrollmentDate": "2020-01-01T08:00:00+00:00",
      "course": null
    },
    {
      "id": 10,
      "createdAt": null,
      "name": "Keila Emerson",
      "courseId": null,
      "enrollmentDate": "2020-01-01T10:00:00+00:00",
      "course": null
    },
    {
      "id": 11,
      "createdAt": null,
      "name": "Earlene Aaren",
      "courseId": null,
      "enrollmentDate": "2022-04-27T08:41:24.260353+00:00",
      "course": null
    },
    {
      "id": 12,
      "createdAt": null,
      "name": "Fawn Shawna",
      "courseId": null,
      "enrollmentDate": "2020-01-01T10:00:00+00:00",
      "course": null
    },
    {
      "id": 13,
      "createdAt": null,
      "name": "Nelly Cecil",
      "courseId": null,
      "enrollmentDate": "2022-04-27T08:41:24.260352+00:00",
      "course": null
    },
    {
      "id": 14,
      "createdAt": null,
      "name": "Fawn Shawna",
      "courseId": 1,
      "enrollmentDate": "2022-01-01T23:00:00+00:00",
      "course": null
    },
    {
      "id": 15,
      "createdAt": null,
      "name": "Indy Carreen",
      "courseId": 1,
      "enrollmentDate": "2022-04-27T08:41:24.2603513+00:00",
      "course": null
    },
    {
      "id": 16,
      "createdAt": null,
      "name": "Quentin Creighton",
      "courseId": 1,
      "enrollmentDate": "2022-04-27T08:41:24.2603528+00:00",
      "course": null
    }
  ]
}

OrderBy is set in SqlQueryBuilder.cs on segment:
https://github.com/borisdj/EFCore.BulkExtensions/blob/38a3c378852fd1c691a023c91c782fda72727878/EFCore.BulkExtensions/SqlQueryBuilder.cs#L179-L184
But when UpdateByProperties are configured then orderBy is done with those props instead of ID.
I have tried to change it, and keep IdentityCol, with following line:
var orderByCols = tableInfo.HasIdentity ? new List<string> { tableInfo.IdentityColumnName } : primaryKeys;
var orderBy = (orderByCols.Count() == 0) ? "" : $"ORDER BY {GetCommaSeparatedColumns(orderByCols)}";

But still it does not make proper order.
Seems this is due to how Sql MERGE works, it can only OrberBy cols that are in ON list to be compared for update.
Only alternative would be to first use BulkRead and find which records already exist then split the list into 2 lists entitiesForUpdate and entitiesForInsert without configuring UpdateByProps.


model cannot display in 2D mode

The model of an entity with position of large height (above about 7600000) can't display, polyline and polygon have the same    problem.is this a bug?or we can heighten the height by changing some parameters?

@Rokkregin can you please submit a full code example that reproduces the issue? You can create the example in Sandcastle and click "share" and paste the link you get here.


Make _make_custom_tooltip receive raw tooltip for buttons with shortcut enabled

Similar to #97265: Tooltip text can be used to pass pure data to _make_custom_tooltip(), so the text should not be altered before that.
This PR makes the tooltip control show shortcut info instead of adding shortcut info to the tooltip text.
Also fixed a bug that the shortcut's name is not affected by auto translation. Test project: test-4.zip

Thanks!


[FEATURE] Hovering Effect on Navbar

Detailed description
When we hover over navbar lists such as Home Blog Projects etc . It does not show any hovering effect.
https://github.com/WebXDAO/WebXDAO.github.io/assets/85991449/a2af3b90-1e74-4ddb-b64b-e6f702841495
Context
When somebody hovers , it does not show any effect then it fells like no activity is happening . I think it can create a bad impact on visitors.
Possible implementation
I will make good hovering effect by adding some css and if somebody will hover it will show transitions and animations .
Additional information
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Can you assign me this issue under GSSOC'23.

someone already working on this https://github.com/WebXDAO/WebXDAO.github.io/issues/297

Memb

ok


AttributeError: 'InterpretedFunction' object has no attribute 'cache_key'

I have modified 01-vector-add.py code , which aims to run on cpu.
Trying to use triton compiler, but getting following error:
 python3 triton/python/triton/tools/compile.py --kernel-name add_kernel --signature "*fp32,*fp32,*fp32,i32,64" --grid=1024,1024,1024 01-vector-add.py
tensor([0.5151, 1.6826, 0.9153,  ..., 0.9852, 1.2714, 1.8192])
tensor([0.5151, 1.6826, 0.9153,  ..., 0.9852, 1.2714, 1.8192])
The maximum difference between torch and triton is 0.0
Traceback (most recent call last):
  File "triton/python/triton/tools/compile.py", line 112, in <module>
    ccinfo = triton.compile(src, options=opts)
  File "/local/mnt/workspace/users/vpandya/triton/python/triton/compiler/compiler.py", line 240, in compile
    key = f"{triton_key()}-{src.hash()}-{backend.hash()}-{options.hash()}-{str(sorted(env_vars.items()))}"
  File "/local/mnt/workspace/users/vpandya/triton/python/triton/compiler/compiler.py", line 109, in hash
    key = f"{self.fn.cache_key}-{self.attrs.hash()}-{sorted_sig}-{sorted_constants}"
AttributeError: 'InterpretedFunction' object has no attribute 'cache_key'

Can someone please explain what is wrong in my setup?

I think this is because I have TRITON_ITERPRET=1. unsetting that variable makes things works as per expectations.

Yeah, TRITON_ITERPRET is not supposed to work with compile.py


Correct highlighted new code that needs to be added

In the highlighted portion of new code to be added for the section "Display related enrollments on the Details page", the previous 3 lines (32-34) are not highlighted but they are new lines of code that the user should add.

@mattsonnhalter Very nice catch! Thank you for fixing this.


Update Composer dependencies (2023-09-26-00-13)

Visual regression test passed!
View the visual regression test report


Add note about extracting emojis to README

Minor README update to demonstrate the availability of EmojiParser.extractEmojis(String)

Coverage remained the same at 93.21% when pulling 3efd5c778f79bafb1bdee80e6c0a35a7aee72531 on niij:patch-1 into 36642305de37bad95a801eecdfa7a8b3f121b00a on vdurmont:master.


typo / missing space in RuntimeError

I just signed up here to report this, sorry if I'm doing everything wrong or something.
I just got the follwing:
RuntimeError: in user code:

    <ipython-input-74-5015738e55b1>:22 fitting  *
        grads = tape.gradient(value, model.trainable_weights)
    /usr/local/lib/python3.6/dist-packages/tensorflow/python/eager/backprop.py:1027 gradient  **
        raise RuntimeError("A non-persistent GradientTape can only be used to"

    RuntimeError: A non-persistent GradientTape can only be used tocompute one set of gradients (or jacobians)

And I think there is a space missing in the last line's "tocompute".

Thanks for the issue. This was recently fixed with commit d335bfd and should be part of next TF versions.

Thanks for the issue. This was recently fixed with commit d335bfd and should be part of next TF versions.


Unsplit the doc view

This reverts commit 589d67a7fa58184a6739ad85e970a1206b64cf74 from PR #41695, because we have found problems with the mobile view.
/area web-development

I believe someone is attempting to fix this using some CSS magic. Can we wait and see if that works out?

How about a time-box. Eg, we revert if we don't have a fix by 00:00 UTC on the 8th of September.

That might be a crunch, I'll try my best

Another reference: https://www.creativebloq.com/javascript/expert-guide-making-your-javascript-responsive-71412226

@tengqm @sftim I tinkered around with a few possibilities that came to my mind. One of the closest plausible were setting display none on splitter components in smaller viewports (and I thought I'd later play with the html markup to fix the layout). The only problem is that the javascript leaves a lingering effect on the DOM :) I think It's the best if we revert these changes

With https://github.com/kubernetes/website/pull/42943 merged, do we need this revert PR?
The preview from my mobile device for this PR and https://github.com/kubernetes/website/pull/42943 show the same

/close


De-google the README and highlight the differences in this fork

Accidentally opened this PR on the wrong repository


Modal: Component enhancements and navigation improvements

This PR significantly improves the Modal component, enhancing its functionality, navigation behavior, and user experience. The changes focus on better handling of Modal states, improved navigation patterns, and smoother transitions between content.
Key changes
Modal navigation and content handling

Implemented smart Modal content updating instead of nested Modals
Added detection for Modal states using inModal URL parameter
Enhanced parent-child iframe communication with new message types
Improved visual feedback during content loading

Index page navigation

Added special handling for index page links (/ and /# paths)
Implemented direct navigation for index page links
Removed Modal icon for index page links in CSS
Fixed navigation behavior for hash-based URLs

Visual and UX improvements

Added loading spinner during iframe content loading
Improved Modal transitions with opacity animations
Fixed banner visibility in Modal context
Enhanced scroll position handling
Fixed background content flash issues

Technical improvements

Added TypeScript safety improvements
Enhanced documentation
Improved event handling and propagation
Consolidated Modal features into dedicated component
Added proper error handling and logging

Testing notes
Please test the following scenarios:

Navigation between Modal content
Index page navigation (with and without hash)
Modal loading states and transitions
Scroll position preservation
Banner visibility in different contexts

/c @netmilk
Fixes #2

We're going to merge this PR now, but some more bugs need to be fixed ASAP: #13


Menu

hello I want to add a menu so i can jump on a desired slide in nested or regular slide
This is a (multiple allowed):

[x] bug

[ ] enhancement

[ ] feature-discussion (RFC)

Swiper Version: EXACT RELEASE VERSION OR COMMIT HASH, HERE.

Expected Behavior
EXPLAIN WHAT IS TO BE EXPECTED, HERE.
Actual Behavior
EXPLAIN WHAT IS ACTUALLY HAPPENING, HERE.
P.S. Remember, an issue is not the place to ask questions. You can use Stack Overflow
for that.
Before you open an issue, please check if a similar issue already exists or has been closed before.

P.S. Remember, an issue is not the place to ask questions. You can use Stack Overflow
for that.

http://idangero.us/swiper/forum/
https://stackoverflow.com/questions/tagged/swiper


elastic pool

Hi, olivere can not support client pool? thx

I’m afraid I don’t understand. Can you explain?

I’m afraid I don’t understand. Can you explain?

for concurrent requests for multiple indexes

You can already use a single client for running concurrent requests. It is thread-safe, if that's what you want.


cannot import name 'HTTP_OK' at homeassistant Core 2024.7.4

🐛 Describe the bug
當天Core版本為2024.7.4, 新增實體顯示 設定流程無法載入: {"message":"Invalid handler specified"}
透過logger顯示無法載入HTTP_OK, 根據官方change log(如下)顯示HTTP_*系列已移除並改為http.HTTPStatus
https://www.home-assistant.io/blog/2021/12/11/release-202112/#updates-for-custom-integration-developers
logger:
1.
記錄器: homeassistant.config_entries
來源: config_entries.py:2832
首次發生: 上午9:30:44 (1 事件)
最後紀錄: 上午9:30:44
Error occurred loading flow for integration Hitachi_smart_app: cannot import name 'HTTP_OK' from 'homeassistant.const' (/usr/src/homeassistant/homeassistant/const.py)

記錄器: homeassistant.util.loop
來源: util/loop.py:136
首次發生: 上午9:30:44 (1 事件)
最後紀錄: 上午9:30:44
Detected blocking call to import_module with args ('custom_components.Hitachi_smart_app.config_flow',) inside the event loop by integration 'config' at homeassistant/components/config/config_entries.py, line 179: return await super()._post_impl(request, data) (offender: /usr/src/homeassistant/homeassistant/loader.py, line 1296: return importlib.import_module(f"{self.pkg_path}.{platform_name}")), please create a bug report at https://github.com/home-assistant/core/issues?q=is%3Aopen+is%3Aissue+label%3A"integration%3A+config" For developers, please see https://developers.home-assistant.io/docs/asyncio_blocking_operations/#import_module Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/src/homeassistant/homeassistant/main.py", line 223, in  sys.exit(main()) File "/usr/src/homeassistant/homeassistant/main.py", line 209, in main exit_code = runner.run(runtime_conf) File "/usr/src/homeassistant/homeassistant/runner.py", line 190, in run return loop.run_until_complete(setup_and_run_hass(runtime_config)) File "/usr/local/lib/python3.12/asyncio/base_events.py", line 674, in run_until_complete self.run_forever() File "/usr/local/lib/python3.12/asyncio/base_events.py", line 641, in run_forever self._run_once() File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1990, in _run_once handle._run() File "/usr/local/lib/python3.12/asyncio/events.py", line 88, in _run self._context.run(self._callback, *self._args) File "/usr/local/lib/python3.12/site-packages/aiohttp/web_protocol.py", line 452, in _handle_request resp = await request_handler(request) File "/usr/local/lib/python3.12/site-packages/aiohttp/web_app.py", line 543, in _handle resp = await handler(request) File "/usr/local/lib/python3.12/site-packages/aiohttp/web_middlewares.py", line 114, in impl return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 92, in security_filter_middleware return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 210, in forwarded_middleware return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 26, in request_context_middleware return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 85, in ban_middleware return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 242, in auth_middleware return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/headers.py", line 32, in headers_middleware response = await handler(request) File "/usr/src/homeassistant/homeassistant/helpers/http.py", line 73, in handle result = await handler(request, **request.match_info) File "/usr/src/homeassistant/homeassistant/components/http/decorators.py", line 81, in with_admin return await func(self, request, *args, **kwargs) File "/usr/src/homeassistant/homeassistant/components/http/data_validator.py", line 74, in wrapper return await method(view, request, data, *args, **kwargs) File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 172, in post return await self._post_impl(request, data) File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 179, in _post_impl return await super()._post_impl(request, data)
Environment Information
Core 2024.7.4
Supervisor 2024.06.2
Operating System 11.5
前端 20240710.0

Wrong project lol


Fix 1295 reactive

the changes in this PR are already done in k8s client, so this simply replicates them.

@ryanjbaxter one more minor bug fix. thank you


no support for Sonoff Devices

Issue description
After update to v3.x there is no support for Sonoff devices any more
BasicZBR3 , Sonoff wireless button are not working any more in domoticz
trying to use old library plug-in chrashes
Additional information
Zigbee2MQTT version:1.83
Python version:3.73
Domoticz version:2021.1
Plugin version:latest
Logs
Attach any additional logs here which might be useful: mqtt, domoticz, plugin logs

works fine for me, all Sonoff Zigbee types work. Pair again? Needs to be close to Zigbee controller to pair.

I have a brand new one straight out of the box ,zigbee2qmtt says pairing oke , supported oke .
But no support in Domoticz , the one i used before is sitting on a difficult place to replace him .
The Sonoff button was also working fine until the update to V3.x , there is no map in adapters for sonoff anymore
On the moment i use a few Node-Red routines witch i use for unsupported devices in domoticz to get them working again

Do you have any errors in Domoticz log regarding your device?

No , the new ZBR3 don't get any number created in the Domoticz database , the ZBR3 old one  just don't react on commands of Domoticz .
Also there is no status update or the button commands are working .
On the moment i use Node-red to send the status en commands between domoticz and zigbee2Mqtt using virtual switches.
I am more a hardware guy , trying to get understanding the program, and just starting with Phyton .
i am from the basic and lisp era  so just starting again :)

I have discovered the problem there are 3 things creating it .
First the limit of 255 inside Domoticz for a plug-in.
I am using about 54 devices inside zigbee2mqtt and have already moved several devices to my Hue hub.
Second in the new version of the plug-in  for every switch there are 2 action buttons created _switch and _state
_switch is the old existing action  but doesn't work any more inside Domoticz.
_state  is the new action for Domoticz and working.
But both are created so to lower the used space and getting everything working again i must remove all unused entry's .
After deleting them i have some space until the next reboot , then all the deleted entry's are back again with new numbers.

I have put _switch in the blacklist , and disabled signal quality .
now i am using just 140 Zigbee entry's  so i have left 115 entry's witch i can use .
maybe i must create another separate Zigbee server  for X-Mas :)


Translatable fields are missing from Taxonomy Terms

Missing cover image and facts:
https://thor.dosomething.org/taxonomy/term/13/edit -> https://thor.dosomething.org/volunteer/bullying
https://thor.dosomething.org/taxonomy/term/16/edit -> https://thor.dosomething.org/volunteer/animals

Blocked by #5694


Pika Backup not found by searching for 'borg'

I got a report that Pika Backup cannot be found by searching for borg.
This seems a bit odd since several unrelated apps are listed, but Pika Backup isn't. Reasons why it should be listed: 'borg' appears in the keywords, the short and the long description.

It will be fixed after deployment finishes in few minutes.


Find link to bib file and import it

When I visit https://www.uni-bamberg.de/pi/bereich/forschung/publikationen/13-03-lenhard-wirtz/, there is a link "Bibtex" opened, which points to https://www.uni-bamberg.de/fileadmin/uni/fakultaeten/wiai_lehrstuehle/praktische_informatik/Dateien/Publikationen/BibTex/lenhard2013seke.bib.
The Jabref-FirefoxAddon should be able to parse the HTML and find out that a bib is linked. If such a thing is found, that bib should be imported into JabRef when clicking "JR".
Due to https://github.com/tobiasdiez/Jabref-FirefoxAddon/issues/9#issuecomment-161961024 I am aware that there is no Zotero crawler defined for uni-bamberg.de, but do I really have to implement one? If yes, could the Jabref-FirefoxAddon provide a link to a how-to if no crawler is available?
The reason for the request is that there are many more ore less private or university-driven web pages out there offering BibTeX and that they are not registered at Zotero. My current feeling is that the write-Zetero-crawler-for-each-web-page-with-bib-files-one-discoveres-and-pull-that-to-zotero-loop causes more overhead than the Jabref-FirefoxAddon could imply parse the page. Other solution suggestions welcome. Maybe a generic Zotero Crawler?
Refs #9

A generic Zotero Crawler looking for links to bib files should be an option. Good suggestion.

Thinking again about the situation you described: if the website contains a link to a bib file, then we don't need an addon at all, do we? Just clicking the link should open a window asking how you want to open the file and you can choose JabRef there. Afterwards every link to a bib file is automatically opened by JabRef. So no addon needed.
(Moreover, a general zotero crawler also has to handle the case of multiple bib file etc. )


Does not report bandwidth

Version 0.9.4
[NGINX] Logs parsed with %h %^[%d:%t %^] "%r" %s %b do not report any bandwidth. Bandwidth is always 0.0 B.
This is a sample log that was parsed successfully (without bandwidth):
XX.XXX.XXX.XXX - - [23/Jan/2017:05:11:08 +0000] "GET /static/bootstrap/css/bootstrap.css HTTP/1.1" 200 142288 "https://example.com/extra-parameters" "Mozilla/5.0 (Linux; U; Android 5.1; en-US; Atom 2 Build/LMY47D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 UCBrowser/ Mobile Safari/534.30" "-"

This should do it:
goaccess -f log --log-format=COMBINED

or
log-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u"%^
date-format %d/%b/%Y
time-format %T

goaccess -f log --log-format=COMBINED

does not read the bandwidth. But
log-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u"%^

reads the bandwidth.

You will need the latest version for --log-format=COMBINED to fully read the log. Feel free to update here.


Alternative Names

After reading some discussions of users, I made a rename of RolePermission, RoleKind and Action (and added more comments into RolePermission in particular).
I don't expect this to get merged since it has no new features and yet breaks a lot of the wasm interface (function, data names).
The objective is to just showcase a different set of names for some structures which would work well with the comments that were added.

I don't really agree with Role to Council renaming - it's indeed Role as in ACL.
This role can be defined by list of people (council), token holding, some bridge contract or whatever else. Can be completely programmatic potentially.

@ilblackdragon I see, I didn't know about the ACL connection.
I tried to rename to other things before getting to Council (RoleDecision, Judge - then I saw forum users using Council, so I thought it could make sense). The main point would be a possible connection to the act of "actually setting the proposal state", as if the Council were the actor itself.
This could be a wrong or not a good way of seeing the system, but I tried to expand this view on the Council struct documentation. I saw them as actors who are trying to make decisions on proposals, and they can analyze artifacts when trying to make a decision - one of those would be users votes.
In this way, the decision-making process of the Council can be potentially programmatic, and the connection to the Roles in ACL would be on the Council's permissions field, which will decide if users opinions will be registered as artifacts (which will then be visible to the Councils) or ignored by the system.
So another main difference on this view is that users never really "act" on proposals, they just register their "opinion" about it instead.

I think I'll be closing this as it's supposed to be an exploratory PR, but which won't really be developed nor depended upon. Thanks!


[Feature Request] Save/export current waveform buffer

When taking a waveform trace without the record option, once paused, it would be nice to be able to save out the current buffer. Maybe even have the option to save between annotation markers?

Looks like this might already be implemented https://github.com/jetperch/pyjoulescope_ui/issues/6
If so, feel free to reject. The ability to export wasn't intuitive to me when I was trying to do it earlier. Could maybe improve UX.

Added in 0.9.1.


Add Self Reporting Spec

Moved from @super3 https://github.com/Storj/node-storj/issues/36

Self Reporting
In order to make sure that information about nodes in the network is accurate, we ask users to voluntarily self report. For example, if a node is behind a firewall and not reachable via P2P connection, we can know that they exist and there is an issue.
Two public keys are provided. The first is used to encrypt the Node ID and IP address of the users. The second is used to encrypt the payment address. This allows a system to collect information and transparently display information without exposing the security and privacy of the users.
Keys are delivered in this format:
  {
        "key1": hex,
        "key2": hex
  }

The standard format for such a self reporting message is as follows:
{
  "store" : {
    "free": int,
    "used": int
  },
  "bandwidth": {
    "upload": float,
    "download": float
  },
  "node": {
    "id": key1(hex),
    "ip": key1(string),
    "port": int
  },
  "payment": key2(address),
  "signature": sigdata
}

Signature is of the json serialized data (minus signature) with keys ordered alphanumerically. Note that a message is considered invalid and dropped if the signature incorrect or the listed IP does not match the IP of the sender.

@gordonwritescode Do you have enough information to be able to reasonably implement this client side?

Just a couple modifications to the format - let's wrap it in JSON-RPC to keep things consistent, include a timestamp so the signature cannot be reused (the service can check the current time), change node to contact to be more consistent with the protocol, and store to storage (for clarity - store can be a verb):
{
  "id": String(message_id),
  "method": "REPORT",
  "params": {
    "storage" : {
      "free": Number(drive_size_bytes),
      "used": Number(shard_dir_size_bytes)
    },
    "bandwidth": {
      "upload": Number(upload_speed),
      "download": Number(download_speed)
    },
    "contact": {
      "protocol": String(semver_tag),
      "nodeID": String(pubkeyhash),
      "address": String(ip_domain_or_host),
      "port": Number(port)
    },
    "timestamp": Date(unix_time),
    "payment": String(encrypted_payment_address),
    "signature": String(hex_ecdsa_signature)
  }
}

Service should respond with JSON-RPC format:
{
  "id": String(message_id),
  "result": {
    // ...
  }
}

Or if there is an error:
{
  "id": String(message_id),
  "result": {
    // ...
  },
  "error": {
    "code": Number(error_code),
    "message": String(error_description)
  }
}

The encryption method/curve needs to be defined. ECIES with secp256k1 (bitcoin curve) is fine by me.

@super3 @gordonwritescode we also need to define signing, bitcoin signing is different from normal signing (adds a magic constant to the digest before signing).

@F483 I've implemented bitcoin style signing

Closing this issue, because the implementation in driveshare (develop branch) is complete. Will open a separate issue for performing bandwidth test.
Feel free to continue to use the issue for discussion.

In adding it to the python implementation I noticed a few undefined points.

What is the id format (I assumed random 32bytes hex encoded)
What is the date format (I assumed ISO 8601)?

I also assumed the encrypted_payment_address is hex encoded.


Don't create serviceaccount and clusterrolebinding if module is not e…

…nabled in prometheus

What this PR does / why we need it:
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
Special notes for your reviewer:

You need to bump the version in Chart.yaml for any and all changes you make in a Chart.

And don't forget to sign the CLA ;-)


Release v24.15.0

Includes:

Set LUX's sampling rate to 1% (PR 2145)

Does this need a minor release? Seems like a very small change.

I think it does as it changes the way LUX works; and it's not a patch to fix something that's broken.


Fix follower count truncation

Fixes https://github.com/bluesky-social/social-app/issues/5538
On mobile, apply our own truncation since NumberFormat polyfill doesn't support roundingMode option.
This may look wrong on some locales like JP locale where numbers get displayed weirdly (e.g. 5083801 -> 5M / 508.3万), perhaps we should just apply it to web as well?
From brief testing, this truncation should work up to 999_999_999_999_997, I don't think anyone will reach this value.

would this still leave a place to check somewhere the raw numbers on the UI?

yes the formatCount function here is specifically for short numbers

what do we want to display for JP?

4_999_999 should probably display 499万, right now it displays 490万, in en that'd be 4.9M
Actually, I wonder if other locales have their own scheme? Will see...

I've checked and Chinese, Korean and Japanese seems to be the only ones problematic here, perhaps we should just special case those three?

hindi has the whole lakh thing going for it i wonder if this should be 1.63 instead of just 1.6

this may be a separate thing tho

In Japanese (and probably also in Chinese and Korean) the name of the power of 10 changes every 10^4.
ex)9_999 -> 9999, 10_000 -> 1万, 12_345_000 -> 1234.5万, 100_000_000 -> 1億, 1_000_000_000_000 -> 1兆 ...
It is likely that where we currently calculate with 2, 5 or 8 digits for truncation,
we will need to calculate with 3, 7 or 11 in these languages.

@mary-ext this seems like a bug in the FormatJS poly, right? I'm not seeing any open issues for this, and they state that it should be supported, so we may want to open an issue and see if we can get it fixed upstream.

We should yeah, I think they're purposefully disabling tests for newer NumberFormat features and just never got round to it? I don't see anything wrt roundingMode on formatjs' repository other than the tests


[Test] b7 rebased on Travis CI changes

[Current coverage][cc-pull] is 98.09%

Merging [#33][cc-pull] into [master][cc-base-branch] will decrease coverage by 0.01%

@@             master        #33   diff @@
==========================================
  Files            72         72
  Lines          5073       5083    +10
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits           4977       4986     +9
- Misses           96         97     +1
  Partials          0          0

Powered by Codecov. Last updated by [999e2fa...b5413c1][cc-compare]
[cc-base-branch]: https://codecov.io/gh/vinniefalco/Beast/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/vinniefalco/Beast/compare/999e2fa0318b5982736d3ea01a418770ea802671...b5413c1f2119ca0b594ae6c8b6a0eeda4090f12b
[cc-pull]: https://codecov.io/gh/vinniefalco/Beast/pull/33?src=pr

Coverage remained the same at 97.993% when pulling cb509813db44ce08d34dd11a84917f90e901c86e on wilsonianb:test-b7 into 999e2fa0318b5982736d3ea01a418770ea802671 on vinniefalco:master.

Coverage remained the same at 97.993% when pulling 109b321dcb759ea4aaf195c5e3f303f3d13a424b on wilsonianb:test-b7 into 999e2fa0318b5982736d3ea01a418770ea802671 on vinniefalco:master.

Coverage remained the same at 97.943% when pulling f5fd22ab6825185d2594bc6c9254bad1f299abfc on wilsonianb:test-b7 into 999e2fa0318b5982736d3ea01a418770ea802671 on vinniefalco:master.

Coverage remained the same at 98.116% when pulling 74d45f051b4018580c39dbe5533e55b238e30c09 on wilsonianb:test-b7 into 999e2fa0318b5982736d3ea01a418770ea802671 on vinniefalco:master.

Coverage remained the same at 98.116% when pulling df74670563fc2b3e5aff6c1008696285845f4fe1 on wilsonianb:test-b7 into 999e2fa0318b5982736d3ea01a418770ea802671 on vinniefalco:master.

Coverage remained the same at 97.943% when pulling 5508e050f9aab8297b69f10c35d62db1ae15091c on wilsonianb:test-b7 into 999e2fa0318b5982736d3ea01a418770ea802671 on vinniefalco:master.

Coverage remained the same at 98.116% when pulling 455d4926d73fb4bc964b6e0bcbacab45af406d4e on wilsonianb:test-b7 into 999e2fa0318b5982736d3ea01a418770ea802671 on vinniefalco:master.