Configure CI to release new versions when pushing tags

This would allow anyone with tag pushing rights to release new versions without having to have npm permissions.
More information about the potential setup: https://discord.com/channels/480462759797063690/525367494400278538/967111203333734441
Another option from the Github Docs: https://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages#publishing-packages-using-yarn

This is how I do it on my repos
https://github.com/concordnow/ember-aria-tabs/blob/master/.github/workflows/main.yml#L105
I use release-it to create the tag, bump package.json (w/ lockfile) and update changelog.
CI is in charge of the publishing part.


Pivot fillable fields ignored

Laravel Version: 5.5.13
PHP Version: 7.1.1
Database Driver & Version: MariaDB 10.1.21

Description:
Given we have carts and products and a many-to-many relationship between them, if we attach a new product to the cart with some pivot values, the cart id can be overwritten resulting in attaching the product to the incorrect cart:
$cart->products()->attach($id, ['cart_id' => 123, 'quantity' => 5]);

Calling the withPivot method on the relationship doesn't affect anything since it only influences what gets selected, if I'm not mistaken.
Creating a custom pivot with the fillable fields also doesn't change a thing, because InteractsWithPivotTable::castAttributes calls forceFill instead of fill on the pivot instance.
Steps To Reproduce:

git clone https://github.com/KKSzymanowski/laravel-pivot-fillable
cd laravel-pivot-fillable
cp .env.example .env
Set up an empty database, MariaDB for example
Set the DB connection parameters in the .env file
composer install
phpunit

First test should pass, second should fail.

Uncomment the using call in app/Cart.php
phpunit

Again, first test should pass, second should fail.

@KKSzymanowski please don't share an entire laravel project. Help us look into it better by including easy to replicate steps of production.

Please take a look at the last commit
https://github.com/KKSzymanowski/laravel-pivot-fillable/commit/e5428ace0b9421d3f51ac3793682413099b4ca2b
These are the exact steps to reproduce.

$cart->products()->attach($id, ['cart_id' => 123, 'quantity' => 5]);

This is wrong, don't include a cart_id key, this is for you to take care of :)

But why this inconsistency? I can set the fillable fields on the model to protect my app from filling some unwanted fields in the database, but I cannot do that for pivots.
Is there a good reason for the forceFill call?

I don't see this as an inconsistency, it's intended to forceFill so you don't have to handle the hassle of guarded attributes inside your pivot model, it's a special model where all attributes are supposed to be filled.

@themsaid But the base Pivot defines the guarded fields as an empty array:
https://github.com/laravel/framework/blob/5.5/src/Illuminate/Database/Eloquent/Relations/Pivot.php#L37
Changing the forceFill to fill in InteractsWithPivotTable::castAttributes makes both tests pass and the correct data is inserted into the pivot table.

@KKSzymanowski you have a point yeah, let me look into that.

Thank you

Good catch, @KKSzymanowski! #21403

@themsaid Thanks for the fix.


Shell overdo argument parsing in some cases

