PicklingError: Can't pickle  it's not the same object as torch.nn.modules.sparse.Embedding.forward

System Info
I am trying to share the LLMs during inference time between multiple forked processes using torch's ForkingPickler class. I can achieve this with the model loaded with FP16(Without any quantization) and device_map = {"": 0} but can't share the model when device_map = 'auto' with the other forked processes. Could you please help with this issue?

Below is the list of installed libraries
python==3.11.7
torch==2.0.1
transformers==4.37.1
bitsandbytes==0.42.0
accelerate==0.23.0
cuda version = 11.0

Information

[ ] The official example scripts
[X] My own modified scripts

Tasks

[ ] One of the scripts in the examples/ folder of Accelerate or an officially supported no_trainer script in the examples folder of the transformers repo (such as run_no_trainer_glue.py)
[ ] My own task or dataset (give details below)

Reproduction
import torch
from transformers import AutoModelForCausualLLM
from torch.multiprocessing.reductions import ForkingPickler
base_model_name = 'mistral-7b-instruct'
#Loading LLM with FP16(Without any quantization) and device_map = {"":0}
base_model_wo_quant = AutoModelForCausalLLM.from_pretrained(f'{base_model_name}', torch.dtype=torch.float16, device_map={"":0}, use_safetensors=True)
#Able to share with the forked processes
_ = base_model_wo_quant.share_memory()
ForkingPickler.dumps(base_model_wo_quant)
#Loading LLM with FP16(Without any quantization) and device_map = 'auto'
base_model_with_quant = AutoModelForCausalLLM.from_pretrained(f'{base_model_name}',  torch.dtype=torch.float16, device_map='auto', use_safetensors=True)
_ = base_model_with_quant.share_memory()
#Failed to share with the forked processes getting below error
ForkingPickler.dumps(base_model_with_quant)
#PicklingError: Can't pickle  it's not the same object as torch.nn.modules.sparse.Embedding.forward
Expected behavior
Expecting the model to be shared with the forked processes even when device_map = 'auto'

cc @SunMarc

Hi @SunMarc - Thanks for your reply. I tried above suggested solutions(both of them individually) and the error message is now changed to
PicklingError: Can't pickle  it's not the same object as torch.nn.modules.module.Module.to
Could you also explain what you are trying to acheive with ForkingPickler ?
I am trying to pickle the model and share it with the forked processes using ForkingPickler. It's very similar to the problem statement mentioned in the #2613
Please suggest if there's any solution or workaround to this problem.

Hi, @SunMarc - Is there any solution or workaround to this problem?

Hi @SunMarc - Thanks for your reply. I tried above suggested solutions(both of them individually) and the error message is now changed to
PicklingError: Can't pickle function Module.to at XXXXXXX it's not the same object as torch.nn.modules.module.Module.to

This is most likely due to these lines. Could your try to see with commenting them solves the issue ? If so, if you can provide a quick benchmark of how ForkingPickler speeds up the generation, I will if I can come up with a better solution !

@arpit2665 Do you solve the problem? I met the exact same error as you.


[hotfix][k8s] remove redundant null value check for 'clusterId'

What is the purpose of the change
remove redundant null value check for 'clusterId' in KubernetesSessionCli#run
Brief change log

remove redundant null value check for 'clusterId'

Verifying this change

