Uploading iym

like eqprs, I shouldn't be able to edit an upload task once it's created
It would be nice if I could click through to the task detail from here - can you get its admin URL?

so something went wrong here, but I can't see what? the last update report item is "token" - what does that mean?
and there's no stack trace anywhere.
I also feel the async task should exit with error/exception when it exits abnormally, e.g. if the token isn't valid any more.
I don't actually see any "normal" failure scenario for this dataset - it's not like it's ok to partially load the data, like it was with eqprs. So any isssue should mean an exception which should ideally be fairly easy to find via the admin.

like eqprs, I shouldn't be able to edit an upload task once it's created
done

It would be nice if I could click through to the task detail from here - can you get its admin URL?
how can I do this?

it would be good if this was consistent with EQPRS where it's (?) until it's either completed or failed, and it's not shown in the create form.
https://github.com/vulekamali/datamanager/blob/master/performance/admin.py#L312
https://github.com/vulekamali/datamanager/blob/master/performance/admin.py#L317
https://github.com/vulekamali/datamanager/blob/master/performance/admin.py#L318

it would be good to get a sense of how long it takes to complete from the log.
Maybe the easiest way is after each sleep, log the progress % with timestamp, but only if the progress % changed, so we don't have loooooooong logs

all the change requests are completed


[API Bug] useNavigation pop issue

Raycast version: 1.26.3
Description

First Menu: a List contains List.Item with PushAction to push Second Menu
Second Menu: a List contains List.Item with PushAction to push Data Form
Data Form: a form with SubmitFormAction will trigger useNavigation.pop() when submit

Steps To Reproduce
code example

trigger the PushAction of First Menu, you will go to Second Menu
trigger the PushAction of Second Menu, you will go to Data Form
submit the Data Form, you will back to Second Menu
back, you will back to First Menu
trigeer the PushAction of First Menu, you will directly go to Data Form

The current behavior
STEP5: trigeer the PushAction of First Menu, you will go to Data Form
The expected behavior
STEP5: trigeer the PushAction of First Menu, you will go to Second Menu
Screenshots

STEP1

STEP2

STEP3

STEP4

STEP5

Wow, this is the good catch! Thanks for describing it, we will investigate!


Cesar sallad

I think we need a cesar sallad recipe

Closed with commit 8394882

closed (commit 8394882)


ModelCheckpointCallback is triggered by mistake after every validation stage when mannual optimization

Bug description
I set the every_n_epochs param of ModelCheckpoint to 1 and val_check_interval of trainer to 200. The total iter of a batch is 1000. It should not save checkpoint files after the val_check. But it does.

What version are you seeing the problem on?
v2.4
How to reproduce the bug
No response
Error messages and logs
# Error messages and logs here please

Environment

Current environment
#- PyTorch Lightning Version (e.g., 2.4.0):
#- PyTorch Version (e.g., 2.4):
#- Python version (e.g., 3.12):
#- OS (e.g., Linux):
#- CUDA/cuDNN version:
#- GPU models and configuration:
#- How you installed Lightning(`conda`, `pip`, source):

More info
No response

Thanks for reporting this. Is that the case with the latest master as well?

Ok, I verified and can reproduce
import torch
import torch.nn.functional as F
from torch.utils.data import DataLoader

import lightning as L
from lightning.pytorch.demos import Transformer, WikiText2
from lightning.pytorch.callbacks import ModelCheckpoint

class LanguageModel(L.LightningModule):
    def __init__(self, vocab_size):
        super().__init__()
        self.vocab_size = vocab_size
        self.model = None

    def configure_model(self):
        if self.model is not None:
            return

        with torch.device("meta"):
            self.model = Transformer(
                vocab_size=self.vocab_size,
                nlayers=16,
                nhid=4096,
                ninp=1024,
                nhead=32,
            )

    def training_step(self, batch):
        print("TRAINING")
        input, target = batch
        output = self.model(input, target)
        loss = F.nll_loss(output, target.view(-1))
        self.log("train_loss", loss, prog_bar=True)
        return loss

    def validation_step(self, batch):
        print("VALIDATING")
        input, target = batch
        output = self.model(input, target)
        loss = F.nll_loss(output, target.view(-1))
        self.log("val_loss", loss, prog_bar=True)

    def configure_optimizers(self):
        return torch.optim.Adam(self.parameters(), lr=1e-4)

def train():
    L.seed_everything(42)

    dataset = WikiText2()
    train_dataloader = DataLoader(dataset, num_workers=8, batch_size=1)
    val_dataloader = DataLoader(dataset, num_workers=8, batch_size=1)

    model = LanguageModel(vocab_size=dataset.vocab_size)

    model_checkpoint = ModelCheckpoint(save_top_k=-1, every_n_epochs=1, save_last=False)

    trainer = L.Trainer(
        strategy="fsdp",
        max_steps=100,
        precision="bf16-true",
        limit_train_batches=10,
        limit_val_batches=10,
        callbacks=model_checkpoint,
        val_check_interval=5
    )
    trainer.fit(model, train_dataloader, val_dataloaders=val_dataloader)

    trainer.print(torch.cuda.memory_summary())

if __name__ == "__main__":
    torch.set_float32_matmul_precision("high")

    train()

BTW if you change
model_checkpoint = ModelCheckpoint(save_top_k=-1, every_n_epochs=2, save_last=False)

to
model_checkpoint = ModelCheckpoint(save_top_k=-1, every_n_epochs=2, save_on_train_epoch_end=True, save_last=False)

then you'll get checkpoints saved at the right interval.
However if you keep the interval as in the above snippet, you indeed get something that is not quite right:
'epoch=1-step=15.ckpt'
'epoch=1-step=20.ckpt'
'epoch=3-step=35.ckpt'
'epoch=3-step=40.ckpt'
'epoch=5-step=55.ckpt'
'epoch=5-step=60.ckpt'
'epoch=7-step=75.ckpt'
'epoch=7-step=80.ckpt'
'epoch=9-step=95.ckpt'
'epoch=9-step=100.ckpt'

i.e. you get a checkpoint at all validation steps, in the training epoch when you're supposed to save. Which is of course consistent with the code in ModelCheckpoint but it's indeed a bit surprising.

So the resolution for this is use
ModelCheckpoint(..., save_on_train_epoch_end=True)

to avoid saving on validation_end.
In the future we could introduce a save_on_validation_end=True argument to make things more explicit. It would clarify in this case, wdyt?


Problem running the rancher agent in a host with no access to Internet

**Rancher Version:1.0.2 (agent)
**Docker Version:1.10.x
**OS and where are the hosts located? (cloud, bare metal, etc): CentOS, VM
**Setup Details: Single node
**Environment Type: Cattle
**Steps to Reproduce:
Push agent image to private registry. The resulting image will be :5000/rancher/agent:v1.0.2
Run the agent run command (referencing the agent image in the private registry) in a VM without access to Internet, only to the private registry.
**Results:
The agent container is alive but it does not start.
Go into the logs of the container. It tries to update to the rancher/agent:v1.0.2 image.
**Expected:
Since the image is the same one (with different name) it is expected the upgrade step was not needed.
Workaround:
By tagging the image in the host to the expected image name (rancher/agent:v1.0.2) the agent works fine again (it is the expected image name).

Looks like the doc's or the process is broken, I experienced this with an air-gapped install as well.

You need to start rancher server with an environment variable
 -e CATTLE_BOOTSTRAP_REQUIRED_IMAGE=<Private_Registry_Domain>:5000/<NAME_OF_LOCAL_RANCHER_AGENT_IMAGE>
http://rancher.com/docs/rancher/v1.6/en/installing-rancher/installing-server/no-internet-access/#launching-rancher-server-with-private-registry


Using WSFederation without Identity

Hello,
I have followed same steps and able to make my POC app working with WSFederation at my company.
However we want to avoid creating Core Identity database and maintaining it. Is there a way to use WSFederation without Core Identity database ?
I followed this link. https://docs.microsoft.com/en-us/aspnet/core/security/authentication/ws-federation?view=aspnetcore-2.2#use-ws-federation-without-aspnet-core-identity
https://github.com/aspnet/Docs/blob/master/aspnetcore/security/authentication/ws-federation.md

Hello! Thanks for contacting us. This sounds like a general question about using ASP.NET Core. While we try to look at and respond to all issues, for questions like this we recommend posting to a community support group like Stack Overflow.


Editor input

The editor input was not accepting keywords such as "fill" which is a valid style prop value (example "width"). This is a small fix here that will probably need to be revisited later.
Also the fixing styling in script editor save button has been messed up since the last 2 PR's:

also fixes #70


Usage guidlines documentation

Would suggest we get together and build out some usage guidelines for folks using and contributing to rhelements.  Things to include:

Best practices, how to write a component
Namespacing guidelines, what's taken and what's allowed
Naming conventions, how to name a component

Related to #22

Oh yeah, here's a WIP branch where I started to trim down the main README to be easily digestible, and moved contribution stuff to CONTRIBUTING.md.  It still needs a lot of work, the bullets you suggested!


[Bug]:

BG3 Mod Manager Version
current
BG3 Game Version
launch
Bug Summary
cant get the modd manger to laod a twice. Every time I download it it runs ok but if I close it, then the program refuses to run again. it like its invisible or something. i can close it or task amnger it but in no way dose it run again. i keep having to download a new version of the current release and run it ONCE for it to work
Links
No response

Try changing the "SaveWindowLocation" Data\settings.json option to false, in case it's restoring the mod manager on the wrong monitor / off screen.


tortoise: tortoise state loading will be growing in time

After persistent state was removed tortoise loads state from meshdb and atxdb when the node is started. In the initial implementation i am also re-verifying everything, as it allowed to reuse code for rerun almost as is.
However after https://github.com/spacemeshos/go-spacemesh/pull/3000 is merged rerun in full mode will be rather slow. So instead of verifying when node is booted we can just load state.
the end goal is to make restart fast, we can achieve that:

by eliminating bottlenecks in tortoise
by snapshotting tortoise when node is stopped gracefully
by loading state without verifications
by offloading state loading into background, and blocking components that rely on tortoise

Note: we don't need state in full.weight for verified layers, but we need to know which ballots are good, because the definition is recursive.

Also need to compute real margins for layers between verified and processed, as we will use them for voting. So it is not completely possible to avoid vote counting. Will postpone this change.

minor issue i encountered is that the loading is not interrupt-able with sigterm as it doesn't check context cancel.


Interval variable not sorted by duration

Interval variables are currently not sorted by their duration, which leads to an inconsistent and unexpected user-experience.
Expected Behaviour:
Interval variables should be sorted by their duration value, i.e. 10s, 10m, 10h

Actual Behaviour:
Interval variables are sorted by a regular string sort (pure alphanumeric), i.e. 10h, 10m, 10s

Fixed in #109


[DISCUSSION] Alternative solution for determining compute capability at runtime

