Nightly transformers breaks Unsloth

As of about 1 AM last evening ... 10/17/2024 ... training times went from about 2 hours for 1024 steps to about 16 hours ... Is this a code issue on my end or are others having this issue?  I am using your standard scripts training a Mistral 3 Instruct ... have done same several other times none took more than 3.5 hours for same number of training steps.
Should I just wait a few days to see if Huggingface works out the issue?
Thank you.

Example of my current training ...
==((====))==  Unsloth - 2x faster free finetuning | Num GPUs = 1
\   /|    Num examples = 22,318 | Num Epochs = 1
O^O/ _/ \    Batch size per device = 1 | Gradient Accumulation steps = 5
\        /    Total batch size = 5 | Total steps = 2,080
"-____-"     Number of trainable parameters = 335,544,320
[ 23/2080 10:12 < 16:40:10, 0.03 it/s, Epoch 0.00/1]
Notice 16 hours ... it was 44 HOURS with Batch size at 2 and GAS at 4 (IIRC)

And this is the code used:
from trl import SFTTrainer
from transformers import TrainingArguments
from unsloth import is_bfloat16_supported
trainer = SFTTrainer(
model = model,
tokenizer = tokenizer,
train_dataset = dataset,
dataset_text_field = "text",
max_seq_length = max_seq_length,
dataset_num_proc = 2,
packing = False, # Can make training 5x faster for short sequences.
args = TrainingArguments(
per_device_train_batch_size = 1,
gradient_accumulation_steps = 5,
warmup_steps = 105,
max_steps = 2080, # Set num_train_epochs = 1 for full training runs
learning_rate = 2.557769e-4,
fp16 = not is_bfloat16_supported(),
bf16 = is_bfloat16_supported(),
logging_steps = 1,
optim = "adamw_8bit",
weight_decay = 0.01,
lr_scheduler_type = "linear",
seed = 3407,
output_dir = "outputs",
),

Also used this code to load unsloth:
%%capture
!pip install unsloth
Also get the latest nightly Unsloth!
!pip uninstall unsloth -y && pip install --upgrade --no-cache-dir "unsloth[colab-new] @ git+https://github.com/unslothai/unsloth.git"

Notice the it/s goes from 0.08 to 0.02 it/s in very short order -- usually under 5 step into a train.

Not trying to flood this. Just inputing info as it comes: Seems like a networking issue ON HUGGINGFACE's END?
Anyone else having this issue?

Is this just the new normal?
==((====))==  Unsloth - 2x faster free finetuning | Num GPUs = 1
\   /|    Num examples = 22,318 | Num Epochs = 1
O^O/ _/ \    Batch size per device = 2 | Gradient Accumulation steps = 4
\        /    Total batch size = 8 | Total steps = 280
"-____-"     Number of trainable parameters = 335,544,320
[119/280 2:20:37 < 3:13:30, 0.01 it/s, Epoch 0.04/1]

Consistant ...  0.01 it/s ... always drops to that amount ...

@CurtiusSimplus Apologies wait is this using unsloth_train? We're working on a fix as we speak - sorry on the issue!

Same as above but with "trainer_stats = trainer.train()"
It starts here: ==((====))==  Unsloth - 2x faster free finetuning | Num GPUs = 1
\   /|    Num examples = 22,318 | Num Epochs = 1
O^O/ _/ \    Batch size per device = 2 | Gradient Accumulation steps = 4
\        /    Total batch size = 8 | Total steps = 680
"-____-"     Number of trainable parameters = 335,544,320
[ 3/680 00:16 < 3:02:08, 0.06 it/s, Epoch 0.00/1]
Notice the .06 it/s that seems to reliably drop off to about .01 ... It is on its way ...
==((====))==  Unsloth - 2x faster free finetuning | Num GPUs = 1
\   /|    Num examples = 22,318 | Num Epochs = 1
O^O/ _/ \    Batch size per device = 2 | Gradient Accumulation steps = 4
\        /    Total batch size = 8 | Total steps = 680
"-____-"     Number of trainable parameters = 335,544,320
[ 4/680 01:18 < 7:20:59, 0.03 it/s, Epoch 0.00/1]****
Notice .03 ....
Now .02 ... ==((====))==  Unsloth - 2x faster free finetuning | Num GPUs = 1
\   /|    Num examples = 22,318 | Num Epochs = 1
O^O/ _/ \    Batch size per device = 2 | Gradient Accumulation steps = 4
\        /    Total batch size = 8 | Total steps = 680
"-____-"     Number of trainable parameters = 335,544,320
[ 5/680 02:23 < 8:59:26, 0.02 it/s, Epoch 0.00/1]
You don't control that number I don't think do you? If so would it be a huggingface thing?

I will take a week. Work on my data sets ... and let you chaps work out the coding. Most appreciated. Your software is AWESOME COOL!

This is the New Code for 'train the model'
from trl import SFTTrainer
from transformers import TrainingArguments
from unsloth import is_bfloat16_supported
from unsloth import UnslothTrainer, UnslothTrainingArguments
trainer = SFTTrainer(
model = model,
tokenizer = tokenizer,
train_dataset = dataset,
dataset_text_field = "text",
max_seq_length = max_seq_length,
dataset_num_proc = 2,
packing = False, # Can make training 5x faster for short sequences.
args = TrainingArguments(
per_device_train_batch_size = 2,
gradient_accumulation_steps = 4,
warmup_steps = 5,
max_steps = 680, # Set num_train_epochs = 1 for full training runs
learning_rate = 2.557769e-4,
fp16 = not is_bfloat16_supported(),
bf16 = is_bfloat16_supported(),
logging_steps = 1,
optim = "adamw_8bit",
weight_decay = 0.01,
lr_scheduler_type = "linear",
seed = 3407,
output_dir = "outputs",
),
)

@CurtiusSimplus I updated Unsloth to use the latest transformers version - it should be fixed hopefully!
You'll have to use the latest transformers temporarily (you can continue using unsloth_train or just use trainer.train():
!pip uninstall unsloth -y
!pip install "unsloth[colab-new] @ git+https://github.com/unslothai/unsloth.git"
!pip uninstall transformers -y && pip install --upgrade --no-cache-dir "git+https://github.com/huggingface/transformers.git"

/usr/local/lib/python3.10/dist-packages/unsloth/init.py in
102
103 # Try loading bitsandbytes and triton
--> 104 import bitsandbytes as bnb
105
106 if "SPACE_AUTHOR_NAME" not in os.environ and "SPACE_REPO_NAME" not in os.environ:
ModuleNotFoundError: No module named 'bitsandbytes'

/usr/local/lib/python3.10/dist-packages/unsloth/models/_utils.py](https://localhost:8080/#) in
220 # =============================================
221 # Get Xformers
--> 222 from xformers import version as xformers_version
223 # Temporarily disable 0.0.27 and higher - inference issues
224 if False: #Version(xformers_version) >= Version("0.0.27"):
ModuleNotFoundError: No module named 'xformers'
Installed
!pip install xformers
!pip install bitsandbytes
Working ... So you need

Thanks again ... usr/local/lib/python3.10/dist-packages/trl/trainer/sft_trainer.py:401: FutureWarning: tokenizer is deprecated and will be removed in version 5.0.0 for SFTTrainer.__init__. Use processing_class instead.
super().init(

trainer_stats = trainer.train()
wandb: WARNING The run_name is currently set to the same value as TrainingArguments.output_dir. If this was not intended, please specify a different run name by setting the TrainingArguments.run_name parameter.
wandb: Using wandb-core as the SDK backend. Please refer to https://wandb.me/wandb-core for more information.
wandb: Appending key for api.wandb.ai to your netrc file: /root/.netrc
Tracking run with wandb version 0.18.3
Run data is saved locally in /content/wandb/run-20241019_045336-f20ezvyt
Syncing run outputs to Weights & Biases (docs)
View project at https://wandb.ai/albertcurtis369-none/huggingface
View run at https://wandb.ai/albertcurtis369-none/huggingface/runs/f20ezvyt
I have so many questions.

@CurtiusSimplus Yep apologies - I can also reproduce the issue - it seems like Huggingface changed something dramatically in their main repo - hopefully I'll fix it in the next few hours - apologies on the issue!

These two lines
!pip install xformers
!pip install bitsandbytes
fix the issue above the
from unsloth import FastLanguageModel
In my rough hack of it ... thanks again you guys have allowed me to do so much fun stuff!

Suppose it all could go with the 'pip installs' at the top to make it more clean.
I have it working with those TWO HACK LINES IN PLACE ... ME and GEMINI cooked them up.

It seems to work in any script of yours that wants to use the newer 'transformers' over the old. And for what it's worth your trainer is being off -- but on the bright side 'trainer' the 'original vanilla seems to be working pretty good now. Times are reasonable at any rate.  You guys get on it ... Better than the power company!

@CurtiusSimplus Apologies I noticed the upgrade script is wrong!
Would
pip install unsloth
# Also get the latest nightly Unsloth!
pip uninstall unsloth -y && pip install --upgrade --no-cache-dir "unsloth[colab-new] @ git+https://github.com/unslothai/unsloth.git"
pip uninstall transformers -y && pip install --upgrade --no-cache-dir "git+https://github.com/huggingface/transformers.git"
``` work?

Seems to be working  ... As an FYI ... My Hack did get my really long training run done last night ... I felt really good about that ... I am not programmer at all. Very minimal skills.
So it words as expected up until this point:
trainer_stats = trainer.train()
wandb: WARNING The run_name is currently set to the same value as TrainingArguments.output_dir. If this was not intended, please specify a different run name by setting the TrainingArguments.run_name parameter.
wandb: Using wandb-core as the SDK backend. Please refer to https://wandb.me/wandb-core for more information.
wandb: Logging into wandb.ai. (Learn how to deploy a W&B server locally: https://wandb.me/wandb-server)
wandb: You can find your API key in your browser here: https://wandb.ai/authorize
wandb: Paste an API key from your profile and hit enter, or press ctrl+c to quit: ··········
wandb: Appending key for api.wandb.ai to your netrc file: /root/.netrc
Tracking run with wandb version 0.18.3
Run data is saved locally in /content/wandb/run-20241019_170204-lzuc2s7e
Syncing run outputs to Weights & Biases (docs)
View project at https://wandb.ai/albertcurtis369-none/huggingface
View run at https://wandb.ai/albertcurtis369-none/huggingface/runs/lzuc2s7e

Also we are back to this ...

==((====))==  Unsloth - 2x faster free finetuning | Num GPUs = 1
   \\   /|    Num examples = 22,206 | Num Epochs = 1
O^O/ \_/ \    Batch size per device = 2 | Gradient Accumulation steps = 4
\        /    Total batch size = 8 | Total steps = 1,390
 "-____-"     Number of trainable parameters = 335,544,320
 [ 4/1390 03:18 < 38:10:18, 0.01 it/s, Epoch 0.00/1]
Step | Training Loss
-- | --
1 | 6.282700
2 | 6.493500

==((====))==  Unsloth - 2x faster free finetuning | Num GPUs = 1
   \\   /|    Num examples = 22,206 | Num Epochs = 2
O^O/ \_/ \    Batch size per device = 4 | Gradient Accumulation steps = 4
\        /    Total batch size = 16 | Total steps = 1,390
 "-____-"     Number of trainable parameters = 335,544,320
 [ 3/1390 03:23 < 78:29:33, 0.00 it/s, Epoch 0.00/2]
Step | Training Loss
-- | --
1 | 7.193400

@CurtiusSimplus Wait you need to update Unsloth itself and use the latest transformers. So first pip uninstall transformers -y && pip install --upgrade --no-cache-dir "git+https://github.com/huggingface/transformers.git" then pip uninstall unsloth -y && pip install --upgrade --no-cache-dir "unsloth[colab-new] @ git+https://github.com/unslothai/unsloth.git"

Wait I sim-intepreted what you meant @CurtiusSimplus - you're saying the training run is getting slower weirdly vs an old version of Unsloth? Would it be possible if you had some scripts to share with Mistral Instruct through Colab if that's possible? Or could you tell me which exact notebook you used?

The Mistral 22b and the Mistral Nemo ... Your scripts but with my hf and token added.
Even your vanilla scripts do it ...
Here is one I am using:
https://colab.research.google.com/drive/1odvC1FB-Oo12fm73tWoyAbumhbjvBnN4#scrollTo=yqxqAZ7KJ4oL
And
https://colab.research.google.com/drive/170Z68Tay6sOnHGtqqu6YjPecEADUoRK2
And I have  a paid colab account so I am paying to use GPU.

From first link ... latest ... ==((====))==  Unsloth - 2x faster free finetuning | Num GPUs = 1
\   /|    Num examples = 22,206 | Num Epochs = 3
O^O/ _/ \    Batch size per device = 6 | Gradient Accumulation steps = 8
\        /    Total batch size = 48 | Total steps = 1,048
"-____-"     Number of trainable parameters = 763,363,328
wandb: WARNING The run_name is currently set to the same value as TrainingArguments.output_dir. If this was not intended, please specify a different run name by setting the TrainingArguments.run_name parameter.
wandb: Using wandb-core as the SDK backend. Please refer to https://wandb.me/wandb-core for more information.
wandb: Logging into wandb.ai. (Learn how to deploy a W&B server locally: https://wandb.me/wandb-server)
wandb: You can find your API key in your browser here: https://wandb.ai/authorize
wandb: Paste an API key from your profile and hit enter, or press ctrl+c to quit: ··········
wandb: Appending key for api.wandb.ai to your netrc file: /root/.netrc
Tracking run with wandb version 0.18.3
Run data is saved locally in /content/wandb/run-20241021_023214-81ufhnas
Syncing run outputs to Weights & Biases (docs)
View project at https://wandb.ai/albertcurtis369-none/huggingface
View run at https://wandb.ai/albertcurtis369-none/huggingface/runs/81ufhnas
[ 3/1048 03:31 < 61:18:19, 0.00 it/s, Epoch 0.00/3]
That is with '#report_to = "none", # Use this for WandB etc' will rerun as 'report_to = "none", # Use this for WandB etc' and get results ... to compare ...

==((====))==  Unsloth - 2x faster free finetuning | Num GPUs = 1
   \\   /|    Num examples = 22,206 | Num Epochs = 3
O^O/ \_/ \    Batch size per device = 6 | Gradient Accumulation steps = 8
\        /    Total batch size = 48 | Total steps = 1,048
 "-____-"     Number of trainable parameters = 763,363,328
 [ 3/1048 03:31 < 61:24:18, 0.00 it/s, Epoch 0.00/3]
Step | Training Loss
-- | --
1 | 14.595200

Using this code for 'train the model" (copied exactly) Sorry that I get ahead of myself and am not clear at times.
from trl import SFTTrainer
from transformers import TrainingArguments
from unsloth import is_bfloat16_supported
trainer = SFTTrainer(
model = model,
tokenizer = tokenizer,
train_dataset = dataset,
dataset_text_field = "text",
max_seq_length = max_seq_length,
dataset_num_proc = 2,
packing = False, # Can make training 5x faster for short sequences.
args = TrainingArguments(
per_device_train_batch_size = 6,
gradient_accumulation_steps = 8,
warmup_steps = 75,
# num_train_epochs = 1, # Set this for 1 full training run.
max_steps = 1048,
learning_rate = 1.579e-4,
fp16 = not is_bfloat16_supported(),
bf16 = is_bfloat16_supported(),
logging_steps = 1,
optim = "adamw_8bit",
weight_decay = 0.01,
lr_scheduler_type = "linear",
seed = 3407,
output_dir = "outputs",
report_to = "none", # Use this for WandB etc
),
)

Everything works fine until 'trainer' is ran ...  trainer_stats = trainer.train() Should it be different?
43 hours for 750 steps on an A100 seems .... Crazy.
Trying this code now:
...
from unsloth import UnslothTrainer, UnslothTrainingArguments
,,,
from unsloth import unsloth_train
trainer_stats = unsloth_train(trainer)
Will advise.
Same 43 hours ...

==((====))==  Unsloth - 2x faster free finetuning | Num GPUs = 1
   \\   /|    Num examples = 22,206 | Num Epochs = 2
O^O/ \_/ \    Batch size per device = 6 | Gradient Accumulation steps = 8
\        /    Total batch size = 48 | Total steps = 750
 "-____-"     Number of trainable parameters = 763,363,328
 [ 3/750 03:30 < 43:39:32, 0.00 it/s, Epoch 0.00/2]
Step | Training Loss
-- | --
1 | 14.597300

Notice 0 to 2 Iterations per Second ... it has to be at least 6 to be feasible for time and resources ... 10 to 12 is ideal I find, from my POV.

But with a mod of you 'Text Completion' Script ...
Unsloth: Setting lr = 4.30e-06 instead of 4.30e-05 for embed_tokens.
Unsloth: Setting lr = 4.30e-06 instead of 4.30e-05 for lm_head.
==((====))==  Unsloth - 2x faster free finetuning | Num GPUs = 1
\   /|    Num examples = 8,037 | Num Epochs = 1
O^O/ _/ \    Batch size per device = 8 | Gradient Accumulation steps = 8
\        /    Total batch size = 64 | Total steps = 125
"-____-"     Number of trainable parameters = 1,798,307,840
[ 4/125 00:13 < 13:13, 0.15 it/s, Epoch 0.02/1]
IDK ... It is weird ..

Still broken ... Or at least the scripts I want to use are ...

Still erroring out ...
==((====))==  Unsloth - 2x faster free finetuning | Num GPUs = 1
\   /|    Num examples = 1,252 | Num Epochs = 6
O^O/ _/ \    Batch size per device = 1 | Gradient Accumulation steps = 4
\        /    Total batch size = 4 | Total steps = 1,750
"-____-"     Number of trainable parameters = 381,681,664
OutOfMemoryError                          Traceback (most recent call last)
 in <cell line: 1>()
----> 1 trainer_stats = trainer.train()
2 #from unsloth import unsloth_train
3 #trainer_stats = unsloth_train(trainer)
15 frames
/usr/local/lib/python3.10/dist-packages/unsloth/kernels/utils.py in matmul_lora(failed resolving arguments)
410         # LoRA is enabled
411         A, B = A.t(), B.t()
--> 412         out += (X @ A.to(dtype)) @ (s * B.to(dtype))
413     pass
414
OutOfMemoryError: CUDA out of memory. Tried to allocate 1000.00 MiB. GPU 0 has a total capacity of 22.17 GiB of which 998.88 MiB is free. Process 18505 has 21.13 GiB memory in use. Of the allocated memory 20.81 GiB is allocated by PyTorch, and 88.13 MiB is reserved by PyTorch but unallocated. If reserved but unallocated memory is large try setting PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True to avoid fragmentation.  See documentation for Memory Management  (https://pytorch.org/docs/stable/notes/cuda.html#environment-variables)
These training parameters:
trainer = SFTTrainer(
model = model,
tokenizer = tokenizer,
train_dataset = dataset,
dataset_text_field = "text",
max_seq_length = max_seq_length,
dataset_num_proc = 1,
packing = True, # Can make training 5x faster for short sequences.
args = TrainingArguments(
per_device_train_batch_size = 1,
gradient_accumulation_steps = 4,
warmup_steps = 75,
# num_train_epochs = 1, # Set this for 1 full training run.
max_steps = 1750,
learning_rate = 1.579e-4,
fp16 = not is_bfloat16_supported(),
bf16 = is_bfloat16_supported(),
logging_steps = 1,
optim = "adamw_8bit",
weight_decay = 0.01,
lr_scheduler_type = "linear",
seed = 3407,
output_dir = "outputs",
report_to = "none", # Use this for WandB etc
),
)

https://colab.research.google.com/drive/1xNEf7xc3vX3IpHQFu1-58yQxow3VNVMq#scrollTo=yqxqAZ7KJ4oL
This is getting to be a bit spendy ... a dollar an hour ... No.

==((====))==  Unsloth - 2x faster free finetuning | Num GPUs = 1
   \\   /|    Num examples = 1,252 | Num Epochs = 4
O^O/ \_/ \    Batch size per device = 2 | Gradient Accumulation steps = 4
\        /    Total batch size = 8 | Total steps = 600
 "-____-"     Number of trainable parameters = 763,363,328
 [ 3/600 05:33 < 55:20:02, 0.00 it/s, Epoch 0.01/4]
Step | Training Loss
-- | --
1 | 3.997300

For the life of me I cannot get this 22b to train ... No way. And this is on an A100 from Colab. not the freebie set up.
This is a continuation from my POV of the same issues that started a few days back ... Trainer just does not run effectively as of late.
Sorry to be a nag.

BRO these are EXPENSIVE failures ...

==((====))==  Unsloth - 2x faster free finetuning | Num GPUs = 1
   \\   /|    Num examples = 22,224 | Num Epochs = 1
O^O/ \_/ \    Batch size per device = 4 | Gradient Accumulation steps = 1
\        /    Total batch size = 4 | Total steps = 600
 "-____-"     Number of trainable parameters = 456,130,560
 [ 3/600 00:06 < 1:04:41, 0.15 it/s, Epoch 0.00/1]
Step | Training Loss
-- | --
1 | 1.461600
---------------------------------------------------------------------------
OutOfMemoryError                          Traceback (most recent call last)
<ipython-input-10-3d62c575fcfd> in <cell line: 1>()
----> 1 trainer_stats = trainer.train()

19 frames/usr/local/lib/python3.10/dist-packages/accelerate/utils/operations.py in _convert_to_fp32(tensor)
    777
    778     def _convert_to_fp32(tensor):
--> 779         return tensor.float()
    780
    781     def _is_fp16_bf16_tensor(tensor):

OutOfMemoryError: CUDA out of memory. Tried to allocate 11.89 GiB. GPU 0 has a total capacity of 22.17 GiB of which 3.38 GiB is free. Process 39863 has 18.71 GiB memory in use. Of the allocated memory 18.18 GiB is allocated by PyTorch, and 308.07 MiB is reserved by PyTorch but unallocated. If reserved but unallocated memory is large try setting PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True to avoid fragmentation.  See documentation for Memory Management  (https://pytorch.org/docs/stable/notes/cuda.html#environment-variables)

==((====))==  Unsloth - 2x faster free finetuning | Num GPUs = 1
   \\   /|    Num examples = 22,224 | Num Epochs = 1
O^O/ \_/ \    Batch size per device = 4 | Gradient Accumulation steps = 1
\        /    Total batch size = 4 | Total steps = 600
 "-____-"     Number of trainable parameters = 456,130,560
 [ 3/600 00:06 < 1:04:41, 0.15 it/s, Epoch 0.00/1]
Step	Training Loss
1	1.461600
---------------------------------------------------------------------------
OutOfMemoryError                          Traceback (most recent call last)
[](https://localhost:8080/#) in ()
----> 1 trainer_stats = trainer.train()
19 frames
/usr/local/lib/python3.10/dist-packages/accelerate/utils/operations.py in _convert_to_fp32(tensor)
777
778     def _convert_to_fp32(tensor):
--> 779         return tensor.float()
780
781     def _is_fp16_bf16_tensor(tensor):
OutOfMemoryError: CUDA out of memory. Tried to allocate 11.89 GiB. GPU 0 has a total capacity of 22.17 GiB of which 3.38 GiB is free. Process 39863 has 18.71 GiB memory in use. Of the allocated memory 18.18 GiB is allocated by PyTorch, and 308.07 MiB is reserved by PyTorch but unallocated. If reserved but unallocated memory is large try setting PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True to avoid fragmentation.  See documentation for Memory Management  (https://pytorch.org/docs/stable/notes/cuda.html#environment-variables)
This is YOUR NEW SCRIPT FROM YOUR SITE! SO ... why doesn't it work?  that is with 4 and 1 for the batch size and gradient ... NOT GRADIENT and still memories OUT ... a 12b in 22gb vram? COME ON? That is broke! memories out with a A100 same exact settings ... SO  total batch size of 4 on an L4 ... NO that is broken ... Still.

@CurtiusSimplus Wait are you finetuning Mistral Nemo and turning on embed_tokens and lm_head? Did this work before in a 24GB VRAM card (I assume L4 on Colab?) A batch size of 4 will definitely cause out of memory issues.
I'm just confused what the issue is - what happens if you don't use our updates, and just use the old notebooks as is - do they work fine?

ANOTHER FAILURE ... and settings are NOT HIGH!  This 22b is suppose train a 16gb ... NO WAY ... won't do it on an L4 either ...
https://colab.research.google.com/drive/1xNEf7xc3vX3IpHQFu1-58yQxow3VNVMq#scrollTo=yqxqAZ7KJ4oL  I am not paying a dollar an hour for more failures! NO WAY! Tired of that ... gets expensive fast.

==((====))==  Unsloth - 2x faster free finetuning | Num GPUs = 1
   \\   /|    Num examples = 22,224 | Num Epochs = 1
O^O/ \_/ \    Batch size per device = 2 | Gradient Accumulation steps = 4
\        /    Total batch size = 8 | Total steps = 600
 "-____-"     Number of trainable parameters = 456,130,560
 [ 2/600 : < :, Epoch 0.00/1]
Step | Training Loss
-- | --
---------------------------------------------------------------------------
OutOfMemoryError                          Traceback (most recent call last)
<ipython-input-6-3d62c575fcfd> in <cell line: 1>()
----> 1 trainer_stats = trainer.train()

13 frames/usr/local/lib/python3.10/dist-packages/accelerate/utils/operations.py in _convert_to_fp32(tensor)
    777
    778     def _convert_to_fp32(tensor):
--> 779         return tensor.float()
    780
    781     def _is_fp16_bf16_tensor(tensor):

OutOfMemoryError: CUDA out of memory. Tried to allocate 5.94 GiB. GPU 0 has a total capacity of 22.17 GiB of which 5.76 GiB is free. Process 29726 has 16.39 GiB memory in use. Of the allocated memory 15.85 GiB is allocated by PyTorch, and 306.50 MiB is reserved by PyTorch but unallocated. If reserved but unallocated memory is large try setting PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True to avoid fragmentation.  See documentation for Memory Management  (https://pytorch.org/docs/stable/notes/cuda.html#environment-variables)

==((====))==  Unsloth - 2x faster free finetuning | Num GPUs = 1
   \\   /|    Num examples = 22,224 | Num Epochs = 1
O^O/ \_/ \    Batch size per device = 2 | Gradient Accumulation steps = 4
\        /    Total batch size = 8 | Total steps = 600
 "-____-"     Number of trainable parameters = 456,130,560
 [ 2/600 : < :, Epoch 0.00/1]
Step	Training Loss
---------------------------------------------------------------------------
OutOfMemoryError                          Traceback (most recent call last)
[](https://localhost:8080/#) in ()
----> 1 trainer_stats = trainer.train()
13 frames
/usr/local/lib/python3.10/dist-packages/accelerate/utils/operations.py in _convert_to_fp32(tensor)
777
778     def _convert_to_fp32(tensor):
--> 779         return tensor.float()
780
781     def _is_fp16_bf16_tensor(tensor):
OutOfMemoryError: CUDA out of memory. Tried to allocate 5.94 GiB. GPU 0 has a total capacity of 22.17 GiB of which 5.76 GiB is free. Process 29726 has 16.39 GiB memory in use. Of the allocated memory 15.85 GiB is allocated by PyTorch, and 306.50 MiB is reserved by PyTorch but unallocated. If reserved but unallocated memory is large try setting PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True to avoid fragmentation.  See documentation for Memory Management  (https://pytorch.org/docs/stable/notes/cuda.html#environment-variables)

If you're doing text completion and training on the lm_head and embed_tokens with Mistral Nemo 12B, I'm unsure if it'll fit in a 40GB card - especially with a batch size of 4

By the way your notebooks are all inaccessible - which exact Colab notebook are you using - also we instead chat async on Discord instead - we're more responsive there.

It will do the 'text completion' training ... but you are seeing my day above ... that is my day ... And is not ALL the failures of today ... that is a new script. It is getting frustrating.  I am running short of COLAB POINTS.

The one's with 0.00it/s - the slow ones - can you make them public? Ie provide a link to share

Discord says I can make an account.
What Notebooks? The ones you guys advertise for free on your pages ... There are VERY ACCESSIBLE ... https://docs.unsloth.ai/get-started/unsloth-notebooks
The Particular is this one ...  https://colab.research.google.com/drive/17d3U-CAIwzmbDRqbZ9NnpHxCkmXB6LZ0?usp=sharing
Those are YOURS right?

Yes that is - but what's the issue with it - you're customizing it correct - ie converting it for text completion by training the lm_head and embed_tokens correct? And maybe also increasing the rank from 16 and higher?

Does the notebook we shared work as is - ie without changing the parameters - the dataset can change yes

I will try this one vanilla ...

@CurtiusSimplus I just ran it myself - the Mistral Nemo notebook with no changes on a T4:

And the new gradient accumulation fix:

These seem normal.
But your  [ 3/600 05:33 < 55:20:02, 0.00 it/s, Epoch 0.01/4] seems abnormal - I'm assuming if I request access to your notebooks, you'll provide access to them?

Untouched script results:  https://colab.research.google.com/drive/17d3U-CAIwzmbDRqbZ9NnpHxCkmXB6LZ0?usp=sharing#scrollTo=yqxqAZ7KJ4oL NO Changes made at all ... time is okay ... So IDK ... maybe I will just can my old scripts and start fresh?

**** Unsloth: Please use our fixed gradient_accumulation_steps by updating transformers and Unsloth!
==((====))==  Unsloth - 2x faster free finetuning | Num GPUs = 1
   \\   /|    Num examples = 22,224 | Num Epochs = 1
O^O/ \_/ \    Batch size per device = 2 | Gradient Accumulation steps = 4
\        /    Total batch size = 8 | Total steps = 60
 "-____-"     Number of trainable parameters = 57,016,320
 [ 4/60 01:04 < 30:03, 0.03 it/s, Epoch 0.00/1]
Step | Training Loss
-- | --
1 | 1.955600
2 | 2.219300

@CurtiusSimplus By the way - have to considered Kaggle? They have 30 hours for free per week

Wait I'm confused why is your training time 30 minutes and mine 11 minutes - is this on T4 right

OHHH wait it's your dataset that's different - ie longer sequence lengths

Reminder if your dataset is very very long, it will be slow - sadly that's the life of training or finetuning LLMs - it might well be your 54 hours is actually correct. Reminder Unsloth made it 2x faster, so before it would have been 110 hours

I may try the kaggle notebooks ... the data set has been WORKING for months until the other day.  With NO ISSUES.

The iterations per second just fell off a cliff as of last week.

That is very weird - would it be possible to share the notebook so I can investigate further (I tried asking for access since it's private) - I can do a larger investigation today / tomorrow - apologies on the issue

It is no worries. I have been using 32k sequence length with NO ISSUES for months on the Mistrals. 16k before that ... no worries.
I saved a new 'copy of' over the old one by mistake.
I am just gonna delete this TANGLE of notebooks I have ... find the three that I want from you guys-- Mistral Instruct 3 alpaca, Nemo Alpaca, and Mistral Small Alpaca. Get the new ones, and go from there. I think that is best.

Thank you much for your excellent help.

@CurtiusSimplus Apologies - I know sometimes this can get frustrating - sorry - hopefully the Kaggle notebooks can be helpful (30 hours for free per week!!)

All of this has been of help ... I have a feeling that in a week ... I will come back. There will be new scripts at UNSLOTH for Mistral and so forth, and I will go from there.
But in that time perhaps Kaggle it will be.  Thank much.

Bump. I also noticed an extreme increase in the training time since the use of unsloth_train. My training time went from like 3 hours to 16+ with the same dataset and training params


Eliminate cause of warnings

I have a project that makes extensive use of site_prism.  It is currently running on ruby-2.5.5.
I receive tons of warnings of this form:
/Users/nate/.rvm/gems/ruby-2.5.1/gems/site_prism-3.0/lib/site_prism/page.rb:34: warning: instance variable @page not initialized
And for reference $-W is at 1.  This is not with verbose logging on, this is with default logging level set.
I did update to ruby 2.3.0, and ran all tests successfully.  The update to 2.3 was only due to it being the easiest path to bundle installing.
closes #345

@luke-hill requested changes made and CI is passing.

Thanks for the contribution


⬆ Update Icons: Playwright, Puppeteer, StoryBook, Testing-Library, React-Query, Recoil

Intro.
Hello, I am a web Frontend developer. I have been using skill-icons to write my GitHub README.  Thanks to you, my project's README is becoming cleaner and more organized. There are some libraries and frameworks I commonly use in frontend development that are not included in this open-source project, so I have opened this Pull Request to contribute directly.
List of Contents

Testing tools commonly used in frontend development
Libraries commonly used in frontend development
Etc...(Figma)

Testing Tools
1. Playwright(⭐⭐⭐)

What?

An end-to-end testing tool that allows you to test all modern rendering engines, including Chromium, WebKit, and Firefox, using a single API.
It is gaining popularity due to its extended features such as auto-waiting, retry-ability, support for testing all modern rendering engines, improved test speed (through the reuse of browser contexts, parallel testing, etc.), convenient debugging tools, and support for various languages.

closes issue(s): #890 , #811 , #773 , #520 , #401 , #392
2. Puppeteer

What?

Puppeteer is fundamentally based on Chromium and provides a library that enables the launching of a virtual browser similar to the environment users interact with, through the DevTools protocol, allowing it to run in the background.

closes issue(s): #772
3. StoryBook(⭐)

What?

Storybook is a tool that supports a component-level UI development environment. With Storybook, you can proceed with component-level UI development independently of the actual web application environment. Additionally, it can also be used as a documentation tool for components.

closes issue(s): #392, #342
4. Testing-Library

What?

React Testing Library is a collection of tools that facilitate the testing of React components without relying on the details of their implementation. This approach makes refactoring easier and enables best practices for accessibility.

closes issue(s): none.
Libraries
5. React-Query (⭐)

What?

React Query is a library that supports fetching, caching, and synchronization with server data. It eliminates the need for complex and verbose code, allowing for simple and intuitive API usage within React Components.

closes issue(s): #671, #268
6. Recoil

What?

Recoil is one of the many global state management libraries available for React projects. Using Recoil, you can create a data-flow graph that flows from atoms (shared states) through selectors (pure functions) to React components. Here, atoms are units of state that components can subscribe to, while selectors transform this state synchronously or asynchronously.

closes issue(s): #267

Etc

This is a Figma file containing images of the icons I have worked on.

Icon Images Figma File

I am quite in favor of this request, since Playwright is gaining a lot of popularity, together with testing-library.

I am also in favor of this request, mainly because of the use of Storybook which is an excellent tool for the frontend together with React Query.


aws mutli-env deploy

Description
Update the deploy action to support multiple environments (currently 'dev' and 'prod')

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:
Additional details and impacted files

:loudspeaker: Thoughts on this report? Let us know!


Device List Page

The test version is dev mode Android version VDebug. The vision of test phone is Android 17.
The  most functions work fine in this page.
We just miss two function that mentioned in UI design.
1.scan QR code to add device.
2.delete device

The above UI issues already solved in Android dev version vDebug.
The screenshots are attached below.


Endlessly loops on IE5 on Mac OS9

Hello there!
When I try to use the Browservice proxy on classic Mac OS's IE, it endlessly loops between two(?) URLs. http://$IP/$Window#/$hash leads to http://$IP/$Window#/$hash/next, which leads back to http://$IP/$Window#/$hash. This occurs in both the version of IE5.0 bundled with OS9 and IE5.1.

Have you tried the Netscape?

Good to hear experiences from the Mac OS side. I have no direct way to debug this myself, but the best theory about the cause that comes to mind is that for some reason, IE5 on Mac OS incorrectly caches the main page (http://$IP/$Window#/$hash) even though Browservice sends headers that disallow caching. Caching breaks things because the native Back/Forward button forwarding is implemented as a forwarding chain /prev/ -> / -> /next/ -> / on the first load of the Browservice client page (where the last forward is done by simulating a Back button press), and if IE5 uses the old cached version of /, we get a forward loop.
To confirm this theory, we need to log all the HTTP requests that Browservice receives. Could you try to add the line
    INFO_LOG("HTTP ", request->method(), " ", request->path());

to the beginning of the function Context::onHTTPServerRequest in viceplugins/retrojsvice/src/context.cpp. To apply the change, you can simply re-run the make command and restart Browservice. After this, connecting with IE5 to the modified Browservice instance, see what HTTP GET lines there are in the command line output. If it was running correctly, the output should look something like
topi@laptopi:~/vcs/browservice$ release/bin/browservice 2>&1 | grep HTTP
INFO @ retrojsvice.so src/http.cpp:620 -- Starting HTTP server (listen address: <IP_ADDRESS>:8080)
INFO @ retrojsvice.so src/http.cpp:628 -- HTTP server started successfully
INFO @ retrojsvice.so src/context.cpp:570 -- HTTP GET /
INFO @ retrojsvice.so src/context.cpp:570 -- HTTP GET /1/XirNMFay3yQAXbdv2amTv8tNoKpLoEss/prev/
INFO @ retrojsvice.so src/context.cpp:570 -- HTTP GET /1/XirNMFay3yQAXbdv2amTv8tNoKpLoEss/
INFO @ retrojsvice.so src/context.cpp:570 -- HTTP GET /1/XirNMFay3yQAXbdv2amTv8tNoKpLoEss/next/
INFO @ retrojsvice.so src/context.cpp:570 -- HTTP GET /1/XirNMFay3yQAXbdv2amTv8tNoKpLoEss/
INFO @ retrojsvice.so src/context.cpp:570 -- HTTP GET /1/XirNMFay3yQAXbdv2amTv8tNoKpLoEss/image/1/1/1/1500/886/0/
INFO @ retrojsvice.so src/context.cpp:570 -- HTTP GET /1/XirNMFay3yQAXbdv2amTv8tNoKpLoEss/image/1/2/0/1500/886/0/
<Continues with lots of image requests>

However, if my theory is correct, you only get the first four HTTP GET requests, after which IE5 uses the cached pages.
An easy way to get around this bug is to disable the native Forward button forwarding by changing the initial value of preMainVisited_ from false to true on line 63 in viceplugins/retrojsvice/src/window.cpp.

This solution works.

I have formulated a more robust fix for this issue in the disable-mac-ie-native-navigation branch. The fix selectively disables the native Back/Forward emulation when running IE on Mac. Could you try to run it and see if it still works?

Sure. In a few days I can report back.

Tried it, does not work at all. Browservice does not show up on IE 5.1.7 and the toolbar buttons keep blinking as if they were in an endless loop.
The simple fix by changing the initial value of preMainVisited still works with previous build, although the forward/stop buttons are still blinking while loading, but Browservice was working. I am reverting back to the clean master branch to apply the Classilla fix so I can continue using it on both browsers.

This is odd, as this should still essentially be the same fix than the one that worked before. Thus we should make sure that no manual changes are interfering. I made a new branch disable-mac-ie-native-navigation-debug that is based directly on v<IP_ADDRESS>, incorporates only the fix proposal for IE5 and adds some debug output for investigation in case it does not work. Please run the following in the browservice-testing working copy initialized in this comment; make sure that there are no manual modifications in the working copy.
git fetch
git checkout disable-mac-ie-native-navigation-debug

# Recompile only the changed files
make -j5 debug

# Run Browservice; add command line options if necessary
debug/bin/browservice

If the fix does not work, paste the DEBUG lines in the output. One way to get all of them is by running Browservice as follows:
debug/bin/browservice 2>&1 | grep DEBUG

Closing due to lack of activity; please create a new issue if you still have this problem.


Unhelpful error message when deploying lambda without handler

A user reached out in slack with the following error message:
error: 1 error occurred:
    	* error creating Lambda Function: ValidationException:
    	status code: 400, request id: 7a546ca0-e745-4111-9f1d-9146d8705d4d

He sent over some code which I won't share here, but I've managed to reproduce the error with this code:
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
import * as awsx from "@pulumi/awsx";

const ruleReportsFuncRole = new aws.iam.Role("ruleReportsFuncRole", {
    assumeRolePolicy: {
       Version: "2012-10-17",
       Statement: [{
          Action: "sts:AssumeRole",
          Principal: {
             Service: "lambda.amazonaws.com",
          },
          Effect: "Allow",
          Sid: "",
       }],
    },
 });
 new aws.iam.RolePolicyAttachment("ruleReportsFuncRoleAttach", {
    role: ruleReportsFuncRole,
    policyArn: aws.iam.ManagedPolicy.LambdaFullAccess,
 });

 const ruleReportsFunc = new aws.lambda.Function("ruleReportsFunc", {
    code: new pulumi.asset.AssetArchive({
       ".": new pulumi.asset.FileArchive("./app"),
    }),
    runtime: "nodejs12.x",
    role: ruleReportsFuncRole.arn,
   // handler: "index.handler
 });

The error was because they missed out the handler at the bottom of the Function resource, but the error message wasn't very helpful.

On that code, I now get:
error: diffing urn:pulumi:dev::aws978::aws:lambda/function:Function::ruleReportsFunc: handler and runtime must be set when PackageType is Zip

I believe this must have been addressed in the upstream provider since this was opened.


Generated g.dart is empty

Hi guys,
i am trying to use a moor database for my flutter app. I have recently migrated the app to Type Nullsafe and therefore changed from Moor3 to Moor4. When I now try to generate the database script via the build_runner it does not create a 4000 lines long document but only this one:
// GENERATED CODE - DO NOT MODIFY BY HAND

part of 'moor_curd.dart';

// **************************************************************************
// MoorGenerator
// **************************************************************************

// ignore_for_file: unnecessary_brace_in_string_interps, unnecessary_this
abstract class _$AppDatabase extends GeneratedDatabase {
  _$AppDatabase(QueryExecutor e) : super(SqlTypeSystem.defaultInstance, e);
  @override
  Iterable<TableInfo> get allTables => allSchemaEntities.whereType<TableInfo>();
  @override
  List<DatabaseSchemaEntity> get allSchemaEntities => [];
}

It seems to me that the generator somehow can't see all my database models etc.
If you need more info like flutter doctor outputs or similar please let me know. I am using the Dart SDK 2.12 and the moor_generator: 4.2.2
Thank you for your support!

Can you rerun the build with --verbose? Are there any error messages emitted then?

There are no errors thrown, if you want to i can paste the output here but it is quite long XD

[  +51 ms] executing: [C:\Development\flutter/] git -c log.showSignature=false log -n 1 --pretty=format:%H
[  +38 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H
[        ] 1d9032c7e1d867f071f2277eb1673e8f9b0274e3
[        ] executing: [C:\Development\flutter/] git tag --points-at 1d9032c7e1d867f071f2277eb1673e8f9b0274e3
[  +29 ms] Exit code 0 from: git tag --points-at 1d9032c7e1d867f071f2277eb1673e8f9b0274e3
[        ] 2.0.6
[  +26 ms] executing: [C:\Development\flutter/] git rev-parse --abbrev-ref --symbolic @{u}
[  +23 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
[        ] origin/stable
[        ] executing: [C:\Development\flutter/] git ls-remote --get-url origin
[  +19 ms] Exit code 0 from: git ls-remote --get-url origin
[        ] https://github.com/flutter/flutter.git
[  +46 ms] executing: [C:\Development\flutter/] git rev-parse --abbrev-ref HEAD
[  +21 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[        ] stable
[  +53 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[   +2 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[  +35 ms] Artifact Instance of 'MaterialFonts' is not required, skipping update.
[        ] Artifact Instance of 'GradleWrapper' is not required, skipping update.
[        ] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[        ] Artifact Instance of 'FlutterSdk' is not required, skipping update.
[        ] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FontSubsetArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'PubDependencies' is not required, skipping update.
[  +20 ms] Using C:\Development\flutter\.pub-cache for the pub cache.
[   +1 ms] executing: C:\Development\flutter\bin\cache\dart-sdk\bin\pub.bat run build_runner build --delete-conflicting-outputs --verbose
[INFO] Entrypoint:Generating build script...
[INFO] Entrypoint:Generating build script completed, took 292ms

[FINE] Bootstrap:Core packages locations have changed
[WARNING] Bootstrap:
Deleted previous snapshot due to core package update
[INFO] Bootstrap:Creating build script snapshot......
[FINE] Bootstrap:stdout: Info: Compiling without sound null safety
[INFO] Bootstrap:Creating build script snapshot... completed, took 7.9s

[INFO] Bootstrap:There was output on stdout while compiling the build script snapshot, run with `--verbose` to see it (you will need to run a `clean` first to re-snapshot).

[INFO] BuildDefinition:Initializing inputs
[INFO] BuildDefinition:Reading cached asset graph...
[WARNING] BuildDefinition:
Throwing away cached asset graph because the build phases have changed. This most commonly would happen as a result of adding a new dependency or updating your dependencies.
[WARNING] BuildDefinition:
Throwing away cached asset graph because the language version of some package(s) changed. This would most commonly happen when updating dependencies or changing your min sdk constraint.
[INFO] BuildDefinition:Cleaning up outputs from previous builds....
[INFO] BuildDefinition:Cleaning up outputs from previous builds. completed, took 11ms

[INFO] Entrypoint:Generating build script...
[INFO] Entrypoint:Generating build script completed, took 82ms

[INFO] Bootstrap:Creating build script snapshot......
[FINE] Bootstrap:stdout: Info: Compiling without sound null safety
[INFO] Bootstrap:Creating build script snapshot... completed, took 7.8s

[INFO] Bootstrap:There was output on stdout while compiling the build script snapshot, run with `--verbose` to see it (you will need to run a `clean` first to re-snapshot).

[INFO] BuildDefinition:Initializing inputs
[INFO] BuildDefinition:Building new asset graph...
[INFO] BuildDefinition:Building new asset graph completed, took 575ms

[INFO] BuildDefinition:Checking for unexpected pre-existing outputs....
[INFO] BuildDefinition:Checking for unexpected pre-existing outputs. completed, took 0ms

[INFO] Build:Running build...
[INFO] build_resolvers:Generating SDK summary...
[INFO] Heartbeat:2.2s elapsed, 0/16 actions completed.
[INFO] build_resolvers:Generating SDK summary completed, took 2.2s

[INFO] Heartbeat:3.3s elapsed, 2/18 actions completed.
[INFO] Heartbeat:4.3s elapsed, 2/18 actions completed.
[INFO] Heartbeat:5.3s elapsed, 2/18 actions completed.
[FINE] moor_generator:moor_generator on lib/authentication/resources/services/rest_api_service.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on lib/authentication/resources/services/connection_service.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on lib/authentication/resources/api_clients/api_client.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on lib/authentication/resources/api_clients/mobile_data_interceptor.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on lib/authentication/resources/services/user_repositery.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on test/database/user_feedback_curd_test.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on lib/database/events_curd/events_curd.dart:Running MoorGenerator - 1 of 2
[INFO] Heartbeat:11.0s elapsed, 2/18 actions completed.
[FINE] moor_generator:moor_generator on lib/authentication/bloc/authentication_bloc.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on lib/database/alarms_curd/alarms_curd.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on lib/database/moor_curd.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on lib/database/group_matching_curd/group_matching_curd.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on lib/database/user_feedback_curd/user_feedback_curd.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on lib/database/user_functios_curd/user_functions_curd.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on lib/database/location_curd/location_curd.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on lib/database/settings_curd/settings_curd.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on lib/database/user_groups_curd/user_groups_curd.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on lib/authentication/resources/services/rest_api_service.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on lib/authentication/resources/services/connection_service.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on lib/authentication/resources/api_clients/api_client.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on lib/authentication/resources/api_clients/mobile_data_interceptor.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on lib/authentication/resources/services/user_repositery.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on test/database/user_feedback_curd_test.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on lib/database/events_curd/events_curd.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on lib/authentication/bloc/authentication_bloc.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on lib/database/alarms_curd/alarms_curd.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on lib/database/moor_curd.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on lib/database/group_matching_curd/group_matching_curd.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on lib/database/user_feedback_curd/user_feedback_curd.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on lib/database/user_functios_curd/user_functions_curd.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on lib/database/location_curd/location_curd.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on lib/database/settings_curd/settings_curd.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on lib/database/user_groups_curd/user_groups_curd.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on lib/global/models/alarm_feedback_response.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on lib/global/models/alarm_response.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on lib/global/models/event_response.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on lib/global/models/function_response.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on lib/global/models/group_response.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on lib/global/models/user_response.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on lib/global/services/fetch_and_save_data.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on lib/global/theme/theme.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on lib/global/util/build_loading_indicator.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on lib/global/util/colors.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on lib/global/util/constant.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on lib/global/util/customer_date_json_serializer.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on lib/global/util/loadingindicator.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on lib/global/models/alarm_feedback_response.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on lib/global/util/no_data.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on lib/global/widgets/app_bar.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on lib/global/models/alarm_response.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on lib/global/models/event_response.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on lib/global/models/function_response.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on lib/global/models/group_response.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on lib/global/widgets/information_curd_tile.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on lib/global/models/user_response.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on lib/global/services/fetch_and_save_data.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on lib/global/theme/theme.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on lib/global/util/build_loading_indicator.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on lib/global/util/colors.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on lib/global/util/constant.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on lib/global/util/customer_date_json_serializer.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on lib/global/util/loadingindicator.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on lib/global/util/no_data.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on lib/global/widgets/app_bar.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on lib/global/widgets/information_curd_tile.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on lib/global/widgets/snak_bar.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on lib/main.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on lib/models/alarm.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on lib/models/alarm_address_group.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on lib/models/event.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on lib/models/event_groups_location.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on lib/models/functions_matching.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on lib/models/geofences_matching.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on lib/models/group_matching.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on lib/models/location.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on lib/models/Geofence.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on lib/models/settings.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on lib/global/widgets/snak_bar.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on lib/models/setting_groups_functions.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on lib/models/user_feedback.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on lib/models/user_functions.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on lib/main.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on lib/models/user_groups.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on lib/models/alarm_address_group.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on lib/models/alarm.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on lib/models/event_groups_location.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on lib/models/event.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on lib/models/functions_matching.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on lib/models/geofences_matching.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on lib/models/group_matching.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on lib/models/location.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on lib/models/Geofence.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on lib/models/settings.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on lib/models/setting_groups_functions.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on lib/models/user_feedback.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on lib/models/user_functions.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on lib/models/user_groups.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on lib/ui/alarm_page/alarm.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on lib/ui/alarm_page/alarm_item.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on lib/ui/alarm_page/feedback_page.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on lib/ui/event_page/calendar.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on lib/ui/event_page/calendar_page.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on lib/ui/event_page/date_and_address_card.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on lib/ui/event_page/event_feedback.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on lib/ui/event_page/information_card.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on lib/ui/home.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on lib/ui/login_page/bloc/login_bloc.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on lib/ui/alarm_page/alarm.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on lib/ui/login_page/login.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on lib/ui/onboard.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on lib/ui/settings.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on lib/ui/user_page/user_page.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on lib/ui/user_page/user_screen.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on lib/ui/alarm_page/alarm_item.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on lib/ui/alarm_page/feedback_page.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on lib/ui/event_page/calendar.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on lib/wraper.dart:Running MoorGenerator - 1 of 2
[FINE] moor_generator:moor_generator on lib/ui/event_page/calendar_page.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on lib/ui/event_page/date_and_address_card.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on lib/ui/event_page/event_feedback.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on lib/ui/event_page/information_card.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on lib/ui/home.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on lib/ui/login_page/bloc/login_bloc.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on lib/ui/login_page/login.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on lib/ui/onboard.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on lib/ui/settings.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on lib/ui/user_page/user_page.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on lib/ui/user_page/user_screen.dart:Running DaoGenerator - 2 of 2
[FINE] moor_generator:moor_generator on lib/wraper.dart:Running DaoGenerator - 2 of 2
[INFO] Build:Running build completed, took 12.6s

[INFO] Build:Caching finalized dependency graph...
[INFO] Build:Caching finalized dependency graph completed, took 49ms

[INFO] Build:Succeeded after 12.6s with 18 outputs (145 actions)

[+38908 ms] "flutter run" took 38.996ms.
[  +58 ms] ensureAnalyticsSent: 54ms
[   +2 ms] Running shutdown hooks
[   +1 ms] Shutdown hooks complete
[        ] exiting with code 0

I couldn't find anything suspicious in the logs either. The generator should also emit a warning if a table mentioned in @UseMoor is invalid, so it's pretty weird that there aren't any logs here. It looks like you already did a clean build, but can you run flutter pub run build_runner clean just so see if that helps at all?
If it doesn't I think I might need a repro to see where it's going wrong, nothing stands out to me yet.

Unfortunately that does not help. I do not have a public availabe Repository on Github, could we find a way to invite you to a private GitLab or sending you the code on another way?

Something like that would definitely help. You can privately reach me at<EMAIL_ADDRESS>

We were able to resolve this via e-mail, the next moor version will offer better error messages for this case.


What is the purpose of auditTime(0) in combineQueries operator ?

I'm submitting a...

[ ] Regression (a behavior that used to work and stopped working in a new release)
[ ] Bug report
[ ] Performance issue
[ ] Feature request
[ ] Documentation issue or request
[ ] Support request
[X ] Other... Please describe:

On this line:
https://github.com/datorama/akita/blob/master/akita/src/combineQueries.ts#L8
Is this done to wait for the next tick?

Yes.


feat: make build with rollup

Due to need to support ie11 in react-hooks issue I've made multiversional build via rollup;

@streamich - are there any plans to merge these changes and support IE11? If not then we're going to have to remove react-use from our codebase.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


NativePHP

This pull request introduces the NativePHP implementation for the LaraJobs website, bringing two new exciting features:

Menu Bar with Latest Jobs:
The menu bar has been added, displaying the latest job listings fetched directly from LaraJobs. This feature enhances user experience by providing quick access to the most recent job opportunities without navigating to the website.

Notification for New Jobs:
Users will now receive real-time notifications for new job postings on the LaraJobs platform. This feature aims to keep users informed about the latest job opportunities, improving engagement and timely job applications.

I love the styling for the jobs! Very clean and elegant, also great at being compact!


didn't enable real-time-html, but comes out: websocket ready to accept new client

here is my command:
goaccess api.crm.51zan.production.access.log -a -o test.html
then comes out:
WebSocket server ready to accept new client connections
in the access.conf, I didn't enable real-time too!!!

Can you please post the output of goaccess --dcf and please attach the goaccess.conf here. Thanks.

Hi, I have exactly the same problem and your documentation does not seem to be up to date. Here's how I installed GoAccess :
echo "deb http://deb.goaccess.io/ $(lsb_release -cs) main" | sudo tee -a /etc/apt/sources.list.d/goaccess.list
wget -O - https://deb.goaccess.io/gnugpg.key | sudo apt-key add -
sudo apt update
sudo apt install goaccess
Configurer GoAccess en décommettant les lignes
sudo nano /etc/goaccess.conf
time-format %H:%M:%S
date-format %d/%b/%Y
log-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u"

Créer le dossier du site
sudo mkdir -p /var/www/analytics-domaine-com/web
Créer le rapport
sudo goaccess /var/log/nginx/access.log -o /var/www/analytics-domaine-com/web/report.html --real-time-html
Changer le propriétaire et le groupe
sudo chown -R www-data:www-data /var/www/analytics-domaine-com
Créer un virtualhost
sudo nano /etc/nginx/sites-available/analytics-s1biose-com
server {
    listen 80 http2;
    listen [::]:80 ipv6only=on http2;
    server_name analytics.s1biose.com;
    root /var/www/analytics-s1biose-com/web;
    report.html;
}

Activer les services
sudo ln -s /etc/nginx/sites-available/analytics-domaine-com /etc/nginx/sites-enabled/
Testet la syntaxe
sudo nginx -t
Redémarrer apache
sudo systemctl restart nginx
When I run the command :
WebSocket server ready to accept new client connections
I have this message, the report is well created but the real time update does not work.
In /etc/goaccess.conf I only uncomment the 3 lines above.

@ZenImagine can you please verify that if there's a config file under: /etc/goaccess/goacces.conf? Thanks

@allinurl No, there is no configuration file at this location

@allinurl There is also a problem with the https.
I activated https with let's encrypt, the page starts to load (a circle runs in the middle of the screen) and the navigator displays:

Unsecured content blocked.
This attempts to load scripts from unauthenticated sources.
"Load script at risk" OK

@ZenImagine Are you in v1.2? or v1.3? Your browser (console) should be able to tell you what content is insecure, then please post it here...

@allinurl I am on version 1.3 because your deposit does not work on Ubuntu 18.04
ubuntu@www-s1biose-com ~ $ sudo apt update
Hit:1 http://ppa.launchpad.net/certbot/certbot/ubuntu bionic InRelease
Hit:2 http://ppa.launchpad.net/ondrej/php/ubuntu bionic InRelease
Hit:3 http://ppa.launchpad.net/webupd8team/java/ubuntu bionic InRelease
Hit:4 http://nova.clouds.archive.ubuntu.com/ubuntu bionic InRelease
Get:5 http://nova.clouds.archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB]
Hit:6 http://security.ubuntu.com/ubuntu bionic-security InRelease
Hit:7 https://deb.nodesource.com/node_8.x bionic InRelease
Hit:8 http://repo.mysql.com/apt/ubuntu bionic InRelease
Get:9 http://nova.clouds.archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB]
Ign:10 http://deb.goaccess.io $ InRelease
Err:11 http://deb.goaccess.io $ Release
  404  Not Found [IP: <IP_ADDRESS> 80]
Get:12 http://nova.clouds.archive.ubuntu.com/ubuntu bionic-updates/universe Sources [133 kB]
Get:13 http://nova.clouds.archive.ubuntu.com/ubuntu bionic-updates/main Sources [250 kB]
Get:14 http://nova.clouds.archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages [538 kB]
Get:15 http://nova.clouds.archive.ubuntu.com/ubuntu bionic-updates/main Translation-en [200 kB]
Get:16 http://nova.clouds.archive.ubuntu.com/ubuntu bionic-updates/universe amd64 Packages [737 kB]
Reading package lists... Done
E: The repository 'http://deb.goaccess.io $ Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

In screenshot the message of the console.

Are you running this through wss?

@allinurl I do not understand, what should I do

You need to set the URI scheme using --ws-url=<[scheme://]url[:port]> for encrypted connections.  e.g.,
--ws-url=wss://analytics.s1biose.com

@allinurl Here is my current configuration for nginx, but I do not know if it is correct (I start with nginx). I have a question waiting for an answer :
https://serverfault.com/questions/956888/how-to-configure-multiple-servers-on-the-same-ip-address-with-nginx
sudo nano /etc/nginx/sites-available/analytics-domaine-com
server {
    listen 443 ssl http2;
    server_name analytics.domaine.com;
    root /var/www/analytics-domaine-com/web;
    #report.html;

    auth_basic "Protected";
    auth_basic_user_file /var/www/analytics-domaine-com/web/.htpasswd;

    ssl_certificate /etc/letsencrypt/live/analytics.domaine.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/analytics.domaine.com/privkey.pem;
    include /etc/letsencrypt/options-ssl-nginx.conf;
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
}

server {
    listen 80;
    server_name analytics.domaine.com;
    return 301 https://$server_name$request_uri;
}

How are you running goaccess? can you please attach the conf file here as well? Thanks.

@allinurl /etc/goaccess.conf
goaccess.txt

@allinurl Here is the message that is displayed in the chrome console :

Mixed Content: The page at 'https://analytics.s1biose.com/' was loaded over HTTPS, but attempted to connect to the insecure WebSocket endpoint 'ws://analytics.example.com:7890/'. This request has been blocked; this endpoint must be available over WSS.

@allinurl I followed your tutorial :
$ echo "deb http://deb.goaccess.io/ $(lsb_release -cs) main" | sudo tee -a /etc/apt/sources.list.d/goaccess.list
$ wget -O - https://deb.goaccess.io/gnugpg.key | sudo apt-key add -
$ sudo apt-get update
$ sudo apt-get install goaccess

When I do :
$ sudo apt-get update
I have the following error :
Hit:1 http://ppa.launchpad.net/certbot/certbot/ubuntu bionic InRelease
Hit:2 http://nova.clouds.archive.ubuntu.com/ubuntu bionic InRelease
Hit:3 http://ppa.launchpad.net/ondrej/php/ubuntu bionic InRelease
Get:4 http://nova.clouds.archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB]
Hit:5 http://ppa.launchpad.net/webupd8team/java/ubuntu bionic InRelease
Get:6 http://nova.clouds.archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB]
Get:7 http://security.ubuntu.com/ubuntu bionic-security InRelease [88.7 kB]
Hit:8 http://repo.mysql.com/apt/ubuntu bionic InRelease
Hit:9 https://deb.nodesource.com/node_8.x bionic InRelease
Ign:10 http://deb.goaccess.io $ InRelease
Err:11 http://deb.goaccess.io $ Release
  404  Not Found [IP: <IP_ADDRESS> 80]
Reading package lists... Done
E: The repository 'http://deb.goaccess.io $ Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

I am currently on Ubuntu 18.04 and GoAccess is in version 1.2 which explains the page of error (I am in HTTPS).
Here is the content of /etc/apt/sources.list.d/goaccess.list
deb http://deb.goaccess.io/ $ (lsb_release -cs) main
How can I install version 1.3 ?

Yep, you need to use wss. Take a look at the example I posted before. To install goaccess, please build from source.

@allinurl  I will try the sources. Is it normal that the repository does not work and that version 1.3 is not available for ubuntu ?

@allinurl Are your instructions correct ?
$ echo "deb http://deb.goaccess.io/ $(lsb_release -cs) main" | sudo tee -a /etc/apt/sources.list.d/goaccess.list
$ wget -O - https://deb.goaccess.io/gnugpg.key | sudo apt-key add -
$ sudo apt-get update
$ sudo apt-get install goaccess

If I replace HTTP with HTTPS in sources it works :
$ echo "deb https://deb.goaccess.io/ $(lsb_release -cs) main" | sudo tee -a /etc/apt/sources.list.d/goaccess.list
$ wget -O - https://deb.goaccess.io/gnugpg.key | sudo apt-key add -
$ sudo apt-get update
$ sudo apt-get install goaccess

It should certainly work for Ubuntu 18.04, I need to look what's going on... If you need the binary, let me know and I can post a direct link.
Can you please post a few lines from your access log? You don't have the right log format given that error. Also, please take a look at the documentation on how to enable more panels.

@allinurl Here is my log of access :
<IP_ADDRESS> - - [02/Mar/2019:06:25:41 +0000] "GET /fr/private_message/ajax_callback/get_new_unread_thread_count?token=GO0HLTZudaDjqwgY5Kj-aRBX58WbnRRpOMGyXdz4yug HTTP/2.0" 200 76 "https://www.s1biose.com/fr/legal/document/politique_de_confidentialite" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:65.0) Gecko/20100101 Firefox/65.0"
<IP_ADDRESS> - - [02/Mar/2019:06:25:56 +0000] "GET /fr/private_message/ajax_callback/get_new_unread_thread_count?token=GO0HLTZudaDjqwgY5Kj-aRBX58WbnRRpOMGyXdz4yug HTTP/2.0" 200 76 "https://www.example.com/fr/legal/document/politique_de_confidentialite" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:65.0) Gecko/20100101 Firefox/65.0"

@allinurl OK it works, I changed the format. Which code do you use in the demo to display all the links in the menu ?
It works in real time but when I execute the command, the terminal displays:
WebSocket server ready to accept new client connections
If I do CTRL + C it stops the tracking in real time.

Glad that worked. You need to ensure all ignore-panel are commented. SIGINT is doing what's supposed to do. You can use --daemonize if needed. Please take a look at the documentation for all the options available.

@allinurl Thanks, can you share the command you enter in the terminal to create "Live Demo" ?

I test the following command but there is no update in real time :
ubuntu@www-example-com ~ $ sudo goaccess /var/log/nginx/access.log -o /var/www/analytics-example-com/web/report.html --real-time-html --ssl-cert=/etc/letsencrypt/live/analytics.example.com/fullchain.pem --ssl-key=/etc/letsencrypt/live/analytics.s1biose.com/privkey.pem –ws-url=wss://analytics.example.com –enable-panel=REFERRERS --anonymize-ip --daemonize
Daemonized GoAccess: 10395

Please start with the bare minimal.
sudo goaccess /var/log/nginx/access.log -o /var/www/analytics-example-com/web/report.html --real-time-html

and work your way up to determine which option is causing the issue. Let me know.

@allinurl Sorry it works there is "--" which was automatically replaced by "-" in the word processor.
What is the order for the live demo please?

Not sure I follow, is the live report working?

@allinurl Yes now it works in the background. I wanted to know the command for live demo as an example.  It does not appear on my server.
If I specify all the parameters in the config file. How to run Goaccess, what is the command ?
I added the log and html path in the file :
log-file /var/log/nginx/access.log
output-format /var/www/analytics-example-com/web/report.html
real-time-html true
daemonize true

@allinurl Thank you, if I understood correctly, we can put the parameters directly in the configuration file instead of a command of several lines ?

Yes you can certainly do that, just remove the -- from the beginning of the option.

@allinurl There is a panel "VIRTUAL HOSTS" what is it for? It does not appear on my server.

If you have the %v specifier in your log-format, then it will display the virtual host.
Closing this as it appears to be resolved. Feel free to reopen it if needed.

Hello! I have the same problem. Debian Linux, installed from the source with openssl and geoip.
./configure --enable-utf8 --enable-geoip=legacy  --with-openssl
goaccess /home/username/domains/example.com/logs/nginx_access.log -o /home/username/domains/report/html/index.html --ssl-cert=/etc/nginx/ssl/cert.pem --ssl-key=/etc/nginx/ssl/private.key --ws-url=wss://example.com  --real-time-html --config-file=/usr/local/etc/goaccess/goaccess.conf
in config file I use
time-format %T
date-format %d/%b/%Y
log-format %h - %^ [%d:%t %^] "%r" %s %b "%R" "%u" "%^"
I got these format via nginx2goaccess bash script.
Real-time updates not working. Can you help me with it?

@darkhan are you getting an error message in the browser's console? Could you please run it through strace and attach the output here?

No, everything works. But there are no updates. The log file is changed, but the report file is not

what is the solution

@narayan1599 What's the output of your browser's console? are you behind a proxy, or docker?

@narayan1599 What's the output of your browser's console? are you behind a proxy, or docker?

it is not taking real time data to my bowser

are you behind a proxy, or docker?
no

@narayan1599 What's the output of your browser's console?

Right, I'm just curious what's the output of your browser's console (Ctrl+shift+j in Chrome).

Right, I'm just curious what's the output of your browser's console (Ctrl+shift+j in Chrome).

nothing is happening

what it command do

Not sure what you mean with your last comment. Are you able to telnet to the machine where goaccess is running on that specific port?

is this u want to check

Yes, but please clear that out and reload the page and post anything relevant to the report. Thanks

what is the command to get real time html

and how to clear it

?

thanks

the error is solved now thanks for your support

@allinurl : I see this error in the chrome console

WebSocket connection to 'ws://api.domain.com:7890/' failed: Error in connection establishment: net::ERR_CONNECTION_TIMED_OUT
setWebSocket @ report1.html:1780

I'm using nginx proxy. Any special setup I need to activate realtime?


Sort the parameters in docs

Should be able to alphabetize them programatically.

My thoughts on this: In the HasProperties metaclass have something like:
_prop_doc_order = classdict.pop('_prop_doc_order', sorted(_props))

Then sort req, opt, and imm based on this when adding to doc_str.
Then the props will be alphabetized unless _prop_doc_order is set in HasProperties subclass. There also needs to be some validation of this (ie make sure all props are included in _prop_doc_order).

Closed by #73.


How to access localhost running in archlinux in host system or new tab?

In http://copy.sh/v86/?profile=archlinux, how can python -m http.server allow us to access in new tab or computer?

It's not reachable from the internet. You could spin up a second VM (even a different one) and connect to the other VM:

Alternatively, you could run your own websockproxy and configure forwarding with iptables or so.
There may also be some other options that were discussed in https://github.com/copy/v86/issues/198, but none is currently implemented.

Thanks, I got it.

You can use tunneling solutions (localhost.run, ngrok, Cloudflare Tunnel/ArgoTunnel and other) to make local server accessible outside the local network.
For example, this is a running PHP 8 development server with localhost.run tunnel:

(please note, that websockproxy has a bandwidth limit of 40KiB/sec)

Thanks


Without Nx and ts-lint would be cool

Ts-lint is deprecated and with nx codebase seems more complex to use a simple project. Without Nx and ts-lint would be useful.

Yeah totally agreed, Just made this project to learn Nx with Node GraphQL.

Maybe we can start a project using only typeGraphQL and typegoose
Would love to get you onboard and discuss more on this

I'd be honored to do that. Thanks!

Cool!
I'll setup a base project this weekend then we can start accordingly


Updating init.d script which does not work without SystemD

For informations, I had to change the --chuid $MATTERMOST_USER:$MATTERMOST_GROUP
It does not work with the user:group syntax.
There is also a useless starting space in the init script.

Thanks @mioux for the pull request!
Per the CONTRIBUTING.md file displayed when you created this pull request, we need to add you to the list of approved contributors for the Mattermost project.
Please help complete the Mattermost contribution license agreement?
This is a standard procedure for many open source projects. Your form should be processed within 24 hours and reviewers for your pull request will be able to proceed.
Please let us know if you have any questions.
We are very happy to have you join our growing community! If you're not yet a member, please consider joining our Contributors community channel to meet other contributors and discuss new opportunities with the core team.

@mioux thanks!

It does not work with the user:group syntax.

Can you verify that? According to the doc at http://man7.org/linux/man-pages/man8/start-stop-daemon.8.html, it should work. Actually, according to the description there for --chuid, the group part is superfluous. This is what it says:

When using this option you
must realize that the primary and supplemental groups are set
as well, even if the --group option is not specified. The
--group option is only for groups that the user isn't normally
a member of

When I have debugged, I have checked by removing option by option to find which one was making the script crash.
When using user:group, the script does not run but returns 0 instead of non-zero as execution result.
I don't know if it's my dpkg version which makes this bug
root@mattermost:~# LANG=C sudo apt list --installed dpkg
Listing... Done
dpkg/oldstable,now 1.17.27 amd64 [installed]
N: There is 1 additional version. Please use the '-a' switch to see it

Ok, thanks! After you sign the CLA we can proceed with the reviews.

OK it is signed

thanks @mioux!


[codecarbon WARNING @ 23:09:59] Another instance of codecarbon is already running. Exiting.

[codecarbon WARNING @ 23:09:59] Another instance of codecarbon is already running. Exiting.
How do i quit the instance? I have restarted my system but keep getting same error in juypter notebook using
from codecarbon import EmissionsTracker
tracker = EmissionsTracker()

Hi!
Thanks for using codecarbon. There is a bug, that sometimes there is a hanging lock file that prevents from continuing.
Normally solved by https://github.com/mlco2/codecarbon/pull/701. This fix will be included in future releases.
As a temporary workaround until the next release is ready you can find this lock file and remove it.
In Linux it should be
rm /tmp/.codecarbon.lock

Sorry for the inconveniences

@bashir-abubakar if you update the codecarbon package, the fix is included in the latest release (v2.7.4).
Feel free to test it and tell us if you still have the issue

Closed by https://github.com/mlco2/codecarbon/pull/701


[Removal]:

Hotspot Name
Acidic Leather Tortoise
Hotspot b58 Address
13E5WwAE6cDbdXZzdv1rjU3HfghdkeRX4BnYtNYw5bJnEwNGR5g
Discord Handle
tao_gardner#1273
Hotspot Manufacturer
PantherX2
Removal Reason
I set my machine at real location, but i dont know why my machine yi in the denylist,i need help to remove it form the denylist please!

These "controllers" ban without knowing how to distinguish between a Chinese scammer and an honest operator who has invested a lot of money in helium!
Not to mention that lately the Helium network also sucks in terms of performance and pays less and less just because it wants to speculate on the number of connected HS and then sell to someone who buys the whole hut.

I am very disgusted by the cowardly and unprofessional attitude of these "controllers" and Helium executives who steal our honest money and get rich behind us by stealing our work !!!


Gradient of the output wrt to its weights (agnostic - backend)

I need to compute the gradient of the output w.r.t to its weights, the keras backend has a method called gradients which seems to do the work. Here is a question on this matter:
http://stackoverflow.com/questions/39561560/getting-gradient-of-model-output-w-r-t-weights-using-keras
This seems to work pretty well on tensorflow, but when I run the code (with theano as a backend) of the accepted answer (which makes sense to me) it shows the following exception "TypeError: cost must be a scalar." when calling the tensor.grad method.
To actually run the gradients they use tensorflow, I wonder if there is a way of computing the gradients with keras without use an specific backend.
This is the code which fails when using theano as backend:
from keras.models import Sequential
from keras.layers import Dense, Activation
from keras import backend as k

model = Sequential()
model.add(Dense(12, input_dim=8, init='uniform', activation='relu'))
model.add(Dense(8, init='uniform', activation='relu'))
model.add(Dense(1, init='uniform', activation='sigmoid'))
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
outputTensor = model.output
listOfVariableTensors = model.trainable_weights
gradients = k.gradients(outputTensor, listOfVariableTensors)

Anyone has an answer on this?


Unable to deselect row

Unable to deselect row when applied with Filter Column
Steps to Reproduce:

Filter by any column (Works as Expected)
Select particular row by ticking checkbox. (Works as Expected)
Deselect same row (Doesn't Works as Expected)

Laptop Info

MacBook Pro (Retina, 13-inch, Early 2015) (Mojave- 10.14.4)
Browser: Chrome Version 79.0.3945.79 (Official Build) (64-bit)

Looking in to this asap

This will be fixed in the next release.

Hey, I just ran across this myself. Was wondering if a fix was ready on master awaiting a release, or if you still needed someone to fix it.

In node-modules/react-table/dist/index.js, on line number 2869
replace this line
var isSelected = row.isSelected;
with
var isSelected = state.selectedRowIds[row.id];
Refer the attached image

I ended up adding a plugin with a useInstance lifecycle that goes between useFilters and useRowSelect. The root cause of this seems to be useFilters generating rows and flatRows arrays that have different objects in them. My plugin just re-generates flatRows from rows before things get passed to useRowSelect.

When is the fix planned to be released? I can still replicate here  with the latest version.

Any solution please? As this is really holding us back from using this library and we absolutely can't wait to use it because it's amazing @tannerlinsley Thank you so much.

@ifen Try this: https://gist.github.com/fionawhim/c49fa6cb2257af0a03fb7e09ea1e7583
And use it like this:
  return useTable(
    {
      columns,
      data: groupedFeatures,
      …
    },
    useFilters,
    useFiltersPatch,
    useRowSelect
  );

This is fixed in master and slated for release. Thanks for your help everyone!

@tannerlinsley I just cloned/built the repo and used yarn link to try out the master branch in my app. I’m still seeing this bug occur: if a filter is active on the table, deselection doesn’t work.
I looked over the code in the repo and I hypothesize that rows and flatRows containing different object instances when there’s a filter is causing the problem.

Good to know. I’ll dig deeper.
On Feb 14, 2020, 2:58 PM -0700, Fiona Hopkins<EMAIL_ADDRESS>wrote:

@tannerlinsley I just cloned/built the repo and used yarn link to try out the master branch in my app. I’m still seeing this bug occur: if a filter is active on the table, deselection doesn’t work.
I looked over the code in the repo and I hypothesize that rows and flatRows containing different object instances when there’s a filter is causing the problem.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.


Updated endpoint parsing

Description
This PR updates the python-sdk so it satisfies the requirements for gRPC endpoint parsing added in https://github.com/dapr/proposals/pull/40.
It also adds support for all URIs that the gRPC name resolution document defines, including dns links with authority, unix paths with absolute and relative sockets, unix-abstract and virtual sockets.
Backwards compatibility has been maintained for endpoints where tls was inferred based on the scheme https.
Issue reference
https://github.com/dapr/python-sdk/issues/619
Checklist

[X] Code compiles correctly
[X] Created/updated tests
[X] Extended the documentation

Thanks @berndverst. Good catch, I was using those prints to generate the matrix in this proposal.
Fixed in https://github.com/dapr/python-sdk/pull/633


Flow comment types are not correctly attached

Steps To Reproduce
Considering this declaration:
function fn(value /*: A */) /*: B */ {
  return value;
}

Its AST is:
Program {
  corrupt: false
  diagnostics: Array []
  directives: Array []
  hasHoistedVars: false
  sourceType: 'module'
  syntax: Array [
    'jsx'
    'flow'
  ]
  comments: Array [
    CommentBlock {
      id: '0'
      value: ': A '
    }
    CommentBlock {
      id: '1'
      value: ': B '
    }
  ]
  body: Array [
    FunctionDeclaration {
      id: BindingIdentifier {name: 'fn'}
      body: BlockStatement {
        directives: Array []
        body: Array [ReturnStatement {argument: ReferenceIdentifier {name: 'value'}}]
      }
      head: FunctionHead {
        async: false
        generator: false
        hasHoistedVars: false
        params: Array [
          BindingIdentifier {
            name: 'value'
            meta: PatternMeta {}
            trailingComments: Array ['0']
          }
        ]
      }
    }
  ]
}

Comment 1 is not attached.
Expected Results
Comment 1 is attached to the function declaration.

This is caused by FunctionHead having an incorrect loc.end that is the end of the comment, presumably because the location is captured after we've skipped token whitespace and comments.


Unable to import library

[error]   not found: http://repo1.maven.org/maven2/com/github/krasserm/streamz-converter_2.12/0.10-M2/streamz-converter_2.12-0.10-M2.pom
[error]   not found: http://repo.addisonglobal.net/repository/maven-central/com/github/krasserm/streamz-converter_2.12/0.10-M2/streamz-converter_2.12-0.10-M2.pom
[error]   not found: http://dl.bintray.com/dnvriend/maven/com/github/krasserm/streamz-converter_2.12/0.10-M2/streamz-converter_2.12-0.10-M2.pom

[error]   not found: https://dl.bintray.com/emersonloureiro/sbt-plugins/com.github.krasserm/streamz-converter_2.12/0.10-M2/ivys/ivy.xml
[error]   not found: https://dl.bintray.com/evolutiongaming/maven/com/github/krasserm/streamz-converter_2.12/0.10-M2/streamz-converter_2.12-0.10-M2.pom
[error]   not found: http://repo.typesafe.com/typesafe/ivy-releases/com.github.krasserm/streamz-converter_2.12/0.10-M2/ivys/ivy.xml
[error]   not found: http://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/com.github.krasserm/streamz-converter_2.12/0.10-M2/ivys/ivy.xml
[error]   unauthorized: https://jitpack.io/com/github/krasserm/streamz-converter_2.12/0.10-M2/streamz-converter_2.12-0.10-M2.pom (JitPack)
[error] (bnkTransactionView / ssExtractDependencies) sbt.librarymanagement.ResolveException: Error downloading com.github.krasserm:streamz-converter_2.12:0.10-M2

Resolver added according the Readme
resolvers += Resolver.url(
  "krasserm at bintray",
  url("http://dl.bintray.com/krasserm/maven")
)(Resolver.ivyStylePatterns)

problem with build.sbt

Same for me

@juanux could we reopen this issue?

Hi. Sorry for the delay.
In that moment the problem was that the Scala version I was using did not match with any version of the library.
Yes, lets open it, maybe you have it for other reason.


How can i configure TypedJsonJacksonCodec from yaml file ?

You can't. TypedJsonJacksonCodec required to set type Class which you can not do in yaml file


TCH001: False positive

TCH001 seems to incorrectly trigger on the example below despite the settings only when from __future__ import annotations is present.
base_model.py
from pydantic import BaseModel

class Base(BaseModel):
    ...

field_model.py
from pydantic import BaseModel

class F(BaseModel):
    ...

example_model.py
from __future__ import annotations  # Remove to avoid the false positive

from minimal_example_ruff_tch.base_model import Base
from minimal_example_ruff_tch.field_model import F  # Falsely flagged by `TCH001`

class ExampleModel(Base):
    field: F

Running ruff check path/to/modules --select "TCH001" --fix results in the following:
example_model.py
from __future__ import annotations
from typing import TYPE_CHECKING
from minimal_example_ruff_tch.base_model import Base

if TYPE_CHECKING:
    from minimal_example_ruff_tch.field_model import F

class ExampleModel(Base):
    field: F

Removing the annotations import from example_model.py or putting Base and F in the same file (field_model.py for example) avoids the false positive.
Current Ruff settings:
[tool.ruff.flake8-type-checking]
runtime-evaluated-base-classes = ["pydantic.BaseModel"]

Current Ruff version: ruff 0.0.292

So, I think there are two things going on here.
The main issue is that we don't support making these kinds of inferences across files. So when you use from minimal_example_ruff_tch.base_model import Base and then class ExampleModel(Base):, Ruff is unable to detect that ExampleModel is a pydantic.BaseModel.
Instead, you'd need to add minimal_example_ruff_tch.base_model.Base to your runtime-evaluated-base-classes, or add pydantic.BaseModel as an additional subclass to ExampleModel (so it'd be ExampleModel(Base, pydantic.BaseModel) or similar). These are unfortunate but known limitations that'll be lifted in time.
The second thing is that -- ignore Pydantic entirely -- Python has some unintuitive behavior when it comes to whether annotations are required to be available at runtime or not, and this is where from __future__ import annotations comes into play.
If you omit from __future__ import annotations, then when you do:
from minimal_example_ruff_tch.field_model import F

class ExampleModel:
    field: F

Python actually does require that F is available at runtime. If you move from minimal_example_ruff_tch.field_model import F into an if TYPE_CHECKING: block, the code will error at runtime.
However, if you either use from __future__ import annotations or quote the annotation (like field: "F"), Ruff will correctly flag and move the import.
So, I think the known bug here is that we don't yet support multi-file analysis for these rules. In general, I don't know that I'd recommend using them with libraries like Pydantic that depend on the runtime evaluation of types. It's possible but not totally straightforward. Hopefully we'll improve there over time.

I noticed a similar issue of Ruff having trouble evaluating base classes. It seems it doesn't reliably detect the bases – even within the same file.
given this example
from abc import ABC
from pydantic import BaseModel

class Model(BaseModel):
    x: str

class Empty(BaseModel):
    ...

class Abstract(Empty, ABC):
    inner: Model

Ruff evaluates the following classes and their bases (I simply placed some log statements in this function)
https://github.com/astral-sh/ruff/blob/a1509dfc7c2b16f3762545fc802d49f5f03726e2/crates/ruff_linter/src/rules/flake8_type_checking/helpers.rs#L42
class Model  bases: [Some(["pydantic", "BaseModel"])]
class Abstract  bases: [None, Some(["abc", "ABC"])]

notice the absence of Empty and how Abstract then doesn't get detected as BaseModel
If you think it should be a separate issue, I'll gladly create a new one for this.

@disrupted - Yeah this is separate -- we don't follow subclass chains within files. That one is solvable (not a one-line fix, but doesn't require any major changes). You're welcome to open another issue for it!

Any updates on this? Ran into the same problem here.
Also, shouldn't runtime-evaluated-base-classes = ["example_model.ExampleModel"] tell ruff that any class references used for typing inside ExampleModel are required on runtime? I tried doing something along these lines but it didn't work.


A Kong plugin?

Hi,
I realise https://kubeless.io/docs/http-triggers/ talks about how to integrate Kubeless with Kong, but I was wondering if there were any plans for a native Kong plugin to complement the serverless plugins that already have support for at https://konghq.com/plugins/?

Hi @natiki, that's something interesting but i's not currently in the roadmap.

Hope you will consider it for sometime in the future.

any feature in particular that you are interested in @natiki?

@andresmgot basically being able to manage kubeless functions directly via Kong


OnMarkerDragListener No response

marker.setOnMarkerDragListener
Marker doesn't respond when dragging
Version of osmdroid the issue relates to:
6.1.5

@SmallWizards You mean it broke? I have a code base which uses 6.1.x (below 6..1.5) and it works.

Hello, which version do you use? The 6.1.5 I used is really invalid. This is the code

@mat8854

This code
    private fun setTestMarker(map: MapView) {
        var markerTest = Marker(map);

        markerTest.isDraggable = true
        markerTest.position = GeoPoint(54.0, 9.0)

        markerTest.setOnMarkerDragListener(object : OnMarkerDragListener {
            override fun onMarkerDrag(marker: Marker) {
                Log.d("DRAG", "onMarkerDrag()")
            }

            override fun onMarkerDragEnd(marker: Marker) {
                Log.d("DRAG", "onMarkerDragEnd()")
            }

            override fun onMarkerDragStart(marker: Marker) {
                Log.d("DRAG", "onMarkerDragStart()")
            }
        })

        map.overlayManager.add(markerTest)
    }

works on my system with osmdroid 6.1.5 and lower versions too.

OK, thank you. It's settled