Report running over 36000 .rm files

Hi!
I'm running rmc over 36000 .rm files :D
I'll be posting the report in this Github issue. The report will be fully anonymized, because.. yknow

Happy 36k report
Alright. report is done! So what did I do?
I wrote a python script that parallelizes running rmc over 36000 files coming from the scrybble database.
TOC

Quick overview
Improvements for follow-up report
Report database schema

Quick overview

Improvements for the next report
These files contain no identifiable information other than the fact that the filenames themselves haven't been altered after having downloaded them from the remarkable tablet. For the next time, I think it might be best to hash the filenames too, just to add a slight extra layer of security.
Considerations
While the svg output files are definitely on my computer, these are absolutely not included in this report, that is considered very private information, even I have not allowed myself to even as much as look at a single file. I have glanced at the folder output for a moment, and it does look like the output is going well overall.
This is the python script in its entirety
#!/usr/bin/env python3

import os
import glob
import time
import sqlite3
from pathlib import Path
from concurrent.futures import ProcessPoolExecutor, as_completed
from tqdm import tqdm
import subprocess
from datetime import datetime
import atexit

class ProcessingLogger:
    def __init__(self, db_path="processing_log.db"):
        self.db_path = db_path
        self.setup_database()
        atexit.register(self.close)

    def setup_database(self):
        self.conn = sqlite3.connect(self.db_path)
        self.conn.execute("""
            CREATE TABLE IF NOT EXISTS processing_runs (
                id INTEGER PRIMARY KEY AUTOINCREMENT,
                start_time TIMESTAMP,
                end_time TIMESTAMP,
                total_files INTEGER,
                successful_files INTEGER,
                failed_files INTEGER,
                total_duration REAL
            )
        """)
        self.conn.execute("""
            CREATE TABLE IF NOT EXISTS file_logs (
                id INTEGER PRIMARY KEY AUTOINCREMENT,
                run_id INTEGER,
                file_path TEXT,
                status TEXT,
                stdout TEXT,
                stderr TEXT,
                error_message TEXT,
                processing_time REAL,
                timestamp TIMESTAMP,
                FOREIGN KEY (run_id) REFERENCES processing_runs(id)
            )
        """)
        self.conn.commit()

    def start_run(self, total_files):
        cursor = self.conn.execute(
            "INSERT INTO processing_runs (start_time, total_files) VALUES (?, ?)",
            (datetime.now(), total_files)
        )
        self.current_run_id = cursor.lastrowid
        self.conn.commit()
        return self.current_run_id

    def log_file(self, file_path, status, stdout, stderr, error_message, processing_time):
        self.conn.execute("""
            INSERT INTO file_logs
            (run_id, file_path, status, stdout, stderr, error_message, processing_time, timestamp)
            VALUES (?, ?, ?, ?, ?, ?, ?, ?)
        """, (self.current_run_id, file_path, status, stdout, stderr, error_message,
              processing_time, datetime.now()))
        self.conn.commit()

    def end_run(self, successful, failed, duration):
        self.conn.execute("""
            UPDATE processing_runs
            SET end_time = ?, successful_files = ?, failed_files = ?,
                total_duration = ?
            WHERE id = ?
        """, (datetime.now(), successful, failed, duration, self.current_run_id))
        self.conn.commit()

    def close(self):
        if hasattr(self, 'conn'):
            self.conn.close()

def process_file(file_path):
    """Process a single file using rmc command"""
    start_time = time.time()
    filename = os.path.basename(file_path)
    output_path = f"python_out/{filename}.svg"

    try:
        result = subprocess.run(
            ['rmc', '-t', 'svg', '-o', output_path, file_path],
            capture_output=True,
            check=True,
            text=True,
            timeout=60
        )
        duration = time.time() - start_time
        return (True, file_path, result.stdout, result.stderr, None, duration)
    except subprocess.TimeoutExpired as e:
        duration = time.time() - start_time
        return (False, file_path, e.stdout, e.stderr, str(e), duration)
    except subprocess.CalledProcessError as e:
        duration = time.time() - start_time
        return (False, file_path, e.stdout, e.stderr, str(e), duration)

def main():
    # Create output directory
    os.makedirs("python_out", exist_ok=True)

    # Initialize logger
    logger = ProcessingLogger()

    # Find all .rm files
    files = glob.glob("**/*.rm", recursive=True)
    total_files = len(files)
    print(f"Found {total_files} files to process")

    # Start run in logger
    run_id = logger.start_run(total_files)

    # Track timing
    start_time = time.time()

    # Process files in parallel with progress bar
    successful = 0
    failed = 0

    # Use number of CPU cores for parallel processing
    max_workers = os.cpu_count()

    with ProcessPoolExecutor(max_workers=max_workers) as executor:
        # Submit all tasks
        future_to_file = {executor.submit(process_file, file): file
                         for file in files}

        # Process as they complete with progress bar
        with tqdm(total=total_files, desc="Processing files") as pbar:
            for future in as_completed(future_to_file):
                success, file_path, stdout, stderr, error, duration = future.result()

                # Log the result
                logger.log_file(
                    file_path,
                    "success" if success else "failed",
                    stdout,
                    stderr,
                    error,
                    duration
                )

                # If there's any stderr output, print it even for successful runs
                if not success:
                    tqdm.write(f"\nError processing {file_path}:")
                    tqdm.write(f"Error: {error}")
                elif stderr:
                    tqdm.write(f"\nWarning in {file_path}:")
                    tqdm.write(stderr)

                if success:
                    successful += 1
                else:
                    failed += 1

                pbar.update(1)

    # Record final statistics
    end_time = time.time()
    total_duration = end_time - start_time
    logger.end_run(successful, failed, total_duration)

    # Print summary
    print("\nProcessing complete!")
    print(f"Total time: {total_duration:.2f} seconds")
    print(f"Files processed: {successful}")
    print(f"Files failed: {failed}")
    print(f"Results logged to {logger.db_path}")

if __name__ == "__main__":
    main()

https://www.dropbox.com/scl/fi/fp8g2qb68erguen18di67/processing_log.db?rlkey=9jri4myl5ghsxgmtvrh3vm206&st=nguutxj6&dl=0

@ChenghaoMou
" base_color_id)
  File ""/home/lb/.pyenv/versions/3.10.14/lib/python3.10/site-packages/rmc/exporters/writing_tools.py"", line 48, in __init__
    self.base_color = RM_PALETTE[base_color_id]
KeyError: 9
"

"RASE_AREA:
  File ""/home/lb/.pyenv/versions/3.10.14/lib/python3.10/enum.py"", line 437, in __getattr__
    raise AttributeError(name) from None
AttributeError: ERASE_AREA. Did you mean: 'ERASER_AREA'?
"

"/site-packages/rmc/exporters/writing_tools.py"", line 224, in __init__
    super().__init__(base_width, base_color_id)
TypeError: Pen.__init__() missing 1 required positional argument: 'base_color_id'
"

"ome/lb/.pyenv/versions/3.10.14/lib/python3.10/site-packages/rmc/exporters/svg.py"", line 130, in build_anchor_pos
    ypos += LINE_HEIGHTS[p.style.value]
KeyError: <ParagraphStyle.CHECKBOX_CHECKED: 7>
"

" File ""/home/lb/.pyenv/versions/3.10.14/lib/python3.10/site-packages/rmc/exporters/svg.py"", line 130, in build_anchor_pos
    ypos += LINE_HEIGHTS[p.style.value]
KeyError: <ParagraphStyle.BULLET2: 5>
"

"n3.10/site-packages/rmscene/tagged_block_common.py"", line 63, in read_header
    raise ValueError(""Wrong header: %r"" % header)
ValueError: Wrong header: b'reMarkable .lines file, version=5          '
"

"
  File ""/home/lb/.pyenv/versions/3.10.14/lib/python3.10/site-packages/rmc/exporters/svg.py"", line 130, in build_anchor_pos
    ypos += LINE_HEIGHTS[p.style.value]
KeyError: <ParagraphStyle.BASIC: 0>
"

"File ""/home/lb/.pyenv/versions/3.10.14/lib/python3.10/site-packages/rmc/exporters/svg.py"", line 130, in build_anchor_pos
    ypos += LINE_HEIGHTS[p.style.value]
KeyError: <ParagraphStyle.CHECKBOX: 6>
"

"n3.10/site-packages/rmscene/tagged_block_common.py"", line 63, in read_header
    raise ValueError(""Wrong header: %r"" % header)
ValueError: Wrong header: b'reMarkable .lines file, version=3          '
"

"WARNING:rmscene.text:Unknown formatting code in text: 1
WARNING:rmscene.text:Unknown formatting code in text: 2
"
"WARNING:rmscene.scene_stream:Error reading block: Bad tag type 0x0 at position 144
"
"WARNING:rmscene.tagged_block_reader:Some data has not been read. The data may have been written using a newer format than this reader supports.
"

"nown formatting code in text: 1
WARNING:rmscene.text:Unknown formatting code in text: 2
WARNING:rmscene.text:Unknown formatting code in text: 1
WARNING:rmscene.text:Unknown formatting code in text: 2
"

@ricklupton I got in a videocall with @ChenghaoMou to fix some of the most common issues in the 36k files. We opened some PRs.

The color id 9 error is referring to the highlight placeholder id, which I will fix once the color parsing in rmscene is merged.


Running bug when calculating hv

pymoo version: 0.3.0
File "../py36/lib/python3.6/site-packages/pymoo/model/indicator.py", line 21, in calc
return self._calc(F)
File "../py36/lib/python3.6/site-packages/pymoo/indicators/hv.py", line 43, in _calc
val = hv.compute(_F)
File "../py36/lib/python3.6/site-packages/pymoo/indicators/hv.py", line 117, in compute
hyperVolume = self.hvRecursive(dimensions - 1, len(relevantPoints), bounds)
File "../py36/lib/python3.6/site-packages/pymoo/indicators/hv.py", line 153, in hvRecursive
while q.cargo != None:
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
I think "q.cargo != None" may be:
q.cargo is not None