Current Situation
As discussed in https://github.com/NVIDIA/cub/issues/545, CUB needs to query the current device's compute capability in order to know which tuning policy to use for launching the kernel.
Currently, CUB does this by using  cudaFuncGetAttributes on an EmptyKernel<void>.
As discussed in https://github.com/NVIDIA/cub/issues/545, this runs into problems due to the nuanced relationship among the linkage of kernels, their enclosing function, and the architectures used to compile the TU. The end result is that we can end up getting a version of EmptyKernel with a different PTX version than we expect.
Proposal
The goal of the machinery described above is to determine the current device's compute capability.
However, there is another way for CUB to do this.
~We could instead use cudaGetDeviceProperties. The resulting cudaDeviceProp structure has cudaDeviceProp::major and cudaDeviceProp::minor members that indicate the major/minor versions of the compute capability for the current device.~
We could instead use cudaDeviceGetAttribute and query for cudaDevAttrComputeCapabilityMajor and cudaDevAttrComputeCapabilityMajor.
In addition, we would have to somewhere cache internal to CUB the list of architectures used to compile a particular TU so we can select the closest arch to the compute capability of the current device.
Additional Context
~It is generally recommended to avoid using cudaGetDeviceProperties and to instead use cudaDeviceGetAttribute to query the specific attribute of interest as cudaGetDeviceProperties can be quite slow.~
~However, it doesn't appear there is a way to query the compute capability through cudaDeviceGetAttribute as the cudaDeviceAttr enum doesn't have a field for querying compute capability.~
~I don't think this will be a serious issue as we cache the result anyways.~

Just to make it more explicit -- the main difference between these approaches is that cudaFuncGetAttributes tells us which available PTX target will be used on the current device, while cudaDeviceGetAttribute will return the SM architecture of the device. As you mention, we can use the list of target architectures (eg. __CUDA_ARCH_LIST__ on nvcc) with this information to figure out which PTX target will be selected.
I'm in favor of finding a better solution than the empty_kernel approach, which has been troublesome for a variety of reasons. If the approach of querying the SM arch and refining with __CUDA_ARCH_LIST__ works, it sounds good to me and is worth experimenting with for 2.1.


RFE: enable expiry warnings before expiry

In https://github.com/jku/tuf-demo I would like an easy way to create GitHub issues some time before  metadata expires: this applies to especially root, but but maybe also targets metadata
Not sure how this should work but possibly tufrepo verify could have an option that fails if expiry is less than x days in the future?

go-tuf very recently added a status command in https://github.com/theupdateframework/go-tuf/commit/af3c7d6a7dff051e9ef4b965a1258df09249a13f
which lets you call: tuf status --valid-at "$(date -d '+1 hour')" timestamp

yes, something like that which can then be used (for example) in a workflow in the metadata repository to create a GitHub issue if it fails.
The remaining extra bit is tying keys to identities like github accounts. I suppose we could add a "x-tufrepo-key-owner-github" field to keys so the GitHub issue could then name the correct owner... or something. But just the validity check would be good


what the heack is this and where did it come from someone please tell me

you just open console in browser and like paste code in there i think.

paste the code from the .js file in to this website:
https://skalman.github.io/UglifyJS-online/
it will minify the code. Paste this code into a bookmark with the prefix "javascript:" (ex. javascript:minified_code_goes_here)
click on the bookmark when you want to use it and it should work


snc_redis.doctrine_cache_predis configured to return PredisCache.php

snc_redis.doctrine_cache_predis configured to return PredisCache.php, a class with no public methods and no way of clearing cached Doctrine values.

What is the exact problem you are experiencing?

I've defined the doctrine portion of my sncRedis configuration:
snc_redis:     clients:         default:             type: predis             alias: default             dsn: redis://%redis_server%     doctrine:         result_cache:             client: default             entity_manager: [default]
I have a listener set up to purge specific values from the cache by retrieving the related cache from the entity manager:
$em->getConfiguration()->getResultCacheImpl()
Because of this line in SNC Redis Bundle's configuration:
->scalarNode('doctrine_cache_predis')->defaultValue('Doctrine\Common\Cache\PredisCache')->end()
A PredisCache is returned. If you look at the documentation for https://github.com/doctrine/cache/blob/master/lib/Doctrine/Common/Cache/PredisCache.php, none of it's methods are public, and there's no way to retrieve the client: in short, there's no way to interact with the defined cache when retrieving the cache context via the entity manager.

Ok, but that class resides in doctrine/cache, so what are we to do about it here?

Yes, that would be an unacceptable maintenance burden and an awful design choice from the reusable bundle perspective.
Nobody's stopping you from doing it in your application though, that's exactly why you can override the config setting for doctrine_cache_predis.


Update normalize.css

Great commit name. 10/10

I have a feeling that normalize.css is under some attack. The majority of PRs look like raised by bots 🤔 I can't figure out why.

I isn't robot.

Then can you explain the value of this change, @ttzc?

No, I can't

Okay, then can you close this PR @ttzc? Thanks.

lol, this is just changing a line break to a comment line? i guess it's a poor attempt at filling github dashboard with commits.


Add interface to gluonts.ev

Description of changes: This adds a higher-level interface to the metrics and evaluators API in gluonts.ev. See the example below for a feeling of how it works. In short, one calls
evaluate(metrics, data, forecasts)

to evaluate metrics to compare forecasts to data. Here data is a TestData object that contains both the "input" and "label" slices of each test series. To get results in pandas, one can use
evaluate_pd(metrics, data, forecasts)

that wraps the metric values into a DataFrame with appropriate index based on the aggregation dimension.
Example:
from pathlib import Path
import pandas as pd
from gluonts.dataset.pandas import PandasDataset
from gluonts.dataset.split import split
from gluonts.model import Predictor
from gluonts.torch.model.deepar import DeepAREstimator
from gluonts.ev import (
    SMAPE,
    NRMSE,
    MeanWeightedSumQuantileLoss,
    evaluate_pd,
)
import torch

torch.manual_seed(0)

# Load data from a CSV file into a PandasDataset
df = pd.read_csv(
    "https://raw.githubusercontent.com/AileenNielsen/"
    "TimeSeriesAnalysisWithPython/master/data/AirPassengers.csv",
    index_col=0,
    parse_dates=True,
)
dataset = PandasDataset(df, target="#Passengers")

# Split train/test data
training_data, test_gen = split(dataset, offset=-36)
test_data = test_gen.generate_instances(prediction_length=12, windows=3)

# Train model, or load serialized model
model_path = Path("some_deepar_model")
model_path.mkdir(exist_ok=True, parents=True)
train = True
if not train:
    model = Predictor.deserialize(model_path)
else:
    model = DeepAREstimator(
        freq="M",
        prediction_length=12,
        trainer_kwargs=dict(max_epochs=20),
    ).train(training_data=training_data)
    model.serialize(model_path)

forecasts = list(model.predict(test_data.input))

metrics = [
    SMAPE(),
    NRMSE(),
    MeanWeightedSumQuantileLoss(quantile_levels=[0.1, 0.5, 0.9]),
]

Then,
res = evaluate_pd(metrics, test_data, forecasts)
print(res)

# prints
#          sMAPE     NRMSE  mean_weighted_sum_quantile_loss
# None  0.055886  0.066318                         0.035829

res = evaluate_pd(metrics, test_data, forecasts, axis=1)
print(res)

# prints
#                           sMAPE     NRMSE  mean_weighted_sum_quantile_loss
# item_id forecast time
# NaN     1958-01        0.099674  0.109566                         0.072287
#         1959-01        0.030778  0.035876                         0.018940
#         1960-01        0.037205  0.044245                         0.021850

res = evaluate_pd(metrics, test_data, forecasts, axis=0)
print(res)

# prints
#                        sMAPE     NRMSE  mean_weighted_sum_quantile_loss
# prediction horizon
# 0                   0.040189  0.044771                         0.021694
# 1                   0.083287  0.082183                         0.051847
# 2                   0.056241  0.067684                         0.039326
# 3                   0.046029  0.074129                         0.037520
# 4                   0.040745  0.059825                         0.030936
# [...]
# 11                  0.096292  0.110979                         0.067913

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Please tag this pr with at least one of these labels to make our release process faster: BREAKING, new feature, bug fix, other change, dev setup

One goal of ev was to be independent from the rest of gluonts. This adds some dependencies.
Would it be an option to put it into model?

One goal of ev was to be independent from the rest of gluonts. This adds some dependencies.
Would it be an option to put it into model?

I think that would make sense. On the other hand, one would need to, say from gluonts.model import evaluate and then also from gluonts.ev import SMAPE, NRMSE, .... Would you then re-export the metrics from gluonts.model?

Thanks for the great work! Would be good to include the following:

Validate no nans in forecast
Mask invalids in targets
Add dimension wise aggregation function for multivariate
Manually define seasonality

Transpose targets if multivariate (no aggregation function)

Hi @gorold, what do you mean by that? ☝

9. Transpose targets if multivariate (no aggregation function)

Hi @gorold, what do you mean by that? ☝

Targets from the dataset are (C, T) while forecasts are (T,C). But I think the ev module makes some assumptions that targets should be (T,C) so we need to transpose them!

@lostella A couple of things.

It's not clear to me how one would compute aggregate metrics like CRPS-sum in this setup?
I think we should add an alias named CRPS for MeanWeightedSumQuantileLoss with {0.1, 0.2, ..., 0.9} quantiles and clarify in the docstring how this is an approximation of CRPS. Everyone uses this for CRPS but I don't think its documented anywhere clearly. I can do this in a separate PR but I would like to know your opinion first. What do you think @kashif?

I believe this axis is wrong:
https://github.com/awslabs/gluonts/blob/cbc66c90569d09739bb1f494af20de3985ab44e1/src/gluonts/ev/ts_stats.py#L22
based on this:
https://github.com/awslabs/gluonts/blob/cbc66c90569d09739bb1f494af20de3985ab44e1/src/gluonts/ev/ts_stats.py#L34-L37

I believe this axis is wrong:

Looks like so, I think it's always best to just be explicit on what the time axis is, so it could be an optional argument

Would be nice to have tqdm here as well!


Feature request: Wings with solar panels

For all electric aircraft wings with build in solar panels on one side can be very usefull!
Solar Impulse is a Swiss long-range experimental solar-powered aircraft
https://en.wikipedia.org/wiki/Solar_Impulse

I'll see if I can do it. Thanks for supporting.

Thank you for your mod and all your work!


loading numpy during build - not before

if cython and numpy are not installed in the system, the setup script terminates with an error before starting the build process. This is not desirable when the package needs to be added as a requirement for other projects, especially if the installation process has to be automated (e.g., in CI)
numpy is now imported when the extension is built, not before

note that automatic installation of dependencies works with pip but not with python setup.py install
references:
[1] https://stackoverflow.com/questions/2379898/
[2] https://stackoverflow.com/questions/4505747/

This looks great, thanks @valearna


