Add in retry for ORC writes [databricks]

This fixes #7341
This fixes #7960
I also included a fix for metrics because for some reason when writing data the metrics were not deserialized until all of the query was done. For now I just made the task level metrics go on most GPU operators.
I did some performance testing with smaller and smaller memory. The issues that I was seeing were mostly with not being able to split inputs on a parquet read (when I got down to 4 GiB of GPU memory and 4x parallelism) I also saw some issues with running out of memory when trying to read back in spilled data.

It is a nice logarithmic looking performance drop off, which is nice to see.

build

Looks like the OOM injection PR messed with some things for this PR, so I will spend some time to debug this...

build

@jlowe sorry about more test failures but it should be fixed now please take another look
@abellina please take a look at my latest patch which fixes some issues with OOM injection


Running ansible playbook update does not update the version in Beszel dashboard

I have an ansible script that updates the beszel agent on 2 Proxmox VEs.
The issue is that the version does not update in Beszel dashboard until I SSH in each proxmox and run the update command manually.
Running the update manually (after I run the ansible playbook), the output is:
beszel-agent 0.7.4
Checking for updates...
Latest version: 0.7.4
You are up to date
The agent version is then displayed correctly in Beszel dashboard.
My ansible playbook:
update_beszel_pve.txt
The output from running the playbook:
msg: |-
beszel-agent 0.7.3
Checking for updates...
Latest version: 0.7.4
Updating from 0.7.3 to 0.7.4...
Successfully updated to 0.7.4
The playbook can help @flo82 from https://github.com/henrygd/beszel/discussions/268

Hi, took a snippet from my role to update beszel and updated your playbook:
---
- name: Update PVE Beszel Agent
  hosts: all
  become: yes
  become_user: root

  tasks:
    - name: Update beszel
      ansible.builtin.shell: "/opt/beszel/beszel update"
      ignore_errors: true
      register: metadata_command_output
    - name: Update beszel agent
      ansible.builtin.shell: "/opt/beszel-agent/beszel-agent update"
      ignore_errors: true
    - name: Restart services
      ansible.builtin.systemd_service:
        name: "{{ item }}"
        state: restarted
      with_items:
          - beszel-agent
          - beszel-hub
      register: metadata_restart_output
    - name: Display update command output
      debug:
        msg: "{{ metadata_command_output.stdout }}"

    - name: Display restart command output
      debug:
        msg: "{{ metadata_restart_output.stdout }}"

It upgraded the service successfully on my end:
root@h-MU-forgejo-prod:~# /opt/beszel-agent/beszel-agent update
beszel-agent 0.7.4
Checking for updates...
Latest version: 0.7.4
You are up to date

Thanks for sharing your code.
Does it show the correct version in the dashboard after you update?
This is the issue I have when i run mine.

Thanks for sharing your code.
Does it show the correct version in the Beszel dashboard after you update? This is the issue I have when i run mine.

OHH yeah.. It takes a few mins (or seconds) to show up.

The agent version should update in the hub within one minute after successful update / restart of the agent.
Make sure you restart the beszel-agent service if the update was successful. Otherwise the same process with the prior version continues to run.
I added an option for automatic daily updates to the install script. It checks the output for "Successfully updated" and runs sudo systemctl restart beszel-agent if there is a match.
I don't use Ansible but hopefully that helps.

Thank you @raifcoonjah, @henrygd.


ordering of MCMC samplers vs. order in mvSamples

here's another UX type thing, which threw me off-track for a bit as I was writing up an example exploring univariate vs. block sampling.
The order of univariate RW samplers assigned to the model below is different than the order as stored in mvSamples.
@danielturek any thoughts on whether this is intended and whether there's a reason not to make them consistent?
w <- c(1.6907, 1.7242, 1.7552, 1.7842, 1.8113, 1.8369, 1.8610, 1.8839)
y <- c(6, 13, 18, 28, 52, 53, 61, 60)
n <- c(59, 60, 62, 56, 63, 59, 62, 60)
hypers <- list(a0 = .25, b0 = .25, c0 = 2, d0 = 10, e0 = 2, f0 = .001)

dloggamma <- nimbleFunction(
    run = function(x = double(0), a = double(0), b = double(0),
        log = integer(0, default = 0)) {
        returnType(double(0))
        logProb <- a*x-b*exp(x)
        if(log) return(logProb)
        else return(exp(logProb))
        })

dlogsqrtIG <- nimbleFunction(
    run = function(x = double(0), a = double(0), b = double(0),
        log = integer(0, default = 0)) {
        returnType(double(0))
        logProb <- -2*a*x - b*exp(-2*x)
        if(log) return(logProb)
        else return(exp(logProb))
        })

blissCode <- nimbleCode({
    for(i in 1:G) {
        x[i] <- (w[i] - mu) / sigma
        p[i] <- (expit(x[i]))^m1
        y[i] ~ dbin(p[i], n[i])
    }
    m1 <- exp(logm1)
    logm1 ~ dloggamma(a0, b0)
    mu ~ dnorm(c0, sd = d0)
    logsigma ~ dlogsqrtIG(e0, f0)
    sigma <- exp(logsigma)
})

inits <- list(mu = 2, logsigma = -8, logm1 = -4)
blissModel <- nimbleModel(blissCode, data = list(w = w, y = y),
                 constants = c(list(n = n, G = length(n)), hypers),
                 inits = inits)
cblissModel <- compileNimble(blissModel)

conf <- configureMCMC(blissModel)
conf$getSamplers()                               ## here's one ordering
mcmc <- buildMCMC(conf)
cmcmc <- compileNimble(mcmc, project = blissModel)
nIts <- 5
cmcmc$run(nIts)
smp <- as.matrix(cmcmc$mvSamples)
head(smp)                                             ## here's the 2nd ordering

@paciorek I don't follow the point.  I don't think there would ever be a reason to expect that the order of the saved samples would follow the order of samplers.  There could be multiple samplers operating on the same nodes in arbitrary orders, or single samplers operating on blocks of nodes with no implied order of sampling.  The saved samples will be grouped by variable (possibly in the order provided in the monitors but I'm not sure about that).

yeah, fair enough in terms of the arbitrariness of what samplers might occur. It just felt weird that in this simple setting, our default assignment of scalar samplers is in a different order than the default order in the modelValues. I would have guessed that the order in cases such as this would follow the topo sort.

I didn't see whatever reply there was, but I would have said the same
thing.  Sampler ordering is possibly repeated, might not even span all
model nodes, or those being monitors (i.e. sampled and monitored could be
completely different sets), etc...
If you want an inconsistancy that bugs me, though: the column ordering of
the variables in:
as.matrix(Rmcmc$mvSamples)
as.matrix(Cmcmc$mvSamples)
can differ sometimes!  Now that, I do take issue with.
On Thu, Jun 15, 2017 at 2:34 PM, Christopher Paciorek <
<EMAIL_ADDRESS>wrote:

yeah, fair enough in terms of the arbitrariness of what samplers might
occur. It just felt weird that in this simple setting, our default
assignment of scalar samplers is in a different order than the default
order in the modelValues. I would have guessed that the order in cases such
as this would follow the topo sort.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/nimble-dev/nimble/issues/437#issuecomment-308830129,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AETW4eenY6jUwhz9XNoLty4QvFxqTYcMks5sEXlIgaJpZM4N7hPE
.

We do have an open issue, #148, on that.

Determined not to be a problem so closing.


ELS : erg language-server does nothing (no error, no trace)

Hi,
I'm trying to start the Erg language server inside IntelliJ by using LSP4IJ by filling the command https://github.com/redhat-developer/lsp4ij/blob/main/docs/UserDefinedLanguageServer.md
I have installed erg (when I type erg command it is working).
I'm trying to start the Erg language server with terminal on Windows OS with
erg language-server like your vscode-erg does (the doc is strange because it says erg --language-server which fails.
The strange thing is when I try to use this command,  the ELS does noting even after LSP client sends initialize.
vscode-erg is working for me, but not when I try to execute in terminal erg language-server or in LSP4IJ.
I wonder if it exists an option to log some trace server, to understand what it happens.
I have tried too to install els like explained at https://github.com/erg-lang/erg-language-server?tab=readme-ov-file#installation, but when I execute els it does nothing even when LSP client sends initialize.
Thanks!

I researched this issue for a while and discovered that the reason the server appeared to do nothing was because IntelliJ was passing ELS a string id instead of an integer, which was causing the initialization to fail.
https://github.com/erg-lang/erg/blob/040811744e575b8149d6d8b802d83bffb8fff5c7/crates/els/server.rs#L725
↓
https://github.com/erg-lang/erg/blob/2d5aed6ec9e5d0e5e0bde9e76417214d2b94804c/crates/els/server.rs#L725-L726
After this change, the language server now works in my environment by specifying /path/to/erg language-server.

By the way, ELS outputs an error log to .erg/els.log when an unexpected error occurs.

I did the change like you suggested and it works perfectly now

//cc @amacfie you need to update the source code from ELS like suggested at https://github.com/erg-lang/erg/issues/522#issuecomment-2358636643


New Rustic Roads: 125, 126

The 2024 edition has new Rustic Roads!  But they're missing from this dataset

R-125
R-126

Thanks! I'll work on adding them.


aarch64/xts: fix xts enc/dec error in inplace mode

fix #130 : Failure on XTS 128 rand test, for ARM arch

This is merged now, thanks!


fix(toast & landscape): swap zindex

背景描述

互换zindex， toast zindex 1700，landscape zindex 1600，解决toast被遮挡
主要改动

需要注意

Codecov Report

Merging #581 into dev will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##              dev     #581   +/-   ##
=======================================
  Coverage   80.98%   80.98%
=======================================
  Files          98       98
  Lines        2803     2803
  Branches      544      544
=======================================
  Hits         2270     2270
  Misses        376      376
  Partials      157      157

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 ac1aef4...c80c193. Read the comment docs.


iTune connect error - ITMS-90338: Non-public API usage

I am getting the following error when trying to upload to iTunesConnect:
ITMS-90338: Non-public API usage - The app references non-public symbols in Frameworks/Flutter.framework/Flutter: _ptrace. If method names in your source code match the private Apple APIs listed above, altering your method names will help prevent this app from being flagged in future submissions. In addition, note that one or more of the above APIs may be located in a static library that was included with your app. If so, they must be removed. For further information, visit the Technical Support Information at http://developer.apple.com/support/technical/
I am using the following plugins:
intl: 0.16.0
  flutter_bloc: ^0.20.1
  equatable: ^0.1.5
  meta: ^1.1.6
  shared_preferences: ^0.5.3+4
  percent_indicator: ^2.1.1+1
  flutter_launcher_icons: ^0.7.4
  scratcher: ^1.2.1
  flushbar: ^1.9.0
  uuid: ^2.0.2
  dart_random_choice: ^0.0.2
  flutter_local_notifications: ^0.9.1

It looks like you uploaded a debug build, this contains ptrace and shouldn't be uploaded to the app store.
Ensure that you've run flutter build ios --release and then performed the correct archive action in Xcode


Improperly insert type into literate haskell

If you have
This is a comment.

> main = putStrLn "Hello World"

This is also a comment.

and ask it to insert the type of main, it will do
This is a comment.

main :: IO ()
> main = putStrLn "Hello World"

This is also a comment.

Correct behavior is
This is a comment.

> main :: IO ()
> main = putStrLn "Hello World"

This is also a comment.

I gather that you fixed #111 then?

@liordakil This outside a cabal project. I'll have to check again for within.


How can I obtain gradient feedback over the input image?

Given an image, I want to see the gradient feedback propagated to the input image. Is it viable with MxNet?

just check grad_map['data']

I try to find grad_map in cifar-10 example but no success. where should I call grap_map?

You need to check the exact name of the gradient map in your codes. You can also check the adversary example in example folder

where is the related module for "from data import mnist_iterator"

It should be in the example folder named data.py

close for inactive status, please feel free to reopen


Field value for cssClasses Item

Hi! I have a documentation issue on InstantSearch.js. I could not find what I was looking for on the page "refinementList".

Is it possible to get the field value and assign this to the "item" cssClasses?
So for example;
cssClasses: {
list: 'nav nav-list',
count: 'badge pull-right',
active: 'active',
item: {{field value}}
}
Thanks.

Unfortunately this is not possible. I will our product team know about it :) Thanks for your contribution.


what does this actually tell by this prediciton .?

This is the prediction that i am getting on E2E with FUNSD dataset

what does this actually tell by this prediciton .?

Hi @NaveenVinayakS ,
it is kidn of hard to me understing your outputs if I do not get the entire "picture" (meaning also your input or the contest).
By the way, using the utility "get_info()" in "GraphBuilder" you can see from the output the name of edge and node labels that correspond one to one to the integer version of the label itself. For example from this output:
FUNSD TEST dataset: -> graphs: 50 -> node labels: ['answer' 'header' 'other' 'question'] -> edge labels: ['none' 'pair'] -> node features: 1752 -> edge type: fully -> textual feats: True -> visual feats: True -> edge feats: True -> graph example: Graph(num_nodes=47, num_edges=2162,       ndata_schemes={'geom': Scheme(shape=(4,), dtype=torch.float32), 'feat': Scheme(shape=(1752,), dtype=torch.float32), 'norm': Scheme(shape=(1,), dtype=torch.float32), 'label': Scheme(shape=(), dtype=torch.int64)}       edata_schemes={'feat': Scheme(shape=(6,), dtype=torch.float32), 'weights': Scheme(shape=(), dtype=torch.float32), 'label': Scheme(shape=(), dtype=torch.int64)})
you can tell that for node labels "answer" is 0, "header" is 1, "other" is 2 and question is "3".
While, for edge labels, "none" is 0 and "pair" 1.

FYI, you can also use the utility Doc2Graph.label2class() contained in dataloader.py to input one integer and return the label string it refers to.


[Android] Error when building app yoroi-mobile

Description / affected users
This bug appears to affect when running app from your source
Bug reproduction constituency:
Steps to reproduce:

install node_modules (npm i)
run app android
Other info:
React-Native version: 0.64.2

Please let me know if you need any further info,

Hi @lozyloop12 ! Did you read the instruction https://github.com/Emurgo/yoroi-mobile/blob/develop/README.md ?

@Nebyt Hello Neby, i have followed the README, i think i am having an error problem on macOS BigSur


feat (client): client-side support for int8

This PR adds client-side support for int8 aka bigint.
Supporting BigInts is tricky because of inconsistencies in the sqlite drivers.
For example, better-sqlite3 requires BigInts to be explicitly enabled but then all integers are returned as BigInts because SQLite does not distinguish between them (they are all just 64bit integers). On the other hand, wa-sqlite returns a regular JS number if the integer fits, otherwise it returns a BigInt.
To avoid these problems, we always cast BigInt to text when reading from the DB and then let the DAL turn it into a BigInt;
i.e., when the Postgres type of a column "foo" is bigint, we read as follows: SELECT cast(foo as TEXT) AS foo FROM table. Similarly, we cast returned values: INSERT INTO table VALUES<PHONE_NUMBER>854775807) RETURNING cast(foo as TEXT) AS foo.
A similar problem occurs in the oplog triggers. These triggers insert an oplog entry for every insert/update/delete. This oplog entry contains the old and new rows as JSON objects. However, JSON does not support BigInts:
sqlite> SELECT json_valid('{"a": 123n}');
0