Hi there, I used the pymoo 0.3.0. For the newest version, the failure refers to:
https://github.com/msu-coinlab/pymoo/blob/86cd806a497072e83eae2ebfc1fc1f54971a4517/pymoo/vendor/hv.py#L108
I think the failure is because like when q.cargo = [0.5, 0.5, None], q.cargo != None will get [True, True, False], that is what the error "The truth value of an array with more than one element is ambiguous" means. So my suggestion is to revise it as q.cargo is not None

Hi there, I am using the pymoo 0.3.0. The failure refers to the newest version as followings:
https://github.com/msu-coinlab/pymoo/blob/86cd806a497072e83eae2ebfc1fc1f54971a4517/pymoo/vendor/hv.py#L108

My code breaks in the same line when calculating the hypervolume of data with >= 3 dimensions.
Here is an example:
data = np.array([[0,3, 0], [1,2, 0], [2,1, 0], [3,0, 0]]).astype('double') ref_point=np.array([3.0, 3.0, 0]) hv = get_performance_indicator('hv', ref_point=ref_point) hypervolume = hv.calc(data)
`~\AppData\Local\Continuum\anaconda3\lib\site-packages\pymoo\vendor\hv.py in hvRecursive(self, dimIndex, length, bounds)
106             p = sentinel
107             q = p.prev[dimIndex]
--> 108             while q.cargo != None:
109                 if q.ignore < dimIndex:
110                     q.ignore = 0
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()`

Thanks for the concrete input. The HV implementation is from another vendor library.
I will contact the author about this issue.

The author of the implementation has provided me the fix.
You can replace the vendor hv library by the current version on GitHub to make it work:
https://raw.githubusercontent.com/msu-coinlab/pymoo/master/pymoo/vendor/hv.py
It will also be fixed in the next release of pymoo. (probably some time in March)

It should work now with pymoo 0.4.0.


Unnecessary gpu allocations when reusing resource variables that are initialized from checkpoint

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow):
Yes

OS Platform and Distribution (e.g., Linux Ubuntu 16.04):
Ubuntu 16.04

Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device:

TensorFlow installed from (source or binary):
binary

TensorFlow version (use command below):
b'v1.11.0-rc1-0-ge4c4b20' 1.11.0-rc1

Python version:
3.6.6

Bazel version (if compiling from source):

GCC/Compiler version (if compiling from source):

CUDA/cuDNN version:
9.2

GPU model and memory:
Tesla K80

Describe the current behavior
GPU memory is very high when using init_from_checkpoint and reuse=True with resource variables, in certain cases.
Describe the expected behavior
GPU memory should be at most parameters+activations
Code to reproduce the issue
#!/usr/bin/env python3

"""
# first:
python repro_bug.py --write_ckpt

# then, compare:
python repro_bug.py # good
python repro_bug.py --use_ckpt # bad
"""

import tensorflow as tf
from tensorflow.contrib.training import HParams
import fire

def model(*, X, hparams):
    with tf.variable_scope('model'):
        wte = tf.get_variable('wte', [hparams.n_vocab, hparams.n_embd],
                             initializer=tf.random_normal_initializer(stddev=0.02))
        h = tf.gather(wte, X)
        return tf.matmul(h, wte, transpose_b=True)