Failed to run examples from README on Linux platform

Steps to reproduce
Tell us about your environment:

Puppeteer version: 1.3.0
Platform / OS version: Ubuntu 16.04.4
URLs (if applicable):
Node.js version: 8.11.1
Chromium downloaded during installing puppeteer: linux-549031

What steps will reproduce the problem?
$ npm init -y
$ npm install puppeteer --save
$ node index.js

Please include code that reproduces the issue.
const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto('https://github.com');
  await page.screenshot({path: 'example.png'});

  await browser.close();
})();

What is the expected result?
No error
What happens instead?
(node:22374) UnhandledPromiseRejectionWarning: Error: net::ERR_EMPTY_RESPONSE at https://github.com
    at navigate (/home/qiuzhong/Workspace/Programming/NodeJS/puppeteer_demo/node_modules/puppeteer/lib/Page.js:523:37)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:188:7)
(node:22374) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:22374) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

This issue was not reproduced on Windows 10

Please try a newer version of Puppeteer. 0.13.0 is very old.

Sorry, it's actually the latest version: 1.3.0. I'll update the description.

Can you through in the dumpio: true flag and see what it logs? Your code
looks fine.
On Wed, Apr 18, 2018, 10:09 PM qiuzhong<EMAIL_ADDRESS>wrote:

Sorry, it's actually the latest version: 1.3.0. I'll update the
description.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/GoogleChrome/puppeteer/issues/2415#issuecomment-382611954,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAOigNCCdyj3LRCo79bOVQA5KASSG9vNks5tqBvsgaJpZM4TbDv-
.

I got this error when I set the dumpio flag to be true:
[0420/131251.848052:ERROR:gpu_process_transport_factory.cc(1017)] Lost UI shared context.

DevTools listening on ws://<IP_ADDRESS>:39216/devtools/browser/c31b2d19-0db0-4f93-9dce-bcf715f7ab8e
(node:16676) UnhandledPromiseRejectionWarning: Error: net::ERR_EMPTY_RESPONSE at https://github.com
    at navigate (/home/qiuzhong/Workspace/Programming/NodeJS/puppeteer_demo/node_modules/puppeteer/lib/Page.js:523:37)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:188:7)
(node:16676) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:16676) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

@qiuzhong for some reason chromium can't reach github.com. This is due to some environment issue; I'd try navigating to github from regular chrome, or running bundled pptr chromium manually and navigating there.
I'd also try answering the following questions for some self-diagnostics:

Does https://example.com work?
Does it work if you try navigating to locally-setup server?

Hope this helps.

@aslushnikov , thanks for your suggestion. I tried both cases above, neither of them worked for me. The errors are still the same.

Finally, I used an old version of chromium and specify the executablePath option in launch(). It worked for me. The old revision is 515411  while the current chromium downloaded during installing puppeteer is 540931.


Update the attribution property

Summary

Update the attribution property
Adds support for auto attribution
Removes support post onboarding flows (pending some design changes)

How did you test your changes?
Using the SDK playground config page

🟡 Heimdall Review Status

Requirement
Status
More Info

Reviews

🟡
0/1

Denominator calculation

Show calculation

1 if user is bot
0

1 if user is external
0

From .codeflow.yml

1

Additional review requirements

Show calculation

Max
0

0

From CODEOWNERS

0

Global minimum
0

Max

1

1

1 if commit is unverified
0

Sum
1


Shorthand Argument Renaming

Here is my final proposal, integrating suggestions.

This seems subjectively a lot worse than the current $0 syntax that we have now (which is just MHO), but is empirically an inconsistent use of the # namespace (which is about compiler magic, not synthesized names).  I'm closing this in an attempt to optimize process, but if you'd like to continue discussing it on swift-evolution, then I'm happy to make the case there.


[Question] Filesize

How can I tell the filesize (in megabytes) and/or prevent files of a certain size (>5MB) from being uploaded?

Duplicate of #104?

See https://github.com/okonet/react-dropzone/pull/202


Error Message/getLargeUpdateCount not implemented

Hi,
I receive the error message "getLargeUpdateCount not implemented." What could be wrong with my environment?
Best regards, Hendrik

Closing as we have a dupe issue with more info #237


Upload from CLI

It'd be nice to be able to also upload files to Put from the CLI.

This is not currently possible using only the Put.js library.

Is it possible to upload a .torrent file to start the transfer?

That's fantastic! What I'm really looking for a simple one line curl command to add torrent transfers. I've been reading over the API for hours and I'm just not sure how to do it. I got the following from the API but where do I put my token so the command is authenticated?
curl -X 'POST' \   'https://upload.put.io/v2/files/upload' \   -H 'accept: application/json' \   -H 'Content-Type: multipart/form-data' \   -F<EMAIL_ADDRESS>\   -F 'filename=' \   -F 'parent_id=0'

@Gex2501 You're super close!
You just need an API token in the header:
Authorization: Bearer ${API_TOKEN}
Which I think looks like -H "Authorization: Bearer TOKEN_HERE" added to CURL.

Thank you so much! I spent hours trying to figure this out!


Service using Rest service not working after migration beta 10 to beta 15

Please provide us with the following information:

OS?  Windows 7, 8 or 10. Linux (which distribution). Mac OSX (Yosemite? El Capitan?)
linux redhat 7.2

Versions. Please run ng --version. If there's nothing outputted, please run
in a Terminal: node --version and paste the result here:
Could not start watchman; falling back to NodeWatcher for file system events.
Visit http://ember-cli.com/user-guide/#watchman for more info.
angular-cli: 1.0.0-beta.15
node: 4.4.7
os: linux x64

Repro steps. Was this an app that wasn't created using the CLI? What change did you
do on your code? etc.
I've recreated from start a project and not migrating the previous one in beta 10.
It's a simple component using a service. That service calls a REST service.
Now in the debugger view, there's a websocket that stays pending even the REST service is up or not.

Relevant code in component :
this.etablissementService.getEtablissement(this.nom_officiel)
.subscribe(
data => this.etablissements = data,
error => this.error = "Probleme dans la requete."+error
);
Relevant code in service :
import { Injectable } from '@angular/core';
import {Http} from '@angular/http';
import 'rxjs/Rx'
...
getEtablissement (nom_officiel:string){
return this.http.post(this.endpoint_url,nom_officiel).map(res => res.json());
}

The log given by the failure. Normally this include a stack trace and some
more information.
No logs in the debugger view or at compilation time.

Mention any other details that might be useful.

Thanks! We'll be in touch soon.

This seems like the sort of question that should go in Stack Overflow, as it doesn't seem as much as a CLI issue as it does with a coding/runtime issue. There isn't a lot (or anything really) the CLI does at runtime, which is when your problem seems to manifest.


feat(interactive): Support builtin app in Interactive

This PR introduces support for built-in procedures in Interactive. Users can access these procedures as soon as the graph is created, with more built-in apps to be added in the future.
For instance, a user can count the vertices of a specific label using:
call count_vertices("person");

Please note that built-in procedures cannot be deleted or updated, and users cannot create procedures with the same name as a built-in procedure.

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

Project coverage is 34.33%. Comparing base (4eadc2e) to head (d44bd64).
Report is 73 commits behind head on main.

Additional details and impacted files

@@             Coverage Diff             @@
##             main    #4242       +/-   ##
===========================================
- Coverage   46.45%   34.33%   -12.13%
===========================================
  Files         173      126       -47
  Lines       16171    13235     -2936
===========================================
- Hits         7512     4544     -2968
- Misses       8659     8691       +32

see 162 files with indirect coverage changes

Continue to review full report in Codecov by Sentry.

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


Support GitHub Copilot in conda-forge distribution

Description
As documented here, GitHub Copilot is not working if marimo is installed from conda-forge.
Suggested solution
The conda-forge distribution should also support GitHub Copilot.
Alternative
No alternatives.
Additional context
I am happy to provide assistance with this issue, however I would like to know what prevents marimo from providing this feature currently. Is it a package not available on conda-forge?

@ytausch if i recall correctly, this is because of licensing. and not a technical limitation

Found a trace here: https://github.com/conda-forge/marimo-feedstock/blob/main/recipe/build.sh

xref https://github.com/conda-forge/marimo-feedstock/issues/7

@ytausch , we'd love assistance. It is indeed because of licensing requirements from the conda forge maintainers. A workaround would be to have marimo download/install the files required for copilot at runtime if they are not available.
This is what RStudio appears to do, see screenshot:


feat(chat-bubble): add ChatBubble component

Closes: #193

[!TIP]
NIT: I think the design team is planning to merge the driver and passenger design systems, so I suggest renaming the chat bubble components to more generic terms. For example, consider using author and recipient instead of driver and passenger. This would make the components more versatile and adaptable to future design changes, including potential use in chatbot project.

Tip
NIT: I think the design team is planning to merge the driver and passenger design systems, so I suggest renaming the chat bubble components to more generic terms. For example, consider using author and recipient instead of driver and passenger. This would make the components more versatile and adaptable to future design changes, including potential use in chatbot project.

Telegram uses in (when we are the author) and out (when they are the author). What do you think?
variant: "in" | "out"

We can use self and other as well:
author: "self" | "other"

Please add the documentation too. @mimshins


api: API ratelimit logs are too noisy

Description: Observed too many logs while creating and deletion of pods
Fix: By default, rate limited logs are disabled
Fixes: #13900
Signed-off-by: Mahadev Panchal<EMAIL_ADDRESS>Please ensure your pull request adheres to the following guidelines:

[x] For first time contributors, read Submitting a pull request
[x] All code is covered by unit and/or runtime tests where feasible.
[x] All commits contain a well written commit description including a title,
description and a Fixes: #XXX line if the commit addresses a particular
GitHub issue.
[x] All commits are signed off. See the section Developer’s Certificate of Origin
[x] Provide a title or release-note blurb suitable for the release notes.
[x] Thanks for contributing!

Make API ratelimit logs less noisy by default

hose logs should be ignored? Do you have examples?

Due to excess of logs has been observed that while creating and deleting pods, create so many logs w.r.t subsys=rate module.
As per this request, I have done the code changes
https://github.com/cilium/cilium/issues/13900#issuecomment-725767913
Now, By default, subsys=rate module logs are suppressed
And user/admin can change this to true by configuring the --api-rate-limit

@christarazi you commented earlier about this in https://github.com/cilium/cilium/issues/13900#issuecomment-725767913. I'm not sure I can evaluate this change myself, so could you take a look?

/test

@panchm Please don't forget to review all of the text in the PR description below Please ensure your pull request adheres to the following guidelines:. For the release note, I would suggest something like "Make API ratelimit logs less noisy by default"

@panchm thanks for checking the boxes. This section is still not filled out in the PR description:
<!-- Enter the release note text here if needed or remove this section! -->

The Go-related checks failed, but I think that is a bug on master introduced yesterday, which is already fixed now. Can you rebase once more?