Describe the scenario
If shell is used to implement AT commands, some commands are parsed incorrectly. It is because shell argument parser attempts to extract all parameters into separate strings and support quotation characters so it parses string like command arg1 "arg2 with spaces" into 3 arguments with last one containing spaces. Quotations must be escaped if they are just quotations (e.g. command arg1\"ABC\"). For AT case it would actually be more convenient if shell passes parameters as single string to the command handler.
Example (assuming that at is a registered command with handler):
command: at AT+ABC="some string","FOO", "foo"
Now is parsed as:
argv[0]=at
argv[1]=AT+ABC=some string,FOO,
argv[2]=foo
Expected:
argv[0]=at
argv[1]=AT+ABC="some string","FOO", "foo"
Proposed solution
Add flags to command registration and flag that will tell the parser to treat all characters following n'th argument as the last argument.
Add flag SHELL_CMD_MERGE_ARGS(offset). Offset written on 4 bits should be more than enough.
Extend registration command to allow passing flags.

fyi @stig-bjorlykke

@jakub-uC  @Vudentz what do you think about it? feedback welcomed. Other solution proposals or maybe different perspective to the problem.

@nordic-krch : The easiest way, in my opinion, would be to implement a command like select which you can use to dynamically modify parameter set by Kconfig's SHELL_ARGC_MAX.
And similar to select you could use some escape code to bring back default value.


Updated spring boot , migrated from springfox to springdoc-api

Closes #
Updated Spring boot to 2.6.6, jackson-databind to 2.13.2 and migrated from springfox-boot-starter to springdoc-openapi-ui

Hi @AndreiOla did this get tested to make sure it doesnt have the same issue as the workflow service?

@tlawrie I started the App locally and it works fine.

Thanks @AndreiOla


Glowing Armor works, but not for Obtained Date config.
Already fixed in dev.


Detect if users already exists instead of failing. Fixes #431

I'm submitting a

[x] bug fix
[ ] feature
[ ] documentation addition

What is the current behaviour?
Action user.add fails if the user already exists.
If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem
actions:
  - action: user.add
    fullname: Test User
    home_dir: /home/test
    username: test
    shell: /bin/sh

What is the expected behavior?
Pass without fail if user already exists.
What is the motivation / use case for changing the behavior?
Should not be marked as a failing result.
Please tell us about your environment:
Version (comtrya --version): ccdf5e1
Operating system: FreeBSD 14

Wait, it needs to add the variant for Windows.

I think one last thing, run cargo fmt so it'll pass the linter.

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
Attention: Patch coverage is 0% with 5 lines in your changes missing coverage. Please review.

Project coverage is 27.07%. Comparing base (b574682) to head (c006187).
Report is 36 commits behind head on main.

Files with missing lines
Patch %
Lines

lib/src/actions/user/add.rs
0.00%
5 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #453      +/-   ##
==========================================
- Coverage   28.59%   27.07%   -1.53%
==========================================
  Files          85       83       -2
  Lines        2301     2246      -55
==========================================
- Hits          658      608      -50
+ Misses       1643     1638       -5

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

Added conditional check when importing tracing::debug.

Looks like it is good to go, thank you!

Yay! Thanks @martintc !


ICQ for AV1 not working

Reference: #79
@oviano helped me find this issue, and can explain it better than I can...
Getting this error while using ICQ:

Error allocating the output packet rate=xxxxkbits/s speed = x.xx Error submitting video frame to the encoder

It looks like neither param.mfx.BufferSizeInKB or param.mfx.BRCParamMultiplier in qsv_retrieve_enc_av1_params get set when the codec is AV1, and are thus still zero

Thanks for letting us know about this issue.  Can you tell us a bit more about how to replicate this error?    For example, is this issue seen from FFmpeg on Windows?  What hardware are you running on?

In summary, @camthoms posted the command line:
ffmpeg -init_hw_device qsv=intel,child_device=2 -i "input.mkv" -vcodec av1_qsv -bf 7 -g: 120 -look_ahead_depth 100 -global_quality 12 -preset veryslow -acodec opus -strict -2 "output.mkv" -n

The verbose output was:
ffmpeg version 5.1.git Copyright (c) 2000-2022 the FFmpeg developers
built with msvc
configuration: --disable-ffplay --disable-ffprobe --disable-postproc --enable-libdav1d --enable-cuda-nvcc --enable-libvpl --enable-libsvtav1 --enable-libaom --disable-bzlib --disable-iconv --disable-zlib --disable-lzma --disable-sdl2 --prefix=..♀fmpeg-win32-server
libavutil 57. 43.100 / 57. 43.100
libavcodec 59. 54.100 / 59. 54.100
libavformat 59. 34.102 / 59. 34.102
libavdevice 59. 8.101 / 59. 8.101
libavfilter 8. 51.100 / 8. 51.100
libswscale 6. 8.112 / 6. 8.112
libswresample 4. 9.100 / 4. 9.100
Routing option strict to both codec and muxer layer
[AVHWDeviceContext @ 000001C7849B5EC0] Defaulting child_device_type to AV_HWDEVICE_TYPE_D3D11VA for oneVPL.Please explicitly set child device type via "-init_hw_device" option if needed.
[AVHWDeviceContext @ 000001C7849B3780] Using device 8086:56a5 (Intel(R) Arc(TM) A380 Graphics).

From the reference to "built with msvc" you can see that it is on the Windows platform.
The error can be seen in the output above:
[av1_qsv @ 000001C7948E3CC0] Error allocating the output packetrate=4185.4kbits/s speed=1.95x
Error submitting video frame to the encoder

Since I had qsvenc.c open at the time, I searched for the error "Error allocating the output packet" and found it occurs here:
 ret = av_new_packet(&pkt.pkt, q->packet_size);
    if (ret < 0) {
        av_log(avctx, AV_LOG_ERROR, "Error allocating the output packet\n");
        return ret;
    }

I made the assumption (caveat - without actually debugging it!) that q->packet_size was likely zero following its calculation here:
 q->packet_size = q->param.mfx.BufferSizeInKB * q->param.mfx.BRCParamMultiplier * 1000;

I then looked at this piece of code:
switch (q->param.mfx.RateControlMethod) {
    case MFX_RATECONTROL_CBR:
    case MFX_RATECONTROL_VBR:
        if (q->extbrc) {
            q->extco2.LookAheadDepth = q->look_ahead_depth;
        }
#if QSV_HAVE_VCM
    case MFX_RATECONTROL_VCM:
#endif
    case MFX_RATECONTROL_QVBR:
        q->param.mfx.BufferSizeInKB   = buffer_size_in_kilobytes / brc_param_multiplier;
        q->param.mfx.InitialDelayInKB = initial_delay_in_kilobytes / brc_param_multiplier;
        q->param.mfx.TargetKbps       = target_bitrate_kbps / brc_param_multiplier;
        q->param.mfx.MaxKbps          = max_bitrate_kbps / brc_param_multiplier;
        q->param.mfx.BRCParamMultiplier = brc_param_multiplier;
        if (q->param.mfx.RateControlMethod == MFX_RATECONTROL_QVBR)
            q->extco3.QVBRQuality = av_clip(avctx->global_quality, 0, 51);
        break;
    case MFX_RATECONTROL_CQP:
        quant = avctx->global_quality / FF_QP2LAMBDA;
        if (avctx->codec_id == AV_CODEC_ID_AV1) {
            q->param.mfx.QPI = av_clip_uintp2(quant * fabs(avctx->i_quant_factor) + avctx->i_quant_offset, 8);
            q->param.mfx.QPP = av_clip_uintp2(quant, 8);
            q->param.mfx.QPB = av_clip_uintp2(quant * fabs(avctx->b_quant_factor) + avctx->b_quant_offset, 8);
        } else {
            q->param.mfx.QPI = av_clip(quant * fabs(avctx->i_quant_factor) + avctx->i_quant_offset, 0, 51);
            q->param.mfx.QPP = av_clip(quant, 0, 51);
            q->param.mfx.QPB = av_clip(quant * fabs(avctx->b_quant_factor) + avctx->b_quant_offset, 0, 51);
        }
        q->old_global_quality = avctx->global_quality;
        q->old_i_quant_factor = avctx->i_quant_factor;
        q->old_i_quant_offset = avctx->i_quant_offset;
        q->old_b_quant_factor = avctx->b_quant_factor;
        q->old_b_quant_offset = avctx->b_quant_offset;

        break;
#if QSV_HAVE_AVBR
    case MFX_RATECONTROL_AVBR:
        q->param.mfx.TargetKbps  = target_bitrate_kbps / brc_param_multiplier;
        q->param.mfx.Convergence = q->avbr_convergence;
        q->param.mfx.Accuracy    = q->avbr_accuracy;
        q->param.mfx.BRCParamMultiplier = brc_param_multiplier;
        break;
#endif
    case MFX_RATECONTROL_LA:
        q->param.mfx.TargetKbps  = target_bitrate_kbps / brc_param_multiplier;
        q->extco2.LookAheadDepth = q->look_ahead_depth;
        q->param.mfx.BRCParamMultiplier = brc_param_multiplier;
        break;
    case MFX_RATECONTROL_LA_ICQ:
        q->extco2.LookAheadDepth = q->look_ahead_depth;
    case MFX_RATECONTROL_ICQ:
        q->param.mfx.ICQQuality  = av_clip(avctx->global_quality, 1, 51);
        break;
    }

...and noticed that param.mfx.BufferSizeInKB and param.mfx.BRCParamMultiplier were not being set for the ICQ rate control options.
Assuming they were zero, this would lead to the packet size calculation being zero and the error being produced.
A possible patch would be to insert some lines to set these fields as follows:
    case MFX_RATECONTROL_LA_ICQ:
        q->param.mfx.BufferSizeInKB  = buffer_size_in_kilobytes / brc_param_multiplier;
        q->param.mfx.BRCParamMultiplier = brc_param_multiplier;
        q->extco2.LookAheadDepth = q->look_ahead_depth;
    case MFX_RATECONTROL_ICQ:
        q->param.mfx.ICQQuality  = av_clip(avctx->global_quality, 1, 51);
        break;

Note that I've made a lot of assumptions, so you would need to debug this properly and I do not even know if ICQ is meant to be supported for AV1 so it might all be irrelevant.

I can't get ICQ working with hevc_qsv either - but it does work with h264_qsv.
I'm running the latest of everything... on an ARC A770 - onevpl 2023.1.1, onevpl-intel-gpu 22.6.5, linux-drm-tip-git, intel-media-driver 22.6.4, ffmpeg with cartwheel patches applied, etc
$ ffmpeg -y -loglevel trace -init_hw_device qsv -i "input.mkv" -c:v hevc_qsv -global_quality:v 24 "output.mkv"
[hevc_qsv @ 0x55f3edf29ec0] Initialized an internal MFX session using hardware accelerated implementation
[hevc_qsv @ 0x55f3edf29ec0] Using the intelligent constant quality (ICQ) ratecontrol method
[hevc_qsv @ 0x55f3edf29ec0] Selected ratecontrol mode is unsupported
[hevc_qsv @ 0x55f3edf29ec0] Low power mode is unsupported
[hevc_qsv @ 0x55f3edf29ec0] some encoding parameters are not supported by the QSV runtime. Please double check the input parameters.
Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height

If I change the command above to h264_qsv it works.

Investigation complete from oneVPL perspective.  Please follow links above to check progress in media-driver and FFmpeg cartwheel projects.

Investigation complete from oneVPL perspective. Please follow links above to check progress in media-driver and FFmpeg cartwheel projects.

Latter bug was closed after this and the driver bug were filed, and driver bug does not have any comments from the Intel side. No info on what's the status of the issue, is it going to be fixed, or when.


Protocol Collectable not implemented for %SFTPClient.Stream

Hi i'm trying to upload a file using SFTPClient.upload_file!(conn, local_path, remote_path).
but i'm getting
(Protocol.UndefinedError) protocol Collectable not implemented for %SFTPClient.Stream{chunk_size: 32768, conn: %SFTPClient.Conn{channel_pid: #PID<0.661.0>, config: %SFTPClient.Config{connect_timeout: 5000, dsa_pass_phrase: nil, ecdsa_pass_phrase: nil, host: "host_ip", inet: :inet, key_cb: {SFTPClient.KeyProvider, [private_key_path: nil, private_key_pass_phrase: nil]}, operation_timeout: :infinity, password: nil, port: port, private_key_pass_phrase: nil, private_key_path: nil, rsa_pass_phrase: 'secret, sftp_vsn: nil, system_dir: nil, user: 'user', user_dir: 'keys_dir'}, conn_ref: #PID<0.659.0>}, path: "remote_path"} of type SFTPClient.Stream (a struct). This protocol is implemented for the following type(s): Ecto.Adapters.SQL.Stream, Postgrex.Stream, IO.Stream, HashDict, File.Stream, Map, MapSet, HashSet, BitString, List     (elixir 1.10.2) lib/collectable.ex:1: Collectable.impl_for!/1     (elixir 1.10.2) lib/collectable.ex:77: Collectable.into/1     (elixir 1.10.2) lib/stream.ex:531: Stream.do_into/5     (elixir 1.10.2) lib/stream.ex:649: Stream.run/1     (sftp_client 1.4.0) lib/sftp_client/operations/upload_file.ex:37: SFTPClient.Operations.UploadFile.upload_file!/3
what do i am doing wrong?

Hello, thank you for your bug report!
Which version of Elixir and OTP are you using?
Are you using any frameworks - such as Phoenix?

Hello @tlux , i hope you're well.
I'm using Elixir 1.10.2 and Erlang/OTP 22,
and i'm not using Phoenix, but i use https://github.com/CrowdHailer/Ace as a web server

I'm kind of lost at the moment because there are tests for this function that invoke the particular protocol. I will probably have to reconstruct your project setup.
One more question: Did you play around with the :consolidate_protocols option in your Mix project?

I am getting the same error,
using Elixir 1.9.4 and Erlang/OTP 22
I have an umbrella app, and it actually only happens when i run the app from the base directory of the umbrella - which uses phoenix.
when I only run this specific app (which does not use phoenix) it works just fine.
Does it really have to do with using phoenix? And is there a way to solve it?

Hello @faigyLang,
thank you for your message.
After some digging, I found an issue in the official Elixir issue board (https://github.com/elixir-lang/elixir/issues/5987). It seems that umbrella apps need a bit of "special care" - most notably running mix compile.protocols --force. Maybe you try some of the described workarounds and then report back here!

Thanks @tlux !
running mix compile.protocols --force did solve the problem.
i will check it in to get a better understanding of the issue.

Great, you're welcome! I'm closing this issue for now.

Amazing guys 🎊


Airplay UI

Airplay UI is empty and no default queries are populating

@tarun007hercules what are you expecting to happen?   I am running latest version of presto .115
can you guide me as i am new to presto
I have referenced this https://github.com/airbnb/airpal for airpal
I have installed presto using bootstrap action referencing this https://github.com/awslabs/emr-bootstrap-actions/tree/master/presto

@jprosevear +1. The UI has nothing in the table explorer and the UI doesn't respond to any actions except saving queries.
I followed this demo: https://blogs.aws.amazon.com/bigdata/post/Tx1BF2DN6KRFI27/Analyze-Data-with-Presto-and-Airpal-on-Amazon-EMR
Seems like Airpal can't see the EMR master. I confirmed prestoCoordinator is set properly in reference.yml. Any idea on how to debug this?

Can you post your reference.yml? Did you use the correct port for the coordinator? I don't have the issue of connecting my own airpal to presto launched using EMR.

@edwardxwu Turns out the presto coordinator was missing http:// prefix

@tarun007hercules have you got the solution? actually I'm also facing same problem if you have solution please help me.
Thank you.

@tarun007hercules @jprosevear @devinXL8 @edwardxwu can you help me?


Issues in branches coverage

I’ve added jest-vue to my project and I realized that the values for the branches coverage are incorrect. I tried the same with your project vue-test-utils-jest-example-master and the issues are the same.
￼

You can notice that the template lines are included in the coverage calculation and it also shows 50% of 6 branches coverage when you don’t even have a single branch in the file… Something is wrong here. Can you look at it?

Have you added "mapCoverage": true to your Jest config?
Like this - https://github.com/eddyerburgh/jest-vue/blob/master/package.json#L71

Yes, I added it to your project, and It's still not working. It seems that the rest of the coverage in statements, functions and lines are ok.

Ok, I see what you mean.
I'm not going to have time to look into this closely for a while. Maybe not until October 😕
Once I have a free weekend I'll investigate this issue properly and attempt to solve.


Make Solidity version consistent with other interfaces.

Make Solidity version consistent with other interfaces.

Thanks @nevillegrech!


Add simulation for gov

#1063
ad sims for gov proposal:

Instantiate contract
Execute contract
Update admin
Clear admin

Thanks a lot for your contribution! +1
Unfortunately the simulations do fail now . The issue does not look related but please take a look.
Note: current main contains sdk v0.45.10 now which seem to not cause the error

Yeah, I have checked the issue. The errors occur in the sims of module authz (this issues). It will pass if we move to v0.45.10


refactor(design): refactor accordion components to directives

PR Checklist
Please check if your PR fulfills the following requirements:

[x] The commit message follows our guidelines: https://github.com/graycoreio/daffodil/blob/master/CONTRIBUTING.md#commit
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[x] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] Other... Please describe:

What is the current behavior?
accordion-item-title and accordion-item-content are component selectors.
Issue Number: Partial solution to #213
What is the new behavior?
Updated to components without Inputs/Outputs to directives. daffAccordionItemTitle and daffAccordionItemContent
Does this PR introduce a breaking change?
[ ] Yes
[x] No

Other information

@damienwebdev squashed


Improve _pod_ip property

If self.model.get_binding("prometheus-peers").network.bind_address returns something that evaluates to False (None, or "") this property will return None but its signature indicates that returns a string.
https://github.com/canonical/prometheus-k8s-operator/blob/316f9c364637161750276b55356678b93bbc8fb8/src/charm.py#L357

So, you mean the property is falsy, and that as type we should rather make it Optional[str]?

It is just as simple and perhaps better to to add and else clause so that the property returns and empty string when the bind_address is None.
    def _pod_ip(self) -> str:
        """Returns the pod ip of this unit."""
        if bind_address := self.model.get_binding("prometheus-peers").network.bind_address:
            return str(bind_address)
        else:
            return ""
``


Strip metadata or comments in files and general cleanup

tested for files like
a,b,c,d,,,
1,2,3,4,,,
1,2,3,4,,,
1,2,3,4,,,
1,2,3,4,,,metadata:
,,,,,,Description

and
metadata_siem.csv


Simple bot

Hi, I'm trying to run your engine and I have not bot for it. Can you publish any simple bot? Maybe bot, that you tested or bot doing random turn.

You might want to check out the website :)
http://theaigames.com/competitions/heads-up-omaha/getting-started


Grids detached from an existing grid will have an offset Shuttle Console view

Description
When you build a shuttle as an extension to a station, the shuttle console's view will be (correctly) centered on the center point of the entire station. After separation, however,  the new shuttle, even after it becomes it's own grid, will show a view on the shuttle console centered on the same spot (that moves with the shuttle), which will now be on empty space. With a station-sized original grid, you will probably have to zoom out just to be able to see your shuttle
The center of the grid will not be recalculated even after you modify the new grid, or delete the Shuttle Console and spawn a new one
Reproduction
Load a station,
extend grid,
build shuttle onto extension
detach extension
Fly extension away, confirming it is its own grid
View does not center on new grid
Screenshots

Shuttle UI refactor has fixed this


Memory leak (?)

Currently using this client (3.0.0) within a JAX-RS API and experiencing a memory leak which causes after a certain time the server to crash.
After adding a @PreDestroy method which calls statsd.stop() the curve is smoothed, but still going up :

Without this, it only takes a few hours for our server to freeze.

Hi @ugo-fl, thank you for raising the issue, we will try to reproduce it.
Since you mention @PreDestroy, are you creating client instances for each web request? If so, having to call .stop() is expected: the client starts background threads, so an explicit call is needed to stop them when the client instance is no longer needed. At the same time, creating and stopping a client instance is relatively expensive, so I would recommend to have only one global instance per application. The client is thread safe and the same instance can be used to send metric from all resources.

Hello @vickenty, thank you for your feedback.
I've just tried with a singletonized version of the client, now no metrics are being sent/received and the memory still goes up.
When the whole API is a singleton then I get the metrics properly, but the memory leak is still present.
I think I'm going to quit using the client for the moment and try to post metrics directly instead.

Wait actually it went up in the first 20 minutes but now after a few hours it seems to have stabilized.
I'll come back at you after some days, but to setup the API as a singleton could be the solution.

Has anyone observed such issues on version 4.2.0?


✏ Create 'view all' button for carousels on dashboard which links to gallery pages

The carousels on the dashboard screen could contain a lot of shows. Add a 'view all' button that links to a new screen. /dashboard/queue will be a gallery of the users watch queue. dashboard/favorites will be a gallery of the users favorites, etc.
Best to wait for #573

Closed by #609


Sidebar tree navigation

There's much that is common with #122 here as a tree can be thought of as a nested list in a way.
ST3 (at the time of writing this at least) just supports showing a filtered file system view, but an oft requested feature is to have a sidebar api to allow functionality like a namespace/class browser and to display other hierarchical information.
We should design to allow this wider abstraction from the start.

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/1196897-sidebar-tree-navigation?utm_campaign=plugin&utm_content=tracker%2F282001&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F282001&utm_medium=issues&utm_source=github).

moved to backend repo https://github.com/limetext/backend/issues/107.


Execution order label position

Let's use the to continue the discussion from https://github.com/microsoft/vscode/issues/104680 and Teams in September. The current location is aligned with the bottom of the cell. If we keep that location, it needs polish, for example, for overflow behavior and growing to the left.

Moving this comment here verbatim from https://github.com/microsoft/vscode/issues/104680 on request of @roblourens:
I will say @greazer has an excellent point: a key design consideration should be a very clear indicator of "Yes this cell has executed" vs "No, this cell has not yet executed".
The Execution count placement is somewhat secondary to that.
Regarding the four design options, however:
This one is not optimal for the simple reason that the cell count number is not left of the cells. DSs want to scan through a notebook at a quick glance to find "cell number x", and this Option 1 makes it much harder to find a certain cell. Not to mention some users could confuse that execution value with actual code in the cell, which we definitely don't want to do.
I really don't like how the mouse hover over causes the execution value to disappear. Veto this one.
Not bad, but I agree with other feedback that the movement of the [1] could be distracting/annoying.
I like this one except as others have pointed out, for large cells you lose the execution count value off the bottom of the screen if the cell has a bunch of lines. This is a pretty big dealbreaker, as ideally you don't want to have to scroll down just to see which cell count you're on; it adds a tiny amount of unnecessary cognitive load.
Option 5) What about simply vertically stacking both the [1] execution value and the triangle "Run cell" button? Statically, unlike Option 3. That way both the executed count value and the "Run cell" button are both always displayed, and they're both left of the cell contents, and thus less obtrusive.
So in conclusion, Option 3 (or some variant of it like my idea for Option 5) gets my vote. But I'm just a data scientist, not a designer; I'm only voicing what I (and probably other data scientists) would value in this tool.