def main(
        batch_size=20,
        length=100, # increase this to leak more memory!
        write_ckpt=False, use_ckpt=False, ckpt_path='/tmp/reprobug.ckpt',
        # hparams
        n_vocab=400, n_embd=300,
):
    hparams = HParams(n_vocab=n_vocab, n_embd=n_embd)

    if write_ckpt:
        with tf.Graph().as_default() as g:
            X = tf.placeholder(shape=[batch_size], dtype=tf.int32)
            results = model(X=X, hparams=hparams)
            saver = tf.train.Saver()
            with tf.Session() as sess:
                sess.run(tf.global_variables_initializer())
                saver.save(sess, ckpt_path)
        return

    X = tf.fill([batch_size], 0) # initial value
    for _ in range(length):
        # NOTE: doing something like reuse=(i > 0) doesn't help
        with tf.variable_scope('step', reuse=tf.AUTO_REUSE, use_resource=True):
            logits_flat = model(X=X, hparams=hparams)
        X = tf.squeeze(tf.multinomial(logits_flat, num_samples=1, output_dtype=tf.int32), axis=[1])

    if use_ckpt:
        print('setting initializers')
        tf.train.init_from_checkpoint(ckpt_path, {'/': 'step/'})

    config = tf.ConfigProto()
    config.gpu_options.visible_device_list = '0'
    with tf.Session(config=config) as sess:
        sess.run(tf.global_variables_initializer())

        run_metadata = tf.RunMetadata()
        sess.run(X, feed_dict={}, options=tf.RunOptions(trace_level=tf.RunOptions.HARDWARE_TRACE), run_metadata=run_metadata)
        mbs_in_use = []
        for dev_stat in run_metadata.step_stats.dev_stats[:]:
            for node_stat in dev_stat.node_stats[:]:
                for mem in node_stat.memory:
                    if mem.allocator_bytes_in_use and mem.allocator_name.startswith("GPU"):
                        mbs_in_use.append(mem.allocator_bytes_in_use // 1000000)
        print("mbs in use: " , " -> ".join(map(str, mbs_in_use)))

if __name__ == '__main__':
    fire.Fire(main)

Other info / logs
Output looks like this:
setting initializers
mbs in use:  0 -> 1 -> 1 -> 8 -> 10 -> 18 -> 27 -> 27 -> 35 -> [etc...]

without calling initialize_from_checkpoint, it looks like:
mbs in use:  0 -> 0 -> 0 -> 0 -> 0 -> 0 -> 0 -> 0 -> 0 -> 0 -> [etc...]

@girving

Also, I should mention that I was unable to reproduce the same error with a simple matrix multiply instead of this gather/multinomial business

Also reproducible with nightly, as of today, (version 1.13.0-dev20181025)

I'm a little confused; by reading your code it seems like the mbs in use grows not with time but with the number of ops being executed? As in, you're always running a single step, but in the case where you restore from checkpoint the memory grows as ops execute while in the case where you don't they do not, right?
Moreover, this growth happens not on the call to run global_variables_initializer but on the call to run the forward pass of the model.
This is very weird since you're not writing to any of the variables and running the forward pass shouldn't trigger more allocations. Can you print the partition graphs on the run metadata with and without checkpoint initialization so I can see what's different?

/sub

@alextp  Yes, your reading of the code is correct; it is quite weird!  print(run_metadata.partition_graphs) gives empty list in both cases.

Sorry, I should have been clearer; to output the partition graphs you need RunOptions(..., output_partition_graphs=True) in there as well.

The diff is quite large, so I'm uploading the results as files!
good = full output without checkpoints
bad = full output with checkpoints
diff = output of diff good bad
2columncoloreddiff = colored/2 column version
Archive.zip

Ah, I see what is going on. It seems like the bad version is moving a lot of computation to the CPU because of int32 dtypes and colocation constraints. These copies are triggering more memory allocation, which is what you're seeing.
For example, look at the "step/model/gather" node, which runs on the CPU in the bad version and on the GPU on the good version, mostly because the variable is being placed on the CPU in the bad version.
Essentially, I think a fix is to stop force-placing the init op in the CPU (that is, deindenting the block which starts in https://github.com/tensorflow/tensorflow/blob/5fb8c844512f50ec58fe3b856c8718816d7a504a/tensorflow/python/training/checkpoint_utils.py#L321 ).
Can you do this and see if the issue goes away?
@jpienaar for FYI since this smells a lot like a colocation-group bug (which Jacques is working on removing from TF entirely) but is only indirectly so.

deindenting that line (and the 3 after) fixes it!  memory usage is fine and the partition_graphs are the same (modulo names)


Update documentation to reflect removal of --network-plugin command line parameter in Kubelet 1.24

Fixes #34756
Closed PR: #34764

Preview;
https://deploy-preview-39625--kubernetes-io-main-staging.netlify.app/docs/tasks/debug/debug-cluster/#mitigations

Hi @nitishfy, a gentle ping to see if you still have time to address the feedback on this PR? Thanks!

Hi @nitishfy, a gentle ping to see if you still have time to address the feedback on this PR? Thanks!

Hi, I'll mark the changes soon. Thank you!

Hi @nitishfy .
I plan to close this pull request. When you have time to address the suggestions, feel free to reopen the pull request.
Thanks
/close


[pulsar-broker] Make some member variables of Dispatcher volatile

Some of the variables of the Dispatcher classes seem to should be volatile, so I fixed them. For example, the variable havePendingRead is corrently volatile in PersistentDispatcherSingleActiveConsumer but not in PersistentDispatcherMultipleConsumers.

rerun java8 tests

rerun java8 tests

rerun java8 tests


Create Project Scope Document For Custodial Wallet Service MVP Project

sprint 5

here's the link - https://www.notion.so/Custodial-Wallet-Service-MVP-Project-Scope-7fefce7e4c2d4fe89aedc25b81ab922d


Explorer support for Kubernetes

fix #245

I think there is no need to update docs/README.md
in k8s case, minifab up '-e xxx' is required. once options are specified, minibaric remembers them until cleanup.
there is no change for explorerup/down


Writing Final Report

[ ] #148
[ ] #149
[ ] #150
[ ] #151
[ ] #152
[ ] #147
[ ] #153
[ ] #154

UPDATE: We decide to use GitHub to keep track of the report. I created a sub-issue for each chapter so that we can discuss what kind of content should be included.


grpcproxy: support prevKV watcher

lgtm /cc @xiang90

lgtm

If prevKV size is huge, there might be a performance issue. but i am not worry about it now.


Update Coursier to 2.1.7

https://github.com/coursier/coursier/releases/tag/v2.1.7

hello - sorry I completely forgot to follow-up on that one, thanks for merging this 🙏


Display some status outuput when loading a Safe

When I load a Safe, e.g. python safe_cli.py 0x9D2407C6b6c1C307AB54Adb01627Ba0845e3Cddf https://rinkeby.infura.io/v3/
It takes for me several seconds until the cli is opened. I assume that RPC calls are made to load all required info.
Would it make sense to show either a loading bar or some verbose output what info is current pulled? That would give me the feeling that something is in the works. Otherwise I'm unsure if it's maybe blocked.

As I retrieve all together using batching (so it's everything or nothing) for now I would just display a "Loading info prompt" until I implemented something fancier, I leave this opened 🙂


Feature Request

Hi,
Not sure if this has been asked before or is impossible but it would be great if Fluidplayer could pull in and play YouTube and Vimeo videos.
Thanks!

Yes, it will be very useful. For ex: "plyr" has the option if you use youtube link in the src, it automatically loads the video and plays as native player.
Fluid player too need such improvement to support youtube videos 👍 hope dev will look into this asap.

Create a new internal ticket to track this, we should implement something close to what Plyr has


Support of WYSIWYG v2.0

Hi. How to support 2.0 version?
I mean, for example before we have in controller:
$scope.froalaOptions = {
  placeholder: ///,
  imageUploadURL: ///,
  headers: {
    Authorization: ///
  },
  fileUploadURL: ///,
  events: {
    imageError: function() {
      ///
    },
    fileError: function() {
      ///
    },
    imageInserted: function(e, editor, img) {
      ///
    },
    afterRemoveImage: function(e, editor, img) {
      ///
    },
    onPaste: function(e, editor, html) {
      ///
    },
    afterPaste: function() {
      ///
    }
  }
};

now such code didn't work
$scope.froalaOptions = {
  placeholderText: ///,
  imageUploadURL: ///,
  requestHeaders: {
    Authorization: ///
  },
  fileUploadURL: ///,
  events: {
    'image.error': function() {
      ///
    },
    'file.error': function() {
      ///
    },
    'image.inserted': function(e, editor, img) {
      ///
    },
    'image.removed': function(e, editor, img) {
      ///
    },
    'beforeCleanup': function(e, editor, html) {
      ///
    },
    'paste.after': function() {
      ///
    }
  }
};

even if i loose '' symbols (
image.error: function() {
  ///
},
file.error: function() {
  ///
},

)
how to run this up?

The framework plugins are not yet update. We're doing that during this week and the Angular plugin is second on the list (https://www.froala.com/blog/hello-froala-editor-v2).

So...
how to use events with dot in name? file.error
thank you

Use quotes around the event name like so:
$scope.options = {
    placeholderText: "Start Typing",
    events: {

 }
}


Keys on "Azerty" keyboard not OK

On an Azerty keyboard (French keyboard), some letters are not at the same place that in Qwerty keyboard.
"M", "A", "Q", "Z", "W" for example (many others).
For example :
On Azerty ebiten.KeyM don't represente the "M" key but the semicolon key.

Yes, this is by definition:
https://godoc.org/github.com/hajimehoshi/ebiten#Key

A Key represents a keyboard key. These keys represent pysical keys of US keyboard. For example, KeyQ represents Q key on US keyboards and ' (quote) key on Dvorak keyboards.

If you want to input keys as the keyboard say, use InputChars.
Thanks!

Thanks for the help. I get what I want with InputChars


Use a newer commit hash for Llama-2-7b-chat-hf

https://github.com/databricks/databricks-ml-examples/blob/299fec3115d67fc03faa10764ab99be69f4e582d/llm-models/llamav2/llamav2-7b/02_mlflow_logging_inference.py#L35C54-L35C54
The currently referenced commit hash has 3 bin files that total ~25Gb, which shouldn't be the case for llama-7b (this is more similar to a llama-13b size). This is also misleading to customers using model serving, when container build and model load takes longer than expected. This commit hash could be updated to a more recent version that has fewer artifacts, that total ~13Gb instead.

Thanks for reporting! Fixed in #71.


Improve validity handling for adding/removing of the error attribute

Alaska Airlines Pull Request
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes: #137
Summary:
Please summarize the scope of the changes you have submitted, what the intent of the work is and anything that describes the before/after state of the project.
Correctly handle validity attribute when the error attribute is removed.
Type of change:
Please delete options that are not relevant.

[ ] New capability
[x] Revision of an existing capability
[ ] Infrastructure change (automation, etc.)
[ ] Other (please elaborate)

Checklist:

[x] My update follows the CONTRIBUTING guidelines of this project
[x] I have performed a self-review of my own update

By submitting this Pull Request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
Pull Requests will be evaluated by their quality of update and whether it is consistent with the goals and values of this project. Any submission is to be considered a conversation between the submitter and the maintainers of this project and may require changes to your submission.
Thank you for your submission!
-- Auro Design System Team

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


chore: moving the setup file of vitest

I think it would be better if the config/setup files for tests such as vitest were outside the src dir.
The author should do the following, if applicable

[ ] Add tests
[x] Run tests
[x] bun run format:fix && bun run lint:fix to format the code
[ ] Add TSDoc/JSDoc to document the code

@EdamAme-x Nice!
I'll merge this now. Thanks!


set method missing

I believe it would be super useful if set(Counter, Value) method was available.  Something silly like oneup:inc2(Counter, -(oneup:get(Counter)) + Value) isn't atomic.

This would be very useful, the doc to the underlying std::atomic::store function is here

Cool, thanks so much!
On Mon, Nov 6, 2017 at 3:59 PM, Andy Till<EMAIL_ADDRESS>wrote:

This would be very useful, the doc to the underlying std::atomic::store
function is here http://en.cppreference.com/w/cpp/atomic/atomic/store
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/andytill/oneup/issues/2#issuecomment-342301781, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ALcepqpNow0Ydn6EMnNNo3fw6ucHdbqsks5sz4E6gaJpZM4QBQhb
.


⚠ ClamAV has degraded performance

In 3f0a2e5, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 547 ms

Resolved: ClamAV performance has improved in b06cec7.


Rgp fix menu organizer comment

Here goes another try. (Trying to get the menu organizer comments to generate readable html.)

If it helps, here's where the notes are parsed on the website: https://github.com/finale-lua/jw-lua-scripts-docs/blob/main/src/lib/components/script-notes/script-notes.svelte


Add 'unique' filter

Returns a list of unique items from the given value.
{{ value|unique }}

The unique items are yielded in the same order as their first occurrence in the iterable passed to the filter.

@djbe is this repo still maintained? Is there a chance to get that merge at some point?
Thanks!


[fix][test] Replace test call to Auth0 with call to WireMock

Fixes #19330
Motivation
Replace calls to Auth0 with calls to a local WireMock server. The server behaves in essentially the same way as Auth0.
Modifications
Update TokenOauth2AuthenticatedProducerConsumerTest.
Verifying this change
The modified test passes and still covers the same code.
Documentation

[x] doc-not-needed

Codecov Report

Merging #20465 (bcbb200) into master (9f93af3) will increase coverage by 0.02%.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##             master   #20465      +/-   ##
============================================
+ Coverage     72.91%   72.93%   +0.02%
+ Complexity    31913     3696   -28217
============================================
  Files          1867     1867
  Lines        138534   138484      -50
  Branches      15200    15202       +2
============================================
- Hits         101009   101007       -2
+ Misses        29517    29454      -63
- Partials       8008     8023      +15

Flag
Coverage Δ

inttests
24.13% <86.36%> (-0.07%)
:arrow_down:

systests
25.13% <86.36%> (+0.18%)
:arrow_up:

unittests
72.20% <100.00%> (+<0.01%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...che/bookkeeper/mledger/impl/ManagedCursorImpl.java
78.66% <ø> (-0.13%)
:arrow_down:

...ava/org/apache/pulsar/broker/service/Consumer.java
86.77% <100.00%> (-0.05%)
:arrow_down:

...ava/org/apache/pulsar/broker/service/Producer.java
81.81% <100.00%> (-0.10%)
:arrow_down:

...va/org/apache/pulsar/broker/service/ServerCnx.java
71.56% <100.00%> (+0.08%)
:arrow_up:

.../common/policies/data/stats/ConsumerStatsImpl.java
97.61% <100.00%> (-0.96%)
:arrow_down:

...common/policies/data/stats/PublisherStatsImpl.java
90.00% <100.00%> (-5.53%)
:arrow_down:

... and 72 files with indirect coverage changes

Merging...
Thank you!

I noticed 2 more locations where Auth0 is used in tests. There's a follow up task, #20473.


Taxiways are hard to see

Need to check CSS for taxiways and other airport-related lines.  I've never really looked at them before.
The lines should have good visible stroke and casing, also matching style for the preset icons.

Should probably imitate whatever rendering standards the airports follow, e.g. yellow for taxiways.

after:


ipld: Drop IPFS plugin support

What
Right now, we follow all the best practices of IPLDv0 in IPFS, which mainly includes registering our IPLD NMT in https://github.com/celestiaorg/celestia-node/blob/main/ipld/plugin/nmt.go#L53-L68 what essentially enables go-ipfs pluggability, so that go-ipfs can understand out NMT data type. However, we don't use IPFS anymore, and we went deeper into its guts to use what we need specifically. What I am proposing here is to take one small step further into its guts to solve some of our problems.
Why
There are a few reasons why we would consider this:

This solves #306 for us. That is, we can avoid updating to the latest IPLD to remove the blocker and enable valuable libp2p dependency updates.

Specifically, registers linked above are changed with new IPLD and require us to change our data model to keep registering, while we can just drop the registering instead of continuing support for it.

We are moving in the direction of implementing our own protocol for data transfers, so that we don't really need idiomatic IPLD compatibility and especially go-ipfs pluggability/compatibility anymore.

How
By going deeper into guts, I mean to rely on an abstraction below ipld.DAGService which is Blockservice. This way we can avoid those global registering and rely on our NMT IPLD implementation directly so that we use IPLD only for serialization of NMT not to reinvent the wheel. This way, we will start working with Bitswap directly without any facades, until we design our own data transfer protocol.

This seems very reasonable as we definitely want to unblock us on updating to the latest libp2p sooner than later.
It would be nice if we can keep in mind that it might be useful to have IPFS as a storage layer long-term though. Here, compatibility is not super urgent nor critical but it's nice as we got this for free so far. My understanding is that we will be compatible once we've upgraded to ipldV1 anyways though.

Agree with @liamsi

And this :) https://github.com/celestiaorg/celestia-node/issues/112


How to get type of an Asset?

How do i figure out what type an asset is?
import unreal_engine as ue
myasset = ue.get_asset('/Game/Framework/Hands/Model/HandAnimBP')

I only found the is_a method, but when doing from unreal_engine.classes import AnimBlueprint and checking for it, it returns False.
Any help appreciated.

/Game/Framework/Hands/Model/HandAnimBP is a package path. So you will get a Package instead of a Blueprint.
To get the actual blueprint path, you need to right click on the asset in the content browser and the click Copy Reference. You may find that the actual path is something like /path/to/blueprint/HandAnimBP.HandAnimBP.
BTW, get_asset is an editor-only method and will not be shipped in Shipping Build. You may need to use load_class instead.


⚠ TADA Wallet Web has degraded performance

In cbc1a13, TADA Wallet Web ($WALLET_WEB_URL) experienced degraded performance:

HTTP code: 200
Response time: 9498 ms

Resolved: TADA Wallet Web performance has improved in 38adcbd.


Beamer seems to drop/ignore hash or pound signs in urls

Describe the bug
A clear and concise description of what the bug is.
Beamer version: 1.5.3
To Reproduce
Steps to reproduce the behavior:

Use beamer
Navigate to a url such as /home/page#section
Observe that the BeamState passed to your buildPages method contains no information about the "#section" portion of the url

Expected behavior
Include this url information so that the app can act on it
Desktop (please complete the following information):

OS: macOS
Version 13.0

Smartphone (please complete the following information):

Device: Emulator
OS: iOS, Android

Additional context
This is being used in the context of a deep link. I click an email verification link that directs to a hosted server. The server returns a redirect url which deep links into the app. This url includes a hash sign with critical data after it. I do not have control over the way the server generates the redirect so I cannot remove this symbol.

+1
I also see a requirement to use something like "/home/page#section" to be able to go to the page and move/scroll the to the desired location. like the n-th entry in a list.

This is still happening in beamer 1.7.0. We ended up going with another solution.


Windows 8.1 Mapbox Studio hangs on install

I'm trying to install mapbox-studio-win32-x64-v0.2.7.exe on Windows 8.1, and it's hanging close to the end of the setup. Here's what it looks like:

I tried running the installer as Adminstrator with the same results. Any ideas?

@DynamicDyno Never seen this exact installer hang before, but do you have Visual Studio 2015 or the 2015 C++ Redistributable / vcredist installed?
We are experiencing some problems when the above software is installed.
We are working hard on a new release to avoid this.
As a workaround could you try this:
1.)
Run installer till it hangs
2.)
Copy folder C:\Program Files\mapbox-studio to a temporary folder, e.g. C:\MBS-TEMP.
3.)
Cancel the installer.
4.)
Copy the install folder from C:\MBS-TEMP back into C:\Program Files\mapbox-studio
5.)
Follow the instructions outlined here:
https://github.com/mapbox/mapbox-studio/issues/1404#issuecomment-127011952
Does it work now?