Rebased with the cilium master!
Thank you

/test

The runtime tests hit #19093 , which is a known flake on master. AKS tests also failed, but they are not marked as required.
Scanning back through, I see that Chris and Jussi already gave :+1: but these were reset by the requests for re-review. I don't see anything that changed though, we just needed to check that the CI wasn't reporting any real issues.
Reviews are in, code looks innocent, let's :ship:


Alpine devcontainer doesn't support PHP feature

Hi I have just setup a devcontainer.json file using the command "Add Dev Container configuration...."
I selected the options for alpine and to use PHP
however the container fails to build
Command failed: /usr/share/code/code --ms-enable-electron-run-as-node /home/<REDACTED>/.vscode/extensions/ms-vscode-remote.remote-containers-0.292.0/dist/spec-node/devContainersSpecCLI.js up --user-data-folder /home/<REDACTED>/.config/Code/User/globalStorage/ms-vscode-remote.remote-containers/data --container-session-data-folder /tmp/devcontainers-569571c6-7fb5-4cb2-9fdf-6985555bc89a1684146291461 --workspace-folder /home/<REDACTED>/Projects/<REDACTED> --workspace-mount-consistency cached --id-label devcontainer.local_folder=/home/<REDACTED>/Projects/<REDACTED> --id-label devcontainer.config_file=/home/<REDACTED>/Projects/<REDACTED>/.devcontainer/devcontainer.json --log-level debug --log-format json --config /home/<REDACTED>/Projects/<REDACTED>/.devcontainer/devcontainer.json --default-user-env-probe loginInteractiveShell --mount type=volume,source=vscode,target=/vscode,external=true --mount type=bind,source=/run/user/1000/wayland-0,target=/tmp/vscode-wayland-988ce2e2-223e-46a3-8e68-5d30ba0c8eaf.sock --skip-post-create --update-remote-user-uid-default on --mount-workspace-git-root true

Hi 👋
Unfortunately, the PHP Feature is not supported for Alpine. More details - https://github.com/devcontainers/features/blob/main/src/php/README.md#os-support
We have https://github.com/devcontainers/spec/issues/58 open to help avoid such confusions. Let us know if you have any other questions.


fix ping loop early exist if still connected after timeout CORE-5448

A potentially buggy situation can rise if a user goes into slow connection mode for a brief burst of time, where the ping loop will exit before it should (and never come back). To fix, we make sure that Reconnect actually takes down the connection before stopping the loop.

Merging this sans CI...


Active diretory questions

I was able to log bookstack into an LDAP active directory on a windows 2019 but I'm not getting it on a windows 2012 r2
the only difference in 2019 runs version 21.4 and in win2012 version 21.5