We also can't write it as a regular number because when parsing the JSON it is read as a number and rounding errors occur:
js> JSON.parse('{"a":<PHONE_NUMBER>854775807}')
{ a:<PHONE_NUMBER>854776000 }

Hence, the triggers also need to cast BigInts to text and the deserialisation function for oplog entries (deserialiseRow) needs to correctly deserialise them as BigInts (when the column type is int8/bigint).

Stellar job! ⭐ 💪
My only piece of feedback is that I'm not seeing any tests that verify the validation is working for bigints. I.e. trying to write a value that would exceed the range of what a 64-bit integer can hold.

Thanks, i added a unit test for values that are out of range :-)


[stable/elasticsearch-curator] add dry-run option to chart

Signed-off-by: Gerald Barker<EMAIL_ADDRESS>What this PR does / why we need it:
Allows the curator cronjob to run in dry-run mode to allow easy testing of jobs within a kubernetes cluster
Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md

/assign @tmestdagh

/ok-to-test
/assign

/lgtm


Connecting to Ollama servers has stopped working

Hello 👋 , I noticed that recently connecting to remote Ollama servers stopped working, while localhost remains fine.
Just wondering if something has perhaps changed in the Ollama API or the way OGS handles network connectivity that could be causing this?
When providing a valid Ollama url (e.g. https://ollama.my.internet.network) and saving the settings - the list of models remains loading forever:

Other Ollama clients are all working fine with the same host/url.
Using localhost:11434 seems fine
I've tried building from source with updated node packages but that didn't help.

Ollama server (and local) are both built from the latest Ollama source.

@sammcj , thank you for writing the detailed post.
I can't currently reproduce the issue, but will try again in a different environment later.
This project uses Ollama-rs to handle all http calls (with the exception of getting the current version of Ollama running on the server).
I just checked there and could not find any issues related to network connectivity, but since your other clients work I agree that there might be an issue either here or on that upstream dependency.

If you call ollama-grid-search from the command line, can you spot any errors or relevant debug information?

If you use your remote server's IP address instead of the host name, is there any change in behavior?

Sorry Dezoito, I've been away for a few days, I'll follow up on this tomorrow!

Awesome, thank you.
This is gives me a starting point.

Thank you, I really appreciate it. I mentioned OGS in a talk I gave last month actually: https://smcleod.net/2024/07/code-chaos-and-copilots-ai/llm-talk-july-2024/ (slide 69 I think) and someone that was there pinged me to ask if I had started facing issue and I realised I did - so that's how this report came about!

@sammcj (and anyone else who know what they are doing, really),
I just getting started in trying to debug this and noticed two things, comparing the response output you posted with the one on my machine:
Fetching models from http://localhost
Fetching ollama version from http://localhost:11434/api/version
[src/commands.rs:54:5] &response = Response {
    url: Url {
        scheme: "http",
        cannot_be_a_base: false,
        username: "",
        password: None,
        host: Some(
            Domain(
                "localhost",
            ),
        ),
        port: Some(
            11434,
        ),
        path: "/api/version",
        query: None,
        fragment: None,
    },
    status: 200,
    headers: {
        "content-type": "application/json; charset=utf-8",
        "date": "Tue, 27 Aug 2024 11:43:09 GMT",
        "content-length": "19",
    },
}

First, the line Fetching ollama version from http://localhost:11434/api/version shows the port for the Ollama server, but I don't see that information on your post. Is the ollama server configured to a default port for your remote server (like 443, since you are using https?).
If you manually add port 443 to the server URL in settings, does anything change?
Secondly, my response includes a lot of additional information regarding the URL, and judging by the error
thread 'tokio-runtime-worker' panicked at src/lib.rs:115:25:
called `Option::unwrap()` on a `None` value

The absence of some of those keys may have caused the issue (I'm writing this more as an output of internal monologue and in the hopes that other people can help ;) )
I'm thinking about rewriting this in a way that this call returns "version not available" if there are any errors (using an unwrap_or() for the Rust nerds out there).

@sammcj,
Just (finally) released a new minor version.
Hopefully this solves the issue that prevented the UI not rendering, but if not, please let me know.

Hey Dezoito 👋 ,
Just tried the latest build but it's the same:

 ./ollama-grid-search
thread 'tokio-runtime-worker' panicked at src/lib.rs:115:25:
called `Option::unwrap()` on a `None` value
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Fetching ollama version from https://ollama.internal.domain/api/version
[src/commands.rs:55:5] &response = Response {
    url: "https://ollama.internal.domain/api/version",
    status: 200,
    headers: {
        "alt-svc": "h3=\":443\"; ma=2592000",
        "content-length": "19",
        "content-type": "application/json; charset=utf-8",
        "date": "Sun, 15 Sep 2024 23:06:59 GMT",
    },
}

According to AI (🤣):
This crash log indicates a panic in a Rust program, specifically in a project that seems to be interacting with Ollama (an open-source large language model runner). Let's break down the key points:

The panic occurred in the tokio-runtime-worker thread, which suggests the program is using the Tokio asynchronous runtime.

The specific error is:
called `Option::unwrap()` on a `None` value

This means the code tried to unwrap an Option that was None, likely assuming it would always have a value.

The error happened in the split_host_port function in the grid_search_desktop module:
grid_search_desktop::split_host_port::hf4b8dc5b50bb0a9a

The program was trying to fetch the Ollama version from https://ollama.internal.domain/api/version.

Interestingly, despite the panic, the program seems to have successfully made the HTTP request and received a 200 OK response, as evidenced by the debug output at the end of the log.

The crash likely occurred because the code assumed it could always split the host and port from the URL, but in this case, it couldn't. This could happen if:

The URL doesn't explicitly specify a port.
There's an unexpected format in the URL.
There's a bug in the split_host_port function that doesn't handle certain edge cases.

To fix this, the developers should:

Review the split_host_port function and ensure it handles cases where a port might not be present.
Use Option::map or pattern matching instead of unwrap to safely handle the case where splitting fails.
Ensure the URL format being passed to this function is always what the function expects.

It's worth noting that the program successfully made the HTTP request before crashing, so the issue is likely in post-processing of the URL rather than in the network request itself.

Thank  you again @sammcj.
Can you try to explicitly define the host port for your Ollama server?
https://ollama.internal.domain:<your port>
I'll tackle the lack of a defined port, but want to check if this could still work.

YES!!! It works! 🎉
Well done @dezoito!

Thanks so much for your efforts on this, truly appreciated!


The issue about the VQ part

Hi Guolin,
Thanks for your great work and congrats on the ICLR accepted!
But when I try to VQ the feature from scratch, I found I get an error in train_objfeatvqvae.py:
    train_objfeats = [
        eval(f"obj.{config['model']['objfeat_type']}_features")
        #print(f"{obj}.{config['model']['objfeat_type']}_features")
        for obj in train_objects
    ]
    train_objfeats = np.stack(train_objfeats, axis=0)
    kwargs = {
        "objfeat_min": train_objfeats.min(),
        "objfeat_max": train_objfeats.max()
    }

I get an error that:
"objfeat_min": train_objfeats.min(),
File "/anaconda3/envs/cdpm/lib/python3.10/site-packages/numpy/core/_methods.py", line 45, in _amin
return umr_minimum(a, axis, None, out, keepdims, initial, where)
TypeError: '<=' not supported between instances of 'NoneType' and 'NoneType'
and I found that all the train_objfeats are none.
I noticed that you mentioned we should update the quantization indices in the dataset (stored in dataset/InstructScene/threed_front_<room_type>/<scene_id>/models_info.pkl), but I am not sure how we can do that.
Can you help me to give an example?
Thanks a lot.

Hi @YxuanAr,
Thanks for your interest in our project.

Did you download the provided dataset properly? The line you mentioned (eval(f"obj.{config['model']['objfeat_type']}_features")) runs the following codes: https://github.com/chenguolin/InstructScene/blob/d6950e929de77e26e07acbe5909269bc8252f827/src/data/threed_front_scene.py#L242-L247, and path to the features is:
https://github.com/chenguolin/InstructScene/blob/d6950e929de77e26e07acbe5909269bc8252f827/src/data/threed_front_scene.py#L207-L212. Because the path of feature files does not exist, you got all None returned.

To update quantization indices for a new fVQ-VAE, we should run the new model to quantize every object feature by: https://github.com/chenguolin/InstructScene/blob/d6950e929de77e26e07acbe5909269bc8252f827/src/models/objfeat_vqvae.py#L61-L70. model_info.pkl stores the quantization indices of all the objects in one scene. So we should update the quantization indices of objects in the corresponding scene in model_info.pkl.

Hi Guolin，
Sorry for my delay reply. I have solved the issue with changing the file's location.
Thanks for your reply!


where do I specify the ip address of my cassandra cluster?

I am trying to use this package from a databricks cloud spark cluster, and I am trying to write the data to a cassandra cluster on AWS.
Thank you

Configure spark.cassandra.connection.host as shown in the readme.

yes, I got that part.
How do I do that on databricks, the databricks env comes with a pre set sparkConf.
How do I set the "spark.cassandra.connection.host" in that case.

I honestly don't know. I'm not a databricks user.


Error cloning certificates repo

Hi!  I believe this is realted to #14 (which I wasn't able to re-open).
I am running v2.3.2, and I have tried everything under the sun to access the certificate repo to no avail.
(...)
+---------------------------------------------------------------------------------------+
|                               Summary for match 2.217.0                               |
+----------------------------------------+----------------------------------------------+
| type                                   | development                                  |
| api_key                                | ********                                     |
| readonly                               | false                                        |
| generate_apple_certs                   | true                                         |
| skip_provisioning_profiles             | false                                        |
| app_identifier                         | ["com.yyy"]                                  |
| team_id                                | **********                                   |
| storage_mode                           | git                                          |
| git_url                                | https://github.com/xxx/codesigning.git       |
| git_branch                             | master                                       |
| shallow_clone                          | false                                        |
| clone_branch_directly                  | false                                        |
| git_basic_authorization                | ********                                     |
| skip_google_cloud_account_confirmation | false                                        |
| s3_skip_encryption                     | false                                        |
| gitlab_host                            | https://gitlab.com                           |
| keychain_name                          | ios-build.keychain                           |
| keychain_password                      | ********                                     |
| force                                  | false                                        |
| force_for_new_devices                  | false                                        |
| include_mac_in_profiles                | false                                        |
| include_all_certificates               | false                                        |
| force_for_new_certificates             | false                                        |
| skip_confirmation                      | false                                        |
| safe_remove_certs                      | false                                        |
| skip_docs                              | false                                        |
| platform                               | ios                                          |
| derive_catalyst_app_identifier         | false                                        |
| fail_on_name_taken                     | false                                        |
| skip_certificate_matching              | false                                        |
| skip_set_partition_list                | false                                        |
| verbose                                | false                                        |
+----------------------------------------+----------------------------------------------+

[21:34:09]: Cloning remote git repo...
[21:34:09]: If cloning the repo takes too long, you can use the `clone_branch_directly` option in match.
Cloning into '/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/d2023[122](https://github.com/xxx/yyy/actions/runs/7316445164/job/19932034661#step:2:123)4-1635-iqahqj'...
fatal: unable to access 'https://github.com/xxx/codesigning.git/': The requested URL returned error: 400
[21:34:09]: Exit status: [128](https://github.com/xxx/yyy/actions/runs/7316445164/job/19932034661#step:2:129)
[21:34:09]: Error cloning certificates repo, please make sure you have read access to the repository you want to use
[21:34:09]: Run the following command manually to make sure you're properly authenticated:
[21:34:09]: $ git clone https://github.com/xxx/codesigning.git /var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/d20231224-[163](https://github.com/xxx/yyy/actions/runs/7316445164/job/19932034661#step:2:164)5-iqahqj -c http.extraheader='Authorization: Basic ***'

The relevant section of the Mach documentation simply says:

To generate your base64 key according to RFC 7617, run this:

echo -n your_github_username:your_personal_access_token | base64
You can find more information about GitHub basic authentication and personal token generation here: https://developer.github.com/v3/auth/#basic-authentication

The PAT I generated was fully scoped, I tried encoding it, and nothing.

My workflow:
name: iOS builder

on:
  workflow_dispatch:

jobs:
  build:
    runs-on: macos-latest

    steps:
      - name: Build iOS Action
        uses<EMAIL_ADDRESS>        with:
          project-path: ${{ vars.PROJECT_PATH }}
          workspace-path: ${{ vars.WORKSPACE_PATH }}
          export-method: development
          #configuration: "Debug", "Release"
          #scheme: MyScheme
          team-id: ${{ vars.TEAM_ID }}
          team-name: ${{ vars.TEAM_NAME }}
          #build-pods: true
          apple-key-id: ${{ secrets.APPLE_KEY_ID }}
          apple-key-issuer-id: ${{ secrets.APPLE_KEY_ISSUER_ID }}
          apple-key-content: ${{ secrets.APPLE_KEY_CONTENT }}
          match-git-url: ${{ vars.MATCH_GIT_URL }}
          match-git-basic-authorization: ${{ secrets.MATCH_GIT_BASIC_AUTH }}
          match-password: ${{ secrets.MATCH_PASSWORD }}
          match-build-type: development
          ios-app-id: com.yyy

What could I be missing?

I further looked into the source code:
https://github.com/sparkfabrik/ios-build-action/blob/be021d9f600b104d199a500db7ba479149a6b257/dist/index.js#L1662
Which doesn't seem to make sense, given the documentation already asks to base64  the access token:

match-git-basic-authorization
base64 key to the repo. Generate it with echo -n your_github_username:your_personal_access_token | base64

https://github.com/sparkfabrik/ios-build-action?tab=readme-ov-file#match-git-basic-authorization

The solution is to upgrade the version

make sure to check if the PAT has expired or if you have regenerated it you will need to reconvert to base 64


Global cycling network (gcn)

Checklist

[x] I'm reporting a feature request
[ ] I've verified that I'm running youtube-dl version 2021.12.17
[ ] I've searched the bugtracker for similar feature requests including closed ones

Description

I would love it if you could some way to support GCN.
It's not a massive site but has done really good videos for the cycling and mountain bike community. Being able to have those videos offline would be awesome.
Thanks for all the work you do.

It may be possible if you use the site support template, which requests essential information about proposed sites. You could edit the completed template into your original post, or close this in favour of a new issue using the template.

From the yt_dlp PR I see that this is a D+ site. I'll roll it into the relevant PR #32235.


Compatibility of configparser  with Python2 and Python3

Hello, I am working on migrating a project from Python 2 to Python 3, ensuring compatibility so that it works on both Python 2 and Python 3. One of the problems I encountered is that Python 2 requires import ConfigParser, while Python 3 requires import configparser.
The functionality of the new version of the your project futurize,  does not solve this problem.
On your project website (https://python-future.org/imports.html), it is stated:

Note that, as of v0.16.0, python-future no longer includes an alias for the configparser module because a full backport exists (see https://pypi.org/project/configparser/).

From this, I concluded that this issue is resolved by the tools of configparser's project.
After following your link to configparsers's project, I see:

This package is a backport of the refreshed and enhanced ConfigParser from later Python versions. To use the backport instead of the built-in version, simply import it explicitly as a backport:

`from backports import configparser`

To use the backport on Python 2 and the built-in version on Python 3, use the standard invocation:

`import configparser`

For detailed documentation consult the vanilla version at http://docs.python.org/3/library/configparser.html.

However, even after installing with pip install configparser, neither the code import configparser nor the code from backports import configparser works when running on Python 2.
Can you explain how to ensure configparser's compatibility  between Python 2 and Python 3 without futurize's tools?

Try just replacing every instance of the string ConfigParser in your code with configparser …

Try just replacing every instance of the string ConfigParser in your code with configparser …

Thanks for such a quick response!
Unfortunately, your recommendation didn't help me. :(
Maybe I'm doing something wrong? I uninstalled confiparser and install again:

pip install configparser

Defaulting to user installation because normal site-packages is not writeable
Collecting configparser
Downloading configparser-6.0.1-py3-none-any.whl (19 kB)
Installing collected packages: configparser
Successfully installed configparser-6.0.1

pip list

Package      Version
configparser 6.0.1
dbus-python  1.2.18
et-xmlfile   1.1.0
onboard      1.4.1
openpyxl     3.1.2
pip          22.1
pycairo      1.20.1
PyGObject    3.42.1
setuptools   59.6.0
six          1.16.0
urllib3      1.26.9
wheel        0.37.1

echo "import configparser" > file.py  - # configparser

python3 --version

Python 3.10.4

python3 file.py ; echo -e "\nresult: $?" # py3; echo $?

result: 0

python --version

Python 2.7.18

python file.py ; echo -e "\nresult: $?" # py2; echo $?

Traceback (most recent call last):
File "file.py", line 1, in
import configparser
ImportError: No module named configparser
result: 1

echo "import ConfigParser" > file.py #  ConfigParser

python file.py ; echo -e "\nresult: $?" #  py2; echo $?

result: 0

python3 file.py ; echo -e "\nresult: $?" # py3; echo $?

_Traceback (most recent call last):
File "/home/user/file.py", line 1, in
import ConfigParser
ModuleNotFoundError: No module named 'ConfigParser'
result: 1_
Do I need to pip install configparser in both Python2 and Python3?


Updates to image pathing

Summary

Image references break when viewed from external domains
Changes

Image paths will now resolve properly internally and externally

Closes:
Task list

[ ] For workflow changes, I have verified the Actions workflows function as expected.
[ ] For content changes, I have reviewed the style guide.

Hey, now the image paths will be broken in README.
Please revert this commit. The image paths were not broken at all before this PR.
Cf. https://github.com/klug2024/skills-introduction-to-github

Summary
Image references break when viewed from external domains
Changes
Image paths will now resolve properly internally and externally
Closes:
Task list

[ ]  For workflow changes, I have verified the Actions workflows function as expected.
[ ]  For content changes, I have reviewed the style guide.


provide command line settings to get informations about the Erlang installation

It would be useful to have a setting in rebar that would allows to retrieve some information from the erlang installation like the lib dir, version, arch, ....
Such informations could be use in a Makefile for some custom builds.

Hi, this issue was closed in an attempt to do quick basic filtering. All tickets prior to March 2017 were closed and will be reopened on a per-request basis, please give rebar3 a try and feel free to reopen if it's a pressing issue that is still unresolved.


Add links to send self placeholder

Since my initial version will not have user accounts to save one's spot in the game, a workaround could be to give people the option to email themselves a link to wherever they left off.

Put this link in a pop up that people are led to when they click "quit game".
(This allows me to not use cookies or local storage)


Extra Paragraph Tags in /themes/hugo-hero-theme/layouts/index.html

In /themes/hugo-hero-theme/layouts/index.html, there are extra paragraph tags in two locations that cause invalid HTML.
The first is on line 31:

{{ .Content }}

and the second is on line 64:

{{ .Content }}

Wrapping the {{ .Content }} in paragraph tags means that all the content a user enters in the content section of a markdown file will be wrapped in additional
 tags.
You can see the problem if you look at the source code for the Home page in the demo, where the "We Help Business Grow" and "Our Difference" sections are both wrapped in unnecessary paragraph tags.
The fix--until this is fixed in the theme--seems to be simply removing the extra paragraph tags on lines 31 and 64, then saving the index.html file in the /layouts folder to override the theme's version.

fixed


Mapbox example

Make activity with Mapbox map in sample app
Find the way how to restrict Mapbox token

I can do that, but I'm not sure what you mean by restrict Mapbox token…
Do you want to prevent users from editing the Mapbox style ?

Google maps key supports restriction, you can allow it to work only with specific app package and signing certificate.
https://developers.google.com/maps/api-key-best-practices#restrict_apikey
AFAIK, Mapbox doesn't support any of this.
So I suggest at least somehow encode it to make not available by automatic parsers.
For example we can split key string to 2 parts, encode them, put 1st in string val, 2nd in string.xml.
Then sample activity combine them and initiate mapbox

Oh ok.
But this is just a sample app, not destined to production.
Why not just hiding the token in a file which is in the .gitignore ? And say in the documentation that you need to place your own token to be able to test the app.
I feel like generating the token, encrypting and splitting it, is a lot for someone who just wants to test the sample.

I want token to be stored in project, otherwise nobody will launch mapbox sample actually.
That happened with google maps sample before.

I feel like generating the token, encrypting and splitting it, is a lot for someone who just wants to test the sample.

yes, definitely it is, thats why I want it to be already there, so someone just has to launch the activity.
basically it's a protection from robots parsing the GitHub looking for tokens.
but yeah, real person can open sample, modify the code and get the token.
I actually can do this with some apps using Mapbox, just grab the token in the apk.
so the token should be from the project without enabled billing in Mapbox account.
maybe no need encryption, but at least not store it as is, split or base64 maybe

Ok sure I get it.


IGNITE-21433 Ignore STOPPING indexes during Catalog validation

https://issues.apache.org/jira/browse/IGNITE-21433
Thank you for submitting the pull request.
To streamline the review process of the patch and ensure better code quality
we ask both an author and a reviewer to verify the following:
The Review Checklist

[ ] Formal criteria: TC status, codestyle, mandatory documentation. Also make sure to complete the following:
- There is a single JIRA ticket related to the pull request.
- The web-link to the pull request is attached to the JIRA ticket.
- The JIRA ticket has the Patch Available state.
- The description of the JIRA ticket explains WHAT was made, WHY and HOW.
- The pull request title is treated as the final commit message. The following pattern must be used: IGNITE-XXXX Change summary where XXXX - number of JIRA issue.
[ ] Design: new code conforms with the design principles of the components it is added to.
[ ] Patch quality: patch cannot be split into smaller pieces, its size must be reasonable.
[ ] Code quality: code is clean and readable, necessary developer documentation is added if needed.
[ ] Tests code quality: test set covers positive/negative scenarios, happy/edge cases. Tests are effective in terms of execution time and resources.

Notes

Apache Ignite Coding Guidelines

@korlov42 all test scenarios that you have provided are implemented as a part of ItDropIndexOneNodeTest. Do you mean I should write a non-integration test as well?

@sashapolo, yes, I think it's a good idea to write as many unit tests as possible, especially in case of regressions. Unit tests, unlike e2e, are inexpensive, so we can cover more use cases without significant increase in time.
For example of validation tests see children of org.apache.ignite.internal.catalog.commands.AbstractCommandValidationTest.


Breaks wilr/silverstripe-googlesitemaps stylesheets

This package adds Google Analytics codes into stylesheets generated by wilr/silverstripe-googlesitemaps, which shouldn't be the case.
Is there a way to "exclude" adding GA codes to controllers?

Hope this PR get accepted. Thank you.


Reservation Status Overhaul

2015-02-23
We'll be overhauling the Reservation status method and converting it into a database column. This will make model scopes much simpler (and resolve an issue introduced by #939), as well as multiple rake tasks.

Original
"Lost Reservation"/"Missing Equipment" should be another way to categorize reservations, in addition to Checked Out, Overdue, Future, etc.

Looking over this again, I think that using a Rake task to update statuses every night / eliminating most of our scopes would be awesome and we should try to get this done if we push out a v5.2.0.

Would having major functionality dependent on a rake task upset deployment/config? IE are there nontrivially popular server configurations that do not allow running of cron jobs/rake tasks?

I don't think so... if you're running your own VM / server then you will likely have cron by default, and I'd imagine all other cloud deployment services provide some form of cron (e.g. Heroku's scheduler, etc). @dgoerger any thoughts?

afaik cron service should be available on virtually all hosting services.. it would be an odd omission from a unix server to be sure. We do however need to be careful not to have too many intensive tasks running simultaneously in shared environments.
we already have cron tasks for emails, don't we? i.e., I thought we already had a hard dependency on crond?

That's a great point, we're already relying on cron for most of our e-mails so at this point I'd say it's fair to consider it a dependency.

Going to use approval_status to indicate whether or not a missed reservation email was sent. See #1031

Looking at the original issue, we might actually want to store an array of "statuses" for Reservations; alternatively, we might want to introduce a second column for "flags" that would basically be tags you could categorize reservations with. We want to make sure we don't conflate the general status of a reservation (e.g. "reserved", "checked out", "overdue", etc) with secondary characteristics (e.g. "archived", "equipment damaged", etc). I'm not sure the latter is necessary, or would be worth implementing, but it's something we should discuss.

Notes from discussion:

use a bitmask for other query flags (e.g. broken, lost, missed_email_sent)

this is bucket of a generalized boolean parameters, see here and here
some of these will be triggered using cron jobs, some will be triggered on check-in

convert approval_status to approved boolean
add overdue boolean

will be triggered using cron job

add status string that contains "lifecycle" statuses for reservations (requested --> reserved --> checked_out (or missed) --> returned (or archived))

will be modified when the reservation object is manipulated or via cron job (e.g. missed)

Also, once the status string is in one of the final states (missed, returned, or archived) we should probably prevent it from changing.

Also, add UI elements (i.e. checkboxes) to the check-in form to set those flags. Same goes for the archive JS popup.

Going to use an enum for the status column

Based on e-mails from our clients, it seems like they prefer to use the start date as the cutoff for missed reservations, not the due date. I'll try to validate that that's the case and, if so, we'll adjust our rake tasks accordingly.

Ok, confirmed: we should be considering a reservation missed once its start_date has passed. If it's simple enough we could merge #1202 into here, while we're already messing with the rake task (but don't forget tests!).
We should also make sure that our upcoming reservation e-mail makes this behavior clear (although, admittedly, that's more complex once you factor in #1202, so maybe it's better to leave them separate).

all of the status changes (status column, overdue boolean, flags bitmask) are implemented, including related rake tasks, in the process of updating everything else

(also, the status enum works like this)

everything is now functional; need to update scopes and remove approval_status still

wait, to clarify, missed reservations should still be marked missed after the due date passes for this issue, right?

Nope, we're going to switch back to considering them missed after the start passes. This will preserve the current behavior of v3.4.x and we can try to make it configurable if we implement #1202.

Something that came up today while I was glancing through our e-mails to respond to client feedback: we currently have a _reserved partial for the reservation status update, but the content is specifically for request approval (so if it's not actually a request that would be confusing). We should clear that up here (rename partial and/or have extra status handling code in the user mailer).

opened a new issue for some of the new flags, #1216

we also need to write status validations to ensure that the status is consistent with the other reservation attributes


Web App Appkey Issues

Description of the bug

Bug with Resource level Open With:

For a resource with an appkey, web apps with appkey are getting listed even when the resource appkey doesn't match with the web app appkey.
For a resource that has no appkey, web apps with appkey are getting listed.

Bug with Aggregation level Open With:

For a resource with an appkey, aggregation level web apps are not getting listed unless the resource appkey matches with the appkey of one of the web apps.
For an aggregation with appkey, web apps with appkey are getting listed even when the web appkey don't match with the aggregation appkey. This happens if the resource has an appkey.
A web app configured to work with a given content type and file extension, the web app getting listed at the aggregation level only matching with file extension and ignores file content type. For example, a web app configured to work with 'zip' file and single file content type, the web app getting listed on for a zip file that is not part of the single file content.

Steps to reproduce the bug:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior

At the resource level, web apps with appkey should not be listed unless the resource appkey matches with the web app appkey. If the resource doesn't have an appkey, then all web apps matching the resource type and with no appkey are listed.

At the aggregation level, web apps with appkey should not be listed unless the aggregation appkey matches with the web app key. If the aggregation doesn't have an appkey, then all web apps matching the aggregation type and with no appkey are listed.

At file level, web apps with matching file extension should be listed. If the file is part of an aggregation, the web app also needs to match the aggregation type unless there is no aggregation type constraint for the web app.

For a web app to be available at resource level, the resource type settings of the web app must match. In addition, if the web app has an appkey, then resource must have a matching appkey.

For a web app to be available at the aggregation level:

If the web app has content type restriction, then the aggregation content type must match.
If the web app has an appkey, then the aggregation appkey must match.
If the aggregation is a file-based aggregation and the web app has file extension(s) constraints, then aggregation file extension must match.
If the aggregation is a folder-based aggregation, then a web app with file extension restriction will not be available at the folder level. However, the web app will be available at the file level of the folder-based aggregation provided the file extension matches.

For a web app to be available at the file level (file is not part of an aggregation):

Web app must not have any content type restrictions
If the web app has file extension restriction, then the file extension also must match.

For a web app to be available at the file level (file is part of an aggregation):

If the web app has content type restrictions, then the file content type must match with the web app content type restrictions.
If the web app has file extension restriction, then the file extension also must match.

The resource appkey should not have any role on listing of web apps at the aggregation or file level.

Additional information
Add any other context about the problem here such as screenshots, software versions, and browser information.

@dtarb and @martinseul Would like to get your inputs on the Expected behavior I have documented (above) in this issue.

@pkdash do you know how many resources actually use this functionality and do you have some examples?

@martinseul I don't think there is a way to find out how many resources use web apps. If owner of a web app configured the app to work with composite resource that means all composite resources will be using that web app. Similarly, if a web app is configured to work with any netcdf aggregation, then all composite resource containing at least one netcdf aggregation will be using that web app.
If we deploy this work to beta, I should be able to setup some example web apps and test resources to test the web app open with functionality.

@pkdash I have checked the expected behavior you list and agree with it.  Nice work documenting this and sorting it out. I also looked up some of our old design work and link that here for the record

Design Rules for Open With

Based on my reading I think that the following two behaviors introduce a new restriction compared to the original design rules for open with.

At the resource level, web apps with appkey should not be listed unless the resource appkey matches with the web app appkey. If the resource doesn't have an appkey, then all web apps matching the resource type and with no appkey are listed.

At the aggregation level, web apps with appkey should not be listed unless the aggregation appkey matches with the web app key. If the aggregation doesn't have an appkey, then all web apps matching the aggregation type and with no appkey are listed.

However I think that this is a good new restriction.  It means that when a web app connector creator sets an appkey that that web app will only act on resources with that appkey. I see this as a desirable behavior (nice additional feature) as the appkey functionality is to specifically match resources or aggregations, with apps set to act on them.  The documentation will need to be modified to explain this.


re: recording redirects

Some http urls are redirected.
For instance, http://arctos.database.museum/media/10581707?open redirects to https://web.corral.tacc.utexas.edu/UAF/uam_ento/2018_05_22/UAM100271836.jpg via a http code 303 see also. See example below.
In the current provenance log only the original url is recorded, but not the redirected. Suggest to record the redirected url to more precisely trace the origin of the request.
$ curl --verbose -L "http://arctos.database.museum/media/10581707?open"
*   Trying <IP_ADDRESS>...
* TCP_NODELAY set
* Connected to arctos.database.museum (<IP_ADDRESS>) port 80 (#0)
> GET /media/10581707?open HTTP/1.1
> Host: arctos.database.museum
> User-Agent: curl/7.58.0
> Accept: */*
>
< HTTP/1.1 303 See Other
< Location: https://web.corral.tacc.utexas.edu/UAF/uam_ento/2018_05_22/UAM100271836.jpg
< Content-Type: text/html;charset=UTF-8
< Content-Length: 6292
< Date: Tue, 08 Sep 2020 14:11:59 GMT
< Server: lighttpd/1.4.55
<
* Ignoring the response-body
* Connection #0 to host arctos.database.museum left intact
* Issue another request to this URL: 'https://web.corral.tacc.utexas.edu/UAF/uam_ento/2018_05_22/UAM100271836.jpg'
*   Trying <IP_ADDRESS>...
* TCP_NODELAY set
* Connected to web.corral.tacc.utexas.edu (<IP_ADDRESS>) port 443 (#1)
> GET /UAF/uam_ento/2018_05_22/UAM100271836.jpg HTTP/1.1
> Host: web.corral.tacc.utexas.edu
> User-Agent: curl/7.58.0
> Accept: */*
>
< HTTP/1.1 200 OK
< Content-Type: image/jpeg
< Accept-Ranges: bytes
< ETag: "1426913146"
< Last-Modified: Tue, 22 May 2018 19:13:16 GMT
< Strict-Transport-Security: max-age=15768000;
< Content-Length: 699053
< Date: Tue, 08 Sep 2020 13:25:23 GMT
< Server: lighttpd/1.4.55

@dustymc - any specific reason why Arctos is using a 303 "see also" redirect vs a 302 "temporary redirect" ? It seems that 302 are more commonly supported by tools.
e.g., http://arctos.database.museum/media/10581707?open redirects to https://web.corral.tacc.utexas.edu/UAF/uam_ento/2018_05_22/UAM100271836.jpg via 303.

No reason, I'll change to 302.

@dustymc Wow! that was fast - thanks!
$ curl -L -I "http://arctos.database.museum/media/10581707?open"
HTTP/1.1 302 Found
Set-Cookie: cfid=6340ca99-30c5-4138-9ea6-3f3458df06a7;Path=/;Expires=Wed, 30-Sep-2020 01:00:12 UTC;HTTPOnly
Set-Cookie: cftoken=0;Path=/;Expires=Wed, 30-Sep-2020 01:00:12 UTC;HTTPOnly
Set-Cookie: JSESSIONID=2057B4EF5B59D855D524E8C68E09AB14; Path=/; HttpOnly
Location: https://web.corral.tacc.utexas.edu/UAF/uam_ento/2018_05_22/UAM100271836.jpg
Content-Type: text/html;charset=UTF-8
Content-Length: 6292
Date: Wed, 09 Sep 2020 23:22:08 GMT
Server: lighttpd/1.4.55

HTTP/1.1 200 OK
Content-Type: image/jpeg
Accept-Ranges: bytes
ETag: "1426913146"
Last-Modified: Tue, 22 May 2018 19:13:16 GMT
Strict-Transport-Security: max-age=15768000;
Content-Length: 699053
Date: Wed, 09 Sep 2020 22:35:26 GMT
Server: lighttpd/1.4.55

Closing stale issue.


BASH Limits Documentation

From issue 18 and the 2023-01-10 engineering meeting, this pull request introduces documentation on the BASH limitations we ratified during that meeting.
This is a copy/pasta of the version of this document from Joplin that was ratified in the engineering meeting, with the following changes:

Title changed
Index added
Linked to document from tooling root README.md
Added Process section explaining how this document is supposed to be used pursuant to the outcome of the meeting

See the document itself for more info.

I think it is important to reiterate that this document was ratified by the engineering team as indicators or guidelines, not as requirements.

I think it is important to reiterate that this document was ratified by the engineering team as indicators or guidelines, not as requirements. For example, my check engine light being on indicates a problem, but it does not mean there is something wrong with my car for certain.

It wouldn't be the worst to add a forward section to explain why this was written, for who, and how it should be used.


chore(eng): improve rolling

This PR introduces the submodule for upstream dependency. The intent here is to help us ensure that we have a "stable" state of the docs from which our API was generated from, etc.
Additionally, it introduces a build task helper that encapsulates a bunch of common commands (like downloading the driver, generating the API, etc.) which are common during the dev process.

I'm worried about the submodule, because in theory we already have a relation between the driver (commitinfo file) and the upstream repository. I would maybe add a bot like this to ensure the generated code is up2date which should fit for your needs:
  verify_generated_files:
    name: Verify Generated Files
    runs-on: ubuntu-20.04
    steps:
      - uses: actions/checkout@v2
      - name: Setup .NET Core
        uses: actions/setup-dotnet@v1
        with:
          dotnet-version: 5.0.100
      - name: Install dotnet-format
        run: dotnet tool install --global --version 5.0.211103 dotnet-format
      - name: Download Drivers
        run: dotnet run -p ./src/tools/Playwright.Tooling/Playwright.Tooling.csproj -- download-drivers --basepath .
      - name: Read commit SHA
        id: read-upstream-commit-sha
        run: echo "::set-output name=hash::$(cat src/Playwright/.drivers/linux/package/commitinfo)"
      - uses: actions/checkout@v2
        with:
          repository: 'microsoft/playwright'
          ref: ${{ steps.read-upstream-commit-sha.outputs.hash }}
          path: 'playwright'
      - name: Generate
        run: |
          node playwright/utils/doclint/generateDotnetApi.js src/Playwright
          rm -rf playwright
      - name: Verify generated API is up to date
        run: git diff --exit-code

Then instead of maintaining an upstream revision number (git submodule) and the driver version you only need to take care about a driver version like its done in Java and Python and they are always in sync since the bot needs to be green.

I've added the integrity check into #1620 but it uses the submodule.


simple-java-mail moved to GitHub

In light of the closing-down of Google Code, I moved simple-java-mail over to GitHub.
https://github.com/bbottema/simple-java-mail
I'll gladly service pull-requests.

I included your changes for SLF4J. If you have anything else, let's combine them there! Any help is welcome.


[tool_crash] RPCError

Command
flutter run -t lib/main.dev.dart -d chrome --dart-define=SUPABASE_URL=<cut> --dart-define=SUPABASE_ANON_KEY=<cut>

Steps to Reproduce

Upgrade to latest flutter SDK.
Just from a regular development workflow

Logs
RPCError
#0      new _OutstandingRequest (package:vm_service/src/vm_service.dart:1928:45)
#1      VmService._call (package:vm_service/src/vm_service.dart:2493:21)
#2      VmService.callServiceExtension (package:vm_service/src/vm_service.dart:2464:14)
#3      FlutterVmService._checkedCallServiceExtension (package:flutter_tools/src/vmservice.dart:959:28)
#4      FlutterVmService.invokeFlutterExtensionRpcRaw (package:flutter_tools/src/vmservice.dart:978:49)
#5      FlutterVmService._flutterToggle (package:flutter_tools/src/vmservice.dart:756:41)
#6      FlutterVmService.flutterToggleProfileWidgetBuilds (package:flutter_tools/src/vmservice.dart:791:9)
#7      ResidentHandlers.debugToggleProfileWidgetBuilds (package:flutter_tools/src/resident_runner.dart:896:33)
<asynchronous suspension>
#8      TerminalHandler.processTerminalInput (package:flutter_tools/src/resident_runner.dart:1831:7)
<asynchronous suspension>

[✓] Flutter (Channel stable, 3.13.0, on Arch Linux 6.4.11-arch2-1, locale en_GB.UTF-8)
    • Flutter version 3.13.0 on channel stable at /usr/local/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision efbf63d9c6 (7 days ago), 2023-08-15 21:05:06 -0500
    • Engine revision 1ac611c64e
    • Dart version 3.1.0
    • DevTools version 2.25.0

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.2)
    • Android SDK at /home/aiden/Android/Sdk
    • Platform android-33, build-tools 33.0.2
    • Java binary at: /opt/android-studio/jbr/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b829.9-10027231)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • CHROME_EXECUTABLE = /usr/bin/chromium

[✓] Linux toolchain - develop for Linux desktop
    • clang version 15.0.7
    • cmake version 3.27.1
    • ninja version 1.11.1
    • pkg-config version 1.8.1

[✓] Android Studio (version 2022.3)
    • Android Studio at /opt/android-studio
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b829.9-10027231)

[✓] Connected device (2 available)
    • Linux (desktop) • linux  • linux-x64      • Arch Linux 6.4.11-arch2-1
    • Chrome (web)    • chrome • web-javascript • Chromium 116.0.5845.96 Arch Linux

[✓] Network resources
    • All expected network resources are available.

• No issues found!

Flutter Application Metadata
Type: app
Version: 1.0.0+1
Material: true
Android X: false
Module: false
Plugin: false
Android package: null
iOS bundle identifier: null
Creation channel: stable
Creation framework version: f468f3366c26a5092eb964a230ce7892fda8f2f8
Plugins
app_links-3.4.3
path_provider-2.1.0
path_provider_android-2.1.0
path_provider_foundation-2.3.0
path_provider_linux-2.2.0
path_provider_windows-2.2.0
shared_preferences-2.2.0
shared_preferences_android-2.2.0
shared_preferences_foundation-2.3.3
shared_preferences_linux-2.3.0
shared_preferences_web-2.2.0
shared_preferences_windows-2.3.0
sign_in_with_apple-5.0.0
sign_in_with_apple_web-1.0.1
url_launcher-6.1.12
url_launcher_android-6.0.38
url_launcher_ios-6.1.4
url_launcher_linux-3.0.5
url_launcher_macos-3.0.6
url_launcher_web-2.0.18
url_launcher_windows-3.0.7
webview_flutter-4.2.2
webview_flutter_android-3.9.3
webview_flutter_wkwebview-3.7.3

Closing this as a duplicate of https://github.com/flutter/flutter/issues/102994


MultiSubnetFailover doesn't seem to work in 5.10.0

Please check the FAQ (frequently-asked questions) first. If you have other questions or something to report, please address the following (skipping questions might delay our responses):
PHP version  8.1.7
PHP SQLSRV or PDO_SQLSRV version  php-sqlsrv-5.10.0-1.el8.remi.8.1.x86_64
Microsoft ODBC Driver version  msodbcsql17-<IP_ADDRESS>-1.x86_64
SQL Server version  (Unknown)
Client operating system  Rocky Linux 8.5 Docker image
Table schema  (Unknown)
Problem description
The MultiSubnetFailover option doesn't seem to do anything in version 5.10.0.
When connecting to a server with two IP addresses (one of which is offline) and MultiSubnetFailover is set, we sometimes get this error: Fatal error: Uncaught PDOException: SQLSTATE[HYT00]: [Microsoft][ODBC Driver 17 for SQL Server]Login timeout expired in /app/public/test.php
Expected behavior and actual behavior
I would expect that this extension attempts to connect to all IPs in parallel when the option is enabled, like it did in version 5.9.0 on PHP 8.0.
Instead, if actually seems to only connect to one of the IPs, which can result in the PHP code erroring out if that first IP times out.
Repro code or steps to reproduce
We ran the code below, both with and without the MultiSubnetFailover=true; option on two separate Docker images:

One with PHP 8.1 and v5.10.0 of this extension
One with PHP 8.0 and v5.9.0 of this extension

<?php

$pdo = new \PDO(
    'sqlsrv:server=somewhere.example.com;database=REDACTED;MultiSubnetFailover=True;app=some-test',
    'REDACTED',
    'REDACTED'
);

$pdo->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION );

$statement = $pdo->prepare('SELECT 1');
$statement->execute();
print_r($statement->fetchAll());

somewhere.example.com is a host that resolves to two different IP addresses, one of which is offline and therefore times out.  Both IPs were checked with netcat to confirm that one always accepts connections and the other always times out.
When running those four scenarios, only PHP 8.0 with MultiSubnetFailover=true; set works 100% of the time.  All others only work occasionally.
We also tried running the four combinations above with strace.  Here's a diff of two traces - the left shows PHP 8.0 with MultiSubnetFailover=true; and the right shows PHP 8.1 also with MultiSubnetFailover=true;:

Note how the left side shows an additional connection being made.  The right side also looks virtually identical to removing the MultiSubnetFailover option on both 8.0 and 8.1, suggesting that the MultiSubnetFailover option does nothing on 8.1.

Ignoring the SOCK_DGRAM stuff (which can be explained later) what I see is OK functionality with the SOCK_STREAM and connect having EINPROGRESS  and the use of  poll with multiple file descriptor fd arguments.
Also if you set up odbcinst.ini with these options the SQLDriverConnectW looks ok
[ODBC]
Trace=Yes
TraceFile=/tmp/odbc-trace.QUJHnJS0bQ.txt

Upon further investigation, we found that MultiSubnetFailover works just fine if we change it from True (capitalized) to either true (lowercase) or 1.
I believe this regression may have been caused by this change to core_str_zval_is_true which no longer uses strnicmp.
The issue description and title have been updated accordingly.


Adding pages and posts

So I generated a site, added some extra buttons, extra content, ...
Then I do hugo server -D and all extra md files are processed properly (by providing an extra .html file in the theme templates). However if I run hugo without server and copy contents from public folder to my ftp, all the extra pages are not rendered.
Am I missing something?

So this one can be closed down, it was a hugo issue, with md pages still on draft = true ... hard to find out it seems


[TF 2.0 API Docs] tf.zeros_like

Please make sure that this is a documentation issue. As per our GitHub Policy, we only address code/doc bugs, performance issues, feature requests and build/installation issues on GitHub. tag:doc_template
System information

TensorFlow version:  2.0
Doc Link: https://www.tensorflow.org/versions/r2.0/api_docs/python/tf/zeros_like

Describe the documentation issue

Raises listed and defined
No raises listed

We welcome contributions by users. Will you be able to update submit a PR (use the doc style guide) to fix the doc Issue?

@mandroid6 @jvishnuvardhan I want to work on this Issue. can you please help me get started with updating docs. Thanks

@ParthS007 yes sure. Just find the relevant py file and update the doc string in the zeros_like function.
Also can you take up other similar issues which require docstring update, it would be helpful to have a single PR for them!

I agree with @mandroid6. I would be happy to see a single (mostly two) PR(s) to close these 8 similar issues. Thanks @ParthS007 .

okay @mandroid6 @jvishnuvardhan I am going through the Issues and will ask here if I face any difficulty.
Thanks for the responses. :+1:

@mandroid6 Do I have to make PR in this repo: https://github.com/tensorflow/docs

@ParthS007 Create a PR in TF/TF repo here. Thanks!

okay @jvishnuvardhan, Will send a PR soon :+1:

@mandroid6 @jvishnuvardhan What I have to update exactly?
I have found the functions zeros_like is defined here - https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/ops/array_ops.py#L1876
What more should I add in the documentation?
Thanks for the help. :+1:

Update the docstring of the functions you need to improve the documentation
of.
On Thu, Mar 14, 2019 at 3:56 AM, Parth Shandilya<EMAIL_ADDRESS>wrote:

@mandroid6 https://github.com/mandroid6 @jvishnuvardhan
https://github.com/jvishnuvardhan What I have to update exactly?
I have found the functions zeros_like is defined here -
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/ops/array_ops.py#L1876
What more should I add in the documentation?
Thanks for the help. 👍
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/tensorflow/tensorflow/issues/26539#issuecomment-472629126,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ASrYl1Xrjog_vmY1Pb67oVkJdfAJs2ubks5vWXsBgaJpZM4bnP4T
.

zeros_like does not raise any errors directly, and we do not list transitive raises


could not open certificate file "/root/.postgresql/postgresql.crt": Permission denied after upgrade

After upgrading the linkding server to the latest version, the server returned code 500.

Docker-compose file:
version: '3.8'

services:
  linkding:
    container_name: linkding
    image: sissbruecker/linkding:latest
    ports:
      - "<IP_ADDRESS>:####:9090"
    volumes:
      - "/root/****/linkding:/etc/linkding/data"
    environment:
      LD_DB_ENGINE: postgres
      LD_DB_DATABASE: linkding
      LD_DB_USER: linkding
      LD_DB_PASSWORD: '********'
      LD_DB_HOST: '********.aws.neon.tech'
      LD_DB_PORT: '5432'
      LD_DB_OPTIONS: '{"options": "endpoint=********""}'
    restart: unless-stopped
    network_mode: bridge

Logs:
linkding  | 2024-03-20 07:58:12,183 INFO Secret key file already exists
linkding  | Operations to perform:
linkding  |   Apply all migrations: admin, auth, authtoken, background_task, bookmarks, contenttypes, sessions
linkding  | Running migrations:
linkding  |   No migrations to apply.

...

linkding  | 2024-03-20 08:01:05,822 ERROR Internal Server Error: /login/
linkding  | Traceback (most recent call last):
linkding  |   File "/opt/venv/lib/python3.11/site-packages/django/db/backends/base/base.py", line 275, in ensure_connection
linkding  |     self.connect()
linkding  |   File "/opt/venv/lib/python3.11/site-packages/django/utils/asyncio.py", line 26, in inner
linkding  |     return func(*args, **kwargs)
linkding  |            ^^^^^^^^^^^^^^^^^^^^^
linkding  |   File "/opt/venv/lib/python3.11/site-packages/django/db/backends/base/base.py", line 256, in connect
linkding  |     self.connection = self.get_new_connection(conn_params)
linkding  |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
linkding  |   File "/opt/venv/lib/python3.11/site-packages/django/utils/asyncio.py", line 26, in inner
linkding  |     return func(*args, **kwargs)
linkding  |            ^^^^^^^^^^^^^^^^^^^^^
linkding  |   File "/opt/venv/lib/python3.11/site-packages/django/db/backends/postgresql/base.py", line 277, in get_new_connection
linkding  |     connection = self.Database.connect(**conn_params)
linkding  |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
linkding  |   File "/opt/venv/lib/python3.11/site-packages/psycopg2/__init__.py", line 122, in connect
linkding  |     conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
linkding  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
linkding  | psycopg2.OperationalError: connection to server at "********.aws.neon.tech" (********), port 5432 failed: could not open certificate file "/root/.postgresql/postgresql.crt": Permission denied
linkding  | connection to server at "********.aws.neon.tech" (********), port 5432 failed: ERROR:  connection is insecure (try using `sslmode=require`)
linkding  |
linkding  |
linkding  | The above exception was the direct cause of the following exception:
linkding  |
linkding  | Traceback (most recent call last):
linkding  |   File "/opt/venv/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner
linkding  |     response = get_response(request)
linkding  |                ^^^^^^^^^^^^^^^^^^^^^
linkding  |   File "/opt/venv/lib/python3.11/site-packages/django/core/handlers/base.py", line 220, in _get_response
linkding  |     response = response.render()
linkding  |                ^^^^^^^^^^^^^^^^^
linkding  |   File "/opt/venv/lib/python3.11/site-packages/django/template/response.py", line 114, in render
linkding  |     self.content = self.rendered_content
linkding  |                    ^^^^^^^^^^^^^^^^^^^^^
linkding  |   File "/opt/venv/lib/python3.11/site-packages/django/template/response.py", line 92, in rendered_content
linkding  |     return template.render(context, self._request)
linkding  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
linkding  |   File "/opt/venv/lib/python3.11/site-packages/django/template/backends/django.py", line 61, in render
linkding  |     return self.template.render(context)
linkding  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
linkding  |   File "/opt/venv/lib/python3.11/site-packages/django/template/base.py", line 169, in render
linkding  |     with context.bind_template(self):
linkding  |   File "/usr/local/lib/python3.11/contextlib.py", line 137, in __enter__
linkding  |     return next(self.gen)
linkding  |            ^^^^^^^^^^^^^^
linkding  |   File "/opt/venv/lib/python3.11/site-packages/django/template/context.py", line 254, in bind_template
linkding  |     context = processor(self.request)
linkding  |               ^^^^^^^^^^^^^^^^^^^^^^^
linkding  |   File "/etc/linkding/bookmarks/context_processors.py", line 27, in public_shares
linkding  |     has_public_shares = query_set.count() > 0
linkding  |                         ^^^^^^^^^^^^^^^^^
linkding  |   File "/opt/venv/lib/python3.11/site-packages/django/db/models/query.py", line 620, in count
linkding  |     return self.query.get_count(using=self.db)
linkding  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
linkding  |   File "/opt/venv/lib/python3.11/site-packages/django/db/models/sql/query.py", line 629, in get_count
linkding  |     return obj.get_aggregation(using, {"__count": Count("*")})["__count"]
linkding  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
linkding  |   File "/opt/venv/lib/python3.11/site-packages/django/db/models/sql/query.py", line 615, in get_aggregation
linkding  |     result = compiler.execute_sql(SINGLE)
linkding  |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
linkding  |   File "/opt/venv/lib/python3.11/site-packages/django/db/models/sql/compiler.py", line 1560, in execute_sql
linkding  |     cursor = self.connection.cursor()
linkding  |              ^^^^^^^^^^^^^^^^^^^^^^^^
linkding  |   File "/opt/venv/lib/python3.11/site-packages/django/utils/asyncio.py", line 26, in inner
linkding  |     return func(*args, **kwargs)
linkding  |            ^^^^^^^^^^^^^^^^^^^^^
linkding  |   File "/opt/venv/lib/python3.11/site-packages/django/db/backends/base/base.py", line 316, in cursor
linkding  |     return self._cursor()
linkding  |            ^^^^^^^^^^^^^^
linkding  |   File "/opt/venv/lib/python3.11/site-packages/django/db/backends/base/base.py", line 292, in _cursor
linkding  |     self.ensure_connection()
linkding  |   File "/opt/venv/lib/python3.11/site-packages/django/utils/asyncio.py", line 26, in inner
linkding  |     return func(*args, **kwargs)
linkding  |            ^^^^^^^^^^^^^^^^^^^^^
linkding  |   File "/opt/venv/lib/python3.11/site-packages/django/db/backends/base/base.py", line 274, in ensure_connection
linkding  |     with self.wrap_database_errors:
linkding  |   File "/opt/venv/lib/python3.11/site-packages/django/db/utils.py", line 91, in __exit__
linkding  |     raise dj_exc_value.with_traceback(traceback) from exc_value
linkding  |   File "/opt/venv/lib/python3.11/site-packages/django/db/backends/base/base.py", line 275, in ensure_connection
linkding  |     self.connect()
linkding  |   File "/opt/venv/lib/python3.11/site-packages/django/utils/asyncio.py", line 26, in inner
linkding  |     return func(*args, **kwargs)
linkding  |            ^^^^^^^^^^^^^^^^^^^^^
linkding  |   File "/opt/venv/lib/python3.11/site-packages/django/db/backends/base/base.py", line 256, in connect
linkding  |     self.connection = self.get_new_connection(conn_params)
linkding  |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
linkding  |   File "/opt/venv/lib/python3.11/site-packages/django/utils/asyncio.py", line 26, in inner
linkding  |     return func(*args, **kwargs)
linkding  |            ^^^^^^^^^^^^^^^^^^^^^
linkding  |   File "/opt/venv/lib/python3.11/site-packages/django/db/backends/postgresql/base.py", line 277, in get_new_connection
linkding  |     connection = self.Database.connect(**conn_params)
linkding  |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
linkding  |   File "/opt/venv/lib/python3.11/site-packages/psycopg2/__init__.py", line 122, in connect
linkding  |     conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
linkding  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
linkding  | django.db.utils.OperationalError: connection to server at "******.aws.neon.tech" (******), port 5432 failed: could not open certificate file "/root/.postgresql/postgresql.crt": Permission denied
linkding  | connection to server at "******.aws.neon.tech" (******), port 5432 failed: ERROR:  connection is insecure (try using `sslmode=require`)

Replacing with LD_DB_OPTIONS: '{"options": "endpoint=********", "sslmode": "require"}' also did not work.

The config does work on image sissbruecker/linkding:1.24.2.

You could give this a try: https://stackoverflow.com/a/75929838/11368281. Looks like it should be added under environmentwith docker-compose.

@sissbruecker it worked! 😄

Let’s keep this open as a known issue for now. Maybe this should be added to the docker image, or maybe someone who knows Linux can figure out what the actual problem is.

had the same issue, this fixed it for me.

You could give this a try: https://stackoverflow.com/a/75929838/11368281. Looks like it should be added under environmentwith docker-compose.

I just added as env to docker compose
PGSSLCERT=/tmp/postgresql.crt

It looks like the user www-data does not have permission to access /root/.postgresql/postgresql.crt.

It looks like the user www-data does not have permission to access /root/.postgresql/postgresql.crt.

Have you solved it?

It looks like the user www-data does not have permission to access /root/.postgresql/postgresql.crt.

Have you solved it?

just add PGSSLCERT=/tmp/postgresql.crt in your docker compose file


Multiple Samples from same timepoint

I have longitudinal samples but at some timepoints, there are multiple samples from the same timepoints. Are they any additional considerations to be made in this situation?

Interesting question. CALDER assumes that samples are strictly ordered and applies longitudinal constraints derived from the ordering, so you will have to order concurrent samples somehow to construct valid input. This ordering will affect the constraints, so you may get different solutions (or different numbers of solution, or no solution) with different orderings.
Let me know how well this works out for your data -- there is probably a better way to extend the CALDER model to handle situations like this, but it's not a problem I've thought about before.

I have been able to run it with success thus far - I try to order samples from same timepoint by how genomically similar they are to each other using (guided by treeomics).  For some of the patients I have multiregion at some timepoints so thinking maybe better to run without longitudinal constraints for those? Calder still runs successfully for those but not sure what effect the longitudinal constraints would have in that situation.

Just as a follow up to this - I notice that when I adjust the order when running with the -N flag it still will give me different trees based on the order even though longitudinal constraints have been removed. Could you explain this?

If there are many co-optimal solutions and you are not enumerating all of them, reordering the samples may change the order that the solver returns solutions and thus the specific set of solutions that are returned. Could this be the case? (i.e., if you increase -s do you see more solutions in common between the different orderings)


Introduced throttled and retry to Octokit

Prevent failure from hitting rate limit when refreshing checks too frequent from too many runs in parallel.
Reference: https://github.com/CatChen/eslint-suggestion-action/blob/b9a141c87734124edeff4110fb21878882320e5b/src/index.ts#L122-L166

The issue wasn't the lack of throttling. The issue is the lack of coordination from multiple parallel runs. Each run is backing away per instruction but it's still not enough.

Concurrency is a better approach: https://docs.github.com/en/actions/using-jobs/using-concurrency


Keymaps overriding plugin key handlers with multiple modes

I'm having trouble overriding a default keymap in a plugin map, e.g.:
  {
    "echasnovski/mini.animate", -- any plugin
    keys = {
      {
        "<C-h>",
        function()
          print("foo")
        end,
        mode = { "n", "i", "c" },
      },
    }
  }

The insert-mode handler will work, but the normal-mode handler will not. I think what's going on is:
The default key maps try to avoid overriding lazy key handlers, but it looks for an exact match of the mode specifier, so e.g. a normal-mode mapping of <C-h> (as in the LazyVim defaults) will look for n exactly (not nic), and end up mapping over the handler.
https://github.com/LazyVim/LazyVim/blob/a38bf3001dc5576110cb0bbcacc262526ddf7bb9/lua/lazyvim/config/keymaps.lua#L8
I guess ideally lazy.nvim's API would support per-mode querying; working around it in keymaps.lua might be clunky (e.g. iterating the table looking for matches).

If you want to override a keymap, then yes, you need to make sure you're overriding the exact same mode definition.
This is not a bug. This is by design.

Devil's advocate - adding another mode to your key mappings feels like a no-op, and having them silently becoming overridden by an upstream curated list (not even for the mode you added!) is "spooky action at a distance". It may be pragmatic, but I wouldn't call it a design choice.
A small gripe in an otherwise very useful framework though, and I really appreciate you sharing it.


Allow to use __dlpack__ protocol to dispatch in __array_function__

Alternative to #6413
in HIP __cuda_array_interface__ is not well defined, so it causes some functionality that relies on it such as polynomial API to fail where it shouldn't. Since __dlpack__ is a well-defined protocol and will likely replace __cuda_array_interface__ for data exchange. We use it solve this shortcoming in HIP.
This PR fixes
cupy_tests/lib_tests/test_polynomial.py::TestPoly1dPolynomialArithmetic::test_poly1d_arithmetic[_param_8_{func=<lambda>, type_l='ndarray', type_r='poly1d'}]
cupy_tests/lib_tests/test_polynomial.py::TestPoly1dPolynomialArithmetic::test_poly1d_arithmetic[_param_20_{func=<lambda>, type_l='ndarray', type_r='poly1d'}]
cupy_tests/lib_tests/test_polynomial.py::TestPoly1dPolynomialArithmetic::test_poly1d_arithmetic[_param_32_{func=<lambda>, type_l='ndarray', type_r='poly1d'}]

As a side effect we can do stuff like
>>> import torch
>>> import cupy
>>> a=torch.arange(3).cuda()
>>> cupy.add(cupy.array([4, 5, 6]), a)
array([4, 6, 8])

And if trying a CPU array
>>> import torch
>>> import cupy
>>> a=torch.arange(3)
>>> cupy.add(cupy.array([4, 5, 6]), a)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "cupy/_core/_kernel.pyx", line 1151, in cupy._core._kernel.ufunc.__call__
    arg_list = _preprocess_args(dev_id, args, False)
  File "cupy/_core/_kernel.pyx", line 126, in cupy._core._kernel._preprocess_args
    s = from_dlpack(arg)
  File "cupy/_core/dlpack.pyx", line 393, in cupy._core.dlpack.from_dlpack
    raise ValueError('CPU arrays cannot be imported to CuPy.')
ValueError: CPU arrays cannot be imported to CuPy.

/test jenkins

This will allow things like cupy.sum(torch_tensor) and wondering this is against the DLPack design that requires users to explicitly use from_dlpack.

/test jenkins

changed the pr to not use dlpack and add a cupy specific private protocol to achieve the same.

/test mini


add a multiple language support system.

I can add a multilingual system to your website that can turn all the text on the page to user's preferred/selected language.
It will make the website more user friendly and will attract more users.
please assign me this task!

Sorry we don't want that at the moment


docs(README): add Query filtering section to README

Add Query filtering section to README
Also:

Add support for mutations in getQueryIncludeOf
Fix wrong page value passed to default resolver

:tada: This PR is included in version graphql-gene-v1.1.0-beta.6 :tada:
The release is available on:

npm package (@beta dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version @graphql-gene/plugin-sequelize-v1.1.0-beta.4 :tada:
The release is available on:

npm package (@beta dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Use +- install output for Python versions

Summary
Follow-up to https://github.com/astral-sh/uv/pull/4939. Uses a format that's closer to uv pip install, with some special-casing for single Pythons.
Test Plan
A few examples:

Thank you!


TokenAuth returning "invalid_credentials"

I'm using a custom user model (which inherits from AbstractBaseUser). I have a custom authentication backend setup which allows login via email and username. I can register users and verify them, however, when I try to login via the token_auth method I get the following response:
{
"data": {
"tokenAuth": {
"success": false,
"errors": {
"nonFieldErrors": [
{
"message": "Please, enter valid credentials.",
"code": "invalid_credentials"
}
]
},
"token": null,
"user": null
}
}
}
I'm not sure what is going wrong as it returns 200 lol. Any help is much appreciated. I can provide more information from my side as requested.

I can provide more information from my side as requested.

Yeah :upside_down_face: that would be nice.

Yeah 🙃 that would be nice.

 I figured that I might as well just debug it by myself.
For others that have this error in the future:
For me it was because in my custom user model I have 'is_active' set to false by default and assumed that verifying my user via the function from this library would change that, but it didn't.

Hi this is what happened to me too, so what did you do with the is_active field? removed it?

Hi, this is what happened to me too, so what did you do with the is_active field? So I've just set the is_active field to true as default is_active = models.BooleanField(default=True) and it works, is that the right fix?

That is one fix, but not the best one if you want it to be false by default. You need to add some code so that when you verify the account the 'is_active' field for the current user is switched to True. To do this you can use the 'filter' method from your model and use the identifier from the token as the input.

Do you have an example of that?

Do you have an example of that?

Edit the 'verify' method in '...gqlauth/models.py' module. It is in the 'UserStatus' class. You only need to add 2 lines of code and I think it is important for people to learn, so I think that you should try to do this yourself. If you cannot figure it out after trying to a bit then please come back here and we can help. The required lines are very similar to the code in the same function. I hope that this solves your issue.

I don't have a UserStatus class ...
this is my custom user model :
from django.db import models
from django.contrib.auth.models import AbstractBaseUser
from django.contrib.auth.models import  BaseUserManager
from django.utils import timezone
from django.utils.translation import gettext_lazy as _

# Create your models here.

class UserManager(BaseUserManager):
    use_in_migrations = True

    def _create_user(self, email, first_name, last_name, password=None):
        """ Create and save a User with the given email and password """
        if not email:
            raise ValueError('The given email must be set')
        email = self.normalize_email(email)
        user = self.model(email=email, first_name=first_name, last_name=last_name)
        user.set_password(password)
        user.save(using=self._db)
        return user

    def create_superuser(self, email, password, first_name, last_name):
        """ Create and save a SuperUser with the given email and password. """

        user = self._create_user(
            email=self.normalize_email(email),
            password=password,
            first_name=first_name,
            last_name=last_name,
        )

        user.is_admin = True
        user.is_staff = True
        user.is_superuser = True
        user.is_active = True
        user.save(using=self._db)
        return user

    def verifyAccount(self, user, user_input, code):
        if user_input == code:
            user.is_active = True
            user.save(using=self._db)
            return user

class CustomUser(AbstractBaseUser):
    id = models.AutoField(primary_key=True, editable=False)
    email = models.EmailField(blank=False, max_length=255, unique=True, verbose_name="email address")
    first_name = models.CharField(max_length=255, verbose_name="first_name")
    last_name = models.CharField(max_length=255, verbose_name="last_name")
    profile_image = models.ImageField(null=True, blank=True)
    # profile_image = models.ImageField(default="../media/default_avatar.png", null=True, blank=True)
    date_of_birth = models.DateField(blank=False, null=True, verbose_name="date_of_birth")
    phone = models.CharField(blank=False, max_length=12, verbose_name="phone")
    country = models.CharField(blank=False, max_length=150, verbose_name="country")
    city = models.CharField(blank=True, max_length=150, verbose_name="city")
    zip_code = models.CharField(blank=True, max_length=5, verbose_name="zip_code")
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)
    last_login = models.DateTimeField(verbose_name='last login', auto_now=True)
    is_admin = models.BooleanField(default=False)
    is_active = models.BooleanField(default=False)
    # is_active = models.BooleanField(default=True)
    is_staff = models.BooleanField(default=False)
    is_superuser = models.BooleanField(default=False)
    date_joined = models.DateTimeField(default=timezone.now)

    USERNAME_FIELD = "email"
    EMAIL_FIELD = "email"
    REQUIRED_FIELDS = ["first_name", "last_name"]

    objects = UserManager()

    def __str__(self):
        return self.email

    def has_perm(self, perm, obj=None):
        return self.is_admin

    def has_module_perms(self, app_label):
        return True

So I've tried using the same function from the UserManager, the verifyAccount one, but is not working, I need to get the token from graphql_auth and change the status of is_active from false to true, but how can I do that, or where is the place to do that in the same user model file ?

I don't have a UserStatus class

The 'UserStatus' class is part of the 'strawberry-django-auth' library. I'm not sure when it was added but I think that you should have it. You need to add the functionality of changing 'is_active' from false to true when the user is verified within the method from 'strawberry-django-auth'.

Look I appreciate the quick response, but still where I should have this UserStatus class inside my user model file
? or a different file? could you please share an example of that ?

And I also noticed that some fields are not available when logging in the user using tokenAuth mutation,
for example I have date_of_birth and profile_image fields and is_admin filed is not showing as well


Show function statistics in CLI

Issue Ref:
This PR attempts to address issue 365.
Description:
Added the top (stats can also be used) command to the kubeless CLI for retrieving function statistics from Prometheus.
kubeless function top
kubeless function stats --function get-python --namespace default --out json

TODOs:

[X] Ready to review
[X] Automated Tests
[ ] Docs

Thanks for the feedback @andresmgot. I've made the changes you suggested. Let me know if there's anything else.


Added automatic creation of data/ directory in SetupFunctions

I added two lines in SetupFunctions that automatically creates the data/ folder, as long as it does not already exist, and when the program is not being restarted from a checkpoint file.

This fixes issue #240, which will make many people very happy!

@AreefW will check that this compiles, runs and makes the data dir, and then we can merge it.


Eta reduction under where

Eta reduction is not suggested under where clause.
It is suggested in the following line:
someFunc x y z = someOtherFunc x y z

But not when you put the same line under where clause:
f a b = someOperations $ someFunc a b c
  where someFunc x y z = someOtherFunc x y z

Is it related to #1082?

I don't think its related to #1082, but no real idea why it doesn't fire - I would have expected it to do so. Someone will need to investigate.

It's because eta reduce is triggered on LHsDecls, and there's only one LHsDecl - the top level function. The local function under where is a LHsBind.
I agree that it makes sense to fire eta reduce in this case, so perhaps eta reduce should be changed to run on all LHsBinds?

That makes sense - PR welcome.

Will put up a PR tomorrow!


palomar: prod errors burndown

I took a peek at prod error logs and found some issues:

deleting search documents is failing, because the "document ID" (docID) was formatted wrong, because the rkey parameter is actually a full path, not just the record key part
many actually-valid datetimes were not getting parsed correctly, resulting in posts not having correct createdAt, likely resulting in them not appearing with expected ranking in search results
many HTTP 404 errors on fetches of base path; not really a big deal but might as well return healthcheck

I haven't tested these much yet, we should probably deploy to staging (which consumes the prod firehose, IIRC) and observe that for a bit.

This is unblocked now, and has real fixes (checked that these errors are still happening in prod logs).

These look fine in staging from what I can see