Missing JS and CSS files

Hello,
I am running YTSM on an Unraid Docker. I understand you need to map some sort of static folder to get the JS and CSS to download properly, but the documentation is not very clear so I am having trouble trying to get this project running.
Currently, when I go to the website it looks like this.

In the log you can clearly see the missing files.

How would I go to properly map the folder so I can let these static files download?

Thank you!

I also attempted to put symlinks to /static wherever I though the docker container was serving the app.
Here is a screenshot of where I put static symlinks.

This is due to how django works. There are basically 2 options:

running django in debug mode (by setting the debug variable to true). This is the simplest solution, but not ideal for a production environment.

serving the static files using nginx/apache or some other web server. First, you need to run manage.py collectstatic, and then configure the web server to serve these files under /static.

Because this is a recurring issue, I will to fix the docker image so it includes a web server like nginx.

Thanks for the reply,
I have been running django in debug mode by setting the variable to True in the config.ini. This doesn't seem to make any difference. I am looking forward to the docker image with the Nginx web server and will let you know if that solves the issue.


Admin (portal user) Audit Logs and Activities

⚠ Please verify that this feature request has NOT been suggested before.

[X] I checked and didn't find similar feature request

🏷 Feature Request Type
UI Feature, Other
🔖 Feature description
Hi,
Uptime Kuma does not currently support logs & audits for user activity within the portal. This is something that can add some value to the product, especially for the ones who seek security compliance. It would be great to have this.
Alternatively, I am exporting database and application logs while running the application in verbose mode; but it would be nice to have user activities in the portal somehow.
Bests, Ali.
✔ Solution
The easy solution is to dump the logs in a file with user configured buffered size or with specified days of retention (to not get over the size limit) and provide an API to read it from the UI.
❓ Alternatives
Support the remote syslog protocol to be configured via dashboard settings. Something like: https://www.netiq.com/documentation/novelllogmanager11/log_manager_admin/data/bjzkhg5.html
📝 Additional Context
NIST 800-58 SP, SOC2, ISO27001 requires IT systems to have audit logs, and it's pain for companies to use this system and handle those controls.

NIST SP 800-58 only targets VOIP => irrelevant
SOC2+ISO27001 seem to have a form of audit trail requirement from what I can gleam of publicly accessible documents

All actions are currently written to the log
=> I don't have access to the specs, is this sufficient?
=> could you provide screenshots of the exact requirements in these documents?
Hottake:
Audit-logs are only relevant if more than one user can be present at one time
⇒ uptime-kuma can currently only ever be used by one user which does privileged actions.
⇒ imo only a feature which could become relevant if somebody gets around to implementing https://github.com/louislam/uptime-kuma/issues/128 or one of the duplicates like #3272
On the other hand, this Project is open source and open to PRs.
Here is our contribution guide: https://github.com/louislam/uptime-kuma/blob/master/CONTRIBUTING.md

NIST SP 800-58 only targets VOIP => irrelevant

@CommanderStorm, Sorry I meant NIST SP 800-92; it was a late night brain fart. It's not just that one security standard that requires logging in to the system, e.g., if you consider the Microsoft Threat Modeling (STRIDE) as the port of the SSDLC process in a company, not having logs enabled can cause repudiation as a threat.
SOC2+ISO27001 seems to have a form of audit trail requirement from what I can gleam of publicly accessible documents
We follow NIST SP 800-53 to implement and build SOC2 controls/policies (as a general guideline), and we dig into more details on other standard releases (e.g., FIPS)
Some of the controls in NIST SP 800-53

AU-2: Auditable Events
AU-3: Content of Audit Records
AU-6: Audit Review, Analysis, and Reporting
AU-12: Audit Generation

and Some of ISO 27001 controls/requirements:

A.12.4.1: Event Logging: This control requires that event logs recording user activities, exceptions, faults, and information security events should be produced, kept, and regularly reviewed.
A.12.4.2: Protection of Log Information: This control requires that logging facilities and log information should be protected against tampering and unauthorized access.
A.12.4.3: Administrator and Operator Logs: This control requires that system administrator and system operator activities should be logged and the logs protected and regularly reviewed.
A.14.2.5: Secure System Engineering Principles: This control is about using secure engineering principles for developing and maintaining systems. While not specific to logging, it includes principles that could apply to logging.

more: https://infosavvy.home.blog/2021/04/22/iso-27001-annex-a-12-4-logging-and-monitoring/
On the other hand, this Project is open source and open to PRs. Here is our contribution guide: https://github.com/louislam/uptime-kuma/blob/master/CONTRIBUTING.md
Yeah, I thought of that as well, but not sure if I am a good JS/TS developer; I will try my best 👍


BB Wiki - no developer setup guide available

In Getting Started section, provide a developer setup guide: what version of JDK, Maven etc. should be installed.

add to README.md


MAINT: more careful dtype treatment in block diagonal matrix construction

closes https://github.com/scipy/scipy/issues/4967

LGTM

OK, several days without comments. Looks innocent and useful. Merging, thanks @argriffing


Refactored data augmentation, changed loss function, cleaned notebooks and other improvements

This major PR aims to handle the improvement in the performance of model as well as an improvised version of data augmentation.
DONE

Implemented data augmentation (Albumentation library) similar to previous version of ADS

Changed from Cross Entropy as a loss function to Dice coefficient to improve model performance as indicated in issue #19 .

Interpolation changed from linear to nearest neighbour

Notebooks are cleaned and removed irrelevant notebooks as indicated in #148

Migrated models to OSF storage to prevent bloating of the repository

Fixes #148, Fixes #19, Fixes #241, Fixes #278, Fixes #240

Coverage increased (+0.3%) to 82.72% when pulling f792a9206afba01133d4ca4e6b32cd0e17958a12 on vs_data_aug_keras into e1d37e0bbe8093045059f2a85a37d92904d74ac2 on master.

For now I have implemented data augmentation similar to one in TensorFlow. Since I am using albumentation, there is no need of script data_augmentation.py(data augmentation part is implemented in train_network.py and input_data.py as it required few lines of code). I want to know how should I approach at implementing test cases for data augmentation as the earlier test cases are useless(since data_augmentation.py has to deleted). Any help @jcohenadad / @mathieuboudreau  ?

@vs74 since albumentation seems to be well tested, i would suggest to only add tests that are specific to the use of this library by ADS.

Agreed with Julien, if you're deleting AxonDeepSeg/data_management/data_augmentation.py in this branch, you can remove the accompanying test file test/data_management/test_data_augmentation.py - no need to rewrite tests unless other test fails after these steps are done.

While removing the notebooks as mentioned in PR #148, I narrowed it down from 18 Jupiter notebooks to 7. As mentioned earlier to keep only 4 notebooks that is getting_started.ipynb, guide_dataset_building.ipynb, morphometrics_extraction.ipynb, training_guideline.ipynb. In addition to this I believe there are 3 more notebooks which we should keep ( guide_bireli.ipynb, performance_metrics.ipynb, segmentation_image.ipynb). What do you suggest @jcohenadad / @mathieuboudreau ?

While removing the notebooks as mentioned in PR #148, I narrowed it down from 18 Jupiter notebooks to 7. As mentioned earlier to keep only 4 notebooks that is getting_started.ipynb, guide_dataset_building.ipynb, morphometrics_extraction.ipynb, training_guideline.ipynb. In addition to this I believe there are 3 more notebooks which we should keep ( guide_bireli.ipynb, performance_metrics.ipynb, segmentation_image.ipynb). What do you suggest @jcohenadad / @mathieuboudreau ?

i'm ok with those suggestions

I've never used either of those three extra ones. They are a bit less stale than the other ones you deleted, but they are still not quite as polished as the 4 we recommended to keep. What benefit do you see in keeping those three?

I think if we keep those three, it might be warranted to polish them up a bit more (e.g. more explanations of what the notebooks are useful for, deleted commented out code, running them at least once so figures are displayed, etc.)

The following reasons I thought for keeping the notebooks

guide_bireli.ipynb - For this notebooks, I had only just small reason that is this notebook name occurrence is being used in test_config_tools.py (comments to be specific). However I am against keeping this file. The comments can be deleted from these test cases.

# --------------grid_config tests-------------- #
    @pytest.mark.unit
    def test_grid_config_feature_augmentation_x(self):
        # Sample L_struct and dict_params values below taken from
        # guide_bireli.ipynb
        L_struct = [{
            'structure': [[5, 5, 5], [3, 3, 3], [3, 3, 3], [3, 3, 3]],
            'features_augmentation': 'x2',
            'first_num_features': 16
            }]
        dict_params = {
            'trainingset': ['SEM_3c_512'],
            'trainingset_patchsize': 512,
            'learning_rate_decay_period': 24000
            }

        config_list = grid_config(
            L_struct,
            dict_params,
            base_config=self.config
            )

        for key in list(config_list.keys()):
            assert validate_config(config_list[key])

    @pytest.mark.unit
    def test_grid_config_feature_augmentation_p(self):
        # Sample L_struct and dict_params values below taken from
        # guide_bireli.ipynb
        L_struct = [{
            'structure': [[5, 5, 5], [3, 3, 3], [3, 3, 3], [3, 3, 3]],
            'features_augmentation': 'p2',
            'first_num_features': 16
            }]
        dict_params = {
            'trainingset': ['SEM_3c_512'],
            'trainingset_patchsize': 512,
            'learning_rate_decay_period': 24000
            }

        config_list = grid_config(
            L_struct,
            dict_params,
            base_config=self.config
            )

        for key in list(config_list.keys()):
            assert validate_config(config_list[key])

    @pytest.mark.unit
    def test_grid_config_feature_augmentation_invalid(self):
        # Sample L_struct and dict_params values below taken from
        # guide_bireli.ipynb

        # Note: 'features_augmentation':'d2'-> d is not a valid augmentation
        # flag.
        L_struct = [{
            'structure': [[5, 5, 5], [3, 3, 3], [3, 3, 3], [3, 3, 3]],
            'features_augmentation': 'd2',
            'first_num_features': 16
            }]
        dict_params = {
            'trainingset': ['SEM_3c_512'],
            'trainingset_patchsize': 512,
            'learning_rate_decay_period': 24000
            }

        with pytest.raises(ValueError):
            config_list = grid_config(
                L_struct,
                dict_params,
                base_config=self.config
                )

performance_metrics.ipynb and segmentation_image.ipynb -  I believe that keeping these files will help us in future to debug and play easily with the model. Let's say if we want to fine tune model or extend our model it would be relatively easy if we had Jupyter notebook ( so that we can assess  performance of the model and segmentation on the test data / unknown data)  rather than creating one / looking up in the previous commits. Nonetheless as pointed by @mathieuboudreau,  I will perform a validation of the two notebooks.

