Reg 3213 improve robustness of exception handling standalone.py

Extensive refactor addresses several issues.:
(1) Script in existing form permitted failed key generation to proceed with installation. Any failure to substitute default keys with  dynamically generated keys should not be allowed to progress, in order to prevent security risk of duplicate keys.
(2) Clarified the nature of errors being reported in messages to user during installation. Ensured all possible points of failure are now explicitly addressed.
(3) Refactored out redundant code to improve maintainability.
(4) Added logic to use either v1 or v2 docker compose, depending on what is installed on local system.

I tried running this on a fresh ubuntu docker container and fresh ubuntu vm and here are my takeaways:

It assumes I have pip3 installed, it should follow the logic to see if pip3 is installed and if not it installs it (if not the documentation should have prerequisites before running standalone.py
It errors when trying to install docker: Unknown error installing dependency: No module named 'docker'. and exits
The script doesn't work on python 3.8, so possibly add a python version check before proceeding as well like the pip check


Getting status 133 connecting with ESP32 running Nimble

I'm getting trouble connecting to an ESP32 running Nimble. All the time I'm getting the status 133 error and get disconnected during the  ClientBleGatt.connect(context, device, scope) function. After some time trying I'm capable of connecting. I Debuged the ESP32 but there is no error in that part, It seems to be the Android that is getting trouble to connect.
I looked in the ClientBleGatt library but didn't find any configurations for the connection to resolve that error. Here there are some causes for that error but any seems to be the case. Is there some configuration I didn't notice?

+1
Does anyone have any tips on how to fix this?


fix: show pods as running during collect-scan-erase pipeline

Signed-off-by: Peter Engelbert
What this PR does / why we need it:
The collector pods (containing the collector, scanner, and eraser containers) were showing as "NotReady" throughout the duration of the ImageJob. This was because when the collector pod finished its work, its process would end and therefore it would be seen as "Ready: false".
This PR resolves the issue by creating a new named pipe in both the collector and scanner containers. These pipes are opened immediately for reading, which blocks the cleanup of the collector and scanner containers. When the eraser pod finishes its work, it writes to and closes the collector and scanner completion pipes. This stops the blocking on the read end, allowing all containers to shut down at roughly the same time. The end result is a transition from Running to Completed status for the collector pods.
Which issue(s) this PR fixes (optional, using fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when the PR gets merged):
Fixes #395
Special notes for your reviewer:
I haven't run the e2e tests on this yet, so I'm opening this draft PR as the CI runs the tests in parallel.

Codecov Report

Merging #430 (3193184) into main (b2e1493) will decrease coverage by 0.56%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##             main     #430      +/-   ##
==========================================
- Coverage   13.86%   13.29%   -0.57%
==========================================
  Files          12       12
  Lines        1248     1301      +53
==========================================
  Hits          173      173
- Misses       1057     1110      +53
  Partials       18       18

Flag
Coverage Δ

unittests
13.29% <0.00%> (-0.57%)
:arrow_down:

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

Impacted Files
Coverage Δ

pkg/eraser/eraser.go
0.00% <0.00%> (ø)

pkg/scanners/trivy/trivy.go
0.00% <0.00%> (ø)

pkg/utils/utils.go
13.65% <ø> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Small syntax changes for compacity / more control

Motivations:

PR #72, #73, #74 introduced sevral new methods / routines
I noticed that some parts of the code can be written either in a more compact way, or in way that matches better the best practices and give more control on the result

Proposition:

A PR will b proposed that will suggest some minor changes on these points
It won't changes the functionality and will be an optional PR, just for clean-up, you can decide to ignore it

Yes ! Please be sure to check the content I sent you ( the presentations/ Ipython notebook ) for a better view of what's been done.
Make sure that when it can be more compact, it is also easy to understand. A nested nested nested function is indeed very compact, but it's really difficult to understand (and modify it if necessary). So please be sure that the code is still easy to understand (for example it was not the case of set_dparam, after multiple attempts I had to recode huge chuncks because I was not able to understand the philosophy nor the way it functioned)

Core written in a more practical way in previous PR


[core] Add Input Method Editor

Please, before submitting a new issue verify and check:

[x] I tested it on latest raylib version from master branch
[x] I checked there is no similar issue already reported
[x] My code has no errors or misuse of raylib

Issue description
Raylib now has good support for text formatting and rendering, including utf8 encoding/decoding. In cases where the ability to enter text is desired, though, the API does not provide functions and using the key functions to achieve this might work but not as good as expected (this becomes a specially dificult task for non english languages).
Code Example
As we can read in the docs, GLFW provides a callback function for this, so I suppose there's not much to worry on the raylib side besides wrapping it:
typedef void (*CharacterCallback)(unsigned int codepoint);
//...
RLAPI void SetCharacterCallback(CharacterCallback callback);

@overdev GetKeyPressed() function should be enough, did you try it?

Oh..  I didn't know that! What a shame...
I've just tryed it. I'm still having some issue with character with diacritics. I'm yet to investigate the real cause, cause I'm using the Python binding. The code looks like this:
# UPDATE
# ---------------------------
k: int = rl.get_key_pressed()
if k:
    text += chr(k)     # chr(x) returns a single unicode character from the integer x value.

It works fine for all common characters. When i try to type characters like Á, Ç, Ñ, i get the question mark in the rendered text.

Oh... I didn't know that! What a shame...
I've just tryed it. I'm still having some issue with character with diacritics. I'm yet to investigate the real cause, because I'm using the Python binding. The code looks like this:
# UPDATE
# ---------------------------
k: int = rl.get_key_pressed()
if k:
    text += chr(k)     # chr(x) returns a single unicode character from the integer x value.

It works fine for all common characters. When i try to type characters like Á, Ç, Ñ, i get the question mark in the rendered text.
In the Python code, whenever I pass unicode strings to raylib functions, they get encoded in the binding function to a char* compatible type/format. I also added a utility function that allows to set the text encoding (latin1, cp1252, etc.) and it need to be called just once to set an internal global variable.
In the screenshot below I printed a small test of the GetKeyPressed() function. In the game window, on the top, we see the text rendered with DrawTextEx(). In the IDE beind the game window, we see in the output window the text printed as each char is typed (the unicode, followed by its char* counterpart between single quotes.

The font used in the  is Tahoma.

@overdev Captured characters are captured as Unicode codepoints, I think they should be coded as UTF8 for DrawText(). I need to take a closer look to that...

@overdev did you try the DrawTextCodepoints()?

@raysan Sorry for the delay.
I tested it. For some reason it renders what it seems to be
a - character instead of the corresponding glyph.
My test code is below:
# ...
rl.draw_text_codepoint(
    neo,                    # font
    0xe2,                   # 'â' character
    rl.Vector2(300, 32),    # position
    16.0,                   # size
    color_b                 # Color(180, 180, 180, 255)
)
#...

Screenshot:

Tryed with codepoints 0xE9 (é), 0xF1 (ñ) and 0xE2 (â); all resulting the
same.
PS.: In your comment above you typed DrawTextCodePoints(), in plural. Is this another function or just a typo?

Hi @overdev, just tested it with latest raylib from master branch:
DrawTextCodepoint(GetFontDefault(), 0xe2, (Vector2){ 10, 10 }, 50, RED);

It seems to work ok.

Great!
Actually, the font used is Tahoma. I was using a font called Neo Latina before, hence the neo, then changed to Tahoma to do the tests and forgot to rename the variable...
DrawTexture() result:

(I cannot say whether this is expected or not.)
FYI, at the moment I'm dependent on the release binaries, I'm temporarily unable to build from master. Any changes you made now I'll be able to give feedback probably on the next release only.

@overdev On the drawn font.texture do not exist the glyphs: â, é, ñ. Only basic gryphs are available.
When you load the font you need to request those glyphs if they are required:
// Use: Font LoadFontEx(const char *fileName, int fontSize, int *fontChars, int charsCount);
Font tahoma = LoadFontEx("tahoma.ttf", 18, NULL, 250);  // Requesting 250 glyphs, instead of the 95 default ones: 32(space) -> 126(~)

Also note that you can use int *fontChars to provide the list of required Unicode characters on font generation.

The problem was that I completely forgot that I shouldn´t encode the strings to CP1252 (Western-Europe) before passing it to the functions. I'm so used to do it that I did it automaticaly. Also, I changed the codepoint limit from 125 to 250 in the GetKeyPressed() piece of code. Now, with the full char font texture, I can add text input with special characters.
I apologize for the trouble. This "issue" can be closed now.

@overdev nice to read everything works again! 👍😄


Issue retrieving GPTVectorStoreIndex from storage

It seems as though there may be an issue with the V0.6.0 and loading indexes from storage.
When generating the index for the first time and keeping it in memory, I am able to query the index to produce a summary and it works just as expected. In my instance, this involves looping through all the docs and creating an index for each to later be used in a graph.
However, when saving the index to storage and reloading it at a later date, an error is produced anytime the index is queried. I have used a separate persist dir for each index which is passed through when loading them back in.
Here is an example of my setup:
def load_all_indexes(index_files):
    indexes = []
    for index_file in index_files:
            storage_context = StorageContext.from_defaults(persist_dir=index_file)
            index = load_index_from_storage(storage_context = storage_context,  service_context=service_context)
            indexes.append(index)
    return indexes

def create_summaries(indexes):
    summaries = []
    for index in indexes:
        retriever = index.as_retriever()
        query_engine = RetrieverQueryEngine.from_args(retriever, response_mode='tree_summarize')
        summary = query_engine.query("What is a summary of this document?")
        summaries.append(str(summary))
    return summaries

Here is an example of the error produced:
/miniconda3/lib/python3.10/site-packages/llama_index/indices/vector_store/retrievers.py", line 90, in <listcomp>
   self._index.index_struct.nodes_dict[idx] for idx in query_result.ids
KeyError: 'cdb2c18c-b0d3-4af6-973d-0b0b69ff5ddd'

Upon further inspection, it seems as though the issue lies in the way the index is generated. Previously I had generated an empty index, saved it to storage, and then inserted the document into it and saved it to storage again.
Once I simplified the index creation process to just generate the index from the documents in the first instance, I was able to query the index after retrieving it from storage. Not sure if that is still a bug or just an incorrect way of initialising an index on my part.

Hey, @Donovan-Rucastle, there is a bug when saving index after insertion. Sorry about that. This will be fixed in the next release.


Discussion of further features to add to Grant

Per a request for more feature requests on a maxjustus's pull request:

Getting attribute-level security in Grant.
Testing is still pretty difficult with Grant enabled.  I've just been disabling it for unit tests, but functional tests are riddled with 'without_grant' statements in setup blocks.  I don't have a particular solution right now, but at least more docs on how you go about testing with Grant, and how you recommend people do.
Other dreams might include adding integration with a role or capability framework like declarative_authorization has done.  This would be great, but would also bulk up and potentially restrict Grant.

Hey,
I was wondering if anyone was still working/maintaining Grant - it doesn't look like it's the case - and if nobody is or nobody wants to maintain it, how could we continue developing the project (maybe transferring ownership?)
We've been using Grant in a fully featured RBAC framework gem for a while now and we're thinking about open-sourcing our framework. It currently implements the 3. request, and the first one will be worked on soonish.
We had to update Grant a bit to work with later Rails/Ruby/ActiveRecord versions. Our current fork: https://github.com/AnalyticsMediaGroup/grant
If interested by more info on the framework we developed, head over here: http://amg.tv/blog/strongbolt-why-and-how-we-built-our-own-rails-authorization-framework
Any ways, I'd be happy to know how we could continue using this gem which is, in our opinion, one of the best authorization gem there is! And as I was saying @kunklejr, if you don't have time anymore to maintain it, we can think about taking over from here.
Thanks!

I'm not actively maintaining Grant any more and would be happy to transfer it to someone with a vested interest in keeping it going. I'd only ask that you keep some sort of attribution for the original development. Is Analytics Media Group prepared to take over responsibility for it?

Yes, Analytics Media Group can take responsibility for it. How does that work? How do we transfer the ownership? Let me know if you need anything else from us too.

It looks like you'll need to give me temporary admin access to your organization and you may need to delete your fork of Grant (save your changes of course). Please see https://help.github.com/articles/transferring-a-repository/ for details on transferring a repository.

I'll try adding you as a collaborator (you'll have permissions to create a repo) and if that doesn't work, we'll find another way (using one of our account as an intermediate owner). Giving you temporary Owner role would unfortunately let you access all our private repos...

I wasn’t able to transfer ownership without admin privileges. Let’s try the intermediate repository idea.
-Jeff

On Oct 30, 2015, at 6:34 PM, Thomas Césaré-Herriau<EMAIL_ADDRESS>wrote:
I'll try adding you as a collaborator (you'll have permissions to create a repo) and if that doesn't work, we'll find another way (using one of our account as an intermediate owner). Giving you temporary Owner role would unfortunately let you access all our private repos...
—
Reply to this email directly or view it on GitHub https://github.com/kunklejr/grant/issues/6#issuecomment-152666278.