Thanks for your feedback @cpoptic, as a data scientist your feedback is extremely valuable for this effort! I'll +1 your suggestion for your proposed Option 5. Based on what I've heard from other DS's it can be critical to be able to view the execution count with as little "shenanigans" required as possible.  😊

Thanks @greazer , happy to help!  Also is the addition of the "execution time" at the bottom of each notebook cell going to be added in the upcoming release, or is that from some extension?

@cpoptic, this is currently a feature supported by the new Native Notebooks Experience.
If you would like to try it out, details and instructions on how to do so can be found here: https://devblogs.microsoft.com/python/notebooks-are-getting-revamped/
We would love to have you try it out and let us know your thoughts!
If you choose to do so, you can:

Leave us a comment on GitHub (best option!)
Fill out the <5 min survey that pops up
Email<EMAIL_ADDRESS>with the subject line "Native Notebooks Feedback".

Looking forward to hearing from you!


Python Version

I did not find any Python implementation of the AmazonSQSTemporaryQueuesClient. Can you help?
Thank you.

Hi there! A python version of this library is on the backlog, but there's no ETA as of yet.

@robin-aws thank you Robin.

Any update on Python support

We just implemented a data pipeline that depends on SQS receiving a success/failure SQS message, but we need for multiple clients to be able get the messages intended for them.  We planned on using virtual queues after reading the docs, and then found no Python support.  So please add us to the list of requests for Python.