What we delete the information about notebook (noise_simualtion.ipynb) mentioned in RTD or should I revert this notebook back and clean it ?

I would just edit RTD accordingly for the current state of our notebook collection.

@mathieuboudreau could you review this PR ?

Done and ready for review.

Sorry I lost track of this one @vs74 , I will review it ASAP.

@vs74 this branch is missing information in the CHANGELOG.md file about the changes that were made (e.g. refactored the data augmentation to use Augmentations, cleaned notebooks, updated models, etc).

@vs74 were you required to generate new updated model files in this branch? AxonDeepSeg/models/default_SEM_model_v1/model.ckpt.data-00000-of-00001 is a hefty 22 MB, and we already have one copy of it in the repo.
And oddly, the TEM version of that file is 0 bytes - was it trained correctly? AxonDeepSeg/models/default_TEM_model_v1/model.ckpt.data-00000-of-00001

Since in the last meeting we diced to shift todice lossas loss function while training our network ,models have to retrained. As TEM model is concerned, I will cross verify and will update in this issue.

@vs74 this branch is missing information in the CHANGELOG.md file about the changes that were made (e.g. refactored the data augmentation to use Augmentations, cleaned notebooks, updated models, etc).

Resolved in commit (aa49404)

To resolve merging with master (which had conflicting trained model files from changes there and changes here), and in anticipation of #261, I resolved the conflicts during the merge by deleting the model files in commit 8c3a251. The tests will mostly fail now, until #261 is complete and merged into this branch.

@vs74 I'm trying to train a dataset using this branch, however I'm getting an error from the mask shape, see here:

WARNING:tensorflow:From /home/GRAMES.POLYMTL.CA/u097381/miniconda/envs/model_train/lib/python3.6/site-packages/tensorflow/python/framework/op_def_library.py:263: colocate_with (from tensorflow.python.framework.ops) is deprecated and will be removed in a future version.
Instructions for updating:
Colocations handled automatically by placer.
WARNING:tensorflow:From /home/GRAMES.POLYMTL.CA/u097381/miniconda/envs/model_train/lib/python3.6/site-packages/keras/backend/tensorflow_backend.py:3445: calling dropout (from tensorflow.python.ops.nn_ops) with keep_prob is deprecated and will be removed in a future version.
Instructions for updating:
Please use `rate` instead of `keep_prob`. Rate should be set to `rate = 1 - keep_prob`.
WARNING:tensorflow:From /home/GRAMES.POLYMTL.CA/u097381/miniconda/envs/model_train/lib/python3.6/site-packages/tensorflow/python/ops/math_ops.py:3066: to_int32 (from tensorflow.python.ops.math_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Use tf.cast instead.
WARNING:tensorflow:From /home/GRAMES.POLYMTL.CA/u097381/miniconda/envs/model_train/lib/python3.6/site-packages/tensorflow/python/ops/math_grad.py:102: div (from tensorflow.python.ops.math_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Deprecated in favor of operator or tf.math.divide.
Epoch 1/2000
 9/63 [===>..........................] - ETA: 19:19 - loss: 0.5188 - acc: 0.5108 - dice_axon: 0.3940 - dice_myelin: 0.4783
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-8-d7876a16e1e7> in <module>
      2 tf.reset_default_graph()
      3
----> 4 train_model(str(path_training), str(path_model), config)
      5 # Note: For multi-OS compatibility of this notebook, paths were defined as Path objects from the pathlib module.
      6 # They need to be converted into strings prior to be given as arguments to train_model(), as some old-style string

~/model_training/axondeepseg/AxonDeepSeg/train_network.py in train_model(path_trainingset, path_model, config, path_model_init, save_trainable, gpu, debug_mode, gpu_per)
    217     model.fit_generator(train_generator, validation_data=(valid_generator), steps_per_epoch=train_steps,
    218                         validation_steps=valid_steps,
--> 219                         epochs=epochs, callbacks=[tensorboard, checkpoint_loss, checkpoint_acc])
    220
    221     ########################## Save the model after Training ###########

~/miniconda/envs/model_train/lib/python3.6/site-packages/keras/legacy/interfaces.py in wrapper(*args, **kwargs)
     89                 warnings.warn('Update your `' + object_name + '` call to the ' +
     90                               'Keras 2 API: ' + signature, stacklevel=2)
---> 91             return func(*args, **kwargs)
     92         wrapper._original_function = func
     93         return wrapper

~/miniconda/envs/model_train/lib/python3.6/site-packages/keras/engine/training.py in fit_generator(self, generator, steps_per_epoch, epochs, verbose, callbacks, validation_data, validation_steps, class_weight, max_queue_size, workers, use_multiprocessing, shuffle, initial_epoch)
   1416             use_multiprocessing=use_multiprocessing,
   1417             shuffle=shuffle,
-> 1418             initial_epoch=initial_epoch)
   1419
   1420     @interfaces.legacy_generator_methods_support

~/miniconda/envs/model_train/lib/python3.6/site-packages/keras/engine/training_generator.py in fit_generator(model, generator, steps_per_epoch, epochs, verbose, callbacks, validation_data, validation_steps, class_weight, max_queue_size, workers, use_multiprocessing, shuffle, initial_epoch)
    179             batch_index = 0
    180             while steps_done < steps_per_epoch:
--> 181                 generator_output = next(output_generator)
    182
    183                 if not hasattr(generator_output, '__len__'):

~/miniconda/envs/model_train/lib/python3.6/site-packages/keras/utils/data_utils.py in get(self)
    599         except Exception as e:
    600             self.stop()
--> 601             six.reraise(*sys.exc_info())
    602
    603

~/miniconda/envs/model_train/lib/python3.6/site-packages/six.py in reraise(tp, value, tb)
    691             if value.__traceback__ is not tb:
    692                 raise value.with_traceback(tb)
--> 693             raise value
    694         finally:
    695             value = None

~/miniconda/envs/model_train/lib/python3.6/site-packages/keras/utils/data_utils.py in get(self)
    593         try:
    594             while self.is_running():
--> 595                 inputs = self.queue.get(block=True).get()
    596                 self.queue.task_done()
    597                 if inputs is not None:

~/miniconda/envs/model_train/lib/python3.6/multiprocessing/pool.py in get(self, timeout)
    642             return self._value
    643         else:
--> 644             raise self._value
    645
    646     def _set(self, i, obj):

~/miniconda/envs/model_train/lib/python3.6/multiprocessing/pool.py in worker(inqueue, outqueue, initializer, initargs, maxtasks, wrap_exception)
    117         job, i, func, args, kwds = task
    118         try:
--> 119             result = (True, func(*args, **kwds))
    120         except Exception as e:
    121             if wrap_exception and func is not _helper_reraises_exception:

~/miniconda/envs/model_train/lib/python3.6/site-packages/keras/utils/data_utils.py in get_index(uid, i)
    399         The value at index `i`.
    400     """
--> 401     return _SHARED_SEQUENCES[uid][i]
    402
    403

~/model_training/axondeepseg/AxonDeepSeg/data_management/input_data.py in __getitem__(self, index)
     67
     68         images = np.array(image)
---> 69         masks  = np.array(mask)
     70
     71         image_aug = []

ValueError: could not broadcast input array from shape (512,512,3) into shape (512)

Any insight on a quick fix?

I've uploaded the two notebooks I've used here : https://drive.google.com/drive/folders/1YTk9SpwrDySyErlQ1bm9ZWr3jJFj_qVT?usp=sharing
Run the guide_dataset_building_TEM one first, then the training one. The data is hosted on OSF, and should be downloaded and split automatically (that functionality is still a WIP, so it's writing within the script. Just run all the cells).

@vs74 I'm trying to train a dataset using this branch, however I'm getting an error from the mask shape, see here:
Any insight on a quick fix?

@mathieuboudreau, perhaps the error might be caused by the introduction of PR #246 into this branch. Can you try removing this PR from this branch and then retrain the model again? Though, to be fully certain of the exact cause of the error, I need some time and access to Rosenberg as mine has already expired ( until then can you try that option and let me know.

@vs74 That PR was an important one, as it overhauled all of the image reading/writing, so I think removing it wouldn't be quite simple in this branch and might break other things. As for debugging; my error happened happened within the first epoch, so this might be something you can test out on your local computer (it shouldn't take long to crash, no longer than an hour or so on your slower machine if my estimate is correct).

@mathieuboudreau, I tried reproduced the error encountered by you during training, however, during running the first script ( that is guide_dataset_building_TEM),  I faced an error. Here in the error.

NOTE : - The error was seen while running the second last cell of the notebook, all the other cells worked smoothly.

@vs74 Did you download the TEM data from OSF and run the guide_dataset_building.ipynb notebook to generate the patches?

@vs74 Did you download the TEM data from OSF and run the guide_dataset_building.ipynb notebook to generate the patches?

I just simply run all the cells in guide_dataset_building.ipynb and in the process TEM data was downloaded from OSF.

Ok, that should have worked bzcause it's whqt I did too. Let me try again. Have you looked to see which folder the patched data is in after running that script, and why ot may not be where the training was specified?
Télécharger Outlook pour Androidhttps://aka.ms/ghei36

From: Vasudev Sharma<EMAIL_ADDRESS>Sent: Tuesday, October 22, 2019 10:45:27 AM
To: neuropoly/axondeepseg<EMAIL_ADDRESS>Cc: Mathieu Boudreau<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [neuropoly/axondeepseg] Data augmentation(Keras) (#226)
@vs74https://github.com/vs74 Did you download the TEM data from OSF and run the guide_dataset_building.ipynb notebook to generate the patches?
I just simply run all the cells in guide_dataset_building.ipynb and in the process TEM data was downloaded from OSF.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/neuropoly/axondeepseg/pull/226?email_source=notifications&email_token=AAK25ZOPUYSLUZY5M6NN7DLQP34G7A5CNFSM4H4BAZR2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEB5V7JA#issuecomment-544956324, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAK25ZK6VC7FVCPBOMXSDI3QP34G7ANCNFSM4H4BAZRQ.

@vs74 commit 410ddda should have resolved the issue you had in running my scripts.

Re: original issue https://github.com/neuropoly/axondeepseg/pull/226#issuecomment-539763835, I'm starting to suspect that it may be specific to a certain mask file. Now sure why, but I'm noticing that the error is not happening at the same batch # (which are randomly generated) every time I run it. To be continued..

@vs74 I think I'm getting close to the source of the issue. My gut feeling is telling me that the problem is that in some instances, the batch of masks (e.g. 8 patches) contains one that does not have the same number of channels/mask values than all the others; for example, 7 of them might be images 512x512x3 (3 being the number of classes) and then one of them would be 512x512x4 (or 2, or whatever). So in that instance, when this line is called,
https://github.com/neuropoly/axondeepseg/blob/b670f5f252f27ca07aad19e893f9ee7fbffe7d75/AxonDeepSeg/data_management/input_data.py#L68
an error is thrown, because np.array can't convert a list of arrays if their dimensions don't all match.
I suspect that (part) of the cause of the culprit is this function:
https://github.com/neuropoly/axondeepseg/blob/b670f5f252f27ca07aad19e893f9ee7fbffe7d75/AxonDeepSeg/data_management/input_data.py#L68
Which 1- doesn't have unit tests written for it so I can't be sure this function works well for all use cases (coverage still passes because other functions use it, but that may not be sufficient), and 2- uses odd threshold indices; I expected [0, 128, 255], but you're using [0, 0.2, 0.8]:
https://github.com/neuropoly/axondeepseg/blob/b670f5f252f27ca07aad19e893f9ee7fbffe7d75/AxonDeepSeg/data_management/input_data.py#L13
So overall, I think this may not be (directly) related to the single channel PR change you did in #246, but may be moreso a bug that was discovered using this large dataset, which may contain a usecase that's not handled well.

Actually by looking at the history, the [0, 0.2, 0.8] thresholds appear to be the way we've always done it (some lines are two years old), so I think we can eliminate that from a potential source.

@vs74 I think I'm getting close to the source of the issue. My gut feeling is telling me that the problem is that in some instances, the batch of masks (e.g. 8 patches) contains one that does not have the same number of channels/mask values than all the others; for example, 7 of them might be images 512x512x3 (3 being the number of classes) and then one of them would be 512x512x4 (or 2, or whatever). So in that instance, when this line is called,
https://github.com/neuropoly/axondeepseg/blob/b670f5f252f27ca07aad19e893f9ee7fbffe7d75/AxonDeepSeg/data_management/input_data.py#L68
an error is thrown, because np.array can't convert a list of arrays if their dimensions don't all match.
I suspect that (part) of the cause of the culprit is this function:
https://github.com/neuropoly/axondeepseg/blob/b670f5f252f27ca07aad19e893f9ee7fbffe7d75/AxonDeepSeg/data_management/input_data.py#L68
Which 1- doesn't have unit tests written for it so I can't be sure this function works well for all use cases (coverage still passes because other functions use it, but that may not be sufficient), and 2- uses odd threshold indices; I expected [0, 128, 255], but you're using [0, 0.2, 0.8]:
https://github.com/neuropoly/axondeepseg/blob/b670f5f252f27ca07aad19e893f9ee7fbffe7d75/AxonDeepSeg/data_management/input_data.py#L13
So overall, I think this may not be (directly) related to the single channel PR change you did in #246, but may be moreso a bug that was discovered using this large dataset, which may contain a usecase that's not handled well.

@mathieuboudreau, The only role of mask = np.array(mask) is to just convert array object into NumPy array object, so the main cause might be attributed to thresholding. One question, did you check manually if any one of mask say for instance had a shape (512,512,4) or any other dimension except the last one being 3 ( The only reason I am asking is  that I don't think it would any channel except from 3, actually the thresholding [0, 0.2, 0.8] is ought to divide the single channel mask into 3 channel mask)?

@vs74 I think I'm getting close to the source of the issue. My gut feeling is telling me that the problem is that in some instances, the batch of masks (e.g. 8 patches) contains one that does not have the same number of channels/mask values than all the others; for example, 7 of them might be images 512x512x3 (3 being the number of classes) and then one of them would be 512x512x4 (or 2, or whatever). So in that instance, when this line is called,
https://github.com/neuropoly/axondeepseg/blob/b670f5f252f27ca07aad19e893f9ee7fbffe7d75/AxonDeepSeg/data_management/input_data.py#L68
an error is thrown, because np.array can't convert a list of arrays if their dimensions don't all match.
I suspect that (part) of the cause of the culprit is this function:
https://github.com/neuropoly/axondeepseg/blob/b670f5f252f27ca07aad19e893f9ee7fbffe7d75/AxonDeepSeg/data_management/input_data.py#L68
Which 1- doesn't have unit tests written for it so I can't be sure this function works well for all use cases (coverage still passes because other functions use it, but that may not be sufficient), and 2- uses odd threshold indices; I expected [0, 128, 255], but you're using [0, 0.2, 0.8]:
https://github.com/neuropoly/axondeepseg/blob/b670f5f252f27ca07aad19e893f9ee7fbffe7d75/AxonDeepSeg/data_management/input_data.py#L13
So overall, I think this may not be (directly) related to the single channel PR change you did in #246, but may be moreso a bug that was discovered using this large dataset, which may contain a usecase that's not handled well.

For your question related to thresholding using indices [0, 0.2, 0.8] not [0, 128, 255] - actually there is no need of that because in the code of thresholding we are multiplying the threshold  indice values by 255. For more information you can see the source code here

@vs74 So looks like you're right, that's not directly the issue. All images in the patch were the same size:

I'm really perplexed as to why this error would be thrown then, as the variable masks is undeclared beforehand in that function,
https://github.com/neuropoly/axondeepseg/blob/410ddda295d7b32b051dd411f0caf9f6fe10082d/AxonDeepSeg/data_management/input_data.py#L53-L69
...unless it's surviving out of scope somehow from another function. Maybe initialising it to be empty masks=[] at the beginning will resolve the issue.

@vs74 So looks like you're right, that's not directly the issue. All images in the patch were the same size:

I'm really perplexed as to why this error would be thrown then, as the variable masks is undeclared beforehand in that function,
https://github.com/neuropoly/axondeepseg/blob/410ddda295d7b32b051dd411f0caf9f6fe10082d/AxonDeepSeg/data_management/input_data.py#L53-L69
...unless it's surviving out of scope somehow from another function. Maybe initialising it to be empty masks=[] at the beginning will resolve the issue.

@mathieuboudreau, I don't feel initialising masks = [] will resolve the error. I will personally try looking into this error by following your latest commit in this branch.

Ha, cool, the branch does pass now. The training issue is still here, but that's progress nonetheless.

Ahh... I think figured out the problem. Actually, I also mentioned this in one of the meetings, that is while doing patching some the images were having different dimension than expected. For example one of mask in Grouped_patches/Train is having dimension 511 X 512 but the dimension should have been 512 X 512. Here is the mask image (mask_273 ) having this dimension: -

The problem lies in the in patching script that is why training script was not able to handle this use case.

There are 2 solutions to this problem

First to fix the source of the problem that is patching script
To handle this case in training script wherein the missing pixel value can be fixed
What do you think @jcohenadad, @mathieuboudreau  ?

There are 2 solutions to this problem

First to fix the source of the problem that is patching script
To handle this use case in training script wherein the missing pixel value can be fixed
What do you think @jcohenadad, @mathieuboudreau  ?

generally speaking i am always more enthusiastic when it comes to fixing the source of problems ;-)

Huh! Interesting. We should definitely fix it at the source, and figure out why this was happening. What we could do is write an assertion check when patching to ensure that all images have the expected dimension, and see when it crashes & debug that one. I'm wondering if this is a data corruption issue or a code issue.

Ok so I looked into it, and found that it was only one image that was causing the issue.
20160718_nyu_mouse_26_0004
For this image, two patches were 512x511, and only from masks (the matching image patches did not have that mismatch).
The root cause of this is because the raw image and raw mask have a dimension mismatch (image: 3762 × 2286, mask: 3760 × 2284), which should never be the case and is not something we should handle (i.e. images and masks must always have the same dimensions!!). The issue was originating from the fact that only the size of the image is used in planning the patch position for both the image and the mask (in this function).
The solution to this is to either remove this image from the dataset, or create a new mask such that it matches the image size. The fix for issue #273 is to assert the size of images match the size of masks, and if they don't, throw an exception and inform the user that they should either throw this data away or fix it.
Thanks for finding the 512x511 issue @vs74, that put us on the right track!

I removed the dataset 20160718_nyu_mouse_26_0004 from the OSF zipped file, and training now works without any issues.
@vs74 is there anything else that needs to be done in this branch before we can start reviewing again?

@mathieuboudreau, one last thing needs to be done that is in OSF, till now I haven't updated model's file with the commit number, which establishes compatibility with the repo as discussed in one of our meetings. Apart from it, everything seems ok to me. Maybe you can start reviewing and in the meanwhile I will update this above mentioned change in OSF storage

I am currently retraining the model for TEM, and if that works well, will do SEM after. So maybe hold off for the OSF commit change until the new models are up there.

Since the introduction of latest commit in the master branch, this PR has failed. @mathieuboudreau any idea what might be the probable cause ?

Earlier images in input_data.py script was being read by cv2, but since now images are now being read by ads_utils.imread(). For training the network the albumentations library was using the cv2. Introduction of recent commit removed the import of cv2 from the train_network.py script. Hence, the necessary import was required. I hope this will solve travis failure.

Good catch @vs74 ! Yes I had removed the cv2 import because of the recent image i/o changes, but didn't know that you still used CV2 in some places for other functionalities.

@mathieuboudreau, is the SEM model trained ? Just want to know, as the OSF update is pending for this PR to be complete.

Not yet - sorry about the delay. I'll get that done and the full TEM one ASAP.

The latest commit had caused the PR build to fail. Any clue ?

@vs74 looks like it's a timeout on the Travis side, it just needs a reset. For some reason though, I can't access that option at the moment, I'm looking into it.

@vs74 I've uploaded the trained models. They were trained on commit b05a40aa03979a83313fe8704ee389672ed26ed7 . Please change it wherever needed, and we'll review the branch.

Thanks @mathieuboudreau, I will make the necessary changes.

As discussed, to keep our OSF model with the ADS, README.txt should be included under the respective model ( SEM and TEM ).
Here, I have included a rough draft of README.txt which details following things : -

ADS Git Hashtag section to specify the Git commit on which new models files were trained.
Saving (OSF)  which includes the OSF zip version number  and the directory structure under which the models are saved in OSF storage.
"Steps to train SEM/TEM model" which describes the reproducibility of the model files (SEM or TEM ).
A NOTE section explaining the necessary changes which are reuquired to make in OSF storage, Readme.txt, ADS software for contributors / collaborators, just in case they want to upload a improved / new model.

Here is the screenshot of README.txt describing above details : -

What do you think @jcohenadad  and @mathieuboudreau ?

@vs74 i have a few modifications to suggest, which is difficult to do on this screenshot. How about adding to this GH repository a txt template that people would use whenever they create a new model, and we would instruct how to use this template in this wiki.

Sorry for the delay. That seems perfect to me. So just one question, is the txt template you are mentioning about would be in the WIKI pages or in the OSF storage ? Also, I have created a Wiki page instructing on how to update model files on the repo and OSF storage, feel free to edit by referring here

I have updated the instruction on WIKI for the template here and how to update model files, visit here. Kindly feel free to suggest any changes. Once the changes for the template are finalised, I will upload the template along with model files in the OSF storage, thereafter this PR will be ready for review.

I have updated the instruction on WIKI for the template here and how to update model files, visit here. Kindly feel free to suggest any changes. Once the changes for the template are finalised, I will upload the template along with model files in the OSF storage, thereafter this PR will be ready for review.

@vs74 is this PR ready for review?

@mathieuboudreau, One last thing is left that is template for the readme.txt needs to be decided upon as I am having some reservations. Once that done, this branch is ready for review.

Also, can you make the necessary changes in your PR so that we can merge that one before reviewing and merging this branch.

Finally this PR is ready for review. But before merging we should first merge https://github.com/neuropoly/axondeepseg/pull/275 as in oder to solve #278, the necessary changes from @Stoyan-I-A PR needs to be merged first.

Finally this PR is ready for review. But before merging we should first merge #275 as in oder to solve #278, the necessary changes from @Stoyan-I-A PR needs to be merged first.

@vs74 #275 was merged, so now we should be able to solve #278 for this branch.

Finally this PR is ready for review. But before merging we should first merge #275 as in oder to solve #278, the necessary changes from @Stoyan-I-A PR needs to be merged first.

@vs74 #275 was merged, so now we should be able to solve #278 for this branch.

Thanks @mathieuboudreau for reviewing an merging that branch, now my PR is ready to be merged.

I’ve reviewed the Jupyter notebooks of the PR.
In getting_started.ipynb, section 1.2: _v1 is still in the model_name. My understanding is that with this PR, the model will be downloaded from OSF instead of being in the models folder by default. If that is the case, shouldn’t we add the download step in the getting started notebook?
In morphometrics_extraction.ipynb, section 7: I would add a comment explaining what this cell does.

Thanks @mathieuboudreau for reviewing and merging that branch, now my PR is ready to be merged.

One unresolved comment is this one: https://github.com/neuropoly/axondeepseg/pull/226#discussion_r386137758
We need to decide on how to tackle this issue, because I'm concerned that using the Gaussian/Elastic data augmentation steps might negatively impact the training if there is no option for nearest neighbour interpolation. That means that after using these data augmentations, the data will be trained on masks with smooth edges (all numbers between 0 and 255), instead of three classes (myelin=127, axon=255, background=0).

We need to decide on how to tackle this issue, because I'm concerned that using the Gaussian/Elastic data augmentation steps might negatively impact the training if there is no option for nearest neighbour interpolation. That means that after using these data augmentations, the data will be trained on masks with smooth edges (all numbers between 0 and 255), instead of three classes (myelin=127, axon=255, background=0).

how about we raise a NotImplementedError if users want to use it, and we open a specific issue for it?

I’ve reviewed the Jupyter notebooks of the PR.
In getting_started.ipynb, section 1.2: _v1 is still in the model_name. My understanding is that with this PR, the model will be downloaded from OSF instead of being in the models folder by default. If that is the case, shouldn’t we add the download step in the getting started notebook?
In morphometrics_extraction.ipynb, section 7: I would add a comment explaining what this cell does.

Thanks @mariehbourget  for pointing out the '_v1' under models name in the Jupyter notebooks. I have updated them in the latest commit. To your first question, the models will be downloaded from OSF and will be saved under the models directory. But for correct installation of models  a user must run pip install -e . after cloning the repository, so there is no need to add download step in getting_started.ipynb.
However, I think that some instructions on pip install -e . in getting_started.ipynb needs to added, just in case a user doesn't run the command,  I will do that.

Sure - we'll also have to turn those options off in the training guidelines notebooks, and possibly some unit tests. We'll also need to retrain the model, since the previous model was trained with elastic data augmentation on, so likely contains this issue (which although likely minor, will still impact performance).

However, I think that some instructions on pip install -e . in getting_started.ipynb needs to added, just in case a user doesn't run the command, I will do that.

No need to tell the user to do pip install -e . in that notebook, they should have already done that. All I would add is a link to our ReadTheDocs documentation for full instructions (because if they did pip install, they likely also didn't create a virtual environment in conda, etc.)

However, I think that some instructions on pip install -e . in getting_started.ipynb needs to added, just in case a user doesn't run the command, I will do that.

No need to tell the user to do pip install -e . in that notebook, they should have already done that. All I would add is a link to our ReadTheDocs documentation for full instructions (because if they didn't do pip install, they likely also didn't create a virtual environment in conda, etc.)

Done in commit (4fab2ce)

@mathieuboudreau we can force interpolation type with ElasticTransform, more info:
https://albumentations.readthedocs.io/en/latest/api/augmentations.html#albumentations.augmentations.transforms.ElasticTransform

@mathieuboudreau we can force interpolation type with ElasticTransform, more info:
https://albumentations.readthedocs.io/en/latest/api/augmentations.html#albumentations.augmentations.transforms.ElasticTransform

Implemented in commit(dae4a1d)

@mathieuboudreau, is this PR reviewed ?

@mathieuboudreau , shall we merge this PR, if it is reviewed ?

@mathieuboudreau , shall we merge this PR, if it is reviewed ?

@vs74 I'll do one final pass tomorrow (Thursday), and retest the functionality hands on. If there's only minor issues, I'll open them as new separate issues so we can work on them individually.


Provide a cc_grpc_library() Skylark extension

Bazel users can now build protos using the built-in proto_library and {cc,java,javalite}_proto_library rules.
These rules do not include gRPC support intentionally; this FR is about providing a Skylark extension to allow users to build gRPC bindings.
@nicolasnoble

Any update on this? I see a cc_grpc_library.bzl file under the bazel folder but IIRC it fails to work properly with external dependencies. I think using the same tricks as in jave_grpc_library should resolve the issues and lead to a usable cc_grpc_library rule. At least I had success with the version below in several scenarios (simple local example, well known protos, googleapis, etc.). Am I missing something or is this all it's needed?
"""Generates and compiles C++ grpc stubs from proto_library rules."""

def _path_ignoring_repository(f):
  if (len(f.owner.workspace_root) == 0):
    return f.short_path
  return f.path[len(f.owner.workspace_root)+1:]

def generate_cc_impl(ctx):
  """Implementation of the generate_cc rule."""
  protos = [f for src in ctx.attr.srcs for f in src.proto.direct_sources]
  includes = [f for src in ctx.attr.srcs for f in src.proto.transitive_imports]
  # label_len is length of the path from WORKSPACE root to the location of this build file
  label_len = len(ctx.label.package) + 1
  if (label_len == 1):
    label_len = 0
  outs = []
  outs += [_path_ignoring_repository(proto)[label_len:-len(".proto")] + ".grpc.pb.h" for proto in protos]
  outs += [_path_ignoring_repository(proto)[label_len:-len(".proto")] + ".grpc.pb.cc" for proto in protos]
  out_files = [ctx.new_file(out) for out in outs]
  out_path = protos[0].path[:-len(_path_ignoring_repository(protos[0]))]
  dir_out = str(ctx.genfiles_dir.path) + "/" + out_path

  arguments = []
  arguments += ["--plugin=protoc-gen-PLUGIN=" + ctx.executable.plugin.path]
  flags = list(ctx.attr.flags)
  arguments += ["--PLUGIN_out=" + ",".join(flags) + ":" + dir_out]
  additional_input = [ctx.executable.plugin]
  arguments += ["-I{0}={1}".format(_path_ignoring_repository(include), include.path) for include in includes]
  arguments += [proto.path for proto in protos]

  ctx.action(
      inputs = protos + includes + additional_input,
      outputs = out_files,
      executable = ctx.executable._protoc,
      arguments = arguments,
  )

  return struct(files=set(out_files))

generate_cc = rule(
    attrs = {
        "srcs": attr.label_list(
            mandatory = True,
            non_empty = True,
            providers = ["proto"],
        ),
        "plugin": attr.label(
            executable = True,
            providers = ["files_to_run"],
            cfg = "host",
        ),
        "flags": attr.string_list(
            mandatory = False,
            allow_empty = True,
        ),
        "well_known_protos" : attr.label(
            mandatory = False,
        ),
        "generate_mock" : attr.bool(
            default = False,
            mandatory = False,
        ),
        "_protoc": attr.label(
            default = Label("//external:protocol_compiler"),
            executable = True,
            cfg = "host",
        ),
    },
    # We generate .h files, so we need to output to genfiles.
    output_to_genfiles = True,
    implementation = generate_cc_impl,
)

def cc_grpc_library(name, deps):
  """Generates C++ grpc classes."""
  if len(deps) != 1:
    fail("Exactly one deps value supported", "deps")

  cc_proto_target = "_" + name + "_cc"
  codegen_grpc_target = "_" + name + "_grpc_codegen"

  native.cc_proto_library(
    name = cc_proto_target,
    deps = deps,
  )

  plugin = "//external:grpc_cpp_plugin"

  generate_cc(
      name = codegen_grpc_target,
      srcs = deps,
      plugin = plugin,
  )

  grpc_deps = ["//external:grpc++", "//external:grpc++_codegen_proto",
               "//external:protobuf"]

  native.cc_library(
      name = name,
      srcs = [":" + codegen_grpc_target,],
      hdrs = [":" + codegen_grpc_target, ],
      deps = [":" + cc_proto_target] + grpc_deps,
  )

For everyone who end-up here wondering why bazel rule for gRPC cc does not work: use
https://github.com/pubref/rules_protobuf for the win.

Is there any ETA on this? Should we use other custom rules?

@junghoahnsc @Vizerai @dionescu @cgrushko There is now a cc_grpc_library rule: https://github.com/grpc/grpc/blob/master/bazel/cc_grpc_library.bzl. I've used it myself and it works fine 👍


docker in docker not working after upgrading nodes to 1.14

What happened:
We use jenkins to build image and push to ECR which uses underlying docker so we mount /var/run/docker.sock in Kubernetes plugin configuration in jenkins. It works fine till now but broke after upgrading needs to 1.14 which affects our CI builds.
What you expected to happen:
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?:
Environment:

AWS Region:
Instance Type(s):
EKS Platform version (use aws eks describe-cluster --name <name> --query cluster.platformVersion):"eks.1"
Kubernetes version (use aws eks describe-cluster --name <name> --query cluster.version):"1.14"
AMI Version:AMI ID
amazon-eks-node-1.14-v20190906 (ami-08739803f18dcc019)
Kernel (e.g. uname -a):Linux 4.14.138-114.102.amzn2.x86_64 #1 SMP Thu Aug 15 15:29:58 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Release information (run cat /etc/eks/release on a node):NAME="Amazon Linux"
VERSION="2"
ID="amzn"
ID_LIKE="centos rhel fedora"
VERSION_ID="2"
PRETTY_NAME="Amazon Linux 2"
ANSI_COLOR="0;33"
CPE_NAME="cpe:2.3:o:amazon:amazon_linux:2"
HOME_URL="https://amazonlinux.com/"

Hi, are u updating an existing old cluster to 1.14?
There should be an podSecurityPolicy for run Privileged pods in 1.14(https://kubernetes.io/docs/concepts/policy/pod-security-policy/#privileged)

we updated existing clusters to 1.14 and after adding this
spec:
securityContext:
fsGroup: dockergid
it started working back again.

I would rather use Kaniko or something similar on Kubernetes instead of Docker for building OCI Images, we use Kaniko in our CI on Kubernetes happily, without any issues: https://banzaicloud.com/blog/unprivileged-builds/

@yrsurya
I'll resolve this TT since it's 1.14 behavior change instead of worker ami
Feel free to reopen if the statement isn't correct :D


[Do not merge]Add documentation on Hiding Sensitive Information

This PR needs updates after the introduction of the Statement Editor.

This PR needs updates after the introduction of the Statement Editor.


Automated Splunk TA Update 98

This PR contains updates to Splunk TAs made by GitHub Actions workflow.

Closed in favor of duplicate PR https://github.com/splunk/security_content/pull/3220


add reddit icon

Reddit icon! Let me know if there is anything to change. I know you are planning on making a separate repository for icons, so I am just trying to create the most common ones I can think of.

No Problem! 😄

Hey @KeevanDance, make sure to merge the latest version of the develop branch so that our CI will run the required checks for this PR. 😉

@trezy I will try and get around to it this weekend! Also, would you prefer I submit the code to the other repository? or?

@keevanDance you dont have to anymore, I merged develop to your PR’s branch 🙌🏼

@evexoio TYSM <3

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Taskboard for status of S6 / basic gameplay features to be implemented

I noticed Progress.md shows the list of implemented and ongoing features.
I'd like to confirm if this md page is always updated... (Or sync"d with the feature branches).
I think it would be better (for tracking purposes) if there a taskboard similar to Version 0.97d Support
Taskboard for those planning to help out. Then assign the feature branch to the specific task unit.
I'd like to help too but I'm still studying the source code (AND C# >.<).
Now, I can only do some tests in-game. (but it's random since I don't know which are working/implemented or not...)
Thanks!

Yes I think it’s currently in sync because I didn’t add game features for a while.
I’ll try to add a project board when I get time.

I think I have it now - just lacking some details, ofc


Add docker scripts and just shim

Description

This PR adds two docker scripts, docker:build and docker:run, to the pnpm package.json config. I've also replaced the uses of those docker commands in the README with the associated pnpm command.
I've also added a justfile to this repo so just can be used in lieu of pnpm. Since we use just for our other projects, this can help make the workflow similar to our other projects!
Testing Instructions

Run the following:

just
just run docker:build
just run docker:run

Checklist

[x] My pull request has a descriptive title (not a vague title like Update index.md).
[x] My pull request targets the default branch of the repository (main) or a parent feature branch.
[x] My commit messages follow best practices.
[x] My code follows the established code style of the repository.
[ ] I added or updated tests for the changes I made (if applicable).
[x] I added or updated documentation (if applicable).
[x] I tried running the project locally and verified that there are no visible errors.

Developer Certificate of Origin

Developer Certificate of Origin
Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
1 Letterman Drive
Suite D4700
San Francisco, CA, 94129

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.

I'm not so sure about just but I appreciate the cross-repo consistency and I don't mind it because pnpm run continues to work.

I find my muscle memory is so strong that every time I come to work on something on the frontend I'm always so surprised I can't use any of my j shortcuts 😅 The consistency is great for me since I use pnpm so infrequently!


Updated navlinks to anchors

Fix #662 while preserving styles

Pull Request Test Coverage Report for Build 1965

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

Totals

Change from base Build 1962:
0.0%

Covered Lines:
1424

Relevant Lines:
4439

💛  - Coveralls


Release using GitHub actions

This adds a workflow for pushing to PyPI.

@coordt Would you mind rechecking this? I went through several different iterations of this while testing, some of which included changes not intended for merging into master (like deleting the entire test workflow for a little while :laughing:), and I'd like to get a second pair of eyes to confirm that I didn't leave in a bad change.

Hopefully I can trust myself 3 days later to ensure nothing untoward snuck in here :smile: I'll merge now to prepare for a final release tomorrow.


Code cleanup in container runtime around refresh from summary logic

Cleaned up the following from container runtime. These were leftovers from the logic to update the latest summary by downloading a snapshot. The PR that changed the logic - https://github.com/microsoft/FluidFramework/pull/17185.
Before the above PR, when refreshLatestAck summary option was true, the latest snapshot was downloaded and the latest summary state was updated from that. After the above PR, we never update the latest summary state from a snapshot, instead we close the summarizer in this scenario.

latestSnapshotVersionId is no longer used in submitSummary and has been removed.
In refreshLatestSummaryAck, if a snapshot is fetched and is not the latest, a data processing error is thrown. However, this is no longer needed because the summarizer is closed in this scenario anyway. The snapshot fetch is just an optimization and throwing an error is redundant.

@agarwal-navin can you share the context or previous PR that removed the dependency on latestSnapshotVersionId? I see in this PR we are removing quite a bit of code that specifically handled the scenarios explained in the annotations; so for my own knowledge, want to understand how those scenarios are handled now

@agarwal-navin can you share the context or previous PR that removed the dependency on latestSnapshotVersionId? I see in this PR we are removing quite a bit of code that specifically handled the scenarios explained in the annotations; so for my own knowledge, want to understand how those scenarios are handled now

Here's the PR that changed the logic - https://github.com/microsoft/FluidFramework/pull/17185. I also updated the description with this information.


Support H2 2.0.202

System information:

DBeaver version: Version <IP_ADDRESS>111011413

Connection specification:

Database name and version: com.h2database:h2:2.0.202

Describe the problem you're observing:
The H2 database has drastically changed their INFORMATION_SCHEMA to be more standards compliant. Unfortunately, this means a variety of functionality in DBeaver may no longer work correctly.
Steps to reproduce, if exist:
For example, click on Procedures in the connection's menu and you get:
Table "FUNCTION_ALIASES" not found; SQL statement:
SELECT * FROM INFORMATION_SCHEMA.FUNCTION_ALIASES WHERE ALIAS_SCHEMA = ? [42102-202]

There may be other things, which I haven't checked. If you ever query the INFORMATION_SCHEMA directly, just check if those queries still work...

Thanks for the idea @lukaseder

verified


upgrade idea

any chance of adding some logos like Motorola and or Nokia

I'm not interested in non-functional aesthetic upgrades.
Source code is available, fell free to implement whatever you want.
A function you may want to look into first is:
https://github.com/egzumer/uv-k5-firmware-custom/blob/main/ui/welcome.c#L42


Namespacing / Scoping in initialization needs to be more specific

When downloading the SLDS archive you now need to specify the namespace (scope). It no longer defaults to SLDS.
in the initialization of your plugin you only allow true or false for the scoped parameter.
I think it would be great if you could specify the scoped namespace so you do not have to use slds.
For example:
<script>
    $.aljsInit({
        assetsLocation: assetsLocation,
        scoped: true,
        namespace: "aljs"
    });
</script>

This is actually something we have coming in a future minor release. We have a property called scopingClass that aligns with SLDS's scoping tool (see https://tools.lightningdesignsystem.com/css-customizer).
We had this as a backlog item in our 3.0.0 major release since we prioritized updating all plugins to work with the SLDS winter release. Rest assured this feature is coming, so stay tuned!


Update tested by section

Adding my name to the tested by section
Signed-off-by: Patrick Hession<EMAIL_ADDRESS>
Description

Breaking change

Type of change

[ ] Bug fix (non-breaking change that fixes an issue)
[ ] New feature (non-breaking change that adds new functionality)
[ ] Breaking change (bug fix or new feature that breaks existing functionality)
[ ] Third-party dependency update
[x] Documentation additions or improvements
[x] Code quality improvements to existing code or test additions/updates

Applicable issues

This change fixes an issue: #
This change is related to an issue: #

CORTX image version requirements

This change requires the following images:

cortx-data:<version>
cortx-rgw:<version>
cortx-control:<version>

How was this tested?

Additional information

Checklist

[x] The change is tested and works locally.
[ ] New or changed settings in the solution YAML are documented clearly in the README.md file.
[x] All commits are signed off and are in agreement with the CORTX Community DCO and CLA policy.

If this change requires newer CORTX or third party image versions:

[ ] The image fields in solution.example.yaml have been updated to use the required versions.
[ ] The appVersion field of the Helm chart has been updated to use the new CORTX version.

If this change addresses a CORTX Jira issue:

[ ] The title of the PR starts with the issue ID (e.g. CORTX-XXXXX:)

View rendered doc/cortx-minikube-k8s-installation.md

@hessio , looks good, but please add a comment in the PR description saying what you are doing.  (I know it's pretty clear, but we want to have consistency in our PR submissions, especially as members of other teams contribute more.)

@walterlopatka can you please review this PR?

Seems like the instructions should also be updated along with these "tested by" updates?
Still shows using an older version.
git clone -b v0.0.22 https://github.com/Seagate/cortx-k8s
cd cortx-k8s/k8_cortx_cloud/

Oh I see - I think I used this branch of k8s repo so then I didn't use the most up to date version @keithpine ?

Closing as an obsolete


s3 block adapter: enable skip verify certificate of storage endpoint

I am puzzled by this feature. Enabling it explicitly violates the documentation of the crypto/tls package

It is for testing / local development when the storage endpoint uses https with self signed certificate.

Will have more information on an associated issue to describe the use-case

Updated the configuration and parameter name to include 'test only'.


Error Pull Branch odata_cds

Hi @oblomov-dev,
i receive a error after Pull.

On-Prem 2021 SP2
Best Regards
Thomas

ah that's a pity. i generated everything on btp abap environment and hoped it will also work on-premise.
You can try the following:
(1) copy and paste the cds view+abap class manually
(2) generate & activate the service for the cds view in transaction /iwfnd/maint_service
(if possible generate everything in a single package and send it via abapGit as a PR)
Besides that the rest of this approach should work as expected.
best regards.

I generate and activate the service.

How do I then configure the Fiori Launchpad on Prem?
Best Regards
Thomas

nice next you have to deploy the ui5 to your backend system. use the branch ui5_app for this and choose your new odata endpoint as the backend model.

@Th0masMa
Updated the project again for a better structure and understanding.
This repository focuses now on SAP Fiori Launchpad Integration On-Premise only and it is installable with abapGit.
The main branch contains the segw odata service and an ui5 app and should work out-of-the-box.

Hi @oblomov-dev ,
both objects can not imported.

I think it is fine, had the same issues sometimes. Go to sicf and check if there are three nodes when you search for zui5
Then start the ui5 app and see if it works.

Updated the documentation, maybe this also helps:
https://github.com/abap2UI5/abap2UI5-documentation/blob/main/docs/ext-fiori_launchpad_integration/installation.md

i have more Entries in SICF. What do I do with these?

After Adding Systemalias

Test Service again
<error xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
005056A509B11EE1B9A8FEC11C21D78E
<message xml:lang="de">Ressource für Segment 'z2ui5_odata_srv' nicht gefunden</message>
<innererror xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
<transactionid>A32A800593A800C0E0064ABF4D02E57A</transactionid>
<timestamp>20230806083419.3541050</timestamp>
<Error_Resolution>
<SAP_Transaction>For backend administrators: use ADT feed reader "SAP Gateway Error Log" or run transaction /IWFND/ERROR_LOG on SAP Gateway hub system and search for entries with the timestamp above for more details</SAP_Transaction>
<SAP_Note>See SAP Note 1797736 for error analysis (https://service.sap.com/sap/support/notes/1797736)</SAP_Note>
</Error_Resolution>
</innererror>
</error>

TR /IWFND/ERROR_LOG

If i test it in TR /iwfnd/maint_service

If there are more services, maybe they are accidentally still there because of former installations? Everything with abap2ui5 besides the three nodes i showed in the documentation, you can delete.
OK so in /iwfnd/maint_service the respoonse looks correct, only when you start it in the browser it is not. So it seems more a problem with your gateway configuration.
Do you use any other OData services in this systems? Can you check if you have the same problem there and if not try to use the similar alias configuration you use in the working odata service.

I found the error. The service was on the wrong position.


Can the pre-trained model of the teacher network 'teacher_small.pth' be trained by myself？

I think the teacher_small.pth is given by the author. We need to use efficientAd file to train student and autoencoder.

Ok, thanks.

I think the teacher_small.pth is given by the author. We need to use efficientAd file to train student and autoencoder.

I found it in 'pretraining.py'. It can train the model of 'teacher_small.pth'.

How were you to evaluate following pre-training?

I think the teacher_small.pth is given by the author. We need to use efficientAd file to train student and autoencoder.

I found it in 'pretraining.py'. It can train the model of 'teacher_small.pth'.

How were you to evaluate following pre-training?


(PUP-4789) Make hiera_include function call include in calling scope

Before this, the hiera_include function would call the include function
with its closure scope instead of the calling scope. This caused the
include function to not understand in which class the include was made,
and variable scoping would be wrong - not seeing variables in node
scope.
The hiera 4.x functions already received the calling scope, but did not
pass it on to the post processing method, that in hiera_include's case
performs the call to the include function.

CLA signed by all contributors.


Enable the sensitive content flag and cleanup

Fixes

Fixes #3142 by @dhruvkb
Description

This PR enables the 'sensitive_content' feature flag by deleting the flag and ensuring all usages of the flag evaluate to true.
Testing Instructions

Check out the PR and run the dev server.
Ensure that all features behind this flag are generally accessible.

Checklist

[x] My pull request has a descriptive title (not a vague title likeUpdate index.md).
[x] My pull request targets the default branch of the repository (main) or a parent feature branch.
[x] My commit messages follow best practices.
[x] My code follows the established code style of the repository.
[x] I added or updated tests for the changes I made (if applicable).
[x] I added or updated documentation (if applicable).
[x] I tried running the project locally and verified that there are no visible errors.
[ ] I ran the DAG documentation generator (if applicable).

Developer Certificate of Origin

Developer Certificate of Origin
Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
1 Letterman Drive
Suite D4700
San Francisco, CA, 94129

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.

I think that flag would be useful during development because it allows us to work on sensitivity features without exposing us to real sensitive content.

Merging this PR. The next prod deployment of the frontend will enable this feature in production!


rebuild with latest package builds

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


ApiClient exceptions should clear caches

The find_api_resource and client_for_resource methods will raise K8s::Error::UndefinedResource when something is not found. The collections are cached indefinitely, so the error will be raised until a new client instance is created, even if the resource becomes available.
If the cache was cleared before raising the exception, then the user could do something like:
begin
  client.find_api_resource(xyz)
rescue K8s::Error::UndefinedResource
  sleep 2
  retry
end

(wrong button)


Feature Toggle

Hi :wave:. I like so many things about this extension, but there are also a couple of things I'd rather disable. For instance, it makes a lot of sense for someone like you, @sindresorhus, to "hide other users starring/forking your repos from the newsfeed", but I would rather see that info in my newsfeed.
Would you consider adding or accepting a pull request for a feature toggle interface?

See #10.

but there are also a couple of things I'd rather disable.

Now imagine every user have something different they want to disable. Introducing feature toggle is a slippery slope to having to feature toggle everything.
Creating great products is about saying no to thousands of things.

"hide other users starring/forking your repos from the newsfeed", but I would rather see that info in my newsfeed.

For what purpose? IMHO the stars news items is just a useless ego-boost with no actual value. Try using this plugin for a week and see how little you actually need that info.

Just use your own fork if you strongly disagree.


CVE | Version bump Microsoft.IdentityModel.JsonWebTokens to 6.34.0

Microsoft Security Advisory CVE-2024-21319: .NET Denial of Service Vulnerability
Extra link: CVE-2024-21319

Hope you plan to backport to 5.1.x 🙏

Hope you plan to backport to 5.1.x 🙏

Will add it to the next hotfix list.

There is new version 6.35 of Microsoft.IdentityModel.JsonWebTokens, released yesterday.


base uri

Hi anyone, why base uri declare like:
base_uri 'https://fcm.googleapis.com/fcm'
not:
base_uri 'https://fcm.googleapis.com/fcm/send'
I cant work properly. Please tell me

because of this https://github.com/spacialdb/fcm/blame/b76473b005a0b03860d5ae5f7c0c67f854359adf/lib/fcm.rb#L44


Example for how to generate NEV and NSx files from data stream

Is there example code for how to save NEV and NSx files using cbsdk?
Background: the auto-split feature of Central (to roll over files after fixed intervals of say 3600s) has a few problems: it confuses analog and digital signal generation for ~50ms, loses >4ms of data, and often does not get the file date (in the header) right, so that files have incorrect offset relative to each other.

Nothing to save and NEV or NSx but n2h5 has a conversion to hdf5. The file format should be obvious here.

Sorry to open this again... Can you weigh in on best ways to capture the data? Essentially what I would do is to add a CBSDKCALLBACK_ALL, which extracts appropriate data and turns it into NEV/NSx packets, queues those in some thread-safe queues and have separate file save threads consume packets from these queues.
 Obviously, there'd have to be sanity checks in case the channel configuration changes.

I suggest recording to hdf file, but yes you should be able to listen to CBSDKCALLBACK_ALL and record analog and digital events. The problem is that then you have to go an update the headers, also you cannot change the channel settings in between.


Always failed when installing ghost locally with an error message: Cannot read properties of undefined (reading 'statusCode')

Issue Summary
✔ Checking system Node.js version - found v16.13.0
✔ Checking current folder permissions
✔ Checking memory availability
✔ Checking free space
✖ Checking for latest Ghost version
An error occurred.
Message: 'Cannot read properties of undefined (reading 'statusCode')'
Debug Information:
OS: macOS, v12.4
Node Version: v16.13.0
Ghost-CLI Version: 1.21.0
Environment: development
Command: 'ghost install local'
Additional log info available in: /Users/tc/.ghost/logs/ghost-cli-debug-2022-06-29T17_44_54_226Z.log
Steps to Reproduce
run ghost install local
Ghost Version
1.21
Node.js Version
16.13
How did you install Ghost?
macOS, v12.4
Database type
SQLite3
Browser & OS version
No response
Relevant log / error output
No response
Code of Conduct

[X] I agree to be friendly and polite to people in this repository

I found that something error with my network connection
and i fixed this issue by configuring a proxy

I found that something error with my network connection and i fixed this issue by configuring a proxy

@tcmonster Hi, 具体是如何解决的？我好像成功配置了代理依然报错。

I found that something error with my network connection and i fixed this issue by configuring a proxy

@tcmonster Hi, 具体是如何解决的？我好像成功配置了代理依然报错。

我不清楚你的网络情况，我好像就是给命令行开了个梯子就好了，你试下全局代理


showCheckbox option is not working

Dropdown list shows checkboxes even if I set showCheckbox option to false in settings.

Hi @Charan-SS, which settings are you using? When you make a npm run build it generates any errors?
For me the option is working in this project

and also on my proyect

Working as expected.


provided clang is old

See https://github.com/tpoechtrager/osxcross/issues/53; the clang version provided by ubuntu 14.04 appears to be < 3.5, which is quite old now.
EDIT: this refers to the clang used at bootstrapping (which is also used when targeting darwin, it seems).

Fixed in https://github.com/karalabe/xgo/commit/666ff21c54c77266f1f9beb1daf690df059c6691, new clang is version 3.7. Please allow a few hours for the new images to build and deploy.


[Github templates] Add Peek and MouseWithoutBorders

Summary of the Pull Request
Adding new utilities Peek and Mouse Without Borders to issue templates.

PR Checklist

[ ] Closes: #xxx
[ ] Communication: I've discussed this with core contributors already. If work hasn't been agreed, this work might be rejected
[ ] Tests: Added/updated and all pass
[ ] Localization: All end user facing strings can be localized
[ ] Dev docs: Added/updated
[ ] New binaries: Added on the required places

[ ] JSON for signing for new binaries
[ ] WXS for installer for new binaries and localization folder
[ ] YML for CI pipeline for new test projects
[ ] YML for signed pipeline

[ ] Documentation updated: If checked, please file a pull request on our docs repo and link it here: #xxx

Detailed Description of the Pull Request / Additional comments

Validation Steps Performed

@htcfreek The thing is @ethan-fang-MS also opened a PR: https://github.com/microsoft/PowerToys/pull/26156. So could you also update the version placeholder like he did so this PR can get merged?

@Aaron-Junker , @jaimecbernardo , @ethan-fang-ms
I updated the version to 0.70.0 too.

As this is important for issue creation and not a breaking change to code I'm so bold and merge it without further permission.

@Aaron-Junker
Thank you.


How do I show my badge when my app is in the background?

How do I show my badge when my app is in the background?
Please help me.

in android or iOS?

It's Android


Sgdr fix

Proposed fix for SGDR implementation.
Developed together with the author @loshchil

Can one of the admins verify this patch?

Dear Vijay Vasudevan @vrv ,
Please consider to review this request given the following
i) A new function linear_cosine_decay recently added to TensorFlow implements some features (minimum learning rate and restarts) that for an unknown reason are missing in cosine_decay function implemented by the same TensorFlow contributor. Note that these features were proposed in SGDR and also implemented here https://github.com/tensorflow/tensorflow/pull/11749 in TensorFlow before linear_cosine_decay was implemented. Thus, the contributor of linear_cosine_decay function didn't take into account both the existing code and academic sources.
ii) You reviewed and accepted our implementation of SGDR  https://github.com/tensorflow/tensorflow/pull/11749 in TensorFlow  which preceded the one where linear_cosine_decay was introduced.
iii) You are a co-author of the paper where linear cosine decay was introduced.
iv) The current implementation of linear_cosine_decay misleads the users of TensorFlow to think that the use of minimum learning rate and restarts together with cosine decay was introduced by linear_cosine_decay function and the corresponding paper.
Please consider our fix designed to avoid misleading TensorFlow users from industry and academia.
Thank you for your consideration.
Ilya

This looks good to me.  If you want to have the cosine_decay_restarts in the public API , you'll need to also add the call out here: https://github.com/tensorflow/tensorflow/blob/e9d2b60ed3d94eef7a3cf139cc27ec629f510681/tensorflow/python/training/training.py#L41, and then I'll have to ask for someone from the API review team to approve the change as well.
Do you feel strongly about the new parameter name 'first_decay_steps' ?  In the contrib version, it is named differently.
Lastly, I would also change the contrib version of the code to call this public version so there's not two copies of the implementation in the codebase that are largely the same.
Otherwise, looks good, and thanks for contributing!

We used the name initial_period_steps . We changed the name to first_decay_steps because  linear_cosine_decay and cosine_decay functions have a parameter decay_steps . We thought that this way we will keep the naming more consistent. I'm not sure which name is better, the current one or the previous one.

Okay, sounds good.  Let's proceed with adding the callouts in the public API then?

(I believe API review was skipped last week due to NIPS conference, I'm optimistic it'll happen this week).

Thanks Asim!
I like the idea of fewer public symbols, however, I am not sure whether cosine_decay should default to having restarts enabled or disabled.  The warm restarts idea was a big contribution of the original paper, but I kind of preferred the simplicity of removing hyperparameters that cosine_decay currently has.  I figured having two public APIs, one simple, one complex might be preferred.
Similarly, with linear_cosine_decay, etc; if we add num_periods and beta and other fields to cosine_decay, the documentation and code gets more complicated, and I thought it might make sense to keep things simple.
What do you all think?

@vrv : Sounds good. Rule of thumb: If it gets hard to explain the interaction between the arguments, then yeah, separate functions seem like a good idea. Thanks.

I think it might be fine to just keep them as separate functions, though they could probably share implementations more in the future.
I think you just need to resolve the conflicts in the file and we can get this in.

@PatrykChrabaszcz fee free to pull rebase and push again.

@drpngx
It should be done if I did not mess something up (first time I do this).

Jenkins, test this please.

@PatrykChrabaszcz could you look into the build failures?

@drpngx I didn't remove one line that uses old "sgdr_learning_rate_decay.py" file from the BUILD file, fixed now

Jenkins, test this please.

Right, you need to update the goldens on the API. This adds a new operator in tf.train.

@drpngx I'm afraid that I do not understand what "update the goldens on the API" means :) . I see that some checks for Python2 fail because of API changes. Is there something I should do now to fix it?

@PatrykChrabaszcz If you look at the logs here, you will see instructions about how to run the api compatibility golden API generation files, and then you can include the changed files in a subsequent push.
https://source.cloud.google.com/results/invocations/08c9e185-a549-411a-9b11-0394502a8d7b/targets/%2F%2Ftensorflow%2Ftools%2Fapi%2Ftests:api_compatibility_test/log
Let us know if that's not helpful enough!
@drpngx perhaps we should have these instructions on CONTRIBUTIONS.md somewhere, rather than buried in a test file log.

/CC @MarkDaoust @gunan +1 @vrv can't hurt to have it in the contributions doc.

@vrv
I had some errors while compiling with the first command.
I had to add some additional options:
bazel build --copt=-msse4.1 --copt=-msse4.2 tensorflow/tools/api/tests:api_compatibility_test
I hope everything is ok now

Jenkins, test this please.

Jenkins, test this please.

Timeout on //tensorflow/python/keras:data_utils_test, trying again.


Add -Wimplicit-fallthrough

This also documents how to mark intentional implicit fallthrough. Developers might be tempted to not use this warning if it's not clear how to handle this case.

@kees @thomasnyman - this PR proposes to add -Wimplicit-fallthrough as a compiler flag. I think it's a great idea.
I included documentation on how to portably suppress the warning in the rare cases when the fallthrough is intentional. If developers don't know how to portably annotate this, they might not add the flag.
Comments? Problems? Does this seem okay?

I don't think it's right to say there's no standard way to do this with C, since __attribute__((__fallthrough__)) is how to express it. Leaving the kernel example for generating the macro isna good idea, though.

@kees : I tweaked the text, hopefully that clarifies things per your question.

Really like this addition. Especially with the concrete recommendations for dealing with the caveats differing attributes etc.
Proposed some fixes to the references for consistency in b274a223aa6ec43f846619e5f49c3b74cb93ae4d and minor rewording to the last sentence in eb8c4072fe204f45f056a9546bc4e4f4c9b3a926.

Thomas will check compiler version numbers and add that information.

@thomasnyman - please add the version number info when you get a chance. I'd like to see a lot of merges of pending changes, there's at least 1 issue I can't create a PR for, because it would lead to merge conflicts with existing PRs.

We're spending more time fighting merge conflicts than solving problems. All approved. I've merged it. If we ever find a specific Clang version, we can add it. However, we know it was in clang in 2012 (11 years ago), so I don't think documenting the specific clang version is that important, and I don't want the perfect to be the enemy of the good. Adding this option ends up modifying a line that just begs for merge conflicts. Now that we've added it, adding the clang version later should be easily handled as a separate PR.


Sound signal appears to be cut-off

I generated the signal, looked at it in sweep, and it appears that sound shapes are cut-off, as if they were artificially limited.
Natural sound shapes usually look round and smooth, including at the top and at the bottom. But your shape is very different.
I grabbed the sound redirecting chrome sound output into the null sink and saving the output.

I'm not quite sure what you mean. Can you upload the thing you are getting from JSFX and the sound you were expecting.
But, yes, there are max/min limits frequency 30Hz-1800Hz.

I e-mailed you the testcase. Open it in sweep, and zoom it in at time 2.400 sec.
It is obviously cut-off in amplitude (not frequency). Cut-off can be seen in both general sound shape (over 20ms period), and individual oscillation bursts (over 0.2ms period).

This happens when you set decay to 0, i.e. there is no smoothing to zero for sounds. If decay isn't 0, can you please send me the link for the params. I.e. press "Add" next to "Play" button... and then copy the URL you have.

I don't know what the parameters were when I generated it. I changed some of them from the default. (My purpose was to generate the short-term, semi-regular signal. But when I looked at the result I saw this problem.)
But no matter what parameters are, it shouldn't clip the amplitude. If you look at any natural sound, you won't see such thing.

jsfx is specifically designed to generate chip-tune/old-school sounds; not natural sounds.
Assuming it was the decay issue... It doesn't clip the amplitude, it follows the envelope https://en.wikipedia.org/wiki/Synthesizer#ADSR_envelope ... note jsfx uses a different naming (attack, punch, sustain, decay)... If you don't have time set for release/decay the amplitude, it won't smoothly go to zero... it isn't clipping; the sound just ends at a non-zero point.
However I do understand your concern. For your use-case, the fix is simple, don't use decay=0.
As whether to fix the default params... I have to think about it. Such artifacts are fine in a chip-tune or old-school sound. I can imagine theoretical cases where people would want them... but, I'm also leaning towards fixing the attributes, but I'll make the final decision tomorrow.

I just needed a one-time sample. But I looked at the natural sounds a lot, that's why this artifact immediately caught my eye. It could also be the PulseAudio issue, not sure. It would have been nice if jsfx could save the .wav file so that no external agents would be needed.
So if this is really the issue of the out-of-band sound signal coming from jsfx, this needs to be fixed in some way.

It should sound better now, but there still might be very small pop, when the attack or decay is very low... it is as it should be.


Fixed previewDocsServer on Fedora & SELinux

The usage and caveats are documented in the Contributor Guide.
Resolves #378.

merged: 877f5d2dd6abba74ea2228fac265b1e5d0055600


Tackling issue #113

Description:
This pull request resolves issue #113, where the selected language repeats itself in the dropdown menu.
Changes made:
I've added a filter to the dropdown menu so that the selected "language" does not repeat itself again in the dropdown.

@version0chiro Please suggest Changes so i can fix this


Bank Management system

@ravya1108  , Please let me contribute with a bank management system using c
it will be very helpful for me
thank you.

Sure go ahead


Steps for finalizing the dataset

[x] submit the orthography profile to orthograpy (see closed issue)
[x] add the notes.md, describing quickly the dataset
[x] assign contributors.md to reflect all involved
[x] merge PR on pylexibank, where the metadata now allows for a patron
[x] add patron for this dataset (e.g., I suggest, @tresoldi) to metadata (once decided this discussion)
[ ] make a version and publish with zenodo

where are we on these things?

Yes, @chrzyki and @tresoldi, can we please leave this to the two of you? Please check specifically the concepticon mapping and make sure it is in a good state, as this will also be submitted for the data managment paper.

Okay, will coordinate with @tresoldi.

Anything in particular you'd like to see in the NOTES.md, @LinguList?

Most things are done now but I suggest we wait for a Concepticon release (and a rebuild of the dataset) until pushing it to Zenodo.

I think the content of the NOTES.md is up to you and @tresoldi, to make a first proposal, as this is underlying the MIT press paper, and you were the ones in charge for this ;) I'll comment, once I see the notes.

Sounds good. I'll prepare something.

Done except for the release which will follow.


Text editor and location content type should follow parameter naming conventions

Currently the parameters in the text editor content type are camel cased (e.g. godMode instead of of god_mode, as in all other content types). This should be adjusted for the sake of consistency.

The refactoring would make all of those snake cased.

You are right, I just realized that it is also like that in the location content type. Anywhere else as well?

@danrot we deleted the godMode in the ckeditor (#918 / https://github.com/massiveart/husky/pull/457) update instead there are new options for script and iframe embed.

@alexander-schranz But you also kept the wrong naming convention described in this PR? Well, maybe it is a better idea to fix that later all together.


"Input string was not in a correct format" error with AnsiConsole.Write()

Information

OS: macOS Ventura (13.4.1)
Version: 0.46.0
Terminal: zsh

Describe the bug
A string containing the text {Pt.1} (TEST ~ 855D) causes AnsiConsole.Write() to throw the following exception:
System.FormatException: Input string was not in a correct format. Failure to parse near offset 1. Expected an ASCII digit.
   at System.Text.ValueStringBuilder.AppendFormatHelper(IFormatProvider provider, String format, ReadOnlySpan`1 args)
   at System.String.FormatHelper(IFormatProvider provider, String format, ReadOnlySpan`1 args)
   at System.String.Format(IFormatProvider provider, String format, Object[] args)
   at Spectre.Console.AnsiConsole.Write(IFormatProvider provider, String format, Object[] args) in /_/src/Spectre.Console/AnsiConsole.Write.cs:line 247
   at Spectre.Console.AnsiConsole.Write(String format, Object[] args) in /_/src/Spectre.Console/AnsiConsole.Write.cs:line 235
   at Spectre.Console.AnsiConsole.Write(String value) in /_/src/Spectre.Console/AnsiConsole.Write.cs:line 14

Interestingly, this does not occur with AnsiConsole.WriteLine(). Also, using EscapeMarkup() on the string does not resolve the issue.
Similarly-formatted strings behave identically. I believe it's likely some of the text is unexpectedly being treated as markup.
I hope this is information is sufficient. Please let me know if you need anything more or if perhaps I'm overlooking anything (including a potential workaround). Thank you much.
To Reproduce
string text = @"{Pt.1} (TEST ~ 855D)";
AnsiConsole.WriteLine(text); // OK
AnsiConsole.WriteLine(text.EscapeMarkup()); // OK
AnsiConsole.Write(text); // Throws the error
AnsiConsole.Write(text.EscapeMarkup()); // Throws the error

Expected behavior
All lines written successfully to the terminal with markup-like text not treated as markup.
Screenshots
None.
Additional context
None.

In this case the AnsiConsole.Write() is calling an internal function that is using format strings. Trying "{{Pt.1}} (TEST ~ 855D)" will return {Pt.1} (TEST ~ 855D)

In this case the AnsiConsole.Write() is calling an internal function that is using format strings. Trying "{{Pt.1}} (TEST ~ 855D)" will return {Pt.1} (TEST ~ 855D)

Thanks for the tip! Indeed, I confirmed that this workaround for Write works:
var text = @"{{Pt.1}} (TEST ~ 855D)";
AnsiConsole.WriteLine(text);
AnsiConsole.WriteLine(text.EscapeMarkup());
AnsiConsole.Write(text + Environment.NewLine);
AnsiConsole.Write(text.EscapeMarkup() + Environment.NewLine);

Output:
{{Pt.1}} (TEST ~ 855D)
{{Pt.1}} (TEST ~ 855D)
{Pt.1} (TEST ~ 855D)
{Pt.1} (TEST ~ 855D)


Added test to check forgotten codegen updates.

In PR #388, we changed weaver generate to embed listener information in compiled Service Weaver binaries. This change landed in v0.15.0. However, we forgot to update the codegen version. This led to the following bug, reported by @renanbastos93 in the Discord:

Run weaver generate at version v0.14.0.
Run go run . at version v0.16.1.
The app crashes looking for listener information in the binary, but the information is not there because of the stale weaver generate.

If we had updated the codegen version, then the code would not have compiled, and the user would have received an error message explaining that they needed to update weaver generate.
It's really easy to forget to update the codegen version, so I added a unit test that checks for changes to how weaver_gen.go files are generated. If there is any change, the test fails and you're prompted to update the codegen version.

I chatted with Sanjay about this test a bit. An alternative is to have a separate script that compares the value of the weaver_gen.go files on HEAD with the ones at the latest tag (which can be fetched with go mod download -json github.com/ServiceWeaver/weaver@latest). If the weaver_gen.gofiles differ, but the codegen API version does not differ, then the script fails. We can run the script as part ofbuild_and_test. We can also run apidiffto check for changes to the codegen API itself. We can do something similar for the deployer API by checking for changes inruntime.proto` and the envelope API itself.
The tricky thing is that some changes to weaver_gen.go files might be inconsequential (e.g., changing variable names or adding comments), and the script would keep flagging these unimportant changes. I'll think about this some more. If anyone has ideas, let me know :)


mit-sch.is-cool.dev.json

Requirements

[x] You have completed your website.
[x] The website is reachable.
[x] The CNAME record doesn't contain https:// or /.
[x] There is sufficient information at the owner field.
[x] Your website is not hosting on the following due to SSL issues: Vercel, Netlify

Description
domain will be used to hide unwanted request from outside country. hide the original ip address. Prevent public from finding my vps ip address to prevent spam and attcks
Link to Website

I have read the CLA Document and I hereby sign the CLA


Regenerate DNS client

This PR was generated using Autosynth. :rainbow:
Here's the log from Synthtool:
synthtool > Executing /tmpfs/src/git/autosynth/working_repo/synth.py.
synthtool > Cloning https://github.com/googleapis/elixir-google-api.git.
synthtool > Running: docker run --rm -v/home/kbuilder/.cache/synthtool/elixir-google-api:/workspace -v/var/run/docker.sock:/var/run/docker.sock -w /workspace gcr.io/cloud-devrel-public-resources/elixir16 scripts/generate_client.sh DNS
Error in atexit._run_exitfuncs:
Traceback (most recent call last):
  File "/tmpfs/src/git/autosynth/env/lib/python3.6/site-packages/synthtool/metadata.py", line 63, in write
    with open(outfile, "w") as fh:
FileNotFoundError: [Errno 2] No such file or directory: 'clients/DNS/synth.metadata'

Docs only changes, and it's removing content, not improving it... reject


Glyph coverage: is 0x000D 'carriage return' really needed?

Observed behaviour
In my PR for Inter to google/fonts, at this round of checks, I have the following FAIL:
🔥 FAIL: Check glyph coverage.
com.google.fonts/check/glyph_coverage
🔥 FAIL Missing required codepoints: 0x000D (CARRIAGE RETURN) and 0x2215 (DIVISION SLASH) [code: missing-codepoints]
Expected behaviour
I assume that the division slash is actually important. My best guess is, it's a character that people or software may use to create fractions or make use of in math.
However, is 0x000D 'carriage return' actually necessary to include in the basic latin character set? Surely, this character works fine as a fallback character on all platforms.

I have questioned this also, and don't think it is good practice encode any characters below U+0020 SPACE. Doing so would impact usFirstCharIndex in the OS/2 table, which the Microsoft OpenType spec defines as:

The minimum Unicode index (character code) in this font, according to the 'cmap' subtable for platform ID 3 and platform- specific encoding ID 0 or 1. For most fonts supporting Win-ANSI or other character sets, this value would be 0x0020.

thanks, @thundernixon, for bringing this up. This is something that has annoyed me for a while. I never really understood this, but ended up accepting the dogma. Now that you framed the question explicitely, I feel like I should have asked it myself much earlier LOL
Anyway... I really would like to either remove 0x000D from the GF charsets or get proper documentation of the actual need for that.
Any idea, @m4rc1e, @davelab6, @alexeiva ?

I guess it might be a bug introduced by processing fonts with Fontforge which added the character to compiled TTFs even if not in the glyphset. Does a TTF generated with Glyphsapp or Fontlab or afdko or fontmake from a source without the character still contain it?

Does a TTF generated with Glyphsapp or Fontlab or afdko or fontmake from a source without the character still contain it?

Not with GlyphsApp.

I believe FontMake adds a .notdef glyph is one is not present.
On Fri, Oct 25, 2019 at 10:48 Bob Hallissy<EMAIL_ADDRESS>wrote:

Does a TTF generated with Glyphsapp or Fontlab or afdko or fontmake from a
source without the character still contain it?
Not with GlyphsApp.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/googlefonts/fontbakery/issues/2677?email_source=notifications&email_token=ABYDYFWNMQYI4PCOWYUWJNLQQMBNFA5CNFSM4JE4UVG2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOECISYAQ#issuecomment-546384898,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABYDYFWZ2X7RCVOISQOY2QDQQMBNFANCNFSM4JE4UVGQ
.

--
——
Stephen Nixon
www.thundernixon.com

ps: on a 4 year old machine of mine, only 136 fonts out of 801 encode U+000D.  I suspect if there were problems with fonts that do not encode this character we would have heard about it long long ago.

The practice of including U+000D/glyph2/CR likely stems from this recommendation which was present in the OpenType specification and Apple TT spec since the early days. That recommendation was changed (relaxed) to simply "Glyph 0: the .notdef glyph" in the recommendations section of OT Spec v1.8.0. AFAIK it has always been a recommendation, not requirement, but some font-makers and font-checkers took that more seriously than others :-)

Thanks for the pointer to the recommendations, Josh.
However, encoding those three as per that recommendation is directly opposite to the OS/2.usFirstCharIndex specification that suggests:

For most fonts supporting Win-ANSI or other character sets, this value would be 0x0020.

Right, and it wouldn’t surprise to find other contradictions. To be clear, I’m merely providing some historical context/trivia for the origin of this bit of dogma —not trying to defend the practice.


chore(main): release 1.0.9

:robot: I have created a release beep boop
1.0.9 (2023-12-16)
Bug Fixes

config git to github-actions[bot] (1fc5bc2)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/nbtca/blogs/releases/tag/v1.0.9 :sunflower:


Revert "Newsletter announcement spacing"

Reverts vsouza/awesome-ios#1289
Let's revert this at some point
Thx @lfarah

          1 Error

:no_entry_sign:
Found 1 link issue

Link issue by awesome_bot

Line
Status
Link

2080
302
https://swiftlang.ng.bluemix.net/#/repl redirects tohttps://swiftlang.ng.bluemix.net/verify

  Generated by :no_entry_sign: danger

Can we merge this @lfarah? Or dinyiu prefer we do this later


Put it on NPM

Not really an issue, would just save a lot of time. :)

Yeah, you are right, that would be a good idea. When I first wrote it, I didn't really expect anyone else to use it tbh but a few people have been. Better documentation with example usage would probably be good to add too. Thanks for the suggestion Jesper!

It's about to blow up I'd think. Didn't find any other libs that worked. :)