OK, in that case can you transfer it to me? And then I'll transfer it to AMG. Thanks!

transfer initiated. I think you’ll need to approve it.

On Nov 2, 2015, at 11:29 AM, Thomas Césaré-Herriau<EMAIL_ADDRESS>wrote:
OK, in that case can you transfer it to me? And then I'll transfer it to AMG. Thanks!
—
Reply to this email directly or view it on GitHub https://github.com/kunklejr/grant/issues/6#issuecomment-153074313.

It worked. Thanks for transferring the ownership and we're glad to take over this project!

You’re welcome. While I’m sad to see it go I’m happy that someone will moving it forward and continuing to use it.

On Nov 2, 2015, at 12:27 PM, Thomas Césaré-Herriau<EMAIL_ADDRESS>wrote:
It worked. Thanks for transferring the ownership and we're glad to take over this project!
—
Reply to this email directly or view it on GitHub https://github.com/TMSCH/grant/issues/6#issuecomment-153091441.

Could you also make me an owner of the gem in rubygems? I'm sending you an email with my address now (to your gmail address). Thanks!


feat: Add Google Container Cluster Name to outputs

Output the cluster name on resource creation.

This PR is included in version 1.19.0 :tada:


Fill Form Output as Temp File?

I'm using this gem for filling PDF forms running on Render (similar to Heroku). Due to how the environment works, I can't write files to disk.
Is there anyway to have the output file be a file in memory to then upload to S3? Whether or not the gem supports it, is there a way to do this with the API as is?

Do this:
template = 'template.pdf'
pdftk = PdfForms.new('/usr/local/bin/pdftk')
temp_output_file = Tempfile.new('temp_output.pdf')
final_output_file = Tempfile.new('final_output.pdf')
stamp_path = Rails.root.join('public', 'leadguard_stamp.pdf')