Upcoming release will not have this vcredist install problem.


Correct profile BSSw logo href

This PR corrects the location of the BSSw logo within the profile readme so it may properly render within the org's homepage at https://github.com/software-gardening .

Thanks @vincerubinetti ! Merging this in.


[SB] mypy + pylint fixes

next- fixes small nits

API change check
API changes are not detected in this pull request.

/azp run python - servicebus - tests

/check-enforcer override

/check-enforcer override


x/pkgsite: broken image link on pkg.go.dev/std

What is the URL of the page with the issue?
https://pkg.go.dev/std
Screenshot

What did you expect to see?
The Gopher image in the README: https://go.googlesource.com/go/+/refs/heads/master/README.md
What did you see instead?
A 404 on the image link (https://github.com/golang/go/raw/go1.15.6/src/doc/gopher/fiveyears.jpg).
/cc @jba

Fixed.
Required reprocessing stdlib.


xxdiff-tip: 20170101 -> 20170623

Updates the xxdiff-tip version and fixes compilation errors by forcing qt5.6.
Motivation for this change
Fixes: https://github.com/NixOS/nixpkgs/issues/28643
Things done

[ ] Tested using sandboxing
(nix.useSandbox on NixOS,
or option build-use-sandbox in nix.conf
on non-NixOS)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] Linux

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Fits CONTRIBUTING.md.

Thanks!


Error

Hello, i receive this when i check the configuration
Configuration invalid
Platform error climate.salus - No module named 'pyit600'

Hello, i receive this when i check the configuration
Configuration invalid
Platform error climate.salus - No module named 'pyit600'

Nevermind, after restart is working ok.

Hi,
I had the same error, but after restart the error didn't occur any longer. As I'm a noobie in HASS, I can't figure out, how I can attach the Salus thermostates, humidity sensors etc. to my HASS tabs. Can you guys point me in the right direction?
Sorry for the noobie question - there's a lot to learn.
Thanks.

Please look at the updated readme https://github.com/konradb3/homeassistant_salus/blob/master/README.md New versions allow you to configure it via web interface.


MNT Update expected toasts in behat

Issue

https://github.com/silverstripe/silverstripe-cms/issues/2947

Closed in favour of https://github.com/silverstripe/silverstripe-elemental/pull/1291


enhance blazecli with more functionality

blazecli is a command line interface to blazesym. Please refer to https://github.com/libbpf/blazesym/tree/main/cli.
Currently we have only hooked up whatever functionality we needed so far (which was symbolization of ELF and in a process). That means there is plenty of other stuff that we can add. Some examples (list is not necessarily exhaustive):

[ ] Easiest would be the addition of the symbolize dwarf sub-command. Should be not much more difficult than 03c017456a100e9ca2645968eee2290cee291768
[x] We want an inspect sub-command that exposes the functionality of the similarly named blazesym module
[x] Similarly, normalization functionality would be a nice addition.
[x] Build ID reporting would be nice to have as well, see https://docs.rs/blazesym/0.2.0-alpha.4/blazesym/helper/fn.read_elf_build_id.html

I think we are mostly caught up by now. Closing this task. Everything that is missing can just be added on-demand.


Adding files from scib

Scripts added:

