Implement imohash or a similar sampling hash

Is your feature request related to a problem? Please describe.
When comparing large files for duplicates, usual hashing algorithms are limited by the speed of which the full file content can be read. This starts to be a problem when hashing large files. By only hashing parts of the data and its size you don't have to read all the data but get a hash that can indicate duplicates with sufficient confidence.
Describe the solution you'd like
Implement imohash or a similar sampling hash algorithm.
Describe alternatives you've considered
Implementing it on top of hash4j.

@mrgreywater The Imohash algorithm would be very easy to implement. However, I am not quite sure what a useful and generic interface should look like. Do you have a suggestion?

I thought something like this, even though this implementation currently doesn't match the reference implementation in its output. Probably some seed or little/big endian mismatch. Didn't do much debugging.
package com.dynatrace.hash4j.sampling;

import com.dynatrace.hash4j.hashing.HashValue128;
import com.dynatrace.hash4j.hashing.Hashing;

import java.io.EOFException;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.nio.ByteBuffer;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.StandardOpenOption;

public class Imohash {
    private long sampleThreshold = 128 * 1024;
    private int sampleSize = 16 * 1024;

    public HashValue128 hashFile(File file) throws IOException {
        return hashFile(file.toPath());
    }

    public HashValue128 hashFile(Path path) throws IOException {
        try (InputStream fileContent = Files.newInputStream(path, StandardOpenOption.READ)) {
            return hashInputStream(fileContent, Files.size(path));
        }
    }

    public HashValue128 hashInputStream(InputStream stream) throws IOException {
        long length = stream.skip(Long.MAX_VALUE);
        stream.reset();
        return hashInputStream(stream, length);
    }

    public HashValue128 hashInputStream(InputStream stream, long length) throws IOException {
        assert (sampleSize * 4L < sampleThreshold);
        var hashStream = Hashing.murmur3_128().hashStream();
        if (length < sampleThreshold || sampleSize < 1) {
            hashStream.putByteArray(stream.readAllBytes());
        } else {
            long toSkip = 0;
            byte[] buf = new byte[sampleSize];

            long pos = stream.read(buf);
            hashStream.putByteArray(buf);

            toSkip = length / 2 - pos;
            skipNBytes(stream, toSkip);
            pos += toSkip + stream.read(buf);
            hashStream.putByteArray(buf);

            toSkip = length - sampleSize - pos;
            skipNBytes(stream, toSkip);
            pos += toSkip + stream.read(buf);
            hashStream.putByteArray(buf);
        }

        var result = hashStream.get().toByteArray();
        encodeVarint(result, length);
        var mostSignificantBytes = ByteBuffer.wrap(result, 8, 8).getLong();
        var leastSignificantBytes = ByteBuffer.wrap(result).getLong();
        return new HashValue128(mostSignificantBytes, leastSignificantBytes);
    }

    public int getSampleSize() {
        return sampleSize;
    }

    public void setSampleSize(int sampleSize) {
        this.sampleSize = sampleSize;
    }

    public long getSampleThreshold() {
        return sampleThreshold;
    }

    public void setSampleThreshold(long sampleThreshold) {
        this.sampleThreshold = sampleThreshold;
    }

    private void encodeVarint(byte[] buf, long x) {
        int i = 0;
        while (x >= 0x80) {
            buf[i] = (byte) ((byte)x | 0x80);
            x >>= 7;
            i++;
        }
        buf[i] = (byte)x;
    }

    // InputStream::skipNBytes() since JDK12
    private void skipNBytes(InputStream s, long n) throws IOException {
        long remaining = n;
        while (remaining > 0) {
            long skipped = s.skip(remaining);
            if (skipped == 0) {
                if (s.read() < 0) {
                    throw new EOFException();
                }
                remaining--;
            } else if (skipped <= remaining) {
                remaining -= skipped;
            } else {
                throw new IOException("Unable to skip exactly.");
            }
        }
    }
}