This change is already covered by existing tests.

Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (yes / no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (yes / no)
The serializers: (yes / no / don't know)
The runtime per-record code paths (performance sensitive): (yes / no / don't know)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn/Mesos, ZooKeeper: (yes / no / don't know)
The S3 file system connector: (yes / no / don't know)

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

Hi, @zhoulii . I think this check is not redundant.

final ClusterDescriptor<String> kubernetesClusterDescriptor = 			kubernetesClusterClientFactory.createClusterDescriptor(configuration);
above code will create KubernetesClusterDescriptor, and in KubernetesClusterDescriptor construct method ，we already check the value of clusterId,  if clusterId value is null，a NullPointerException will be thrown.
so, when execute code if (clusterId != null && kubeClient.getRestService(clusterId).isPresent()) ，clusterId must not be null @KarmaGYZ

@zhoulii Yes, you're right. However, I don't think it is a contract of KubernetesClusterClientFactory#createClusterDescriptor. Thus it is not stable. I still think it would be good to keep this check.

@KarmaGYZ I see, thanks for explanation, i will close this pr.


Allow Webview Panel to be created on its own editor group

Allow Webview Panel to be Pinned.
Use case:
As a User, I want my Webviews visible at all times. At the moment this is not possible. When a Webview is visible, and I click on any file in the editor explorer, the webview is hidden because the file opens in the same editor group where the webview is located.
Solution:
Add a new config for a Webview Panel that does not allow files to be previewed/opened in that editor group.

This is an example of what I want to avoid.

I opened the Webview,  and after that I opened a file, which caused the webview to be hidden, because the file was opened in the same panel. The idea is to create a way to not allow files to be added on the same panel that the webview is displayed.

I'm updated the issue title since pinned means pinned tabs in VS Code. It sounds like what you are asking for is instead an isolated group for the webviews (which isn't a concept that exists today in our editor management). Let me know if that's incorrect
The workaround today is to use a webview view

Yes, that is what I mean. The webview view would not be that good because I also want to have the File Explorer Visible. The goal is to keep the Webview visible all the time by never allowing a file to be opened in the same panel/group that webview is, because if this happen the webview is going to be hidden.

I believe this has been implemented for our upcoming release via locked groups: https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_60.md#locked-editor-groups
You can already try this out in insiders today: https://code.visualstudio.com/insiders/

@bpasero amazing job!
I will give it a try

@bpasero
I would like to open a new feature to allow developers to set the Webview's panel as a "Locked Group" programatically.
Use Case: The User wants the Webview focused all the time and he does not want files to keep opening in the Webview's panel/group. The User opens and closes the Webview so often that he does not want to always have to manually lock it.

@AllanOricil there is a setting though so that this works exactly like you want. The user has to enable it though: https://code.visualstudio.com/updates/v1_60#_autolock-an-editor-group

@bpasero could you provide a simple example where you create a dummy webview that is locked in place automatically?

@bpasero I tried to add my webview in the Experimental Auto Lock Groups settings and it did not work. What is the key for a webview that I should add to the Item's column to make it work? I added the name of the panel "Salesforce Query Editor" and it did not work.

@AllanOricil yeah improving the settings widget to allow you to pick an editor is planned in https://github.com/microsoft/vscode/issues/131587
For now, if you add workbench.editors.webviewInput it should auto-lock any kind of editor that shows custom contents. Can you try it? For this feature to work, the editor needs to be opened to the side. Locked groups require more than one group currently.

@bpasero setting workbench.editors.webviewInput works. I personaly did not like it because it isn't intuitive for the user to set a property called workbench.editors.webviewInput and expect that all the Webviews he uses will be locked.
And because of the introduction of this property, I started to think about something else. See if it makes sense. When we talk about Webviews, can you see a scenario where people would want a Unlocked Group? I think everyone that uses a Webview wants it to be visible all the time. Therefore Webviews should always be created in a "Locked Group".  I have a feeling that this annoys everyone.  Because they can't actually predict where the Editor will open, unless they remember which "panel" is currently focused. What do you think? If this is true, then I would also use this as an argument to not use this solution for Webviews.

In the future we will allow you to put the exact editor identifier of the webview editor that is specific (e.g. "Markdown Preview"). So what I suggested is just a workaround until https://github.com/microsoft/vscode/issues/131587 is resolved.

When we talk about Webviews, can you think about a scenario where people would want an Unlocked Group?

Not sure. We did not have locked groups for years, and we had webviews for years and thinking back about feedback I got via GH issues, no-one really asked for this. Your issue here is relatively new.
Maybe users have gotten around this with some usage patterns? I think having the user option to lock a group or not is still good and we can think about enabling it by default for some more webview editors, but I wouldn't enable it for all by default.

For everyone who wants to try this workaround, this is how It is done

I also developed an extension using Webview Panel that I wanted to have isolated, pinned, and auto-locked. Fortunately, I found a new GUI feature to Lock Group the Webview panel that did exactly what I needed.

The problem is that users have to do this every time the extension is activated and opened in the Webview panel, so I'm trying to find a way to do it programmatically or with Setttings.
The current one looks like this

and the below does not work.
workbench.editors.webviewInput is not allowed in VS Code 1.75.0-insider
    "workbench.editor.autoLockGroups": {
        "workbench.editors.webviewInput": true
    }

I read #131587 and have no idea to solve this issue. Any idea? @bpasero

Can you give an example how to test your extension, i.e. the source code. Then I can maybe print the identifier of the editor when we consider auto locking. It is possible that maybe the identifier changed or we no longer support that scenario from back then.

Can you give an example how to test your extension, i.e. the source code.

Sure.
https://github.com/stken2050/vscode-markdown-note

It's a WYSIWYG markdown editor in the second pane, and it's required to be isolated for the same reason as the built-in Markdown Preview.
This is based on
https://github.com/microsoft/vscode-webview-ui-toolkit-samples/tree/main/frameworks/hello-world-solidjs
and the exact lines of my WebView creation:
https://github.com/stken2050/vscode-markdown-note/blob/f0a2cc6c95fefe3d26f07e2514061922f3002def/src/panels/NotePanel.ts#L99-L121
ViewColumn.Two option lets the WebView open in the second pane.
In an ideal situation, here we also want the Lock option within WebviewPanelOptions
https://code.visualstudio.com/api/references/vscode-api#window.createWebviewPanel
As AllanOricil commented on Jun 9, 2021  here, the WebView is the only approach for versatile web applications in VSCode and in most of the cases, the apps need to be isolated, and again, we probably want the Lock option within WebviewPanelOptions, not like auto-locking via Settings.
In other words, obviously, the GUI "Lock Group" option is already available and works perfectly. Then all I'm asking here is to check this programmatically from the extension itself, not manually by users.
Thanks for your contribution.

It will work if you add "mainThreadWebview-showNote": true to the setting in workbench.editor.autoLockGroups.

There could exist a method to lock a tab by name programmatically.
                                        T1 stays on top

[[T1][T2]] --> lock(T1) --> [[T1]][[T2]]
New files, or other views, are opened in the first group that isn't locked.
When opening other views this would happen
T3 opened in the "first" available unlocked group vscode found
[[T1]][[T2][T3]]
T1 is still visible.

@bpasero  Adding
    "workbench.editor.autoLockGroups": {
        "mainThreadWebview-showNote": true
    }

to settings.json does work. Thank you.
Actually, I have tried to do this programmatically in multiple ways, but none has worked. So far there is no way to do this from an extension, am I correct?

@AllanOricil I will investigate. Thanks for your advice.

Actually, I have tried to do this programmatically in multiple ways, but none has worked. So far there is no way to do this from an extension, am I correct?

Maybe @sandy081 can chime in if an extension can write to settings.

eah, I see. understood  🙃

@bpasero
I tried adding "workbench.editors.webviewInput" and "mainThreadWebview-" to settings and it did not work for, Am I missing something?

@KMKoushik - you want to add the following into your settings.json:
  "workbench.editor.autoLockGroups": {
    "mainThreadWebview-myview": true
  }

Replacing myview with the name the webview uses.
Once you have added it here, you should then also be able to configure it from the Settings UI.


Add sphinx documentation.

This change is

a discussion (no related file):
Result viewable at: https://binflakes.readthedocs.io/en/wip-sphinx/

Comments from Reviewable

Pull Request Test Coverage Report for Build 143

3 of 3 (100.0%) changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 137:
0.0%

Covered Lines:
1020

Relevant Lines:
1020

💛  - Coveralls

Pull Request Test Coverage Report for Build 143

3 of 3 (100.0%) changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 137:
0.0%

Covered Lines:
1020

Relevant Lines:
1020

💛  - Coveralls

Reviewed 8 of 9 files at r1, 2 of 2 files at r2.
Review status: all files reviewed at latest revision, 1 unresolved discussion.

Comments from Reviewable


Adding a "do not use" terms rule

Adding a "do not use" terms rule. Instead of suggesting text replacement, the swap field is used to provide inline context to the user regarding the specific term.
$ vale .

 testinvalid.adoc
 1:1  suggestion  Do not use "please". Terms of   RedHat.DoNotUseTerms
                  politeness are superfluous,
                  convey the wrong tone for
                  technical material, and are
                  not regarded the same way in
                  all cultures.

Thanks @rolfedh my only concern would be these suggestions showing for legit uses. I might trim down the list for any terms that require context.

ahh it's merged, happy days @aireilly  :-] and it looks like you made the list way better, huzzah!
I had started a review but I'll just throw the notes here in case you want to consider them for a future update...
geo/geography
Because this is one of the more 'ambiguously incorrect' ones in the list, I wonder if it needs inclusion at all. After a search on the portal I didn't see lots of instances of this word being used incorrectly in the docs. Do we have some strong evidence it needs flagging through Vale? If not then maybe it'd be safe enough to trim from the list.
foreign/domestic
Another 'ambiguously incorrect' one and after a cursory portal search, the hits that come up in docs are more like foreign key, foreign hypervisor etc., which aren't the incorrect usages that this entry is targeting. That means it's likely to throw up errors for those things instead. Maybe this one could go too if you want more strictly incorrect words.
destroy, kerberize, daughterboard just querying these because I'm wondering are they used incorrectly in the docs enough to warrant inclusion? I found kerberize in KCS but not docs really, daughterboard I didn't find and destroy can be kind of ambiguously used. If you're looking to trim the list maybe consider these three as options for the cutting room floor.
Then I thought of a couple of unambiguous options you could consider adding, if you haven't already:

prior to
i.e.
etc.
e.g.

Thanks

@ndeevy thanks I made thesae changes in https://github.com/redhat-documentation/vale-at-red-hat/pull/620

We already catch prior to, "i.e.", "etc", and "e.g.". I'll "Prior to" thanks.


fix security problem

It is not safe to use eval function because input data(request body) is not checked
For example, someone can send this data to remove all files in the directory
"import('os').system('rm -rf .')"
I suggest to use json.loads to parse the request body if the data is json format
or disable builtin functions like:
eval(req.body, {"builtins":None})

Changes Unknown when pulling dd01dc2685ff782853c88415cb49946099a9cabe on TakeshiTseng:master into ** on osrg:master**.


feat(osqp_interface): solve by warm_start method in the background by default unless explicitly disabled

Description

Related links

Tests performed

Notes for reviewers

Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.

[ ] I've confirmed the contribution guidelines.
[ ] The PR follows the pull request guidelines.

In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.

[ ] The PR follows the pull request guidelines.
[ ] The PR has been properly tested.
[ ] The PR has been reviewed by the code owners.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[ ] There are no open discussions or they are tracked via tickets.
[ ] The PR is ready for merge.

After all checkboxes are checked, anyone who has write access can merge the PR.

@soblin This has been a draft for a long time. I will close this PR for now. Feel free to reopen it if you still need the feature.


Unlisted and unmodified page on blog website

Bug Description
There is an unmodified page on the blog from the template that while is unlisted but is not removed. Additionally, the home page has an empty dropdown (the community dropdown).
Steps to Reproduce
Steps to reproduce the behavior:

Go to https://thenewboston.blog/about/
Done

Expected behavior
Normal 404 page or the page gets updated with correct information and is listed as a valid page.
Actual behavior
Shows an unmodified page from the template the blog uses.
Screenshots/Recordings
There is none needed.
OS and Browser

OS: iOS 14.4.2
Browser: Safari

Additional context
None required.
Account Number
02c00467c5f149cb7cbd9cce382c709a3939f1f9f7e6acdc6687b34453943db0

We are not currently maintaining the blog website


apl-sof-setup-audio doesn't run on debian 11

EDIT: I don't know where I should run this script. It seems like it should be on the chromebook, but it mentions USB drives etc.
Running the command (running breath on my chromebook) results in:
Error: 'restricted' invalid

Removing / commening line 8 allows it to run.
I don't know if this is required on other distros (ubuntu?)

It also fails on line 80
cd: /home/username/linux-build: No such file or directory

this seems to work
if [ ! -d ~/linux-build ]
then
  mkdir ~/linux-build
fi
cd ~/linux-build

Script completed and said to reboot.
Not it won't boot.
Is this something to do with depthcharge that I saw mentioned in the script?
There is no infor/warning on the installation page about this step!
https://cb-linux.github.io/breath/docs.html#/?id=audio
ps: I really appreciate your patience with me struggling through this as someone completely new to chromebooks and this ecosystem.
I'm hoping I can contribute back to the documentation - once I have something working correctly - to make it easier for anyone else like me!

OK
I did a complete new build, using latest commits.
this time apl-sof-setup-audio did run, and everything rebooted ok!
I think it's ok to close this issue now...
however I will observe that I don't have audio working.
I think this is because I'm trying to use gnome, and #122 suggests that I should remove pulseaudio - but when attempting that apt tells me it will also remove gnome.
Attempting apt remove pipewire* ALSO says it will remove gnome.
I've just built with KDE - but that doesn't show a login screen so I can't confirm (yet) if it's specific to the combination of gnome+debian

PipeWire is already masked, so there’s no need to remove it. Give me the link/file created by sudo alsa-info if you don’t mind.

alsa-info.txt

Looks like this is our culprit:
PipeWire:
      Installed - Yes (/usr/bin/pipewire)
      Running - Yes

I've seen this happen a few times, installing a desktop "unmasks" Pipewire. To fix this, just run
systemctl mask --user pipewire.{socket,service}

Maybe this is a new issue now, but that has only half helped!
Pipewire is no longer running, but I still have no audio output options in Gnome.
Running speaker-test fails.
Running sudo speaker-test works
I've tried adding my user to the audio group, but that doesn't seem to make any difference.

Redownload https://github.com/cb-linux/breath/blob/main/bin/sof-setup-audio and run it again. This should fix it :D
If this project works well for you, feel free to donate or give it a star.

I thought this device used the apl-sof-setup-audio?
I see your changes, but don't want to end up twisting my configuration into an even bigger mess running the wrong script :grin:

Once done with its work of changing the kernel commandline and downloading firmware, apl-sof-setup-audio invokes sof-setup-audio, so there should be no problems.
Also, your audio configuration isn't a mess, it's all documented. We almost have it working :D.

Right, multiple rebuilds later and I've reached "good enough".
Audio works, but not always, well, eventually.
When first booting up, no audio shows up in gnome, and there is no sound.
Running speaker-test sometimes works at this point, but not always.
Some time later (I haven't identified the exact delay or cause) audio will start working.
Sometimes I need to change between the two identically named audio devices.
Thanks for taking the time to work this through with me!


Add WGRIB variable to grib-util module

Summary
This PR adds a variable WGRIB for the wgrib executable in the grib-util module.
Testing
testing in progress
Applications affected
UPP, Global Workflow, EMC verif
Systems affected
all
Dependencies
none
Issue(s) addressed
#1097
Checklist

[x] This PR addresses one issue/problem/enhancement, or has a very good reason for not doing so.
[ ] These changes have been tested on the affected systems and applications.
[ ] All dependency PRs/issues have been resolved and this PR can be merged.

@AlexanderRichert-NOAA Ready for review?

@AlexanderRichert-NOAA This PR still says "testing in progress" - has this been done? @DavidHuber-NOAA mentioned in the last meeting that this needs to be rolled into 1.5.1 and 1.6.0. Thanks!

Yes this is good to go, let me know if you want me to do some of the backporting.

I think we need the usual list of platforms and then work with @RatkoVasic-NOAA and @srherbener to make the one-line change (manually I suggest) in the env common config for 1.5.1 and 1.6.0?


Is this still supported?

I hope so, there is no other fanfic saver that I have found that works as good

Have you tried fanficfare? it has a repository here on github.
It has both a CLI and a Calibre plugin.

Yeah but I like and only wanna use this one


Spaces are considered to validate the chalenge

Challenge http://freecodecamp.com/challenges/waypoint-give-your-javascript-slot-machine-some-stylish-images has an issue. Please describe how to reproduce it, and include links to screenshots if possible.
It is considering spaces to validate code in:
 $($('.slot')[0]).html('');
    $($('.slot')[1]).html('');
    $($('.slot')[2]).html('');

is validated, but the code below with spaces in slotOne - 1 for example do not validate
 $($('.slot')[0]).html('');
    $($('.slot')[1]).html('');
    $($('.slot')[2]).html('');

Thanks for posting @felipecaputo!
Confirmed, I was able to replicate this.
Its actually hard to find the differences between those two code blocks so I'll highlight them here:
slotOne-1 vs
slotOne - 1

You're welcome... Another thing that happened today was sometimes it didn't validate double quotes instead of single quotes when I see it happening again, I'll post here.... And congratulations for the amazing tool.

I don't know if this is the right place to post, but this is not yet resolved. The whitespaces around the minus sign (' - ') still invalidate the code and it doesn't pass the test.

+1 as I also just encountered this problem; it does not appear to be resolved.

+1. I did notice that the given code has spaces around the src attribute: src = "'. That seems odd to me - shouldn't it read: src="'? Either way it didn't get me to pass that first test. Copied/pasted code, reset page, etc. All other tests passed.
$($('.slot')[0]).html('');
$($('.slot')[1]).html('');
$($('.slot')[2]).html('');
AND
$($('.slot')[0]).html('');
$($('.slot')[1]).html('');
$($('.slot')[2]).html('');


Declare V3 support

This PR adds a test and general support for Declare V3 transactions.
Many (10) of the hints have special handling for V3 but were left as TODOs, so they will need to be updated.
Issue Number: N/A
Type

[x] feature
[ ] bugfix
[ ] dev (no functional changes, no API changes)
[ ] fmt (formatting, renaming)
[ ] build
[ ] docs
[ ] testing

Description
Breaking changes?

[ ] yes
[ ] no

Superseded by #249.


Incomplete last line Error

It seems date-input-polyfill.dist.js has incorrect line ending which is preventing the successful usage on some windows hosts. When opened on linux with vim, this is what we observe:
"node_modules/date-input-polyfill/date-input-polyfill.dist.js" [Incomplete las
t line] 2 lines, 33874 characters

Will check


updated .gitignore

On complicated projects, I used to get confused on what I added to the .gitignore and what was recommended. There was times that I might want to remove something that I previously added.
Adding some basic annotations helped me keep track of what I added and what was set in place by the recommended .gitignore file.

@kd2718 Appreciate the sentiment, but I know that there is a huge diversity in how people manage their .gitignore files. (e.g., by tool rather than user/default). I think we'll leave that open-ended rather than recommend splitting into user/default.


Separate function and data

T13n - is array of character pairs only, organized by manual or local t13n standards (character mappings/pairs). Some need only tool for converting strings by they own standart, some need pair collections to use in their own software.
I think, we need to seporate tool from data (character pairs).

Could you explain more about this? I'm working on a change of the api to allow a custom charmap (can be set in configuration so all following calls will use that config without providing options each time)

dist/transliteration.js - function/API, that transliterates words or sentences
dist/transliteration-data.js - character pairs or formulas, how words should translated.
BTW, check wiki/Help:Multilingual_support_(Indic), to understand, that other languages transliterates in more complex way.

Thanks for the link. Yes it can be done in this way, if gziped it should be much smaller and probably in the future we need to cache it in localstorage or somewhere if it's run in the browser.

I just tried it. After gzipped the transliteration.min.js file just weight about less than 80k. However, do you have more info on how to get the different rules to transliterate different languages? And where can we get the data from? I can get some data for transliterating Chinese and Japanese which both have some cases that one character could have different pronunciation depending on context or words combination. How about other languages?

http://www.findurlaptop.com/tech/2012/08/20/hindi-typing-and-google-transliteration/

I think, we need change data grouping behavor. From beginning, I saw that data was grouped by char code, so to cover all characters you will need a lot of memory. But, do you really need that? Anyone need that?
I think - no. In Baltic states, for example, there are 5 common languages: LV, LT, EE, EN, RU. If I want to cover all transliteration of these languages, I should get few special characters from LV, LT, EE and all combinations from RU (becouse of non-latin alphabet).

I think the memory usage is ok for now. It takes less than 2MB rss if you load all data into memory. Please try process.memoryUsage() to see.

@andyhu Any news on this?
It is a great library but it bloats my bundle size a lot: ~300kb minified and looks like data takes almost all of this space.
If I could bundle only languages I need, the bundle size would decrease significantly

There is another way...
If you need only to remove accents in the latin languages, I`ll recommend to use String.prototype.normalize for now.
// shim for String.prototype.normalize https://github.com/walling/unorm
export default str => str.normalize('NFKD')
    .replace(/[\u0300-\u036f]/g, "") // remove accents
    .replace(/\u0142/g, "l"); // ł is a letter in itself

/*
const normalize = import('normalize.js')
console.log(normalize('ąśćńżółźćęāēūīšģķļ'))
*/

With webpack the one could map required alphabet for transliteration to charmap.json
Example
https://gist.github.com/ogonkov/bb415854f6a27e39471d391672e43003

@ogonkov Nice idea, if I have time I'll first try to replace browserify with webpack. And maybe it's better to make different builds for different purpose and developer's own preference, so it can be more flexible.
Currently if you want you can replace the default character map database by using an undocumented API (transliterate.setCharmap()). But you cannot get rid of the default one. The character map data is originally from ICU project, and its quality is pretty low. I can't find any better data source though.

Well, the solution above works for me pretty nice, it leaves only required data in json, and saves a lot in total
For Russian transliteration this charmap works smoothly

I'm also thinking to compress the JSON file and unpack it in the browser, so it can save around 100+KB space for the default code map data.

I think it's better not bundle JSON by default, and have all charmap keys as separate imports, which could be imported separately

2.x is breaking my solution above because now JSON data is bundled to JS file, that used it.

I'll probably implement this in next version, but only if I can manage to get enough time

What is the plan? How it should work?

Like separating function and data as this issue suggested, and probably also adding an async method since sync operations may block the main thread for intensive usage. Also I'm planning to implementing a new method to optimize the algorism, to both reduce the package size and also improve the performance a bit.
Anyway, considering my current workload, I might not be able to get enough time working on it in 1-2 months, unless there's a sponsor.

One of the proposals in this comment? https://github.com/dzcpy/transliteration/issues/14#issuecomment-219258081

One of the proposals in this comment? #14 (comment)

I have to investigate a bit more first, but should be something similar.

Other transliteration packages, such as the Transliteration component of Drupal - whose data was originally based on the Unidecode CPAN package but heavily improved in the meantime - are using separate mapping files for each language, and the language needs to be passed as an argument to the transliterate() function.  You could save a lot of time and effort by parsing and converting those existing data files from PHP into JSON (with a one-liner) as an ongoing data update process executed each time before releasing new package versions?
As a former co-maintainer of Drupal's Transliteration project - even though the base data of Unidecode was an excellent starting point already - I can tell that this is a fairly big undertaking and never-ending process of patches that are hard to verify and confirm without knowledge about the native languages, so you need a large and active community of contributors for all languages to get them right.

Other transliteration packages, such as the Transliteration component of Drupal - whose data was originally based on the Unidecode CPAN package but heavily improved in the meantime - are using separate mapping files for each language, and the language needs to be passed as an argument to the transliterate() function. You could save a lot of time and effort by parsing and converting those existing data files from PHP into JSON (with a one-liner) as an ongoing data update process executed each time before releasing new package versions?
As a former co-maintainer of Drupal's Transliteration project - even though the base data of Unidecode was an excellent starting point already - I can tell that this is a fairly big undertaking and never-ending process of patches that are hard to verify and confirm without knowledge about the native languages, so you need a large and active community of contributors for all languages to get them right.
EDIT: PR #57 from 2017 seems to go in a similar direction.

Yes, actually I used to be a Drupal developer myself (Drupal 6) It's an excellent module and gave me a lot of inspiration. And the original data was converted from PHP, I think initially it's from IBM's ICU project, but back then Drupal's transliteration module didn't have separate files. Maybe I'll take a look again. There are many errors in the data but I've been fixing them whenever anyone find one.
Maybe we can share the data between the two project.
I'm thinking to refactor the code from scratch, Just have't had enough time.
As you said, a large and active community is necessary. Do you have any suggestins in building such a community?


⚠ File access has degraded performance

In 7b85583, File access (https://fyle.uk/file/fish) experienced degraded performance:

HTTP code: 200
Response time: 2566 ms

Resolved: File access performance has improved in fc571cc after 12 minutes.


Allow re-rendering after config has changed

After changing the config we'd want to render our images with new settings, but if the script sees that the source images haven't changed it refuses to re-render. Could check to see if images.yaml is newer than the last outputs.

Yeah the way I used to get around this was to just find images/ | xargs touch. touch will just set their last modified date to the current time, so that'll force rebuild. But yeah, that would be a cool feature.

I might've jumped the gun on this one. It works, but all output groups will be re-rendered after the config is updated, whereas we really only want to re-render the specific groups that were updated. To do that, we'd have to keep track of the properties used to generate each output file.
It might be possible to use a flat-file to store hashes of each outputConfig by group and do a re-render if we come across an outputConfig that hasn't been seen before (and then prune the ones that no longer exist) in addition to re-rendering when the source images change.
In the meantime, should I undo the changes to ModCheck? I could also just put a --rerender <group(s)> option in its place until something more automatic is implemented.

I've been using a simple modification that just puts a hash of the output description into the filename of the build files, and it works pretty well. The only issue is leftover obsolete build images, but it shouldn't be hard to add a command line option for pruning out configs that no longer exist in images.yaml.


CMake library target

Thank you for the nice library. I'm trying it out in a PR to the open source project Minetest, because libspatialindex isn't as convenient to extend for line intersection.
I've had to write my own Find script for your library; it would be a nice feature if you provided an interface library target yourselves. If this is something you'd appreciate as a contribution, I would be happy to PR a basic CMakeLists.txt to create an INTERFACE target with the appropriate include directory attached.

Glad it was useful, yes, I didn't consider that but it's a nice idea so please feel free to create a PR.


MNT: if no trigger signal, assume no need

If self.trigger_signals is an empty list, assume there is no need to
trigger the device (and it is immediatly done) instead of raising.
My proposal for NSLS-II/bluesky#279

Travis can't find tifffile. @ericdill was that removed from lightsource2 today?

Closes #219

@ericdill Looks like it was remove today. Why? I tried to fix myself but anaconda copy is still broken.
$ anaconda copy --to-owner lightsource2 soft-matter/tifffile/0.3.1
Using binstar api site https://api.anaconda.org
[ServerError] Copying anaconda packages temporarily disabled. This issue is being tracked here: https://github.com/Anaconda-Server/docs.anaconda.org/issues/119


Collaborate with others

There are multiple libraries attempting to simplify icon generation, based on an SVG template.
It would be neat if those projects could collaborate on an underlying lib, and then use that shared lib for various things (Cordova, React Native, CLI, etc).
By collaborating on a shared base you would free time for more sugar on top (specific to Cordova, React Native, etc). Plus, there is a steady stream of new icons etc, so supporting them requires a group effort.
Some repos that could benefit from collaboration:
https://github.com/quasarframework/app-extension-icon-genie
https://github.com/isleofcode/splicon
https://github.com/aeirola/react-native-svg-app-icon
https://github.com/SamVerschueren/mobicon-cli
Let me know what you think!
Ping!
@aeirola
@dwieeb
@alexblom
@SamVerschueren

Sounds like a interesting idea. Nice that you brought it up. I'd be happy to extract code from react-native-svg-app-icon to a shared library. Not really sure what you had in mind. Looking at the list of projects, they all seemed to have quite different approaches to SVG.
Nonetheless, here are some of the things I find valuable in react-native-svg-app-icon, and which could be included in a shared lib:

Generation of vector drawable adaptive icons from SVG source using https://github.com/Ashung/svg2vectordrawable
Generation of cropped and shaded Android legacy icons from adaptive icon SVG source, similarly to what Image Asset Studio does
Generation of iOS PNG icons from SVG source
No dependencies outside of NPM, using https://github.com/lovell/sharp for SVG rasterisation

Additionally, it could be nice to see joint effort in building iOS PDF icon generation from SVG sources. This would free tooling from having to generate separate icon files for each device.
One thing I would be a bit cautious about though, is an unclear scope of the shared library. If it tries to support all icon types (launchers, splashes, notifications) on all platforms (mobile, web, electron) for all file formats (PNG, JPG, SVG), then there is a risk that it will become a bit hard to maintain and dependant on a lot of external libraries.
But if we can come up with a clear separation of concerns for the library (or perhaps collection of libraries?), then I'm definitely willing to contribute some time for the common good.

Friendly ping @dwieeb @alexblom @SamVerschueren 😄

This project doesn't support source SVGs (just sufficiently sized PNGs). This may change in the future, but is not the case today.
What could be reusable is the resultant raster specification for each platform. Right now, each project must maintain its own list (see resources.ts for cordova-res). When new sizes are added by Apple or Google or Microsoft, each project must be separately updated. I would like to see these resource definitions shared.
Anything higher level would probably require more discussion. Projects may target different engines, such as React Native, Cordova, Capacitor(?), etc. So I'm not sure how much could be reused. For the most part, the sharp API is plenty concise for the transformations we're doing.

For those looking for capacitor icons, I found this comment to work great for me!
Perhaps it can be integrated in?
https://github.com/ionic-team/capacitor/issues/229#issuecomment-538146260

Thanks for the convo. Closing as we're probably not going to prioritize anything here but happy to continue the conversation here and might revisit at a later date


Feature Request: Visibility rewrites

Background
Frequently, when making a binary project, when I try to use something and forget to make it public, RustRover will give me a button to automatically make it public, but it makes it pub(crate). For workspaces with only one crate, with that crate being a binary, it is functionally identical to pub, but more verbose.
Request
Introduce a new option, visibility_rewrites, which is a table with optional keys "public" | "crate" | "self" | "super" | "default", and the same as values (except the values are PascalCase because it's an enum).
This table acts as a replacement table for visibilities.
This does nothing to pub ( in {} ) modifiers.
The default configuration for the property would just keep the existing visibility, like this:
[visibility_rewrites]
public = "Public"
crate = "Crate"
self = "Self"
super = "Super"
default = "Default"

Example
rustfmt.toml
[visbility_rewrites]
crate = "Public"

main.rs
pub(crate) fn example() {
    todo!();
}

output.rs
pub fn example() {
    todo!();
}

Considerations

This may be a bit too complicated, and we could just have a rewrite_pub_crate option.

This would also save people from accidentally rewriting public to default, which I doubt anyone would ever want.

Feedback is greatly appreciated!

I don't think this is a feature we'll support in rustfmt. Maybe changes can be made in RustRover to support what you're asking.


request fails with bad handshake error

Summary.
I've a node.js server running with local certificate for SSL connection created using openssl command as,
$ openssl req -x509 -newkey rsa:2048 -nodes -sha256 -subj '/CN=localhost'   -keyout localhost-privkey.pem -out localhost-cert.pem

Trying to use requests module to initiate communication with this node.js server which fails with various errors.
Reproduction Steps
>>> import requests
>>> requests.get("https://localhost:9000/getcpuinfo")
...
requests.exceptions.SSLError: ("bad handshake: Error([('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')],)",)

So I tried to pass verify=False option as,
>>>  requests.get("https://localhost:9000/getcpuinfo", verify=False)
equests.exceptions.SSLError: ("bad handshake: SysCallError(-1, 'Unexpected EOF')",)

I tested the server with "curl" utility as shown below,
$ curl  https://localhost:9000/loaddb
curl: (60) SSL certificate problem: self signed certificate <--- fails

But it works with "-k" to ignore certificate verification step,
$ curl -k  https://localhost:9000/getcpuinfo
{"hw":{"architecture":"x64","model":"Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz","speed":899,"sys":3600700,"irq":0,"idle":2617236700,"user":17612800,"nice":39400,"endianness":"LE","totalmem":33605652480,"freemem":27233288192},"sw":{"platform":"linux","release":"4.9.0-3-amd64","type":"Linux","uptime":265048},"appName":"Cluster","version":{"http_parser":"2.7.0","node":"9.0.0-pre","v8":"6.1.534.42","uv":"1.14.1","zlib":"1.2.11","ares":"1.13.0","modules":"58","nghttp2":"1.25.0","openssl":"1.0.2l","icu":"59.1","unicode":"9.0","cldr":"31.0.1","tz":"2017b"},"cpuCount":0}

So why doesn't requests module ignores certificate validation when "verify=False"?
Environment details:
OS:
Linux nodejs-work 4.9.0-3-amd64 #1 SMP Debian 4.9.30-2+deb9u5 (2017-09-19) x86_64 GNU/Linux
Python:
Python 2.7.13 (default, Jan 19 2017, 14:48:08)
[GCC 6.3.0 20170118] on linux2
Client/Public certificate (localhost-cert.pem),
----BEGIN CERTIFICATE-----
MIIC/jCCAeagAwIBAgIJAKATu2AY/QT4MA0GCSqGSIb3DQEBCwUAMBQxEjAQBgNV
BAMMCWxvY2FsaG9zdDAeFw0xNzExMDkyMTQ1NTBaFw0xNzEyMDkyMTQ1NTBaMBQx
EjAQBgNVBAMMCWxvY2FsaG9zdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
ggEBAJTPk5nao0wG/EDFGnq7BvXMkEZ5oUVq7PAUxWi+E/byJk924l7Z5kACgWBa
zQL0lLXLpdMk97EFGWMblz5Ehtqh7U8HaE9OZ6x/pesDTka+REnpXecklRrdZHX7
lfFnNIU58grPpB2GyUXrRdOtcPlaKXUo+VTd7PgwMtYVtt8pyTWxSB2MMYrqJGT8
78KX6trRzQLm7tas3U0jD59+R8j7gxU6FyFaNJBrkJ5T9kHGKOsAzSqZdCgRBjl5
i7xcXJfOAAnZ3jhGlY5DQht+HZDHhjkLG9kcZZhFDYteFk8drzbd3lBw96nLq+8A
Sy92FtQL4GiYSwZ0WVAmwmTCGjUCAwEAAaNTMFEwHQYDVR0OBBYEFLYjwGKbcV9h
sYHxe8l9UvXVivByMB8GA1UdIwQYMBaAFLYjwGKbcV9hsYHxe8l9UvXVivByMA8G
A1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAHl7okBCJlms+cwfzLhs
sbyyuX2wgngxyvjy497zBmeh1TiueGPhOx9u/sfJSZmoUaeRd/zPGkp2DcPQ+Lo2
EHYrXMPE1Ecgpu/15JZ8jNuE+FwZb9lllULLwzq8pDkdbdsSRltdV/rFlZ2YkscB
c+xvVaCltw5KpKnY6AWHoqwoDcd8TZKzyKXLSuluKbHNC1lvg8cMzs6hFA9P92Ae
9P08AKLAIOGJ7QzRrXQIsAO4p9rHheeZeYQZyNiRrXPQUoWos4+OjynaNs+FabhN
XBtSl/GGPRRRfU/D9v4iKfQx15CEvs1AKn1Z6mIPF05pSqbgIoz2mJBV6UM7e+hz
TRs=
-----END CERTIFICATE-----

Requests is ignoring the certificate validation: the server you're using is closing the connection in our face after it sends the certificate to us. That is an issue with your server.


Document "resources" usage in templates that use "extends"

It seems that you can have multiple resources definitions if you use new extends keyword. This works:

azure-pipelines.yml

resources:
   containers:
      - container: node_latest
        image: node:latest

extends:
  template: template.yml

template.yml

resources:
  containers:
    - container: node_lts
      image: node:lts

jobs:
- job:
  pool:
    vmImage: ubuntu-latest
  steps:
    - bash: node --version
      target: node_latest

    - bash: node --version
      target: node_lts

The rendered template will look like this and the pipeline will run without issues:
resources:
    containers:
    - container: node_lts
    image: node:lts
    - container: node_latest
    image: node:latest
stages:
- stage: __default
    jobs:
    - job: ''
    pool:
        vmImage: ubuntu-latest
    steps:
    - task: Bash@3
        target:
        container: node_latest
        inputs:
        targetType: inline
        script: node --version
    - task: Bash@3
        target:
        container: node_lts
        inputs:
        targetType: inline
        script: node --version

Unfortunately this is not documented anywhere. Similar issues:

Defining Resources inside a Template
 (#6533)
Using a Step Template within a Phase Template (nested templates

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 6724abea-bbdc-bf66-ed5e-3214fa6c3e66
Version Independent ID: 4f8dab21-3f0e-da32-cc0e-1d85c13c0065
Content: Templates - Azure Pipelines
Content Source: docs/pipelines/process/templates.md
Product: devops
Technology: devops-cicd-process
GitHub Login: @juliakm
Microsoft Alias: jukullam

Thanks for flagging this @beatcracker! I'm pushing an update to the docs now.


Versions for some distributions are missing

It looks like entries in versions file is missing for some of the supported distributions, at least in the latest at the moment: https://github.com/devops-works/binenv/blob/508cdc86648713394b0f369127224557ac1949c9/distributions/cache.json
binenv itself is not there and if one follows the quick install instructions there are errors:
user@nix:~/tmp/binenv$ ./binenv install binenv
2021-10-16T22:25:24+03:00 WRN version for "binenv" not specified; using ""
2021-10-16T22:25:24+03:00 ERR unable to install "binenv" () error="unable to select latest stable version for \"binenv\": no stable version available. May be run 'binenv update binenv' ?"

The 'full' install instructions instructs to specify a version of binenv to install, i.e.
./binenv install binenv <version>

This way installation works.
Is this expected behavior? It is somewhat inconvenient compared to running binenv versions.

Thanks for reporting this @vasti
I think this issue has been solved yesterday (see #156 #157 #159 #162)
Could you try again please ?
Staring from ./binenv update should be enough.

binenv versions binenv now shows versions (after binenv update).
@leucos thanks for the help.


Changing instance_type does not apply on AWS

Description
Previously, our EKS cluster was configured with t2.micro instances. However, I wanted to bump up the instances to t2.small. The plan said that this change would be applied, and it successfully applied, but I still see the instance type in AWS is t2.small.
Versions

Terraform: v0.14.0

Provider(s): AWS Provider - no idea

Module: provider registry.terraform.io/hashicorp/aws v3.25.0
Module: provider registry.terraform.io/hashicorp/kubernetes v1.13.3

Reproduction

Steps to reproduce the behavior:

Initialize Kubernetes cluster with instance_type = t2.micro
Change cluster to instance_type = t2.small
Execute plan and apply
Check cluster in Amazon EKS. Observe nodes are still t2.micro

Code Snippet to Reproduce

module "eks" {

// other data omitted...

  workers_group_defaults = {
    root_volume_type = "gp2"
  }

worker_groups = [
    {
      name                          = "worker-group-1"
      instance_type                 = "t2.small"
      asg_desired_capacity          = 4
      asg_max_size                  = 5
      asg_min_size                  = 1
      additional_security_group_ids = [aws_security_group.all_worker_mgmt.id]
    },
  ]
}

Expected behavior
The AWS nodes would update to t2.small
Actual behavior
The nodes are still t2.micro

Terminal Output Screenshot(s)

Additional context
Want to bump up the instance type to increase the number of pods available.

 I didn't know I had to do that. Will try the instance refresh on the AWS console, and update back if I have any issues, or close the ticket if it works as expected.

Closed! Thanks a lot for the help. I can now see the cluster instances are t2.small

Hi
I have a query.
If I downgrade the eks cluster   instance type r5.4xlarge to r5.2xlarge via terraform.
1.all running pods will be moved to New instance type without any lost(data/pods).?
2.any other config need to modify
3.first i will enable the prefix_delegation in current cluster then I will downgrade the instance type , wil it leads to any loss of pods.

1.all running pods will be moved to New instance type without any lost(data/pods).?

if they application is  ephemeral then no issue as you dont require move data, if they use persistent storage then if this is following standard practices then persistent volume will be reattached to new pod

2.any other config need to modify
be aware that best practice will be to do in two steps to avoid downtime. Create new node group in one apply and then remove legacy in second apply

3.first i will enable the prefix_delegation in current cluster then I will downgrade the instance type , wil it leads to any loss of pods.

pods should be recreted


python3Packages.pyqtdarktheme: init at 2.1.0

Description of changes
https://github.com/5yutan5/PyQtDarkTheme
Depends on https://github.com/NixOS/nixpkgs/pull/257434.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

@ofborg build python311Packages.pyqtdarktheme python312Packages.pyqtdarktheme python311Packages.pyqtdarktheme.passthru.tests python312Packages.pyqtdarktheme.passthru.tests

Result of nixpkgs-review pr 257435 run on x86_64-linux 1

2 packages built:

python311Packages.pyqtdarktheme
python311Packages.pyqtdarktheme.dist


Allow non textview errorview in LceAnimator.showErrorView

Hi !
It might be useful to make LceAnimator.showErrorView(View, View, TextView) become LceAnimator.showErrorView(View, View, View)

Agree
legarspol<EMAIL_ADDRESS>schrieb am Di., 12. Jan. 2016, 17:32:

Hi !
It might be useful to make LceAnimator.showErrorView(View, View, TextView)
become LceAnimator.showErrorView(View, View, View)
—
Reply to this email directly or view it on GitHub
https://github.com/sockeqwe/mosby/issues/107.

+1

Done, will be released in February


Plugins are falsely being shown as downloaded and up-to-date

Describe the problem
I am using spiget to download several plugins and see this in the log:
[init] Downloading resource 28140 ...
[init] Resource '28140': installed version '5.4.102' already up to date
[init] Downloading resource 68271 ...
[init] Resource '68271': installed version 'v3.2.2' already up to date
[init] Downloading resource 390 ...
[init] Resource '23307': installed version '1.6.11' already up to date
[init] Resource '8186': installed version '11.1.0' already up to date
[init] Downloading resource 23307 ...
[init] Downloading resource 8186 ...
[init] Resource '34315': installed version '1.7.3' already up to date
[init] Downloading resource 34315 ...
[init] Resource '67436': installed version 'v7.3.51' already up to date
[init] Downloading resource 67436 ...
[init] Resource '62325': installed version '1.7.0' already up to date
[init] Downloading resource 62325 ...
[init] Downloading resource 17311 ...
[init] Resource '390': installed version '4.3.1' already up to date
[init] Resource '17311': installed version '2.1.5' already up to date

However, when I run ls in the plugins/ directory, I don't see any 12345.jar files. Paper doesn't detect or initialize any plugins.
Part of why this may be happening is that I used mc-backup to restore these files. (In debugging I rm -rfed the server and allowed it to restore from a recent backup.
I also tried adding SPIGET_DOWNLOAD_TOLERANCE = 0 but I'm not sure if that would help. It did not fix the issue.
The only .jar in plugins/ is essentialsx, and that works no problem. What am I missing?
It's almost as if a cache isn't being refreshed. Is there any way for me to force this to happen so that it actually downloads the files? Or does this code not work in that way? Thanks!
Container definition
version: '3.3'

services:
  mc:
    image: itzg/minecraft-server
    ports:
      - 25565:25565
    environment:
      EULA: "TRUE"
      TYPE: "PAPER"
      MEMORY: 4G
      ENABLE_COMMAND_BLOCK: true
      SPAWN_PROTECTION: 0
      SPIGET_RESOURCES: 28140,68271,390,17311,62325,67436,34315,8186,23307
      # SPIGET_DOWNLOAD_TOLERANCE: 0
      ICON: "https://cdn.discordapp.com/attachments/redacted.jpg"
      SEED: -4393957161765406855
      # password needs to be explicitly set, otherwise random one is generated at each startup
      RCON_PASSWORD: "redacted"
      DEBUG: false

    volumes:
      - /home/bw/services/mc:/data
    restart: unless-stopped
    depends_on:
      restore-backup:
        condition: service_completed_successfully

  backups:
    image: itzg/mc-backup
    environment:
      BACKUP_INTERVAL: 24h
      RCON_HOST: mc
      RCON_PASSWORD: "redacted"
      PAUSE_IF_NO_PLAYERS: true
      LINK_LATEST: true
      INITIAL_DELAY: 5m

    volumes:
      - /home/bw/services/mc:/data:ro
      - /home/bw/backups/mc:/backups

    restart: unless-stopped
    depends_on:
      mc:
        condition: service_healthy

  # "init" container for mc to restore the data volume when empty
  restore-backup:
    # Same image as mc, but any base image with bash and tar will work
    image: itzg/mc-backup
    restart: no
    entrypoint: restore-tar-backup
    volumes:
      # Must be same mount as mc service, needs to be writable
      - /home/bw/services/mc:/data
      # Must be same mount as backups service, but can be read-only
      - /home/bw/backups/mc:/backups:ro

  # web:
  #   image: itzg/rcon
  #   environment:
  #     RWA_USERNAME: admin
  #     RWA_PASSWORD: "redacted"
  #     RWA_ADMIN: "TRUE"
  #     # is referring to the hostname of 'mc' compose service below
  #     RWA_RCON_HOST: mc
  #     # needs to match the RCON_PASSWORD configured for the container
  #     RWA_RCON_PASSWORD: "redacted"
  #   ports:
  #     - 4326:4326
  #     - 4327:4327
  #   restart: unless-stopped

Container logs
[init] Running as uid=1000 gid=1000 with /data as 'drwxrwxr-x 12 1000 1000 4096 Jan 25 04:09 /data'
[init] Resolving type given PAPER
[mc-image-helper] 04:34:40.157 INFO  : Resolved paper to version 1.20.4 build 398
[init] Getting plugins via Spiget
[init] Downloading resource 28140 ...
[init] Resource '28140': installed version '5.4.102' already up to date
[init] Downloading resource 68271 ...
[init] Resource '68271': installed version 'v3.2.2' already up to date
[init] Downloading resource 390 ...
[init] Resource '390': installed version '4.3.1' already up to date
[init] Downloading resource 17311 ...
[init] Resource '17311': installed version '2.1.5' already up to date
[init] Downloading resource 62325 ...
[init] Resource '62325': installed version '1.7.0' already up to date
[init] Downloading resource 67436 ...
[init] Resource '67436': installed version 'v7.3.51' already up to date
[init] Downloading resource 34315 ...
[init] Resource '34315': installed version '1.7.3' already up to date
[init] Downloading resource 8186 ...
[init] Resource '8186': installed version '11.1.0' already up to date
[init] Downloading resource 23307 ...
[init] Resource '23307': installed version '1.6.11' already up to date
[init] Setting initial memory to 4G and max to 4G
[init] Starting the Minecraft server...
Starting org.bukkit.craftbukkit.Main
System Info: Java 17 (OpenJDK 64-Bit Server VM 17.0.9+9) Host: Linux 6.1.0-17-amd64 (amd64)
Loading libraries, please wait...
2024-01-25 04:35:07,474 ServerMain WARN Advanced terminal features are not available in this environment
[04:35:12 INFO]: Environment: Environment[sessionHost=https://sessionserver.mojang.com, servicesHost=https://api.minecraftservices.com, name=PROD]
[04:35:13 INFO]: Loaded 1174 recipes
[04:35:14 INFO]: Loaded 1271 advancements
[04:35:14 INFO]: Starting minecraft server version 1.20.4
[04:35:14 INFO]: Loading properties
[04:35:14 INFO]: This server is running Paper version git-Paper-398 (MC: 1.20.4) (Implementing API version 1.20.4-R0.1-SNAPSHOT) (Git: b700460)
[04:35:15 INFO]: Server Ping Player Sample Count: 12
[04:35:15 INFO]: Using 4 threads for Netty based IO
[04:35:15 WARN]: [!] The timings profiler has been enabled but has been scheduled for removal from Paper in the future.
    We recommend installing the spark profiler as a replacement: https://spark.lucko.me/
    For more information please visit: https://github.com/PaperMC/Paper/issues/8948
[04:35:15 INFO]: [ChunkTaskScheduler] Chunk system is using 1 I/O threads, 1 worker threads, and gen parallelism of 1 threads
[04:35:15 INFO]: Default game type: SURVIVAL
[04:35:15 INFO]: Generating keypair
[04:35:15 INFO]: Starting Minecraft server on *:25565
[04:35:15 INFO]: Using epoll channel type
[04:35:15 INFO]: Paper: Using libdeflate (Linux x86_64) compression from Velocity.
[04:35:15 INFO]: Paper: Using OpenSSL 1.1.x (Linux x86_64) cipher from Velocity.
[04:35:15 INFO]: [Essentials] Loading server plugin Essentials v2.21.0-dev+25-fbfd7e9
[04:35:15 INFO]: Server permissions file permissions.yml is empty, ignoring it
[04:35:15 INFO]: Preparing level "world"
[04:35:16 INFO]: Preparing start region for dimension minecraft:overworld
[04:35:16 INFO]: Time elapsed: 289 ms
[04:35:16 INFO]: Preparing start region for dimension minecraft:the_nether
[04:35:16 INFO]: Time elapsed: 156 ms
[04:35:16 INFO]: Preparing start region for dimension minecraft:the_end
[04:35:17 INFO]: Time elapsed: 98 ms
[04:35:17 INFO]: [Essentials] Enabling Essentials v2.21.0-dev+25-fbfd7e9
[04:35:17 INFO]: [Essentials] Attempting to convert old kits in config.yml to new kits.yml
[04:35:17 INFO]: [Essentials] No kits found to migrate.
[04:35:18 INFO]: [Essentials] Loaded 39095 items from items.json.
[04:35:18 INFO]: [Essentials] Using locale en_US
[04:35:18 INFO]: [Essentials] ServerListPingEvent: Spigot iterator API
[04:35:18 INFO]: [Essentials] Starting Metrics. Opt-out using the global bStats config.
[04:35:18 INFO]: [Essentials] Using superperms-based permissions.
[04:35:18 INFO]: Starting remote control listener
[04:35:18 INFO]: Thread RCON Listener started
[04:35:18 INFO]: RCON running on <IP_ADDRESS>:25575
[04:35:18 INFO]: Running delayed init tasks
[04:35:18 INFO]: Done (4.392s)! For help, type "help"
[04:35:18 INFO]: Timings Reset
[04:35:18 INFO]: [Essentials] Fetching version information...
[04:40:19 INFO]: Thread RCON Client /<IP_ADDRESS> started
[04:40:19 INFO]: Thread RCON Client /<IP_ADDRESS> shutting down
[04:40:19 INFO]: Thread RCON Client /<IP_ADDRESS> started
[04:40:19 INFO]: [Rcon: Automatic saving is now disabled]
[04:40:19 INFO]: Thread RCON Client /<IP_ADDRESS> shutting down
[04:40:19 INFO]: Thread RCON Client /<IP_ADDRESS> started
[04:40:20 INFO]: ThreadedAnvilChunkStorage (world): All chunks are saved
[04:40:20 INFO]: ThreadedAnvilChunkStorage (DIM-1): All chunks are saved
[04:40:20 INFO]: ThreadedAnvilChunkStorage (DIM1): All chunks are saved
[04:40:20 INFO]: ThreadedAnvilChunkStorage: All dimensions are saved
[04:40:20 INFO]: [Rcon: Saved the game]
[04:40:20 INFO]: Thread RCON Client /<IP_ADDRESS> shutting down
[04:41:41 INFO]: Thread RCON Client /<IP_ADDRESS> started
[04:41:41 INFO]: [Rcon: Automatic saving is now enabled]
[04:41:41 INFO]: Thread RCON Client /<IP_ADDRESS> shutting down

Note: Essentials shows up because I downloaded it separately.

Looks like it may be this file: https://github.com/itzg/docker-minecraft-server/blob/161ca91ab33476a95eb32ba7e54d3dd11e818451/scripts/start-spiget#L50

Yep! Deleting those hidden json files fixed it. The plugins redownloaded and loaded properly.


Update DTOs

Update the unit-stack-configuration and monitor-location DTOs (workspace and global) as shown below
Add unitName and stackPipeName
unitName would map to DB Table camd.Unit.UnitId (on both workspace and global DTOs)
stackName would map to DB table camdecmpswks.stack_pipe.stack_name (for workspace)
stackName would map to DB table camdecmps.stack_pipe.stack_name (for global view)
unitId should be number to match unit-stack-configuration DTO

#2623
#2653

After review of the current setup:
The unit-stack-configuration DTO will be updated to include unitName and populate the stackName attribute as indicated in the ticket
The monitor-location will be kept as is, since it's already loading the stackName and unitName under the name attribute. DTO validations will not be applicable to the name field in monitor-location
Update ticket #2701 and review IMPORT Checks logic as well

Test Case TC633
Test Passed


Write characteristic UUID not found

I also detailed this on your announcement post on HASS forums.
The light gets detected but then when you select the light it refuses to connect to it and add it to HA.
2021-11-21 16:17:52 ERROR (MainThread) [custom_components.triones] Error getting status: Characteristic with UUID 0000ffd4-0000-1000-8000-00805f9b34fb could not be found!
2021-11-21 16:17:52 DEBUG (MainThread) [custom_components.triones] Traceback (most recent call last):
  File "/config/custom_components/triones/triones.py", line 73, in update
    await self._device.start_notify(R_CHARACTERISTIC_UUID, create_status_callback(future))
  File "/usr/local/lib/python3.9/site-packages/bleak/backends/bluezdbus/client.py", line 915, in start_notify
    raise BleakError(
bleak.exc.BleakError: Characteristic with UUID 0000ffd4-0000-1000-8000-00805f9b34fb could not be found!

2021-11-21 16:17:52 DEBUG (MainThread) [custom_components.triones]  cc 23 33

Thanks for reporting and the helpful error log. I have an idea on fixing this, but it might take some time. I assumed that the characteristic UUID is the same for all Triones. Apparently not so the implementation needs to query for the characteristics UUIDs first.

I did more digging into this. I think the implementation correctly follows this protocol.
It is possible that your device is using a different UUIDs. Can you connect to your device using a BLE debug app and see the service and characteristic UUID it exposes?

Found more characteristic UUIDs from another open source Triones implementation.
Do try the latest code if it fixes the issue. Otherwise, I will need you to do BLE scanning of your device the find the necessary UUIDs.

This error originated from a custom integration.

Logger: custom_components.triones
Source: custom_components/triones/triones.py:101
Integration: Triones (documentation, issues)
First occurred: 15:06:06 (3 occurrences)
Last logged: 15:06:13

Error getting status: [org.bluez.Error.Failed] Software caused connection abort

Have the same problem, too.
To give some context, it was this one: https://pt.aliexpress.com/item/33002886875.html

@claudiocn this looks like a different error. Please enable debugging for full error trace.

here it is:
2021-12-08 16:27:49 ERROR (MainThread) [custom_components.triones] Error getting status: [org.bluez.Error.Failed] Software caused connection abort 2021-12-08 16:27:49 DEBUG (MainThread) [custom_components.triones] Traceback (most recent call last): File "/home/homeassistant/.homeassistant/custom_components/triones/triones.py", line 69, in update await self._device.connect(timeout=20) File "/srv/homeassistant/lib/python3.9/site-packages/bleak/backends/bluezdbus/client.py", line 278, in connect assert_reply(reply) File "/srv/homeassistant/lib/python3.9/site-packages/bleak/backends/bluezdbus/utils.py", line 23, in assert_reply raise BleakDBusError(reply.error_name, reply.body) bleak.exc.BleakDBusError: [org.bluez.Error.Failed] Software caused connection abort 2021-12-08 16:27:49 DEBUG (MainThread) [custom_components.triones] cc 23 33

Seems to be a timeout, don't know why :\

@claudiocn this is common. See this issue. It is a BLE connection issue that will self recover. The debug log “cc 23 e3” shows that it successfully recovered and sent a BLE message.
I will make an update to the logs to make it clearer.

But the problem is: it doesn't connect at all when setupping.
Just to give a try, tested with the following tool and it worked perfectly: https://github.com/vinceroti/bt-triones

Disconnected from the other library. Didn't work.
Turned it off and on again. Didn't work. Retried a couple of times and nothing.
2021-12-08 17:05:57 ERROR (MainThread) [custom_components.triones] No supported read/write UUIDs found
2021-12-08 17:05:57 DEBUG (MainThread) [custom_components.triones] cc 23 33
2021-12-08 17:06:06 ERROR (MainThread) [custom_components.triones] No supported read/write UUIDs found
2021-12-08 17:06:06 DEBUG (MainThread) [custom_components.triones] cc 23 33
2021-12-08 17:06:13 ERROR (MainThread) [custom_components.triones] No supported read/write UUIDs found
2021-12-08 17:06:13 DEBUG (MainThread) [custom_components.triones] cc 23 33
2021-12-08 17:07:12 ERROR (MainThread) [custom_components.triones] Error getting status: Device with address FF:FF:CD:02:EE:19 could not be found. Try increasing `timeout` value or moving the device closer.
2021-12-08 17:07:12 DEBUG (MainThread) [custom_components.triones] Traceback (most recent call last):
File "/home/homeassistant/.homeassistant/custom_components/triones/triones.py", line 69, in update
await self._device.connect(timeout=20)
File "/srv/homeassistant/lib/python3.9/site-packages/bleak/backends/bluezdbus/client.py", line 216, in connect
raise BleakError(
bleak.exc.BleakError: Device with address FF:FF:CD:02:EE:19 could not be found. Try increasing `timeout` value or moving the device closer.
2021-12-08 17:07:12 DEBUG (MainThread) [custom_components.triones] cc 23 33

Thanks, this is have better logs and is the same issue here. No supported read/write UUIDs found means that the read UUID for your device is not known. Unfortunately, Triones uses many different UUIDs.
The test tool you used will only do writes to your device, but not reads (it does not know the current device state). The missing UUID here is for reads.
Can you help do this:

It is possible that your device is using different UUIDs. Can you connect to your device using a BLE debug app (such as this) and share the service and characteristic UUID it exposes?

From what I see, it's doing a match, it's a known UUID :\

Yeah, it’s weird. I’ll add some more debug logs later to figure this out.

Well, using it directly through the gatttool tool, did the following commands and using the source code in the bt-triones  to get the values to be sent, did the following and it's working perfectly from the RPi from where I'm using Home Assistant:

gatttool -I to start
connect FF:FF:CD:02:EE:19 to connect to the trione with that Mac Address
primary to see the actions (handle), the first one did nothing, but the second one (0x007) did! so with the bt-triones values...
char-write-cmd 0x007 cc2433 to turn off
char-write-cmd 0x007 cc2333 to turn on
char-write-cmd 0x007 5600ff0000f0aa to change to colour: R=00, G=ff, B=00

values come from here (from bt-triones  source code):

Can you add logs to the triones.py:72 uuid detection code to see why it’s not finding the uuid?
You can modify the code inside custom_components/triones folder.

It seems to be empty.
2021-12-08 20:00:01 INFO (MainThread) [custom_components.triones] {}
2021-12-08 20:00:01 ERROR (MainThread) [custom_components.triones] No supported read/write UUIDs found
2021-12-08 20:00:01 DEBUG (MainThread) [custom_components.triones] cc 23 33

Try logging self._device.services.characteristics.values() instead

                LOGGER.info(self._device)
                LOGGER.info(self._device.services)
                LOGGER.info(self._device.services.characteristics.values())

2021-12-08 20:06:01 INFO (MainThread) [custom_components.triones] BleakClientBlueZDBus, FF:FF:CD:02:EE:19
2021-12-08 20:06:01 INFO (MainThread) [custom_components.triones] <bleak.backends.service.BleakGATTServiceCollection object at 0x7f4a0c90d0>
2021-12-08 20:06:01 INFO (MainThread) [custom_components.triones] dict_values([])

Not sure why the library is not detecting any characteristics. You can check if it detects it if we go through each service. Sample code here.
Meanwhile, you can hardcode the uuid in code too as a workaround.  Just set self._write_uuid and self._read_uuidin theinit` method.

Did some digging with that sample code. the list of services is empty. Can't do a ".values()" but printing for each loop returns zero iterations. Really strange.
Probably because of that, even if I put the UUID, it doesn't work:
2021-12-08 20:59:23 DEBUG (MainThread) [custom_components.triones] Traceback (most recent call last):
File "/home/homeassistant/.homeassistant/custom_components/triones/triones.py", line 90, in update
await self._device.start_notify(self._read_uuid, create_status_callback(future))
File "/srv/homeassistant/lib/python3.9/site-packages/bleak/backends/bluezdbus/client.py", line 915, in start_notify
raise BleakError(
bleak.exc.BleakError: Characteristic with UUID 0000ffd9-0000-1000-8000-00805f9b34fb could not be found!
2021-12-08 20:59:23 DEBUG (MainThread) [custom_components.triones] cc 23 33

Not sure if this is usefull, but here's some additional information:
pi@raspberrypi:~ $ gatttool -i hci0 -b FF:FF:CD:02:EE:19 --characteristics
Discover all characteristics failed: Request attribute has encountered an unlikely error
pi@raspberrypi:~ $ gatttool -i hci0 -b FF:FF:CD:02:EE:19 --primary
attr handle = 0x0001, end grp handle = 0x0004 uuid: 0000ffd0-0000-1000-8000-00805f9b34fb
attr handle = 0x0005, end grp handle = 0x0007 uuid: 0000ffd5-0000-1000-8000-00805f9b34fb
pi@raspberrypi:~ $ gatttool -i hci0 -b FF:FF:CD:02:EE:19 --char-read
A valid handle is required
pi@raspberrypi:~ $ gatttool -i hci0 -b FF:FF:CD:02:EE:19 --interactive
[FF:FF:CD:02:EE:19][LE]> exit
pi@raspberrypi:~ $ gatttool -i hci0 -b FF:FF:CD:02:EE:19 --char-desc
handle = 0x0001, uuid = 00002800-0000-1000-8000-00805f9b34fb
handle = 0x0002, uuid = 00002803-0000-1000-8000-00805f9b34fb
handle = 0x0003, uuid = 0000ffd4-0000-1000-8000-00805f9b34fb
handle = 0x0004, uuid = 00002902-0000-1000-8000-00805f9b34fb
handle = 0x0005, uuid = 00002800-0000-1000-8000-00805f9b34fb
handle = 0x0006, uuid = 00002803-0000-1000-8000-00805f9b34fb
handle = 0x0007, uuid = 0000ffd9-0000-1000-8000-00805f9b34fb

Another guess is we need to call await self._device.get_services() explicitly before querying the services in some implementation. Example here. Can you try it?

the same problem,
No supported read/write UUIDs found
I have changed UUIDs for that which I got in Bluetootk scanner app, the same,
any idea?
I see that there is no new information since 12.2021,

I create supported code repository for uuid 0000fff3-0000-1000-8000-00805f9b34fb is elk-bledom strip.
https://github.com/dave-code-ruiz/elkbledom-ha


Some tests

Try to fix some tests

ok thank you for support i'm working to fix all

i'm refactoring composer with

Please use 4 spaces instead of a tab of 8. This goes for the entire file.

I have fixed all reviews

The EOL were removed from some files.

@samuel20miglia and @xtreamwayz
I'm sorry, but I don't understand the entire goal of this PR.

The title of this PR is too general.
The description says nothing.
Why is composer.json updated?
Why different tests are updated?

Different problems are mixed here. This makes a review very difficult and no person can follow this PR.

I'm really sorry for this drawback,
i am php developer, my personal goal is contributing to a great platform as zf, zexpressive,
i use every day at work..., so help to make  + stable and + testable this already great framework.
@froschdesign  probably i have mixed to much, i'm sorry for this.

@samuel20miglia
Thanks for your quick response and thanks for your work.
Can you edit the description of this PR and add a short explanation?

so help to make + stable and + testable this already great framework.

👍

@samsonasik

When i fork this repo i had some failures on branch develop, so i have thinked to help.

Can you explain what failures you exactly had? All I can see is you changed 1 docblock parameter and added some tests. No code is fixed or changed.

see on top please just edited this tests failed


[FEATURE REQUEST] Default download location

Please confirm these before moving forward.

[X] I have searched for my feature proposal and have not found a work-in-progress/duplicate/resolved/discarded issue.
[X] This proposal is a completely new feature. If you want to suggest an improvement or an enhancement, please use this template.

Describe the new feature
in the settings define the location where you download the installers.
Describe how this new feature could help users
Don't destroy your C drive (SSD) by writing too much data to it.

I am afraid I misunderstood what this request was for.
Default download location cannot be changed, since the download process is handled by the package manager itself and not by UniGetUI.


after_action is not called after rodauth.login

If you have a around_action or after_action configured in your RodauthController, and calling rodauth.login in your action, then the processing stops and the callbacks are not called
  around_action :around_test
  after_action { puts "After action" }

  def around_test
    logger.info "Before around"
    yield
    logger.info "After around"
  end

  def test
<EMAIL_ADDRESS>    rodauth.login("omniauth")
    puts "End of action" # not clear if this would be executed or not
  end

Output:
Started POST "/auth/test" for <IP_ADDRESS> at 2021-04-29 21:55:53 +0200
Processing by RodauthController#test as */*
  Parameters: {"rodauth"=>{}}
Before around
Completed   in 178ms (ActiveRecord: 69.1ms | Allocations: 62204)

This happens the #login Rodauth method redirects via throw, which bubbles up all the way to the Rodauth middleware. throw/catch does execute any ensure blocks, but Active Support callbacks (which are used to implement Action Controller callbacks) don't execute callbacks inside an ensure block, which causes them not to execute.
Technically, this behaviour is probably correct, because the action doesn't really complete executing, because the execution flow breaks out of the controller action, and the Rodauth middleware then returns the response.
Any easy workaround should be to add a catch around the #login call inside the controller, and redirect using Rails instead:
# ...
catch(:halt) do
  rodauth.login("omniauth")
end
redirect_to rodauth.login_redirect

Ok understood. I feel this is not obvious and it might bite some people as rodauth-rails handles it with rodauth actions, but not here. Maybe at least we should add some documentation about it?
In my case, we have a way to emit events from controllers (new login, account…) and the events are grouped and emitted in bulk in an after_action, and this was silently not triggered in our omniauth login action, causing some events to be lost.

I think another simple option is simply to make your around_action use ensure, like so:
def around_test
  logger.info "Before around"
  yield
ensure
  logger.info "After around"
end

I've finally been looking into this today. I initially thought that we need to find a generic way how to convert halting in any rodauth method into a controller response, but then I realized that Devise's #authenticate_user! is throwing as well (as it's calling Warden's #authenticate! internally), and people have obviously been fine with that.
So, it seems that it needs to be possible only for selected methods, such as #login. So I've come up with a #rodauth_response method, which catches :halt and writes the response data on the controller.
rodauth_response do
  rodauth.login("omniauth")
end

It's a bit cumbersome, I know, but I couldn't come up with anything better at this time. I initially started writing a macro that defines controller methods that delegate to rodauth, with rodauth calls automatically wrapped inside a rodauth_response { ... } block. However, since I didn't find good enough use cases outside of this one, I chose to keep only the #rodauth_response method for now.


Editor: Word Wrap User setting not persistent after app restart

Issue Type: Bug

File -> Preferences -> Settings -> Editor: Word Wrap, change setting from 'off' to 'on'
Exit vs-code
Note that code process no longer in system process list
Note that ~/.config/Code/User/settings.json contains: "editor.wordWrap": "on"
Start vs-code
See that File -> Preferences -> Settings -> Editor: Word Wrap resets back to 'off'
Note that ~/.config/Code/User/settings.json now contains: "editor.wordWrap": "off"

This occurs if Settings Sync is on or off
An immediate workaround is to use the Workspace setting for Editor: Word Wrap, which does appear to be persistent
VS Code version: Code 1.56.2 (054a9295330880ed74ceaedda236253b4f39a335, 2021-05-12T16:45:26.313Z)
OS version: Linux x64 5.4.0-74-generic
Extensions (16)

Extension
Author (truncated)
Version

vscode-intelephense-client
bme
1.7.1

php-debug
fel
1.16.0

vscode-docker
ms-
1.13.0

python
ms-
2021.5.842923320

vscode-pylance
ms-
2021.6.1

jupyter
ms-
2021.6.832593372

remote-containers
ms-
0.177.2

remote-ssh
ms-
0.65.4

remote-ssh-edit
ms-
0.65.6

remote-wsl
ms-
0.56.4

vscode-remote-extensionpack
ms-
0.21.0

cpptools
ms-
1.4.1

autodocstring
njp
0.5.4

trailing-spaces
sha
0.3.1

code-spell-checker
str
1.10.2

vim
vsc
1.21.0

(1 theme extensions excluded)

Have checked existing issues, not the same. Good bot

This sounds like the same issue with settings reverting: #125889

This appears to be caused by the vim extension, closing


Make SDT output in JSON format

The SDT output is currently not in JSON format but in plain text format.
Should be changed to JSON.

Now we are printing SDT info as
{
  "SDT": [
    {
      "serviceId": 1,
      "descriptors": [
        {
          "serviceName": "ts-info",
          "providerName": "Eyevinn Technology"
        }
      ]
    }
  ]
}


Bing ads api authorization problem

Hi guys,
I've done all steps as it's described in this article - https://docs.microsoft.com/en-us/bingads/guides/walkthrough-desktop-application-php?view=bingads-12
As a result, refresh token was written to refresh.txt file but I got error -
Fault Code: s:Server Fault String: Invalid client data. Check the SOAP fault details for more information Fault Detail: object(stdClass)#28 (1) { ["AdApiFaultDetail"]=> object(stdClass)#29 (2) { ["TrackingId"]=> string(36) "fd3e2a21-c7df-40b6-8d1a-670279b436bd" ["Errors"]=> object(stdClass)#30 (1) { ["AdApiError"]=> object(stdClass)#31 (4) { ["Code"]=> string(3) "105" ["Detail"]=> NULL ["ErrorCode"]=> string(18) "InvalidCredentials" ["Message"]=> string(89) "Authentication failed. Either supplied credentials are invalid or the account is inactive" } } } } -----
InvalidCredentialsAuthentication failed. Either supplied credentials are invalid or the account is inactive
What seems to be the problem? How can I fix this?
Best regards,
Dmitry

@dmitryfishoil please note, that sample defaults to sandbox environment with dev token BBD37VB98. Are you also using sandbox credentials + app ID? Otherwise if you are using production credentials, please ensure you are using production app ID + production dev token + update the ApiEnvironment in AuthHelper.php.
I hope this helps!

Hi Eric!
Yes, my developer token was wrong. It was problem.
Thanks for your help

@dmitryfishoil thanks for confirming!


Unable to use Form in Remix.run

Remix.run doesn't require onSubmit and handles all logic with action and method
Example:

However in saas-ui, onSubmit is required and I am unable to use it in Remix

None of the elements can be used, because they all rely on Form wrapper

Thanks for your feedback @elcous you can use the form components with remix using the useSubmit hook
https://remix.run/docs/en/main/hooks/use-submit

Also I wasn't able to get it to work with encType="multipart/form-data" for file uploads.
Can't wait until you release file uploads feature with drag/drop
Thank you


Get boot.py pins from board_config

Changed

boot.py now reads button and LED pins from board_config

No issue using this in normal use, nice improvement


Parse CHANGELOGs to discover new Vulnerabilities

FYI This came up in @pombredanne 's talk at  Open Source Summit 2020.
The idea is, FOSS projects which don't come under any CNA might have discovered several bugs which may come under security category and due to
-1. The complexity of getting a CVE
or
-2 Inability to classify a bug as a security issue.
Such security issues may go unnoticed. If we are able to find such issues we will be able to make FOSS safer and a better place obviously, and the users will now have an incentive to upgrade the software which makes coping with changes bearable.
One way to acheive this goal is, parsing CHANGELOGS of FOSS projects, and finding changes which are related to security fixes. For this the implementation of  ML classifier would look like the following: (This is repaste from gitter)

use our existing data, find the version of a package where the vulnerability was first fixed, map the version to it's changelog . There's https://github.com/pyupio/changelogs to fetch changelogs(it maps version->change too). Extract such changelogs.
ML model would be trained by something along the lines of : Given the presence and absence of such and such words , the changelog is/not related to Security. And we would also add non security related changelogs during the training too, so the model is not biased.

The classifier won't be accurate, but would definitely reduce the search space. The CHANGES tagged with security will be fed into a manual curation queue and issued a Vulnerability identifier (Something like CVE) bringing it to 'addressable existence'.

The beginning of wisdom is to call things by their proper name.
-Confucius

This needs https://github.com/nexB/vulnerablecode/issues/232   to be addressed.

As a test what about a project such as Django or Flask?
That could be a practical first thing to work on. And there is also an another related way by using git reflog

@pombredanne  Django has good changelogs for eg https://github.com/django/django/blob/5fcfe5361e5b8c9738b1ee4c1e9a6f293a7dda40/docs/releases/1.8.18.txt#L9 . That would be probably easier to start with.
Having said that I'm pretty sure GHSAs cover that. Is there any value in collecting django changelogs ?

@pombredanne  Django has good changelogs for eg https://github.com/django/django/blob/5fcfe5361e5b8c9738b1ee4c1e9a6f293a7dda40/docs/releases/1.8.18.txt#L9 . That would be probably easier to start with.
Having said that I'm pretty sure GHSAs cover that. Is there any value in collecting django changelogs ?


alternatives annotations

From the /alternatives endpoint, I'm getting back expressions with operations that include .f64 annotations, like (/.f64 1 (+.f64 (sqrt.f64 (+.f64 1 x)) (sqrt.f64 x))) . I will just drop the annotations in JS as a hack for now, since the annotations make Herbie reject the expression if you try to run it as an FPCore body. We should probably revisit this later.

This was solved.


FunctionalTest for LocalizationSample

I made this PR long time back to fix issue #148, I was worrying because the current functional test is compare the actual html content which is not effecient in the Localization Sample, so I introduce a new method to check if a heading part is localized, hopefully this enough in this case
Thanks @DamianEdwards for the sample you push here https://github.com/aspnet/Entropy/pull/83

@Eilon can you please have a look

@Eilon can you review this PR

Any updates in this PR

@hishamco sorry for the delay, we've been busy with vacations (mid-December to early-January), and then all the big rename stuff you've seen. Hopefully we can get this in soon.

:clock1:

No problem @Eilon , hope you enjoy with vacation :smile:
I will try to update the PR ASAP

Overall looks good to me.
@DamianEdwards can you take a super quick look?

@hishamco can you fix the rest of the architechture typos, squash the commits? Then I think we're good to go.

I already fix them, I will take a quick look and squash the commits

@Eilon the PR has been is update it, can you please handle it

:shipit: from me.
@ryanbrandenburg can you take a look and if it's good, merge?

Seems reasonable, :shipit:
I'll do the rebase and merge it in here in a bit.

6f5bddea was the commit after rebasing, thanks!


Add nightly build/redeploy

We should continuously deploy from source every 24-48h

@samtstern we can do this by scheduling a GitHub action to run in equal intervals of time, according to this or using a Travis job, according to this. A rough plan of action for its implementation and requirements would be:

Getting a Firebase token and adding it to the repository secrets (settings -> secrets)
Setting up a Travis CI/Github Actions workflow, for building the repository, and deploying it using the tokens
Running clean up jobs

We actually use Cloud Build for this project for deployment security
reasons so I can set this up on there, just haven’t gotten around to it
yet.
Appreciate the thoughts though!
On Mon, Jun 14, 2021 at 4:49 PM Dewansh Rawat @.***>
wrote:

@samtstern https://github.com/samtstern we can do this by scheduling a
GitHub action to run in equal intervals of time, according to this
https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#onschedule
or using a Travis job, according to this
https://docs.travis-ci.com/user/cron-jobs/. A rough plan of action for
its implementation and requirements would be:

Getting a Firebase token and adding it to the repository secrets
(settings -> secrets)
Setting up a Travis CI/Github Actions workflow, for building the
repository, and deploying it using the tokens
Running clean up jobs

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/google/devlibrary/issues/65#issuecomment-860793168,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACATB2X4SPE3JOTJSFKSKH3TSYQKDANCNFSM46KALAKQ
.

Closing this as we decided to do this in our dev environment on every commit, going to keep prod as manually deployed for now.