[x] scripts/preprocessing.py
[x] scripts/run_normalize.sh
[x] scripts/sim_norm.py
[x]  R/visualization/*
[x]  notebooks/*

Corresponding PRs:

scib: https://github.com/theislab/scib/pull/217
scib-pipeline: https://github.com/theislab/scib-pipeline/pull/1

@martaint Is it safe to move all the R/visualization code here or are you still working on it?

I think it's safe! I'm not working on it :)
On Sat, 6 Mar 2021, 06:05 Michaela Mueller<EMAIL_ADDRESS>wrote:

@martaint https://github.com/martaint Is it safe to move all the
R/visualization code here or are you still working on it?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/theislab/scib-reproducibility/pull/4#issuecomment-791874602,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHR32OQTFPRXYMLCF3BZLB3TCGZX7ANCNFSM4YVK5JYQ
.

Wow, that's a lot of notebooks! I assume somebody has already checked these are all still relevant?

We removed notebooks some time back (PR), so I think things should be OK. @LuckyMD @danielStrobl Could you double-check if there are any notebooks we don't need anymore?

* Do we need the `.ipynb_checkpoints` directories?

Good point, didn't realise that I was adding those. They should be removed and ignored now.

Should we move the data files in the visualization/ directory to the top data/ directory? At least those that are for the paper not just examples for the plotting functions (@martaint might be able to help with that).

I agree, that would be better. We just need to update the R scripts accordingly.

One thing I noticed is that the notebooks/visualisation.ipynb in master is not the most recent one, it's actually in the recompute_cluster_metrics branch

Thanks for comments @danielStrobl. Could you say how you would name the folder (or in which existing folder) the notebooks to keep should be put? Just visualization?

Yes, sounds good

One thing I noticed is that the notebooks/visualisation.ipynb in master is not the most recent one, it's actually in the recompute_cluster_metrics branch

@danielStrobl Can you open a separate PR for the latest version (or add it here)? Or open an issue I guess, just don't want to forget about this.
P.S. I think you have a pending invite to join this repo, I can resend if you need.

Ok, I'll open a PR for that. That would be great if you could resend the invite.

I agree that the heatmap and mouse atlas notebooks can be removed.

I removed the heatmap plotting script (duplicate) and moved the preprocessing scripts to the Masterinternship_2019 repository.

also, new analysis notebook updates from scIB.

Summarising things that have come up in comments:
Done

[x] Resend invite to @danielStrobl
[x] Remove .ipynb_checkpoints directories
[x] Remove mouse atlas notebooks

Todo

[ ] Remove empty visualization/img/init file
[ ] Move the visualisation data files to the data/ directory (this probably means other changes to scripts so maybe can be a later PR)
[ ] Remove notebooks/Vitualisation_ATAC.ipynb
[ ] Remove visualization/atlas_heatmap.ipynb
[ ] Remove notebooks/silhouette_graph.ipynb
[ ] Update notebooks/visualisation.ipynb to most recent version
[ ] Other notebook updates from scIB?

Anything that's incorrect or I missed?

Also just noticed that each of the dataset notebook folders has an empty README. We should probably either add some info about the datasets or just delete them. @LuckyMD what do you think?

Could you copy over some text from the dataset description in the paper to the README?

Could you copy over some text from the dataset description in the paper to the README?

That's definitely possible. Alternatively could describe what is in the notebooks (or both).

Or maybe better: everyone could write a small blurb (3-4 sentences of what is in the dataset). I think that could even be from the SI sections.

Did some of the minor things, see updated checklist https://github.com/theislab/scib-reproducibility/pull/4#issuecomment-820517623. Main things left to do are double checking notebooks are up to date (@danielStrobl can you help with that?) and deciding what to do with the READMEs.

@lazappi I added a file in scib (https://github.com/theislab/scib/pull/234) which should also be added here in the respective notebook folder. Could you take care of that? Don't want to mess with this PR :) thanks a lot!


Brass 557 - adding ingress to getting-started example

Simplifies getting started example, removing the need for port-forwards
Adds instructions for implementing ingress controller under Docker Desktop
Provides workaround instructions for known problem with ingress controller under Docker Desktop

Simplifies getting started example, removing the need for port-forwards
Adds instructions for implementing ingress controller under Docker Desktop
Provides workaround instructions for known problem with ingress controller under Docker Desktop


Stop creating indices at runtime

Part of #2356
Indices can now be created at deploy time by Terraform.  Stop creating/updating them at runtime.

https://github.com/wellcomecollection/catalogue-pipeline/pull/2375/


Accept header - more cleanup

partially address #4535

Oops, this one needs a scalafmt.

Formatting is fixed now


Set variable outside Editor?

Hi,
Is it possible to set the value of the variable outside the dialog editor, for example from the game code? Any example please? I tried this in demo, however don't know it's a good way:
func _on_DialogueBox_variable_changed(var_name, value):
	var dlgbox:DialogueBox = $DialogueBox
	dlgbox.set_variable(var_name, TYPE_INT, 100)

Hi, the variables are stored in a dictionary in the dialog box: $DialogueBox.variables. If you want to set the value of a variable, you can simply set a value from anywhere in your code like: $DialogueBox.variables["coins"] = 100
P.S. terribly sorry for the late reply!


Unslick doesn't work correctly when resizing from breakpoint

short description of the bug / issue, provide more detail below.
Unslick doesn't work correctly when resizing from breakpoint. It works ok, if I resize from general settings area.

[  http://jsfiddle.net/fmo50w7n/281/  ]
Link for preview [http://fiddle.jshell.net/fmo50w7n/281/show/]
Steps to reproduce the problem

Resize smoothly and you'll see that on greater than 992 slider is destroyed, 480-992 - 2slides, below 480 -1 slide
Problem appears if you resize slider not smoothly.
a.  Suppose your window is 478 and you resize it and it becomes 1200, slider isn't destroyed. The conditions work, console.log(works). Generally the unslick runs too, but it restarts slider again. I notice it in my website, but as code is simple here, it happens very quickly and you can't notice it

What is the expected behaviour?
Slider should be destroyed
What is observed behaviour?
Slider is destroyed but it reinits for unknown reason

More Details

Which browsers/versions does it happen on? Not a browser compatibility issue, but I test it on Firefox
Which jQuery/Slick version are you using? The one in the fiddle you provide
Did this work before? I haven't tried

Hey @k-lusine this is a duplicate issue, but thanks for making it :smile:

Then you should point to the original one.

Sounds like we're both busy people who don't want to search for things.


#561 Profiler ddtrace errors

Description
Profiling and apm are working even after removing changes to application.py.  Removing this redundancy seems to resolve the ddtrace errors on deployment.
Ddtrace only needs the ddtrace-run added to the front of an executable in order to activate the library in that image, after which it uses the ENV to determine behavior (instrumentation and profiler).
I’m also taking this opportunity to update the DD_SERVICE variable in the task definitions to celery and celery beat.  This should be considered a bug, and is easy enough a fix I wanted to include in this PR.
The ddtrace library can be configured using environment variables, such as DD_ENV, DD_SERVICE, and DD_VERSION; and by setting the DD_SERVICE variable to celery and celery beat, I can ensure that the traces are correctly associated with the respective services. This can be considered a bug, and the fix is simple enough to include in the current PR.
Addresses #561
Here is a Datadog Notebook, with various queries showing the current problem and acceptance criteria
Documentation

ddtrace-run
environment variables with ddtrace-run

Type of change

[x] Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?

[ ] Deployed here and profiler was still working as expected:

This was primarily apm and profiler setup in application.py, and there are no noticed changes for dev in the apm or profiler or logs dashboards
There are no automated tests currently for verifying ddog functionality, so a user check the log patterns, profiler, and apm is the best way to verify these changes are working.

As you can see here, the profiler for dev is still working:

There were no memcollector errors:

So, these errors have been resolved.
Checklist

[x] My changes generate no new warnings
[x] My changes do not disrupt current ddog functionality.

Kyle asked for me to prove that SMS path is still being recorded on profiler, and IT IS!
Here is profiler working from my Postman tests between 8:55-9:00 AM MST:


Translations - Japanese

For anybody wishing to contribute to the translations:
https://github.com/OriginProtocol/company-website/blob/master/translations/ja/LC_MESSAGES/messages.po
You add the translated-versions under msgstr ""
Example:
msgid "Hello"
msgstr "Bonjour"

See the German translation as an example:
https://github.com/OriginProtocol/company-website/blob/master/translations/de/LC_MESSAGES/messages.po

Fixed in https://github.com/OriginProtocol/company-website/commit/61985973f10eb559a5e9ba3f8f44a26f132ca034


⚠ Bofrost.de has degraded performance

In 40e3f9f, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1168 ms

Resolved: Bofrost.de performance has improved in a8b50e1.


Developers console doesn't work when setting menu.

I've created an electron app using generator-electron. I'm using electron v0.34.1 on Ubuntu 15.04.
Developers console works great, but only until I want to create custom menu and call Menu.setApplicationMenu(menu); then I can't open dev console at all.
Sample code
var menutpl = [];
var menu = Menu.buildFromTemplate(menutpl);
Menu.setApplicationMenu(menu);

No errors, not failing build. It just won't come out when I use Ctrl+Shift+I.

The shortcut to open devtools was only available because your app was hosted in the default_app (that's the state your app runs in unless you package it) which creates a menu item for opening the devtools. So by adding your own menu you actually replaced the old one and lost the shortcut.
To get the shortcut back you can add it to the menu like so: https://github.com/atom/electron/blob/1896deb10eda67d8e8cb5188fe0f747fa16fdfeb/atom/browser/default_app/main.js#L109
Or if you don't want it in a menu item you can register a global shortcut (details here).
The default_app exposes some shortcuts to help make it easier to develop/debug your app (e.g. reload, open devtools). Once you package it, it won't be available any more.

Oh, I messed up. I saw this code and thought it opens dev tools thanks to accelerator and I forgot about click event. Thanks a lot!


⚠ ClamAV has degraded performance

In 05db501, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 82 ms

Resolved: ClamAV performance has improved in 592ca8e after 11 minutes.


Update OpenSSL-affected requirements

Closes #1682
Code Changes

[x] bump pymongo version
[x] bump cryptography version
[x] bump boto3

Steps to Confirm

[ ] all CI checks pass

Pre-Merge Checklist

[ ] All CI Pipelines Succeeded
Documentation Updated:

[ ] documentation complete, or draft/outline provided (tag docs-team to complete/review on this branch)
[ ] documentation issue created (tag docs-team to complete issue separately)

[ ] Issue Requirements are Met
[ ] Relevant Follow-Up Issues Created
[ ] Update CHANGELOG.md

Description Of Changes
Got a slew of CI errors despite having pinned versions for requirements, thinking it might be something to do with the OpenSSL issues recently. Bumping various versions to figure out the fix

most checks are passing now, but there still seems to be an issue with the ctl external tests and possibly the fides deploy check

follow up issue for remaining failures: #1684


🚀 Dockerize the Web App

Description of the enhancement. ✍🏻
This contribution adds Docker support to the project, enabling easy deployment and improved portability. By Dockerizing the web app, we provide a streamlined and consistent environment for running the application across different systems. Users can benefit from simplified setup, isolated dependencies, and enhanced reproducibility. With Docker, deploying the web app becomes more efficient and scalable.
Describe briefly how you would implement this enhancement.
Some steps to implement this enhancement-
Step 1: Created Dockerfile to define the Docker image configuration.
Step 2: Specified the base image and copied project files into the container.
Step 3: Installed necessary dependencies and configured the runtime environment.
Step 4: Documented instructions for building and running the Docker image in the project's README.

Screenshots Example (if applicable)
No response
Additional information
Basically, the aim is to simplify the deployment process, increase portability, and enhance the overall development experience. This contribution enables users to quickly set up and run the web app in a Docker container, improving the project's accessibility and versatility.
Contributor terms

[X] I agree to follow the Contributing Instructions

Assign the above issue to me under GSSOC`23.


Name resolution with systemd-resolved disabled - mailgun?

I have got the docker container working, with both ssl and auth - after implementing suggested workaround in isssue 29. However, mailnotifications doesn't seem to work. Is that because the workaround in issue 29 breaks name resolution within container? I tried to verify by connecting (shell) to container and see signs that resolution fail, but it might not be a valid test!?

Hi @frekn0,
Im sorry you having some issues with your Canarytokens setup. I hope I can help. Would you mind providing me with a little bit of info about your current setup? i.e. where you trying to run it? which mail service you trying to use? As much info as you can would be awesome.
Thanks

Hi @jayjb !
Thank you so much for your quick response and sorry for  going light on the details :/
Canarytokens-docker is running on a Digital Ocean droplet (Ubuntu 18.04). I set off trying to use Mailgun for notifications of canary action. Configuration files attached below. Started off with the aforementioned tcp53 error upon launch, got that resolved to access /generate and can review Canary history. No notification when canaries trigger though.
frontend.env
CANARY_DOMAINS=mydomain.com
CANARY_NXDOMAINS=avjyd.mydomain.com
#CANARY_GOOGLE_API_KEY=
CANARY_WEB_IMAGE_UPLOAD_PATH=/uploads
#Enter number so<PHONE_NUMBER> = 10485760
CANARY_MAX_UPLOAD_SIZE=10485760
LOG_FILE=frontend.log
swithcboard.env
CANARY_MAILGUN_DOMAIN_NAME=mydomain.com
CANARY_MAILGUN_API_KEY=my_mailgun_api_as_provided_MG_WebUI
#CANARY_MANDRILL_API_KEY=
#CANARY_SENDGRID_API_KEY=
CANARY_PUBLIC_IP=droplet public IP
CANARY_PUBLIC_DOMAIN=mydomain.com
CANARY_ALERT_EMAIL_FROM_ADDRESS=
CANARY_ALERT_EMAIL_FROM_DISPLAY=
CANARY_ALERT_EMAIL_SUBJECT=
#CANARY_IPINFO_API_KEY=
CANARY_TOKEN_RETURN=fortune
CANARY_WEB_IMAGE_UPLOAD_PATH=/uploads
LOG_FILE=switchboard.log
Default protocol to use in notification links. If you don't use LetsEncrypt, set to http
PROTOCOL=https

Hi @frekn0,
Thanks for the info. Its very useful. So i dont see anything obviously wrong with the config so I think its worth us doing a little debugging (im sure we will figure it out quickly!).
So i think we can start to narrow down the issue:

Lets check whether we are seeing any errors when the server tries to send the mail. The following steps should suffice.
a) ssh into your Canarytokens Server.
b) sudo docker exec -ti switchboard /bin/bash
c) tail -f switchboard.log
d) create a token on your Canarytokens Server and trigger it.
You should see the logging in the switchboard; the request coming in and the server handling that request. It should also tell you about alerting. Would you mind checking there if there is an exception showing up?

Hi @jayjb
Thanks again for being so responsive! I will provide update shortly when triggering a token, but notice at once that the name resolution issues I alluded to surface in the log as well:
[...)
Failure: twisted.internet.error.DNSLookupError: DNS lookup failed: check.torproject.org.
Cheers,
Fredrik

Hi @frekn0,
Sorry for the delayed response.
There are two quick checks please:

sudo docker exec -ti switchboard /bin/bash and then try resolve an external HTTP address such as ping google.com or host mailgun.com which would tell you whether that docker instance has external connectivity.
Looking over your config files; I see you hadnt input any mail information. In order for the mail capability you would need to supply those details.

Hi @frekn0,
Thanks for the additional information. That looks promising (in terms of a test). I recall an issue simillar to this happening before.
Would you mind trying this?

Hi @frekn0,
Let me know if you came right with the suggested solution please?

Hi @frekn0,
Let me know if you came right with the suggested solution please?

Closing this issue because we haven't heard back. @frekn0 can reopen when they would like to continue discussing.


Tag crash reports with a commit hash and aggregate crashes on master channel

In order to make crash logs more viewable, we should condense multiple master channel versions into a single crash version. For example, -pre203 and -pre202 could both be compressed into -pre200. No other channels would have this applied.
This would require the specific commit be added to the additional fields.

/cc @christopherfujino


Own .editorconfig for templates and Angular templates fixes

Hi guys! These two commits add .editorconfig to templates/ folder and fix Angular preset templates so they generate less useless newline characters respectively. Hope you find this PR useful - it's not something new or cool but aims to make conventional-changelog output more accurate.

I prefer to merge .editorconfig with the root one.
Why do you think the newlines is a bug? What is it trying to fix?

Ref for .editorconfig https://github.com/stevemao/conventional-changelog-writer/blob/master/.editorconfig#L14-L16

Why do you think the newlines is a bug? What is it trying to fix?

I add the newlines on purpose to make the log easy to read.

@stevemao Well, do you often read raw Markdown? As for me, yes, I've got no rendering in some project and then I saw generated file with things like \n\n\n\n - that's why I created PR. If this small addition is no good, let's close and forget )

I do. I found three \ns between versions make it easier to read. There are two \ns between sections and one \n between title and content.

Okay then )

Do let me know if you find \n is wrong. rules should be pretty much my last comment :)


Balanced Scheduling Volumes

At the time of creation, there are a total of 5 nodes, of which 4 nodes are zoned, resulting in only one node claimed
The pv created later is all scheduled to the same node. When the capacity is small, the container goes online, and the capacity cannot be expanded at this time.
How to reschedule the allocated storage, hoping to add this function

volume migration feature can help with it, please check https://hwameistor.io/docs/quick_start/create_stateful/advanced/migrate for details

Balanced Volumes Scheduling is supported at version v0.7.2.


4.2.0 Breaking Change "Nothing was returned from render"

Hi team-
Updating single-spa-react from 4.1 is breaking our microapp, problems start at 4.2.0. When mounting, we receive the error from ReactDOM Uncaught Error: u(...): Nothing was returned from render. This usually means a return statement is missing. Or, to render nothing, return null.
We are building our react app (react v16, did try react and react-dom v17) to a systemjs module:
import * as React from 'react';
import * as ReactDOM from 'react-dom';
import singleSpaReact from 'single-spa-react';
import 'src/utils/i18n';

const lifecycles = singleSpaReact({
  React,
  ReactDOM,
  rootComponent() {
    return
Test
;
  },
  errorBoundary() {
    return
Error
;
  },
});

export const bootstrap = lifecycles.bootstrap;
export const mount = lifecycles.mount;
export const unmount = lifecycles.unmount;

webpack config:
// ...
const webpackConfig = {
  mode: 'development',
  entry: ['./src/index.js'],
  devtool: 'eval',
  output: {
    filename: 'app.min.js',
    path: path.resolve(__dirname, 'dist'),
    publicPath: '/',
    libraryTarget: 'system',
  },
  resolve: {
    symlinks: false,
    alias: {
      src: path.resolve(__dirname, 'src'),
    },
    extensions: ['.tsx', '.ts', '.js'],
  },
  module: {
    rules: [
      // JS file loading
      {
        test: /\.jsx?$/,
        include: [path.resolve(__dirname, 'src')],
        loader: 'babel-loader',
      },
      // ...
    ],
  },
  plugins: [
    new CleanWebpackPlugin({
      verbose: true,
      dry: true,
      cleanOnceBeforeBuildPatterns: ['dist'],
    }),

    new webpack.DefinePlugin({
      'process.env.NODE_ENV': 'development'
    }),

    new webpack.DefinePlugin({
      __CONFIG__: JSON.stringify(configFiles),
    }),

    new HtmlWebpackPlugin({
      filename: 'index.html',
      template: 'src/index.html',
    }),
  ],
  stats: {
    chunks: true,
    colors: true,
  },
};

  webpackConfig.devServer = {
    host: 'local.xxx.com',
    port: WEB_APP_PORT,
    hot: true,
    https: true,
    headers: {
      'Access-Control-Allow-Origin': '*',
      'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, PATCH, OPTIONS',
      'Access-Control-Allow-Headers':
        'X-Requested-With, content-type, Authorization',
    },
    historyApiFallback: true,
    devMiddleware: {
      publicPath: '/',
    },
  };

  // Setup react and webpack hot loading
  webpackConfig.entry.unshift(
    ...[
      'react-hot-loader/patch',
      'webpack/hot/only-dev-server', // only hot-reload on successful updates
    ],
  );

  webpackConfig.plugins.push(new webpack.HotModuleReplacementPlugin());
}
module.exports = webpackConfig;

Loading the microapp with:
  const key = 'my-micro-app;

  if (!registeredApps[key]) {
    registerApplication({
      name: key,
      app: window.System.import('@xxx/my-micro-app'),
      activeWhen: '/my-micro-app',
    });

    registeredApps[key] = true;
  }

  return <div id={`single-spa-application:${key}`} />;

I've included most of the entries that could be relevant to give the complete picture. Redacting some items for css-loaders etc just for verbosity.
Haven't confirmed, but if I had to guess the react-dom API was changed for react18 here https://github.com/single-spa/single-spa-react/pull/114/files#diff-c5eaff085b5e6099025d960035472f3294bb99ba188311b924d7987a6f8f919eR261 breaking 16 and 17. Reading release notes it seems this was unintentional and it was supposed to be backwards compatible.
Happy to provide any more information!

Hi there, I was unable to reproduce the problem described here. I created https://github.com/joeldenning/single-spa-react-issue-125 which has three different branches for different react versions, and all seemed to work. Could you provide a demonstration of the problem?

@thenickot2 did you find a resolution to this?  I am seeing this issue as well for any version 4.2.0 and above.  4.1.2 currently works for me.


[stdlib] Reduce traps in Slice.wCSIA

The previous implementation used integer addition, a Range, and the rebasing initializer.
I'm currently trying to optimize some code which uses withContiguousStorageIfAvailable. I've found that using a Slice rather than a plain UBP introduces 5 additional traps, which in turn stops the function getting inlined results in very disappointing performance. The generated assembly looks like this:
function signature specialization <Arg[0] = Exploded> of function signature specialization <Arg[1] = Dead> of generic specialization <Swift.Slice<Swift.UnsafeBufferPointer<Swift.UInt8>>> of output.WebURL.SchemeKind.init<A where A: Swift.Sequence, A.Element == Swift.UInt8>(parsing: A) -> output.WebURL.SchemeKind:
        sub     rsi, rdi
        jo      .LBB176_18
        add     rsi, rdi
        jo      .LBB176_19
        cmp     rsi, rdi
        jl      .LBB176_20
        lea     rcx, [rdx + rdi]
        test    rdx, rdx
        cmove   rcx, rdx
        sub     rsi, rdi
        jo      .LBB176_21
        test    rsi, rsi
        js      .LBB176_22
        ...

Before continuing with the same code as the regular UBP. Looking at the code, I think the calculations and Range initializer could be the culprits.

@lorentey sorry to keep tagging you on these things. If it's annoying and there's somebody better to refer it to, let me know.


Device Code Grant

Is your feature request related to a problem?
A grant type called Device Code Grant is missing
Describe the solution you'd like
The Device Code grant type is used by browserless or input-constrained devices in the device flow to exchange a previously obtained device code for an access token.
The Device Code grant type value is urn:ietf:params:oauth:grant-type:device_code.
More resources

Device Flow Token Request (oauth.com)
Device Flow (alexbilbie.com)
Device Code Grant on the OAuth 2.0 Playground

Describe alternatives you've considered
None
Additional context
RFC - https://tools.ietf.org/html/rfc8628#section-3.4
OAuth - https://oauth.net/2/grant-types/device-code/
Alex Bible - https://alexbilbie.com/2016/04/oauth-2-device-flow-grant/
Playground - https://www.oauth.com/playground/device-code.html

Done!


Start/Stop service doesn't work

Starting up the vagrant box, I can't access local.ghost.com on the host. Also:
vagrant@local:~$ sudo start app
start: Job failed to start
vagrant@local:~$ sudo stop app
stop: Unknown instance:

npm start works:
vagrant@local:~$ cd code/Ghost
vagrant@local:~/code/Ghost$ npm start

><EMAIL_ADDRESS>start /home/vagrant/code/Ghost
> node index

WARNING: Ghost is attempting to use a direct method to send email.
It is recommended that you explicitly configure an email service.
Help and documentation can be found at http://support.ghost.org/mail.

Migrations: Up-to-date at version 005
Ghost is running in development...
Listening on <IP_ADDRESS>:2368
Url configured as: http://localhost:2368
Ctrl+C to shut down

The script is in Ghost-Vagrant/site-modules/ghost/templates/config/app.conf.
It's started by upstart in Ghost-Vagrant/site-modules/ghost/manifests/upstart.pp.
upstart is run as part of `Ghost-Vagrant/site-modules/ghost/manifests/init.pp

I'd appreciate some advice on troubleshooting this further.

@stantond , I am facing the same issue and I don't want to configure mail service. Please advise if you have solved this already.

@sreedharbukya sorry, no idea. I gave up and went with ghosted.it - I was running two Ghost instances on a single droplet with Digital Ocean, but only need one of those now, so worked out $5 per month either way.


Decoding of a seemingly intact file fails

I'm writing a simple app for ESP32 that would allow me to type in a Wolfram|Alpha query on a PS/2 keyboard and view the results on a display using its Simple API, which returns an image in the GIF format with a single frame containing the result.
Unfortunately, I didn't find any GIF libraries (I'm sure I just didn't look close enough). So, because this is just a personal project, I decided to bodge an online GIF-to-JPEG conversion API. I feed it a WA query URL, it returns a link to the resulting JPEG image. ESP32 then downloads this image into SPIRAM and hands it to JPEGDEC to decode.
But sometimes this results in a corrupted, not completely drawn image (most of the time it doesn't, but but sometimes it does). Also, I've noticed that if this happens, subsequent attempts at drawing the image will also fail; and if this doesn't happen in the beginning, it won't happen in the future. The CRC32 checksum of the file in the ESP32 RAM matches one of the file I downloaded to my PC. Checksums also stay the same on each callback call (I was testing for memory corruption), and ESP-IDF heap corruption checks always pass.
One particular case I can give is:
WA query: plot y=1/(x^2)
Resulting JPEG returned by the conversion API: link
CRC32 checksum of the file (matches everywhere): 0x76866797
Corrupted Image drawn on the display:

The link you shared doesn't work for me. Please email me a test image<EMAIL_ADDRESS>You should know that I have written a GIF animation lib that runs on the ESP32:
http://github.com/bitbank2/AnimatedGIF
It's portable code that can run on Arduino as C++ or any other system as C.

Wow, I didn't notice that library at all, thank you, I'll try it.
I sent the image in question to your E-Mail.

Found the problem and fixed it (release 1.2.1). The initial reading of image data wasn't filling the input buffer, so the check against the high water mark was failing and allowing the decoder to go past the end of actual data. I tested your image and now it works correctly.


Improve transitive dependencies to have "Affected Assemblies"

How does this align with the current intent for transitive dependencies to simply cause validation failures when not acknowledged?

The intent of this ticket is to enable developers to specify the assemblies that contain implementations for the transitive dependency. This is useful for consumers as it means that no assumptions need to be made about which assemblies provide implementations of the transitive dependency.
Validation ensures that the developer has acknowledged the transitive dependency. The assemblies is to help the developer register the transitive dependency.

Consider doing with #43


Mapping an ObserveableMap

I have an ObserveableMap<K, V>, from which I would like to create an ObserveableList<K> or ObserveableList<V>
Am I correct that this is not currently possible with EasyBind API? Would be great to have this if it isn't currently supported.
thanks for the cool library! I am using it in this app.
:+1:

Hi, you are correct, this is not supported. I am trying to consolidate EasyBind and ReactFX, moving functionality to ReactFX. Thus, I am unlikely to add new features to EasyBind (I will be fixing bugs, though, when they appear). Most of EasyBind's functionality is already there in the current milestone release of ReactFX. You can always ask me how you would rewrite this or that from EasyBind to ReactFX.
This would be a good candidate for a feature request in ReactFX.

Oh.. that's sad to hear. My understanding is that the abstraction level was higher in EasyBind than in ReactFX. That is, in order of decreasing abstraction:

Properties
Events
Listeners

EasyBind allowed working on the highest abstraction level. ReactFX would require going one level down, though it's better than listeners. Am I correct?

You are referring to ReactFX before Vals ;)


add ability to delete draft works and collections

Why was this change made?
Fixes #469 - allow the user to delete a draft collection or work.
Notes:
- I set this up so only draft collections that do not have any works associated with them can be deleted to prevent the user from mistakenly deleting a bunch of works too.
To Do:
- Tests
Does the verify_authorized (https://github.com/sul-dlss/happy-heron/blob/main/app/controllers/collections_controller.rb#L8) and authorize! collection in the methods themselves use the policy methods qw have created to ensure we only delete a work or collection that is in draft?
How was this change tested?

In browser
New tests verifying draft works and collections have delete buttons and can be deleted
Update existing tests for deposited works and collections to verify the delete button is not shown in those cases

Which documentation and/or configurations were updated?

Looks good so far. Please add a couple of tests.

Tests added and a couple existing tests updated.


SUTD Bands Bandscamp 2021

Session Name
Bandscamp
Abstract
An online bands camp organized by SUTD Bands to orientate the freshies and share with them more about our club. They will also get a chance to get their hands dirty working on a music project.
Student Organisation organising this session
SUTD Bands
Event Format
Virtual
Session intent (what to expect)
To introduce SUTD Bands to incoming freshies (Eg. what the club is about, the events we organize) and to try to orientate potential club members
Creativity
Teamwork
Session details
25th September, 2-6pm
Link to Telegram group for interested freshies to be found in the form (Zoom link will be posted there)
Speakers/Workshop facilitators
NIL - SUTD Bands Exco
Sign up link(if any)
https://forms.office.com/r/5YpxEkdLfT
Logistical details / Budget Needed
NIL
Please provide us with your club e-mail address so we can notify you once your event has been scheduled.
<EMAIL_ADDRESS>Copy this template to ensure consistent branding throughout DiscoverSUTD.

Event Approved! Congrats and hope you guys have a great event!


VSync/Framecap issues

So I brought this up in the Godot discord, there appears to be an issue with framecapping and Vsync just totally not working at all
Specs:
GTX 1060
Ryzen 5 1600
16gb DDR4
Windows 10
Tested Godot versions
3.0.5, V3.1dev.calinou.a3f1ee5
Main issues
Fullscreen ---
Vsync and Debug>Settings>ForceFPS Both don't work in general, causing ridiculous amounts of frames to be rendered.
Windowed --
Vsync alone causes issue above,
both enabled causes wanted results (properly limited frame rate),
disabling Vsync, and setting forceFPS, causes issue above.

Be sure to check that your VSync settings in your graphic card settings is set to : Let application decides.

Be sure to check that your VSync settings in your graphic card settings is set to : Let application decides.

It is set to that, it's legit busted.

Im also using a gtx1060 and have had similar problems.

Yeah, it have massive fps drop for now


one new issue in the Code

some issue found in Check in

some resolution provided.  waiting for user response

closing it.


Add a column to the grants table reflecting its compliant standing

Yellow exclaimation mark: any of the grant's submission with repoCopy in status "stalled"
Other wise leave blank

Needs tweaking

verified on rev. b0b535cb


Refactor

Codecov Report

Merging #47 (9139e76) into main (ba4cd47) will increase coverage by 64.68%.
The diff coverage is 91.35%.

@@             Coverage Diff             @@
##             main      #47       +/-   ##
===========================================
+ Coverage   20.17%   84.86%   +64.68%
===========================================
  Files          12       14        +2
  Lines         783     1156      +373
  Branches        0       97       +97
===========================================
+ Hits          158      981      +823
+ Misses        625      166      -459
- Partials        0        9        +9

Files
Coverage Δ

src/napari_psf_analysis/psf_analysis/analyzer.py
100.00% <100.00%> (ø)

...psf_analysis/psf_analysis/extract/BeadExtractor.py
100.00% <100.00%> (ø)

src/napari_psf_analysis/psf_analysis/fit/fit_1d.py
100.00% <ø> (ø)

src/napari_psf_analysis/psf_analysis/fit/fit_2d.py
100.00% <ø> (ø)

src/napari_psf_analysis/psf_analysis/fit/fit_3d.py
100.00% <ø> (ø)

src/napari_psf_analysis/psf_analysis/fit/fitter.py
100.00% <100.00%> (ø)

src/napari_psf_analysis/psf_analysis/image.py
100.00% <100.00%> (ø)

src/napari_psf_analysis/psf_analysis/parameters.py
100.00% <100.00%> (ø)

src/napari_psf_analysis/psf_analysis/records.py
100.00% <100.00%> (ø)

src/napari_psf_analysis/psf_analysis/sample.py
100.00% <100.00%> (ø)

... and 4 more

... and 4 files with indirect coverage changes

Closes #40, #41, and #42.


Can't build a distribution (IsADirectoryError)

Eel version
$ pip freeze | grep -i eel
Eel==0.12.3

Describe the bug
I wanted to build a distributable binary as described in the docs. I got TODO.
To Reproduce
Steps to reproduce the behavior:
$ git clone https://github.com/MartinThoma/write-math-eel.git && cd write-math-eel
$ python -m venv venv
$ source venv/bin/activate
$ pip install -r requirements.txt
$ pip install pyinstaller
$ python -m eel main.py web --onefile --noconsole
Building executable with main script 'main.py' and web folder 'web'...

Running:
pyinstaller main.py --hidden-import bottle_websocket --add-data /home/moose/GitHub/MartinThoma/write-math-eel/venv/lib/python3.8/site-packages/eel/eel.js:eel --add-data web:web --onefile --noconsole

380 INFO: PyInstaller: 3.6
380 INFO: Python: 3.8.1
438 INFO: Platform: Linux-5.4.0-29-generic-x86_64-with-glibc2.29
439 INFO: wrote /home/moose/GitHub/MartinThoma/write-math-eel/main.spec
440 INFO: UPX is not available.
442 INFO: Extending PYTHONPATH with paths
['/home/moose/GitHub/MartinThoma/write-math-eel',
 '/home/moose/GitHub/MartinThoma/write-math-eel']
442 INFO: checking Analysis
534 INFO: Appending 'datas' from .spec
542 INFO: checking PYZ
568 INFO: checking PKG
582 INFO: Building because toc changed
582 INFO: Building PKG (CArchive) PKG-00.pkg
52410 INFO: Building PKG (CArchive) PKG-00.pkg completed successfully.
52463 INFO: Bootloader /home/moose/GitHub/MartinThoma/write-math-eel/venv/lib/python3.8/site-packages/PyInstaller/bootloader/Linux-64bit/run
52463 INFO: checking EXE
52464 INFO: Building because name changed
52464 INFO: Building EXE from EXE-00.toc
Traceback (most recent call last):
  File "/home/moose/.pyenv/versions/3.8.1/lib/python3.8/runpy.py", line 193, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/home/moose/.pyenv/versions/3.8.1/lib/python3.8/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/home/moose/GitHub/MartinThoma/write-math-eel/venv/lib/python3.8/site-packages/eel/__main__.py", line 24, in <module>
    pyi.run(full_args)
  File "/home/moose/GitHub/MartinThoma/write-math-eel/venv/lib/python3.8/site-packages/PyInstaller/__main__.py", line 114, in run
    run_build(pyi_config, spec_file, **vars(args))
  File "/home/moose/GitHub/MartinThoma/write-math-eel/venv/lib/python3.8/site-packages/PyInstaller/__main__.py", line 65, in run_build
    PyInstaller.building.build_main.main(pyi_config, spec_file, **kwargs)
  File "/home/moose/GitHub/MartinThoma/write-math-eel/venv/lib/python3.8/site-packages/PyInstaller/building/build_main.py", line 734, in main
    build(specfile, kw.get('distpath'), kw.get('workpath'), kw.get('clean_build'))
  File "/home/moose/GitHub/MartinThoma/write-math-eel/venv/lib/python3.8/site-packages/PyInstaller/building/build_main.py", line 681, in build
    exec(code, spec_namespace)
  File "/home/moose/GitHub/MartinThoma/write-math-eel/main.spec", line 20, in <module>
    exe = EXE(pyz,
  File "/home/moose/GitHub/MartinThoma/write-math-eel/venv/lib/python3.8/site-packages/PyInstaller/building/api.py", line 445, in __init__
    self.__postinit__()
  File "/home/moose/GitHub/MartinThoma/write-math-eel/venv/lib/python3.8/site-packages/PyInstaller/building/datastruct.py", line 160, in __postinit__
    self.assemble()
  File "/home/moose/GitHub/MartinThoma/write-math-eel/venv/lib/python3.8/site-packages/PyInstaller/building/api.py", line 522, in assemble
    os.remove(self.name)
IsADirectoryError: [Errno 21] Is a directory: '/home/moose/GitHub/MartinThoma/write-math-eel/dist/main'

Expected behavior
I thought I would either get an exe file (e.g. when this distributable is for Windows) or a .tar.gz / .deb (when it's for Linux)
Desktop (please complete the following information):

OS: Ubuntu 20.04 LTS
Browser Google Chrome
Version : Version 81.0.4044.138

Additional context
The documentation is not clear if this is OS specific and which OS it is for.

Try onedir, instead of onefile and see if it works then or not.

Hi @MartinThoma - did you get to the bottom of this?
If not, try deleting the dist directory and rebuilding. I think I hit a similar thing today.
I'll close this for now to try to keep things tidy - but if you are still having the problem, just reply and we can take another look.

Huh, weird. It works.
Eel==0.12.3
PyInstaller==3.6

There is an issue with the executable. It seems as if not all files were included:
./main
Traceback (most recent call last):
  File "src/gevent/greenlet.py", line 854, in gevent._greenlet.Greenlet.run
  File "site-packages/eel/__init__.py", line 257, in _process_message
  File "main.py", line 43, in worker
  File "site-packages/hwrt/classify.py", line 92, in classify_segmented_recording
  File "site-packages/hwrt/classify.py", line 28, in __init__
  File "site-packages/hwrt/utils.py", line 451, in load_model
  File "tarfile.py", line 1599, in open
  File "tarfile.py", line 1664, in gzopen
  File "gzip.py", line 173, in __init__
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/_MEIFW6rbP/hwrt/misc/model.tar'
2020-06-18T21:06:35Z <Greenlet at 0x7fac5eff6040: _process_message({'call': 1.8640561829231295, 'name': 'worker', 'ar, <geventwebsocket.websocket.WebSocket object at 0x7)> failed with FileNotFoundError

You may need to build it without the --onefile flag and check that all the packages/libs that your app needs are being collected by pyinstaller correctly. Sometimes, I think, it can miss things. This feels like what's happening - it can't find model.tar.
The PyInstaller docs should help you include extra files you need. https://pyinstaller.readthedocs.io/en/stable/operating-mode.html#analysis-finding-the-files-your-program-needs

Sorry, I haven't seen your answer before I posted the other issue. In between, I tried it like this but I failed - but you helped me: https://github.com/samuelhwilliams/Eel/issues/331 🎉


Dynamic

I think Dynamic (without type parameter) should also be handled, we may simply pass a null to gen.dyn and let user handle it.
          case TDynamic(t):

            if(t == null)
                gen.dyn(null, null);
            else
                gen.dyn(gen.dynAccess(genType(t, pos)), t.toComplex());

For example, tink_json's GenWriter may be changed to:
  static public function dyn(e, ct)
    if(e == null) throw "Dynamic without type parameter is not supported"; // add this line
    return macro {
      var value:haxe.DynamicAccess<$ct> = value;
      $e;
    }

Related: https://github.com/haxetink/tink_json/issues/2

Just to be clear here: plain Dynamic is not handled in the Dynamic<T> branch, but one can handle it in rescue. Hope that works for you.

@back2dos Thanks for the fix. Have been working on a runtime typecheck lib and this lib really helped.
Btw, do you think it is a good enough util to be added to haxetink?

Oooh, very interesting! I had plans for such a thing myself, but you beat me to it :D
I'm very honored by your offer to add your code to tink. However, I must warn you that I am strongly attached to this project (i.e. tink as a whole) and the spirit I started it in - which I cannot properly verbalize to this day. Chances are that I will occasionally confront you with rather idiosyncratic decisions, that I just can't explain but "feel" to be right. From working with Nicolas, I know how frustrating this can be, so I do try hard to make it better. But still, I feel that I should caution you. Ultimately, like all approaches, collaboration has its own challenges and rewards. If you feel up to it, I'd be thrilled to welcome you aboard. If not, I understand perfectly.
Either way, your lib is really cool! ;)

In fact, it is you beat me on this. I have this idea long time ago but I just don't have the skill to "make it right". Until I meet tink_typecrawler and tink_json, which give me the tool and example to finish it.
I truly understand that software designing is actually more art than science. Since I don't have much sense in this regard, I would be more than happy to hear comments from you.
btw, I am really really impressed by how useful yet simple and elegant the tink libraries are.

Well then, welcome to the club!
And also, thank you for your kind words :)

Thanks. I transferred the repo, but  after that I am unable to access the setting page to rename it...

Ok, I changed a couple of permissions. Can you please try again?

Yes, it's ok now. Btw do you have any opinion on the repo name?