It seems that the Go implementation of Murmur3 used by Imohash returns the bytes of the hash in reverse order compared to the C reference implementation (https://github.com/aappleby/smhasher), Guava, and hash4j. To achieve compatibility with Imohash, the byte sequence needs to be reversed.

The string output of the implementation of Imohash::hashInputStream().toString() matches the string output of the hash returned by the imohash.go reference implementation.

@mrgreywater I have created PR https://github.com/dynatrace-oss/hash4j/pull/85 based on your proposal, please hava a look

It looks great! I haven't checked the accuracy of the resulting hashes, but I'm sure you verified your tests against the reference implementation. Especially for very large hashes that overflow the first 64Bits in the now optimized varUInt encoding.
I really appreciate it.

Especially for very large hashes that overflow the first 64Bits in the now optimized varUInt encoding.
Testing very long input against the reference Go implementation is still something I would like to improve. Unfortunately, I am an absolute Go beginner, and would need some help to mock the SectionReader.


Links in code font should show in link color

For example, classMap and styleMap in the bullet list on the first page of content here: https://styling-updates-dot-polymer-lit-html.appspot.com/guide/styling-templates
Also, seems like we don't need the background color on inline code—I think that should only be on code blocks. WDYT @yuinchien @keanulee ?

Related style q: seems like code blocks have extra padding above and below, so the background is extra tall, which looks like we have extra blank lines at the start and end of the sample code. Wonder if this should just be margin, instead?

Fixed by #779


CYMK or CMYK in ColorPicker

Microsoft PowerToys version
0.45.0
Running as admin

[ ] Yes

Area(s) with issue?
ColorPicker
Steps to reproduce
code review
✔ Expected Behavior
No response
❌ Actual Behavior
src/modules/colorPicker/ColorPickerUI/Helpers/ColorRepresentationHelper.cs has a function named ColorToCYMK, should it change to ColorToCMYK, since its return value is CMYK. And "CYMK" is in .github/actions/spell-check/expect.txt, so it is on purpose for some reason?
Other Software
No response

Never heard of CYMK. Must be a typo. I'm guessing it's easy to incorrectly accept when one of those bots comments "unknown words, to accept, do this and this"...

@jaimecbernardo Could you add the label Resolution-Fix-Committed to this? Thanks.

@franky920920 I did it already

Resolved

@Ijhcage The issue will be closed as soon as the next version releases

This has resolved with 0.47 release


[CARBONDATA-3820] Support GlobalSort in the CDC

Why is this PR needed?
While merging into GloabalSort table in the CDC Flow. The following exception will be throwed:
"column: id specified in sort columns does not exist in schema".
Root cause is that we use TBLProperteis with sortcolumns to create the TUPLEID_statusOnMerge carbonwriter, in which the sortcolumn、sortscope are all useless.
What changes were proposed in this PR?
remove the sortcolumn property when creating TUPLEID_statusOnMerge carbonwriter.
Does this PR introduce any user interface change?
No
Is any new testcase added?
Yes

@marchpure please create a JIRA

Build Failed  with Spark 2.3.4, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/3008/

Build Failed  with Spark 2.4.5, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbon_PR_Builder_2.4.5/1289/

Build Success with Spark 2.4.5, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbon_PR_Builder_2.4.5/1298/

Build Success with Spark 2.3.4, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/3016/

Build Success with Spark 2.4.5, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbon_PR_Builder_2.4.5/1309/

Build Success with Spark 2.3.4, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/3028/

Build Success with Spark 2.3.4, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/3159/

Build Success with Spark 2.4.5, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbon_PR_Builder_2.4.5/1435/

LGTM


Humble Request for a Windows-compatible Pre-built version

I've downloaded FontForge and I've yet to figure out the magical combination of steps to make a Windows compatible version of Creep...even after looking at a few pages on the web showing how to do it.
It looks like the perfect font for me though. Thanks for all of your efforts.

This is a perfect time my hand-crafted version of creep that respects the 5x11 bounding box without exception, in order to get it to work on less sophisticated terminals.
Give it a try. You can use use the .FON for older programs (which only has the ASCII character set) like Visual Studio 2008. Or you can use the .TTF with embedded bitmaps and blank vectors (which is needed for Visual Studio 2015, since bitmap .FON don't work anymore).
For future reference, you have to do these very odd steps to get embedded bitmaps in TTF to work in Windows

Include "932 JIS/Japan" and "936 Simplified Chinese" codepages in OS/2 Charsets Tab.
Have a vector 'A' which can be anything.
Export as (faked) MS bitmap only
Note, I might be missing a few steps here...

https://github.com/raymond-w-ko/creep2

@raymond-w-ko cool! Looks good. How did you manage to get ttf working?
@frizzr I don't have a clue how to start working on Windows support. Perhaps Raymond can help you with it?


Page broken (aws/wafv2/webacl)

File: themes/default/content/docs/reference/pkg/aws/wafv2/webacl/_index.md
When I navigate to this page it takes forever to load, content jumps around and in the network tab I see things taking tens of seconds to load.
(Google Chrome 93.0.4577.63 on macOS 11.5.1)

FWIW, I think performance has managed to get even worse.
I was able to read these docs a couple weeks ago, but now trying to visit this page actually crashes my Chrome tab.

The page is still broken more than a year later :(
If anyone stumbles across this issue, I recommend checking out the terraform doc for wafv2 webacl, a lot of info can be inferred from there.

another internal discussion

another inquiry via HubSpot

It's been mentioned internally by a couple folks, but we should consider working around this in docsgen, only emitting N nested types (possibly with a note that resource inputs have a lot of associated types and that some are not included). It should be a relatively cheap change in genNestedTypes or getTypes.

Fixed in https://github.com/pulumi/docs/pull/8552.

We have addressed this by only displaying the first 200 nested types. The page will now load. We will return to this when time allows us to develop a strategy that allows you to access the rest of the types.


Use CROW to implement a MJPEG video streaming server

Using flask and sending a response like:
---Response start here----
Content-Type: multipart/x-mixed-replace; boundary=frame
--frame
Content-Type: image/jpeg
Content-Length:  #image_size#
##image_data##
--frame--
---Response end here----
I was able to build a very simple MJPEG video streaming server.
Is it possible achieve the same result with CROW?
I have tried with a similar approach but I'm able to show only the first frame, I have to manually refresh the browser to send another request and receive the new frame.

I have tried to use wireshark to capture the packets and I have noticed a strange thing, filtering the pakets with "http.request or http.response" using crow I can se both the request and the response, using flask I can see only the request and I need to filter with "http" to see also the packets transmitted by flask.
Here what I got:
--REQUEST (it's the same for flask and crow, I'm using chrome)--
GET /video.mjpg HTTP/1.1
Host: <IP_ADDRESS>:7071
Connection: keep-alive
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,/;q=0.8
DNT: 1
Accept-Encoding: gzip, deflate
Accept-Language: it-IT,it;q=0.9,en-US;q=0.8,en;q=0.7,fr;q=0.6
--CROW RESPONSE--
HTTP/1.1 200 OK
Content-Type: multipart/x-mixed-replace; boundary=frame
Server: Crow/0.1
Date: Sat, 05 May 2018 10:03:34 GMT
Connection: Keep-Alive
--frame
Content-Type: image/jpeg
Content-Length: 147113
<< Image data >>
--FLASK RESPONSE (captured filtering with http)--
--frame
Content-Type: image/jpeg
Content-Length:149932
<>
When I'm using flask, I'm  passing the "multipart/x-mixed-replace; boundary=frame" to the response class as mime-type and not as a Content-Type but I don't know how to achive this with CROW.

DId you try toreturn crow:response object, with custom set headers? I see there is 'add_header(std::string key, std::string value)' method in this class.

Yes, I'm already using the method add_header, and I'm passing the mime-type as:
response.add_header("Content-Type", "multipart/x-mixed-replace; boundary=frame");
I'm using "Content-Type" because, if I have understood well, mime-type is not a valid entry.
Anyway I think I will drop CROW to use a more tailored frame for my needed, because I have to stream only a mjpg from a webcam. Thank you any way for your help

I looks like mimetype from Flask's Response class only set 'Content-Type' header. Maybe CROW doesn't stream due to double Content-Type entry as it is in your responses?

I have already tried, but I get the same result, and without setting the mime-type on flask it doesn't work as well. Pheraps I'm missing a loop in frame generator. Anyway, also using flask, I don't understand who is triggering the request for the new frame.

Can you maybe make wireshark dump with Flask streaming session, as well as Crow? Or maybe there is some method to dump response object in Flask?

Sorry for posting in an old topic but I'm having the same problem I can't seem to get MJPEG streaming to work on Crow cpp webserver, here's an issue I opened : https://github.com/CrowCpp/Crow/issues/890


"Initial" variables no longer included in JSON listing

Due to a recent change in the compile package, variables of type initial are no longer being included in the generated JSON listing file.  I discovered this after I upgraded to the latest compile package and ran an internal tool that makes use of the JSON listing file, which flagged the missing variables.
In PR #490, I added support for overriding data+lookup variables.  As part of that change, I added code so that in addition to the usual full JSON listing, we also now generate a minimal JSON listing file ({model}_min.json).  In adding that, I intended to fix an issue where there were duplicate entries being included in the listing files, due to the fact that we were using initVars.
Here's the relevant commit:
https://github.com/climateinteractive/SDEverywhere/pull/490/commits/c0a184cff6f53a6853f05f0357e9fde129b31903
And a screenshot for context:

The problem with that fix is that we no longer include variables of type initial (those that are defined using the INITIAL function).  These variables have their varType set to initial and their code is generated into the initLevels function by virtue of being part of the set of variables returned by initVars (the set of variables that have hasInitValue===true).
I will amend the above code so that it includes initial variables and will add a test case that covers this (since the existing tests did not cover this).

I decided to go back to using initVars because that matches what is used by code gen when generating the initLevel function, and it includes initial variables.  I fixed the allListedVars to remove duplicates, so that should resolve the issue that I was trying to fix the last time.
I noticed in fixing this that calling these xxxVars functions results in some redundant sorting work in the case where sde generate is used with both --list and --outformat (JSON listing in addition to code gen).  I will address that separately in #528.


Incompatibility between k8s bandwidth shaping CNI plugin and Calico in eBPF mode

Expected Behavior

When activating eBPF, the CNI bandwidth plugin (which is shipped as well with calico) should keep working as it did before activating eBPF mode.
At least the incompatibility should be mentioned in the documentation and then the plugin should be disabled in the sample config when ebpf is enabled.
Current Behavior

After activating ebpf mode, for pods having the bandwidth annotations, errors are logged from calico-node and pods have no working network anymore. (see logs below).
Steps to Reproduce (for bugs)

Activate ebpf mode for calico
Activate the CNI bandwidth plugin (see below and in the sample configs)
Activate bandwidth management on a pod by annotating it (on pod creation) with e.g.

annotations:
    kubernetes.io/egress-bandwidth: 100k
    kubernetes.io/ingress-bandwidth: 100k

Observe log errors in calico-node logs on the nodes the pod is on:

libbpf: Kernel error message: Invalid qdisc name
2023-05-25 07:56:10.019 [WARNING][15930] felix/bpf_ep_mgr.go 892: Failed to apply policy to endpoint, leaving it dirty error=Error creating qdisc invalid argument name="cali8d6b9a26fa0" wepID=orchestrator_id:"k8s" workload_id:"ams-testing-dev/shell-sfudeus-4886" endpoint_id:"eth0"

Try to use network within the pod, even DNS resolutions to cluster-DNS fail.

Context

We already offered bandwidth shaping as part of out platform before switching to ebpf mode and noticed during the rollout of the switch that pods which have enabled bandwidth shaping are broken now.
Your Environment

Calico version 3.24.5
Orchestrator version (e.g. kubernetes, mesos, rkt): k8s-1.24.10
Operating System and version: Flatcar Container Linux by Kinvolk 3510.2.1 (Oklo)

Our cni config in the calico-configmap:
  cni_network_config: |-
    {
      "name": "k8s-pod-network",
      "cniVersion": "0.3.1",
      "plugins": [
        {
          "type": "calico",
          "log_level": "warning",
          "datastore_type": "kubernetes",
          "nodename": "__KUBERNETES_NODE_NAME__",
          "mtu": __CNI_MTU__,
          "ipam": {
              "type": "calico-ipam"
          },
          "policy": {
              "type": "k8s"
          },
          "kubernetes": {
              "kubeconfig": "__KUBECONFIG_FILEPATH__"
          }
        },
        {
          "type": "portmap",
          "snat": true,
          "externalSetMarkChain": "KUBE-MARK-MASQ",
          "capabilities": {"portMappings": true}
        },
        {
          "type": "bandwidth",
          "capabilities": {"bandwidth": true}
        }
      ]
    }

@yyeexxhhh I tried it with and without eBPF with plain numbers, same result (testing 3.26.0 this time).
With ebpf: Error creating qdisc invalid argument
Without ebpf: works as expected

Hello, I have the same problem, did you solved it?

2024-10-18 13:29:58.070 [INFO][48] felix/bpf_ep_mgr.go 1740: Interface remains dirty. name="calic8d93912529" 2024-10-18 13:30:05.831 [WARNING][48] felix/health.go 292: Reporter is not ready: reporting non-ready. name="BPFEndpointManager" 2024-10-18 13:30:06.779 [WARNING][48] felix/health.go 292: Reporter is not ready: reporting non-ready. name="BPFEndpointManager" libbpf: Kernel error message: Exclusivity flag on, cannot modify 2024-10-18 13:30:08.350 [WARNING][48] felix/bpf_ep_mgr.go 2082: Failed to apply policy to endpoint, leaving it dirty error=creating qdisc file exists name="calic8d93912529" wepID=orchestrator_id:"k8s" workload_id:"uqgoabkvmxyhsealgeflxisr/nginx-222-58f6d79d98-ttxsl" endpoint_id:"eth0" 2024-10-18 13:30:08.350 [INFO][48] felix/bpf_ep_mgr.go 1740: Interface remains dirty. name="calic8d93912529" 2024-10-18 13:30:08.351 [INFO][48] felix/summary.go 100: Summarising 7 dataplane reconciliation loops over 1m2.3s: avg=5ms longest=9ms (resync-filter-v4,update-workload-iface)

2024-10-18 13:29:58.070 [INFO][48] felix/bpf_ep_mgr.go 1740: Interface remains dirty. name="calic8d93912529" 2024-10-18 13:30:05.831 [WARNING][48] felix/health.go 292: Reporter is not ready: reporting non-ready. name="BPFEndpointManager" 2024-10-18 13:30:06.779 [WARNING][48] felix/health.go 292: Reporter is not ready: reporting non-ready. name="BPFEndpointManager" libbpf: Kernel error message: Exclusivity flag on, cannot modify 2024-10-18 13:30:08.350 [WARNING][48] felix/bpf_ep_mgr.go 2082: Failed to apply policy to endpoint, leaving it dirty error=creating qdisc file exists name="calic8d93912529" wepID=orchestrator_id:"k8s" workload_id:"uqgoabkvmxyhsealgeflxisr/nginx-222-58f6d79d98-ttxsl" endpoint_id:"eth0" 2024-10-18 13:30:08.350 [INFO][48] felix/bpf_ep_mgr.go 1740: Interface remains dirty. name="calic8d93912529" 2024-10-18 13:30:08.351 [INFO][48] felix/summary.go 100: Summarising 7 dataplane reconciliation loops over 1m2.3s: avg=5ms longest=9ms (resync-filter-v4,update-workload-iface)


add region-name as an option in twas.ipynb

looks great! I appreciate it that you added documentations. It's good habit.
Down the road, as we improve our "export" function which will generate the meta-data table, we will consider xQTL type to include the information, so we can remove the needs for having that.


Small disconnect in Creating DB

The tutorial makes it unclear on how the DB was created.  The DB name that contains the Movies table looks like it was autogenerated someway and there's no way of knowing if we are to set it up manually this way to work with the DB Context.  Thanks!

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: a0a4022c-7ef1-3c30-4f9d-cf521a57a44a
Version Independent ID: a0b5e15c-d747-8710-95fb-a55c09861a1e
Content: Part 5, work with a database in an ASP.NET Core MVC app
Content Source: aspnetcore/tutorials/first-mvc-app/working-with-sql.md
Product: aspnet-core
Technology: aspnetcore-tutorials
GitHub Login: @Rick-Anderson
Microsoft Alias: riande

@LockpickingDev, thanks for taking the time to make the suggestion.  I agree, we need to make that more clear where we introduce SQL Server Express LocalDB.  LocalDB is installed with Visual Studio, so there is no extra step to install or set it up.  It is the connection string set to that triggers the necessary SQL Server infrastructure to be created and started, and that's it.
"ConnectionStrings": {
"MvcMovieContext": "Server=(localdb)\mssqllocaldb;Database=MvcMovieContext-c807572a-0609-4a2d-9f34-8fb041dafd69;Trusted_Connection=True;MultipleActiveResultSets=true"
}


Handlers don't catch ValueError for duplicate file names

Original Traceback (most recent call last):
  File "/home/dome/.local/lib/python3.7/site-packages/torch/utils/data/_utils/worker.py", line 302, in _worker_loop
    data = fetcher.fetch(index)
  File "/home/dome/.local/lib/python3.7/site-packages/torch/utils/data/_utils/fetch.py", line 32, in fetch
    data.append(next(self.dataset_iter))
  File "/home/dome/.local/lib/python3.7/site-packages/webdataset/pipeline.py", line 68, in iterator
    for sample in self.iterator1():
  File "/home/dome/.local/lib/python3.7/site-packages/webdataset/filters.py", line 204, in _shuffle
    for sample in data:
  File "/home/dome/.local/lib/python3.7/site-packages/webdataset/filters.py", line 388, in _to_tuple
    for sample in data:
  File "/home/dome/.local/lib/python3.7/site-packages/webdataset/filters.py", line 293, in _map
    for sample in data:
  File "/home/dome/.local/lib/python3.7/site-packages/webdataset/filters.py", line 293, in _map
    for sample in data:
  File "/home/dome/.local/lib/python3.7/site-packages/webdataset/tariterators.py", line 172, in group_by_keys
    f"{fname}: duplicate file name in tar file {suffix} {current_sample.keys()}"
ValueError: 000020003.jpg: duplicate file name in tar file jpg dict_keys(['__key__', '__url__', 'jpg', 'json', 'txt'])

That is the error that I'm getting. Is there any way of catching / skipping this item?
I'm constructing the webdataset like this already:
dataset = wds.WebDataset(args.dataset_path, resampled=True, handler=warn_and_continue).decode("rgb", handler=warn_and_continue).map(
        ProcessDataV3(), handler=warn_and_continue).to_tuple("jpg", "txt", handler=warn_and_continue).shuffle(690, handler=warn_and_continue)

Right now I always have to restart the training which is really tedious. I would appreciate any help 😄

Some of the stages inside the WebDataset class don't use handlers; that's probably a bug, I'll look into it.
You get complete control over error handling at every stage with the DataPipeline interface. The WebDataset class is just a convenience wrapper around this.
dataset = wds.DataPipeline(
    wds.SimpleShardList(url),
    # at this point we have an iterator over all the shards
    wds.shuffle(100),
    wds.split_by_worker,
    # at this point, we have an iterator over the shards assigned to each worker
    wds.tarfile_to_samples(),
    wds.shuffle(1000),
    wds.decode("torchrgb"),
    # at this point, we have an list of decompressed training samples from each shard in this worker in sequence
    get_patches,  # note that can put iterator->iterator functions into the pipeline directly
    wds.shuffle(10000),
    wds.to_tuple("big.jpg", "json"),
    wds.batched(16)
)

DataPipe still doesn't work
ds = wds.DataPipeline(             wds.SimpleShardList(self.tar_file_list),             # wds.ResampledShards(self.tar_file_list),             wds.split_by_node,             wds.split_by_worker,             wds.tarfile_to_samples(handler=wds.warn_and_continue),             wds.shuffle(1000, handler=wds.warn_and_continue),             wds.decode("pilrgb", handler=wds.warn_and_continue),             wds.to_tuple("jpg", "txt", handler=wds.warn_and_continue),             wds.map_tuple(transform, truncate_caption, handler=wds.warn_and_continue),             wds.batched(batch_size),         )

I chang to DataPipeline, it still doesn't work.
ds = wds.DataPipeline(             wds.SimpleShardList(self.tar_file_list),             wds.split_by_node,             wds.split_by_worker,             wds.tarfile_to_samples(handler=wds.warn_and_continue),             wds.shuffle(1000, handler=wds.warn_and_continue),             wds.decode("pilrgb", handler=wds.warn_and_continue),             wds.to_tuple("jpg", "txt", handler=wds.warn_and_continue),             wds.map_tuple(transform, truncate_caption, handler=wds.warn_and_continue),             wds.batched(batch_size),         )

I am also hitting these issues, is there any plan to make progress on fixing this issue in the near future?

@tmbdev What breaks if we just comment out that ValueError or replace it with a warning?
Seems odd to crash the entire training run rather than just ignore one extra file.

My solution for the time being had been to copy the group by keys implementation (causing the crash), remove the line raising the exception and monkey patch the web dataset library with the new function.

I've added the ability to specify a handler. (Sorry it took so long.)
However, having duplicate filenames really is a serious problem with the dataset, and I would recommend just regenerating the dataset itself.


Update required-images.txt

to get a cluster working with calico and etcd is require this versions. (quay.io/calico/cni:v1.11.5 / quay.io/calico/node:v2.6.9)

confirmed in this yaml - https://github.com/kubernetes/kops/blob/654e7c20fec73d4006dc00f7dc50ce9f6f547a5c/upup/models/cloudup/resources/addons/networking.projectcalico.org/k8s-1.7.yaml.template


Conditional form fields: Only show payment amount information if "we can pay" is choosen

As transferred from https://github.com/opensourcedesign/jobs/issues/200
Story: I want to create a job via the form. I don't want to be distracted by fields I don't need, for example the " How much can you pay? (optional)" in case I chose "I  can’t pay" before.
Solution: Only show payment information if "we can pay" is chosen.

@jdittrich thank you for re-opening (and clarifying) the case- the wording of this title makes more sense than the other as well.
One approach is to have two fields (like current) which hides the "amount" field. The other aproach is what I had proposed using one field that offers "free" as well as paid amounts!
I'm unsure what is best ATM.


Page.printToPDF size

Hello!
I wonder if I'm doing something wrong, or it is just working differently.
On Issue #120 you've wrote that "Page.printToPDF doesn't take any parameters". And indeed it seems to refuse all params.
However, according to this documentation:
https://chromedevtools.github.io/devtools-protocol/tot/Page/#method-printToPDF
It should take few arguments.
{ layoutViewport: { pageX: 0, pageY: 0, clientWidth: 3750, clientHeight: 5550 },
  visualViewport:
   { offsetX: 0,
     offsetY: 0,
     pageX: 0,
     pageY: 0,
     clientWidth: 3750,
     clientHeight: 5550,
     scale: 1 },
  contentSize: { x: 0, y: 0, width: 3752, height: 88736 } }

My layoutViewport looks as it supposed, but printToPDF creates A4 page and without those paperWidth and paperHeight I cant see any possibility of changing this.

On Issue #120 you've wrote that "Page.printToPDF doesn't take any parameters". And indeed it seems to refuse all params.

Yes, it changed some time ago, so it's possible that your version of Chrome doesn't support it yet. For example the current stable (59) doesn't:
$ chrome-remote-interface inspect -r
>>> Page.printToPDF
{ [Function: override]
  category: 'command',
  description: 'Print page as pdf.',
  returns:
   [ { name: 'data',
       type: 'string',
       description: 'Base64-encoded pdf data.' } ],
  experimental: true }

Thank you very much!!
Indeed I have stable 59 version :)

It's surely present on Canary (61), can't check about version 60 right now.


Texture edge material overflows outside of the shape if the shape is thin

I have the following shape with edge material working fine, I set a texture + a corner texture for the edge :

But when the shape is thin or has sharp turns, the edge material will render outside of the shape, and also hide the edge from the opposite side :

This is my edge texture (zoomed, it's normally 16x32px) :

I tried most settings but couldn't find any to fix this. Did I miss it or is it not possible?

Does this occur with Asset store or master version, or both?

As things stand now, the edge quads/meshes are not cropped to shape's boundaries if the specific shape part is too thin to accommodate the full-height edge. The height of the edge depends on the height of the texture. So what we see here is edges getting out of shape bounds, because generated quads are wider than the shape body itself. Is this a bug? IMO, more like a limitation of this model.

This is on the master version, haven't tried asset store.
I guess it make sense. I was looking for a setting like "clip content" but even if it was there it would look wrong anyway, especially when the edge on both sides overlap. Maybe I can create a "thin ledge" texture and apply it to these areas.
(The reason I can't just set it manually or avoid these shape is because I'm using the smart shape as terrain for a digging game, so the player maybe dig the shape like this. Also experimenting with destroying thin ledges when they are created due to "lack of support" to get around this)

We would need a kind of spatial analysis to get the thickness of the shape at each position to fix this problem.
This is IMO out of the scope of this plugin, especially since it will have quite a performance impact.
As a workaround you can make a variation of your texture that is a bit smaller and use texture overrides at the relevant positions.

In a potential cropping solution, the edge's quad/edge height would be cropped to half of the available space. We'd probably crop the mesh/quads on both edges at a similar scale. I wouldn't mind, if someone implemented something like this. As an option, though, because it would probably cause editor slow-downs.


Update README.md

Coverage remained the same at 100.0% when pulling 00c7455d5d025490a0283ba331a8b28e99f290cc on readme into 4788c9f4406538224bdb92cc55b055c4d5a77e31 on master.


Automation of Single Copy Identification

Remove the parameterization of the sequence_based_ir_id.pl script.  Currently, runs multiple values to get best guess of which regions of the plastome are single copy and inverted repeat.  Gives the user multiple outputs.  We need this script to make the final decisions and produce a single outcome.

Finished.  All orientation is automatic with testing to find best possibly structure.


Feature request - lysine crotonylation

Hi,
Would it be possible to add predictions for lysine crotonylation (Kcr) on proteins? We are studying the role of this
PTM in regulating metabolism.
Cheers

Hello,
We will let you know once we train the model on Kcr sites. We need to prepare the dataset for this.
Thankyou.


BREAKING(remix): Only support Remix v2 and later

Description
Remix released its second major version. Read their announcement blogpost and upgrade guide to learn more.
Thus @clerk/remix was updated to support Remix ^2.0.0 and later. This PR only updates the peerDependencies in the package.json.
@LekoArts went down the rabbit hole of converting @clerk/remix to ESM only to find out that other Clerk packages like @clerk/clerk-react and @clerk/shared would also need additional changes. I left those out and we can revisit that in the next major version.
I added an exports map to @clerk/remix so that the nested imports for ssr.server and api.server continue to work. Since we'll need ESM import in that exports map I didn't use the nested syntax and opted for typesVersions to support TypeScript support.
Migration guide:

Rename V2_ClerkErrorBoundary to ClerkErrorBoundary
- import { ClerkApp, V2_ClerkErrorBoundary } from "@clerk/remix";
+ import { ClerkApp, ClerkErrorBoundary } from "@clerk/remix";

- export const ErrorBoundary = V2_ClerkErrorBoundary();
+ export const ErrorBoundary = ClerkErrorBoundary();

Replace ClerkCatchBoundary with ClerkErrorBoundary. If you used V2_ClerkErrorBoundary you can skip this step.
- import { ClerkApp, ClerkCatchBoundary } from '@clerk/remix';
+ import { ClerkApp, ClerkErrorBoundary } from "@clerk/remix";

- export const CatchBoundary = ClerkCatchBoundary();
+ export const ErrorBoundary = ClerkErrorBoundary();

Fixes #1741
Fixes #1736
Docs PR: https://github.com/clerkinc/clerk-docs/pull/316
Checklist

[x] npm test runs as expected.
[x] npm run build runs as expected.
[ ] (If applicable) JSDoc comments have been added or updated for any package exports
[x] (If applicable) Documentation has been updated

Type of change

[ ] 🐛 Bug fix
[ ] 🌟 New feature
[x] 🔨 Breaking change
[x] 📖 Refactoring / dependency upgrade / documentation
[ ] other:

Packages affected

[ ] @clerk/clerk-js
[ ] @clerk/clerk-react
[ ] @clerk/nextjs
[x] @clerk/remix
[ ] @clerk/types
[ ] @clerk/themes
[ ] @clerk/localizations
[ ] @clerk/clerk-expo
[ ] @clerk/backend
[ ] @clerk/clerk-sdk-node
[ ] @clerk/shared
[ ] @clerk/fastify
[ ] @clerk/chrome-extension
[ ] gatsby-plugin-clerk
[ ] build/tooling/chore

!snapshot

Hey @anagstef - the snapshot version command generated the following package versions:

Package
Version

@clerk/backend
0.29.1-snapshot.80afc34

@clerk/chrome-extension
0.4.0-snapshot.80afc34

@clerk/clerk-js
4.58.0-snapshot.80afc34

@clerk/clerk-expo
0.19.2-snapshot.80afc34

@clerk/fastify
0.6.7-snapshot.80afc34

gatsby-plugin-clerk
4.4.8-snapshot.80afc34

@clerk/localizations
1.26.0-snapshot.80afc34

@clerk/nextjs
4.24.0-snapshot.80afc34

@clerk/clerk-react
4.25.0-snapshot.80afc34

@clerk/remix
3.0.0-snapshot.80afc34

@clerk/clerk-sdk-node
4.12.6-snapshot.80afc34

@clerk/shared
0.22.1-snapshot.80afc34

@clerk/types
3.52.0-snapshot.80afc34

Tip: use the snippet copy button below to quickly install the required packages.
# @clerk/backend
npm i<EMAIL_ADDRESS>
# @clerk/chrome-extension
npm i<EMAIL_ADDRESS>
# @clerk/clerk-js
npm i<EMAIL_ADDRESS>
# @clerk/clerk-expo
npm i<EMAIL_ADDRESS>
# @clerk/fastify
npm i<EMAIL_ADDRESS>
# gatsby-plugin-clerk
npm i<EMAIL_ADDRESS>
# @clerk/localizations
npm i<EMAIL_ADDRESS>
# @clerk/nextjs
npm i<EMAIL_ADDRESS>
# @clerk/clerk-react
npm i<EMAIL_ADDRESS>
# @clerk/remix
npm i<EMAIL_ADDRESS>
# @clerk/clerk-sdk-node
npm i<EMAIL_ADDRESS>
# @clerk/shared
npm i<EMAIL_ADDRESS>
# @clerk/types
npm i<EMAIL_ADDRESS>

Note for reviewers: Please test this on your own in a test project!

@LekoArts When the package is going to be published ? I am using snapshot version 3.0.0-snapshot.80afc34 but it's not working. What am I doing wrong ? Any suggestions ?

!snapshot

When the package is going to be published ?

Hello @chankruze, this change will be released once review and proper testing is done. I cannot share a strict timeline right now, but it's going to be soon.

I am using snapshot version 3.0.0-snapshot.80afc34 but it's not working. What am I doing wrong ? Any suggestions ?
Please share more details and a reproduction repo about the error you're getting, otherwise, it's very hard for us to suggest anything right now.

!snapshot

Hey @LekoArts - the snapshot version command generated the following package versions:

Package
Version

@clerk/backend
0.29.1-snapshot.085c417

@clerk/chrome-extension
0.4.0-snapshot.085c417

@clerk/clerk-js
4.58.0-snapshot.085c417

@clerk/clerk-expo
0.19.2-snapshot.085c417

@clerk/fastify
0.6.7-snapshot.085c417

gatsby-plugin-clerk
4.4.8-snapshot.085c417

@clerk/localizations
1.26.0-snapshot.085c417

@clerk/nextjs
4.24.0-snapshot.085c417

@clerk/clerk-react
4.25.0-snapshot.085c417

@clerk/remix
3.0.0-snapshot.085c417

@clerk/clerk-sdk-node
4.12.6-snapshot.085c417

@clerk/shared
0.22.1-snapshot.085c417

@clerk/types
3.52.0-snapshot.085c417

Tip: use the snippet copy button below to quickly install the required packages.
# @clerk/backend
npm i<EMAIL_ADDRESS>
# @clerk/chrome-extension
npm i<EMAIL_ADDRESS>
# @clerk/clerk-js
npm i<EMAIL_ADDRESS>
# @clerk/clerk-expo
npm i<EMAIL_ADDRESS>
# @clerk/fastify
npm i<EMAIL_ADDRESS>
# gatsby-plugin-clerk
npm i<EMAIL_ADDRESS>
# @clerk/localizations
npm i<EMAIL_ADDRESS>
# @clerk/nextjs
npm i<EMAIL_ADDRESS>
# @clerk/clerk-react
npm i<EMAIL_ADDRESS>
# @clerk/remix
npm i<EMAIL_ADDRESS>
# @clerk/clerk-sdk-node
npm i<EMAIL_ADDRESS>
# @clerk/shared
npm i<EMAIL_ADDRESS>
# @clerk/types
npm i<EMAIL_ADDRESS>

@nikosdouvlis @LekoArts I can confirm it's working with latest snapshot 3.0.0-snapshot.085c417. Thanks for the quick response.
Repo: https://github.com/chankruze/clerk-remix-v2-demo

This PR has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.


Updated Kubernetes version to 1.21.13

Issue #, if available:
#989
Description of changes:

Updated Kubernetes from 1.21.12 to 1.21.13
There were no patch changes

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/approve

Part of #986

Part of #986


Fix localStorage for Windows 8.1 IE11 desktop mode

Squashed version of #3920 - all credit to @jamesbolitho

In IE11 windows 8 call to window.localStorage was throwing out an access denied error.  Using try and catch manages the issue and allows the script to execute in IE 11 in desktop mode.
I think it is a problem with IE11 rather than the way Silverstripe is implementing the preview via an iframe from what I have been reading. http://blogs.msdn.com/b/ieinternals/archive/2009/09/16/bugs-in-ie8-support-for-html5-postmessage-sessionstorage-and-localstorage.aspx.  It seems that the way IE11 deals with localStorage is broken in certain cases but I am not 100% certain of the cause yet as I have not been able to find a definitive answer.  I only noticed it was a problem when a new client said they couldn't view the admin screen properly in IE11.  I took a look in IE11 and I was experiencing the same problem which makes the admin interface layout screw up and the preview doesn't work due the error mentioned in the first post.
Instead of the original code I submitted I have amended it and added an additional function to test more robustly to see if localStorage is available and can be accessed properly.  It is a copy of the code on a blog post Mathias Bynens has written about detecting if localStorage is available and can be used: https://mathiasbynens.be/notes/localstorage-pattern
I have added a console.warn as you suggested if localStorage is not available so that at least you get a warning if localStorage tests fail.
I have tested this on Windows 8.1: Firefox, Chrome & Mac: Firefox, Safari, Chrome and it seems to work as expected.  On IE11 it displays the admin area correctly now but obviously doesn't save the preview settings between page loads if localStorage is not available.

Many thanks, @willmorgan


PDB: IDiaSectionContrib pointer leak

Describe the bug
While trying to File->Load a PDB for a binary, the generated xml was incomplete.
After debugging pdb.exe, I noticed there was an assert failure while assigning a new value to pSecContrib in iterate.cpp :: iterateSections.
To Reproduce
pdb.exe pdbfile.pdb -fulloutput
Expected behavior
No assert failures.
Environment (please complete the following information):

OS: Win 10
Java Version: 11.2
Ghidra Version: master

Additional context
I used a known binary with a public pdb.
qrenderdoc.exe from RenderDoc 1.4 and its pdb to be found in its symbol server: https://renderdoc.org/symbols
Renderdoc 1.4 release: https://renderdoc.org/stable/1.4/RenderDoc_1.4_64.zip

#1014

Thank you for reporting this and submitting your PR. I was able to confirm the issue with the example you presented.


fix: vertical overflow issue in the home page

Fixes Issue

Closes #161
Changes proposed

made the topbar sticky on both theme
Screenshots

Note to reviewers

Looks good. but it's delaying or taking some time when changing the theme. Could you please fix that?

thanks for catching that
i think one way to fix it is to add transition to the topbar
i'll add this in my next commit

@rupali-codes i've fix this.

@rupali-codes i've fix this.
Also noticed the same issue on the side nav scroll bar
Should I open an issue on it

Thanks, yes you can create another issue for that


It's possible create an bot without botFather?

I'm sorry for make this question here, but I would like automatization the process for create an bot.
Object: Internal Software as a Service, an API for create new bot and configure it.
Someone know if it's possible?

To authomate it use cli telegram client and request botfather with it.
There is no other way to get api key, except BotFather.

I came to the same conclusion. Tks @chuv1

Just to point you to the Telegram CLI


Sorry! The Compiled Contract ByteCode for 'contract AsX' does NOT match the Contract Creation Code

I have a problem on Etherscan.io Ropsten. When I want to verify my contract it keeps saying:
Sorry! The Compiled Contract ByteCode for 'contract AsX' does NOT match the Contract Creation Code for [0x981f646a6b0d053bbc58afca76fe44ce1ea1d836].
Contract name(s) found: 'ApproveAndCallFallBack' , 'AsX' , 'ERC20Interface' , 'Owned' , 'SafeMath'
Unable to Verify Contract source code.

Anyone that can help me out?

The issue doesn’t relate to Token Wizard.


Updated location output

Location output variable changed to match the input variable.
This allows the tag description to differ without breaking sub-module calls.

lgtm


Doesn't follow scale

Spawned shards don't follow the original objects scale. I looked at adding scale but due to your strange (it may be performant but I don't understand it haha) caching system the scales of objects are constantly reverted every frame for some reason?
Here is the code I used in my C# version if you wanna figure it out yourself
var meshInstance = new MeshInstance3D
{
Mesh = shardMeshTyped.Mesh,
Scale = settings.Scale,
Name = "MeshInstance"
};
newShard.AddChild(meshInstance);

// Sets the shards collision shape to be a generation of the mesh instance with the given variables and adds it as a child.
var collisionShape = new CollisionShape3D
{
Shape = meshInstance.Mesh.CreateConvexShape(
	settings.CleanCollisionMesh,
	settings.SimplifyCollisionMesh),
Scale = settings.Scale,
Name = "CollisionShape"
};

and then I multiplied the position of each shard with
newShard.Position = shardMeshTyped.Position * settings.Scale;
where settings.Scale is just the parents scale.

Thanks for the report! Sorry to hear that the caching system is hard to understand. Instead of calling instantiate every time a destructible node is destroyed, I cache the result in a global dictionary.

Thanks for the report! Sorry to hear that the caching system is hard to understand. Instead of calling instantiate every time a destructible node is destroyed, I cache the result in a global dictionary.

No problem, I looked over it again and mostly get it now, but didn't feel like spending a lot of time debugging when I knew you could fix it much easier haha. Glad you got it worked out


Documentation for how to create sequences of arbitrary frequencies

This is really cool! Looks like there is a lot of documentation for how to create parallel sequences of notes, but would be awesome if there would be a way to do the same with arbitrary frequencies (is this possible)?

Thanks!
I'm not sure I understood your question - oscillators support reading arbitrary frequencies directly (i.e. Sine(435.875, 1e3)), but I guess you're referring to the Melodic Shorthand Notation. This notation also supports arbitrary frequencies, but they are not specified in Hz but rather in cents (1/100th of a semi-tone, a ratio of 2^(1/1200)), like this: Sine("C#-25", 1e3), which generates a Sine wave with a frequency 25 cents lower than a C#. This is usually preferable to specifying frequency in Hz, as this corresponds much better with how we perceive pitch (a difference of 2 Hz can be very little or very much, depending how high the starting pitch is).
Either way, I'd love to hear suggestions for new use cases or examples.

Thanks @Quefumas for reaching out!
So I'm interested in creating a sequence of frequencies in parallel, very much similar to the chorale example in the documentation:
from gensound import Sine, Triangle, Square, Pan

sig = Triangle # Sine?

Currently, not sure how to do this with Sine(freq, duration) (was thinking it could be possible to make an array for each melody, adding the frequencies and queuing them up to be played -- however hoping there might already be a way envisioned to do this with the direct frequency inputs?)
Thanks again for your help

Hey @klei22,
I guess this makes sense. Since it combines easily with existing code, I just went ahead and implemented this capability (you may have to pip install gensound --upgrade first). The notation syntax remains the same, except that any pitch name is now replaceable by an int or float indicating frequency.
BTW, there is an undocumented function freq_to_pitch (from gensound.musicTheory) that converts any frequency into the corresponding pitch name. Also, you may wish to play around with this example, although that is much more complex and doesn't yet have such a convenient interface.
Have fun!
P.S. I'm still curious what is the use case here. In most cases, pitch names are easier to work with and think about, but maybe I'm disregarding some possible usages.

Just tried this out and works really well (trying it out right now in combination with the Synth features and sounds really good)
The portamento example was intriguing too, thinking about some interesting soundscapes can try out with these features.
Thanks!


local-up-cluster.sh not running correctly

when issuing following:
 [root@mymachine hack]# ./local-up-cluster.sh
returns this:
./local-up-cluster.sh: line 36: ./../hack/lib/init.sh: No such file or directory
I suggest adding KUBE_ROOT=$PWD after cd "{$KUBE_ROOT}" to get absolute path:
I'm  a totally newbie to kubernetes & open source community who happens to found a small bug,
hope this helps.
And if it does not or I did something wrong, please let me know gently :)

Generally these are run from the root of the Git dir (above hack) - we'd need to change a lot of files to be consistent.  This does work when you run it from the root of the Git dir, correct?

Then sorry about that, I was running the script directly in the hack folder.
Thanks for your reply


Add data-dir to uninstall and killall scripts

Proposed Changes

Add K3S_DATA_DIR as an optional environment variable to the k3s-killall and k3s-uninstall script generation within install.sh.
Types of Changes

Bugfix
Verification

Installing K3s with a custom data-dir (not /var/lib/rancher/k3s), and running the killall and uninstall scripts, verifying assets in /var/lib/rancher/k3s are properly removed.
Testing

This is not currently covered by testing, though I would be happy to write an integration test if need be.
Linked Issues

https://github.com/k3s-io/k3s/issues/10471
User-Facing Change

NONE

Further Comments

I think we're good to go, unfortunately I just merged another change to the install script so you'll need to rebase to fix the checksum conflict :(

No backports necessary, as install script is served off master

centos7 is dead; merging


Small comment tweaks

Some post #668 comments nits.

Codecov Report

Merging #678 into master will decrease coverage by 0.04%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #678      +/-   ##
==========================================
- Coverage   58.22%   58.17%   -0.05%
==========================================
  Files          37       37
  Lines       10076    10074       -2
==========================================
- Hits         5867     5861       -6
- Misses       3162     3165       +3
- Partials     1047     1048       +1

Impacted Files
Coverage Δ

msg.go
78.71% <100%> (-0.7%)
:arrow_down:

Continue to review full report at Codecov.

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


It's easy to create duplicate copies of manuals

Steps to reproduce:

Create a new manual and fill in the title, summary and body
Click 'Save as draft' really fast lots of times

Expected results:

There should only be one copy of the new manual in the manuals list

Actual results:

There are lots of copies of the same manual in the manuals list

I think this was fixed by #762, so I'm closing this.
We do have a different duplication problem written up as https://trello.com/c/R3kQxY9Z/81-duplication-bug-in-manuals but it's not caused by the same problem as described here.


TextViewScrollbar is wrongly updating RightOffset and BottomOffset.

Since you are initializing TextViewScrollbar by calling  base(textView, true) then the VisibleChanged event should handle the BottomOffset (is the vertical bar) and the OtherScrollBarView.VisibleChanged should be handle the RightOffset (is the horizontal bar). You are doing the opposite.

Hi @BDisp, thank you for your feedback.
If this relates to the bug I opened in terminal.gui, I tried your suggestion but with no luck.
Notice that the code that you describe, I took it as is from Editor.cs from the scenarios folder, lines 149 - 163. The scrollbar view is also initialized with  new ScrollBarView (_textView, true); there too.

Sorry @chr1st0scli I had mislead myself. When the vertical bar becomes invisible there is more horizontal space and is the RightOffset that must be set. When the horizontal bar becomes invisible there is more vertical space and is the BottomOffset that must be set. So it's right, sorry. I almost finishing the fix for your submitted issue and also found that the paste isn't rendering the screen. Maybe today I'll submit a PR.


Changing more than one person's deadname

I want to block my both my girlfriend and i's deadname on my own device, so it would be cool if the preferred names were like the deadnames where you could put more than one! or if that would be really buggy because it wouldn't know which would be which as nice maybe like a deadname number 1 sections and deadname number 2 and so on maybe?

Hi there, thanks for the feature request! This is currently being worked on; I get this request a lot and need to consolidate it into a single issue.
I've actually got this functionality implemented in the version 2.0.0 that I'm working on, but it's not finalized yet. I also need to update the GUI to allow users to configure that


Chapter 1 - Material-UI integration: wrong links

Hi. In Chapter 1 - Material-UI Integration section, there are 2 invalid URLs:

Next, we need to wrap our Header component and page component Component (inside App HOC) with Material-UI's ThemeProvider:

Link should be: https://material-ui.com/customization/theming/#theme-provider

Finally, let's add some basic styles to our theme using CssBaseline:

Link should be:  https://material-ui.com/components/css-baseline/
ad-hoc question: should I keep creating issues like these if I find more of these erratas?

Click to see Hill for issue #246

Click to see Hill for all issues

created by Async

@exah-io thanks! I will fix these links.
We really appreciate your help! So yes, you are welcome to continue creating issues like this one.

Links have been fixed.


fix: Android requesting extra permissions

To use this fix now, add this to your pubspec.yaml:
rate_my_app:
  git:
    url: https://github.com/stikkyapp/RateMyApp
    ref: 93d4ff025a8b243b31c547e77d8a097dfeffc2f6

closes #137

Thanks !


DHCP / File Shares Not Uploading to IT Glue

Hey, thanks for these scripts.  I know it's all volunteer time, so I do not want to act like you owe me any troubleshooting, but if you have a minute, I'm having an issue with the DHCP and file share scripts.  The AD script works great--no issues there.
Basically, both scripts say they are running, but no information is uploaded to IT Glue.  Are there any levels of verbose logging I can enable to try to troubleshoot this more?
File Shares flex asset configuration file found!
Users$
------
Organization Name:
Server:  		 	 Server01
Share Name:  		 	 Users$
Share Path:  		 	 \\Server01\Users$
Share Description:
Disk Path:  		 	 D:\users

Same here -_-

I got the solutions! I'll try to figure out how I can post an update.. :x

https://github.com/mettix/automation/blob/master/File Shares/FileShares.ps1
Here I forked this thing, updated script is there.

I tried @mettix 's script to see if that would make a difference for me. The data displayed when the script is run looks correct (which is a big improvement over the original script) however I'm still getting
New-ITGlueFlexibleAssets : {"errors":[{"status":401,"title":"Unauthorized","detail":"Unauthorized resource
access","source":{"pointer":"id"}}]}
At C:\jobs\File Shares\FileShares.ps1:244 char:49

...         $api__output_data = New-ITGlueFlexibleAssets -data $api__body

                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CategoryInfo          : NotSpecified: (:) [Write-Error], WriteErrorException
FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,New-ITGlueFlexibleAssets

I am able to update the AD flexible asset, office365 etc  using the sample file so I know write API access is working correctly

I got this working by changing some logic.
tldr - set Permissions to the notes field.
In my case, permissions is set not as a description field but a security group tag. As ITGlue expects a the permissions to be a tag, it generates the permission denied when sending free text to the Permissions tab.
I fixed this by setting my api_config-fileshares.psd1 to read as follows.
@{
org_id = '12345'
flexible_asset_type_id = '54321'
key_name_ShareName = 'share-name'
key_name_ShareDescription = 'share-description'
key_name_Server = 'servers'
key_name_SharePath = 'share-path'
key_name_DiskPath = 'disk-path'
#key_name_Permissions = 'required-security-group'
key_name_Permissions = 'notes'

}
The data was then quickly uploaded to ITGlue.
However, a similar issue occurs with the Servers field. I was kind of expecting this to be the text for the servername ie the computers hostname, but again this is a tag field so does not work. If I grab the servers id from the url and hard code it just before the set-itglueflexibleassets line, the update to ITGlue works.
What I did find in my testing is that right now it creates a new share every time the script is run instead of editing the existing share, AND there is no mass delete option in ITGlue to delete all the Flexible assets at once.
This is because the only checking is to see if an organization exists. If it does, then New-ITGlueFexibleAsset is called as opposed to checking if the asset exists and if it does then running a patch.
if(test-path $api) {
$api_config = Import-LocalizedData -FileName "$api"
                    Write-Host "File Shares flex asset configuration file found!" -ForegroundColor Green

                    $api__body = formatAPIData # format data for API call
                    ######$api__org_id = $api__body.data.attributes.organization_id
                    $api__org_id = $api__body.attributes.organization_id
                    $api__flex_asset_id = $api_config.flexible_asset_type_id
                   ##This is where i've hard coded the server number for now instead of using a server text value.

$api__body.attributes.traits.servers="19818167"
if($api__org_id) {
Write-Host "Creating a new flexible asset."
$api__output_data = New-ITGlueFlexibleAssets -data $api__body
}
}
else {
Write-Error "ERROR: File Shares flex asset configuration file was found. Please create one and re-run the script."
}
Still working on debugging this script..

I am not great with powershell not going to lie, I am however pretty decent with VB so my solution was to simply run these with the -file argument and then wrote an exe to upload the output :) a little hacky i know but why reinvent the wheel since these pull the info i'm looking for (although i'm thinking I will just eliminate the need for them all together so a single exe is all that is needed, but who has the time, right lol).  it will likely be a bit before i have a finished product but the core functionality is there, just needs to be prettied up. Once complete, I'd be happy to share if anyone is interested.


Remove non-standard text at beginning of license

Because of the non-standard text at the beginning of the license, it
cannot be automatically recognized by tools such as Licensee.
With this change, the license should be displayed on the header of
the repository. It also makes it possible for repositories using this
repository as a submodule to automatically whitelist its license.

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot

I should point out it's slightly redundant to repeat the name of a project inside its own license file, when it's really adding nothing of insight for the reader...

@sheetalkamat Did you get a chance to look into this?


TS user 😂

IOS 14.5
TrollStore user
15.4 new emojis does not appear
Note : tried the LQ version it is LQ now but without the new ones
thoughts?

https://twitter.com/poomsmart/status/1626543705527308288?s=46&t=6yG-a-1GLJ3QST7cmYmjtQ
My thought is that this issue is invalid.

15.4 not 16.4

Same idea. "You can't see new emojis without a jailbreak"


Floating number from config gets misread - i.e. 1.5 => 15

What happened?
I try to read a double from my config file using the new Config("...").RequireDouble("...") method.
But the number i get ignores the decimal completely and so 1.5 becomes 15.
Example
in my config file i set
workspace:dailyQuotaGb: 1.5
But when i read from it i get 15..

var config = new Config("workspace");
var workspaceDailyQuotaGb = config.RequireDouble("dailyQuotaGb");
var workspace = new Pulumi.AzureNative.OperationalInsights.Workspace($"loganalytics-workspace",
new WorkspaceArgs
{
                WorkspaceName = $"loganalytics-workspace-{stackName}",
                ResourceGroupName = resourceGroup.Name,
                Sku = new WorkspaceSkuArgs { Name = WorkspaceSkuNameEnum.PerGB2018, },
                WorkspaceCapping = new WorkspaceCappingArgs{DailyQuotaGb = workspaceDailyQuotaGb }
});

results in this when i run it

It makes no difference if i write workspace:dailyQuotaGb: "1.5" with quotes in the config file.
Output of pulumi about
Backend
Name           pulumi.com
URL            https://app.pulumi.com/Skaanning
User           Skaanning
Organizations  Skaanning, dol-sensors
Token type     personal
Dependencies:
NAME                VERSION
Pulumi              3.59.0
Pulumi.AzureNative  2.27.0
Pulumi.Random       4.15.1
Pulumi locates its logs in C:\Users\mic\AppData\Local\Temp by default
Additional context
No response
Contributing
Vote on this issue by adding a 👍 reaction.
To contribute a fix for this issue, leave a comment (and link to your pull request, if you've opened one already).

Hi @Skaanning. Sorry for the trouble.
I tried reproducing this in a minimal program, and couldn't reproduce the issue:
mkdir dotnetconfig && cd dotnetconfig
pulumi new csharp
pulumi config set workspace:dailyQuotaGb 1.5

using System;
using System.Collections.Generic;
using Pulumi;

return await Deployment.RunAsync(() =>
{
    var config = new Config("workspace");
    var workspaceDailyQuotaGb = config.RequireDouble("dailyQuotaGb");
    Console.WriteLine(workspaceDailyQuotaGb);

    return new Dictionary<string, object?>
    {
        ["dialyQuotaGb"] = workspaceDailyQuotaGb
    };
});

Running pulumi preview yields:
$ pulumi preview
Previewing update (dev)

View in Browser (Ctrl+O): https://app.pulumi.com/...

     Type                 Name              Plan       Info
 +   pulumi:pulumi:Stack  dotnetconfig-dev  create     1 message

Diagnostics:
  pulumi:pulumi:Stack (dotnetconfig-dev):
    1.5

Outputs:
    dialyQuotaGb: 1.5

Resources:
    + 1 to create

I also tried an minimal Azure Native program, and similarly could not repro the issue.
using System;
using System.Collections.Generic;
using Pulumi;
using Pulumi.AzureNative.Resources;
using Pulumi.AzureNative.OperationalInsights;
using Pulumi.AzureNative.OperationalInsights.Inputs;

return await Pulumi.Deployment.RunAsync(() =>
{
    var resourceGroup = new ResourceGroup("resourceGroup");

    var stackName = Pulumi.Deployment.Instance.StackName;

    var config = new Config("workspace");
    var workspaceDailyQuotaGb = config.RequireDouble("dailyQuotaGb");
    Console.WriteLine($"Workspace daily quota: {workspaceDailyQuotaGb}");
    var workspace = new Pulumi.AzureNative.OperationalInsights.Workspace($"loganalytics-workspace",
    new WorkspaceArgs
    {
                    WorkspaceName = $"loganalytics-workspace-{stackName}",
                    ResourceGroupName = resourceGroup.Name,
                    Sku = new WorkspaceSkuArgs { Name = WorkspaceSkuNameEnum.PerGB2018, },
                    WorkspaceCapping = new WorkspaceCappingArgs{DailyQuotaGb = workspaceDailyQuotaGb }
    });

    return new Dictionary<string, object?>
    {
    };
});

This creates the Workspace with the 1.5 value and prints out Workspace daily quota: 1.5.

What version of the Pulumi CLI are you using?
Can you add a Console.WriteLine of the value read from config to see what it is?
    var config = new Config("workspace");
    var workspaceDailyQuotaGb = config.RequireDouble("dailyQuotaGb");
    Console.WriteLine($"Workspace daily quota: {workspaceDailyQuotaGb}");

Aha I think I know what's happening.
My work PC has Danish set as a default language - meaning decimal numbers are written with "," and not "."
On a pc now that uses English, the RequireDouble works as expected.
I guess my expectation would be that CultureInfo.InvariantCulture is used inside the parsing methods
https://github.com/pulumi/pulumi-dotnet/blob/6382a8cbfe11ff21466a0e950f8523e06a94f295/sdk/Pulumi/Config.cs#L136

Ah, makes sense. We likely should be using InvariantCulture here. Slight concern over the behavior change, though, which could potentially break someone relying on the culture-specific behavior.
@Frassle, @Zaid-Ajaj, @mikhailshilkov, any thoughts on fixing this to use InvariantCulture? Or should we keep the existing APIs as-is and add new invariant APIs to avoid the behavior change, e.g. RequireDoubleInvariant?

It's parsing from JSON data so it should be using invariant culture.


[TextServer] Add notes about high level text/font classes and getting active server instance.

Fixes https://github.com/godotengine/godot/issues/91940

Thanks!


Added Blog for Langcraft project

This blog focusses on the Eklavya Project "LangCraft" -
The project entails about developing our own programming language from scratch.

Looks Great! Good Job!


Cannot use owned types for query types.

I'm using DDD and have one domain that manages employees. Then I have another domain where I only want to read employees (separate class with a subset of employee properties), hence I'm using a DbQuery set in that domain. I'll keep it short and relevant and only add the first name and last name here. Then I have a DbContext that has a DbQuery set of employees.
public class Employee
{
	public string FirstName { get; set; }
	public string LastName { get; set; }
}

public class MyDbContext : DbContext
{
	public DbQuery<Employee> Employees { get; set; }

	protected override void OnModelCreating(ModelBuilder modelBuilder)
	{
		modelBuilder.ApplyConfiguration(new EmployeeConfiguration());
	}
}

public class EmployeeConfiguration : IQueryTypeConfiguration<Employee>
{
	public void Configure(QueryTypeBuilder<Employee> builder)
	{
	}
}

Now I would like to use my Name value type that I also use in many other places because that already has a first and last name property and some utility methods. I would like to change my code to the following :
public class Employee
{
	public Name Name { get; set; }
}

public class MyDbContext : DbContext
{
	public DbQuery<Employee> Employees { get; set; }

	protected override void OnModelCreating(ModelBuilder modelBuilder)
	{
		modelBuilder.ApplyConfiguration(new EmployeeConfiguration());
	}
}

public class EmployeeConfiguration : IQueryTypeConfiguration<Employee>
{
	public void Configure(QueryTypeBuilder<Employee> builder)
	{
			builder.OwnsOne(e => e.Name).Property(e => e.FirstName);
			builder.OwnsOne(e => e.Name).Property(e => e.LastName);
	}
}

But EF Core won't let me do this because the QueryTypeBuilder does not have a OwnsOne method. I would like to see support added so we can use owned types (value types in DDD) on query types.

@FilipVanBouwel The main problem here is that owned entity types aren't really a great way to map DDD value objects, even though there is behavior overlap between the two. Mapping value objects as regular properties using type conversions is much closer semantically, and would work in this case, but is limited currently by #13947
The conceptual problem with using owned entity types here is that all entity types require a primary key to be defined, while query types explicitly do not have any primary key. Owned entity types can look like they don't have a key, which is why there is behavior overlap with value objects, but in fact they do have a key that is in part derived from the primary key of the owner entity type. But since the owner in this case is a query type, the mechanism falls down.
Closing this as a duplicate of #13947 since using that mechanism for value objects will be the best way to support this going forward.

I personally don't like the solution from #13947 : you're duplicating the fields from the value object into every entity that uses that value object. I would much prefer to have a way to express a mapping from a property to multiple columns.

@FilipVanBouwel That's what #13947 is tracking. The examples shown in that issue are some of the things people are doing to workaround lack of support for this.

I see. My solution atm is using a DbSet for the employee type in the domain that should only read them, but throwing an exception in SaveChanges if I see that someone is trying to add/modify/delete an employee. Every DbContext decides which entity types can be modified or only read.


Use only requests

There's no need for urllib, stick to just requests. Also, use something like sh when calling system commands. And finally, not everyone has figlet and lolcat installed :)

Thanks for the contribution 👍


feat: implements a custom state container

wraps all state management into a State class

Coverage remained the same at 100.0% when pulling 516735e8223ea981b1b4d63de155c842cd488aa1 on custom-state-container into 0f2bec9af1203aad6c4123ef7800f195ae1cad55 on master.

Coverage remained the same at 100.0% when pulling ef3bdaa6766bae45cf8b85941b6022796f53446b on custom-state-container into ae704074ceb93ab4a59f424cf26f461920be3844 on master.

Coverage remained the same at 100.0% when pulling e7239ae010c742a9dd97f9eec2f3a445456fa9fd on custom-state-container into 4d88170d65fbba4ed7647c03b1b633bd66d64fbe on master.


Use it as WebSocket

Hi there,
may i use this api with websocket ?
i think if we use web socket instead of rest we can just send one req to server for connection and then in every page we can use lots of action from api server with just one connection ! &&its realtime . what you think ?! is it good ?!
thanks

Thanks for opening an issue. If you're interested in using Websockets with hapi, take a look at nes.
https://github.com/hapijs/nes

Ohum i saw hapijs/nes but it's possible to use Websocket on frame with little change ?!

with little change

Probably not. Stateless HTTP requests are  fundamentally different to Websockets.

Ok, sorry for lots of question , im so curious . you think wich one is better ?!

Ok, sorry for lots of question , im so curious .

No worries. 😁

you think wich one is better ?!

Neither. They're made for different use cases.
HTTP is easy and ubiquitous. Easy in the sense that we can make requests from the command line (ex: curl, wget).
Websockets have more overhead. Although, they're built on-top of HTTP, connections need to be setup are state-full. Websockets are well suited for real-time/event-based applications more than CRUD/REST applications.
This article may help too:

https://www.pubnub.com/blog/2015-01-05-websockets-vs-rest-api-understanding-the-difference/
see more google results

thanks, links are usefull ! i got what i need
;)

Umm and may i recode frame to use it in 2way , rest and websocket at sametime like (http://feathersjs.com) ?@! there is any way to do this ?

Sure. Use nes to add that real-time logic.

Um, you mean after i use nes,  i can use rest and websocket at sametime when i start frame recoded app ? and its not needed to use frame as rest and fram2(nes) as websocket !! ?

No. You'll have to code the logic for websocket connections using nes.

thank u, i got it ! i'm student in biomedical engineering . for hobby i wrote php for 5 years from fifteen. im profesional in php and client now . i start ES6 and nodejs from last summer and im so happy find mr Reza to ask my professional questions in this technology . in last i wish, you are more success in your life .


Patch to make dnd work in firefox.

NOTE: This patch is "not" ready to merge, I made this PR as a request for comments/improvements.
It seems like in firefox, svg elements will not have their onDragStart function called. They will, however have their onMouseDown function called. This patch adds a onMouseDown callback, but it also nulls the data stored in the dragging event. Since onMouseDown doesn't seem to let you add information to the drag store, I suspect a shadow store would need to be created in the component's react state.

@LeifAndersen I released a new version 2.0.0-beta.2 of this library. Can you check if the issue persists?


Issue with pydantic-settings, Extra inputs are not permitted

Problem description
I encountered an error related to the rio_tiler_max_threads environment variable when using TiTiler with the following environment configuration:
.env file:
RIO_TILER_MAX_THREADS=50

pyproject.toml file:
dependencies = [
    ...
    "pydantic-settings~=2.0",
]

pip freeze output:
pydantic-settings==2.2.1

The error occurred with the current implementation:
model_config = SettingsConfigDict(env_prefix="TITILER_API_", env_file=".env")

The error message is:
rio_tiler_max_threads
  Extra inputs are not permitted [type=extra_forbidden, input_value='50', input_type=str]
    For further information visit https://errors.pydantic.dev/2.4/v/extra_forbidden

Expected Output
No errors when loading the environment variables.
Proposed Fix
I fixed the issue by allowing extra settings in the SettingsConfigDict:
model_config = SettingsConfigDict(env_prefix="TITILER_API_", env_file=".env", extra="allow")

Environment Information

Python Version: 3.11
TiTiler Version: 0.17.1

@imanshafiei540 this is really weird because RIO_TILER_MAX_THREADS doesn't conflict with TITILER_API_ prefix 🤷

Okay, I tried to dig more into the issue and ended up here in this line from Pydantic==2.6.4:
self.__pydantic_validator__.validate_python(data, self_instance=self)

Somehow, the api_settings = ApiSettings() coming from src/titiler/application/titiler/application/main.py cannot be validated by __pydantic_validator__ and I'm not sure what's the reason.
Could be some issues between Pydantic and Pydantic-Settings.
I hope someone else can also verify the issue; I'm constantly thinking maybe I'm doing something wrong on my end.
Anyway, thank you for the quick response, and I'll try to figure out what's wrong; it's probably time to raise an issue on the Pydantic-Setiings repo.

can you share the full log? and/or share a reproducible example 🙏

Sure, I'll prepare something ASAP, just as a note, everything is working with pydantic-settings==2.1.0
2.2.0 or above will break the TiTiler.

ok I've been able to reproduce this
uvicorn titiler.application.main:app --port 8000 --reload
INFO:     Will watch for changes in these directories: ['/Users/vincentsarago/Dev/DevSeed/titiler']
INFO:     Uvicorn running on http://<IP_ADDRESS>:8000 (Press CTRL+C to quit)
INFO:     Started reloader process [79319] using WatchFiles
Process SpawnProcess-1:
Traceback (most recent call last):
  File<EMAIL_ADDRESS>line 315, in _bootstrap
    self.run()
  File<EMAIL_ADDRESS>line 108, in run
    self._target(*self._args, **self._kwargs)
  File "/Users/vincentsarago/Dev/venv/py39/lib/python3.9/site-packages/uvicorn/_subprocess.py", line 76, in subprocess_started
    target(sockets=sockets)
  File "/Users/vincentsarago/Dev/venv/py39/lib/python3.9/site-packages/uvicorn/server.py", line 60, in run
    return asyncio.run(self.serve(sockets=sockets))
  File<EMAIL_ADDRESS>line 44, in run
    return loop.run_until_complete(main)
  File "uvloop/loop.pyx", line 1517, in uvloop.loop.Loop.run_until_complete
  File "/Users/vincentsarago/Dev/venv/py39/lib/python3.9/site-packages/uvicorn/server.py", line 67, in serve
    config.load()
  File "/Users/vincentsarago/Dev/venv/py39/lib/python3.9/site-packages/uvicorn/config.py", line 479, in load
    self.loaded_app = import_from_string(self.app)
  File "/Users/vincentsarago/Dev/venv/py39/lib/python3.9/site-packages/uvicorn/importer.py", line 21, in import_from_string
    module = importlib.import_module(module_str)
  File<EMAIL_ADDRESS>line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 850, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/Users/vincentsarago/Dev/DevSeed/titiler/src/titiler/application/titiler/application/main.py", line 51, in <module>
    api_settings = ApiSettings()
  File "/Users/vincentsarago/Dev/venv/py39/lib/python3.9/site-packages/pydantic_settings/main.py", line 84, in __init__
    super().__init__(
  File "/Users/vincentsarago/Dev/venv/py39/lib/python3.9/site-packages/pydantic/main.py", line 171, in __init__
    self.__pydantic_validator__.validate_python(data, self_instance=self)
pydantic_core._pydantic_core.ValidationError: 1 validation error for ApiSettings
rio_tiler_max_threads
  Extra inputs are not permitted [type=extra_forbidden, input_value='50', input_type=str]
    For further information visit https://errors.pydantic.dev/2.6/v/extra_forbidden

This is really weird and I wonder if this is a pydantic-setting bug instead of a titiler one.
pydantic ticket: https://github.com/pydantic/pydantic-settings/issues/245
I would be happy to review any PR to add extra='ignore' 👍

Thanks for confirming the issue. I'll try to create a PR as soon as possible.


Create a molecule instance in core tests

Lets test by creating a valid instance of the class.

:+1:


hostnames cannot be fqdn

This isn't a feature request, but more for information and tracking.  Possibly the README should say that hostnamectl fqdn is not supported or add a validation.
Here's the behavior: I use vagrant for 14 VMs.  With other recent changes, I've had an issue where my hostnames were not resolving from dnsmasq and were assigned ip addresses as hostnames.  So, I used hostnamectl fqdn as part of the setup.  The first  failure is that ceph-salt calls cephadm which fails with use --allow-fqdn-hostname in the log file.
If you change the call in cephbootstrap.sls, then ceph-salt apply will complete; however, the installation will not have an admin keyring.  So the containers started and that's it.
I'm forcing short hostnames now which is working.

@swiftgist Were the code changes you made to get ceph-salt apply to complete similar to these:
https://github.com/ceph/ceph-salt/pull/419
or different?
With #419 ceph-salt apply completed successfully for me in a FQDN environment. But of course #419 is not mergeable in its current form - see #420 for an explanation.


Adding a default profile to charts

Adding a default profile to the Helm charts as a way to turn off ambient explicitly.
I am in the process of making profile=ambient the new default in our organisation, but that requires a reliable way to indicate "no-ambient" as an option, and overriding a set value with null or "" is not always feasible.
I would assume "default" is the right name for such a profile, matching the istioctl profile naming convention, but other suggestions are welcome.

Hi @kimsondrup. Thanks for your PR.
I'm waiting for a istio member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
Once the patch is verified, the new status will be reflected by the ok-to-test label.
I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.


get public index.html

There are two independent folders in public, and everyone has index.html, but public don't have index.html ,How to configure to point to the corresponding index.html What about it

I'm sorry, I don't understand what you are asking/what you need to do.

I'm sorry, I don't understand what you are asking/what you need to do.

this is my public，When I run “react-app-rewired build", there is report an error: "public/index.html is necessary"

this is my public，When I run “react-app-rewired build", there is report an error: "public/index.html is necessary"

html I want to use mail, my phone is blocked by other hackers, what should I do?

Given this isn't a repo bug going to close this.


The examples in the changelog for riverpod_lint 2.4.0 may be incorrect.

Current:
riverpod/packages/riverpod_lint/CHANGELOG.md at master · rrousselGit/riverpod

functional_ref and its quick-fix now expect:@riverpod
Model foo(Ref ref) => ..

Do:@riverpod
Model foo(FooRef ref) => ..

Expected:

functional_ref and its quick-fix now expect:@riverpod
Model foo(FooRef ref) => ..

Do:@riverpod
Model foo(Ref ref) => ..

@rrousselGit
Thank you for fixing this issue.  f39c22d3f9f5b656dbd350f0d497df5981f308ba


[Github Actions] Add ignored paths for Build website preview workflow

Description
Adding ignored paths to avoid triggering website preview build when non website related files are changed, so we don't have issues, like in #1113 where checks are marked as failed because of the failing website preview workflow.
Breaking Change
Does your PR require plugin users to manually update their apps to accommodate your change?

[ ] Yes, this is a breaking change (please indicate a breaking change in CHANGELOG.md and increment major revision).
[x] No, this is not a breaking change.

What about adding the other files in the root folder?

I added paths that are most likely to be edited. But, probably, it is better to do the other way - add paths which should trigger the workflow

Updated, so the job starts only when docs and website folders have changes.


unique classes in views

I have suggestion to give unique classes in views, because now timeGridDay, timeGridWeek and resourceTimeGridWeek all are in '.ec-week' container nad this makes it difficult to customize views in css...
for example I have many resources in resourceTimeGridWeek and I had to change some css there but it spoils the timeGridDay and timeGridWeek views

ok. I installed latest version and fortunatelly it's working on older nodejs...but I have just one more suggestion about resource view

it would be good to separate .toolbar from the rest (.ec-header, .ece-all-day, ec-body) because when it's many resources you must use oferflow:auto or scroll, and it would be good to attach overflow to container with just resources data, and toolbar should not be scrolled then

Thanks for the suggestion. For a large number of resources, this view would be more suitable. Hope it gets implemented someday.


Fix raml

Coverage remained the same at 95.455% when pulling cba0149eed7851c9dd78e6b8f6ee22c779332353 on sirmax123:fix_raml into a633a806aa8813fa5bc9e9dde0ef88b3e00bf51c on seecloud:master.


[Request] PHP5 rather than PHP7

More of a [Feature Request] than an Issue.
Our Website is not compatible with our existing site. therefore a request to choose different versions of PHP in my case version PHP5.6

It will be great if we can have option to choose PHP5.6 version as our existing wordpress site is not php7 ready...thanks

Selecting PHP 5.5, 5.6, or 7.0 is now a parameter in version 2.0.0.


refactor：[Duplicate] Remove the logic of merge SlashForPath processing path

📑 Description
[Duplicate] Remove the logic of merge SlashForPath processing path
in gin<EMAIL_ADDRESS>file:
func joinPaths(absolutePath, relativePath string) string {
	...

	finalPath := path.Join(absolutePath, relativePath) // The path will be formatted here
	...
	return finalPath
}

the path is processed，The mergeSlashForPath logic here is repeated, so it is removed.
✅ Checks

[x] My pull request adheres to the code style of this project
[ ] My code requires changes to the documentation
[ ] I have updated the documentation as required
[X] All the tests have passed

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

Project coverage is 81.30%. Comparing base (5a68f28) to head (ab64648).
Report is 13 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master      #63      +/-   ##
==========================================
+ Coverage   79.29%   81.30%   +2.01%
==========================================
  Files          12       14       +2
  Lines         874      781      -93
==========================================
- Hits          693      635      -58
+ Misses        151      117      -34
+ Partials       30       29       -1

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


HIGH: [API Reliability] Receiving a message calls ReadNewestAction twice, then GetMissingOnyxUpdates

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: v1.4.74-4
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: @iwiznia
Slack conversation: https://expensify.slack.com/archives/C05LX9D6E07/p1715970211315929
Action Performed:
Break down in numbered steps

Open the Network queue in browser dev tools for the account that will be the message receiver (user 2)
Send message from user 1 to user 2
Observe the Network queue for user 2
Observe the payload of the API calls

Expected Result:
Describe what you think should've happened
There is a single ReadNewestAction call and no GetMissingOnyxUpdates call
The onyx data is only received using one API call
Actual Result:
Describe what actually happened
There are two identical ReadNewestAction calls and a redundant GetMissingOnyxUpdates call, all of them doing the same thing (getting the new message)
All APIs return the same onyx updates
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
N/A
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence

View all open jobs on GitHub

I am Michał from Callstack - expert contributor group. I’d like to work on this job.

I've managed to reproduce that issue. I'm looking into the cause and possible solution
https://github.com/Expensify/App/assets/23487612/dacae7b5-bdce-4193-b431-409d9598dd1b

@muttmuure
I'm looking at the code and I think that readNewestAction doesn't get the new message. It marks it as read by a user. This is an API.write call.
https://github.com/Expensify/App/blob/e8ae3c5acedf0e6788dc574c7b6f3043ca37092a/src/libs/actions/Report.ts#L1141-L1163
GetMissingOnyxUpdates does something else and it's being called because there is a difference between lastUpdateIDFromClient and previousUpdateIDFromServer
https://github.com/Expensify/App/blob/e8ae3c5acedf0e6788dc574c7b6f3043ca37092a/src/libs/actions/OnyxUpdateManager/index.ts#L136-L147
I might be wrong because I've just started investigating this but neither of this calls seem to directly get latest messages for a user

Did you get the duplicated calls the first time you tried to reproduce it?

@MrMuzyk the issue is that the lastReadTime is being returned twice, can you look into that?
More discussion here: https://expensify.slack.com/archives/C05R2V5GM1S/p1716404672474459?thread_ts=1716202725.599559&cid=C05R2V5GM1S

the issue is that the lastReadTime is being returned twice, can you look into that?

@muttmuure thinking about this I think it's better to open a separate issue for it, since it's something the server returns and thus needs to be internal.

Did you get the duplicated calls the first time you tried to reproduce it?

No, it was acting fine yesterday as well. Not sure why it was happening for a brief period of time.

the issue is that the lastReadTime is being returned twice, can you look into that?

Yes, I've debugged it a bit more yesterday and came to the conclusion that the fact that same object is returned twice in the response is weird and should be looked into. It might be related to similar issue that Edu is investigating - gap in between onyx updates. It might give us some answers why is that the case that GetMissingOnyxUpdates is always called right after ReadNewestAction.
The cause of the duplicated object inside the response is however on the BE side. Would you be so kind and look into this method on your end and check if everything is fine over there? This might lead us somewhere as there is something weird going on here but I can't put my finger on it looking only at the FE part.

Can't we just make this one internal?

Going to take a look at this today (probably)

This is merged. Great job Ioni!


Added tests for OfflineAreasFragment

Fixes #2638

@shobhitagarwal1612  PTAL?

/gcbrun

@anandwana001 Gentle ping

/gcbrun


Happend on Marlin <IP_ADDRESS>

I noticed the same on Klipper. Changed the M109 Rxxx to M109 Sxxx statements and things worked. Klipper does not support M109 Rxxx instead turns the hotend simply off.


CLN: Period cleanup related to array like meth

[x] tests added / passed
[x] passes git diff upstream/master | flake8 --diff

removed unused / duplicated internal method returning array-likes. Also added some tests to guarantee existing API before fixing its dtype (see #13941).

Current coverage is 85.29% (diff: 100%)

Merging #13955 into master will decrease coverage by <.01%

@@             master     #13955   diff @@
==========================================
  Files           139        139
  Lines         50159      50157     -2
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
- Hits          42786      42782     -4
- Misses         7373       7375     +2
  Partials          0          0

Powered by Codecov. Last update 4df08a9...a75a718

ty!


Viewport size is sometimes off on initial render

Tried fixing this in https://github.com/auchenberg/vscode-browser-preview/commit/616cc557fc24d962ac04a44012b966766047a746