We would really like to use a python implementation too.

I've developed a Python SQS Client that also supports Two-way Messaging (request/response):
https://github.com/jptavarez/python-sqs-client

Any update on python support?

Any update on python support?

+1

+1

+1

👍🏿

+1 python


Add null to style jsdoc of VectorImage

Similar to BaseVector

There certainly is an inconsistency though I'm unsure if allowing null is the wanted solution here.
There quite a few classes needing a style configuration and some allow null, some don't.
For most config options it is either type or undefined allowed.
/**
src/ol/interaction/Draw.js:
  61   * POINT or MULTI_POINT geometries.
  62:  * @property {import("../style/Style.js").StyleLike} [style]
  63   * Style for sketch features.

src/ol/interaction/Modify.js:
  108   * pointer close enough to a segment or vertex for editing.
  109:  * @property {import("../style/Style.js").StyleLike} [style]
  110   * Style used for the modification point or vertex. For linestrings and polygons, this will

src/ol/interaction/Select.js:
  56   * selectable.
  57:  * @property {import("../style/Style.js").StyleLike|null} [style]
  58   * Style for the selected features. By default the default edit style is used

src/ol/layer/BaseVector.js:
  47   * higher priority.
  48:  * @property {import("../style/Style.js").StyleLike|null} [style] Layer style. When set to `null`, only
  49   * features that have their own style will be rendered. See {@link module:ol/style} for default style

src/ol/layer/VectorImage.js:
  41   * Within the same z-index, a feature rendered before another has higher priority.
  42:  * @property {import("../style/Style.js").StyleLike} [style] Layer style. See
  43   * {@link import("../style/Style.js").default the style docs} for the default style that will be used if

src/ol/layer/VectorTile.js:
  64   * higher priority.
  65:  * @property {import("../style/Style.js").StyleLike} [style] Layer style. See
  66   * {@link import("../style/Style.js").default the style docs} for the default style that will be used if

src/ol/layer/WebGLTile.js:
  39   * @typedef {Object} Options
  40:  * @property {Style} [style] Style to apply to the layer.
  41   * @property {string} [className='ol-layer'] A CSS class name to set to the layer element.
*/