pdftk.fill_form template, temp_output_file.path, data = {}, flatten: true
pdftk.multistamp temp_output_file.path, stamp_path, final_output_file.path
    ```


Executing Playlunky launcher with stable\Playlunky launcher . exe

hello.
When i try do Play with Playlunky in stable version or any other version it says: Executing Playlunky launcher with stable\Playlunky launcher . exe
and doesnt start.
What can i do?

A stable for 1.27 hasn't yet been released as it's only started working today so we'll be working out issues as reported on nightly before releasing a new stable

Thanks so much! i I thought my Version doesnt work ever again.
Thanks again!

Playlunky stable supports 1.27 these days (in addition to nightly)


Now unable to use SvgQRCode and SvgLogo

Type of issue
[ ] Bug
[ ] Question (e.g. about handling/usage)
[x] Request for new feature/improvement
Expected Behavior

Prior to version 1.4.3 I was using both SvgQRCode and SvgLogo to generate a QR code in a class library (this worked for some time):

Current Behavior

With the 1.4.3 update, SvgQRCode, SvgLogo, and the SizingMode enum are no longer available to me.
// Generate QR code
QRCodeGenerator qrGenerator = new();
QRCodeData qrCodeData = qrGenerator.CreateQrCode(qrCodeUrl, QRCodeGenerator.ECCLevel.Q);
SvgQRCode qrCode = new(qrCodeData);
var svgLogo = new SvgLogo("<svg>raw svg here</svg>", 15, true, true);

return qrCode.GetGraphic(new Size(75, 75), true, SizingMode.ViewBoxAttribute, svgLogo);

Your Environment
Visual Studio 2022
Class library targeting .Net 6 with no target OS
Desired outcome

It would be fantastic if this functionality could be restored.

Hello @JamesHill3 ,
this is the result of Microsoft's decision to drop support for System.Drawing in .NET 6.0 for non-Windows targeting apps. Please check my answer in #361 for a more detailed explanation.
If you have any questions that aren't answered by the aforementioned comment, let me know. I'm happy to help.


edit log parse pattern strings to be more flexible

This was primarily for myself, as I was having issues with the view "view log" fucntion when using the ironmon randomizer https://github.com/something-smart/ironmon-randomizer and/or settings trainers to all be doubles battles for whatever reason. Shouldn't mess up existing logs, but I haven't tested it extensively outside of old logs from the regular randomizer I had lying around.

For each pattern you've changed, can you speak to why these changes are necessary and perhaps share examples? When I originally created these patterns, I thoroughly tested them for all the games people typically play for Ironmon.

If you have time to test and verify this on a FRLG log and an Emerald log, each from Randomizer 4.6.0 and Randomizer 4.4.0, and verify this works for all four cases, that would be great. I recommend checking through a variety of pokemon with weird names, such as Mr. Mime, Farfetch'd, Nidoran(Male), and checking through the elite four teams.
I have limited time myself and won't be able to verify these changes thoroughly.

I've started doing testing of the games and randomizers above, will update this PR when I'm done.

All changes including my most recent commit tested without encountering any issues.
Randomizers tested:
PokeRandoZX version 4.6.0 and 4.4.0
[PokeRandoZX ironmon edit version 1.5.0(https://github.com/something-smart/ironmon-randomizer)
Roms tested:
Pokemon Emerald
Pokemon Firered
Methodology:
For each combination of rom and randomizer, and also for "lower case pokemon names" enabled and disabled:

Set up the quickload settings in the tracker to use the rom and randomizer being tested, set the settings file to be a kaizo ironmon settings file compatible with pokerandozx v4.4
Randomize the game with the tracker's quickload
Play through the opening sequence until starter pokemon can be made to faint
Click "view log"
Ensure bulbasaur and chimeco show info from the log. If any pokemon wasn't parsed correctly in the log then all pokemon after it will not be parsed correctly either
Check split evolutions for 2,3 and >3 evolutions. I usually checked wurmple, tyrogue, and eevee
Check elite 4 teams populated correctly and check the individual pokemon on their teams populated correctly.

Additionally I tested enabling as many other randomizer settings as I could and doing the same tests above (randomized types, moves, etc)
No issues encountered

Thank you for doing some tests. I noticed your change to the PokemonName pattern causes issues with some log files. This change excludes some possibilities. The most important difference I notice is that your pattern excludes the possibility of a ? character, which does show up in some logs for some randomizers and some games. There may exist other differences.
I've attached an example log: RSE Kaizo lower names AutoRandomized.gba.log
PokemonName Pattern change:

Old: PokemonName = "([%u%d%.]* ?[%u%d%.'%-♀♂%?]+).-",
New: PokemonName = "(%u%a+[%a%d%.’'%-♀♂%s]*)",

Ultimately, your change needs to still include all possible matches the previous pattern included, while also including the adjustments you want to make. The challenge is being careful about assumptions of what the log file looks like, as there exist many other variations of log files that we've stumbled upon that cause issues. Sorry this isn't better documented.
At some point I'll have more time to dig into this more and maybe help find a good solution, but currently out of time to dig into this thoroughly. I've personally not great at patterns, so it often takes me a long time to test all the cases.


Settings fail to write

var filepath = path.join(__dirname, '/config/config.js');
^Use this
This has been fixed in production
The live version of the bot will save correctly, however the code in github will NOT

o right i fixed this


Forcing UI to Require HTTPS

I have added the RequireHttpsAttribute filter but the Ahoy UI does not redirect to the HTTPS version of the site. What is the best way to achieve this?

There's nothing built-in for this but you could implement very easily with a simple middleware delegate. Something along the lines of the inline middleware (in Startup.cs) shown below should do the trick:
app.UseSwagger();

app.Use(async (context, next) =>
{
    var request = context.Request;
    if (request.Path == "/swagger" && !request.IsHttps)
        context.Response.Redirect("https://" + request.Host + request.Path);
    else
        await next();
});

app.UseSwaggerUi();

There is a new redirect middleware coming out as part of ASP.NET Core 1.1.0. Will wait and see if that can be used.


docs: complete module list

Updates module list to include all recent Invenio packages and
standalone utilities.

Signed-off-by: Tibor Simko<EMAIL_ADDRESS>

LGTM


pyarrow.dataset.write_dataset do not preserve order

Describe the bug, including details regarding any error messages, version, and platform.
As described, when writing a file with pyarrow.dataset.write_dataset, the order is not preserved. I have tested this with both parquet and csv file format.
import pyarrow.parquet as pq
import numpy as np
import pandas as pd
import pyarrow.dataset
from pathlib import Path

data_load_path = './data.parquet'
pyarrow_dataset_write_path = './pyarrow_saved_data.parquet'

data = pd.DataFrame({'col': np.arange(1e7)})
data.to_parquet(data_load_path)

# Check if data loaded with pandas and pyarrow are the same
pyarrow_dataset = pyarrow.dataset.dataset(data_load_path, format='parquet')
pyarrow_dataset_df = pyarrow_dataset.to_table().to_pandas()

print((pyarrow_dataset_df['col'] == data['col']).all()) # True

# Write with pyarrow.dataset.write_dataset
pyarrow.dataset.write_dataset(
    pyarrow_dataset,
    pyarrow_dataset_write_path,
    format='parquet',
)

loaded_pyarrow_dataset = pyarrow.dataset.dataset(pyarrow_dataset_write_path, format='parquet')
loaded_pyarrow_dataset_df = loaded_pyarrow_dataset.to_table().to_pandas()
print((loaded_pyarrow_dataset_df['col'] == data['col']).all()) # False
print((loaded_pyarrow_dataset_df['col'] == data['col']).mean()) # 0.29

# Write with pq.write_to_dataset
pq.write_to_dataset(
    pyarrow_dataset,
    'x.parquet',
    max_rows_per_group=1024 * 1024,
    max_rows_per_file=10 * 1024 * 1024,  # 10 row groups of default size.
    existing_data_behavior='delete_matching'
)

(pyarrow.dataset.dataset('x.parquet').to_table().to_pandas()['col'] == data['col']).all() # True

Component(s)
Python

Just curious, does to_parquet gurantee the ordering?

Just curious, does to_parquet gurantee the ordering?

yes.

This seems like quite a serious bug - a good portion of my tools relying on the assumption that write_dataset preserves the original data order. Are there workarounds for this?

I finally got around this by adding an index column to the data. Not great, but it makes the pipeline much more robust.

Thanks for the suggestion, Adam. It seems that indeed use_threads=False helps, though in my tests it didn't fully preserve the original dataset order. There's a chance some external factor led to the behavior I observed, so I'll try to reproduce with a minimal testcase when I have some time.
Also, thanks for pointing out the relevant issue/PR, that will be great for visibility :+1:


Error when overriding bg_popup color to 'none'

Was trying to make my nvim-cmp completion popup to be transparent.

With the new config, you can do this easily. Please refer to the new docs.


Make goimports observe local

This breaks on incorrect grouping imports and fixes the found ones.

Codecov Report

Merging #338 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #338   +/-   ##
=======================================
  Coverage   74.22%   74.22%
=======================================
  Files         115      115
  Lines        6681     6681
=======================================
  Hits         4959     4959
  Misses       1474     1474
  Partials      248      248

Impacted Files
Coverage Δ

exporter/prometheusexporter/factory.go
83.33% <ø> (ø)
:arrow_up:

exporter/exporterhelper/metricshelper.go
100% <ø> (ø)
:arrow_up:

...eceiver/prometheusreceiver/internal/transaction.go
85.07% <ø> (ø)
:arrow_up:

receiver/opencensusreceiver/octrace/opencensus.go
71.23% <ø> (ø)
:arrow_up:

...eceiver/opencensusreceiver/ocmetrics/opencensus.go
78.57% <ø> (ø)
:arrow_up:

processor/queuedprocessor/factory.go
90.9% <ø> (ø)
:arrow_up:

...ranslator/trace/jaeger/protospan_to_jaegerproto.go
76.22% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 047b0f3...ad95e41. Read the comment docs.

@pjanotti  Good find, thank you. I believe we were struggling with this for a while now.


Added function to print comic information to STDOUT

I thought it would be nice to have comic information (Title, Publish Date, Number, and Alt Text) written to the terminal output. Sorry if there's a better way to do this, it's the first time I've ever touched Python code.

Might be cool to offer it as an option to forgo the popup i.e. just get that metadata.

I tried to make the data optional, but again it's my first time touching python and I didn't have any luck adding the necessary flag

Ok, I figured it out. I've added the flags --metadata to trigger printing metadata to STDOUT, and --no-image to optionally suppress display of the comic.

Maybe at least print the comic number no matter what? That would make issues like #8 reproducible.

This is great for your first time with Python btw! The only stuff I wrote back then was garbage

Done!
And Thanks. I'm reasonably competent with bash script, so I've got the basic logic, and it's mostly just extrapolating from what's already there to get the syntax. I appreciate the feedback!


Allow DNS resolution to be done on socks server

Hi,
Thanks for the tool.
It could be convenient to have a command line switch to activate the DNS resolution on the socks server like when you use socksh://<IP_ADDRESS>:1080
Thanks,

The DNS resolution is passed on to the socks server. I'm guessing this issue is kept open to add the option to disable this and instead do the resolution on the client side?
p.s. thanks for the tool.


Fixes for cupy summarization issues

The changes provided here fixes following problems with summarization

Missing summarization line which has one equals sign in the beginning and end
Picking not summarization lines from the log
Segmentation faults are addressed by skipping those tests

And mismatch in summarization is due to skipping count at two stages

During collection statistics, there would be a skipping count if there are whole file getting skipped
After run skipping count includes whole files skipped + functions skipped

This is how pytest reports and see the mismatch and we have to do correct interpretation

58 test folders has been tested and all the 59 summary has been pasted below
tests/cupy_tests/array_api_tests|0| 8 skipped in 0.05s
tests/cupy_tests/binary_tests|15| 15 passed in 34.60s
tests/cupy_tests/core_tests|2872| 2341 passed, 477 skipped, 42 deselected, 12 xfailed, 6 warnings in 4125.61s (1:08:45)
tests/cupy_tests/creation_tests|506| 408 passed, 93 skipped, 5 deselected in 184.92s (0:03:04)
tests/cupy_tests/cuda_tests|268| 167 passed, 96 skipped, 6 deselected in 4.25s
tests/cupy_tests/fft_tests|2711| 1834 passed, 876 skipped, 1 deselected in 166.46s (0:02:46)
tests/cupy_tests/functional_tests|73| 73 passed, 1 warning in 431.45s (0:07:11)
tests/cupy_tests/indexing_tests|406| 405 passed, 1 deselected in 245.85s (0:04:05)
tests/cupy_tests/io_tests|42| 42 passed in 1.05s
tests/cupy_tests/lib_tests|576| 534 passed, 42 xfailed, 12 warnings in 203.17s (0:03:23)
tests/cupy_tests/linalg_tests|1395| 1379 passed, 16 skipped, 28 warnings in 267.95s (0:04:27)
tests/cupy_tests/logic_tests|824| 824 passed, 2 warnings in 152.18s (0:02:32)
tests/cupy_tests/manipulation_tests|585| 549 passed, 32 skipped, 1 deselected, 3 xfailed in 98.28s (0:01:38)
tests/cupy_tests/math_tests|10192| 10110 passed, 55 skipped, 15 deselected, 12 xfailed, 64 warnings in 1311.11s (0:21:51)
tests/cupy_tests/misc_tests|31| 31 passed in 5.28s
tests/cupy_tests/padding_tests|75| 75 passed in 8.81s
tests/cupy_tests/polynomial_tests|55| 55 passed in 21.93s
tests/cupy_tests/prof_tests|8| 8 passed in 0.24s
tests/cupy_tests/random_tests|1977| 1807 passed, 163 skipped, 4 deselected, 3 xfailed in 1010.77s (0:16:50)
tests/cupy_tests/sorting_tests|499| 433 passed, 64 skipped, 1 deselected, 1 xfailed in 234.99s (0:03:54)
tests/cupy_tests/statistics_tests|733| 730 passed, 3 deselected, 83 warnings in 381.76s (0:06:21)
tests/cupy_tests/test_cublas.py|2700| 2696 passed, 4 xfailed in 12.77s
tests/cupy_tests/testing_tests|293| 260 passed, 23 skipped, 10 xfailed in 8.74s
tests/cupy_tests/test_init.py|18| 17 passed, 1 skipped in 2.01s
tests/cupy_tests/test_ndim.py|12| 12 passed in 0.94s
tests/cupy_tests/test_numpy_interop.py|11| 10 passed, 1 xfailed in 6.03s
tests/cupy_tests/test_type_routines.py|34| 34 passed in 0.62s
tests/cupy_tests/test_typing.py|1 item| 1 passed in 0.24s
tests/cupyx_tests/distributed_tests|59| 1 failed, 36 passed, 22 skipped in 1063.94s (0:17:43)
tests/cupyx_tests/fallback_mode_tests|107| 106 passed, 1 skipped in 2.58s
tests/cupyx_tests/jit_tests|172| 135 passed, 19 skipped, 18 xfailed, 22 warnings in 322.94s (0:05:22)
tests/cupyx_tests/linalg_tests|24| 20 passed, 5 skipped in 1.18s
tests/cupyx_tests/profiler_tests|19| 19 passed in 1.22s
tests/cupyx_tests/scipy_tests/fftpack_tests|901| 901 passed in 62.05s (0:01:02)
tests/cupyx_tests/scipy_tests/fft_tests|12237| 11657 passed, 420 skipped, 160 xpassed in 245.55s (0:04:05)
tests/cupyx_tests/scipy_tests/interpolate_tests|592| 471 passed, 120 skipped, 1 deselected in 34.21s
tests/cupyx_tests/scipy_tests/linalg_tests|468| 462 passed, 6 skipped in 18.42s
tests/cupyx_tests/scipy_tests/ndimage_tests|33626| 848 passed, 32775 skipped, 3 deselected in 50.47s
tests/cupyx_tests/scipy_tests/signal_tests|9307| 8876 passed, 205 skipped, 1 deselected, 225 xfailed, 16 warnings in 1678.32s (0:27:58)
tests/cupyx_tests/scipy_tests/sparse_tests|24205| 19269 passed, 898 skipped, 576 deselected, 3462 xfailed, 2126 warnings in 659.27s (0:10:59)
tests/cupyx_tests/scipy_tests/spatial_tests|536| 536 skipped in 0.92s
tests/cupyx_tests/scipy_tests/special_tests|483| 474 passed, 9 skipped, 34 warnings in 394.43s (0:06:34)
tests/cupyx_tests/scipy_tests/stats_tests|201| 201 passed in 33.25s
tests/cupyx_tests/scipy_tests/test_get_array_module.py|2| 2 passed in 1.08s
tests/cupyx_tests/test_cudnn.py|1829| 1829 skipped in 1.69s
tests/cupyx_tests/test_cupyx.py|2| 2 passed in 0.39s
tests/cupyx_tests/test_cusolver.py|648| 32 passed, 616 skipped in 1.89s
tests/cupyx_tests/test_cusparse.py|1326| 808 passed, 146 skipped, 372 xfailed in 13.70s
tests/cupyx_tests/test_cutensor.py|79| 79 skipped in 0.46s
tests/cupyx_tests/test_lapack.py|70| 41 passed, 29 skipped in 1.71s
tests/cupyx_tests/test_optimize.py|9| 9 skipped in 0.43s
tests/cupyx_tests/test_pinned_array.py|76| 72 passed, 4 deselected in 1.63s
tests/cupyx_tests/test_rsqrt.py|1 item| 1 passed in 2.26s
tests/cupyx_tests/test_runtime.py|2| 1 passed, 1 skipped in 0.85s

Note: Wherever there is a mismatch in the summarization count. That is because of skipping entire python file and skipping functions in all the file. Example for "tests/cupyx_tests/linalg_tests" is shown below
collecting ... collected 24 items / 1 skipped
tests/cupyx_tests/linalg_tests|24| 20 passed, 5 skipped in 1.18s
While collecting stats it shows 1 Skipped. This is the entire .py file getting skipped for test.
In the summary it shows 5  that includes 1 skipped python file + 4 skipped functions below
tests/cupyx_tests/linalg_tests/test_solve.py::TestXFailBatchedInvh_param_0_{dtype=float32, shape=(2, 3, 3)}::test_invh SKIPPED (potrsBatched is not available) [ 87%]
tests/cupyx_tests/linalg_tests/test_solve.py::TestXFailBatchedInvh_param_1_{dtype=float64, shape=(2, 3, 3)}::test_invh SKIPPED (potrsBatched is not available) [ 91%]
tests/cupyx_tests/linalg_tests/test_solve.py::TestXFailBatchedInvh_param_2_{dtype=complex64, shape=(2, 3, 3)}::test_invh SKIPPED (potrsBatched is not available) [ 95%]
tests/cupyx_tests/linalg_tests/test_solve.py::TestXFailBatchedInvh_param_3_{dtype=complex128, shape=(2, 3, 3)}::test_invh SKIPPED (potrsBatched is not available) [100%]
This is how pytest give the stats and summary. And we need to interpret these results correctly.


Install-site.yml -> Stucked on task - name: Install Drupal with drush.

Issue Type

Support Request

Your Environment

Vagrant 2.1.5
VirtualBox 5.2.18r124319
ansible 2.6.5
  config file = None
  configured module search path = ['/Users/laurent/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/ansible
  executable location = /Library/Frameworks/Python.framework/Versions/3.7/bin/ansible
  python version = 3.7.0 (v3.7.0:1bf9cc5093, Jun 26 2018, 23:26:24) [Clang 6.0 (clang-600.0.57)]

Your OS

macOS (10.13.3)

Full console output

https://gist.github.com/lostation/9834b256acb11ce3aa0f0578cf496739
Summary

As you can see in the provided gist url above :
I'm stucked in the task  - name: Install Drupal with drush. from the install-site.yml file.

name: Install Drupal with drush.
command: >
{{ drush_path }} site-install {{ drupal_install_profile | default('standard') }} -y
--site-name="{{ drupal_site_name }}"
--account-name={{ drupal_account_name }}
--account-pass={{ drupal_account_pass }}
--db-url=mysql://{{ drupal_mysql_user }}:{{ drupal_mysql_password }}@localhost/{{ mysql_databases[0].name }}
{{ drupal_site_install_extra_args | default([]) | join(" ") }}
chdir={{ drupal_core_path }}
notify: restart webserver
when: "'Successful' not in drupal_site_installed.stdout"
become: no

I'm completely newbie in php and ansible stuffs... So surely I missed something !
For info, I need to restart an old project from 2016 that uses your Drupal-vm project. And I already had to adapt a lot of small things to be able to get until these last task. Whatever...
Partial config.yml file :
vagrant_box: geerlingguy/ubuntu1404
vagrant_user: vagrant
deploy_user: vagrant
build_makefile: false
build_composer: true
drupal_composer_path: "{{ config_dir }}/drupal.composer.json"
drupal_composer_install_dir: "/var/www/drupalvm/drupal/"
drupal_composer_dependencies:

"drupal/devel:^1.6"

build_composer_project: false
drupal_composer_project_package: "drupal-composer/drupal-project:7.x-dev"
drupal_composer_project_options: "--prefer-dist --stability dev --no-interaction"
install_site: true
drupal_install_site: true
drupal_core_path: "{{ drupal_composer_install_dir }}/web"
drupal_major_version: 7
drupal_domain: "{{ vagrant_hostname }}"
drupal_site_name: "MyApp"
drupal_install_profile: standard
-------------------------
I already tried to erase all the vm stuff and then vagrant up again... Or tried vagrant reload --provision...With or without erasing Drupal files.
It seems to be a stupid thing about permission but I cannot figure it out.
-> The automated script cannot open file stream and copy default.settings.php to settings.php.
Also I'm not sure to understand the  when: "'Successful' not in drupal_site_installed.stdout"  command.  In the running shell I only see some ['ok'] in green for any other task but never 'Successful' text...
The thing a little bit weird is that if I log into the VM with vagrant ssh,
I'm able to run manually the scripted command.
I run :   /usr/local/bin/drush site-install standard -y --site-name=MyApp --account-name=admin --account-pass=admin --db-url=mysql://drupal:drupal@localhost/drupal <EMAIL_ADDRESS><EMAIL_ADDRESS>And with that, the settings.php file is correctly created.
So I imagine that it's a user permission issue ?
I tried to add
become_user: "{{ deploy_user }}"
become_method : sudo | yes
to the task but nothing is better.
Thanks for any help or hint or advices...
Lo.

https://gist.github.com/lostation/9834b256acb11ce3aa0f0578cf496739

copy(sites/default/settings.php): failed to open stream: Permission denied

Basically, the sites/default directory needs to have permissions which let the vagrant user or web user (if installing via UI) write to it. So in your Drupal codebase, maybe try changing the permissions on that directory to something more permissive, at least temporarily.
The easiest/nuclear option is chmod 777 sites/default. Before you do that, check what the current permissions are with ls -lah sites/default.

Ok thanks for your reply.
By the way, changing permission of sites/default/settings.php was not resolving my issue.
I was using a very old copy of your repo with some custom modules made around 2016.
So there were a lot of small updates problem. I preferred make a fresh copy of drupalvm and re-adapt to my needs. So now it works pretty well ! Thanks for your work on drupalvm projects ... really impressive ! Thanks.

That's great! And yeah, if you're more than a few minor versions behind, it's easier to just scrap an older build and create a new one—especially if you can get by with just a config.yml override and Drupal VM as a composer dependency!


docker machine virtualbox driver support?

Hello,
First thanks for taking the time to create a snap for docker.
I am using this snap package for a few weeks now and everything was perfect. However today I wanted to play with docker.machine locally and I therefore looked at the docker documentation.
I installed virtualbox on my machine, and then I ran
$ docker.machine create -d virtualbox default

And I got the following error:
Error with pre-create check: "VBoxManage not found.
Make sure VirtualBox is installed and VBoxManage is in the path"

The problem is, VBoxManage is in my path, however I think that due to the strict confinement policy the snap cannot access this binary (and I guess there is no interfaces created yet for it).
Am I missing something or is it currently not supported?

Steps to reproduce

Install virtualbox
Install docker snap
Try to create a machine using: docker.machine create -d virtualbox default

System info:
Infos:

snap       2.35.2
snapd      2.35.2
series     16
linuxmint  19
kernel     4.15.0-36-generic
docker snap version : beta -  18.06.1-ce   (321)

Thanks for your answer!
I better understand the snap limitations / design now. In the end I decided to re-install docker from apt-get as I needed this feature.


Switched from conda to venv

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.0 out of 2 committers have signed the CLA.:x: remidebette:x: felixchalumeauYou have signed the CLA already but the status is still pending? Let us recheck it.


Split out other classes for easier troubleshooting and fixed protocol…

protocol json ld file that works somewhat with the DDE playground to make it easier for comparing/inspecting the yaml converter output

old csv files, newer ones available


feat: add VOIP with permission verification to Kivy

Integrate VOIP functionality for developers
Includes support for SSL/TLS to ensure encrypted communication
Implement permission verification for microphone access

Full project example: https://github.com/SanquezH/Kivy-VOIP

Maintainer merge checklist

[ ] Title is descriptive/clear for inclusion in release notes.
[ ] Applied a Component: xxx label.
[ ] Applied the api-deprecation or api-break label.
[ ] Applied the release-highlight label to be highlighted in release notes.
[ ] Added to the milestone version it was merged into.
[ ] Unittests are included in PR.
[ ] Properly documented, including versionadded, versionchanged as needed.

@SanquezH nice work here, really love the feature. I've already stared your original project. But I must point out that this repository might be the wrong place to push this code because Kivy is just focused on the core interactions and user interface of an app. You might want to move this to pyjnius or kvdroid repository due to the feature you implemented does not have anything to do with Kivy directly.

@kengoon Thank you for the reply, this is my first time contributing on GitHub. You are right, although this project supports kivy on the backend, it does not contribute to anything graphical user interface wise. I shall fork and then pull the final commit of this code to pyjnuis instead.

I personally think Plyer is a better place for this implementation.

Closed as now the PR has been moved to https://github.com/kivy/plyer/pull/823


Please explain data-form.js

The app is pretty self explanatory, except I have some difficulty really understanding this part in data-form.js
static metadata(){ return Behavior.withProperty('entity', 'entityChanged'); } //, Behavior.withProperty('submit')]; }

  entityChanged() {
    if (this.entity) {
      this.dataProperties = this.entity.entityType.getProperties().filter(p => p.isDataProperty);
      //this.dataProperties.foreach(p => p.test = 'form-control');
    } else {
      this.dataProperties = [];
    }
  }

Could you explain this part with some comments or sth? Thanks.

thanks for the feedback- I'll try to get to those items in the next couple of days.
here's what's going on with the data-form custom element:
repo.html is simple view that uses the data-form custom element.  The custom element exposes an entity property that repo.html has bound the view model's repo property to:
<template>
  <import from='../data-form'></import>

  <h1>${repo.name}</h1>

  <data-form entity.bind="repo" submit.bind="submit" />
</template>

In Aurelia you identify a custom element's properties using metadata.  The metadata in data-form.js identifies one property, entity.  It also tells the framework that when the element's entity property changes the entityChanged method should be called:
import {Behavior} from 'aurelia-framework';

export class DataForm {
  static metadata(){ return Behavior.withProperty('entity', 'entityChanged'); } //, Behavior.withProperty('submit')]; }

  constructor() {
    this.dataProperties = [];
  }

  entityChanged() {
    if (this.entity) {
      this.dataProperties = this.entity.entityType.getProperties().filter(p => p.isDataProperty);
      //this.dataProperties.foreach(p => p.test = 'form-control');
    } else {
      this.dataProperties = [];
    }
  }
}

The entityChanged method reacts to the entity changing by reflecting on the entity's properties and grabbing the properties that should be displayed on the data form.  (The entity is  a breeze entity so we can access it's type and data properties via it's entityType property.  This is not Aurelia specific)
The custom element's view is driven by this subset of properties: https://github.com/jdanyow/aurelia-breeze-sample/blob/master/src/data-form.html#L3


M3-1855 Prevent import of non-shakeable libraries.

Importing rxjs, @material-ui/core, and @material-ui/icons directly significantly and unnecessarily increase individual chunk sizes.

Coverage decreased (-0.004%) to 30.544% when pulling 65bd6dd4f530c8c8b6e6ad034d8cc87b2d6b810b on rjstires:M3-1855-tslint-blacklist-import into 59ab4f9c72b2e49661fd36dc69cf955e8f88c4a9 on linode:develop.


Add nominal addTrack shim for Chrome.

Description
Fix for https://github.com/webrtc/samples/pull/888.
Purpose
Make webrtc samples set a good example.

@fippo PTAL.

the reason we didn't add addTrack a while back that we wanted to take care the scenario where only the  audio track of an AV stream is added.
The other alternative to do would be to create a clone of the stream that has the same id (see the edge rtcpeerconnection shim for overriding the id getter of MediaStream). That allows us much better control for this scenario but raises some issues for things like comparing the result of getLocalStreams (legacy, ugly) with the stream originally added). We might also have to do some clever sdp mangling to retain the id of the stream added in the SDP msid properties. This requires sdp mangling which is a rabbit hole i'd rather not enter.

old discussion in https://github.com/webrtc/adapter/pull/182

FWIW I don't think anyone would expect getLocalStreams() to return anything sensible for addTrack. If they do they're definitely off-spec IMHO.
I could improve the polyfill by wrapping the subset of tracks in a new MediaStream instead of failing if you prefer, and that should work, but yeah the illusion is only so deep.

@jan-ivar yours or mine? ;-)

@fippo Let's go with yours. Mine tried hard to keep the stream.id intact, but that illusion breaks down as soon as someone does an extra stream.addTrack(track), and then it's a mess. Yours seems much cleaner.

Close this then in favor of #503 ?

yes


Custom variable name for an imported module

Currently Bridge outputs the following JavaScript when a module was imported:
https://deck.net/1103fc5ce7bacf61ed2a123180877cee
require(["Module1"], function (Module1) {
   // ...
}

Module1 in the sample above was mentioned two times:

["Module1"] - as an actual name of the module. The loader will look up the module by this name.
function (Module1) - as a function parameter (or an alias) to be representing the module in the current context.

In some cases it's worth having an ability to specify a custom name for the module alias. A good example is when Bridge loads a UMD module that can be loaded as a regular module or as just a script. Let's review those two cases for a simple UMD module described with the next TypeScript declaration:
Module1.d.ts
namespace Module1 {
     class Class1 {
     }
}
export = Module1;
export as namespace GlobalModule1;

UMD module loaded as a script
When a UMD module was loaded as a script, entities of that module should be accessed through a global variable. To do that, some additional Bridge settings are required:
Consumer - bridge.json
"loader": {
  "manualLoading": "true",
  "skipManualVariables": "true"
}

Below are a fragment of C# code that consumes the module, and the expected JavaScript output where Class1 is accessed through a global variable GlobalModule1
Consumer.cs
var c = new Module1.Class1();

Consumer.js
var c = new GlobalModule1.Class1();

UMD module loaded as a module
When a UMD module was loaded as a regular module, Bridge wraps Consumer with require function. In this case Class1 should be accessed through the argument Module1.
require(["Module1"], function (Module1) {
    var c = new Module1.Class1();
}

Proposal
The samples above have demonstrated an issue - the same entity of the same module should be emitted as different pieces of JavaScript code:

GlobalModule1.Class1
Module1.Class1

[Template] attribute can be used to get the needed output, but again, only one of the scenarios  (at a time) would be supported. The idea of the proposal is to allow renaming a module variable (alias) in order to make it the same as the global variable, thus for the case UMD loaded as a module we would have:
require(["Module1"], function (GlobalModule1) {
    var c = new GlobalModule1.Class1();  // Pay attention that now outputs the same,
                                         // whereas the contexts are different.
                                         // Here 'GlobalModule1' is just the module alias,
                                         // not the global variable
}

The described proposal can be implemented as an optional parameter/property for ModuleAttribute.

For the scenario you outline above, what would be the value passed to ModuleAttribute?

Would something like the following be helpful?
[Module(ExportAsNamespace = "GlobalModule1")]
public class Module1
{
}

The JavaScript with and without ExportAsNamespace would be:
// Without ExportAsNamespace
require(["Module1"], function (Module1) {
    var c = new Module1.Class1();
}

// With ExportAsNamespace
require(["Module1"], function (GlobalModule1) {
    var c = new GlobalModule1.Class1();
}

Yes, almost like that. We'd still have to specify the original module name, so the module declaration would look like:
[Module("Module1", ExportAsNamespace = "GlobalModule1")]
// ...

Better to pass Module name in that scenario by setting the property:
[Module(Name = "Module1", ExportAsNamespace = "GlobalModule1")]


feat: add scanner tracker

Description of the change
Extracted from this suggestion in a prior PR, adding HFResourceScanner TrainerCallback as a tracker.
In order to use this, user would need to install HFResourceScanner in the environment, and pass in training args to enable:
"trackers": ["hf_resource_scanner"]
"scanner_output_filename": "scanner_output.json" // optional, if not passed, the default value is used

See the test written in test_launch_script.py

Related issue number

How to verify the PR

Was the PR tested

[ ] I have added >=1 unit test(s) for every new method I have added.
[ ] I have ensured all unit tests pass

@ChanderG FYA

@dushyantbehl @ChanderG PTAL. Do we support pushing pushing scanner data also to aim/wandb etc? or is it not in scope?

Also @ashokponkumar @ChanderG I tested this with our internal test and even though the scanner output file was created, I ran into this error while scanner was in use. I'm not sure how the other way in the prior PR of using a flag and not tracker, I didn't see this problem, but have this problem writing it to file this way. The scanner output file exists but is empty. I just get the results from stdout for now until I can debug this. But if you know why, let me know~

@aluu317 That's weird. I think the file is created, but write is failing? I don't think the tracker framework should be causing this. I should have clearly printed out the exception in Scanner, my bad.
That said, I am unable to reproduce the error. I tried running the tests and also manually ran the cli command with output json file different places (curr dir, /tmp dir etc) - and its working in all cases. Tests pass and inspecting the generated json files in other cases shows output in expected formats.


MNIST Dataset to png/jpg Images Conversion using Matlab

We ask that you please be patient as our team works through approving and publishing all articles/tutorials in a timely manner. Allow 1-3 days for a topic to be reviewed and/or approved - allow 3-7 days for an articles to be reviewed and/or published.
Be sure to visit our Resources Page for tools, resources, and example articles to go over.
NOTE: (Please ensure that you have only one open issue + linked pull request at a time. This will ensure that we complete the article in a timely manner from inception to publishing.)
NOTE: We tend to stray away or tend not to publish reviews/comparisons of commercial product offerings.
We're looking for the first 2-3 paragraphs of the article that appropriately summarize what your article will be about.
MNIST Dataset to png/jpg Images Conversion using Matlab
Introduction:
The MNIST dataset is an acronym that stands for the Modified National Institute of Standards and Technology dataset. It is a dataset of 60,000 small square 28×28 pixel grayscale images of handwritten single digits between 0 and 9. It is a widely used and deeply understood dataset and, for the most part, is “solved.” Top-performing models are deep learning convolutional neural networks that achieve a classification accuracy of above 99%, with an error rate between 0.4 %and 0.2% on the hold out test dataset.
In this tutorial, we will see how the MNIST dataset which is in complex format (idx-ubytes and CSV) can be converted into simple png/ jpg images in structured folders. So that it becomes easy to visualize the dataset and to have an idea that what types of images we actually have in the dataset for training and testing.
Key takeaways:

MNIST dataset.
Need of datasets as png/jpg images.
Conversion logic from CSV to png/jpg images.
Matlab code for conversion of digit dataset to png/jpg images.

References:
Please list links to any published content/research that you intend to use to support/guide this article.
Templates to use as guides

How To Guide Template
Software Review Template
Tutorial Template

Good afternoon and thank you for submitting your article for publishing.
Your article has been entered into our queue and should be reviewed (and published pending any changes) as soon as a peer reviewer is finished with the ones in the queue before it. 🚀
Thank you.

@linetachieng
We're really looking for unique/original content, and based on the content provided, it seems that information that you intend to cover is already readily available through the documentation or via many other blog sites.
Could you please expand upon how your content will differ from what is already available through other websites and documentation? We lean towards content that offers an original viewpoint/approach around programming-centric topics.

@hectorkambow In this article I will be using both the digit dataset and fashioned dataset. Also, conversion of the .csv files to png/jpg is included here.


Raise the priority of the settings screen when pinned.

Bring the main screen to the front and click the gear icon, the setting screen will pop up behind the main screen.
Please fix it.

This issue has been fixed in v0.2.8527.34374-beta.


Clean up golang dependencies

I tried to only upgrade the dependencies that don't affect too much of the cilium-agent core code. Read per commit basis. We should think upgrading the remaining libraries so it will be easier to track diffs between versions.

This change is

test-me-please

Coverage increased (+0.2%) to 43.496% when pulling df421b9ae2246b60efe1a5f6ca8f404788236d30 on pr/cleanup-go-dependencies into e9b6c00845d3d4d01dec2d70e594bc70c0d3e9a0 on master.

test-missed-k8s

test-upstream-k8s


Azure Attribute 'allocation_method' not supported

For the Azure provider Attribute 'allocation_method' is not supported.

Fixed in 0.6.14


Feature requests: SSL/TLS & Retain flag

Hi @goodfield and thanks for this great z-way module.
Would it be possible in the future to implement these features:
SSL/TLS
Since the module are allowing us to use authentication when connecting to the broker we should also be able to encrypt our credentials.
Retain flag
It would be great to have the option to set the Retain flag to "true" so when other clients connect to the broker they will always get the last device messages sent from zway.
Thanks, and keep up the good work :)

I also like to have the retain flag to true, could this be simply adjusted in the code?

Will never implement ssl, sorry ;-) the mqtt implementation i'm using has no ssl implemented and it would be to much effort for me to do that ...
The retain flag can be configured now ...


Fix #1819: Accept any number in isFloat when non-strict floats.

When strict-floats are disabled, any number, i.e., any Double, now also matches as a Float, as per the specification.

Review by @nicolasstucki

Refer to this link for build results (access rights to CI server needed):
https://scala-webapps.epfl.ch/jenkins/job/scalajs-pr/1994/
https://scala-webapps.epfl.ch/jenkins/job/scalajs-matrix-build/2579/
Test FAILed.

Refer to this link for build results (access rights to CI server needed):
https://scala-webapps.epfl.ch/jenkins/job/scalajs-pr/1995/
https://scala-webapps.epfl.ch/jenkins/job/scalajs-matrix-build/2580/
Test FAILed.

Refer to this link for build results (access rights to CI server needed):
https://scala-webapps.epfl.ch/jenkins/job/scalajs-pr/2000/
https://scala-webapps.epfl.ch/jenkins/job/scalajs-matrix-build/2585/
Test FAILed.

retest this please

Refer to this link for build results (access rights to CI server needed):
https://scala-webapps.epfl.ch/jenkins/job/scalajs-pr/2001/
https://scala-webapps.epfl.ch/jenkins/job/scalajs-matrix-build/2588/
Test FAILed.

retest this please

Refer to this link for build results (access rights to CI server needed):
https://scala-webapps.epfl.ch/jenkins/job/scalajs-pr/2003/
https://scala-webapps.epfl.ch/jenkins/job/scalajs-matrix-build/2590/
Test PASSed.

LGTM


rsync commands - 1.1.0

I had these additions in the pipeline already, so I will just submit them right away. The commit history got messed up a bit when merging from different branches etc. I don't know if I can do anything about that. In the future, I will just work on the main branch to prevent this from happening, and to keep a clean commit history.
I could fix the history if someone could give me any pointers on how to do that. I haven't squashed commits before, but I guess that is what I need to do here?
I guess I should've rebased the other branch instead of merging it?
Additions

Configure your desired identity file (private key) for SSH sync.
Configure custom commands to run before and after the rsync command itself (setup/cleanup etc).

Checklist

[X] I read the extension guidelines
[X] I read the documentation about publishing
[X] I ran npm run build and tested this distribution build in Raycast
[X] I checked that files in the assets folder are used by the extension itself
[X] I checked that assets used by the README are placed outside of the metadata folder

That's perfect for open raycast://confetti :D


[nginx] Update the example with the GA sku

This checklist is used to make sure that common guidelines for a pull request are followed.

For new extensions:

[x] My extension description/summary conforms to the Extension Summary Guidelines.

About Extension Publish
There is a pipeline to automatically build, upload and publish extension wheels.
Once your pull request is merged into main branch, a new pull request will be created to update src/index.json automatically.
The precondition is to put your code inside this repository and upgrade the version in the pull request but do not modify src/index.json.

nginx

Please record the failed tests in live to fix CI issues. Thanks.

@kairu-ms I updated the test records. Now it passed. Could you please help merge it? Thanks.

PR merged. If you want to release a new version, please update the version of extension


Add stub Artifact handling for Deploy vs. Develop

Continuation of #3249 @devoncarew agreed to add a stub "Deploy" variant of Android, which points to the same bucket as Develop for now, this will give @jason-simmons or @chinmaygarde a place to wire in separate deploy bits.

Fixed here: https://github.com/flutter/flutter/pull/3374. Likely a lot of follow-on work to tease apart develop and deploy.


Add markdoc preview

https://markdoc.io/sandbox?mode=transform

I guess step one would be to add it to json-infer-types right?


Add policies map as first lvl field in heartbeats

Describe the solution you'd like
Send policies as separate field in heartbeats message. Similar to the way services in entitycache are sent.
Additional context
There is already a PR for this: https://github.com/fluxninja/aperture/pull/274
It has to be enhanced to add PolicyConfigWrapper instead of Policy message.
Also add removing the policy from PolicyFactory map.

Done by Harjot.


Went over the codebase to find small problems

I just went over the codebase, finding and fixing small issues.
They were not bugs (except one that I wrote previously), but they were weird little things needing fixing.
Biggest things are:

I made sure that yaml entry_type is a proper enum, and not a struct hack with ifs checking it. This fix DOESN'T change the toml format in any way. I suspect the author of the code didn't know about #[serde(flatten)], which is understandable, I didn't know either until very recently :)
I fixed an issue I introduced, where typing on any keyboard with any symbols except english, would produce problems inside linutil. That was a bug and I fixed it

@JustLinuxUser Can you squash some of these commits?

@JustLinuxUser Can you squash some of these commits?

just squash merge?

i guess this pr has pretty scattered commits

@JustLinuxUser Can you squash some of these commits?

just squash merge?

Chris doesn't always do that, It'd be best to squash manually to avoid cluttering the commit history.

@JustLinuxUser Can you squash some of these commits?

just squash merge?

Chris doesn't always do that, It'd be best to squash manually to avoid cluttering the commit history.

I understand that, but I am not sure he will want to apply all commits, and the commit messages are very good in this particular case, and explain the commit itself

@JustLinuxUser Can you squash some of these commits?

just squash merge?

Chris doesn't always do that, It'd be best to squash manually to avoid cluttering the commit history.

I understand that, but I am not sure he will want to apply all commits, and the commit messages are very good in this particular case, and explain the commit itself

Fair point.

@JustLinuxUser Can you squash some of these commits?

just squash merge?

Chris doesn't always do that, It'd be best to squash manually to avoid cluttering the commit history.

I understand that, but I am not sure he will want to apply all commits, and the commit messages are very good in this particular case, and explain the commit itself

Fair point.

I love the reply ladder :)

Now this PR is compatible with 241

The build script options are very intentional. If you don't rebuild on change to src/commands, updating any tab or script will have no impact unless you manually delete the binary first. Cargo does not 'recursively check directories', it checks for changes to modules. No module is contained within src/commands (src/commands.rs or src/commands/mod.rs would have to exist for that to be the case), and therefore, Cargo will not check for changes to the directory or any file within. If you don't rerun the build script on change to src/, the date displayed within the program will be incorrect running subsequent builds on different days. Check #224 for information about that.
Good catch with serde flatten. I figured there was a better way to do that.

The build script options are very intentional. If you don't rebuild on change to src/commands, updating any tab or script will have no impact unless you manually delete the binary first. Cargo does not 'recursively check directories', it checks for changes to modules. No module is contained within src/commands (src/commands.rs or src/commands/mod.rs would have to exist for that to be the case), and therefore, Cargo will not check for changes to the directory or any file within. If you don't rerun the build script on change to src/, the date displayed within the program will be incorrect running subsequent builds on different days. Check #224 for information about that.
Good catch with serde flatten. I figured there was a better way to do that.
Drop https://github.com/ChrisTitusTech/linutil/pull/247/commits/9f48e2466f58d53f925ce8dbe41f53c3e856effc and fix the missing import and this will be ready to merge.

Could this be solved by utilizing [[package.include]] in the pkg config?

Yes, that solves it. Good call. The build script still must be rebuilt on changes to src/ though, since it's responsible, rather than the build process as a whole, for gathering the date.

The build script options are very intentional. If you don't rebuild on change to src/commands, updating any tab or script will have no impact unless you manually delete the binary first. Cargo does not 'recursively check directories', it checks for changes to modules. No module is contained within src/commands (src/commands.rs or src/commands/mod.rs would have to exist for that to be the case), and therefore, Cargo will not check for changes to the directory or any file within. If you don't rerun the build script on change to src/, the date displayed within the program will be incorrect running subsequent builds on different days. Check #224 for information about that.
Good catch with serde flatten. I figured there was a better way to do that.
Drop 9f48e24 and fix the missing import and this will be ready to merge.

I know it's intentional, but It still works without it, I checked yesterday and just checked again, modifying any toml / sh file will still force a recompile

Yes, that solves it. Good call. The build script still must be rerun on changes to src/ though, since it's responsible, rather than the build process as a whole, for gathering the date.

Have you actually had that issue, or did you just think that such an issue might happen? If you actually had such an issue, pls share your setup (cargo version, rustc version, OS, editor + plugins)

Have you actually had that issue

I changed my system clock a day forward, modified the code, and rebuilt; the date displayed was the date from the previous build until I cleaned the directory.
My toolchain version was out of date (1.80). I can't replicate either of these issues now, on 1.81. I'm not sure where the change was, or if there was just a bug somewhere (either neovim's save, or more likely cargo, has failed to rebuild my projects after changes dozens of times; I've never bothered to get to the root of the problem), but regardless, I drop my request for that commit to be modified.

The handle passthrough function has more room for improvement. We don't have to deal with a mutable variable, and the logic can be compressed into a single match statement without impacting readability. Also, remember to use into_x() functions rather than to_owned() on a reference, or slice in this case, whenever said function is available and you don't need the initial value anymore. https://github.com/lj3954/linutil/commit/412e76edf4115f742b8941040d68d52d2ddd571e


refactor: use Path::push to construct remap-path-prefix

What does this PR try to resolve?
It creates paths with correct separators for different systems.
How should we test and review this PR?
Try out -Ztrim-paths on Windows. Run cargo build --verbose and see if slashes in --remap-path-prefix use the system's path separators.
cargo-features = ["trim-paths"]

[package]
name = "foo"

[profile.release]trim-paths = true

Additional information

Can you say more about what this is fixing? Is path remapping just not working on Windows for sysroot paths? Do we not have a test that would catch that?

Can you say more about what this is fixing? Is path remapping just not working on Windows for sysroot paths? Do we not have a test that would catch that?

We don't have any test for windows now, though path remapping works on Windows.
I just got paranoid about it is not using the correct \ separator and am afraid of https://github.com/rust-lang/cargo/issues/13919 happening if rustc --print sysroot starts printing one.

I do see absolute paths in the .pdb file. With or without this PR, they are still there

Yes I noticed it yesterday as well and posted a comment: https://github.com/rust-lang/rust/issues/111540#issuecomment-2526523455.
The entire stuff on Windows is still a new thing to me. Sorry off the top of my head I don't have any useful answers for you now :(
I'll add them to unresolved part respectively


Multi Gpu training issue

Hi,
when i add --mGPUs for multi-gpu training , some errors occured to me as the following error informations.
DOES it support multi-gpu training???
Traceback (most recent call last):
131   File "trainval_net_global_local.py", line 201, in
132     rois_label, out_d_pixel, out_d = fasterRCNN(im_data, im_info, gt_boxes, num_boxes)
133   File "/mnt/lustre/yanghang1/anaconda3/lib/python3.6/site-packages/torch/nn/modules/module.py", line 491, in call
134     result = self.forward(*input, **kwargs)
135   File "/mnt/lustre/yanghang1/anaconda3/lib/python3.6/site-packages/torch/nn/parallel/data_parallel.py", line 115, in forward
136     return self.gather(outputs, self.output_device)
137   File "/mnt/lustre/yanghang1/anaconda3/lib/python3.6/site-packages/torch/nn/parallel/data_parallel.py", line 127, in gather
138     return gather(outputs, output_device, dim=self.dim)
139   File "/mnt/lustre/yanghang1/anaconda3/lib/python3.6/site-packages/torch/nn/parallel/scatter_gather.py", line 68, in gather
140     return gather_map(outputs)
141   File "/mnt/lustre/yanghang1/anaconda3/lib/python3.6/site-packages/torch/nn/parallel/scatter_gather.py", line 63, in gather_map
142     return type(out)(map(gather_map, zip(*outputs)))
143   File "/mnt/lustre/yanghang1/anaconda3/lib/python3.6/site-packages/torch/nn/parallel/scatter_gather.py", line 55, in gather_map
144     return Gather.apply(target_device, dim, *outputs)
145   File "/mnt/lustre/yanghang1/anaconda3/lib/python3.6/site-packages/torch/nn/parallel/_functions.py", line 54, in forward
146     ctx.input_sizes = tuple(map(lambda i: i.size(ctx.dim), inputs))
147   File "/mnt/lustre/yanghang1/anaconda3/lib/python3.6/site-packages/torch/nn/parallel/_functions.py", line 54, in
148     ctx.input_sizes = tuple(map(lambda i: i.size(ctx.dim), inputs))
149 RuntimeError: dimension specified as 0 but tensor has no dimensions

By the way, sing gpu by remove --mGPUs worked nice

could you explain which line you change for multi-GPU training?


Project Zero Warnings

Description
The game produces a ton of compiler warnings when built right now:

This has gradually piled up over years of development to RT and SS14, primarily due to deprecation of old APIs.
Incrementally cleaning up the code to remove these warnings is something any contributor can do in small batches. Contributions appreciated!
For MOTIVATIONAL REASONS, if want to track our progress, we have a public Grafana dashboard that tracks the repo's total warning count over time!

Can we assume then that maintainers are going to be more focused on preventing PR's from introducing more warnings?

Can we assume then that maintainers are going to be more focused on preventing PR's from introducing more warnings?

My current stance is that PRs adding warnings isn't big enough of a deal to warrant the effort to implement an automatic CI enforcement system like that. Best to just fix all the warnings right now.

I have a branch open for updating the static logger to sawmill. It will probably be in later this week


switch builder to golang:1.20-bullseye

Fixes #1199

Note: deployments/envoy/Dockerfile and containers/registry-tools/Dockerfile still use golang:1.20 as builder as they don't use distroless and don't have the lib issue.


OnRemoveWithReason still receives deleted entry

I deleted a key from cache, OnRemoveWithReason receives entry with reason bigcache.Deleted
But then, at expire time  OnRemoveWithReason still receives deleted entry with reason bigcache.Expired
My config:
var cache, _ = bigcache.NewBigCache(bigcache.Config{
		Shards:             16,
		LifeWindow:         time.Minute,
		CleanWindow:        500 * time.Millisecond,
		MaxEntriesInWindow: 5,
		MaxEntrySize:       1 * 1024 * 1024,
		Verbose:            true,
		HardMaxCacheSize:   5,
		OnRemove:           nil,
		OnRemoveWithReason: myRemoveWithReasonFunc,
		Logger:             bigcache.DefaultLogger(),
	})

My OS: Ubuntu 18.04
My go version: go1.12.2 linux/amd64
My bigcache version: v1.2.0

at expire time OnRemoveWithReason still receives deleted entry with reason bigcache.Expired

@santatic are you saying the entry isn't actually being deleted? Can you explain the problem/question a bit more?

@santatic are you saying the entry isn't actually being deleted?

Yes, that's my case.
My steps:

I add key a = v
I delete key a, OnRemoveWithReason response key a with reason bigcache.Deleted
I wait for expire time LifeWindow, OnRemoveWithReason response key a with reason bigcache.Expired

Let me see if I can reproduce it with a test case and if I can, I'll get it fixed, if not I'll have to ask you for a reproduction so that we can ensure there are no regressions later.

Here's the test that catches this case:
diff --git a/bigcache_test.go b/bigcache_test.go
index 580777d..2444dd5 100644
--- a/bigcache_test.go
+++ b/bigcache_test.go
@@ -275,6 +275,55 @@ func TestOnRemoveFilter(t *testing.T) {
        assert.True(t, onRemoveInvoked)
 }

+func TestOnRemoveFilterExpired(t *testing.T) {
+       t.Parallel()
+
+       // given
+       clock := mockedClock{value: 0}
+       onDeleteInvoked := false
+       onExpireInvoked := false
+       onRemove := func(key string, entry []byte, reason RemoveReason) {
+               switch reason {
+               case Deleted:
+                       onDeleteInvoked = true
+               case Expired:
+                       onExpireInvoked = true
+               }
+       }
+
+       c := Config{
+               Shards:             1,
+               LifeWindow:         2 * time.Second,
+               CleanWindow:        1 * time.Second,
+               MaxEntriesInWindow: 1,
+               MaxEntrySize:       256,
+               OnRemoveWithReason: onRemove,
+       }.OnRemoveFilterSet(Expired)
+
+       cache, _ := newBigCache(c, &clock)
+
+       // when
+       cache.Set("key", []byte("value"))
+       clock.set(5)
+       cache.Delete("key")
+
+       // then
+       assert.False(t, onDeleteInvoked)
+       assert.True(t, onExpireInvoked, "onExpireInvoke is false, but wants true")
+
+       // reset value
+       onExpireInvoked = false
+
+       // when
+       cache.Set("key2", []byte("value2"))
+       cache.Delete("key2")
+       clock.set(5)
+
+       // then
+       assert.False(t, onDeleteInvoked)
+       assert.False(t, onExpireInvoked, "onExpireInvoke is true, but wants false")
+}
+
 func TestCacheLen(t *testing.T) {
        t.Parallel()

It seems that OnRemoveFilterSet function is involved. Does your case include it @santatic?

Closed in #219.


Add a link to a new graphite integration

A project to integrate with graphite in read and write.

We try to avoid duplicates in this list to reduce confusion for users. Is this strictly better than what we currently list?
Also as what's currently listed is kinda official and historical, can this one insert data into Graphite in the same format?

Also, you've a password on the command line in the URL in the README. That's insecure, and should be fixed.


[release/1.1 backport] seccomp: whitelist statx syscall

backport of https://github.com/containerd/containerd/pull/3111 for the release/1.1 branch
This whitelists the statx syscall; libseccomp-2.3.3 or up
is needed for this, older seccomp versions will ignore this.
Equivalent of https://github.com/moby/moby/pull/36417
addresses https://github.com/docker/for-linux/issues/616

I just realised containerd itself does not apply the seccomp profile, but higher level tools can use the profile from contrib, so it's not strictly needed for backporting: feel free to close if that's prefered

Codecov Report

Merging #3112 into release/1.1 will not change coverage.
The diff coverage is n/a.

@@             Coverage Diff              @@
##           release/1.1    #3112   +/-   ##
============================================
  Coverage        49.07%   49.07%
============================================
  Files               85       85
  Lines             7598     7598
============================================
  Hits              3729     3729
  Misses            3194     3194
  Partials           675      675

Flag
Coverage Δ

#linux
49.07% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 9a0a5fd...03d129b. Read the comment docs.

LGTM


Invalid version of babel-jest in jest-runtime

Do you want to request a feature or report a bug?
Bug
What is the current behavior?
Incompatible version of babel-jest spcified in jest-runtime.
npm i jest@22 -D

npm ERR! Darwin 15.6.0
npm ERR! argv "/PATH/node/v6.10.3/bin/npm" "install" "jest@22" "-D"
npm ERR! node v6.10.3
npm ERR! npm  v3.10.10
npm ERR! code ETARGET

npm ERR! notarget No compatible version found<EMAIL_ADDRESS>npm ERR! notarget Valid install targets:
npm ERR! notarget 22.1.0, 22.0.6, 22.0.4, etc

npm ERR! notarget It was specified as a dependency of 'jest-runtime'

If the current behavior is a bug, please provide the steps to reproduce and
either a repl.it demo through https://repl.it/languages/jest or a minimal
repository on GitHub that we can yarn install and yarn test.
What is the expected behavior?
Should install a valid version of babel-jest
Please provide your exact Jest configuration and mention your Jest, node,
yarn/npm version and operating system.
N/a

Got the same error while trying to install critical.

Have had the same problem for ~2 hours.
It started working for us now though.

I fell back to 21 so I can continue work. Still cannot install latest version.

Similiar problem here when installing jest:"
Couldn't find any versions for "jest-jasmine2" that matches "^22.2.0"

Experiencing the same issue, downgrading to jest 22.1.4 still has dependencies that takes the latest version of babel-jest since it specified in the dependencies package json with ^version and not only as ´version´
Errors from installing with "jest": "^22.1.1", "jest": "^22.1.4" and "jest": "^22.1.1"
No compatible version found<EMAIL_ADDRESS>

Does it only happen with npm? I didn't have any problems using yarn.

Okay, so the latest version of babel-jest is 22.2, and some of my colleagues are not having this issue. May be npm caching?
https://www.npmjs.com/package/babel-jest

npm cache clean made no changes. Neither did restarting my machine.

Out of interest, is anyone here running npm enterprise?

Looks like an npm issue. We have however just released<EMAIL_ADDRESS>with a minimal patch, so maybe this will help mitigate the problem.

@mjesun yeah. Still not sure how to fix it though. Probably best to leave this issue open for a while for anyone else experiencing the issue.

22.2.0 is here: https://registry.npmjs.org/babel-jest, so this seems like a caching issue

Seems like 22.2.1 fixed the issue.

I can now see 22.2.0, but not 22.2.1. At least I can install jest now. :)

Are you directly talking to NPM? Looks like something in between is doing evilish things 😛

Really not sure what's going on. Tried clearing npm cache, DNS cache, restarting Mac, restarting router, checking that I was hitting the same IP as my colleagues, made sure there was nothing in my hosts that could be messing with it, uninstalled and reinstalled npm. Today I am on the same network as people that it was working for and npm info babel-jest still shows the latest version as 22.2.0.


using nucleo stlink traces

Hi all
When runing a nucleo under Windows we have the chance to get some traces on com port. It is using the stlink interface. Stlink interface is using the traces coming from the STM32 UART2.
I am trying to make it work on linux but it doesn't seem to be so easy.
I can see ttyACM0 under /dev but I cannot get anything from it.
Anyone has the chance to make it work under linux?
Thanks
Ludovic

I'm not 100% sure, but you are mentioning nothing related to the stlink programmer and tools itself. There are a few options to get tracing: ARM Semihosting (only supported by OpenOCD), ARM ITM (Instrumentation Trace Macrocell) no real opensource project is capable of ITM (as far as I know).Or reading the serialport directly with a external cable or reading the registers/memory yourself.

I'm closing this due to inactivity of the original issuer. Tracing over UART is unrelated to the stlink project.


Revisit WSL for built-in clusters?

It looks like WSL now supports systemd natively:
https://devblogs.microsoft.com/commandline/systemd-support-is-now-available-in-wsl/
Thinks to research:

[ ] Distro lifecycle: I'm not sure whether we can control this.
[ ] Do distros get stable IP addresses?  This was a problem before.
[ ] bottle-imp might be of some value here

I'm putting this in deep-freeze.

I'm reopening this to look at again in the future.  WSL2 has supported systemd natively since Sept 2022 and it looks like there might be some techniques for setting a stable IP address for distros:
https://gist.github.com/wllmsash/1636b86eed45e4024fb9b7ecd25378ce

CLOSING: I looked into this some more and it appears that MSFT still hasn't addressed the shared IP address across all WSL distros issue,  Even Rancher Desktop requires people configure NAT rules to deal with port conflicts across WSL distros (including Docker).
We're working pretty well on a true 16GB RAM laptop now, so this isn't worth any more troble.


Output data from Vows test

I have a test file like below:
// Dependencies
var Vows = require("vows")
  , Request = require("request")
  , Assert = require("assert")
  , MyLib = require("../../lib/")
  ;

// Globals
var sServer = new MyLib({
      root: __dirname + "/../fixtures"
    })
  , suite = Vows.describe("...")
  , TEST_PORT = 8080
  , TEST_SERVER = "http://localhost:" + TEST_PORT
  , server
  , callback
  ;

suite.addBatch({
    "once an http server is listening with a callback": {
        topic: function() {
            server = require("http").createServer(function (req, res) {
                // output some data
                sServer.serve(req, res);
            }).listen(TEST_PORT, this.callback)
        },
        "should be listening": function() {
            Assert.isTrue(true);
        }
    }
}).addBatch({
    "streaming a 404 page": {
        topic: function() {
            request.get(TEST_SERVER + "/not-found", this.callback);
        },
        "should respond with 404": function(error, response, body) {
            Assert.equal(response.statusCode, 404);
        },
        "should respond with the streamed content": function(error, response, body) {
            Assert.equal(body, "Custom 404 Stream.");
        }
    }
}).export(module);

Somewhere this crashes, and I want to output some data. I tried to do console.log and process.stdout.write(...). Both don't work as I expected.
I run the test using npm test, having vows --spec --isolate in my package.json file.
So, how can I output data when using Vows tests?

I already tried the workaround from #70 that didn't work for me...
I also asked this StackOverflow question.

Is there any progress on this?

So, this should probably be OK in 1.x.
I'm going to close this for now.


Fix projetcId not ready and ca download link issues

#3100
#3097

Coverage remained the same at 54.728% when pulling d2540b71f502a5cbd7e5174c4f801f76a6b81394 on steven-zou:master into bf8aef8e7e1fbaf1cd2e168194eac8120b98a049 on vmware:master.


[Bug]: For forkable public apps, instead of fork app, edit app button is displayed

Is there an existing issue for this?

[X] I have searched the existing issues

Description
For apps which are public, instead of  Fork app button, it shows Edit app button, which on further clicking redirects to sign in page.
Steps To Reproduce

Make an app public which has {"forkingEnabled": true }
Copy the url and open in different tab
Observe instead of fork button, edit button is shown

Public Sample App
https://rbac-release.appsmith.com/app/datasourceswithted/page1-62ece929ff270560daab31d3
Version
RBAC Instance

To reproduce this with forkable app @trishaanand :

Fork a template and deploy
Copy the app url
Paste the url in incognito mode
Observe instead of fork app, edit app button is displayed

Or can try with this url as well https://rbac-release.appsmith.com/applications/62f2081f44a6de6ee6cc1526/pages/62f2082044a6de6ee6cc152c


Add LTO support to CMake build

I'm curious, does LTO make a difference in the quality of the generated code? It's effectively a single code unit already.
Or is this for downstream consumers? Wouldn't they normally enforce that through CMAKE_C_FLAGS?

TBH I haven't checked. Went for compatibility with the existing makefile.
We could table this for if / when there are more units ;-)

I strongly lean towards "do nothing until someone complains" :-)

Oh, now that I think about it: LTO produced (and still produces) no end of build and runtime issues with node due to bugs in compilers and linkers, so... yeah.


Make root index.js es5 compatible

We need this so that Babel can be ignored while bundling third-party vendors.
Would make things faster for us.

:+1:

Well... const is supported at the current LTS. But not the shorthand for the properties. :)

LGTM 👍

Coverage remained the same at 50.595% when pulling 74844f03eb58fd7424495362055f5da51520845c on fahad19:export into bd8ed0c95e946727cbb73cf520b7770b5fb7f490 on Travix-International:master.


Update README.md, replace AuthenticatorService with CredentialRecordS…

…ervice

Thank you for your fix! I overlooked.


Invites should comply with the Capability URL recommendations

The W3C calls links like our invites "capability URLs".  We should make sure to comply with their recommendations (https://www.w3.org/TR/capability-urls/#recommendations) for these URLs.  In particular, we currently do not

Set an expiration date
Allow revocation
Set a robots.txt to deindex the invite/ path.

@bemasc Submitted a PR to update robots.txt and assigned to you.


add lz4 compress support

This pr add LZ4 Compression support(With golang implemented cityhash102)

Hi, thank you. It's very important feature. Maybe the pure Go implementation of the LZ4 codec will be better? I'll try to make some tests for the comparison these libraries.

@sundy-li thank you!


App.Configure() conflicts with the default name of Xamarin.Forms initialization class.

Hello,
I was trying to use  Firebase Cloud Messaging for iOS with a Xamarin.Forms project, but got stuck at the instructions (https://components.xamarin.com/gettingstarted/firebaseioscloudmessaging) when asked to call App.Configure (); inside my AppDelegate.
After a while I figured out that
	// @interface FIRApp : NSObject
	[DisableDefaultCtor]
	[BaseType (typeof (NSObject), Name = "FIRApp")]
	interface App

was conflicting with my Forms
  public partial class App : Application
   {
       public App()
       {

I suggest to change the Firebase App name back to his original name "FIRApp" and avoid conflicts with the Xamarin.Forms App class.

Leaving the name as FIRApp will not satisfy the .NET class naming convention. It states:

DO NOT give class names a prefix (e.g., "C").

My suggestion is to use the full namespace of App class:
Firebase.Analytics.App
Or use C# using alias:
using FirebaseApp = Firebase.Analytics.App
Greetings,
Israel Soto.

That's right, FIRApp was a bad suggestion.
I already renamed my Forms.App.cs to something else and solved my problem.
But it's not intuitive the way it is right now. Especially because Xamarin Studio won't suggest the namespace when trying to "fix..." and is hard to figure out that the configuration class is inside the analytics.
I have talked to more people who gave up on using this because got sucked in the same problem.
Thanks for taking the time to answer my question, appreciate it.

I suggest to change the doc on the website and add the full namespace in it

Use Firebas.Core.App.

When I write Firebase.Core.App.Configure() in app delegate's finishedlaunching method, my app crashes, everything is fine except when this line is executed, any help?

I resolved it by not writing this line, and everything is fine,

Probably fixed now, but for anyone else. Make sure that you have included the 'GoogleService-Info.plist' as part of the 'Bundle Resource'. Right-click -> build action -> bundle resource.


Drop reference to std::cout and friends

Remove unnecessary include in a header file.

Good catch. This is causing a problem with the fuzzer, but I will fix it with another PR.

Merging.


Add placeholder UI for users without listings

https://app.zeplin.io/project/59fa2311bac7acbc8d953da9/screen/5ab08ccd857903ba6948652d
Please post here or self-assign this if you plan to tackle this within a day or so. 🙏

We should probably have a similar one for my-sales, also.

Done via #289 ✅


Outline and align on autonomous strategy for 2015 robot

Our autonomous strategy will drive implementation of the autonomous code. Given that:

Establish a small cross-functional team (programming, marketing, mechanical, electronics, strategy/rules)
Discuss various approaches, and outline our 2015 autonomous strategy (note: give yourself a set time limit, 30-45mins, to ensure it doesn't drag on)
Present to the Spartronics team and reach alignment on strategy, and get agreement on requirements to programming and electronics/mechanical
Ideally, beginning of Saturday (1/31), we reached an agreement as a team

re #28


Rare build failures during apk assembling

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 9.0.40-0
Reproducible in staging?: N
Reproducible in production?: N
If this was caught during regression testing, add the test name, ID and link from TestRail: N
Email or phone of affected tester (no customers): N
Logs: https://github.com/Expensify/App/actions/runs/11034638063
Expensify/Expensify Issue URL:
Issue reported by: @hannojg spotted it
Slack conversation: https://margelo.slack.com/archives/C06JLFDLLUX/p1727275324763019
Action Performed:

merge code to main
automatic e2e build action will be triggered

Expected Result:

build action should be always stable

Actual Result:

sometimes action may randomly fail

Workaround:
Re-trigger pipeline manually.
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos

View all open jobs on GitHub

I think the bug can be assigned on me as well, because I already prepared a fix for that 👀

@kirillzyusko we don't have access to that margelo slack conversation. Can you start a conversation about this in one of our slack channels? I'm not sure if this is the right approach but somebody else might know better.

@arosiclair I updated a link 🙌

No C+ review and changes are from Margelo so we can just close this


Issue with using swap() when stripe model is something other than User

Hi Guys,
I just ran into an issue on one of my projects where I am using Cashier on Laravel 5.2, where I have users under an account model, and it is the account model that the subscriptions should connect to, so I updated my Stripe model in my config > services.php file to:
'stripe' => [
    'model'  => App\Account::class,
    'key'    => env('STRIPE_KEY'),
    'secret' => env('STRIPE_SECRET'),
],

The issue is I am building out a change subscription plan section in my project, and I am using the subscription swap() method in cashier, but when I try to call this I am getting the following error:
FatalThrowableError in Subscription.php line 285: Fatal error: Call to a member function asStripeCustomer() on null
I think I tracked down the issue to this Subscription.php file, line 35:
return $this->belongsTo($model, 'user_id');
In my subscriptions table I have named my foreign key 'account_id' instead of 'user_id'. Is this an issue with something I am doing or should this be updated to not hard code the user_id as the foreign key in the code? Thanks guys.

@taylorotwell Any chance of having this merged. I've been holding off a L4.2 upgrade due to this.


Add ScipyDistribution

Add the ScipyDistribution class that can be used to easily turn scipy distributions into virocon distributions.

Codecov Report

Merging #165 (9c65915) into master (59053a5) will increase coverage by 0.21%.
The diff coverage is 82.55%.

@@            Coverage Diff             @@
##           master     #165      +/-   ##
==========================================
+ Coverage   77.53%   77.75%   +0.21%
==========================================
  Files          12       12
  Lines        1794     1879      +85
==========================================
+ Hits         1391     1461      +70
- Misses        403      418      +15

Impacted Files
Coverage Δ

virocon/distributions.py
72.43% <82.55%> (+1.74%)
:arrow_up:

virocon/_intersection.py
8.16% <0.00%> (-1.84%)
:arrow_down:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Implement customizable primary key types

Still a WIP, missing tests and all, but just to validate the API and the changes.
(fear not, most of the changes are generated kallax.go changes)
Considerations
Is not totally customizable, only these types are allowed:

int64
uuid.UUID
kallax.UUID
kallax.ID
kallax.NumericID

Codecov Report

Merging #98 into master will decrease coverage by -2.07%.
The diff coverage is 52.59%.

@@            Coverage Diff             @@
##           master      #98      +/-   ##
==========================================
- Coverage   80.72%   78.65%   -2.07%
==========================================
  Files          15       15
  Lines        2241     2357     +116
==========================================
+ Hits         1809     1854      +45
- Misses        293      356      +63
- Partials      139      147       +8

Impacted Files
Coverage Δ

batcher.go
77.77% <100%> (+0.2%)
:white_check_mark:

schema.go
80.55% <100%> (+0.55%)
:white_check_mark:

model.go
60% <23.07%> (-40%)
:x:

store.go
84% <25.92%> (-10.78%)
:x:

generator/processor.go
90.72% <75%> (-0.37%)
:x:

generator/types.go
83.93% <81.81%> (-1.08%)
:x:

generator/template.go
89.4% <83.33%> (+0.37%)
:white_check_mark:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 43cfc4c...cbb5b7d. Read the comment docs.

@dpordomingo @Serabe removed ID from Model

Codecov Report

Merging #98 into master will decrease coverage by -1.17%.
The diff coverage is 73.71%.

@@            Coverage Diff             @@
##           master      #98      +/-   ##
==========================================
- Coverage   80.72%   79.55%   -1.17%
==========================================
  Files          15       15
  Lines        2241     2343     +102
==========================================
+ Hits         1809     1864      +55
- Misses        293      332      +39
- Partials      139      147       +8

Impacted Files
Coverage Δ

generator/types.go
86.32% <100%> (+1.3%)
:white_check_mark:

batcher.go
77.77% <100%> (+0.2%)
:white_check_mark:

schema.go
80.55% <100%> (+0.55%)
:white_check_mark:

model.go
67.7% <52.63%> (-32.3%)
:x:

generator/processor.go
88.84% <60%> (-2.25%)
:x:

store.go
90.18% <75%> (-4.59%)
:x:

generator/template.go
89.4% <83.33%> (+0.37%)
:white_check_mark:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 43cfc4c...c4a10ad. Read the comment docs.


whereRelation eloqunt query now can accept array, string or closure

If $column is an instance of Closure, a nested condition is added to the related model using the provided closure as the condition.
If $value is an array, a "whereIn" condition is applied to the related model's column using the whereIn method of the query builder.
If none of the above conditions are met, a regular "where" condition is added to the related model's column using the where method of the query builder.

Thanks for your pull request to Laravel!
Unfortunately, I'm going to delay merging this code for now. To preserve our ability to adequately maintain the framework, we need to be very careful regarding the amount of code we include.
If possible, please consider releasing your code as a package so that the community can still take advantage of your contributions!
If you feel absolutely certain that this code corrects a bug in the framework, please "@" mention me in a follow-up comment with further explanation so that GitHub will send me a notification of your response.


update alpine to 3.15

resolve https://github.com/docker-library/docker/issues/338

Nice, thanks @tao12345666333!