my file on win2019 works perfect
General auth
AUTH_METHOD=ldap
The LDAP host, Adding a port is optional
LDAP_SERVER=<IP_ADDRESS>:389
If using LDAP over SSL you should also define the protocol:
LDAP_SERVER=ldaps://example.com:636
The base DN from where users will be searched within
LDAP_BASE_DN=dc=domain,dc=com
The full DN and password of the user used to search the server
Can both be left as false to bind anonymously
<EMAIL_ADDRESS>LDAP_PASS=password
A filter to use when searching for users
The user-provided user-name used to replace any occurrences of '${user}'
If you're setting this option via other means, such as within a docker-compose.yml,
you may need escape the $, often using $$ or $ instead.
LDAP_USER_FILTER=(&(sAMAccountName=${user}))
Set the LDAP version to use when connecting to the server
Should be set to 3 in most cases.
LDAP_VERSION=3
Set the property to use as a unique identifier for this user.
Stored and used to match LDAP users with existing BookStack users.
Prefixing the value with 'BIN;' will assume the LDAP service provides the attribute value as
binary data and BookStack will convert the value to a hexidecimal representation.
Defaults to 'uid'.
LDAP_ID_ATTRIBUTE=BIN;objectGUID
Set the default 'email' attribute. Defaults to 'mail'
LDAP_EMAIL_ATTRIBUTE=mail
Set the property to use for a user's display name. Defaults to 'cn'
LDAP_DISPLAY_NAME_ATTRIBUTE=cn
Force TLS to be used for LDAP communication.
Use this if you can but your LDAP support will need to support it and
you may need to import your certificate to the BookStack host machine.
Defaults to 'false'.
LDAP_START_TLS=false
If you need to allow untrusted LDAPS certificates, add the below and uncomment (remove the #)
Only set this option if debugging or you're absolutely sure it's required for your setup.
If using php-fpm, you may want to restart it after changing this option to avoid instability.
#LDAP_TLS_INSECURE=true
If you need to debug the details coming from your LDAP server, add the below and uncomment (remove the #)
Only set this option if debugging since it will block logins and potentially show private details.
#LDAP_DUMP_USER_DETAILS=true
LDAP_THUMBNAIL_ATTRIBUTE=thumbnailPhoto

@dakarbr Try removing the last line of that posted config:
LDAP_THUMBNAIL_ATTRIBUTE=thumbnailPhoto

That option is fairly new, there's a chance it's causing issues.
When you say:

when I switch to ldap it doesn't even load the page

Is that when attempting to just view the login page? Or are you able to see the login page but it stops loading when attempting to login?

I think I found the problem.
the ad password has - and spaces
how can i decide where there is space?
in the config file

@dakarbr To support spaces wrap the whole value in quotes, For example:
MY_OPTION="Value with spaces within"

Tks

Will therefore close this off.


Uncaught ReferenceError: elk_mentions is not defined

This occurs when using quick edit when using the full editor in quick reply, and there appear to be two locations that can cause the same error.
In Display.template
					funcOnAfterCreate: function () {
						// Attach AtWho to the quick edit box
						add_elk_mention('#quick_edit_body_container textarea');
						var i = all_elk_mentions.length - 1;
						all_elk_mentions[i].oMention = new elk_mentions(all_elk_mentions[i].oOptions);
					}

and in Display.controller
			addInlineJavascript('
			$(document).ready(function () {
				for (var i = 0, count = all_elk_mentions.length; i < count; i++)
					all_elk_mentions[i].oMention = new elk_mentions(all_elk_mentions[i].oOptions);
			});');

I think this all depends on mentions.js being loaded (for that new elk_mentions) however we only load that when not using the full editor.  This causes quick edit to toss JS errors, and probably some errors are thrown from that code in Display.controller.
I think it means that if mentions are enabled we should simply always do a
loadJavascriptFile(array('mentioning.js'));

and not just when only using the plain text quick reply  (as currently done in Display.controller)

@emanuele45 this is your baby 🏃 I think all that is missing is the including of mentions.js whenever mentions are enabled.
Today in Display.controller we have
			// Just using the plain text quick reply and not the editor
			if (empty($options['use_editor_quick_reply']))
				loadJavascriptFile(array('jquery.atwho.js', 'jquery.caret.min.js', 'mentioning.js'));

and I think the simple fix would be
			// Just using the plain text quick reply and not the editor
			if (empty($options['use_editor_quick_reply']))
				loadJavascriptFile(array('jquery.atwho.js', 'jquery.caret.min.js', 'mentioning.js'));
			else
				loadJavascriptFile(array('mentioning.js'));

or if you don't like else's
			loadJavascriptFile(array('mentioning.js'));

			// Just using the plain text quick reply and not the editor
			if (empty($options['use_editor_quick_reply']))
				loadJavascriptFile(array('jquery.atwho.js', 'jquery.caret.min.js'));

Yep, I know, I was looking at it yesterday night, but I got lost with the undo thingy. :laughing:
Anyway, for the full editor it should be enough to modify Editor.subs.php:
loadJavascriptFile(array('jquery.atwho.min.js', 'jquery.caret.min.js', 'mentioning.plugin.js'));

to:
loadJavascriptFile(array('jquery.atwho.min.js', 'jquery.caret.min.js', 'mentioning.js', 'mentioning.plugin.js'));

IIRC my original idea was (is) that Editor.subs.php takes care of everything related to the (full) editor.
So that, when we will drop support for the simple editor, we will cleanup the controllers and have everything just in one place. I think. :joy_cat:

I had noticed the problem when using the quick edit feature .. that will be another place that we will need to figure out what we do when we drop the textbox editor.

hmmm....
Just to be able to reproduce it:

these are the settings:

enter a topic,
pick a random post,
use quick edit,
in the browser console the error should popup.

Sounds right?
Because I don't get the error neither on my localhost, nor at elk.net. :confused:

Unless it's another case of moderator-VS-normal user, I'll demote one of the accounts and test again.

I just tried those settings and I see the error (chrome as well) on my local but not the site.
Looking at the hive file that I get from the site I do see the mentioning.js listed in the hive header, so since its being included somehow/somewhere that is why we don't see the error.

Sorry, dumb me, just realized this was 1.0 and not 1.1... :blush:


depend on the checkouts of ocaml/opam

We really ought to track the changesets of ocaml/opam when building the opam binary. For example merging this https://github.com/ocaml/opam/pull/4648 should have triggered off a rebuild without requiring manual intervention.
(this is likely to be more important as we're speeding up the opam release process post 2.1.0)

This applies to services using the dev version of opam, and getting this in place could reduce our manual work and improve stability.


fixed wrong highlight color inheritance in Gnome Terminal

when Gogh creates profiles for Gnome Terminal, it does not set highlight-colors-set explicitly. this causes hightlight settings to be inherited from currently selected default profile, cuz Gogh's themes does not (yet) define highlight (even if there is code to support it).
example, "native" (not Gogh's versions) Catppuccin and Nord themes do define highlight settings, Catppuccin is my current default

now, if i use Gogh to install eg Tomorrow Night Eighties, then highlight is copied from Catppuccin

but the proper look (without highlight color support in themes) is this

all in all, it's just 1 line fix :)

Thank you!!


Soften the language tag constraint

Soften the language tag constraint
remove constraint, that if the second part of lang tag exists, it must be a region
See https://github.com/eclipse-basyx/basyx-python-sdk/issues/157

LGTM


Adding IAM Role support for EC2 instance

Instead of using the access keys in the command does s3-river support using the "IAM Role" function? This would allow s3-river to query the bucket without embedding the access key and secret key into the web request.
Thanks..

Hi @gdelgado,
s3-river does not support IAM Role for now. Connection to AWS is always done using accessKey and secretKey.
As not being familiar with IAM Role, I've read http://docs.aws.amazon.com/AWSSdkDocsJava/latest/DeveloperGuide/java-dg-roles.html for an introduction. Does this match with your need ? It should be easy to add a river configuration flag to say "do not use any key pairs but just make a default authentification". What do you think ?

That's great.. That will address any security concerns about exposing the
access keys at the instance level.
Thanks..
On Tuesday, April 28, 2015, Laurent Broudoux<EMAIL_ADDRESS>wrote:

Hi @gdelgado https://github.com/gdelgado,
s3-river does not support IAM Role for now. Connection to AWS is always
done using accessKey and secretKey.
As not being familiar with IAM Role, I've read
http://docs.aws.amazon.com/AWSSdkDocsJava/latest/DeveloperGuide/java-dg-roles.html
for an introduction. Does this match with your need ? It should be easy to
add a river configuration flag to say "do not use any key pairs but just
make a default authentification". What do you think ?
—
Reply to this email directly or view it on GitHub
https://github.com/lbroudoux/es-amazon-s3-river/issues/27#issuecomment-97239825
.

:+1:

Should be ok now. See README for instruction.

Hi @gdelgado,
I do not have an EC2 instance set up right now to test if everything is ok. Would you be able to rebuild plugin from source and perform a test before I release it ?

On Mon, Aug 10, 2015 at 4:29 AM, Laurent Broudoux<EMAIL_ADDRESS>wrote:

Hi @gdelgado https://github.com/gdelgado,
I do not have an EC2 instance set up right now to test if everything is
ok. Would you be able to rebuild plugin from source and perform a test
before I release it ?
Regards,
—
Reply to this email directly or view it on GitHub
https://github.com/lbroudoux/es-amazon-s3-river/issues/27#issuecomment-129363037
.

It seems to be working with the IAM roles using my configuration.
On Tue, Aug 11, 2015 at 9:43 AM, gdelgado2<EMAIL_ADDRESS>wrote:

Sure will it give a try and let you know.
On Mon, Aug 10, 2015 at 4:29 AM, Laurent Broudoux <
<EMAIL_ADDRESS>wrote:

Hi @gdelgado https://github.com/gdelgado,
I do not have an EC2 instance set up right now to test if everything is
ok. Would you be able to rebuild plugin from source and perform a test
before I release it ?
Regards,
—
Reply to this email directly or view it on GitHub
https://github.com/lbroudoux/es-amazon-s3-river/issues/27#issuecomment-129363037
.

Nice! Thank you for the test!


Make i2psam a dependency

A few months ago, I dug through the history of https://github.com/VirtualDestructor/bitcoin-qt-i2p and Anoncoin, and extracted i2psam into its own repository. It would be awesome if Anoncoin switched to using that via the depends system, so we can pool future improvements to benefit both Anoncoin and other library users.

This one is still DSA-only, and has this line
#define I2P_DESTINATION_SIZE 516
We use EdDSA-only in the gostcoin as
#define I2P_DESTINATION_SIZE 521
Should be more flexible, but it would require more changes in net.cpp/netbase.cpp for coins


Problems MathJax3.2 and Prototype 1.7.3

Issue Summary
We're trying to upgrade from an old MathJax V2.0 to V3.2 but got heavy problems: MathJax2.0 all worked fine for us. Now V3  prototype.js prevents showing the correct Math Symbols :-/
We have prototype.js 1.7.3, jQuery and lot more fund before adding MathJax CDN. See below. Is there any hint regarding the depencies of JS-libs and/or the formular "$" notation?
Steps to Reproduce:

config and scripts in Template/HTML

 [...]

 [...]

Math-Code

Search for a new bottomonium state decaying to $\Upsilon(1S)\pi^+\pi^-$ in pp collisions at $\sqrt{s}$ = 8 TeV

But no Math seen.
Technical details:

MathJax Version: 3.2
all browsers, all systems

You should try to post a full example exhibiting the problem.
But given the screenshot, you're probably injecting HTML after MathJax's initial rendering pass. In that case you're looking for http://docs.mathjax.org/en/latest/advanced/typeset.html.

Are there any error messages in the browser developer console?
If you enter
MathJax.typeset()

into the browser console by hand after the page loads, does the math get processed?

Thanks @dpvc , it's like this:
MathJax.typeset()
Uncaught TypeError: t.attributes is null
getDataAttributes https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js:1
getAttributes https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js:1
getAttributes https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js:1
visitDefault https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js:1
visitNode https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js:1
childNodeMml https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js:1
visitDefault https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js:1
visitNode https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js:1
childNodeMml https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js:1
visitDefault https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js:1
visitNode https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js:1
childNodeMml https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js:1
visitDefault https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js:1
visitNode https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js:1
childNodeMml https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js:1
visitDefault https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js:1
visitNode https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js:1
childNodeMml https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js:1
visitDefault https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js:1
visitNode https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js:1
visitTree https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js:1
toMML https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js:1
assistiveMml https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js:1
assistiveMml https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js:1
y https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js:1
renderDoc https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js:1
render https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js:1
typeset https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js:1
 debugger eval code:1

Thanks @pkra
i can not figure out, where or when to fill in that typeset. Nothing changes.

You should try to post a full example exhibiting the problem.
But given the screenshot, you're probably injecting HTML after MathJax's initial rendering pass. In that case you're looking for http://docs.mathjax.org/en/latest/advanced/typeset.html.

Try out https://www.zora.uzh.ch/MathJaxV3-test-1.html - it's a "reduced to the problem" HTML. Without  it works, i really need it due to other parts in that page, but i do not know who what part is fighting against the mathjax and how to config it to work... in MathJax Version 2.0 there where noch problems like this.
Thanks @pkra

@jenswitzel, thanks for the example file and console output; that allowed me to track down the issue.
Libraries like Prototype.js historically have been problematic, especially in conjunction with other libraries, because modifying the standard javascript objects, like Prototype.js does, can cause incompatibilities.  See here and here for examples.
That is what is happening in your case.  Your auto-3.3.16.js file replaces Array.from() with a version that is not compatible with modern ES6 object, which MathJax uses internally.  So when MathJax uses Array.from(map.keys()), where map is an instance of an ES6 Map object, it ends up being and empty array rather than the expected array of the keys of the map.  This causes MathJax to malfunction because Array.from() no longer does what it is supposed to.
I don't know if this is part of Prototype.js or some other package that you have combined into auto-3.3.16.js, but the offending line is line 1119, which is
Array.from = $A;

You might be able to fix that by replacing it with
if (!Array.from) Array.from = $A;

Note that the functions $A and $w are being defined globally, rather than within a closure, so they are polluting the global namespace.  You might want to enclose them in (function () { and })(); in order to localize them.
Anyway, that is why it isn't working for you.

@dpvc - you're my hero! It's the way it works :-D
Thanks for your quick and kind support!!!!
Cheers
Jens


Update prerequisites for python in READMEs

Update prerequisites for python in READMEs. Recently tried with python 3.10 and some dependencies from ocean-lib and it didn't work.

FWIW, I'm on Python 3.10.4 and don't have any issues.
What are the specific issues?

Hmm I think it was a venv issue when installing python dependencies that I have encountered together with @MBadea17. If it works from your end I think we can close this issue.


generate sepa with a lot of transitions and download

Hello
I'm trying to use this in my Laravel project to generate the SEPA file
But I can't put multiple transactions in because with the documentation that's there, it's not entirely clear to me
And by the way, how to download the XML file after having entered all the transactions
A little help, please

Nevermind, I already found out how to do it


Need help understanding memory usage (CPU backend)

Depending on whether I use jit or not, and whether I use jax.asarray on numpy arrays or not, the memory usage I observe (with CPU backend) varies by a factor of four:
use_jit = True
use_jnp = True

import numpy as np
import resource

from jax.config import config
config.update("jax_enable_x64", True)
config.update('jax_disable_jit', not use_jit)
from jax import grad, jit
import jax.numpy as jnp

rss_mb = lambda: resource.getrusage(resource.RUSAGE_SELF).ru_maxrss/1024
init = rss_mb()

A = np.ones((1000000, 100))
if use_jnp:
   A = jnp.asarray(A)

@jit
def fn(x):
    return jnp.sum(jnp.dot(A, x))

x = np.ones(100)
if use_jnp:
    x = jnp.asarray(x)

y = fn(x).block_until_ready()

print("Before grad")
print(f"RSS: {rss_mb() - init:.2f}MB")

gr = jit(grad(fn))
gr(x).block_until_ready()

print("After grad")
print(f"RSS: {rss_mb() - init:.2f}MB")

Naively, I would expect to need around 760 MB to hold the large constant A.
With jax master and jaxlib 0.1.57 I get:

use_jit=True, use_jnp=True:

Before grad
RSS: 1559.44MB
After grad
RSS: 2323.12MB

use_jit=True, use_jnp=False:

Before grad
RSS: 796.72MB
After grad
RSS: 1560.34MB

use_jit=False, use_jnp=True:

Before grad
RSS: 798.25MB
After grad
RSS: 805.61MB

use_jit=False, use_jnp=False:

Before grad
RSS: 798.46MB
After grad
RSS: 805.83MB

Even if there is a copy happening when calling jnp.asarray, that is not sufficient to explain the factor-4 variations when calling the gradient. I might be missing something very basic, but if this is expected behaviour, I think it should be better documented.

One more thing: If I use instead directly jnp.ones, I get:

use_jit=True:

Before grad
RSS: 34.72MB
After grad
RSS: 797.62MB

use_jit=False:

Before grad
RSS: 799.48MB
After grad
RSS: 807.43MB

However, in my case the large constants are obtained after several pre-processing steps on user-supplied arrays, and I've observed that performing the pre-processing in numpy is much faster than in jax (probably because of dispatch overhead?), so that I only convert to jax arrays at the end before jitting my function and gradient.

I don't have the full answer for you, but one thing to note: when you do something like
A = np.ones((1000000, 100))
if use_jnp:
   A = jnp.asarray(A)

jax and numpy will not necessarily share the same memory buffer (due to restrictions in XLA not all numpy buffers are compatible), so off the bat you may have a doubling of memory usage when use_jnp is True.

Right, I assumed that much. The discussions at #4486 are related to that. I would be willing to pay that price given the gain I see in the preprocessing time when using plain old numpy.
But the extra factor two appearing with the gradient baffles me...

With use_jnp = False, each time you call a jax function, the array will be converted to jax, which creates another copy in memory. SInce you call both f(x) and grad(f)(x), I'd expect two copies to be generated for a numpy array x.

I would then assume use_jit=True, use_jnp=False to use 2x more memory than use_jit=True, use_jnp=True, but it's the opposite that happens...
In any case, wouldn't it be possible for that implicitly-copied array to be shared between the different jax functions?

Have you factored in the indeterminacy from run to run of whether jnp.array copies data?

I've repeated 10 times each measurement and obtained very similar values; I also systematically observe a similar behaviour in a larger project.

OK - my next guess is that in JIT, when the tracer encounters the fixed value A, the ConcreteArray used to represent A is somehow creating a copy in the case that A is a jax array. @mattjj might be able to confirm this hypothesis

I haven't yet read this thread for context, but on my understanding of the specific ConcreteArray-related hypothesis in the previous comment, I don't think it should be an issue: the ConcreteArray constructor doesn't make a copy, and that's all that's called when we  add a const into a jaxpr.

I think this has something to do with the fact that you are not passing the matrix A to the function f (so f is not "pure"). If I change the code to
use_jit = False
use_jnp = False

import numpy as np
import resource

from jax.config import config
config.update("jax_enable_x64", True)
config.update('jax_disable_jit', not use_jit)
from jax import grad, jit
import jax.numpy as jnp

rss_mb = lambda: resource.getrusage(resource.RUSAGE_SELF).ru_maxrss/1024
init = rss_mb()

A = np.ones((1000000, 100))
if use_jnp:
   A = jnp.asarray(A)

@jit
def fn(x, A):
    return jnp.sum(jnp.dot(A, x))

x = np.ones(100)
if use_jnp:
    x = jnp.asarray(x)

y = fn(x, A).block_until_ready()

print("Before grad")
print(f"RSS: {rss_mb() - init:.2f}MB")

gr = jit(grad(fn))
gr(x, A).block_until_ready()

print("After grad")
print(f"RSS: {rss_mb() - init:.2f}MB")

I get
[hannes@thinkpad-fedora ~]$ python mem.py  # use_jit=True, use_jnp=True
Before grad
RSS: 795.37MB
After grad
RSS: 795.37MB
[hannes@thinkpad-fedora ~]$ python mem.py  # use_jit=True, use_jnp=False
Before grad
RSS: 794.57MB
After grad
RSS: 794.57MB
[hannes@thinkpad-fedora ~]$ python mem.py  # use_jit=False, use_jnp=True
Before grad
RSS: 794.89MB
After grad
RSS: 802.30MB
[hannes@thinkpad-fedora ~]$ python mem.py  # use_jit=False, use_jnp=False
Before grad
RSS: 795.20MB
After grad
RSS: 802.89MB

It does seem reasonable to me that jit copies the matrix A in case it is changed outside the (non-pure) function f at a later point in time, but the question that remains is: Why does this only happen for the gradient and not for f itself?

That's interesting... there should be a way to obtain the same behaviour when using a method, otherwise passing all the values as arguments can become too cumbersome, i.e.:
class F:
    def __init__(self):
        self.A = np.ones((1000000, 100))
        self.A = jnp.asarray(self.A)
        self.gr = jit(grad(self.fn))
    @partial(jit, static_argnums=(0,))
    def fn(self, x):
        y = jnp.dot(self.A, x)
        return jnp.sum(y)
objF = F()
x = np.ones(100)
x = jnp.asarray(x)
y = objF.fn(x).block_until_ready()
z = objF.gr(x).block_until_ready()

Yields again:
Before grad
RSS: 1559.62MB
After grad
RSS: 2322.78MB

But here fn is still "functionally pure" in terms of having no side effect, i.e. all arguments are simply passed through self instead of being passed explicitly as fn(x, A). Is there a way of avoiding these copies when calling methods?

There might be a more elegant way to do this, but how about something like this:
from functools import partial
from jax import grad, jit
import jax.numpy as jnp
import numpy as np
import resource

class F:
    def __init__(self):
        self.A = np.ones((1000000, 100))
        self.A = jnp.asarray(self.A)
        self._gr = jit(grad(self._fn))
    @partial(jit, static_argnums=(0,))
    def _fn(self, x, A):
        y = jnp.dot(A, x)
        return jnp.sum(y)
    def fn(self, x):
        return self._fn(x, self.A)
    def gr(self, x):
        return self._gr(x, self.A)

rss_mb = lambda: resource.getrusage(resource.RUSAGE_SELF).ru_maxrss/1024
init = rss_mb()

objF = F()
x = np.ones(100)
x = jnp.asarray(x)
y = objF.fn(x).block_until_ready()

print("Before grad")
print(f"RSS: {rss_mb() - init:.2f}MB")

z = objF.gr(x).block_until_ready()

print("After grad")
print(f"RSS: {rss_mb() - init:.2f}MB")

On my system, this gives:
[hannes@thinkpad-fedora ~]$ python mem.py
Before grad
RSS: 1146.41MB
After grad
RSS: 1146.41MB

Indeed, I was thinking about something of the sort. Now I'm trying to wrap the method using decorators, to replace all the arguments of the function with the object attributes that have the same name:
import inspect

class decorator:
    def __init__(self, fn):
        self.fn = fn
        self.fn_args = inspect.getfullargspec(self.fn.__wrapped__)[0][1:]
    def __call__(self, *args):
        dct = {}
        lst = []
        obj = args[0]
        # replace arguments of fn with attributes of obj if they have the same name
        # -> obj.fn(x, A) is replaced by obj.fn(x, obj.A)
        for i,arg_name in enumerate(self.fn_args):
            if hasattr(obj, arg_name):
                dct[arg_name] = getattr(obj, arg_name)
            else:
                lst.append(args[i+1])
        return self.fn(obj, *lst, **dct)
    def __get__(self, instance, owner):
        return partial(self.__call__, instance)

class F:
    def __init__(self):
        self.A = np.ones((1000000, 100))
        self.A = jnp.asarray(self.A)
    @decorator
    @partial(jit, static_argnums=(0,))
    def fn(self, x, A):
        y = jnp.dot(A, x)
        return jnp.sum(y)

objF = F()
x = np.ones(100)
x = jnp.asarray(x)
y = objF.fn(x).block_until_ready() # no need to pass A here

This gives RSS: 798.27MB with jitting activated.
But I haven't managed to get it to work for the gradient yet, because I don't seem to have access to the original fn (to retrieve the original list of arguments).
Also, this won't work for every case, e.g. if fn itself calls another method that uses other object attributes. So I'd still prefer to have a simpler way of avoiding those copies when using attributes inside of methods.

Here is another scheme: all of the __dict__ entries of the object are passed as kwargs to the method, provided they are jax arrays:
def decorator(method, self):
    def impl(*args, **kwargs):
        if kwargs is None:
            kwargs = dict()
        kwargs.update({ k: v for k,v in self.__dict__.items() if isinstance(v, jax.interpreters.xla.DeviceArray)})
        return method(*args, **kwargs)
    return impl

class F:
    def __init__(self):
        self.A = np.ones((1000000, 100))
        self.A = jnp.asarray(self.A)
        self.gr = decorator(jit(grad(self._fn, argnums=0)), self)
        self.fn = decorator(jit(self._fn), self)

    def _fn(self, x, **kwargs):
        A = kwargs["A"]
        y = jnp.dot(A, x)
        return jnp.sum(y)

Which yields:
Before grad
RSS: 796.35MB
After grad
RSS: 796.35MB

Still, this is not very convenient: it doesn't work if A is a sub-attribute (e.g. self.owned.A instead of self.A).

All right, here is one more attempt, this time using a custom pytree container, but I'm still puzzled by the result of calling the gradient:
import jax, resource
import numpy as np
import jax.numpy as jnp
jax.config.update("jax_enable_x64", True)
rss_mb = lambda: resource.getrusage(resource.RUSAGE_SELF).ru_maxrss/1024

@jax.tree_util.register_pytree_node_class
class F:
    def __init__(self, A=None):
        if A is None:
            A = np.ones((1000000, 100))
        self.A = jnp.asarray(A)
        self.gr = jax.jit(jax.grad(self.fn))
    def tree_flatten(self):
        return ((self.A,), None)
    @classmethod
    def tree_unflatten(cls, aux_data, children):
        return F(*children)
    @jax.jit
    def fn(self, x):
        return jnp.dot(self.A, x)

objF = F()
x = np.ones(100)
x = jnp.asarray(x)

y = objF.fn(x).block_until_ready()
print("Before grad")
print(f"RSS: {rss_mb() - init:.2f}MB")
z = objF.gr(x).block_until_ready()
print("After grad")
print(f"RSS: {rss_mb() - init:.2f}MB")

Result:
Before grad
RSS: 797.37MB
After grad
RSS: 2286.23MB

Any update on this?

When I run the most recent code block above I get NameError: name 'init' is not defined. When I delete init from the f-strings, I get TypeError: Gradient only defined for scalar-output functions. Output had shape: (1000000,).

Apologies, should be fine now!

If you use A = jnp.ones(...) rather than A = np.ones(...), I think the result will be what you expect.
I think the issue is that zero-copy views are not guaranteed when converting numpy arrays to jax arrays, and I suspect some quirk of the approach to measuring memory use that makes it appear as if grad is causing the issue.

If you use A = jnp.ones(...) rather than A = np.ones(...), I think the result will be what you expect.

Indeed:
Before grad
RSS: 796.85MB
After grad
RSS: 796.85MB

I suspect some quirk of the approach to measuring memory use that makes it appear as if grad is causing the issue.

I'm not sure what that would be...?
But I'm afraid this does not really address the original issue(s) that:

In my case I do not start with jax arrays but with numpy arrays (because of preprocessing that's too slow in pure jax, so done in numpy).
It would be nice to be able to build object-oriented programs with jax where some arrays used by the jitted functions/gradients/... are not passed explicitly as arguments but rather through self

(apologies if the problem is not clearly formulated)
In the end the most favourable approach would seem to just (going back to the snippet in my original post) do use_jit=True and use_jnp=False, even if memory usage is still twice as high as it could/should be...

I've played with this a bit and I have no new insights... particularly as to why converting a numpy array at the beginning of the program would lead to more memory usage later in the program. Perhaps @hawkinsp might have some ideas about what is causing this.


tag vendor-istio

tag vendor-istio as part of release scripts
also remove unused tests

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: rkpagadala
Assign the PR to them by writing /assign @rkpagadala in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

prow/OWNERS
release/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Could you separate the two unrelated commits into two different PRs? =)

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: yutongz
Assign the PR to them by writing /assign @yutongz in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

release/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@hklai :) please approve

@rkpagadala: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e.sh
e71c275de5be83b7e57bf6e0f58b2c93ae89a118
link
/test istio-pilot-e2e

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

New changes are detected. LGTM label has been removed.

/lgtm

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: hklai
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

release/OWNERS [hklai]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@rkpagadala: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-presubmit.sh
cd84ada9f3019787fd2d4d3121f2199d226a5338
link
/test istio-presubmit

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

Not needed with recent changes, vendor-istio is no longer used


HDDS-11188. Initial setup for new UI layout and enable users to switch to new UI

What changes were proposed in this pull request?
HDDS-11188. Initial setup for new UI layout and enable users to switch to new UI
Please describe your PR in detail:

As a part of HDDS-11153 a new UI is being worked on for Ozone Recon
However since this will be done is steps we do not want to make changes in the existing stable UI
Hence we should allow switching of the UI to the users so that they can access the existing UI, while the work for the new UI can be done in the background before migrating.
This PR provides the changes required to allow users to switch to the new UI and also the initial layout for the pages

What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-11188
How was this patch tested?
Patch was tested manually.

Thanks @devabhishekpal for the patch.  Changed it to draft as there are some build and rat errors.
@ArafatKhan2198 @smitajoshi12 please review

Hi @adoroszlai , thanks for pointing out the build issues.
I have fixed those, removed the files which are currently not required for this PR, and tested out the patch locally.
@smitajoshi12 @ArafatKhan2198 it would be great if you could take a look at this PR.
Thanks

Thank you @devabhishekpal for the patch, thank you @adoroszlai and @ArafatKhan2198 for the reviews.


Docstrings for licenses service

added docstrings for licenses service

Messages

:book:
:sparkles: Thanks for your contribution to Shields, @pr7prashant!

  Generated by :no_entry_sign: dangerJS against 2445453c0a50e7a461091731d64f693faff39319


fix: return error with fewer mount options on Windows

as discussed in https://github.com/kubernetes/utils/pull/180, return error with fewer mount options on Windows
/assign @msau42 @jingxu97

/lgtm


[WIP][ENH] mne_setup_forward_model command

Reference issue
Part of discussion in #6707
What does this implement/fix?
This PR adds a command line function mne_setup_forward_model that wraps mne.make_bem_model and save its ouput using mne.write_bem_surfaces.
It tries to replicate the MNE-C API.

don't forget to update what's new page. Travis complains

Spotted differences between the MNE-C API and MNE-Python API
MNE-Python:

no --noswap option

no --innershift or --innershift options

no --innershift, --outershift, --scalpshift options

Is there a need/way to implement it in python ?
In MNE-C the --homog flag does not take any conductivity, in MNE-Python a conductivity is still needed for a single layer model. Should we accept other values than 0.3 (default to MNE-C)?

no as brainc is what 0.3 corresponds to. it's the conductivity of the brain


"Internal Server Error" for /builds and /features when release does not exist

If I visit https://docs.rs/crate/{name}/{version}/builds or https://docs.rs/crate/{name}/{version}/features with an invalid combination of name and version (i.e. a release that doesn't exist) I get an Internal server error. I only got there by manually typing in a version number for a crate that never existed.
Expected Behavior
An error page with The requested crate does not exist.
Actual Behavior
An error page with Internal Server Error
Example
https://docs.rs/crate/serde/2.0.0/builds
Probable Cause
The crate_details handler wraps most of its logic into a match_version call that early-returns Err(Nope::CrateNotFound) when no crate is found. That turns into an IronError and produces the expected error page while the rest of the handler can assume that there is an actual release to work with.
The features handler does not use such a wrapper and just fails on an assertion in /src/web/features.rs. This also has the effect that
https://docs.rs/crate/serde/1.0.118, https://docs.rs/crate/serde/latest and https://docs.rs/crate/serde/1.0.118/features work, but https://docs.rs/crate/serde/latest/features does not.

Sounds like you understand exactly what's breaking and why :) are you interested in writing up a fix? Like you said, it should be as simple as calling match_version on the version, that would account for semantic versioning too which currently doesn't happen.

@Xiphoseer are you currently tackling this? If not, I'd love to pick it up.

@Xiphoseer are you currently tackling this? If not, I'd love to pick it up.

No, I'm not.

PR filed! #1236

PR filed! #1236


Cannot display AR content

Describe the bug
I'm developing AR project using Aframe + ar.js. the project was OK with few (I think less than 20 marker) marker..but then when I add more marker+AR content, it show error. Please refer below
To Reproduce
aframe-ar.js:19 Uncaught abort() at Error
at jsStackTrace (https://raw.githack.com/jeromeetienne/AR.js/1.7.1/aframe/build/aframe-ar.js:2:41099)
at stackTrace (https://raw.githack.com/jeromeetienne/AR.js/1.7.1/aframe/build/aframe-ar.js:2:41282)
at Object.abort (https://raw.githack.com/jeromeetienne/AR.js/1.7.1/aframe/build/aframe-ar.js:19:4866)
at _abort (https://raw.githack.com/jeromeetienne/AR.js/1.7.1/aframe/build/aframe-ar.js:2:106287)
at Uj (https://raw.githack.com/jeromeetienne/AR.js/1.7.1/aframe/build/aframe-ar.js:9:70106)
at Re (https://raw.githack.com/jeromeetienne/AR.js/1.7.1/aframe/build/aframe-ar.js:10:32411)
at ie (https://raw.githack.com/jeromeetienne/AR.js/1.7.1/aframe/build/aframe-ar.js:11:62784)
at je (https://raw.githack.com/jeromeetienne/AR.js/1.7.1/aframe/build/aframe-ar.js:11:64206)
at de (https://raw.githack.com/jeromeetienne/AR.js/1.7.1/aframe/build/aframe-ar.js:11:52972)
at wg (https://raw.githack.com/jeromeetienne/AR.js/1.7.1/aframe/build/aframe-ar.js:10:85893)
If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.
Expected behavior
it should be displayed AR content when the camera detect marker. but it display nothing and when I check the Inspect, it return error as above
Screenshots

Desktop (please complete the following information):

OS: [Window]
Browser [chrome]
Version [Version 87.0.4280.66 (Official Build) (64-bit)]

Hope someone can advice and suggest the solution. TQ

So if I understand your issue correctly, your project was working as expected with 19 image markers but it no longer works with 20 or greater markers?

yeah it is true..then it display error "out of memory".. I cannot figure it
out since there is no problem on storage server that I put my project.
On Thu, Nov 26, 2020, 2:47 PM Kieran Farr<EMAIL_ADDRESS>wrote:

So if I understand your issue correctly, your project was working as
expected with 19 image markers but it no longer works with 20 or greater
markers?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jeromeetienne/AR.js/issues/784#issuecomment-734108814,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANUILUXBG6SARSRMCV7SUIDSRX2YZANCNFSM4UDGNOZA
.

@helmiskandar : may i ask, how performance is with 19 tracking-images?


idt: Fixup Options structure and cleanup set_handler_fn

This change is an alternative to #225:

Moves the IDT entry's CS GDT selector to the options structure

It also now uses SegmentSelector

The set_handler_fn is now a proper generic function

This is done by adding the InterruptFn trait

Change behavior (and document) so set_handler_fn resets all the
options (as opposed to some).

Signed-off-by: Joe Richey<EMAIL_ADDRESS>

This change should be non-breaking, right?

This change should be non-breaking, right?

This change should be non-breaking, right?

Pretty sure the change on set_handler_fn is breaking since there's no blanket impl for u64 which was the previous type of the argument.

This change should be non-breaking, right?

Pretty sure the change on set_handler_fn is breaking since there's no blanket impl for u64 which was the previous type of the argument.

This change should be non-breaking, right?

Correct, as the only function that's changed is set_handler_fn which went from an explicit implementation on 5 types to an implementation on an interface that is implemented by those types, so all existing code should still work.
There is a functional change. Before, set_handler_fn would not change things like disable_interrupts, set_privilege_level, or set_stack_index. Now, it will reset those values to their defaults.

This change should be non-breaking, right?

Correct, as the only function that's changed is set_handler_fn which went from an explicit implementation on 5 types to an implementation on an interface that is implemented by those types, so all existing code should still work.
There is a functional change. Before, set_handler_fn would not change things like disable_interrupts, set_privilege_level, or set_stack_index. Now, it will reset those values to their defaults.

Pretty sure the change on set_handler_fn is breaking since there's no blanket trait impl for u64 which was the previous type of the argument.

I don't think the u64 stuff should be an issue. The u64 argument was only used w/ set_handler_addr, which was a private function. The only publicly exported functions were set_handler_fn which all only used function pointers.

Pretty sure the change on set_handler_fn is breaking since there's no blanket trait impl for u64 which was the previous type of the argument.

I don't think the u64 stuff should be an issue. The u64 argument was only used w/ set_handler_addr, which was a private function. The only publicly exported functions were set_handler_fn which all only used function pointers.

There is a functional change. Before, set_handler_fn would not change things like disable_interrupts, set_privilege_level, or set_stack_index. Now, it will reset those values to their defaults.

Ah, good point! However, I think the only way to change the entry options is to call set_handler_fn, so it should only make a difference if set_handler_fn is called twice on the same entry, e.g.:
let mut entry = idt[42];
entry.set_handler_fn(foo).disable_interrupts(false);
entry.set_handler_fn(bar); // this now disables interrupts again

So I don't expect much breakage from this in practice. However, I would still classify this as a breaking change to be on the safe side. I therefore changed the base branch of this PR to the next branch.

There is a functional change. Before, set_handler_fn would not change things like disable_interrupts, set_privilege_level, or set_stack_index. Now, it will reset those values to their defaults.

Ah, good point! However, I think the only way to change the entry options is to call set_handler_fn, so it should only make a difference if set_handler_fn is called twice on the same entry, e.g.:
let mut entry = idt[42];
entry.set_handler_fn(foo).disable_interrupts(false);
entry.set_handler_fn(bar); // this now disables interrupts again

So I don't expect much breakage from this in practice. However, I would still classify this as a breaking change to be on the safe side. I therefore changed the base branch of this PR to the next branch.

Pretty sure the change on set_handler_fn is breaking since there's no blanket trait impl for u64 which was the previous type of the argument.

I don't think the u64 stuff should be an issue. The u64 argument was only used w/ set_handler_addr, which was a private function. The only publicly exported functions were set_handler_fn which all only used function pointers.

Right! I'm muddling those two up, my bad :sweat_smile:

Pretty sure the change on set_handler_fn is breaking since there's no blanket trait impl for u64 which was the previous type of the argument.

I don't think the u64 stuff should be an issue. The u64 argument was only used w/ set_handler_addr, which was a private function. The only publicly exported functions were set_handler_fn which all only used function pointers.

Right! I'm muddling those two up, my bad :sweat_smile:


Creating the NT service from the system drive

Creating the NT service from the system drive instead of the current drive, to fix NT service start issue when the temp drive is wiped out.

Do not merge, pending validation.

#sign-off


Conditional credentials?

Would there be support for configuring the Access-Control-Allow-Credentials header dynamically?  It looks like currently the only valid values for the credentials config option is true.  Allowing a function similar to the origin option would allow for setting Access-Control-Allow-Credentials based on the request.

Do you have example code you can share for what you're trying to do in your app?

I was doing something like:
cors({
  origin: ['a', 'b'],
  credentials: true,
});

It seemed inconsistent to send Access-Control-Allow-Credentials but not Access-Control-Allow-Origin.

You can configure CORS options on a per request basis by passing in a function when setting the middleware up. https://github.com/expressjs/cors#configuring-cors-asynchronously

Thanks, this seems adequate.  I've ended up with something like:
app.use(() => {
  const wrapped = cors((req, callback) => {
     try {
       const { allow, credentials } = getOptions(req);
       if(allow) {
         callback(null, {
           origin: true,
           credentials,
           methods: 'GET,POST', // keep it simple
           maxAge: 86400, // max(firefox, chrome) - see: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Max-Age
         });
       } else {
         callback(null, { origin:false });
       }
     } catch(err) {
       callback(err);
     }
  });
  return (req, res, next) => {
    wrapped(req, res, () => {
      res.vary(varyHeaderFor(req));
      next();
    });
  };
});

function varyHeaderFor({ method }) {
  switch(method) {
    case 'OPTIONS': return 'Origin, Access-Control-Request-Headers';
    default:        return 'Origin';
  }
}

where getOptions(req) is app-specific code.
The Vary header also seemed to need additional manual handling.


Minify the resulting Docker images

See the docker-slim project.
Minification Examples
Node.js application images:

from ubuntu:14.04    - 432MB  => 14MB   (minified by 30.85X)
from debian:jessie   - 406MB  => 25.1MB (minified by 16.21X)
from node:alpine     - 66.7MB => 34.7MB (minified by 1.92X)
from node:distroless - 72.7MB => 39.7MB (minified by 1.83X)

Python application images:

from ubuntu:14.04             - 438MB  => 16.8MB (minified by 25.99X)
from python:2.7-alpine        - 84.3MB => 23.1MB (minified by 3.65X)
from python:2.7.15            - 916MB  => 27.5MB (minified by 33.29X)
from centos:7                 - 647MB  => 23MB   (minified by 28.57X)
from centos/python-27-centos7 - 700MB  => 24MB   (minified by 29.01X)
from python2.7:distroless     - 60.7MB => 18.3MB (minified by 3.32X)

Ruby application images:

from ubuntu:14.04    - 433MB => 13.8MB (minified by 31.31X)
from ruby:2.2-alpine - 319MB => 27MB   (minified by 11.88X)
from ruby:2.5.3      - 978MB => 30MB   (minified by 32.74X)

Golang application images:

from golang:latest - 700MB => 1.56MB (minified by 448.76X)
from ubuntu:14.04  - 531MB => 1.87MB (minified by 284.10X)
from golang:alpine - 258MB => 1.56MB (minified by 165.61X)
from centos:7      - 615MB => 1.87MB (minified by 329.14X)

Rust application images:

from rust:1.31 - 2GB => 14MB (minified by 147.16X)

JAVA application images:

from ubuntu:14.04 - 743.6 MB => 100.3 MB

PHP application images:

from php:7.0-cli - 368MB => 26.6MB (minified by 13.85X)

Haskell application images:

(Scotty service) from haskell:8 - 2.09GB => 16.6MB (minified by 125.32X)

Elixir application images:

(Phoenix service) from elixir:1.6 - 1.1 GB => 37 MB (minified by 29.25X)

Note: The examples are in a separate repository: https://github.com/docker-slim/examples

Which docker image do you want to reduce? The ocurrent/ocaml ones are dev images, so techniques like the ones used by docker-slim don’t apply : you need a compiler and library files to compile your project!

This is indeed pointless for images designed for CI and development use.  It’s the end user images that can be eventually crunched.


wis2box to include GTS-header in WIS2-notification for wis2gts gateway

From the WIS2-transition-guide:
<IP_ADDRESS> For WIS Centres wishing to stop their MSS
A Member planning to stop GTS transmission shall * provide their data in conformance with
WIS2 Node operations on WIS2 * for data that has previously been available on the GTS and
that should continue to be available on the GTS indicate the GTS Abbreviated Header Line
(AHL) of the bulletin in which the data is to be published. this is done by including the
GTS property in the WIS2 Notification Message (see example below).
The GTS property enables the WIS2 to GTS Gateway operator to easily identify data for
republication on the GTS and the AHL of the associated data.
"properties": {
   "gts": {
    "ttaaii": "FTAE31",
    "cccc": "VTBB"
   }
}

@tomkralidis How would we do this technically ? Would we store the ttaaii and cccc as an additional attribute for the station in the stations-collections or as attributes of the dataset in discovery-metadata-collection

After discussion with Enrico and Dave we decided on the following implementation to allow wis2box-administrators to add this info:
wis2box to use an (optional) filename-to-gts-headers mapping table that has 3 columns:

input-filename-pattern
TTAAii
cccc

The wis2box should add the additional 'gts'-properties whenever the input-filename matches the input-filename-pattern from the mapping


Flask/Django examples mostly not working?

I'm trying to use examples/flask_example and run python manage.py run server after pip-installing everything, but for most auth providers I'm getting errors, e.g. this one for Twitter: “ValueError: Only unicode objects are escapable. Got None of type <type 'NoneType'>."
So far I'm getting only a login window for Instagram, Yandex, Podio, Mined and (maybe) Persona, where I don't have an account. It looks like most sites barf at some client or app ID being wrong.
I think I've read the docs about configuration etc. but it looks like this example should work as-is, or isn't that the case?
I just retested with examples/django_example and apparently I'm getting exactly the same results. So it's not a matter of flask...

Example apps were revamped as part of the split social-examples.


Photo uploads are showing the docker container url rather than the site domain as the URL

For example, if you upload an image the images url will be prefixed with api:8080/pictrs rather than the domain of the install.

Depends on #201


Implement a toString operator

This operator should accept any T value and emit a String value.

🎊 My diff is ready for review at http://codereview.cc/D3041


Date issues

I notices that a java.sql.Date is returned when date type is declared on the mapping. However, in this java version the ability of Date to return time also is deprecated.
It seems like ElasticSearch's date type should be exposed as java.sql.Timestamp

Are you able to resolve this issue?

Yes, by changing the return type to Timestamp, although it will work for application which is not a strict 3rd party one.

Testing 6.4.0 and having the same issue, I have to change to timestamp to pass the test case


Enum types don't accept type annotations

The type
inductive foo : Type
| bar | baz

does not compile, with error:
universe level of type_of(arg #1) of 'foo.baz' is too big for the corresponding inductive datatype

If the type annotation is left off (as inductive foo | bar | baz), then it will compile and land in Type anyway.

I cannot reproduce this problem. Both versions compile correctly on my machine.

What compiler are using? Is this on current master?

Crap, now I can't reproduce it. Ah, whatever, I'll try to pin it down more precisely next time I see it.


Could Flow infer an optional property is defined, when checking with Number.isInteger?

Repro: https://flow.org/try/#0C4TwDgpgBAKgFgSwHYHMoF4oG8BQUoBmA9kQPwBcUSArgLYBGEATgDQ4C+A3DjgdUgGNgCIkij0AhkygAKYJXjIUASmx4oCArICEAOTqMmAOgQBnAJJJgEFMzlHiRVQB9nUYA5JQAPFABMqrj4UACQAqKmRAA2EEZRRCgyAOSOGqZURMBQEuIIaDQMzEnKnFDq7Bw8kkwyWIQklH5Q7CVAA
Code:
type Thing = {
  foo?: number,
};

function bar (t: Thing) {
  if (!Number.isInteger(t.foo) || t.foo < 2) {
   	console.log('foo is not a big number');
  }
}

bar({ foo: 2 });

Would Flow be able to infer that t.foo is defined (and of numeric type) when doing this lazy evaluation?
I think this this current behaviour is probably expected, since we can't guarantee that Number.isInteger (for example) isn't mutating t.foo? What are your thoughts on whitelisting builtins such as this that can inform flow of the type? Thanks so much!
Alternatively, can I do any better than the following?
function bar (t: Thing) {
  if (!Number.isInteger(t.foo)) {
    console.log('foo is not a big number');
  } else if (t.foo && t.foo < 2) {
    console.log('foo is not a big number');
  }
}

I don't buy your mutation hypothesis. As function arguments, JavaScript numbers are sent by value, not by reference. (Providing a Thing to a function should invalidate any refinement(s) of that Thing's members because JavaScript objects are sent by reference.)
I toyed with this a bit because isNumber(undefined) evaluates to false, so your error is a false negative. Looking at the declaration of Number from lib/core.js, I see that isInteger has a signature of isInteger(value: any): boolean, therefore Flow currently doesn't know that a value of undefined should map to false. I hoped that method overriding on declared classes could resolve the problem, e.g.
declare class NumberPatch {
  static isInteger(number): boolean;
  static isInteger(void): false;
}

declare var foo: number | void;
if (NumberPatch.isInteger(foo)) {
  (foo: number); // False negative
}

This gives Flow sufficient information to narrow foo to number, but Flow doesn't leverage the information. It should.


location.find.furface_blocks timing out

http://mcmonkey.org/paste/20942#329
16:43:11 [INFO] +- Executing dCommand: DEFINE/p@BlackCoyote ---------+
16:43:11 [INFO]  ERROR! valueOf dLocation returning null:
                   223_0,20_0,1330_0,world(internal exception:For input string:
                   "223_0")
16:43:11 [INFO]  Filled tag <&dot> with '.'.
16:43:11 [INFO]  Filled tag <def[value].replace[_].with[.]> with
                   'l@223.0,20.0,1330.0,world'.
16:43:11 [INFO] +> Executing 'DEFINE':
                   queue='GUILD_NEXUS_EVENTS_DenizenAkCombinations'
                   definition='location'  value='l@223.0,20.0,1330.0,world'
16:43:11 [INFO]  Queue 'GUILD_NEXUS_EVENTS_DenizenAkCombinations' Executing:
                   DEFINE "locationlist"
                   "<def[location].find.surface_blocks.within[3]>"
16:43:11 [INFO] +- Executing dCommand: DEFINE/p@BlackCoyote ---------+
16:43:21 [INFO]  ERROR! Tag filling timed out!
16:43:21 [INFO]  Filled tag <def[location].find.surface_blocks.within[3]> with
                   'def[location].find.surface_blocks.within[3]'.
16:43:21 [INFO]  ERROR in script 'GUILD_NEXUS_EVENTS'! Tag
                   <def[location].find.surface_blocks.within[3]> is invalid!
16:43:21 [INFO] +> Executing 'DEFINE':
                   queue='GUILD_NEXUS_EVENTS_DenizenAkCombinations'
                   definition='locationlist'
                   value='def[location].find.surface_blocks.within[3]'

the tag times out when the chunk it's looking for isn't loaded it seems, i've never seen it do that? do chunks have to be loaded now to use this tag?

Didn't you recently encounter a very similar bug where .get_chunk would timeout as well?
Something is being really weird with chunks on your server...

send halp pls :(

it's not like i have a corrupt chunk or something, moving around in the world including the locations that these scripts were used for is fine, server doesn't mind it at all, just when denizen tries to fetch stuff from them, do you have any idea what i could possibly do?


Windows LTSC: Failed to set data for AppsUseLightTheme

Hey, your little project looks interesting, so I tested it on:

Windows 10 LTSC (2019) Build 1809
TaskDock: v0.1.65-r20190920
Default Windows settings (light heme)

But it seems "AppsUseLightTheme" does not work in Win 10 LTSC because the value simply doesn't exist.

Exception error

Thanks for your feedback, it was an issue on a third party component I was using. Hopefully they will fix that.
Meanwhile the workaround is to add manually those values to the registry.
At HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Themes\Personalize
REG_DWORD value AppsUseLightTheme
The next build will fix that issue.