hilbish-git installed from AUR does not include many builtin commands

When installing Hilbish from the AUR,  it appears as if both the guide command and cd command do not work. I'm not sure which other ones don't work but I think cd especially is important

this is due to a change of the prelude (again),
it got renamed and reorganized

https://github.com/Rosettea/Hilbish/commit/9e596dc271d18b7f8be9b07c7bce2028357857d2 specifically

cc @lmartinez-mirror

Thanks for bringing this to my attention. I'll be pushing a fix soon.


Make iso-image.nix EFI boot respect timeout

EFI boot timeout is currently a static 10 whereas syslinux uses
boot.loader.timeout. This changes the EFI config to match.
Some discussion at https://discourse.nixos.org/t/how-to-override-let-variables/23741/2
Description of changes
Changes iso-image.nix to use the timeout configured at boot.loader.timeout.
Things done

Built on platform(s)

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

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

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/how-to-override-let-variables/23741/3

Related PR: https://github.com/NixOS/nixpkgs/pull/181594

Open PR to have null be "infinite timeout" on systemd-boot: https://github.com/NixOS/nixpkgs/pull/201202

@n8henrie Can you fix the conflicts? Thanks, I think we are good to go.

Also made a minor tweak to the explanatory comment to bring it in line with what I used for the syslinux timeout.

Turned into a draft until the file is removed.

Can you squash the commits?

Sorry to bother you again, could you name the commit nixos/installer/cd-dvd/iso-image: honor EFI boot timeout (or whatever you want after :)


Warning for misspelling of cargo directives in build scripts

Problem
Misspelling of cargo directives in build scripts is a huge footgun. For example:
println!("cargo:rerun-if-changed=somefile.cpp");
println!("cargo:rerun-if-chagned=src/main.rs");

Here cargo will silently ignore the src/main.rs file (the typo is chagned) and one would wonder why their build script is not working. It happend in real world to me, in my case it was rust-link-lib instead of rustc-link-lib.
Proposed Solution
Cargo should warn against any unknown directive in build scripts. Either it is a misspelling, which a warning is very helpful, or it is a directive that newer cargo versions support, which a warning still has useful information, and if ignoring is the desired behavior, user can allow the warning by #12235
Notes
No response

The challenge with this is that there is a catch-all directive of cargo:KEY=VALUE, so we don't know for certain there is a typo.
Similarly, because of this catch-all, we can't actually add new directives... (#11461).
However, we have found a way forward as noted in that issue.  We'll make a low-probability breaking change of disallowing KEY=VALUEs to start with : and then switch the build directive syntax to use cargo:: as a prefix.  This will allow unrecognized build directives to be a hard error.
Work on #11461 was started in #12201 but we were concerned about people using the new syntax on old cargo and ... dropping building directives.  So we are looking to have a 6 month or so transition period where cargo:: is a hard error and then we will support cargo:: as the new prefix.

That's unfortunate. New prefix seems good. Meanwhile I think a crate that provide functions for each directive probably helps. That crate could also check for other footguns, for example warn/error for rerun-if-chagned with non existent path.

Yes, there has been some interest in having an official Rust API for build scripts.  Part of the problem is our processes don't scale up for more crates which we have been working on.

Selam acemi adrese korgo

Label this as https://github.com/rust-lang/cargo/labels/S-accepted, but it is currently blocked on https://github.com/rust-lang/cargo/issues/11461.
#12432 is related somewhat.

This issue is currently marked as https://github.com/rust-lang/cargo/labels/S-accepted, but it appears that with the ongoing work on #12432 it may end up being irrelevant/part of the larger project? Are we waiting on a finalized API spec before proceeding with detection of unrecognized directives?

imo this warning would be independent of #12432.  The API would help people avoid having typos but not everyone will use it once its available.
Hmm, I'm not too sure what is actually left for this after #11461.  That PR makes it so misspellings are hard errors but only if you use the new syntax (cargo::).  That just leaves the old syntax (cargo:).  We could just do a similarity match and only warn if the similarity match succeeds.  It would be unlikely to be a metadata field and it would only be a warning, so no one would be blocked if we were wrong.  However, the further away we are from #11461 being released and more people migrate to it, the less value adding a warning would give.

Between #11461 and build-rs being adopted as an official API where people won't need to type out directives anymore, I'm going to close this as resolved.


Improve graph generation speed

This should fix #44  #24

This change improves graph generation time drastically.
The following comparison is against a HX triage of size 30mb, with 899941 extracted nodes from the agent event inspector.
Before: 40 minutes, 20 seconds
2019-10-28T00:13:41 | beagle.datasources.hx_triage.__init__:53 | INFO | Setting up HXTriage for data/hx/too_big/huge_triage.mans
2019-10-28T00:13:43 | beagle.transformers.fireeye_hx_transformer.__init__:17 | INFO | Created FireEyeHX Transformer.
2019-10-28T00:14:33 | beagle.transformers.base_transformer.run:111 | INFO | Finished processing of events, created 899941 nodes.
2019-10-28T00:14:33 | beagle.backends.networkx.__init__:52 | INFO | Initialized NetworkX Backend
2019-10-28T00:14:33 | beagle.backends.networkx.graph:69 | INFO | Beginning graph generation.
2019-10-28T00:53:55 | beagle.backends.networkx.graph:75 | INFO | Completed graph generation.
2019-10-28T00:53:55 | beagle.backends.networkx.graph:76 | INFO | Graph contains 21461 nodes and 233650 edges.

After 1 Minute, 32 seconds:
2019-10-28T00:58:41 | beagle.datasources.hx_triage.__init__:53 | INFO | Setting up HXTriage for data/hx/too_big/huge_triage.mans
2019-10-28T00:58:42 | beagle.transformers.fireeye_hx_transformer.__init__:17 | INFO | Created FireEyeHX Transformer.
2019-10-28T00:59:33 | beagle.transformers.base_transformer.run:111 | INFO | Finished processing of events, created 899941 nodes.
2019-10-28T00:59:33 | beagle.backends.networkx.__init__:53 | INFO | Initialized NetworkX Backend
2019-10-28T00:59:33 | beagle.backends.networkx.graph:70 | INFO | Beginning graph generation.
2019-10-28T00:59:59 | beagle.backends.networkx.graph:110 | INFO | Completed graph generation.
2019-10-28T00:59:59 | beagle.backends.networkx.graph:111 | INFO | Graph contains 21461 nodes and 233650 edges.


Add OIDC

Add OIDC

@onedr0p I've just started with GitHub provider for now to flesh out the approach - then I'll adjust to suit generic identity provider i.e. Authelia, Authentik etc

@onedr0p - here's a first pass build on oauth. Please give it a run through, and let me know how it goes 😄
v3.2.0-beta.2
http://midarr:4000/auth/authentik - go to this url to auth with Authentik.
OAUTH_ISSUER_URL=http://localhost:9000
OAUTH_AUTHORIZE_URL=http://localhost:9000/application/o/authorize/
OAUTH_TOKEN_URL=http://server-authentik:9000/application/o/token/
OAUTH_CLIENT_ID=someClientId
OAUTH_CLIENT_SECRET=someClientSecret
OAUTH_REDIRECT_URI=http://localhost:4000/auth/authentik/callback
OAUTH_USER_URL=http://server-authentik:9000/application/o/userinfo/

@trueChazza oauth is generic and doesn't matter if it is (for example) authelia/authentik, so your provider should probably be called oauth generic/custom.
Take a look at the grafana docs on how they allow people to configure this...
https://grafana.com/docs/grafana/latest/setup-grafana/configure-security/configure-authentication/generic-oauth/
Also it might be helpful to look at the docs on Authelia and see how they allow you to configure applications to use OIDC, on the left you can choose an app to see more how it is configured...
https://www.authelia.com/integration/openid-connect/introduction/

Awesome thank you for this

@trueChazza oauth is generic and doesn't matter if it is (for example) authelia/authentik, so your provider should probably be called oauth generic/custom.
Take a look at the grafana docs on how they allow people to configure this...
https://grafana.com/docs/grafana/latest/setup-grafana/configure-security/configure-authentication/generic-oauth/
Also it might be helpful to look at the docs on Authelia and see how they allow you to configure applications to use OIDC, on the left you can choose an app to see more how it is configured... e.g. BookStack or the many other examples on there like grafana
https://www.authelia.com/integration/openid-connect/introduction/

Awesome thank you for this!


Simplify package name

Move all sources from com.github.poslegm.scalaphash to scalaphash.
Domain name in scala packages is obsolete rule.

Don't forget to update readme!


Practice release process for FTM Hindi to Prod

User Story
As a Product Owner,
I want to deploy FTM Hindi to Production,
So that I have a second language available to supplement the release of the language selection feature in production.
Acceptance Criteria
Given that I have a release-ready version of Hindi, all the content has been committed to the main branch, and the content has been deployed to the S3 bucket,
When I access the production URL with Hindi as a language,
Then I should be able to play the Hindi version of Feed The Monster in production.

Hey @burrage ,
Regarding task for the Hindi production build, it seems that we'll need an updated JSON file. The issue is not just with the prompt audios, but also with some prompt texts and target stones that are missing. As a result, they are currently showing as null values. To ensure a complete and functional Hindi production build, it would be great to have an updated JSON file that includes all the necessary prompt texts and target stones. Thanks!

Indeed! We've got 3 dependencies on this task card that must be finished first.
I've re-assigned #372 to you for getting the audio up on the AWS S3 bucket (again, this should be an automated process when committing to GitHub).
#370 and #371-- @weepingwitch will be re-exporting the JSON with the proper URLs and this time around, we'll have the fixes for 'null' or missing items :-)
Keep an eye on the Slack channel for when these are ready and we can move on this task.


PyCUDA was compiled without GL extension support

I have got PyCuda pip installed, I have cudnn, and cuda installed on my windows computer. But no matter what I do, I cannot get PyCUDA with GL extension support to work?
I have tried
https://stackoverflow.com/questions/8461505/pycuda-import-pycuda-gl-as-cuda-gl-how-to-find-pycuda-gl
The solution listed there and it does not seem to work for me? Im sorry to ask about two issues, I'm very new to pycuda.

I've actually fixed this one. If you are on a windows device, you should pip install pipwin, then use pipwin to install pycuda. And then it installs it correctly.

Hi @caleb-severn,
I am using colab and facing the same problem. Is there any solution for that also?


Linting

This PR addresses linting errors in the cookiecutter template, which are unfortunately propagated to every downstream project.
Tools used include:

FlyCheck
MarkdownLint
YamlLint
Flake8
ShellCheck

Haha you want me to make sure the edited code works‽ Picky, picky!
... already found an error in list indentation, so, good call.
The file {{cookiecutter.project_name}}/project/prefixmap/{{cookiecutter.__project_slug}}.yaml fails linting, because it contains a Python dict (or JSON), not YAML as advertised. This was also noted in #22. This is out-of-scope for this PR, but I wonder what the appropriate "fix" is.

OK, I have actually used the updated cookiecutter template, and can confirm that the generated files pass linting checks and make sense visually.
For fellow travelers, the command to use a specific branch is
cruft create --checkout <branch-or-tag-name> URL, so in this case I did
cruft create --checkout linting https://github.com/tkphd/linkml-project-cookiecutter