External module reference is not prefixed with the module name

A reference to a renamed class located under an external entity marked with [Module] attribute is not prefixed with the module name (the name of variable representing the loaded module).
Module name prefix should be always emitted unless Module.preventModuleName is set to true.
The logic described above works fine for non-external modules, only external ones are affected.
Steps To Reproduce
https://deck.net/1931f513e4ffb4cbe0b10db85dbf273c
public class Program
{
    public static void Main()
    {
        var b = new test.A();
    }
}

[External]
[Bridge.Module(Name = "test")]
public static class test
{
    [Bridge.Name("B")]
    public class A : Retyped.IObject
    {
    }
}

Expected Result
Bridge.assembly("Demo", function ($asm, globals) {
    "use strict";

    require(["test"], function (test) {
        Bridge.define("Demo.Program", {
            main: function Main () {
                var b = new test.B();
            }
        });

    // ...

Actual Result
Bridge.assembly("Demo", function ($asm, globals) {
    "use strict";

    require(["test"], function (test) {
        Bridge.define("Demo.Program", {
            main: function Main () {
                var b = new B();
            }
        });

    // ...

The fix has just been merged in! It will be available next Bridge release (see attached milestone).


[ci] Implicitly get coverage version from coveralls

The coveralls package already has a dependency on coverage
and sets the boundary according to its support for the coverage library.
We should not duplicate this information.

Pull Request Test Coverage Report for Build 284

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 273:
0.0%

Covered Lines:
479

Relevant Lines:
479

💛  - Coveralls


[BUG] Cannot Reproduce H2O Prediction Output

🐛 Bug
I trained a model based on circulus/Llama-2-7b-orca-v1 and exported:

Model
Validation predictions
Logs

However, I'm currently having troubles reproducing the exact output obtained in the validation predictions CSV. Specifically, the model is using greedy search and I've tried loading the model in the following ways:

Using vLLM
Using HF TGI
Using the sample code of the model card.

vLLM and HF TGI give the same output when running with greedy search, but it differs from the one in the prediction file.
The sample code of the model gives a different output to the ones of vLLM, HF TGI and the one in the file, when using greedy search (although it comes closer than vLLM and HF TGI).
Considering the above, I'm not sure if I'm loading the model correctly (and passing the intended generation params), or if there is an issue. The prediction params are as follows:
prediction:
    batch_size_inference: 0
    do_sample: false
    max_length_inference: 1024
    metric: BLEU
    metric_gpt_model: gpt-3.5-turbo-0301
    min_length_inference: 2
    num_beams: 1
    num_history: 4
    repetition_penalty: 1.2
    stop_tokens: ''
    temperature: 0.3
    top_k: 0
    top_p: 1.0

To Reproduce
Just train the circulus/Llama-2-7b-orca-v1 (or another model) on custom data and check whether the validation prediction data can be reproduced (i.e. the outputs) using greedy search.
LLM Studio version

Nightly version of LLM Studio (as obtained by running docker run ... gcr.io/vorvan/h2oai/h2o-llmstudio:nightly).

Thank you for the detailed description! Would it be possible for you to share the training configuration YAML file?
Regarding the discrepancies between validation predictions and hosted inference using vLLM and HF TGI, one or more of the following could be a potential explanation:

LORA: If LORA is merged, the resulting model may produce slightly different logits.
Quantization/Model Data Type. This may be different during training and inference. Note that we also have additional logic to cast certain params to fp32 for model stability during training.
Implementation Differences between HF and vLLM/TGI: An issue related to this has been documented here.

Additionally, we've observed discrepancies in validation and chat outputs attributed to mismatches in tokenizer configurations, as detailed here.

Hey @maxjeblick
Thank you for your swift response. From my investigation, it may be due to LORA and Quantization (I'm still in the process of assessing whether tokenizer configurations would come into play). However, just to be sure, here's the training configuration YAML used:
training:
    batch_size: 1
    differential_learning_rate: 1.0e-05
    differential_learning_rate_layers: []
    drop_last_batch: true
    epochs: 1
    evaluate_before_training: false
    evaluation_epochs: 1.0
    grad_accumulation: 1
    gradient_clip: 0.0
    learning_rate: 0.0001
    lora: true
    lora_alpha: 16
    lora_dropout: 0.05
    lora_r: 4
    lora_target_modules: ''
    loss_function: TokenAveragedCrossEntropy
    optimizer: AdamW
    save_best_checkpoint: false
    schedule: Cosine
    train_validation_data: false
    warmup_epochs: 0.0
    weight_decay: 0.0

If it turns out to be due to LORA/Quantization, is there any recommended literature I could refer to (specific to H2O LLM Studio) for the best way to handle these, as to minimize differences between training and prediction?
My goal here is to avoid falling into a "rabbit-hole" of constantly training the model to increase the BLEU score, but then have the corresponding BLEU in prediction randomly vary (no problem if it doesn't increase as much as in training, so as long as it still increases).

Are your predictions differ completely, is one method constantly producing worse results, or do the predictions differ after some words?

as to minimize differences between training and prediction?

Switching to fp16 and inference batch size 1 (see discussion here) should reduce differences.
Apart from that, slight differences in logit output between using the model for inference during the training process, using the (merged) model for inference and using a potentially different implementation (vLLM/TGI) are expected. If predictions are completely different or worse for one method, there probably a bug somewhere.

@maxjeblick  Sorry for the long hiatus - I'm back with some results and they are... Confusing.
I generated the outputs for the validation set of my model against these three different implementations:

Text Generation Interface.
Hugging Face Basic transformers pipeline.
vLLM

All of the above are using generation config parameters to make them as deterministic as possible (i.e. temp=0.1, do_sample=False, etc.), since in LLM Studio, the validation used deterministic generation. Here's what I found:
Text Generation Interface
BLEU score (truth vs. h2o_pred): 80.88295765859095
BLEU score (truth vs. model_pred): 28.665971262286216
BLEU score (h2o_pred vs. model_pred): 29.20357323737969
Hugging Face Basic Transformers Pipeline

BLEU score (truth vs. h2o_pred): 80.88295765859095
BLEU score (truth vs. model_pred): 26.181086090582695
BLEU score (h2o_pred vs. model_pred): 28.04616682539429

vLLM

BLEU score (truth vs. h2o_pred): 80.88295765859095
BLEU score (truth vs. model_pred): 21.74056099054717
BLEU score (h2o_pred vs. model_pred): 20.213948909024584

Although looking at it from a manual qualitative approach, some of the results are not as bad, they are definitely substantially different from H2O's, this is considering that all of them are being deterministic.
Based on this, I'm not sure if there's a bug, but this definitely makes it harder to improve the model's quality in production. For reference, here's the source code used to get the BLEU scores:
import pandas as pd
from nltk.translate.bleu_score import sentence_bleu, SmoothingFunction

# Load the CSV file into a DataFrame
df = pd.read_csv("./vllm_infer_results.csv")

# Initialize the BLEU smoothing function
smooth = SmoothingFunction().method1

# Function to compute BLEU score
def compute_bleu(reference, candidate):
    reference_tokens = reference.split()
    candidate_tokens = candidate.split()
    return sentence_bleu([reference_tokens], candidate_tokens, smoothing_function=smooth)

# Compute BLEU scores for "truth" vs. "h2o_pred"
bleu_truth_vs_h2o = df.apply(lambda row: compute_bleu(row['truth'], row['h2o_pred']), axis=1)

# Compute BLEU scores for "truth" vs. "model_pred"
bleu_truth_vs_model = df.apply(lambda row: compute_bleu(row['truth'], row['model_pred']), axis=1)

# Compute BLEU scores for "h2o_pred" vs. "model_pred"
bleu_h2o_vs_model = df.apply(lambda row: compute_bleu(row['h2o_pred'], row['model_pred']), axis=1)

# BLEU scores are stored in the respective Series
# You can access the scores for individual rows as needed
print(f"BLEU score (truth vs. h2o_pred): {bleu_truth_vs_h2o.mean()}")
print(f"BLEU score (truth vs. model_pred): {bleu_truth_vs_model.mean()}")
print(f"BLEU score (h2o_pred vs. model_pred): {bleu_h2o_vs_model.mean()}")

Thanks for the detailed description! I think this recent thread (and corresponding issue) should be relevant. We'll monitor the issue mentioned and implement/support potential fixes.
As your issue is hard to debug remotely, I suggest:

Avoiding left-padding during inference (inference batch size=1) and disable kv cache (add use_cache=Falseargument here). We may add use_cache to the configuration (and UI hence) in the future.
To elobrate on the post: Train a smaller model in fp32 (without LORA if possible), and see if models are better aligned (on short texts, preferably). If so, the discrepancy is likely a result of the rounding errors.

In general, I'd also suggest to use GPT metric in favor of BLEU for incremental model finetuning, as GPT metric is much more aligned with model quality.

That issue does sound like the scenario that is happening. I'll do a round of testing with those suggestions and will get back to here with the results! Thanks for your time and help so far @maxjeblick

Again, sorry for the long time between replies, but I have some new findings.
This time, I only tested with vLLM and Hugging Face Basic Transformers Pipeline. What I tried:

Fine-tuning with int8 weights
Fine-tuning with float16 weights
Fine-tuning with float32 weights (required deepspeed)

All of the above still had Lora activated (need to find a way to re-train without lora).
The findings:
vLLM int8

BLEU score (truth vs. h2o_pred): 81.745937661239095
BLEU score (truth vs. model_pred): 70.9285796075405
BLEU score (h2o_pred vs. model_pred): 63.29405626127132

vLLM float16

BLEU score (truth vs. h2o_pred): 82.1443564857712
BLEU score (truth vs. model_pred): 71.02544444704684
BLEU score (h2o_pred vs. model_pred): 63.98552556438229

Hugging Face Basic Transformers Pipeline int8

BLEU score (truth vs. h2o_pred): 86.38065571613316
BLEU score (truth vs. model_pred): 70.19465206463109
BLEU score (h2o_pred vs. model_pred): 72.98347839674122

Hugging Face Basic Transformers Pipeline float16

BLEU score (truth vs. h2o_pred): 84.68455141870595
BLEU score (truth vs. model_pred): 65.59330490822121
BLEU score (h2o_pred vs. model_pred): 70.46537890906082

Based on the above, there's a substantial difference in prediction when one goes from int4 to int8/float16.
Subsequently, I haven't been able to export the float32 model, as it seems it does not fit using GPUs (I had to use deepspeed). Is there a workaround to being able to download the model weights, when it only fits using deepspeed?
I still need to validate with a float32 model and without LORA, but it does seem that the issue referenced in the thread you've proded @maxjeblick could be the root cause.

You can select cpu as device when exporting if it does not fit the GPU.


[REVIEW] Real Dev Squad

Project link
https://github.com/Real-Dev-Squad/website-backend

Repo Review
TLDR;
Your repo looks awesome! See the full details with my suggestions below.

Full details
Your repo looks awesome! Here some suggestions from my side:

consider adding screenshots or a gif
consider using conventional commit messages
https://github.com/Real-Dev-Squad/website-backend/community take a look here


stateless widget request

Steps to Reproduce

Run flutter create bug.
Update the files as follows: ...
...

Expected results:
Actual results:

Logs

Hi @SamroodAli
I am not sure what do you mean by "stateless widget request" since it already  exist
Stateful and stateless widgets
opening an issue please try to provide
all or some of the information indicated in the template

Issue Template
If you are looking for support, please check out our documentation
or consider asking a question on Stack Overflow:
- https://flutter.dev/
- https://api.flutter.dev/
- https://stackoverflow.com/questions/tagged/flutter?sort=frequent
If you have found a bug or if our documentation doesn't have an answer
to what you're looking for, then fill our the template below. Please read
our guide to filing a bug first: https://flutter.dev/docs/resources/bug-reports
Steps to Reproduce
Please tell us exactly how to reproduce the problem you are running into.
Please attach a small application (ideally just one main.dart file) that
reproduces the problem. You could use https://gist.github.com/ for this.
If the problem is with your application's rendering, then please attach
a screenshot and explain what the problem is.

1. ...
2. ...
3. ...

Please tell us which target platform(s) the problem occurs (Android / iOS / Web / macOS / Linux / Windows) Which target OS version, for Web, browser, is the test system running? Does the problem occur on emulator/simulator as well as on physical devices?
Target Platform: Target OS version/browser: Devices:
Run your application with `flutter run --verbose` and attach all the
log output below between the lines with the backticks. If there is an
exception, please see if the error message includes enough information
to explain how to solve the issue.
Run `flutter analyze` and attach any output of that command below.
If there are any analysis errors, try resolving them before filing this issue.
Finally, paste the output of running `flutter doctor -v` here.

Closing this issue, since no information has been provided.
Thank you


Empty folder leeds to spinlock

Hi,
first of all thanks for this great script!
When trying to use it, my example directory structure contained an empty folder which lead to the script hanging forever.
With debug enabled I could see how it loops. The only thing that changes is the srchash
As soon as I added an empty file to this folder, the problem was gone.
Here is an excerpt of the debug output (I censored the real names)
#DEBUG checkfolder: curl --silent --list-only --globoff -u *****:***** --ftp-ssl "ftp://example.com:21/AN%5fEMPTY%5fFOLDER//////////////////////"
#DEBUG lineClean: /
#DEBUG basename: /
#DEBUG srcfile: /AN_EMPTY_FOLDER//////////////////////
#DEBUG srcfileproc: /AN%5fEMPTY%5fFOLDER//////////////////////
#DEBUG srcfileshort: AN_EMPTY_FOLDER//////////////////////
#DEBUG srcfileshort2: AN_EMPTY_FOLDER//////////////////////
#DEBUG srchash: 0e087c88145ec4a845f2f9d575560747
#DEBUG srcsize:
#DEBUG destfile: /tmp/seedbox/AN_EMPTY_FOLDER//////////////////////
#DEBUG destsize: N/A
#DEBUG vregex: AN_EMPTY_FOLDER//////////////////////
#DEBUG checkfolder: curl --silent --list-only --globoff -u *****:***** --ftp-ssl "ftp://example.com:21/AN%5fEMPTY%5fFOLDER////////////////////////"
#DEBUG lineClean: /
#DEBUG basename: /
#DEBUG srcfile: /AN_EMPTY_FOLDER////////////////////////
#DEBUG srcfileproc: /AN%5fEMPTY%5fFOLDER////////////////////////
#DEBUG srcfileshort: AN_EMPTY_FOLDER////////////////////////
#DEBUG srcfileshort2: AN_EMPTY_FOLDER////////////////////////
#DEBUG srchash: 123b24923553082f8beee2004ed55496
#DEBUG srcsize:
#DEBUG destfile: /tmp/seedbox/AN_EMPTY_FOLDER////////////////////////
#DEBUG destsize: N/A
#DEBUG vregex: AN_EMPTY_FOLDER////////////////////////
#DEBUG checkfolder: curl --silent --list-only --globoff -u *****:***** --ftp-ssl "ftp://example.com:21/AN%5fEMPTY%5fFOLDER//////////////////////////"
#DEBUG lineClean: /
#DEBUG basename: /
#DEBUG srcfile: /AN_EMPTY_FOLDER//////////////////////////
#DEBUG srcfileproc: /AN%5fEMPTY%5fFOLDER//////////////////////////
#DEBUG srcfileshort: AN_EMPTY_FOLDER//////////////////////////
#DEBUG srcfileshort2: AN_EMPTY_FOLDER//////////////////////////
#DEBUG srchash: af9471cd3ecc2715fdf5c276accbae98
#DEBUG srcsize:
#DEBUG destfile: /tmp/seedbox/AN_EMPTY_FOLDER//////////////////////////
#DEBUG destsize: N/A
#DEBUG vregex: AN_EMPTY_FOLDER//////////////////////////
#DEBUG checkfolder: curl --silent --list-only --globoff -u *****:***** --ftp-ssl "ftp://example.com:21/AN%5fEMPTY%5fFOLDER////////////////////////////"
#DEBUG lineClean: /
#DEBUG basename: /
#DEBUG srcfile: /AN_EMPTY_FOLDER////////////////////////////
#DEBUG srcfileproc: /AN%5fEMPTY%5fFOLDER////////////////////////////
#DEBUG srcfileshort: AN_EMPTY_FOLDER////////////////////////////
#DEBUG srcfileshort2: AN_EMPTY_FOLDER////////////////////////////
#DEBUG srchash: 4515adb96595251e22d416fd7c8bbbb9
#DEBUG srcsize:
#DEBUG destfile: /tmp/seedbox/AN_EMPTY_FOLDER////////////////////////////
#DEBUG destsize: N/A
#DEBUG vregex: AN_EMPTY_FOLDER////////////////////////////

@masgo Oh i completely forgot your issue 😕 I will make a new release this week to solve it! Sorry!

@crazy-max hey no problem! This is a free and open source project. I have seen (much) longer bugfix times from software where I was a paying customer. So don't worry, you are doing a great job.

@masgo I still haven't been able to reproduce your problem on several configurations.
Here is a simple test I have made with a FTP source to /test/test_empty/ containing :
[-] empty
 |  a.pdf

The FTPGrab result is :
FTPGrab v4.3.1 (ftpgrab - 2018/03/05 00:22:05)
--------------
Config: ftpgrab
Script PID: 20
Log file: /var/log/ftpgrab/ftpgrab-20180305002205.log
FTP sources count: 1
FTP secure: 1
Download method: curl
Resume downloads: 0
Shuffle file/folder list: 0
Hash type: md5
Hash storage: text
Hash file: /opt/ftpgrab/hash/ftpgrab.txt
--------------
#DEBUG FTP_SRC: /test/test_empty/
#DEBUG DIR_DEST: /data
#DEBUG DIR_DEST_REF: /data/
Source: ftp://<IP_ADDRESS>:21/test/test_empty/
Destination: /data/
Checking connection to ftp://<IP_ADDRESS>:21/test/test_empty/...
#DEBUG checkConnection: curl --silent --retry 1 --retry-delay 5 --globoff --ftp-ssl --insecure ftp://<IP_ADDRESS>:21/test/test_empty/
Successfully connected!
--------------
#DEBUG checkfolder: curl --silent --list-only --globoff -u *****:***** --ftp-ssl --insecure "ftp://<IP_ADDRESS>:21/test/test%5fempty/a.pdf/"
#DEBUG lineClean: a.pdf
#DEBUG basename: a.pdf
#DEBUG srcfile: /test/test_empty/a.pdf
#DEBUG srcfileproc: /test/test%5fempty/a.pdf
#DEBUG srcfileshort: a.pdf
#DEBUG srcfileshort2: a.pdf
#DEBUG srchash: f87a4d24fcc05251afdb56cc24a5ca5d
#DEBUG srcsize: 35360997
#DEBUG destfile: /data/a.pdf
#DEBUG destsize: N/A
#DEBUG vregex: a.pdf
Process file: a.pdf
Hash: f87a4d24fcc05251afdb56cc24a5ca5d
Size: 33.72 Mb
Status: Never downloaded...
Start download to /data/a.pdf... Please wait...
#DEBUG Download command: curl --globoff -u *****:***** --ftp-ssl --insecure "ftp://<IP_ADDRESS>:21/test/test%5fempty/a.pdf" -o "/data/a.pdf"
File successfully downloaded!
Time spent: 00:00:36
--------------
#DEBUG checkfolder: curl --silent --list-only --globoff -u *****:***** --ftp-ssl --insecure "ftp://<IP_ADDRESS>:21/test/test%5fempty/empty/"
#DEBUG lineClean: empty/
#DEBUG basename: empty
#DEBUG srcfile: /test/test_empty/empty
#DEBUG srcfileproc: /test/test%5fempty/empty
#DEBUG srcfileshort: empty
#DEBUG srcfileshort2: empty
#DEBUG srchash: a2e4822a98337283e39f7b60acf85ec9
#DEBUG srcsize:
#DEBUG destfile: /data/empty
#DEBUG destsize: N/A
#DEBUG vregex: empty
Change the ownership recursively of 'Destination' path to docker:docker
--------------
Finished...

Can you make the same test and clean the destination directory ?
What is your linux distrib ?
And can you test on an other computer ? (or with the Docker image)
Thanks

Close due to inactivity

Hi crazy-max,
I may have a fix for this problem. Please see my commit here -- https://github.com/fletcherm/ftpgrab/commit/e78c8443316f1e93e6a7b4fd88b9be7cb6e72704
I was experiencing the same problem as masgo -- ftpgrab stuck listing the same empty directory over and over again, appending a / each subsequent time but getting the same result.
The linked commit breaks from the recursive function if the result from listing the directory is empty and is working well given my limited testing.
A few caveats:

I considered adding some unit tests, but with the way things are structured, that'd be non-trivial and may introduce more problems. I am hoping you have a more exhaustive system test suite that can validate this change.
I only tested this with curl -- wget appears to be more chatty when listing an empty directory, and in fact shows a .listing file for empty directories. curl simply returns blank. Anyway, I'm hoping your test suite can validate this change is ok for wget as well.
I have not extensively tested this yet -- and will not until I get home later today or this weekend. I will let you know how well it turns out after I can point it at a real ftp server with a good mix of empty / non-empty directories.
I am not sure why you were unable to reproduce this problem. I'm on Alpine Linux 3.8 and curl version 7.61.0. It is consistently returning blank when listing an empty directory. Have you tried a structure like this?

[-]
  [-] empty1
    [-] empty2

Hope this helps. I will let you know how my more extensive testing goes this weekend.

Hi @fletcherm, thanks for your input on this. I will check this out asap.

Thanks, crazy-max.
I did some overnight testing against a live system. The patch appears to be holding up well. I am eager to learn what your testing finds.
A couple of other caveats:

My bash scripting skills are not great so I am open to alternative, better ways to test for empty results.
It would be wise to trim whitespace from the _$FILES variable before testing for emptiness, incase curl or wget return some spaces or newlines. I am hoping you know of a good way to do this.

Thanks again for creating this tool and investigating this problem!

Ok thanks, i make some test today and it seems to only happen if FTP_SOURCES=/.

Cool! I am glad you were able to reproduce it.
For what it's worth, my FTP_SOURCES has about a half dozen entries. Either way I am glad you found the problem. Thanks for the updates!

And thanks to you to help me figures this out :)


Updated IgnoredPatterns & Added support for more Rewrite recipes

Updated IgnoredPatterns
Added support for more Rewrite recipes

@fabapp2 sure. Got busy last few days. Let me see where I left off

@fabapp2 can we get this merged

@fabapp2 please review the change as requested, i have removed the recipe


zh: fix contents about encryption of passwords

What is changed, added or deleted? (Required)
fix contents about encryption of passwords because we can use plaintext of passwords now.
Which DM version(s) do your changes apply to? (Required)

[x] master (the latest development version, including v2.0 changes for now)
[ ] v1.0 (TiDB DM 1.0 versions)

What is the related PR or file link(s)?

This PR is translated from:
Other reference link(s):

Do your changes match any of the following descriptions?

[ ] Delete files
[ ] Change aliases
[ ] Have version specific changes
[ ] Might cause conflicts

@TomShawn two LGTMs now, PTAL


Keybindings Not Working Anymore

Issue Type: Bug
I've been using VSCode for quite some times with my own key binding settings. I've updated VSCode recently and these keybindings (like my custom emmet abbrevation) fail.
VS Code version: Code 1.28.2 (7f3ce96ff4729c91352ae6def877e59c561f4850, 2018-10-17T00:23:51.859Z)
OS version: Windows_NT x64 10.0.17763

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz (8 x 2808)

GPU Status
2d_canvas: enabledchecker_imaging: disabled_offflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onnative_gpu_memory_buffers: disabled_softwarerasterization: enabledvideo_decode: enabledvideo_encode: enabledwebgl: enabledwebgl2: enabled

Memory (System)
15.88GB (8.00GB free)

Process Argv

Screen Reader
no

VM
0%

Extensions (6)

Extension
Author (truncated)
Version

vscode-eslint
dba
1.7.0

gitlens
eam
8.5.6

vue-snippets
hol
0.1.9

atom-keybindings
ms-
3.0.4

vetur
oct
0.13.0

vue-vscode-snippets
sdr
1.3.0

(1 theme extensions excluded)

keyboard shortcut workbench.action.terminal.clear was unassigned (was CTRL+K) with 1.29

Do they still appear in the keybindings editor?
Can you try upgrading to 1.29?

I've Upgraded to 1.29 but still the same. And yes they are in keybindings editor

other issue

Can you give a specific example of what the keybinding is and what doesn't work?


Sleeping MYSQL processes stracing to access("storage/framework/down", F_OK) = -1 ENOENT (No such file or directory)

Laravel Version: 5.5.*
PHP Version: 7.1.16
Database Driver & Version: 5.5.56-MariaDB MariaDB Server

Description:
Sleeping MYSQL processes tracing to
access("/storage/framework/down", F_OK) = -1 ENOENT (No such file or directory)
We are currently having an issue with a server running out of memory and I am trying to debug the issue. I am not sure if this is directly related but thought I would make a report nonetheless as it seemed as strange behaviour and a possible bug.
What I did to find the error
mysql -u root -p
SHOW PROCESSLIST
Output
sudo netstat -ntp | grep :53314
Output
strace -p 75609
Output
Steps To Reproduce:
I am not sure.
Extra information

Artisan is not currently down and application seems to be working correctly
I have not yet tried to run down and up again to see if remedies the issue (I have to wait for night time as it is in production).

@tillkruss Why has the issue been closed?

It was explained when you opened the issue:

Please use this issue tracker only for reporting Laravel bugs.

Since your issue doesn't even include a PHP stack-trace, I presume this is a server/configuration issue.

@tillkruss I don't have a stack trace, only thing I see is hanging processes that say storage/framework/down is missing. I just put the application in maintenance mode and the processes are gone. Then I put the application back up and the processes are spawning again once a minute and not leaving complaining about the /storage/framework/down file. This seems to be going at the same rate as my queue:work and queue:restart in the scheduler.
So I would guess it has something to do with artisan down and the queue worker. I will do some more investigation to night and see if i can find a cause for it.
Maybe that it is a server/configuration issue but I think if at least deserves some form of investigation.


Call support?

I realise it might be difficult to implement but is call support apart of your plans/possible in future?
Also is it possible to minimize to tray/run in background?
Thanks for your work <3

I sent a letter to haskell awhile back. My idea for doing this is adding in the parts of Chromium that do plugins and stuff and building that in, and then installing the Skype call plugin on the plugin API thingy. No idea if that'd work, but it might.
However, the main reason I believe that he hasn't been able to add call support is, since this is Microsoft we're talking about, legal issues. Microsoft is very iffy when it comes to these things. So I'm not sure yet.

I don't know much of anything about this, but theoretically theres nothing that M$ can do about it, they can't stop you from running essentially a stripped down version of an open source browser with their public addon.

Yes, but including the Skype for Web plugin with the client would give them grounds.

Then don't add the plugin. Instead, add the plugins subsystem, and on the first start of the application, use a pop-up to send people to download the plugin.
..or wait until they adopt WebRTC.
--(translated with Yandex from Spanish)

Forget what I said, it appears that the Chrome Extension is unsupported on Linux. I tried to install it, first from the Chrome Store (That gave me a stupid error with img/icon-32.png) and then with a repackaged version with that error fixed (http://goo.gl/lMUqSN), but even after cheaten Skype web to think that I was on Windows with a modified User-Agent, it did nothing when I tried to make a call.
So the only option left is the second one, wait until they move the web to WebRTC.

There is now an official linux plugin!

The user could even download it themself, thats semi legal

Download what themselves? The plugin? As Alvar said, the Skype plugin doesn't work Linux, even with a modified User-Agent (Trust me, I tried too).

Yeah, the plugin. If the plugin ever becomes functional, to keep it legal instead of packaging it with the program the client should be prompted in the installation to go download and install it theirself.

The current Skype Web UI uses plain HTML5 for calling which should work in all browsers, but Microsoft has only tested it on Edge. As a workaround, open the package.json file (for Arch users with the AUR package, this should be in /opt/skype-unofficial-client) and replace the user agent with:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Safari/537.36 Edge/13.10586

After restarting the app, you should be able to make audio/video calls perfectly.


Debugged:   Import path correction for Next.JS (apps/www/content/docs/installation/next.mdx)

Docs > Next.js
Next.js
Install and configure Next.js
(5) That's it
You can now start adding components to your project.
npx shadcn-ui@latest add button

The command above will add the Button component to your project. You can then import it like this:
import { Button } from "@/components/ui"

export default function Home() {
 return (
   <div>
     <Button>Click me</Button>
  </div>
 )
}

Pull Request: #839
import { Button } from "@/components/ui" will result with:
⚠ Error (TS2307) | Cannot find module or its corresponding type declarations.

Correction: import { Button } from "@/components/ui/button"

✅  The pull request #839 has been merged

✅ The pull request #839 has been merged.


Step 6: Typo in Tip under Test It Out Section

Tip: To start fresh and clear all saved data (localStoarge, indexedDB data, cached files) and remove any service workers, use the Clear storage pane in the Application tab.
localStoarge should be localStorage
Step 6 => Use service workers to pre-cache the App Shell
Section => Test It Out

Hi!
Thanks for the feedback. I've rewritten the codelab from scratch and believe I have fixed this issue. The code has been updated, and the new guide is now live.
If you find any issues with the new codelab, please let us know!
Thanks!


Rebrand to atanor

Given the naming conflict with Typst's package fletcher, we need a new name so we might as well improve on it.
The new name is, of course, atanor:

nigredo (coerce ∘ parse): putrefy code into source AST
albedo (coerce ∘ inject): purify source AST into UL
citrinitas (project): transmute UL into target AST
rubedo (render): coagulate target AST into code


Testing for ClusterFactory and related fixes

Fairly exhaustive testing for ClusterFactory.  Fixed one for-sure bug and two other things that might've been problematic.
Resolves issue in recent comment in #229

Thank you!


Add scalar division for vectors

Second part of #105 that adds scalar division to vectors. Only the standard division (Div<C> for VectorXd<C>) is implemented, not the left-handed version of it.

@sunsided needs a rebase

@sunsided needs another rebase, hopefully the last one!

@tarcieri Sure thing!


Merge meta.yaml and devfile.yaml

Signed-off-by: jingfu wang<EMAIL_ADDRESS>Fixes https://github.com/devfile/api/issues/172
This PR is used to move fields from meta.yaml to devfile.yaml in terms of documentation.

I think these changes need to be made in the github.com/devfile/api repo? As this json file is copied automatically from the generated json spec each time changes are merged into devfile/api

I think the changes for devfile.json in this repo is only for documentation, basically what is does is to guide the docs generator to generate the html files so that the new devfile schema can be deployed and displayed on our public website.

@johnmcollier https://github.com/devfile/docs/blob/master/generate-api-reference.js#L12 here is the place how this repo uses the devfile.json that we change

@GeekArthur This CI job https://github.com/devfile/api/blob/master/.github/workflows/ci.yaml#L66 publishes the devfile.json to this repository when it's been modified, so any changes in here would get overwritten whenever the devfile api is changed.

@GeekArthur This CI job https://github.com/devfile/api/blob/master/.github/workflows/ci.yaml#L66 publishes the devfile.json to this repository whenever the devfile schema has been modified, so any changes in here would get overwritten whenever the job is run.
If you're adding new fields to the metadata field of the devfile spec, wouldn't we need to deliver the changes to https://github.com/devfile/api/blob/1103496bda97425017e4f7fb01e4896ecfa2b5d8/pkg/apis/workspaces/v1alpha2/devworkspace_types.go#L73

Ah, I was missing the CI part in API repo, I am gonna make the changes on API repo, thanks for pointing that out.

The changes need to made on API repo as the API repo CI is responsible for syncing the devfile.json.


Gradle build

Adds the ability to build both the canary and spigot plugins by gradle. The build produces two jars jycraft-anary.jar and jycraft-spigot.jar which contains compiler output for both src-common and their respective source directory as well as the jython and websockets dependencies.
To build the jars:
Unix:
./gradlew

Windows:
gradlew.bat

Very good! It's great to see all the deletes in the PR.
This puts the compiled jars in build/lib. The jycraft-canary/jycraft-spigot jars are 37 MB. Are the canary/spigot upstream jars bundled in these?
Nope, I unzip'd the jar and the space is almost all Jython. No big deal, we can address that later. Just wanted to make sure the instructions explain about getting Canary/Spigot for download (or, I make a .zip that bundles everything.)
I'm evaluating now.

I am giving my first try with Spigot. I copied jycraft-spigot.jar and jycraft-server-plugin.jar from the build directory, into ./plugins in my Spigot working area. I got the following on startup:
[14:19:51 ERROR]: Could not load 'plugins/jycraft-server-plugin.jar' in folder 'plugins'
org.bukkit.plugin.InvalidDescriptionException: Invalid plugin.yml
at org.bukkit.plugin.java.JavaPluginLoader.getPluginDescription(JavaPluginLoader.java:154) ~[spigot-1.8.8.jar:git-Spigot-5f38d38-18fbb24]
at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:133) [spigot-1.8.8.jar:git-Spigot-5f38d38-18fbb24]
at org.bukkit.craftbukkit.v1_8_R3.CraftServer.loadPlugins(CraftServer.java:292) [spigot-1.8.8.jar:git-Spigot-5f38d38-18fbb24]
at net.minecraft.server.v1_8_R3.DedicatedServer.init(DedicatedServer.java:198) [spigot-1.8.8.jar:git-Spigot-5f38d38-18fbb24]
at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:525) [spigot-1.8.8.jar:git-Spigot-5f38d38-18fbb24]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_25]
Caused by: java.io.FileNotFoundException: Jar does not contain plugin.yml
... 6 more
[14:19:51 WARN]: Plugin Bukkit_Jython_Console v0.1' uses the space-character (0x20) in its name Bukkit Jython Console' - this is discouraged
[14:19:51 INFO]: Set PluginClassLoader as parallel capable
[14:19:51 ERROR]: Could not load 'plugins/jycraft-spigot.jar' in folder 'plugins'
org.bukkit.plugin.InvalidPluginException: Cannot find main class `com.macuyiko.bukkitconsole.MainPlugin'
at org.bukkit.plugin.java.PluginClassLoader.(PluginClassLoader.java:66) ~[spigot-1.8.8.jar:git-Spigot-5f38d38-18fbb24]
at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:131) ~[spigot-1.8.8.jar:git-Spigot-5f38d38-18fbb24]
at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:329) ~[spigot-1.8.8.jar:git-Spigot-5f38d38-18fbb24]
at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:251) [spigot-1.8.8.jar:git-Spigot-5f38d38-18fbb24]
at org.bukkit.craftbukkit.v1_8_R3.CraftServer.loadPlugins(CraftServer.java:292) [spigot-1.8.8.jar:git-Spigot-5f38d38-18fbb24]
at net.minecraft.server.v1_8_R3.DedicatedServer.init(DedicatedServer.java:198) [spigot-1.8.8.jar:git-Spigot-5f38d38-18fbb24]
at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:525) [spigot-1.8.8.jar:git-Spigot-5f38d38-18fbb24]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_25]
Caused by: java.lang.ClassNotFoundException: com.macuyiko.bukkitconsole.MainPlugin
at java.net.URLClassLoader$1.run(URLClassLoader.java:372) ~[?:1.8.0_25]
at java.net.URLClassLoader$1.run(URLClassLoader.java:361) ~[?:1.8.0_25]
at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_25]
at java.net.URLClassLoader.findClass(URLClassLoader.java:360) ~[?:1.8.0_25]
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:101) ~[spigot-1.8.8.jar:git-Spigot-5f38d38-18fbb24]
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:86) ~[spigot-1.8.8.jar:git-Spigot-5f38d38-18fbb24]
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_25]
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_25]
at java.lang.Class.forName0(Native Method) ~[?:1.8.0_25]
at java.lang.Class.forName(Class.java:344) ~[?:1.8.0_25]
at org.bukkit.plugin.java.PluginClassLoader.(PluginClassLoader.java:64) ~[spigot-1.8.8.jar:git-Spigot-5f38d38-18fbb24]
... 7 more

On my last comment, my guess is that jycraft-server-common.jar isn't needed?
I gave jycraft-canary.jar a try. Everything works as expected with the telnet and WebSocket clients.

Yes the jycraft-server-common.jar isn't needed as the classes for common are already packaged inside the other two jars. jycraft-common.jar is built because build task by default calls the standard Jar task. I'm  making the build task mean do everything but I could change it so that the default tasks are spigotJar and canaryJar so that it doesn't depend on the build task and therefore doesn't build jycraft-common.jar.
The problem with packaging spigot is that the spigot jar produced by the spigot build tool also includes mixture of the spigot/craftbukkit code and the minecraft server code which isn't allowed to be distributed, that is why there is no download link for spigot jar. A solution could be to wrap the spigot build tool in a wrapper so if the spigot exist run spigot else if it doesn't exist invoke the build tool and then invoke spigot. This would mean the user only has to run one jar.

Would you prefer if I merge this PR, then add individual tickets for these two points? (Don’t build the common jar and packaging spigot.) For the Spigot side, I don’t mind if this Gradle build doesn’t include Spigot itself. As long as you give me the instructions on where to drop everything in a Spigot installation.
I sent you an invite to be an admin on that repo.
—Paul

On Oct 25, 2015, at 4:46 PM, Ben Lewis<EMAIL_ADDRESS>wrote:
Yes the jycraft-server-common.jar isn't needed as the classes for common are already packaged inside the other two jars. jycraft-common.jar is built because build task by default calls the standard Jar task. I'm making the build task mean do everything but I could change it so that the default tasks are spigotJar and canaryJar so that it doesn't depend on the build task and therefore doesn't build jycraft-common.jar.
The problem with packaging spigot is that the spigot jar produced by the spigot build tool also includes mixture of the spigot/craftbukkit code and the minecraft server code which isn't allowed to be distributed, that is why there is no download link for spigot jar. A solution could be to wrap the spigot build tool in a wrapper so if the spigot exist run spigot else if it doesn't exist invoke the build tool and then invoke spigot. This would mean the user only has to run one jar.
—
Reply to this email directly or view it on GitHub https://github.com/Jycraft/jycraft-server-plugin/pull/6#issuecomment-150967523.

You can merge this now, I have set the default tasks to build both jars just. Now just ./gradlew or ./gradlew.bat (for windows) builds both jars without building the common jar. The spigot plugin should also work now, it just needs to be put in the ./plugins folder in the spigot installation.

Sweet, works in Spigot. Also, only generates two jar files. Thanks!


PKI: Use ED25519 keys by default

These are an order of magnitude less expensive to generate
computationally, cheaper to use, more secure and smaller. Compatibility
for existing RSA CAs is retained.
For comparison:
Previously:
go test -race -count=5 ./control-plane-operator/controllers/hostedcontrolplane/pki/
ok github.com/openshift/hypershift/control-plane-operator/controllers/hostedcontrolplane/pki 25.986s

With this change:
go test -race -count=5 ./control-plane-operator/controllers/hostedcontrolplane/pki/
ok  	github.com/openshift/hypershift/control-plane-operator/controllers/hostedcontrolplane/pki	0.434s

What this PR does / why we need it:
Which issue(s) this PR fixes (optional, use fixes #<issue_number>(, fixes #<issue_number>, ...) format, where issue_number might be a GitHub issue, or a Jira story:
Fixes #
Checklist

[ ] Subject and description added to both, commit and PR.
[ ] Relevant issues have been referenced.
[ ] This change includes docs.
[ ] This change includes unit tests.

/retest-required

Is this FIPS approved?

Is this FIPS approved?

No,it is currently only proposedm seems we can not have nice things :( Ironically, FIPS allows DSA though. I've updated the PR and description to use ECDSA keys, they are an order of magnitude slower than ED25519 but still more than three times faster than RSA keys.

/lgtm


external file storage

Description
external file storage for media files
Example
consider https://docs.shopware.com/en/shopware-platform-dev-en/how-to/use-s3-datastorage :
which setup is needed for remote sftp like it is possible with this: https://github.com/shopwareLabs/SwagMediaSFTP ?

Hi @mibuntu,
please consider our Forum for help or, if you have a support subscription, create a support Ticket.
Sunny regards
Pantrtxp


ScanTimeout seems to be ignored

I'm using StartScanningForDevicesAsync and the Adapter is configured with the following parameters

ScanMode = BALANCED
ScanMatchMode = AGGRESSIVE
ScanTimeout = 3000

Testing on Android 11, by calling this:
await this.Ble.Adapter.StartScanningForDevicesAsync(...);
The function always completes after 10 second instead of 3.
Configuration
Version of the Plugin: 3.0.0
Platform: Android 11
Device: Xperia Compact XZ1

Hi @alessandrofrancesconi,
I'm the friendly issue checker.
It seems like (50.00 %) you haven't used our issue template :cry: I think it is very frustrating for the repository owners, if you ignore them.
If you think it's fine to make an exception, just ignore this message.
But if you think it was a mistake to delete the template, please close the issue and create a new one.
Thanks!

I'm using StartScanningForDevicesAsync and the Adapter is configured with the following parameters
* ScanMode = BALANCED
* ScanMatchMode = AGGRESSIVE
* **ScanTimeout = 3000**

Testing on Android 11, by calling this:
await this.Ble.Adapter.StartScanningForDevicesAsync(...);
The function always completes after 10 second instead of 3.
Configuration
Version of the Plugin: 3.0.0
Platform: Android 11
Device: Xperia Compact XZ1

Assuming "The function" refers to device scanning, I have confirmed no issue using ScanTimeout property set to non default value, using the above ScanMode nor ScanMatchMode have any burden.
Scanning stops and the ScanTimeoutElapsed event triggers upon the set time.
Confirmed working on WinUI, Android 9, 12 and 13.  Not likely a valid issue on 11 either.  Why not close

I cannot reproduce this either. I'm testing on Android 14 with Plugin.BLE 3.1.0-beta.2 (on a Samsung Galaxy device). No matter which ScanMode or ScanMatchMode I set, I see that the received advertisements stop roughly after the requested time, and also StartScanningForDevicesAsync returns after that time span.
@alessandrofrancesconi I will close this, unless you can provide further info as to when or why this occurs. It's definitely not a general problem with our library. Maybe just some specific issue with the BT implementation on your Experia device? Do you see this with other devices or Android versions as well?


Suppress output of cd in bootstrap script

Changes bootstrap.sh to redirect the output of a cd command to
/dev/null. Usually cd does not produce output, but if a user has
modified CDPATH it may decide to echo the path that was navigated to.
This behavior was breaking bootstrap in very difficult to debug ways.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Armando Montanez seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Initial employee passwords always the same for a given email address

For a given email address, the generated password is always the same; the passwords should be different every time an employee is created with a given email so that employee passwords are actually secure.

Resolved


Remove use of fmt.Errorf in generated code

Error types now implement their own Error() string and Unwrap() error methods.

urgh can this work


ZeroClipboard copy event not working in Firefox

I have the following code which works perfectly well in Chrome, but in Firefox it seems that the 'copy' event is never fired when I click the button associated with ZeroClipboard.
jQuery(document).ready(function ($)
    {
        if (document.getElementById("click-to-copy"))
    {
        // Set up data-clipboard-target for ZeroClipboard
        // by setting the id 'clipboard-source' on an element
        // ZeroClipboard will copy data from this element on load
        // but we will override this data at copy time
        var ace_content_elements = document.getElementsByClassName("ace_content");
        if (ace_content_elements.length > 0)
        {
            ace_content_elements[0].id = "clipboard-source";
        }

        var client = new ZeroClipboard(document.getElementById("click-to-copy"));

        /* On copy, replace the clipboard data with content from active instance of Ace Editor */
        /* This presumes we only have ONE Ace Editor output block on the page */

        client.on('copy', function(event)
            {
                var the_content = Drupal.settings.ace_editor.editor_instances[0].content;
               client.setData("text/plain",the_content);
           }
        );

    }

    });

The HTML button associated with the ZeroClipboard is
   <button id='click-to-copy' data-clipboard-target='clipboard-source'>Copy To Clipboard</button>

I'm using zeroclipboard-2.2.0 and Firefox 39 on Ubuntu.
I'm in despair about getting this to work! Any help much appreciated.

I'm having the same issue. 2.X works fin on Chrome but not on Firefox 40 on OSX. I had to downgrade to 1.3.5 so that it would work on Firefox.

GitHub's ZeroClipboard (2.1.6) works fine in Firefox 42.0 (2015-08-20).

@auscompgeek, I tried all the 2.X.X versions piblished on NPM, including 2.1.6, and all of them worked in Chrome but none on Firefox.

@auscompgeek: GitHub has started attempting to use a native browser copy (recently implemented in Chrome and Firefox) first, then falling back to ZeroClipboard if that native API isn't available.  We plan on merging that functionality into ZeroClipboard itself, though... hopefully very soon. Keep an eye on #171.
The reason this has become a problem in Firefox [only] is that Mozilla recently (in July) decided to put all versions of Flash Player on their "blocked addons" list due to a security vulnerability, so all Flash usage has become "click-to-activate". More info:

http://www.ghacks.net/2015/07/14/mozilla-blocks-all-versions-of-adobe-flash-in-firefox/
https://bugzilla.mozilla.org/show_bug.cgi?id=1182751

@JamesMGreene I insist: ZeroClipboard 2.X is not working at all in Firefox. In 1.X it works though (with the click-to-activate). Do you have an example page with ZeroClipboard 2.X working on Firefox?

Using the functionality on http://zeroclipboard.org/ worked just fine for me in:

Firefox 38.0.5
Firefox 40.0.2

System was MacOSX 10.10.4 (Yosemite).
Flash Player was <IP_ADDRESS>.
It also works it if I manually set my Firefox Flash Player addon entry to click-to-activate ("Ask to Activate") -- after activating, of course.

@felipebrahm: Please provide your Flash version info (or just a dump of running the following command in the JS console):
console.log(JSON.stringify(ZeroClipboard.state(), null, 2));

Here's my output, for example:
{
  "browser": {
    "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:40.0) Gecko/20100101 Firefox/40.0",
    "platform": "MacIntel",
    "appName": "Netscape"
  },
  "flash": {
    "version": "18.0.0",
    "pluginType": "netscape",
    "disabled": false,
    "outdated": false,
    "sandboxed": false,
    "unavailable": false,
    "degraded": false,
    "deactivated": false,
    "overdue": false,
    "ready": true
  },
  "zeroclipboard": {
    "version": "2.2.0",
    "config": {
      "swfPath": "http://zeroclipboard.org/javascripts/zc/v2.2.0/ZeroClipboard.swf",
      "trustedDomains": [
        "zeroclipboard.org"
      ],
      "cacheBust": true,
      "forceEnhancedClipboard": false,
      "flashLoadTimeout": 30000,
      "autoActivate": true,
      "bubbleEvents": true,
      "containerId": "global-zeroclipboard-html-bridge",
      "containerClass": "global-zeroclipboard-container",
      "swfObjectId": "global-zeroclipboard-flash-bridge",
      "hoverClass": "zeroclipboard-is-hover",
      "activeClass": "zeroclipboard-is-active",
      "forceHandCursor": false,
      "title": null,
      "zIndex": 999999999
    }
  }
}

copy event not working in Firefox

JSFiddle
Edit: http://jsfiddle.net/JamesMGreene/k9psq1da/
View: http://fiddle.jshell.net/JamesMGreene/k9psq1da/show/
JSBin
Edit: http://jsbin.com/lozuda/edit?html,js,css
View: http://jsbin.com/lozuda/
CodePen
Edit: http://codepen.io/JamesMGreene/pen/zxorvW
View: http://s.codepen.io/JamesMGreene/full/zxorvW/

my version is Firefox 40.0.3

fwiw - copy event not working for my firefox 42 / Flash 19
{
  "browser": {
    "userAgent": "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:42.0) Gecko/20100101 Firefox/42.0",
    "platform": "Win32",
    "appName": "Netscape",
    "appVersion": "5.0 (Windows)"
  },
  "flash": {
    "version": "19.0.0",
    "pluginType": "netscape",
    "disabled": false,
    "outdated": false,
    "sandboxed": false,
    "unavailable": null,
    "degraded": null,
    "deactivated": null,
    "overdue": null,
    "ready": null
  },
  "zeroclipboard": {
    "version": "2.3.0-beta.1",
    "config": {
      "swfPath": "/Scripts/zeroclipboard/ZeroClipboard.swf",
      "trustedDomains": [
	"localhost:9226"
      ],
      "cacheBust": true,
      "forceEnhancedClipboard": false,
      "flashLoadTimeout": 30000,
      "autoActivate": true,
      "bubbleEvents": true,
      "fixLineEndings": true,
      "containerId": "global-zeroclipboard-html-bridge",
      "containerClass": "global-zeroclipboard-container",
      "swfObjectId": "global-zeroclipboard-flash-bridge",
      "hoverClass": "zeroclipboard-is-hover",
      "activeClass": "zeroclipboard-is-active",
      "forceHandCursor": false,
      "title": null,
      "zIndex": 999999999
    }
  }
}

It is  OK on FF with the version v1.3.5

@JamesMGreene
Do you know when the problems with Firefox are managed?
Because today I tried V2.4.0 beta.1 today, but Firefox still can't call the copy-function
zeroclipboard.on( 'copy', function(event) {...}

Since each person appears to be running into a different variation of this problem but I cannot reproduce it, I would say your best bet is to watch for v2.4.0 (hoping to release it before Christmas) which will add preferred support for the native HTML Clipboard API before falling back to Flash.


keyLogger not working continuously

Key logger working fine. But most of the time not working and not updating into firebase.

bro can you share any tutorial of it  ?

bro can you share any tutorial of it ?

I know

yes keylogger stopped working after 24 hours. Any solution?

which tutorial bro
Pada tanggal Min, 4 Sep 2022 21.52, rifas9037 @.***>
menulis:

bro can you share any tutorial of it ?
I know
—
Reply to this email directly, view it on GitHub
https://github.com/muneebwanee/Dash/issues/13#issuecomment-1236358288,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AMPHNRBA6KGERCAWHAMUOK3V4SZUVANCNFSM5Z2T2CMQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


Add opts in doc 2

Cleaner version of https://github.com/ioam/holoviews/pull/1760, which inadvertently picked up https://github.com/ioam/holoviews/pull/1759 during a rebase.

Having skimmed the diff, all the changes look correct to me. As the tests are green, I think it is better to merge sooner than later. I'm sure there will be other places that __call__ need to be replaced but having this merged will make those other instances easier to find.
@jordansamuels Thanks again for this PR! Merging.


Shadertoy and some examples

I am very interested in shadertoy recently. It is a great website for learning and sharing shaders. There are many great shaders on it.
I implemented a tool class Shadertoy with pygfx, which provides a screen pixel shader programming interface similar to "shadertoy".
I transplanted or adapted several representative or visually striking examples, they performed well on pygfx.
Sea:
https://user-images.githubusercontent.com/8044566/207863907-4dc13cd9-c2e5-4b79-b1cf-37e23dc36b26.mp4
Star:
https://user-images.githubusercontent.com/8044566/207864142-39c5aec4-2510-44be-8f9c-7ca64459b9e5.mp4
Other examples:
https://user-images.githubusercontent.com/8044566/207864626-51c9a90f-d0bd-4c30-8d48-cb285d0a9511.mp4
https://user-images.githubusercontent.com/8044566/207865233-529566bb-4a68-4ee8-9a27-cef1d065e295.mp4
https://user-images.githubusercontent.com/8044566/207865348-6b92dfb7-8dc3-4c9d-9ddb-2b2ed702c7d5.mp4
There are also some other examples that you can run to view.
I'm not sure whether it is appropriate to merge them into pygfx. Maybe we just need to select a few examples to merge into the main branch.

Amazing! Very cool!
Actually I think shadertoy might be a better fit for the wgpu-py repo. Because I don't think you are actually using any pygfx features, right?
Let's see what Almar thinks.

I have used "wgpu-py" to implement it again and submitted PR in the "wgpu-py" repo, so this PR can be closed.


Monotonic / timer queue doesn't seem to support clock wrapping

We have some projects where we're using a fast-running (48MHz) clock underlying the monotonic timer, and while I haven't fully verified by test it appears that RTIC's scheduling behavior does not deal well with wrapping. It probably doesn't come up that often if one is timing by a slow clock (e.g. 32kHz) but if one is timing by a fast clock the counter wraps around often.
Scheduling seems to always end up as a particular value of the Monotonic::now() clock. spawn_after is implemented in terms of spawn_at with the particular time being calculated as now() + delay. For dwt-systick-monotonic and the atsamd_hal Rtc<Count32Mode> implementations of Monotonic which both use Fugit, that wraps (even though it should be a checked add by contract, another bug?):

spawn_after / spawn_at: https://github.com/rtic-rs/cortex-m-rtic/blob/master/macros/src/codegen/module.rs#L383
Fugit's behavior in evcxr:>> :dep fugit
>> fugit::Instant::<u32, 1, 1000>::from_ticks(0xffff_ffff) + fugit::Duration::<u32, 1, 1000>::from_ticks(10)
Instant { ticks: 9 }

Fugit's implementation:

https://github.com/korken89/fugit/blob/master/src/instant.rs#L171

Issue I opened for fugit: https://github.com/korken89/fugit/issues/38

The spawn_at implementation doesn't seem to do anything interesting with instant, just passes it along to TimerQueue::enqueue_unchecked, here:
https://github.com/rtic-rs/cortex-m-rtic/blob/master/src/tq.rs#L24
which compares the given instant to the earliest scheduled thing in the timer queue but makes no special handling for wraparound, which has already silently occurred anyway. I think it'll just put the new task with a very early instant at the beginning of the TQ and then pend whatever interrupt backs the monotonic.
once that ISR fires, it'll call TimerQueue::dequeue:
https://github.com/rtic-rs/cortex-m-rtic/blob/master/macros/src/codegen/timer_queue.rs#L142
which then will (most likely) immediately compare the too-early time with the current time and immediately fire it.
I don't think it's any better in the DWT SYSTICK case as now is implemented in terms of CYCCNT, a 32 bit wrapping timer running at the CPU clock rate. SYSTICK itself is a count-down timer, but all the clock comparisons seem to be in terms of CYCCNT.
I did find this internals book reference which talks about wrapping as an issue and that it's handled by signed comparisons, but I'm not sure that really addressed the issue then, and it certainly doesn't now as I'm pretty sure it was written a while and at least one major rewrite ago:
https://github.com/rtic-rs/cortex-m-rtic/blob/master/book/en/src/internals/timer-queue.md#resolution-and-range-of-cyccntinstant-and-cyccntduration
In any case, would love someone more familiar to comment on it :-)
cc @sakian

Hi, thanks for reporting.
This does not look like a bug to me. RTIC simply requires some operations to be supported on Monotonic::Instant and Monotonic::Duration for it to be valid.
In this case you are using fugit as the underlying time library, whose Instant represents a wrap-able time.
So any Instant is valid MAX/2 - 1 ticks around it. This means that your example is correct behavior, as the the new instant is within the correct span for a valid instant:
fugit::Instant::<u32, 1, 1000>::from_ticks(0xffff_ffff) + fugit::Duration::<u32, 1, 1000>::from_ticks(10)
Instant { ticks: 9 } // Correct

On the old book chapter you found, this is not valid anymore.
It was for RTIC 0.5 and the Monotonic trait replaces the old method.
Is there anything else you'd like to ask?

to clarify, it's correct behavior that tasks might be executed either immediately (if now + delay wraps) or at the intended delay ± jitter, not delay ± jitter?

Sort of, it does not depend on wrapping - just if the instant is in the future or in the past.
So if an instant is in the past the task will be executed immediately, else it will be scheduled.
With fugit this means that you can represent time that is MAX/2 - 1 ticks into the future or the past compared to a specific Instant.
The library does the needed math to make this happen.

In principle jitter cannot be negative (besides the jitter of the HW timer). There is also a difference between a task being "released" (ready to run), and the actual execution. This may cause accumulated drift if using "now" as the timebase.

Sort of, it does not depend on wrapping - just if the instant is in the future or in the past. So if an instant is in the past the task will be executed immediately, else it will be scheduled. With fugit this means that you can represent time that is MAX/2 - 1 ticks into the future or the past compared to a specific Instant. The library does the needed math to make this happen.

But you can't represent a time up to MAX/2-1 ticks into the future relative to any specific Instant though correct? Only relative to Instant 0, otherwise it's ambiguous whether it was intended to be in the past. I think it's surprising that spawn_after / reschedule_after might end up being basically the same as spawn, depending on the current value of the clock and what duration, since the addition with wrapping is hidden in the implementation of spawn_after / reschedule_after.

In principle jitter cannot be negative (besides the jitter of the HW timer). There is also a difference between a task being "released" (ready to run), and the actual execution. This may cause accumulated drift if using "now" as the timebase.

Ah yes good clarifications, I wasn't accurate.

Overall the behavior makes sense once one knows of all the details and limitations. I do think it'd be nice to be less surprising, either by documentation or better yet some indication from the API that wrapping/as-soon-as-possible execution might occur rather than duration + jitter.
As it stands it also makes for potentially complicated calling code if one really does need the proper wait. I can't judge whether it's important often enough to justify updating the implementation to support it automatically though.

By extending the Monotonic timer to a u64 store, duration will be large enough for (all) practical use cases, and solves the original issue. Please re-open this issue if further clarifications are needed.


Running yarn run watch to build vscode fails

On Windows 10 x64, I can't seem to successfully yarn run watch
> yarn run watch
yarn run v1.9.4
$ gulp watch --max_old_space_size=4095
[02:53:05] Using gulpfile ~\code\oss\vscode\gulpfile.js
[02:53:05] Starting 'clean-client'...
[02:53:05] Starting 'clean-extension:configuration-editing'...
[02:53:05] Starting 'clean-extension:css-language-features-client'...
[02:53:05] Starting 'clean-extension:css-language-features-server'...
[02:53:05] Starting 'clean-extension:debug-auto-launch'...
[02:53:05] Starting 'clean-extension:emmet'...
[02:53:05] Starting 'clean-extension:extension-editing'...
[02:53:05] Starting 'clean-extension:git'...
[02:53:05] Starting 'clean-extension:grunt'...
[02:53:05] Starting 'clean-extension:gulp'...
[02:53:05] Starting 'clean-extension:html-language-features-client'...
[02:53:05] Starting 'clean-extension:html-language-features-server'...
[02:53:05] Starting 'clean-extension:jake'...
[02:53:05] Starting 'clean-extension:json-language-features-client'...
[02:53:05] Starting 'clean-extension:json-language-features-server'...
[02:53:05] Starting 'clean-extension:markdown-language-features-preview-src'...
[02:53:05] Starting 'clean-extension:markdown-language-features'...
[02:53:05] Starting 'clean-extension:merge-conflict'...
[02:53:05] Starting 'clean-extension:npm'...
[02:53:05] Starting 'clean-extension:php-language-features'...
[02:53:05] Starting 'clean-extension:python'...
[02:53:05] Starting 'clean-extension:search-rg'...
[02:53:05] Starting 'clean-extension:typescript-basics-test-colorize-fixtures'...
[02:53:05] Starting 'clean-extension:typescript-language-features'...
[02:53:05] Starting 'clean-extension:vscode-api-tests'...
[02:53:05] Starting 'clean-extension:vscode-colorize-tests'...
[02:53:05] Finished 'clean-extension:markdown-language-features-preview-src' after 5.81 ms
[02:53:05] Starting 'watch-extension:markdown-language-features-preview-src'...
[02:53:05] Starting compilation...
[02:53:05] Finished 'clean-extension:typescript-basics-test-colorize-fixtures' after 28 ms
[02:53:05] Starting 'watch-extension:typescript-basics-test-colorize-fixtures'...
[02:53:05] Finished compilation with 0 errors after 13 ms
[02:53:05] Finished 'clean-extension:css-language-features-client' after 91 ms
[02:53:05] Starting 'watch-extension:css-language-features-client'...
[02:53:05] Starting compilation...
[02:53:05] Finished 'clean-extension:debug-auto-launch' after 95 ms
[02:53:05] Starting 'watch-extension:debug-auto-launch'...
[02:53:05] Finished 'clean-extension:configuration-editing' after 101 ms
[02:53:05] Starting 'watch-extension:configuration-editing'...
[02:53:05] Finished 'clean-extension:grunt' after 100 ms
[02:53:05] Starting 'watch-extension:grunt'...
[02:53:05] Finished 'clean-extension:extension-editing' after 103 ms
[02:53:05] Starting 'watch-extension:extension-editing'...
[02:53:05] Finished 'clean-extension:html-language-features-client' after 104 ms
[02:53:05] Starting 'watch-extension:html-language-features-client'...
[02:53:05] Finished 'clean-extension:gulp' after 109 ms
[02:53:05] Starting 'watch-extension:gulp'...
[02:53:05] Finished 'clean-extension:jake' after 112 ms
[02:53:05] Starting 'watch-extension:jake'...
[02:53:05] Finished 'clean-extension:merge-conflict' after 120 ms
[02:53:05] Starting 'watch-extension:merge-conflict'...
[02:53:05] Finished 'clean-extension:python' after 123 ms
[02:53:05] Starting 'watch-extension:python'...
[02:53:05] Finished 'clean-extension:vscode-colorize-tests' after 131 ms
[02:53:05] Starting 'watch-extension:vscode-colorize-tests'...
[02:53:05] Finished 'clean-extension:css-language-features-server' after 212 ms
[02:53:05] Starting 'watch-extension:css-language-features-server'...
[02:53:05] Finished 'clean-extension:emmet' after 214 ms
[02:53:05] Starting 'watch-extension:emmet'...
[02:53:05] Finished 'clean-extension:git' after 215 ms
[02:53:05] Starting 'watch-extension:git'...
[02:53:05] Finished 'clean-extension:json-language-features-client' after 215 ms
[02:53:05] Starting 'watch-extension:json-language-features-client'...
[02:53:05] Finished 'clean-extension:json-language-features-server' after 216 ms
[02:53:05] Starting 'watch-extension:json-language-features-server'...
[02:53:05] Finished 'clean-extension:npm' after 217 ms
[02:53:05] Starting 'watch-extension:npm'...
[02:53:05] Finished 'clean-extension:search-rg' after 217 ms
[02:53:05] Starting 'watch-extension:search-rg'...
[02:53:05] Finished 'clean-extension:markdown-language-features' after 222 ms
[02:53:05] Starting 'watch-extension:markdown-language-features'...
[02:53:05] Finished 'clean-extension:vscode-api-tests' after 221 ms
[02:53:05] Starting 'watch-extension:vscode-api-tests'...
[02:53:05] Finished 'clean-extension:typescript-language-features' after 226 ms
[02:53:05] Starting 'watch-extension:typescript-language-features'...
[02:53:05] Finished 'clean-extension:php-language-features' after 317 ms
[02:53:05] Starting 'watch-extension:php-language-features'...
[02:53:10] Finished 'clean-extension:html-language-features-server' after 5.21 s
[02:53:10] Starting 'watch-extension:html-language-features-server'...
[02:53:13] Finished 'clean-client' after 8.58 s
[02:53:13] Starting 'watch-client'...

<--- Last few GCs --->

[27720:000001BBE07B0BE0]    34563 ms: Mark-sweep 1375.9 (1435.0) -> 1375.6 (1433.0) MB, 753.9 / 0.0 ms  (average mu = 0.063, current mu = 0.001) last resort GC in old space requested

<--- JS stacktrace --->

==== JS stack trace =========================================

    0: ExitFrame [pc: 000000C4E865C6C1]
Security context: 0x01855131e681 <JSObject>
    1: declareSymbol(aka declareSymbol) [000003B81B21C049] [C:\Users\Eric\code\oss\vscode\node_modules\typescript\lib\typescript.js:~25814] [pc=000000C4E9C9D326](this=0x00e120d026f1 <undefined>,symbolTable=0x022455d63151 <Map map = 0000033E2A9045C1>,parent=0x022455d63119 <SymbolObject map = 0000018D103D1511>,node=0x026c2495adb9 <NodeObject map = 0000014B48...

FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
 1: 00007FF73E04DC55
 2: 00007FF73E0275C6
 3: 00007FF73E027FD0
 4: 00007FF73E48FB5E
 5: 00007FF73E48FA8F
 6: 00007FF73E3DB424
 7: 00007FF73E3D19F7
 8: 00007FF73E3CFF6C
 9: 00007FF73E3CF405
10: 00007FF73E3D9024
11: 00007FF73E4FE637
12: 00007FF73E5D7B5D
13: 000000C4E865C6C1
error Command failed with exit code 134.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Any ideas?

I should mention that yarn run compile works fine

Long shot here, but are you running the correct version of Node? Got a similar error if I remember correctly and nvm use solved it for me.

That was it. I was running node 10. I switched by to the latest LTS version and it works fine. Thanks!


Tag Autocompletion

Does this feature exist in Emacs orgmode core?
N/A
Orgmode link
No response
Feature value
I often forget the wording of certain tags and whether I created them already. This leads to me not finding all relevant headlines via tag search due to them being fragmented over multiple tags that are marginally different (and should really be only one tag). E.g. I want to tag something about programming language development. I'm not sure if the tag I used in the past is lang_dev, language_dev or lang_development. Ofc I can look up all those tags in the agenda search, but that's a hassle. Perhaps I named it something else altogether.
Sticking with that example, the desired behavior would be identical to how refiling works now:

<Leader>ot
Prompt prints Tags:
OPTIONAL: Hit <tab> to see all tags (perhaps to resource demanding, have to test)
Enter lang
Hit <tab> and see only tags that start with (contain?) lang
Select the appropriate tag

Offtopic: another nice thing would be a custom agenda view that shows me all the tags in all my org-files and the number of headlines that have that tag, listed in descending order. Opening one tag with <tab> opens the same buffer as if I would have searched explicitly for that tag
Additional context
No response

This is already supported. Try pressing  once the "Tags: " Prompt show up. It should show you all. Once you type letter or two, it should narrow down the results.

I must be seeing ghosts. Thought that didn't work but you're absolutely right. My bad


usage with large local paper results exceeding text-embeeded's maximium prompt limit

We could call tokenizer, or ask litellm to support pre-check before api call (this will be better)

Thanks @mokurin000, yes I agree it would be nice if LiteLLM was more robust here.
 We can take a look closer

Thanks @mokurin000, yes I agree it would be nice if LiteLLM was more robust here.
 We can take a look closer

I'm using paperqa with CLI frontend, while this could apply to code both
just run pqa ask cusum in a directory with a 10MiB Chinese paper pdf, results an error 'exceeding 8192 tokens limit'


unable to reach "khstate.comcast.io"

Describe the bug
Kuberhealthy 2 is running into an issue accessing an incorrect api resource
Error with running external check: khstate.comcast.github.io \"kiam-tester-namespace-canary\" is forbidden: User \"system:serviceaccount:kuberhealthy:kuberhealthy\" cannot get khstate.comcast.github.io in the namespace

Fixed in recent RBAC adjustments


docs(README): update link

:tada: This PR is included in version 1.9.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


DB-API cursor fetchone() and fetchmany() not returning rows

Describe the bug
In some scenarios, the DB-API cursor fetch methods do not return rows that are available from an executed query:

fetchone() incorrectly returns None to Python
fetchmany() incorrectly returns [] to Python
fetchall() correctly returns all the rows

This may only occur on Clickhouse Cloud. Possibly a latency issue, but the bug still occurs after waiting between the execute() and fetchone() calls.
Steps to reproduce
Reproduction is inconsistent - reproduces most of the time but occasionally works as expected.

Execute a SQL query returning at least one row with cursor.execute()
Call cursor.fetchone() or cursor.fetchmany(n)

Expected behaviour
All fetchXXX() methods return rows if rows are available.
Code example
> self.cursor.execute("select value from system.settings where name='cloud_mode'")
> self.cursor.fetchone()
> self.cursor.fetchmany(10)
[]
> self.cursor.fetchall()
[('1',)]

> self.cursor.execute("SELECT a from VALUES('a String', (1), (2))")
> self.cursor.fetchone()
> self.cursor.fetchone()
> self.cursor.fetchone()
> self.cursor.fetchone()
> self.cursor.fetchone()
> self.cursor.fetchone()
> self.cursor.fetchmany(1)
[]
> self.cursor.fetchall()
[('1',), ('2',)]

clickhouse-connect and/or ClickHouse server logs
Configuration
Environment

clickhouse-connect version: 0.7.18
Python version: 3.11.6
Operating system: MacOS Ventura 13.4.1

ClickHouse server

ClickHouse Cloud service version 24.5

Are you reusing the same cursor at all?  I don't see any other way this can happen, the cursor implementation is very simple and all data is fetched at the beginning.  Cursors are definitely not thread safe or reusable.

Ah, I see now that neither self._ix or self.data are reset after all rows have been fetched.
So in a single thread should cursor.close() be called after every query execution that returns rows?

This could definitely be improved.  cursor.close() doesn't currently make the cursor reusable, although arguably it should by setting self._ix to 0, and cursor.execute() should probably ensure that the cursor is in fact closed before being called again.
To be honest I haven't worried too much about it because as far as I know, only Superset actually uses the DB-API, and I personally wouldn't use DB-API code with clickhouse-connect, since it's so limiting.

Got it - thank you!


MDTZ-1032: Bind FigmaOAuth2UserCredentials to ConnectInstallation to enable its cascading deletion on "Uninstalled" event

⚠ WARNING: The PR is in draft and created solely for early feedback from the team. It does not update tests according to the new changes -- it will be done later when the overall direction is confirmed.
Changes

[Feature]: FigmaOAuth2UserCredentials.connectInstallationId to bind FigmaOAuth2UserCredentials to the corresponding ConnectInstallation.
[Feature]: Enables cascading deletion of FigmaOAuth2UserCredentials on the corresponding ConnectInstallation deletion (which happens on an "Uninstalled" lifecycle event).
[Feature]: Instroduces ConnectUserInfo to the domain as a handy value object holding a pair of Atlassian User ID and Connect Installation ID. It is used by several services and use cases.

Considerations

The additional relationship causes a quite significant changes among different modules due to the necessity to pass connectInstallationId to the majority of FigmaService and FigmaAuthService methods.

@jv3nk , please, could I ask you to have a look at this PR when you have time? I would like to confirm the overall direction before starting working on tests :)
As you mentioned, "hopefully, it will be the last schema change" :D

@akostevich-atlassian this approach LGTM, happy to go ahead 🙂

@jv3nk , the PR is ready for review. Sorry for the delay: if you wish to merge your changes first -- please, let me know and just do it :)

@jv3nk , the PR is ready for review. Sorry for the delay: if you wish to merge your changes first -- please, let me know and just do it :)

Awesome, I've only got https://github.com/atlassian-labs/figma-for-jira/pull/86 open. I'd prefer to get this merged in first, the merge conflicts should be pretty easy to resolve on my branch. Looks like there's some conflicts with main to look at first though 😅


New version: LiftAndLearn v1.0.0

@JuliaRegistrator register

Registration pull request created: JuliaRegistries/General/105481
Tip: Release Notes
Did you know you can add release notes too? Just add markdown formatted text underneath the comment after the text
"Release notes:" and it will be added to the registry PR, and if TagBot is installed it will also be added to the
release that TagBot creates. i.e.
@JuliaRegistrator register

Release notes:

## Breaking changes

- blah

To add them here just re-invoke and the PR will be updated.
Tagging
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v1.0.0 -m "<description of version>" aa1fc2c3a966713f18b239acf4d59cc3ef0a05c1
git push origin v1.0.0


Revert "Write & read dummy gems binarily"

This reverts commit f11c4757a17bea029e1a83ad67c425ccf16133ff.
What was the end-user problem that led to this PR?
The problem was that since #7451, azure logs are flooded with messages like
The file will have its original line endings in your working directory
warning: LF will be replaced by CRLF in foo.gemspec.

This makes it hard to scan for other potential errors.
What was your diagnosis of the problem?
My diagnosis was that some commit in that PR introduced this warnings.
What is your fix for the problem, implemented in this PR?
My fix is to revert the offending commit.

@bundlerbot merge


Implement methods game author

Implemented the necessary methods in the various classes
Summary

I implemented the add_item method in the Author class
I implemented the can_be_archived method in the Game class

Hi @kene-creator  ,
Your task is complete!  There is nothing else to say other than... it's time to merge it :shipit:
Congratulations! 🎉

Highlights 💯

Descriptive pull request ✔
Method implemented correctly✔

Optional suggestions
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag me in your question so I can receive the notification.

As described in the Code reviews limits policy  you have a limited number of reviews per project (check the exact number in your Dashboard). If you think that the code review was not fair, you can request a second opinion using this form.


Huawei.WeMeeting version <IP_ADDRESS>

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[ ] Have you validated your manifest locally with winget validate --manifest <path>?
[ ] Have you tested your manifest locally with winget install --manifest <path>?
[ ] Does your manifest conform to the 1.0 schema?
[x] Have you tested your manifest in Windows Sandbox with Tools\SandboxTest.ps1 <path>?

This application can be successfully installed in Windows Sandbox.
Microsoft Reviewers: Open in CodeFlow

@lechacon @msftrubengu
Hello 2 assignees! This is @Dragon1573. All of the 7 checks are passed. I have no idea what has happened with the Azure Pipeline.
Could you please explain the red label Validation-Domain means?

I confirm that this manifest can be successfully installed in Windows Sandbox. Also I visited the installer URL of this package with Microsoft Edge, the "actual" download URL of the installer is the same as that in installer.yaml. There's no redirection for the download URL.

Hi @Dragon1573
The reason for the Validation-Domain label is what the msftbot said in the last paragraph above:

This may happen for URLs pointing to domains that do not align with the publisher domain or package domain. If you could provide supporting evidence from the publisher that the URLs for the installer are correct, that would help us to validate and approve this PR.

This means that we tried to match the name of the publisher (Huawei) and package (WeMeeting) with the URL domain zhumu.com, and since it does not match we need to manually review that it comes from an official source.
Can you provide screenshots or links from the app's official site pointing to this download URL? I tried to find it myself, but wasn't able to.

I'm sorry that I can't find the offical site either ...
This package have multiple developers and publishers. The download url I set in the install.yaml is get from a meeting invitation email from Huawei. The "join (External)" button is attached to a URL looks like https://welink.zhumu.com/j/<meeting_id>. I have to download and install the Mobile/PC Client of WeMeeting, then I can join the meeting.

On mobile, package attached to the "Join (External)" link is different from that installed via Huawei AppGallery, although they both called "WeMeeting". Both version of WeMeeting can detect the specified "meeting protocol URL" (zhumu://) and join the meeting.

Maybe the Windows version of WeMeeting is only released by Zhumu. This package should be named Zhumu.WeMeeting instead of Huawei.WeMeeting.
Shall I closed this pull request and create a new one? @lechacon

Details are shown in https://github.com/microsoft/winget-pkgs/pull/47487#issuecomment-1048421609, https://github.com/microsoft/winget-pkgs/pull/47487#issuecomment-1048424627 and https://github.com/microsoft/winget-pkgs/pull/47487#issuecomment-1048673688.
If necessary, we can close this pull request and submit a new one with Zhumu.WeMeeting instead.

Maybe the Windows version of WeMeeting is only released by Zhumu. This package should be named Zhumu.WeMeeting instead of Huawei.WeMeeting.
Shall I closed this pull request and create a new one? @lechacon

I believe since Huawei is the publisher (you can see it in the downloaded installer) we would need a download URL directly from Huawei, not name it as if it was from Zhumu.

@Dragon1573 we're looking for something like https://www.huaweicloud.com/en-us/product/meeting/download.html as a URL pointing to an "official" download source. I did a search at https://www.huaweicloud.com/ and didn't find anything for "wemeeting".

We're looking for something like HUAWEI CLOUD Meeting (华为云会议) as a URL pointing to an "official" download source.

Yes, I did find this site. But after installation, the icon and main panel looks totally different from that in WeMeeting. Direct link from that site is pointing to another package ...

I did search at Huawei Cloud and didn't find anything for "WeMeeting".

Neither do I. Except "HUAWEI CLOUD Meeting", there's also a "WeLink" (Simplified Chinese only, can't find the International Site). This is the 3rd package ...
The download link written in install.yaml is from a "meeting join" page at domain welink.zhumu.com. If I visit this domain directly, I will be block on a login page. The SSO domain account of it doesn't exist at all ...

I also searched "WeMeeting" on zhumu.com but found nothing. There are 2 packages available on that domain:

Zhumu Client （瞩目客户端，for users in Mainland China only）
Zhumu International Edition （瞩目国际版，for users outside Mainland China）

Marking this as Blocking-Issue until we can find an official URL from the publisher.

Marking this as Blocking-Issue until we can find an official URL from the publisher.

Also convert into "Draft Pull Request" until the URL is being found.

Unable to determine the official download URL from Huawei. This issue will be closed.


IServiceCollection populate doe not work!

Hey DryIoc
public IServiceProvider ConfigureServices(IServiceCollection services)
{
  var container = new Container();
  container.Populate(services);

  return container ;
}

And the result is! Unable to select single public constructor from implementation type Microsoft.AspNetCore.Http.HttpContextFactory
PS: It's netcoreapp2.1, DryIoc 4.2.7 and DryIoc.Microsoft.DependencyInjection 5.1.0

I will check but the versions are older, and I appreciate some digging done from your side, e.g. does the HttpContextFactory has no public ctors, etc. Maybe asking on SO will help too.

I didn't use HttpContextFactory of HttpContext anywhere directly but its Microsoft.AspNetCore.Http.HttpContextFactory and have a public constractor with a depenecy to IOptions
I used an alternative method and it worked.
var container = new Container().WithDependencyInjectionAdapter(services);

@NimaFx Ah, ok.
That did not work because the container was not setup properly for MS.DI and was a bare var container = new Container();
You need to apply the MS.DI rules via var container = new Container(rules => rules.WithMicrosoftDependencyInjectionRules());
or use the WithDependencyInjectionAdapter as you did.

Thank you, I got another issue.  It's hard to setup when one came from another container! But performance is significant!
container.Register<IActionBehaviorContext, ActionBehaviorContext>(reuse: Reuse.Scoped);
container.RegisterDelegate(typeof(IActionBehavior) , request =>  factory(request) ,  Setup.With(openResolutionScope: true, useParentReuse: true));

using (var nested = container.CreateChild(ifAlreadyRegistered:IfAlreadyRegistered.Replace))
{
    var s1 = nested.Resolve<IActionBehaviorContext>();
    var s2 = nested.Resolve<IActionBehavior>();
     Assert.AreSame(s1, s2.Context); //failed, with my reasoning they should be same!
    //factory resolve IActionBehaviorContext with help of request
}

PS: Sorry, I guess it's not the right place to ask this. But I'm in a rush!! I chose the fasted method :D

@NimaFx I have a lor of questions to this setup:

Why CreateChild and not the OpenScope?
Why openResolutionScope: true?
What is the end goal of this setup?

There are a few registrations for the child container so, I intuitively thought it should be a child, not a scoped container.

nested.RegisterInstance<ISession>(new Session()); //should replaced the with parent registration
nested.RegisterInstance<OwinContext>(_owinContext);
nested.RegisterInstance<RouteData>(_routeData);

Constructor of ActionBehaviorContext:
  public ActionBehaviorContext(ISession session, OwinContext owinContext,RouteData routeData  ) {}
Also, ActionBehaviorContext contains a Dictionary for sharing data within a child container.

Without openResolutionScope it raises ContainerException: code: Error.NoCurrentScope

The factory is a function created from an expression tree and it returns a graph of chained objects, so it requires the container for resolving dependencies (hopefully, same nested). In the previous version, we used ConfiguredInstance of structure-map to setup how these graphs of objects should resolve. but for reducing dependency on a specific container we changed it with this factory function

So inside the child container, all objects should receive the same ActionBehaviorContext.

@NimaFx I wrote a simplified version of your setup and it did not for past this line: https://github.com/dadhi/DryIoc/blob/eff9aba458b98767fa5fae7c42b6001e0143bc6d/test/DryIoc.IssuesTests/GHIssue369_Child_container_and_openResolutionScope_in_one_test.cs#L40
So I am not sure how is your setup was able to.
I suggest you start from something more simple (similar to my test) and test your expectations before going full throttle.

@dadhi  I did another test to make things simple:
 public DryIocServiceLocator(IResolverContext container) {}
Both registrations for DryIocServiceLocator should have the same result.
container.RegisterDelegate<IServiceLocator>(resolver => new DryIocServiceLocator(resolver));
container.Register<IServiceLocator, DryIocServiceLocator>();

But these Resolvers have different scopes in a nested container.

@NimaFx I still don't understand what are you doing with this, please provide a complete test / example.. check my test again. That's what I need to make sense of it.

@dadhi I was on the wrong assumption! I thought CreateChild creates a new scope but it won't!
  public interface IServiceLocator
    {
        IResolverContext Resolver { get; }
    }

    public class DryIocServiceLocator : IServiceLocator
    {
        public DryIocServiceLocator(IResolverContext resolver)
        {
            Resolver = resolver;
        }

        public IResolverContext Resolver { get; }
    }

    public interface IContext
    {
        Session Session { get; }
    }

    public class Context : IContext
    {

        public Context(Session session)
        {
            Session = session;
        }

        public Session Session { get; }
    }

    public class Session
    {
        public int Code { get; set; }
        public Session()
        {
            Code = new Random().Next(99999999);
        }
    }

    public class DryIocSpec
    {
        [Fact]
        public void Should_resolve_context_child_container()
        {
            var container = new Container();

            container.RegisterDelegate<IServiceLocator>(resolver => new DryIocServiceLocator(resolver));
            container.Register<IContext,Context>(Reuse.Scoped);

            using (var nested = container.CreateChild())
            {
                nested.RegisterInstance<Session>(new Session());

                var context1 = nested.Resolve<IContext>();  // no scope exception
                var context2 = nested.Resolve<IServiceLocator>().Resolver.Resolve<IContext>(); // no scope exception

                context1.Should().Be(context2);
            }

        }

        [Fact]
        public void Should_resolve_context_from_the_new_scope()
        {
            var container = new Container();

            container.Register<IServiceLocator, DryIocServiceLocator>();
            container.RegisterInstance<Session>(new Session());

            using (var nested = container.CreateChild(ifAlreadyRegistered: IfAlreadyRegistered.Replace))
            {
                nested.RegisterInstance<Session>(new Session());

                using (var inner = nested.OpenScope())
                {
                    var session1 = nested.Resolve<Session>();
                    var session2 = nested.Resolve<IServiceLocator>().Resolver.Resolve<Session>();

                    session1.Should().Be(session2); //pass
                }
            }
        }
    }

PS: no need to openResolutionScope: true anymore!

@NimaFx

CreateChild creates a new scope but it doesn't!

Yes, it is separate concept to scoping, but both can be combined together.
So the second test is passing and you are fine now?

@dadhi thank you so much for your time. everything seems good so far. I guess It happens when one relying too much on pattern recognition! ;)

Good, I will put your last test into the regression suit then will close the issue.


Support SSH and Git protocol remote URLs

When extracting the SCM info from the git remote URL:

Support HTTPS, SSH and git protocols
Support URLs with the optional .git suffix

A bit of context on the reason for this change: sbt-ci-release populating scmInfo is quite handy and we rely on it in another plugin, but we don't want to force people to clone using HTTPS protocol on developer machines.

Triggered a v1.5.3 release with this fix https://github.com/olafurpg/sbt-ci-release/releases/tag/v1.5.3

Thanks for the lightning-fast release! It's almost as if you know a thing or two about release automation.

haha 😅
It would be nice if the "Merge pull request" button had a checkbox to "Cut new release after merge", would automate most of the remaining manual tasks


connectWithUI - 'id-token-created' event does not working for Connect Wallet

✅ Prerequisites

[ Yes] Did you perform a cursory search of open issues? Is this question already asked elsewhere?
[ Yes] Are you reporting to the correct repository (magic-sdk)?

❓ Question
I'm using Magic Universal, connectWithUI method with listening to the id-token-created event, and tryin to get the DIDToken for next-auth lib to auth the user in. It works for connect with Google, and Email as well. However, it seems like the event is not triggered when user trying to connect with third-party wallet, which means I can't have the did token for creating my own user auth sessions afterwards if the user choose to link their own wallet.
May someone help me out?
My Code:
// Try to connect to the wallet using Magic's user interface
      let DIDToken = null
      const wallet_public_address = await magic.wallet.connectWithUI().on('id-token-created', (params) => {
        console.log(`params: ${JSON.stringify(params)}`)
        const { idToken } = params
        DIDToken = idToken
        console.log(DIDToken)
      })

I have set up my dev env for Domain API Access and tried to use the getIdToken method, but it's for Magic Auth (Magic Dedicated).
🌎 Environment

Software
Version(s)

magic-sdk
19.2.0

Browser
Google Chrome

next
13.4.13

Operating System
MacOS

Soz, just saw this part: