[proposal] module for realtime interactions

I wrote a module that allows you to embed interaction with the echo laravel, and would like to put it out for distribution. With this module, you can do something like the following:
in nuxt.config.js:
laravelEchoSockets: {
    host: process.env.NODE_ENV === 'production' ? 'http://domain.com' : 'http://localhost:3001',
    authInterceptor: (store) => {
      return {
        headers: {
          'Authorization': 'Bearer ' + store.getters['user/token']
        }
      }
    },
    patterns: {
      '{user}': (store) => {
        return store.getters['user/loggedUser'] ? store.getters['user/loggedUser'].id : false
      }
    }
  },

It will automaticaly add authorization header, that will be send to your laravel backend. In patterns object you can define patterns, that will be replaced in channels names in socket property. Then, we can write something like that in component or on page:
  export default {
    socket: {
      'private': {
        'App.Models.User.{user}': {
          testEvent: (event) => {
            console.log(event)
          }
        }
      }
    }
  }

Now, when event in App.Models.User.{user_id} will be fired, callback will be called. Also, other types of channels are supported. Info about echo can be found at documentation
I'll do pull request if you do not mind. And I apologize for grammatical errors, because english is not my primary language.

This question is available on Nuxt.js community (#c82)

Hi @Exitialis , I saw that you created the module separately, so I'm closing this out by understanding that it has been resolved.
https://github.com/Exitialis/nuxt-laravel-echo


The terms "unchecked" and "safety" might be misleading

Some function names contain the term "unchecked" and have a "Safety" section in their documentation (example). This might be misleading in context of Rust because these terms are usually related to undefined behavior (example from stdlib). But in your case, there is no undefined behavior (as defined by Rust).

Thanks for pointing this out, I agree. We even #![forbid(unsafe_code)] now and should be clearer. Do you have any suggesstions how to call this by chance? What we want to express is: "When you use this function, imap-codec can't guarantee that it will generate valid IMAP anymore." How about Atom::relaxed?

/// Creates an instance of Foo without validating its input.
///
/// # IMAP compliance
///
/// The returned Foo is only IMAP compliant if ...
pub unvalidated(bar: Bar) -> Foo { ... }

I like it.


⚠ SceneTime has degraded performance

In 77c9452, SceneTime ($ST) experienced degraded performance:

HTTP code: 200
Response time: 5415 ms

Resolved: SceneTime performance has improved in 0017e8c after 13 minutes.


Configurable user gutter width

I found the user gutter too wide by default, especially when using localpart or display name for usernames so i made it configurable. Seems to work fine but I'm not a rustacean so there is perhaps a more idiomatic way to do this.

Thank you for the quick review and suggestions.  Hopefully everything looks good now.


Hyundai: Tucson 2023 tuning

This only applies camera FW b'\xf1\x00NX4 FR_CMR AT USA LHD 1.00 1.00 99211-CW010 14X'. Need to figure out why.

@nuwandavek any update on this?

@nuwandavek any update on this?

Wasn't looking into this. Was the problem that this was like the Kona?

not immediately mergable. issue here: https://github.com/commaai/openpilot/issues/27206


Tensorflow and RTX 3000 (TF 1.X or 2.X required)

Will tensorflow support new cards?
Which version of TF is required?
Will I run the program on version tf.1.x with RTX3000?

I think yes. If you can see there are also some specific feature in nightly for the Ampere arch in  https://github.com/tensorflow/community/pull/287.
Also if currently the CI is not running on this card GEN:
https://github.com/tensorflow/community/pull/287/files#diff-0f47247f8a899bec07e8ab8b8fa219d4R34
I don't think it will officially support new CUDA releases in TF 1.x as you can see in https://github.com/tensorflow/tensorflow/issues/42895#issuecomment-685874736
/cc @reedwm

@bhack is correct, TensorFlow will support RTX 3000 cards. I don't think TF 2.3 will work on the upcoming cards, but TF 2.4 will. Unfortunately TF 2.4 will be released after the cards are released, but tf-nightly will work as well.
As @bhack mentioned, TF 1.x does not support RTX 3000, as it only supports older versions of CUDA. But you can TF1 programs that don't depend on tf.contrib in TF 2 (including TF 2.4) with
import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()

RTX 3080 TI does not work with TF 1.12 CUDA 9.2
Seems like no backward compatibility provided by TF.
So what reason to make applications using TF which is not future-proof ?

What is an RTX 3080Ti, there is only a 3080 and 3090 right?


ASP.NET Core publishing to IIS 7.5 Blank Loading Screen

After I publish my app using Visual Studio 2015 to IIS 7.5, I get nothing but a continuous loading screen. I used to get an error, then I downloaded httpPlatformHandler v1.2, and I get the blank loading screen now. I've declared the handler in my web.config file:
<system.webServer>
    <handlers>
      <add name="httpPlatformHandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified" />
    </handlers>

    <httpPlatform processPath="%DNX_PATH%" arguments="%DNX_ARGS%" stdoutLogEnabled="true" stdoutLogFile="../logs/httpplatform" startupTimeLimit="3600" forwardWindowsAuthToken="true" />
  </system.webServer>

And here's my Startup.cs file:.
public void Configure(IApplicationBuilder app, ILoggerFactory loggerFactory)
        {

            app.UseIISPlatformHandler();
            app.UseDefaultFiles();
            app.UseStaticFiles();
            app.UseMvc();
        }

I have unlocked my handlers in IIS and set the Physical path to the wwwroot folder that Visual Studio produced during publishing. I've also set the application pool to No Managed Code. What is left to do to solve this issue?

@beeterry What does the HttpPlatformHandler log say?
And you may need to remove this forwardWindowsAuthToken="true"
And you might want to run down my old post on rc1-final and see if anything jumps out. It's a bit old, but most of that still applies to rc1-final ... https://github.com/aspnet/Hosting/issues/364#issuecomment-148567294

ahh, unfortunately that didn't work either. I'm just needing to load an index.html page from within the wwwroot folder. Do you think that the app.UseMVC() from the Startup.cs file is messing it up @ runtime? It's just weird that it runs correct in IIS Express.

I see this bug under VS2015 Update 2.  Under VS2015 Update 1, internal exception error was present.  At least, it's a progress.   Are you saying the log file now works under Update 2  (It was never started under Update 1 as exception error occurred earlier before the instantation of the log file api in Startup.cs)

I don't have anything in my logs folder that VS produced during the publish. I just tried to use the app.UseStaticFiles() and the app.UseWelcomePage() middleware in the Configure method and it still doesn't work outside of VS's IIS Express.

Alright, I've changed something minor in the Configure method of my startup.cs class and I've restructured the project to mirror MVC structure (Controllers, Views, etc). Now it loads a blank screen and the console returns a 404. Anymore suggestions?
public void Configure(IApplicationBuilder app, ILoggerFactory loggerFactory)
        {
            app.UseIISPlatformHandler();
            //app.UseDefaultFiles();
            app.UseFileServer(true);
            app.UseMvc(routes =>
            {
            routes.MapRoute(
                name: "default",
                template: "{controller=Home}/{action=Index}");
            });
        }

Why is this bug report closed?

@fletchsod-developer closed by the same person who opened it. Must have solved his problem somehow.

I did. I had to use the app.map() workaround. Finally figured it out. Here's my solution
public void Configure1(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
        {
            app.UseIISPlatformHandler();
            app.UseDefaultFiles();
            app.UseStaticFiles();
            app.UseFileServer(true);
            app.UseMvc();
        }

        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
        {
            app.Map("/appRoot", (app1) => this.Configure1(app1, env, loggerFactory));

        }

Thank you for providing the solution.  That surely will help me and everyone else here having this same issues.
Thanks again.

@fletchsod-developer, so there is no need to change the "appRoot" name for the project path?


v1.7.3 - no valid code signature

The more we know about your system and use case, the more easily and likely we can help.
Environment info

OS: macOS
App Version: 1.7.3

Description of the problem / feature request / question:
Little snitch no longer lets Lepton connect to GitHub (based on my previous LS rules, which worked fine) because there is an issue with the applications code signature.
If possible, provide a sample gist or screenshot:

If possible, provide the log files

Mac: ~/Library/Application Support/Lepton/logs
Windows: C:\Users\<username>\AppData\Roaming\Lepton\logs
Linux: ~/.cached/Lepton/logs

The debug mode is recommended when producing the logs.
You can send your log file to<EMAIL_ADDRESS>if don't want to post it here.

Thanks for the quick report! Yes, I didn't continue my Apple developer account this year. Pls let me know if there is any feature broken without a code sign.


Trakt Up Next

Addon Manifest URL
https://up-next.dontwanttos.top/manifest.json
Addon Description
Personalized Stremio series catalogs showcasing unwatched and recently aired episodes.  Automagically powered by Trakt watched data.
Language of Content
English (en-US)
Choose Labels

[ ] anime
[ ] asian drama
[ ] bollywood
[ ] cartoons
[ ] debrid support
[ ] http streams
[ ] live tv
[ ] metadata
[ ] misc
[ ] movies
[ ] music
[ ] nsfw
[ ] podcasts
[ ] radios
[ ] subtitles
[ ] torrents
[X] tv shows
[ ] video games

nothing show after installed

same, I don't see any rows that reflect the catalogs provided by this plugin

I have a few suggestions/requests for the “Trakt Up Next” addon/catalog.
First, if I have subtitles off by default, but I want to enable them for a specific show (a foreign show for example), it doesn’t seem to enable the subtitles for the succeeding episodes.
Second, it also doesn’t seem to remember my choice when selecting a file from Torrentio or Easynews addon. For example, if I choose the third result in a TV show’s first episode, the succeeding episodes would still default to pointing to the first result.

Works great for me!


ci: fix prerelease comment job to also run when only pages-shared has changed

We were breaking out of the loop too early so only the first artifact was being added to the environment variables.

If this worked, shouldn't we see a PR comment here?

If this worked, shouldn't we see a PR comment here?

Sadly not. This job only runs on main, which is why the bad code got through in the first place.


Make it so you are able to add an option to bypass cooldowns with a permission, administrator, ban_members and so on

Well i'm trying to test my bot but there are 1.5k members on the server so I am afraid people are gonna start spammming with it if I turn off cooldown so if this could happen thank you

This is already possible using https://function-cooldowns.readthedocs.io/en/latest/modules/examples.html#cooldown-checks
Note: Cooldown checks are given the same arguments as the cooldown itself


New Analytics Sprints

Hi Nagwang! Please put your workshop's WMS ID in the title of your pull request. Thank you!

Hi Arabella, these are Sprints so they don't have a WMS ID. The only WMS ID I can find is for the collection which is 11088.. Let me know if this makes sense.


Adapt projects to not refer to embedded apps directory.

/cc @chef/omnibus-maintainers

Once this is ready to be merged, I will rebase against master and bump the Gemfile.lock against the real commits on master.

Overall it feels like all the code introduced in the package :msi block should be some sort of helper exposed in Omnibus::Packager::MSI (like Omnibus::Packager::MSI#wix_light_extension, Omnibus::Packager::MSI#wix_candle_extension). That would remove the duplication between the Chef and ChefDK project definitions.


Very slow download speeds from debian repository

I am using the https://dbeaver.io/debs/dbeaver-ce debian repository to install dbeaver. Problem is that the download speed from that repository is very slow, usually around or below 200 kbps. I am on gigabit fiber so I am pretty sure that the problem is not on my end. Other downloads are fast for me. With the dbeaver package being well over 100mb and getting frequent updates, this often means very long wait times during system updates.
Can download speeds for the debian repository be improved?

Hello @sandermarechal
Could you please clarify your location?
Do you use VPN?

I am in The Netherlands. At work we have Ziggo Business 1 gbps internet. At home I use Ziggo Giganet (also 1 gbps). I do not use a VPN.

@sandermarechal could you please send traceroute result from your PC to our dbeaver.io site:
windows: tracert dbeaver.io
linux/macos: traceroute dbeaver.io

Sure. From my work:
$ traceroute dbeaver.io
traceroute to dbeaver.io (<IP_ADDRESS>), 30 hops max, 60 byte packets
 1  D57DBDC5.static.ziggozakelijk.nl (<IP_ADDRESS>)  10.319 ms  10.281 ms  10.246 ms
 2  tb-rc0001-cr101-ae40-0.core.as9143.net (<IP_ADDRESS>)  11.312 ms  11.251 ms  11.237 ms
 3  asd-rc0001-cr101-be152-2.core.as33915.net (<IP_ADDRESS>)  15.086 ms asd-tr0021-cr101-be152-2.core.as33915.net (<IP_ADDRESS>)  17.410 ms asd-rc0001-cr101-be152-2.core.as33915.net (<IP_ADDRESS>)  15.027 ms
 4  nl-ams04a-ri3-ae51-0.core.as9143.net (<IP_ADDRESS>)  17.299 ms  22.757 ms nl-ams04a-ri3-ae50-0.core.as9143.net (<IP_ADDRESS>)  16.161 ms
 5  ix-ae-30-0.tcore1.ad1-amsterdam.as6453.net (<IP_ADDRESS>)  16.113 ms  18.109 ms  16.989 ms
 6  if-ae-2-33.tcore1.av2-amsterdam.as6453.net (<IP_ADDRESS>)  102.835 ms if-ae-11-2.tcore2.av2-amsterdam.as6453.net (<IP_ADDRESS>)  90.622 ms *
 7  * if-ae-2-2.tcore2.av2-amsterdam.as6453.net (<IP_ADDRESS>)  97.120 ms  102.352 ms
 8  * * *
 9  * * if-ae-2-2.tcore1.l78-london.as6453.net (<IP_ADDRESS>)  91.917 ms
10  if-be-2-2.ecore1.n75-newyork.as6453.net (<IP_ADDRESS>)  101.495 ms if-ae-66-2.tcore3.nto-newyork.as6453.net (<IP_ADDRESS>)  102.073 ms if-ae-66-7.tcore3.nto-newyork.as6453.net (<IP_ADDRESS>)  93.722 ms
11  if-be-2-2.ecore1.n75-newyork.as6453.net (<IP_ADDRESS>)  106.890 ms if-ae-1-3.tcore4.njy-newark.as6453.net (<IP_ADDRESS>)  109.423 ms *
12  if-ae-57-2.tcore1.n75-newyork.as6453.net (<IP_ADDRESS>)  101.395 ms  101.261 ms <IP_ADDRESS> (<IP_ADDRESS>)  91.356 ms
13  * * <IP_ADDRESS> (<IP_ADDRESS>)  87.284 ms
14  <IP_ADDRESS> (<IP_ADDRESS>)  100.542 ms <IP_ADDRESS> (<IP_ADDRESS>)  104.116 ms <IP_ADDRESS> (<IP_ADDRESS>)  104.035 ms
15  <IP_ADDRESS> (<IP_ADDRESS>)  99.302 ms * <IP_ADDRESS> (<IP_ADDRESS>)  86.889 ms
16  * * *
17  <IP_ADDRESS> (<IP_ADDRESS>)  113.875 ms * *
18  * * *
19  * * *
20  * * *
21  * * *
22  * * *
23  * * *
24  * * *
25  * * *
26  * * *
27  * * *
28  * * *
29  * * *
30  * * *

And from home:
$ traceroute dbeaver.io
traceroute to dbeaver.io (<IP_ADDRESS>), 30 hops max, 60 byte packets
 1  _gateway (<IP_ADDRESS>)  0.929 ms  0.972 ms  0.991 ms
 2  * * *
 3  ht-rc0001-cr102-et111-251.core.as33915.net (<IP_ADDRESS>)  17.034 ms  18.490 ms  18.433 ms
 4  asd-tr0021-cr101-be152-10.core.as9143.net (<IP_ADDRESS>)  23.348 ms  23.326 ms  23.275 ms
 5  nl-ams04a-ri3-ae51-0.core.as9143.net (<IP_ADDRESS>)  19.984 ms  19.895 ms  21.442 ms
 6  ix-ae-30-0.tcore1.ad1-amsterdam.as6453.net (<IP_ADDRESS>)  23.004 ms  13.639 ms  18.282 ms
 7  if-ae-2-33.tcore1.av2-amsterdam.as6453.net (<IP_ADDRESS>)  98.930 ms if-ae-11-2.tcore2.av2-amsterdam.as6453.net (<IP_ADDRESS>)  103.855 ms if-ae-7-2.tcore1.av2-amsterdam.as6453.net (<IP_ADDRESS>)  103.880 ms
 8  if-ae-2-2.tcore2.av2-amsterdam.as6453.net (<IP_ADDRESS>)  95.329 ms *  97.145 ms
 9  if-ae-14-2.tcore2.l78-london.as6453.net (<IP_ADDRESS>)  97.201 ms * *
10  * * *
11  * * *
12  * * *
13  if-ae-57-2.tcore1.n75-newyork.as6453.net (<IP_ADDRESS>)  110.251 ms if-ae-14-2.tcore3.nto-newyork.as6453.net (<IP_ADDRESS>)  102.666 ms if-ae-57-2.tcore1.n75-newyork.as6453.net (<IP_ADDRESS>)  95.849 ms
14  <IP_ADDRESS> (<IP_ADDRESS>)  106.574 ms * <IP_ADDRESS> (<IP_ADDRESS>)  104.367 ms
15  <IP_ADDRESS> (<IP_ADDRESS>)  112.377 ms if-ae-57-2.tcore1.n75-newyork.as6453.net (<IP_ADDRESS>)  97.357 ms *
16  * <IP_ADDRESS> (<IP_ADDRESS>)  100.841 ms <IP_ADDRESS> (<IP_ADDRESS>)  90.574 ms
17  * * *
18  <IP_ADDRESS> (<IP_ADDRESS>)  101.281 ms * *
19  * * *
20  * * *
21  * * *
22  * * *
23  * * *
24  * * *
25  * * *
26  * * *
27  * * *
28  * * *
29  * * *
30  * * *

Thanks for the report @sandermarechal

You can try to use the PPA: https://launchpad.net/~serge-rider/+archive/ubuntu/dbeaver-ce

It appears I can't use that PPA because it's not signed:
# add-apt-repository ppa:serge-rider/dbeaver-ce
 DBeaver Community Edition
Universal Database Tool and SQL Client
https://dbeaver.io/
 More info: https://launchpad.net/~serge-rider/+archive/ubuntu/dbeaver-ce
Press [ENTER] to continue or ctrl-c to cancel adding it

gpg: keybox '/tmp/tmp53087qy_/pubring.gpg' created
gpg: /tmp/tmp53087qy_/trustdb.gpg: trustdb created
gpg: key 4A71B51882788FD2: public key "Launchpad PPA for Serge Rider" imported
gpg: Total number processed: 1
gpg:               imported: 1
gpg: no valid OpenPGP data found.
Exception in thread Thread-1:
Traceback (most recent call last):
  File "/usr/lib/python3.7/threading.py", line 917, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.7/threading.py", line 865, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/lib/python3/dist-packages/softwareproperties/SoftwareProperties.py", line 688, in addkey_func
    func(**kwargs)
  File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 386, in add_key
    return apsk.add_ppa_signing_key()
  File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 273, in add_ppa_signing_key
    cleanup(tmp_keyring_dir)
  File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 234, in cleanup
    shutil.rmtree(tmp_keyring_dir)
  File "/usr/lib/python3.7/shutil.py", line 491, in rmtree
    _rmtree_safe_fd(fd, path, onerror)
  File "/usr/lib/python3.7/shutil.py", line 449, in _rmtree_safe_fd
    onerror(os.unlink, fullname, sys.exc_info())
  File "/usr/lib/python3.7/shutil.py", line 447, in _rmtree_safe_fd
    os.unlink(entry.name, dir_fd=topfd)
FileNotFoundError: [Errno 2] No such file or directory: 'S.gpg-agent.extra'

root@ws44:~# apt update
Hit:1 http://deb.debian.org/debian buster InRelease
Hit:2 http://security.debian.org/debian-security buster/updates InRelease
Hit:3 http://ftp.debian.org/debian buster-backports InRelease
Hit:4 http://dl.google.com/linux/chrome/deb stable InRelease
Hit:5 http://deb.debian.org/debian buster-updates InRelease
Hit:6 https://packages.microsoft.com/repos/ms-teams stable InRelease
Hit:7 https://repo.skype.com/deb stable InRelease
Hit:8 https://packages.sury.org/php buster InRelease
Get:10 http://ppa.launchpad.net/serge-rider/dbeaver-ce/ubuntu kinetic InRelease [18.1 kB]
Hit:9 https://debian.qgis.org/debian buster InRelease
Err:10 http://ppa.launchpad.net/serge-rider/dbeaver-ce/ubuntu kinetic InRelease
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 4A71B51882788FD2
Reading package lists... Done
W: GPG error: http://ppa.launchpad.net/serge-rider/dbeaver-ce/ubuntu kinetic InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 4A71B51882788FD2
E: The repository 'http://ppa.launchpad.net/serge-rider/dbeaver-ce/ubuntu kinetic InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

I updated dbeaver using the original URL at https://dbeaver.io/debs/dbeaver-ce but it appears to be a lot faster than it was a month ago.

Please try to use
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 30ece325

Oh, sorry, this is the correct command:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 30ECE32520D438C21E16BF884A71B51882788FD2

Thanks, that command worked. I can confirm that the PPA version has much, much faster download speeds.

Thanks for the answer and for the investigation @sandermarechal
Can I close this ticket?

Yes :-)


Intermittant Failures from vstest on Hosted VS2017 agent queue

I have a build that fails intermittently. I have seen three variations of output from the vstest task. Here is the failed output:

This is the YAML of the test step:
steps:

task: VSTest@2
inputs:
testAssemblyVer2: |
CardPreviewerService**tests.dll
!CardPreviewerService*\obj**
vsTestVersion: '15.0'
codeCoverageEnabled: 'true'

I've tried latest and vs 2017 for my test runner and both seem to fail randomly. It looks like there is a weird encoding in the build for the output not sure if that has anything to do with it.

@MattSFT , we have recently seen failures with datacollection enabled on Hosted Machines with VS2017 update 5.
The issue is primarily because on slow machines there is a delay in testhost process launch. In addition CLR profiler is causing additional delay as testhost is launched under profiler.
Due to this delay in testhost process launch, it is sometimes unable to communicate with datacollector process, as datacollector process times out after 15 seconds.
Does your project also uses fakes apart from CodeCoverage?
Please refer bug

Yes this seems to have popped up right after we added fakes to our tests.

@mayankbansal018 Is there a proposed fix that I can apply to my build definition?

@MattSFT , we are planning to roll out a fix, which will be available with out Testplatform package, on nuget.org. Once we have published it, you can use Nuget Installer Task in vsts, & use that to run tests. I'll share more details on it once I've published the package

@MattSFT, We have published a fix for this issue in our latest Testplatform preview on nuget.org, can you please modify your build definition to use “VsTest platform Installer”, & then use it in VsTest task by setting “Test platform version” to “Installed by Tools Installer”.
Make sure you have “VsTest platform Installer” before “VsTest” task.
See attached images for more reference. This is would help us in dogfooding our platform bits as well, before we officially blog post this fix.

New issues have now popped up. All kinds of behaviors including messages like:
2018-02-14T02:03:14.3225911Z ##[error]Error connecting to Vstest Command Line
2018-02-14T02:03:14.3226790Z ##[error]DiscoverTests.PerformDiscovery : Could not locate rocksteady binaries
And in some cases
2018-02-14T02:19:07.2269991Z ##[error]RunMessage : An exception occurred while invoking executor 'executor://mstestadapter/v2': Constructor on type 'Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.UnitTestRunner' not found.
And when trying to use 2017 test:
2018-02-14T01:04:38.8308502Z ##[error]Error: D:\a_tool\VsTest\15.6.0-preview-20180207-05\x64\tools\net451\Common7\IDE\Extensions\TestPlatform\vstest.console.exe failed with return code: 1
2
Our gated builds are now unusable because of tests failing!
I am at my wits end and am considering moving our builds to teamcity or jenkins!!
Our gated builds are now unusable because of tests failing!

@jean-paullizotte , Given that you have mentioned your problem with this issue, I'm assuming you are using Hosted Agents to run your tests
In your build definition, can you please enable logs when you are running tests using VS 2017. You can enable logs via setting "system.debug=true" under variables in your build definition, & please share those logs with us.
See attached image.

I am aware how to do verbose logging in team build. Thank you.
I am sorry to inform you, though, that when we reproduce the error it breaks our workflow and that I have no FREE time to help you debug this issue.
All I can say is that this was working Monday and was broken on Tuesday without doing any changes on our side.
I was  billing the client over 100$/hour to fix, what I am presuming is, your issue last night to get our production working again.
If the testing module in VSTS is unreliable (which you have already as much admitted, with a possible workaround) we would expect, as paying production users and suppliers of Microsoft solutions (we are Devops gold partners) a bit more rigor and respect for critical production systems.
Now, can you roll back to the VStest version of last Monday and restore our workflow? Or can we just forget about unit tests until you rollout a stable version?
Thank you.

@jean-paullizotte Few clarifications. The test platform tools installer is a mechanism to acquire test platform on machines without VS and on machines with VS it provides an option to acquire critical fixes to keep CI/CD pipelines running instead of waiting for VS updates. It doesn't impact your VS installation in any manner and is not a workaround and is fully supported by the test tools team in VSTS
We are really sorry that you are running into this issue and unless we get the logs it is equally tough on our part to resolve the issue and unblock you. The testing module is reliable and in case of any issues it is our priority to fix and resolve issues. Let us know if there's any other mode through which we can resolve the problem you are running into.

@cltshivash I think I understand how the platform tools installer maintains hosted build machines. The problem I have with your statement, is that VSTEST 2015 and 2017 is broken on the hosted machines (as per this whole thread), and our only way "around" this to use the "platform tools installer". You state this is not a workaround, yet... we should be able to just use latest version if it wasn't broken... and live changes shouldn't break existing functionality.
Look at it from our point of view, it was working, then it stopped working. Something changed and we have no control over this change. Using VSTS, as it was, wasn't sufficient to continue our existing pipeline. And we had to make a change in our build process to continue functionally, to accommodate that brokeneness.
This was working fine until Monday. And now it doesn't. If it is a fully supported production release pipeline tool, I can only reiterate it's broken. In the Devops cycle, if you pushed a broken release, you must have a fallback and we are not seeing it. It is concerning, to say the least.

@jean-paullizotte : Without logs we won't be able to make progress here.


I can't see variable Inspector the menu

I installed variable Inspector using manager.
I right clicked and the inspector menu is not showing.
Teach me how to solve it

I have the exact problem too

Could not reproduce this issue. Note, that the installation via the Jupyterlab built-in extension manager was broken but should be working now again. Please make sure your working with Jupyterlab >= 3.0.0 and jupyterlab-variableinspector >= 3.0.9

I've double checked the required versions in order to run the extension properly(Jupyterlab >= 3.0.11 and jupyterlab-variableinspector = 3.0.9). Didn't worked out so I downgraded jupyterlab to 3.0.6.
Still the inspector menu won't show when i click the right button.
Any suggestion would be appreciated.

I installed variable Inspector using manager.
I right clicked and the inspector menu is not showing.
Teach me how to solve it

#183  여기 가장 하단의 방법 참고해서 pip로 install해 보세요! 전 그렇게 설치하니 해결됐습니다

The problem was solved by following the method you taught. Thank you.


How to handle errors when PendingTask is part of a group.

Use case:

You have a group of 3 PendingTasks added to Wendy.
Task 1 in that group runs, and fails with an error that the user needs to fix.
Currently, Wendy deletes tasks when they have an error that the user needs to fix.

What should we do with the remaining 2 tasks in that group?
I believe that Wendy should not delete the task. Currently, that is a good size bug that could cause issues because you're trusting with groups, they must all run in successful order from start to finish.

Idea:

When an error occurs in Wendy for a PendingTask in runTask(), do not delete it if it's an error.
When the task runner runs, check a process when it's time to run it if there is an error recorded for it. If there is, skip running it.
When a developer calls PendingTasks.addTask() for a PendingTask instance that in the past had an error recorded for it, simply mark the error as resolved and have it try again.
When an error for a PendingTask is resolved, it will be able to run the next time the task runner runs.


Clear selection

We should have some sort of shortcut or button to clear everything that's currently selected. Would especially be useful for stuff like Dijkstra's, which selects an entire path.

Added a button for this.


Change icon & deprecate iconPlacement props for Button & Tabs.Tab

After a short meeting on 5 jan, we decided to change icon & remove iconPlacement from our react components (Button & Tabs.Tab) to provide better flexibility in using icons inside our components.
This will also fix other issues such as:

This will work better with polymorphic support using Slot as we have issues using as and callbacks. #1124
Future RSC support means we want to avoid using props for rendering components as it will break the possibility for server components inside client components.

The property icon will be changed to a boolean to toggle when the button is used with a single icon and no text.
### Tasks
- [ ] https://github.com/digdir/designsystemet/issues/1338
- [ ] https://github.com/digdir/designsystemet/issues/1412
- [ ] https://github.com/digdir/designsystemet/issues/1417
- [ ] https://github.com/digdir/designsystemet/issues/1334

Closing this issue as all tasks has been completed


[Request] Array values in Cache

I would like to request a feature: Being able to store array values in cache, and retrieve/put them with dot notation.
Here is an example of an associative array to cache:
[
    'ab' => [1, 2, 3],
    'cd' => [4, 5, 6],
]

I could store it using Cache::put('myArr', $myArr, 60) then later do Cache::put('myArr.ab', [1, 1, 1], 60) to alter only $myArr['ab'] without pulling the whole array, modify it then store it again.

Please submit requests to the correct place as per the docs.

Sorry for that, it's done, thanks

For anyone coming from google like me, Follow: https://github.com/laravel/internals/issues/80


refactor(expr): generate build-from-prost with procedural macros

I hereby agree to the terms of the RisingWave Labs, Inc. Contributor License Agreement.
What's changed and what's your intention?
Inspired by user-defined functions, this PR proposes a new expression framework based on procedural macros, so that we can develop built-in functions as easy as UDFs.
In the new framework, a scalar function can be defined in just a few lines:
#[function("add(int32, int32) -> int32")]
fn add_i32(x: i32, y: i32) -> i32 {
    x + y
}

The procedural macro will generate the build-from-prost function according to the signature. It will also generate a function descriptor and add it to a global registry on initialization. This way, we can avoid inconsistencies between function metadata and implementation.
This macro also has some advanced features to handle various situations. Take the generic add function as an example:
#[function("add(*number, *number) -> auto")]
#[function("add(interval, interval) -> interval")]
pub fn general_add<T1, T2, T3>(l: T1, r: T2) -> Result<T3>
where
    T1: Into<T3> + Debug,
    T2: Into<T3> + Debug,
    T3: CheckedAdd<Output = T3>,
{
    general_atm(l, r, |a, b| {
        a.checked_add(b).ok_or(ExprError::NumericOutOfRange)
    })
}

The macro is capable to:

allow multiple definations on a generic function.
allow wildcards and auto inference in types to expand into multiple definations.
e.g. add(*number, *number) -> auto will be expanded to:

add(int16, int16) -> int16
add(int16, int32) -> int32
add(int32, int16) -> int32
...

allow arguments in Rust functions to be either T, Option<T> or &mut dyn Write, and return type to be either T, Option<T>, Result<T> or Result<Option<T>>.
where:

fn(T) -> T implies returns-null-on-null-input and infallible.
fn(T) -> Result<T> implies fallible.
fn(Option<T>) -> T implies called-on-null-input.
fn(Option<T>) -> Result<Option<T>> is the most generic form.
fn(&mut dyn Write) implies returning varchar.

generate optimal implementation based on the signature.
e.g. fn(i32, i32) -> i32 can be applied to array with SIMD acceleration, while fn(i32, i32) -> Result<i32> can not.

We expect a lot of boilerplate code to be removed upon completion.
Any comments are welcome!

Checklist For Contributors

[x] I have written necessary rustdoc comments
[x] I have added necessary unit tests and integration tests
[x] I have added fuzzing tests or opened an issue to track them. (Optional, recommended for new SQL features #7934).
[x] I have demonstrated that backward compatibility is not broken by breaking changes and created issues to track deprecated features to be removed in the future. (Please refer to the issue)
[x] All checks passed in ./risedev check (or alias, ./risedev c)

Checklist For Reviewers

[ ] I have requested macro/micro-benchmarks as this PR can affect performance substantially, and the results are shown.

Documentation

[x] My PR DOES NOT contain user-facing changes.

Click here for Documentation
Types of user-facing changes
Please keep the types that apply to your changes, and remove the others.

Installation and deployment
Connector (sources & sinks)
SQL commands, functions, and operators
RisingWave cluster configuration changes
Other (please specify in the release note below)

Release note

@xiangjinwu PTAL 65a83b6
This PR adds list < list to the FUNC_SIG_MAP, causing a panic on:
https://github.com/risingwavelabs/risingwave/blob/24ecd4d633cc7d11cd80f4cba73c58b7918ba4a2/src/frontend/src/expr/type_inference/func.rs#L92
thread '<unnamed>' panicked at 'Functions returning struct or list can not be inferred. Please use `FunctionCall::new_unchecked`.', src/common/src/types/mod.rs:199:47

65a83b6 is a workaround for this.


Update puzzles to use FFG images

Particularly slide puzzles will look much better.

Might there even be a way to use own images for the puzzles?

If you are taking about the slide puzzles both ffg and custom images are already supported. I am just taking about using the ffg artwork to make them look nice.

Oh, i just wasnt smart enough to use something that you did already implement.
Im sorry for asking some dumb questions sometimes! ;-) And thank you for answering that fast all the time!


Breaking changes in Snakemake 8

Snakemake 8.0.0 introduced some breaking changes. The most obvious that would need to be updated are:

use-conda: True would need to be updated to software-deployment-method: conda
use-conda: True + use-singularity: True would need to be updated to software-deployment-method: conda apptainer

But there are probably others. I don't have the time to dedicate to this at the moment, but I'm happy to review PRs from volunteers

Useful discussions to follow:

https://github.com/Snakemake-Profiles/slurm/issues/117
https://github.com/snakemake/snakemake-executor-plugin-slurm/issues/11

Introduction
I would like to start this process (initial work here), but I have a question about how to implement the changes required.
I'm going to be using README.md in the cluster-cancel folder for my example
The current header should be changed from # Cancel running jobs with `--cluster-cancel`  to  # Cancel running jobs with `--cluster-generic-submit-cmd` . It's obviously not great to remove all current documentation and update it to match snakemake>8.0 requirements, as not everyone may be on the latest version. Based on an assumption that the documentation should fit as many users' needs as possible, flags for both pre- and post- breaking changes should exist in the examples, which brings us to how these changes can be implemented
Options for Updates
Append documentation for snakemake-specific versions
It would be relatively easy to copy-paste documentation, changing flags where required. However, this would result in double the amount of documentation that is required to keep up-to-date in the future
# Snakemake <8.0
## Cancel running jobs with `--cluster-cancel`
(<8 docs here)

# Snakemake >8.0
## Cancel running jobs with `--cluster-generic-submit-cmd`
(>8 docs here)

Place snakemake>8-specific flags behind snakemake<8 flags
Include a paragraph in the repository's main README.md stating that flags for post-breaking changes are listed in parenthesis behind pre-breaking changes. This would reduce the amount of work required for future documentation updates. If this is done, an additional config.v8+.yaml file can be created for snakemake>8 users and can exist alongside the current config.yaml file in examples and the main simple/config.yaml for those using snakemake<8
# Cancel running jobs with `--cluster-cancel` (`--cluster-generic-submit-cmd`)
(continue docs here, no duplicate writing)

New installation requirements
In order to use the new cluster-generic-*-cmd arguments, the package snakemake-executor-plugin-cluster-generic must be installed using pip install snakemake-executor-plugin-cluster-generic. This can be included in the main conda.yml` environment as follows
name: smk
channels:
  - conda-forge
  - bioconda
  - nodefaults
dependencies:
  - snakedeploy
  - snakefmt
  - snakemake>=5.15.0
  - pip

  - pip:
      - snakemake-executor-plugin-cluster-generic

Ending
If there are any other methods you would prefer or things you'd like to discuss, let me know!

Hi @jdblischak,
I was using your config.yaml for a while and everything was running smoothly, but now I've updated my snakemake installation (to 8.8.0) and it gives me several errors. I've uncommented reason: True and use-conda: True, however I get following error:
$ snakemake --profile profile/ -n
Using profile profile/ for setting default command line arguments.
Building DAG of jobs...
MissingRuleException:
No rule to produce --cluster=mkdir -p {OUTDIR}/logs/{rule} && sbatch --partition={resources.partition} --time={resources.time} --cpus-per-task={threads} --mem={resources.mem_mb} --job-name={rule}.{jobid} --output={OUTDIR}/logs/{rule}/{rule}_{wildcards}_%J.out --error={OUTDIR}/logs/{rule}/{rule}_{wildcards}_%J.err (if you use input functions make sure that they don't raise unexpected exceptions).

Everything did run smoothly under snakemake <8. I'm not sure how to change my config.yaml accordingly to use snakemake >8. Any help is highly appreciated.
Cheers Bastian

Everything did run smoothly under snakemake <8. I'm not sure how to change my config.yaml accordingly to use snakemake >8. Any help is highly appreciated.

@bheimbu Is there any specific reason you need to use snakemake >8? If not, you should downgrade to the latest version of snakemake 7, eg mamba install snakemake<8. This Issue is open in order to determine everything that needs to be changed. If you'd like to help contribute to this effort, your help would be appreciated. But if you just need your pipeline working again ASAP, the best solution is to continue using snakemake 7.

If there are any other methods you would prefer or things you'd like to discuss, let me know!

@JoshLoecker thanks so much for volunteering to help with this! It is super appreciated, and I apologize for my delayed response.
Ultimately I give you a lot of decision-making power since you are the one willing to work on it. I'm fine with your proposal of putting the new flag in parentheses and providing two config.yaml files. Though I will propose the alternative of having multiple branches. I can create the branches v7 and v8. v7 will preserve the v7 documentation, and v8 will contain your latest changes. Once you finish migrating everything to v8, then we can merge to main (while still including a link in the README to the v7 docs for those that need them). How does that sound? I think that could make it easier for you since you wouldn't have to maintain documentation and YAML files for multiple flags.

@JoshLoecker updates from my end: I created a branch v7 to preserve the snakemake <8 version of the documentation, pushed https://github.com/jdblischak/smk-simple-slurm/commit/d6cbdbecdb63afd6cecea71457f2999302bb5bd1 to warn users in the README about the transition, and tagged v1.4.0 as the final release prior to migrating to snakemake 8.

That sounds great! I will update my fork to reflect this

Big thanks to @JoshLoecker to migrating the profile and docs to support Snakemake 8+! I just released v2.0.0
https://github.com/jdblischak/smk-simple-slurm/releases/tag/v2.0.0


Copy images to AWS regions

image-promoter needs the ability to copy to AWS regions, based on a per-region bucket scheme.
Related: https://github.com/kubernetes-sigs/oci-proxy/issues/39
@jaypipes coordinating with @Verolop and @puerco from Release Engineering

/assign @jaypipes

xref: https://kubernetes.slack.com/archives/CCK68P2Q2/p1649978570481889?thread_ts=1649976555.356029&cid=CCK68P2Q2
So the layout is like $bucket/containers/image/sha256:$blobhash  for all the blobs in GCS.
@ameukam has already run a sync between the GCS behind k8s.gcr.io and an s3 bucket.
If we can have the promoter promote digests in the manifest to paths like this in a bucket, then once that's enabled for a bucket we just need to run a backfill sync once, and we don't need any code for the backfill, it's just gsutil rsync gs://us.k8s-artifacts-prod s3://$bucket.
This is also pretty easy to redirect to in oci-proxy statelessly.

/remove-lifecycle stale
@BenTheElder should we keep this open to drive changes to the promotor to push to the S3 buckets or would the process of periodic syncing the bucket with GCS be sufficient?

Resolved by https://github.com/kubernetes/k8s.io/pull/4118
/close


Postprocessing: Conversion failed! on already downloaded .opus files when using --embed-metadata and --embed-thumbnail

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I intentionally remove or skip any mandatory* field

Checklist

[X] I'm reporting a bug unrelated to a specific site
[X] I've verified that I have updated yt-dlp to nightly or master (update instructions)
[X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched known issues and the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue

Provide a description that is worded well enough to be understood
The initial download works fine, and adds the thumbnail and other metadata to the downloaded file. However when the command is run again and the file already exists, it gives this error and leaves behind temporary files. I haven't tested many different codecs, but I can confirm that this happens with .opus files and does not happen with .mp3 files. It only happens when both --embed-metadata and --embed-thumbnail are enabled.
Provide verbose output that clearly demonstrates the problem

[X] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[ ] If using API, add 'verbose': True to YoutubeDL params instead
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
yt-dlp https://soundcloud.com/one-thousand-and-one/test-track --embed-metadata --embed-thumbnail -vU
[debug] Command-line config: ['https://soundcloud.com/one-thousand-and-one/test-track', '--embed-metadata', '--embed-thumbnail', '-vU']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version<EMAIL_ADDRESS>from yt-dlp/yt-dlp [197d0b03b] (pip)
[debug] Python 3.13.0 (CPython arm64 64bit) - macOS-14.4-arm64-arm-64bit-Mach-O (OpenSSL 3.4.0 22 Oct 2024)
[debug] exe versions: ffmpeg 7.0.1 (setts), ffprobe 7.0.1, rtmpdump 2.4
[debug] Optional libraries: Cryptodome-3.21.0, brotli-1.1.0, certifi-2024.08.30, mutagen-1.47.0, requests-2.32.3, sqlite3-3.47.0, urllib3-2.2.3, websockets-13.1
[debug] Proxy map: {}
[debug] Request Handlers: urllib, requests, websockets
[debug] Loaded 1838 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Latest version<EMAIL_ADDRESS>from yt-dlp/yt-dlp
yt-dlp is up to date<EMAIL_ADDRESS>from yt-dlp/yt-dlp)
[debug] Loading soundcloud.client_id from cache
[soundcloud] Extracting URL: https://soundcloud.com/one-thousand-and-one/test-track
[soundcloud] one-thousand-and-one/test-track: Downloading info JSON
[soundcloud]<PHONE_NUMBER>: Downloading hls_mp3 format info JSON
[soundcloud]<PHONE_NUMBER>: Downloading http_mp3 format info JSON
[soundcloud]<PHONE_NUMBER>: Downloading hls_opus format info JSON
[debug] Formats sorted by: hasvid, ie_pref, lang, quality, res, fps, hdr:12(7), vcodec, channels, acodec, size, br, asr, proto, vext, aext, hasaud, source, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info]<PHONE_NUMBER>: Downloading 1 format(s): hls_opus_64
Deleting existing file testing - test track [1855267053].jpg
[info] Downloading video thumbnail original ...
[info] Writing video thumbnail original to: testing - test track [1855267053].jpg
[debug] Invoking hlsnative downloader on "https://cf-hls-opus-media.sndcdn.com/playlist/be017829-5fd5-4ba3-96e2-f508d119ff52.64.opus/playlist.m3u8?Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiKjovL2NmLWhscy1vcHVzLW1lZGlhLnNuZGNkbi5jb20vcGxheWxpc3QvYmUwMTc4MjktNWZkNS00YmEzLTk2ZTItZjUwOGQxMTlmZjUyLjY0Lm9wdXMvcGxheWxpc3QubTN1OCoiLCJDb25kaXRpb24iOnsiRGF0ZUxlc3NUaGFuIjp7IkFXUzpFcG9jaFRpbWUiOjE3MzExODc1Nzd9fX1dfQ__&Signature=QWxWNVVhY23gwkCcIPFU~jauXi6q9dy0HyJqLkfrdrsIqvALxZgYjJhta2EhAx4yOSmiKhNqZskNrupiCiQW9Dda8xqn18QH5Riyk6yEdZDBU54A1L~Q4YTCWalrj9-tkiB8zOqbfvrApbimEgtWIrFomGDMTVyGgd8ioeKsIskTkCnlaI~zBv0k8Mx-lSRxRWrTZc1mWFf7Xq8s8DP6piiBnEKoC0SejyQr4D9eb1lGeH~nNI-m9WIG8yZ4UGXskbC3iXDjkDu5e67~BWKQAt-T7NjrJMMCxIx0zsRCQaPKk~WjB6pDYFXhX2dqpetjE6w1xmXSnczeAdd9cXVKCg__&Key-Pair-Id=APKAI6TU7MMXM5DG6EPQ"
[download] testing - test track [1855267053].opus has already been downloaded
[download] 100% of   16.90KiB
[Metadata] Adding metadata to "testing - test track [1855267053].opus"
[debug] ffmpeg command line: ffmpeg -y -loglevel repeat+info -i 'file:testing - test track [1855267053].opus' -map 0 -dn -ignore_unknown -c copy -write_id3v1 1 -metadata 'title=testing - test track' -metadata date=20240623 -metadata 'description=test description:
9439290883' -metadata 'synopsis=test description:
9439290883' -metadata purl=https://soundcloud.com/one-thousand-and-one/test-track -metadata comment=https://soundcloud.com/one-thousand-and-one/test-track -metadata artist=7x11x13-testing -metadata genre=Testing -movflags +faststart 'file:testing - test track [1855267053].temp.opus'
[debug] ffmpeg version 7.0.1 Copyright (c) 2000-2024 the FFmpeg developers
  built with Apple clang version 15.0.0 (clang-15<IP_ADDRESS>)
  configuration: --prefix=/opt/homebrew/Cellar/ffmpeg/7.0.1 --enable-shared --enable-pthreads --enable-version3 --cc=clang --host-cflags= --host-ldflags='-Wl,-ld_classic' --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libaribb24 --enable-libbluray --enable-libdav1d --enable-libharfbuzz --enable-libjxl --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librist --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libspeex --enable-libsoxr --enable-libzmq --enable-libzimg --disable-libjack --disable-indev=jack --enable-videotoolbox --enable-audiotoolbox --enable-neon
  libavutil      59.  8.100 / 59.  8.100
  libavcodec     61.  3.100 / 61.  3.100
  libavformat    61.  1.100 / 61.  1.100
  libavdevice    61.  1.100 / 61.  1.100
  libavfilter    10.  1.100 / 10.  1.100
  libswscale      8.  1.100 /  8.  1.100
  libswresample   5.  1.100 /  5.  1.100
  libpostproc    58.  1.100 / 58.  1.100
[ogg @ 0x12e704a60] 1035 bytes of comment header remain
Input #0, ogg, from 'file:testing - test track [1855267053].opus':
  Duration: 00:00:01.01, start: 0.000000, bitrate: 137 kb/s
  Stream #0:0: Audio: opus, 48000 Hz, stereo, fltp
      Metadata:
        encoder         : Lavc58.91.100 libopus
        title           : testing - test track
        date            : 20240623
        purl            : https://soundcloud.com/one-thousand-and-one/test-track
        synopsis        : test description:
                        :<PHONE_NUMBER>
        genre           : Testing
        artist          : 7x11x13-testing
        comment         : test description:
                        :<PHONE_NUMBER>
  Stream #0:1: Video: mjpeg (Baseline), yuvj420p(pc, bt470bg/unknown/unknown), 180x180 [SAR 1:1 DAR 1:1], 90k tbr, 90k tbn (attached pic)
      Metadata:
        comment         : Cover (front)
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (copy)
[opus @ 0x12e6062b0] Unsupported codec id in stream 1
[out#0/opus @ 0x600003ecc3c0] Could not write header (incorrect codec parameters ?): Invalid argument
Conversion failed!

ERROR: Postprocessing: Conversion failed!
Traceback (most recent call last):
  File "/opt/homebrew/Cellar/yt-dlp/2024.11.4/libexec/lib/python3.13/site-packages/yt_dlp/YoutubeDL.py", line 3557, in process_info
    replace_info_dict(self.post_process(dl_filename, info_dict, files_to_move))
                      ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/yt-dlp/2024.11.4/libexec/lib/python3.13/site-packages/yt_dlp/YoutubeDL.py", line 3741, in post_process
    info = self.run_all_pps('post_process', info, additional_pps=info.get('__postprocessors'))
  File "/opt/homebrew/Cellar/yt-dlp/2024.11.4/libexec/lib/python3.13/site-packages/yt_dlp/YoutubeDL.py", line 3723, in run_all_pps
    info = self.run_pp(pp, info)
  File "/opt/homebrew/Cellar/yt-dlp/2024.11.4/libexec/lib/python3.13/site-packages/yt_dlp/YoutubeDL.py", line 3701, in run_pp
    files_to_delete, infodict = pp.run(infodict)
                                ~~~~~~^^^^^^^^^^
  File "/opt/homebrew/Cellar/yt-dlp/2024.11.4/libexec/lib/python3.13/site-packages/yt_dlp/postprocessor/common.py", line 23, in run
    ret = func(self, info, *args, **kwargs)
  File "/opt/homebrew/Cellar/yt-dlp/2024.11.4/libexec/lib/python3.13/site-packages/yt_dlp/postprocessor/common.py", line 128, in wrapper
    return func(self, info)
  File "/opt/homebrew/Cellar/yt-dlp/2024.11.4/libexec/lib/python3.13/site-packages/yt_dlp/postprocessor/ffmpeg.py", line 712, in run
    self.run_ffmpeg_multiple_files(
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        (filename, metadata_filename), temp_filename,
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        itertools.chain(self._options(info['ext']), *options))
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/yt-dlp/2024.11.4/libexec/lib/python3.13/site-packages/yt_dlp/postprocessor/ffmpeg.py", line 330, in run_ffmpeg_multiple_files
    return self.real_run_ffmpeg(
           ~~~~~~~~~~~~~~~~~~~~^
        [(path, []) for path in input_paths],
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        [(out_path, opts)], **kwargs)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/yt-dlp/2024.11.4/libexec/lib/python3.13/site-packages/yt_dlp/postprocessor/ffmpeg.py", line 368, in real_run_ffmpeg
    raise FFmpegPostProcessorError(stderr.strip().splitlines()[-1])
yt_dlp.postprocessor.ffmpeg.FFmpegPostProcessorError: Conversion failed!

Looks like same issue as #6225 and #1378

I agree, looks like a dupe of #1378

I'm actually gonna close that one in favor of this one, since this one's title and details are more comprehensive

Looks like an issue with FFmpeg: https://trac.ffmpeg.org/ticket/4448
Seems unlikely to get fixed on their end, I think this issue will be fixed by https://github.com/yt-dlp/yt-dlp/pull/8918

Actually, is there any reason why this is set only by m4a and not other audio-only formats?
https://github.com/yt-dlp/yt-dlp/blob/b83ca24eb72e1e558b0185bd73975586c0bc0546/yt_dlp/postprocessor/ffmpeg.py#L680-L683


Time Slots: Can't delete all Time Slots from a channel

I can't delete all Time Slots from a channel using the Time Slots panel.  The Cancel button exits without saving, and the Create Lineup button is understandably grayed out.  Please add a way for users to do this via the Time Slots panel.

Well the time slots are saved as a memory of the last time you clicked the apply. I don't understand why you want to delete them without applying?

What do you mean without applying?  I'm revisiting a channel where I have Time Slots set up, and I want to remove the Time Slots.  I can remove all but one.

Here I removed all but one:

Here I'm trying to remove the last one.  Notice that the Create Lineup button is now understandably grayed out?  Cancel just aborts what you're trying to do.  Reopen Time Slots, and it's still there.  I can't remove the last Time Slot:

How do you imagine this feature working?
If you remove all the time slots, what happens to the programs on the channel? Are they removed? Are they reordered (if so, in what order)?

You add content to a channel before setting up Time Slots.  When removing all of the Time Slots, I would expect the content to remain.  The user could then go remove the content if desired.
I stopped setting up channels with Time Slots since there's not a way to remove the last Time Slot if the desire is to revert back to having no Time Slots.  But I would like to use them.

What order would the content be in once you remove the time slots?

Would be?  I don't know.  I can't remove all the Time Slots.  (What's the order when removing one Time Slot of several.  That would likely be your answer.)
Should be?  Probably as the content was when the Time Slots existed.  At that point, the user could use the other Tools to do whatever is desired.

Time slots are a tool. They are like the tweak weights or remove shows tools in the sense that they need a separate dialog.  When you click the apply button, you are not adding time slots  you are applying a transformation to the channel's programming based on the time slots you set up.
Just like you can't restore the original weights after using tweak weights or the original order after doing a shuffle. There isn't a feature to undo the application of time slots.  And if you accidentally do mess up with the time slots (or any other tool) you can click the cancel button and the modification won't be saved. And even if it gets saved. You can always just hit remove all, add the programs again and start over.
I think I can add an undo button for tools so that previous programming can be restored. This would only work before saving the channel, though. Because including the whole programming history would make the channel json bigger and that's the last thing we need.

Let's stop focusing on the channel content and go back to my original concern of the Time Slots dialog.  I want to delete the last Time Slot listed on the Time Slots dialog and it won't me:

But again, the Create Lineup button doesn't just add time slots to the programming. It applies a transformation. So if you delete all the time slots and hit "Create Lineup", then it would be the same as hitting remove all or maybe it would replace the whole programming with flex. Both alternatives seem quite pointless.

It's the same concept.
Every time you add or remove a time slot (and hit save), a new schedule is made using the time slots (the programs and times you indicated), and the channel's programming order is updated with this schedule.
If you were to remove all time slots, effectively making an empty schedule with no programs (since only the programs indicated in the time slots are used in the schedule/programming list -> no time slots, no programs), there would be no programs left on the channel.
You would have an empty channel, since there's no record of what programs were on the channel before you started adding and removing time slots.

But you can't remove all of the Time Slots.  It won't let you delete all of them.
I'm okay with it creating an empty schedule at that point as long as the rest of the channel setup remains intact.
But regardless of that, the Time Slots on the Time Slots dialog should all be deleted at that point.  But I can't delete the last Time Slot.  Anything you add you should be able to remove.

Well, okay. A thing about the time slots is that they save a json backup for the setting that was used. I added this for convenience because the schedule is really hard to setup and this allows you to reapply the schedule after adding a new episode.
It is true that it is not possible to remove it. But I thought that in that case someone could just add a single flex slot there.
How about a "Reset" button that empties the time slots settings and thus the backup will be gone?

I don't think Vex has a problem with adding the ability to delete the last time slot. We're just trying to figure out what you want to happen when you do that so he can design the feature.
It sounds like you (though I'm sure others will disagree with it, knowing these picky users) want deleting the last time slot to result in an empty channel.
If I recall correctly, currently you can't have an empty channel. There has to be at least one program (or flex, or offline time, or redirect) on the channel, correct @vexorian ? So maybe if the call to the time slots API endpoint returns a blank programming list, it injects a small offline flex time and that's the "blank" channel?

Like you said, you'll likely get different opinions from the users on this.
I would expect it to leave the programming alone.  The Time Slots didn't add the programming.  I had to do that before setting up the Time Slots.  So removing the Time Slots should leave the programming behind.  If the Time Slots added the programming, then I could see it removing the programming as well.  It wouldn't be the end of the world if it removed the programming (and added a single Flex Time entry to avoid an empty channel), but it seems a little heavy handed since I added the programming.  If it does remove the programming, perhaps the button should change from "Create Lineup" to "Delete Lineup and Content"?
Since we're on the topic of revisiting Time Slots, ideally, I'd like to be able to schedule a single Program Block with Time Slots and have the option to repeat that Program Block for the rest of the day, rather than have to schedule each program all day.  For instance, if I have four 30-minute programs in a Program Block, I'd then like to be able to have that Program Block repeat 12 times that day.  I don't want the same episodes to play, but I want the same shows to play.  This would play the first show at Midnight, 2am, 4am, etc.; the second show at 12:30am, 2:30am, 4:30am, etc.; and so on.  For the 12 airings of each show that day, they would air different episodes, in order or shuffled depending on the setting chosen for the Time Slot.  Please consider if you're revisiting Time Slots.  Thanks, guys.

RE: Leaving programming alone.
Actually, Time Slots does alter the programming, since it replaces the program and order of the channels with the schedule you make. If you add 1000 items to your channel, but then make one time slot for one movie, the program list on your channel is going to be updated to only be that one movie. All the other programs will disappear.
So deleting the time slot won't restore the original programming list you had before making time slots.
Either it could make an "empty" channel, or we could store a backup of the original programming list before you start making time slots, so it could restore that if the time slots were deleted (that's a lot of overhead)

I didn't realize it would delete the 1000 items.  When I used Time Slots, I scheduled all of the content that I had added.  That's good to know.
The cleaner approach would be to leave behind a single Flex Time entry, provided the last Time Slot can be deleted.  We don't want the overhead.
And if the repeating Program Block concept could be scoped for Time Slots, I'd appreciate it.

There are a couple of things I want to do eventually I think there will be a separation between what programs are available and the schedule itself will just determine the order to play them (with the option to play the same program multiple times). This will help compress the json but it will also allow things like letting time slots exist without removing programs not in the time slots. But that's something for 1.3 or 1.4 I think. 1.2 needs to be a lot more stable before moving on to those things.

This will be possible in 1.5.0


v1.4.6 has a silent breaking change

Starting with v1.4.6, --version and --help cause the process to exit with a non-zero exit code. This sort of change shouldn't happen on a minor release.

Ah, thanks for reporting this! We'll yank 1.4.6 and put out 1.4.7 :+1:

@Diggsey once #336 merges I'll yank 1.4.6 and post 1.4.7 to crates.io, this was a bug and shouldn't have happened. Thanks again for point this out :+1:

1.4.7 is on crates.io which resolves this issue.

:+1:


Refactoring the ShaderLab Compiler Module using the LALR Algorithm for Enhanced GLSL Compatibility and Reduced Build Size

Please check if the PR fulfills these requirements

[x] The commit message follows our guidelines
[x] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
In this update, we made a significant overhaul of the ShaderLab module, employing the LALR (Look-Ahead Left-to-Right) parsing algorithm to achieve several substantial improvements over the previous version. This refactoring effort aligns more closely with the GLES syntax standard, providing improved compatibility with the GLSL language. Below are the key highlights of this update:

Completely Rewrite using the LALR Algorithm
The compiler has been rebuilt from the ground up utilizing the LALR algorithm. This strategic choice not only enhances the parsing efficiency but also ensures that our compiler adheres closely to the GLES syntax standard. Through this approach, we have achieved a more robust compatibility with GLSL, catering to a wider range of shader programming needs.

Elimination of Third-party Dependency
A significant advancement in this version is the removal of third-party package chevrotain dependency. This decision drastically reduces the overall package size, leading to leaner build outputs. This reduction in dependencies not only simplifies the build process but also minimizes potential conflicts and enhances the portability of the compiler.

User-friendly Programming with Less Syntax Restriction
Compared to version 1.2, the current iteration of the compiler introduces fewer syntax restrictions, offering a more user-friendly programming experience. We've also simplified syntax extension, making it easier for developers to introduce new features and customizations. This flexibility encourages experimentation and innovation within shader programming.

Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)

Struct declaration mandates a semicolon at the end of a struct declaration
struct Light {
    vec4 position;
    vec4 color;
}

After update
struct Light {
    vec4 position;
    vec4 color;
};

Declare shader main entry function (vertex and fragment shader main) assignment after main function definition
Pass "default" {
    ...
    VertexShader = vert;
    FragmentShader = frag;

    v2f vert(a2v o) {
        ...
    }

    void frag(v2f i) {
       ...
    }
    ...
}

After update
Pass "default" {
    ...
    v2f vert(a2v o) {
        ...
    }

    void frag(v2f i) {
       ...
    }

    VertexShader = vert;
    FragmentShader = frag;
    ...
}

VertexShader = ***  can before function definition in Unity

[ ] 切换模型没有重新编译宏

[ ] 宏没有生效

[ ] GRAPHICS_API_WEBGL2 没生效

[ ] 缺失部分宏：

[ ] textureCubeLodEXT function 没找到

[ ] 不支持函数重载

Merge logger to engine logger


--wrap removes unicode spaces

Describe the bug
The following markdown as an [em space] between the two x:
em-space: x x

running
mdformat --wrap 100 a.md

on the file incorrectly transforms the em-space into a regular space. The problem does not occur without --wrap.
Reproduce the bug
If it helps,
open("b.md").read()

in IPython shows the string with Unicode characters escaped.
List your environment

Python 3.10.6
Ubuntu 22.10

Thanks a lot for the issue!
https://github.com/executablebooks/mdformat/pull/341 should fix this. I plan to make a release in the upcoming days.

Cool, thanks!


[IconMenu] Updating error message for IconButton

[x] Commit and PR titles begin with [ComponentName], and are in imperative form: "[Component] Fix leaky abstraction".
[x] Description explains the issue / use-case resolved, and auto-closes the related issue(s) (http://tr.im/vFqem).

Small fix, but it took me longer than it should have to figure out
that this error was related to the IconMenu element.

@olanb7 That sounds better. Thanks for doing this PR.


Add precommit hooks to run tests before every commit

Actual Behaviour
Users may commit breaking changes.
Expected Behaviour
Pre-commit hook will prevent users from committing if the changes break anything, this will save the effort of requesting changes on a PR again and again due to failing tests.
Would you like to work on the issue?
Working on it.

Tests are pretty comprehensive and time consuming so not adding this will be a better option to speed up development and let Travis run checks and respond.


Fix typo

typo in CSS Grid - Use Media Queries to Create Responsive Layouts #17449

Pre-Submission Checklist

[x] Your pull request targets the staging branch of freeCodeCamp.
[ ] Branch starts with either fix/, feature/, or translate/ (e.g. fix/signin-issue)
[x] You have only one commit (if not, squash them into one commit).
[x] All new and existing tests pass the command npm test. Use git commit --amend to amend any fixes.

Type of Change

[x] Small bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds new functionality)
[ ] Breaking change (fix or feature that would change existing functionality)
[ ] Add new translation (feature adding new translations)

Checklist:

[ ] Tested changes locally.
[ ] Addressed currently open issue (replace #17449 with an issue no in next line)

Closes #17449
Description

Closing this in favor of #17517. Seems like a fix for the same issue.


[Bug]: Create a new control to group the min and max auto height with limits

Is there an existing issue for this?

[X] I have searched the existing issues

Description
Currently, there is no option to create 2 different controls which are dependent on each other. For example, when we have min greater than max it throws an error, but if we update the max to be more than min, the error is still there because there is no way to update the min control form the max control.
Steps To Reproduce

DnD any widget with Auto Height enabled.
Enable the Auto Height with limits.
Set min to be greater than max.
Observe there is an error.
Now update the max to be greater than min.
Observe that the max control error is gone but min control still shows an error.

Public Sample App
No response
Version
Cloud

Created a separate issue for wider perspective, https://github.com/appsmithorg/appsmith/issues/17159

@riodeuno can we close this issue?


Implemented unlearn feature. currently untested.

this is pretty ugly code, but it should work. I based the unlearn feature off of the learn feature and reversed a couple of conditionals (e.g. check if command exists before attempting to unlearn it). I kept the check to disallow unlearning built-in commands.

Mostly LG! Just a bunch of nits. After your changes, I'll test and deploy :)


WIP: Added basic support for Tonicdev use

This is only a super basic helper function, but it means that the plots can show up without a struggle.
None of the data is being sent to plot.ly, but if we want, we could make this mimic the default plot behaviour sending data to be saved on plot.ly, and returning the html for use in notebooks.
Lots of ways to go about it - I'm open to input and feedback.
https://tonicdev.com/mdtusz/plotly-hack

:+1:
At first I thought maybe this didn't belong in the project and that we should make a plotly-tonic package. But I like the idea of adding save-to-cloud option within tonicdev, making this tiny function feel at home here.
@alexander-daniel what do you think?

I like this idea and its super quick and clever! However, up until this point this module has no direct interaction with plotly.js. It's really just an API wrapper...
I fear that users might run into some confusion importing the 'plotly' module and expecting it to be something its not. If we do this we'll start blurring the lines.
To me, ideally we'd have a plotly-tonic module that imports this module and uses it for its "save-to-cloud" function.
What do you guys think?

:+1: for making a plotly-tonic package.
We should keep the plotly package as narrow-scoped as possible.

Sounds good to me. I have some ideas for how to make things work that will make it more useful for notebook-use as well. I'll close this PR and open a new repo!


Authenticate to AWS with dedicated role without AssumeRole permissions

Added podIdentity boolean property in the ScaledObject resource under Triggers.Metadata to AWS scalers which tells to Keda operator if use the pod identity or the permissions are assigned on KEDA operator itself (without AssumeRole permissions). If set false use permissions are assigned on KEDA operator itself, if true the behavior will remain as it is today with pod identity. True is default.
example
{
    "Version": "2012-10-17",
    "Statement": [{
        "Effect": "Allow",
        "Action": "sqs:GetQueueAttributes",
        "Resource": "arn:aws:sqs:your_aws_account_number:your_region:your_sqs_queue"
    }]
}

Fixes #
#651

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: nisan270390 sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

I guess this deserves documentation, could you please add one and open in https://github.com/kedacore/keda-docs ?

kedacore/keda-docs#105

@tomkerkhove , @zroubalik , @ahmelsayed  could you please review?

Thanks @nisan270390!!


Added Toggle Bot Following, Player cell retrieval, and small fixes.

-Added Toggle for Bot following (Move to mouse or Move to player cell) (Press A to toggle)
-Player Cell can now be accessed using function getCell()
-Added fix for respecting bot max limit
-Changed stop movement event to onmousemove instead of onmousedown event.
Should take care of #159 & #161..

@gcsoftware nice contributions, thanks!
I believe the stop movement should stop cell at cell position and not mouse position, also mouse move shouldn't enable the movement again. This should work in this way: press key disable movement, press key enable movement.
I will test this update at the night.

@WJKH The enable/disable toggle is controlled by pressing the D key. Mouse Movement does not control the toggle in any way. I would love to have instant stop at the current position, but it's difficult to pull off. I was able to do it in my tests, but it came with a negative side effect where your cell would drift endlessly into the last direction.

sounds great! someone can test?

@davidmann4 Once this is merged in, I have the new commits ready to pull and fix #165

@gcsoftware I haven't tested this last update but in the update https://github.com/davidmann4/agario-feeder-bot/pull/154 if you move the mouse the cell continue moving.

puh, anyone tested this?

just merged it in without testing :+1:

Well if any issues arise we can take care of it :sweat_smile:

@gcsoftware I have tested this last version recently and the issue with the mouse move disabling stop movement function persist.
Also some new issues found:
Bot Count: [object Object]
And when I press D (stop movement): Uncaught TypeError: canvas.onmousemove is not a function

@WJKH I have tested the latest and cannot reproduce this issue with the stop movement. Bot Count also is working fine here. Are you playing on a private server?

@gcsoftware no, I'm playing on public servers.


process.env access in .next/bundles/pages/index.js

[x] I have searched the issues of this repository and believe that this is not a duplicate.

gaearon/react-hot-loader/issues/356 is the closest I found.
Expected Behavior

Error free .next/bundles/pages/index.js
Current Behavior

Firefox throws:

process.env is undefined

Chromium says:

TypeError: Cannot read property 'NODE_ENV' of undefined

both originate from:
;(function register() { /* react-hot-loader/webpack */ if (process.env.NODE_ENV !== 'production') { if (typeof __REACT_HOT_LOADER__ === 'undefined') { return; }
In most places the generated index.js reads:
;(function register() { /* react-hot-loader/webpack */ if (true) { if (typeof __REACT_HOT_LOADER__ === 'undefined') { return; }
Something, and I can't figure out what, triggered webpack and/or react-hot-loader to use "process.env.NODE_ENV" in the front-end, which kills it.
Context

"next dev" is rendered useless, because the hot-reload feature breaks the front-end coding.
Your Environment

Tech
Version

next
4.1.4

node
6.12.0

OS
Ubuntu 17.10

browser
Firefox and Chromium

Any help would be greatly appreciated. Banging my head against the wall since days :(
Unfortunately I wasn't able to create a minimal-example, so if any code is required I will happily share it.

The root-cause was the following line of code in one of my redux-reducers:
const process = reducer({finished: false}, {
	[FINISH_COMPARISON_PROCESS]: () => {}
});

Because the register() function isn't properly scoped, "process" gets overriden and doesn't contain "env" anymore. Which broke the code.
The solution was as easy as renaming the variable to "ratingProcess".


fix: pbft consensus fixes -> make it behave according to the paper

Purpose

Fixes for multiple bugs:

we never cleaned previous round next votes when moving to the next period
firstFinish_ step:
a) else if condition would pass for round == 1, which it should not.
b) wrongly used previous_round_next_voted_value_.first == NULL_BLOCK_HASH in conditions as previous_round_next_voted_value_ should never be NULL_BLOCK_HASH -> these condition probably did not work correctly as NULL_BLOCK_HASH was default, but this variable should have either some specific hash or nothing
secondFInish step:
a) wrongly used previous_round_next_voted_value_.first == NULL_BLOCK_HASH in conditions as previous_round_next_voted_value_ should never be NULL_BLOCK_HASH -> these condition probably did not work correctly
b) it used if else condition but it was supposed to be if if condition

How does the solution address the problem

Changes made

prnet cleaned-up successfully


Ability to revoke a certificate

Originally reported by @wikrie
Revoking a Certificate
The following command can be used to revoke a particular certificate.
$ letsencrypt revoke --cert-path example-cert.pem

+1


The project template names when using DotnetUI new_item are cut off

Not sure what is going on here. I'm using the plugin with its default configuration and I don't think I have anything in my telescope config that could explain this.

Thanks @kmoschcau for pointing this out. I will take a look, I'm able to reproduce it!

@kmoschcau, apparently, the truncating is done by the .NET CLI when returning the results for dotnet new list, and there isn't an option to change the result formatting of dotnet new list.
I will think about possible solutions, but they would probably be hacks. Maybe we can open an issue for the .NET team.

@MoaidHathot I just did some testing myself and it seems like dotnet new list does this dynamically, depending on how wide the terminal is that it runs in. I was able to get it to show all current names fully with a width of 164 cells. Though likely this should be wider, since the list is dyamic. Also a maximized terminal window on a 1080p screen with a font size of 10 is 238 cells wide.
With pwsh on Windows I was able to query the width using this:
(Get-Host).UI.RawUI.WindowSize

On Linux systems you could check this via $COLUMNS or better stty size.
Maybe there is a way to set a virtual terminal size for the process that you run dotnet new list in.

@kmoschcau, thanks for investigating this!
Yes, I noticed that it sets that dynamically. The workaround, as you have suggested, will probably be figuring out if we can set the virtual terminal size for the process that runs dotnet new list.
In the meantime, I will open a Github issue for the .NET team to provide the output as a json, which is supported for other commands.

The issue I opened for the .NET SDK
https://github.com/dotnet/sdk/issues/43679


Add new release that includes all()

v1.0.0 doesn't include the all method. Can you bump the version?

This repository seems to be defunct but this plugin is very useful.  Since @c-trimm has not touched it in 6 months I have made some updates and moved it to: https://github.com/bramski/moment-recur-js
Please revisit your issue there, thanks!

See: https://github.com/c-trimm/moment-recur/releases/tag/v1.0.1
I think this should include all().  But I'm not sure.  It's a cut from master so I believe it should be included.

Yes, it was added a while back, so the latest snapshot of master will contain it.


Add spooky_hash_v2_32 and spooky_hash_v2_64 Presto functions

This PR introduces two new functions spooky_hash_v2_32 and spooky_hash_v2_64 which are implemented as SpookyHashV2_32Function and SpookyHashV2_64Function respectively.
Note that we need to swap bytes in the Java implementation so we do the same here with folly::Endian::swap32/64. Velox also only supports little-endian platforms and SpookyHash requires changes for big endian platforms (at least C++ implementation) so it should be fine to swap.
I added unit tests to verify results, they were copied from Presto TestVarbinaryFunctions.java file. I also manually tested with some arbitrary values.

@aditi-pandit Can you review when you have time? Thanks.

@isadikov Welcome to Velox community. Take some time to review https://github.com/facebookincubator/velox/blob/main/CONTRIBUTING.md and https://github.com/facebookincubator/velox/blob/main/CODING_STYLE.md and adjust the code to following the coding standard. Also, please make sure to run the Fuzzer tests for the new functions and write documentation.

SpookyHash requires changes for big endian platforms

FYI, Velox doesn't support big endian platforms.

Presto does which could potentially result in a correctness issue depending on how the Java library for SpookyHash is written (I could not find the implementation online). I was simply trying to call out the implementation detail.

I have updated the description, thanks @mbasmanova!

Thank you for your help, @aditi-pandit! I will follow up on this and post the fuzzer results.

@isadikov Sounds like you have resolved the problem with the Fuzzer? Did you get help from @aditi-pandit ?
CC: @bikramSingh91

@mbasmanova Would you be able to help me with the fuzzer issue? I am trying the fuzzer on an Apple M1 laptop like this:
./_build/debug/velox/expression/tests/velox_expression_fuzzer_test --batch_size 10 --only spooky_hash_v2_32 --seed 654901148 --duration_sec=10 --logtostderr=1
The fuzzer runs fine for some time but eventually fails with
zsh: segmentation fault  ./_build/debug/velox/expression/tests/velox_expression_fuzzer_test  10 --only

I tried other functions such as sha256, week, from_unixtime and they all fail with the above error. Is there a way to work around this problem? Or is it a known issue?
@mbasmanova : I helped Ivan run the fuzzer binary in debug mode. He will step through the execution to find the bug.

@isadikov This issue might have been #3691 where if you use --only flag and have less than 10 functions specified in it, then it crashes at the end of the run while trying to log stats. #3691 has been merged so can you please rebase and try again.

@bikramSingh91 : Yes, indeed that was the crashing line. After we commented it the fuzzer ran successfully.

Thank you everyone for your help with troubleshooting the fuzzer issue. I have rebased my branch and have successfully run the fuzzer with:
make debug
./_build/debug/velox/expression/tests/velox_expression_fuzzer_test --only spooky_hash_v2_32,spooky_hash_v2_64 --seed 654 --duration_sec=120 --logtostderr=1

Output:
I20230116 10:00:36.181054 2787101 ExpressionFuzzer.cpp:877] ==============================> Started iteration 174614 (seed:<PHONE_NUMBER>)
I20230116 10:00:36.181321 2787101 ExpressionVerifier.cpp:80] Executing expression: spooky_hash_v2_32(spooky_hash_v2_64(spooky_hash_v2_64(Y8}saSGEDNE``)))
I20230116 10:00:36.181336 2787101 ExpressionVerifier.cpp:32] 0 vectors as input:
E20230116 10:00:36.181459 2787101 Exceptions.h:68] Line: /Users/ivansadikov/velox/velox/expression/ConstantExpr.cpp:219, Function:appendSqlLiteral, Expression:  Type not supported yet: VARBINARY, Source: USER, ErrorCode: UNSUPPORTED
E20230116 10:00:36.181632 2787101 Exceptions.h:68] Line: /Users/ivansadikov/velox/velox/expression/ConstantExpr.cpp:219, Function:appendSqlLiteral, Expression:  Type not supported yet: VARBINARY, Source: USER, ErrorCode: UNSUPPORTED
I20230116 10:00:36.181685 2787101 ExpressionVerifier.cpp:69] All results match.
I20230116 10:00:36.181702 2787101 ExpressionFuzzer.cpp:943] ==============================> Done with iteration 174614
I20230116 10:00:36.181726 2787101 ExpressionFuzzer.cpp:877] ==============================> Started iteration 174615 (seed: 635942518)
I20230116 10:00:36.181748 2787101 ExpressionVerifier.cpp:80] Executing expression: spooky_hash_v2_64(null)
I20230116 10:00:36.181763 2787101 ExpressionVerifier.cpp:32] 0 vectors as input:
I20230116 10:00:36.181882 2787101 ExpressionVerifier.cpp:69] All results match.
I20230116 10:00:36.181897 2787101 ExpressionFuzzer.cpp:943] ==============================> Done with iteration 174615
I20230116 10:00:36.181921 2787101 ExpressionFuzzer.cpp:823] ==============================> Top 2 by number of rows processed
I20230116 10:00:36.181939 2787101 ExpressionFuzzer.cpp:825] Format: functionName numTimesSelected proportionOfTimesSelected numProcessedRows
I20230116 10:00:36.181953 2787101 ExpressionFuzzer.cpp:829] spooky_hash_v2_32 175131 50.11% 4625351
I20230116 10:00:36.181972 2787101 ExpressionFuzzer.cpp:829] spooky_hash_v2_64 174349 49.89% 4574023
I20230116 10:00:36.181985 2787101 ExpressionFuzzer.cpp:835] ==============================> Bottom 2 by number of rows processed
I20230116 10:00:36.182004 2787101 ExpressionFuzzer.cpp:837] Format: functionName numTimesSelected proportionOfTimesSelected numProcessedRows
I20230116 10:00:36.182018 2787101 ExpressionFuzzer.cpp:842] spooky_hash_v2_64 174349 49.89% 4574023
I20230116 10:00:36.182034 2787101 ExpressionFuzzer.cpp:842] spooky_hash_v2_32 175131 50.11% 4625351
I20230116 10:00:36.182047 2787101 ExpressionFuzzer.cpp:855] ==============================> All stats sorted by number of times the function was chosen
I20230116 10:00:36.182061 2787101 ExpressionFuzzer.cpp:857] Format: functionName numTimesSelected proportionOfTimesSelected numProcessedRows
I20230116 10:00:36.182075 2787101 ExpressionFuzzer.cpp:861] spooky_hash_v2_32 175131 50.11% 4625351
I20230116 10:00:36.182090 2787101 ExpressionFuzzer.cpp:861] spooky_hash_v2_64 174349 49.89% 4574023
[==========] Running 0 tests from 0 test suites.
[==========] 0 tests from 0 test suites ran. (0 ms total)
[  PASSED  ] 0 tests.


Stream is buffering, even though I'm using hardware transcoding with an NVIDIA P2000

Using the unRAID docker defendore/pseudotv:latest
I am able to stream for about a minute before it begins to buffer. I do not have this problem when playing any of my other content. All of my content is h265.
Here are my current settings:
NVIDIA_VISIBLE_DEVICES set to my GPU-UUID, changed from the default of all
NVIDIA_DRIVER_CAPABILITIES set to all
Raw FFMPEG Arguments:
-threads 4
-ss STARTTIME
-t DURATION
-re
-i INPUTFILE
-map VIDEOSTREAM
-map AUDIOSTREAM
-c:v h264_nvenc
-c:a ac3
-ac 2
-ar 48000
-b:a 192k
-b:v 2500k
-s 1280x720
-r 30
-flags cgop+ilme
-sc_threshold<PHONE_NUMBER>
-minrate:v 2500k
-maxrate:v 2500k
-bufsize:v 200000k
-metadata service_provider="PseudoTV"
-metadata CHANNELNAME
-f mpegts
-output_ts_offset TSOFFSET
-muxdelay 0
-muxpreload 0
OUTPUTFILE

I'm on unraid and seeing the same - same gpu too
Looks like decode is working but encode isn't using the gpu


Problem with swapped user model

There is a problem with a User model that has been swapped.
I suppose the problem is because User is imported directly in the code, but instead should be imported with get_user_model function.
Traceback (most recent call last):
  File "/home/cyberbudy/Workspace/Envs/server-svJPilQU/lib/python3.6/site-packages/django_smoke_tests/tests.py", line 22, in setUpClass
    cls.smoke_user = User.objects.create_superuser(
  File "/home/cyberbudy/Workspace/Envs/server-svJPilQU/lib/python3.6/site-packages/django/db/models/manager.py", line 190, in __get__
    cls._meta.swapped,
AttributeError: Manager isn't available; 'auth.User' has been swapped for 'staff.User'

Thank you for reporting.
Good point, fixed in 0.4.1


Add support for Controls

LillyDAP does not support LDAP Controls yet, it just passes them verbatim.  The use is simply a matter of iteration, and perhaps the standardised OIDs could be collected in a perfect hash function.
Functionality that would be useful however, is filtering.  One should not pass influential instructions, such as the Proxied Authorization Control without spending attention to it.  In general, a filtering function on LDAP Controls would be prudent.  Whether an LDAP Control is critical might play a role in doing so.
In addition, one will want to check the presence of a given LDAP Control, and potentially its parsed value and maybe even whether it is critical.
Finally, one will want to send, or attach, an LDAP Control or list of LDAP Controls.  Doing this would ideally involve construction from a Quick DER class.

Perhaps a nice construct would be to use commands for every integer-numbered OID:

require presence [and value]
forbid presence [when it has value]
drop when present [if it has value]
add when not present, with given value
pass through when present [with given value]
replace when present, with given value
invoke a callback function, with given value

In addition, a callback might be made when a value is present.  So, the interesting information would map a control identifier to

command code (default initialiser 0 implies drop when present, regardless of value)
value, optional for some command codes as shown by [extra spec] above
callback function that returns alternate command code and [value]

All this could be combined into a union, much like the operations registry, which has a variant that lists comands by numbers, and another by name.

How to generate all this?
We might use gperf once more, and map OID values to table entries.  The table entries might specify, using the index derived by gperf:

oid in the LDAPOID form
criticality indicates desired critical flag values, or a don't care value
command to apply by default
value to use for the command when not overridden
packer for the data structure

Note that the packer also implies that we might use a packer and/or unpacker structure.  In fact we should reason what sort of values we want to use —be it dercursor[] or DER blob— in the various places.

Commands may be generalised in a number of behaviour aspects:

input may be required, forbidden, or optional
invalue may be any, matching, or mismatching
ifaction may add, remove, replace or pass
elseaction may add, remove, replace or pass

In terms of these, the commands specified above can be written as:

default is a special case (but might get its own values above)
require has input=required, invalue=any|matching, ifaction=pass, elseaction=pass
forbid has input=forbidden, invalue=any|matching, ifaction=pass, elseaction=pass
drop has input=required|optional, invalue=any|matching, ifaction=remove, elseaction=
add has input=forbidden|optional, invalue=any|matching, ifaction=add|replace, elseaction=
pass has input=optional, invalue=any, ifaction=pass, elseaction=pass
replace has input=optional, invalue=any, ifaction=replace, elseaction=replace


New Torrent Module does not work with Deluge

Environment
Docker
Version
0.6.0
Describe the problem
Even when configured currently. The Torrent Module is stuck on loading when deluge is configured correctly.
Additional info
Screenshot
Please tick the boxes

[X] You've read the docs
[X] You've checked for duplicate issues
[X] You've tried to debug yourself

@LarveyOfficial Did you close it because it finally did work for you? 😅

@LarveyOfficial Did you close it because it finally did work for you? 😅

Yeah lol. Didn't realize it would be like that when no torrents are loading. Although it seems the download speed module isn't updating correctly.

 Didn't realize it would be like that when no torrents are loading. Although it seems the download speed module isn't updating correctly.

What do you mean by updating correctly ?

 Didn't realize it would be like that when no torrents are loading. Although it seems the download speed module isn't updating correctly.

What do you mean by updating correctly ?

It currently states 0b/s on both download and upload. But the torrents themselves state they go at around 3MB/s

@LarveyOfficial Did you close it because it finally did work for you? 😅

Yeah lol. Didn't realize it would be like that when no torrents are loading. Although it seems the download speed module isn't updating correctly.

What do you mean by updating correctly ?

It currently states 0b/s on both download and upload. But the torrents themselves state they go at around 3MB/s

Okay I'll need to test it out. I might have forgotten to add the deluge torrents in the sum for the total up/down graph…

Sounds good!


"Select your existing gist" page not working

I have just installed the extension on vscode 1.43 on Windows 10 1903.
I am presented with the "Welcome to Settings Synch" page as described in the plugin's info page.
I have clicked the button here to "LOGIN WITH GITHUB", whereupon my browser shows the Success page.
It is here that the problem starts. The "Select Your Existing Gist" page does not list existing gists, nor does it present the link to "skip"

Now if I try to upload settings, I am prompted if I would like to overwrite existing gists with a force synch.
There are existing gists on my GitHub, from a different setup, that I do not wish to overwrite.
I can only assume that the prompt is indicating that it othe plgin has somehow automatically selected the existing gist and will overwrite it if I grant it permission to proceed... but there is no other option to select other gists or create a new one (create a new one is the action I want here).
How can I fix this?
This is blocking me from using the extensions at all 😢 , which is unfortunate as I have used it previously and find it very useful

Possibly related to #1199, #1201, #1208

I'm also having this issue. If you want to use an existing gist with your settings, there is a workaround: after installing 'code-settings-syncs' and getting that empty page to select an existing sync,  go into vscode settings, search for sync gist, and put the ID of the gist that you want to use. Now you just need to do a Sync: Download Settings and you are good to go.

I am also facing the same issue. I cannot create a new gist.

@andreibosco Thank you, your solution helped!
In fact I just hit upload settings and it created a new gist, even though a toast alert warned me that it would overwrite existing settings (I made sure I had all settings gists backed up beforehand because of this alert though).

@andreibosco THANK YOU.
It seems like when you try to input the Gist ID via Advanced Settings in Settings Sync, it doesn't work. However, if you go into VS Code's settings, search for Sync Gist, paste the Gist ID and then do a Sync: Download Settings it will work perfectly fine.

cc : @n4nn31355


Information about username/password for Chart is missed

What happened?
Docs didn't have information about username/password for Chart, but it's exist.
I needed to fetch Chart from private registry and I used upgradeArgs (and other *Args) with --username/--password arguments for that, but I recently found, that the credentials configs exist.
What did you expect to happen instead?
Docs should have this information, I think.
How can we reproduce the bug? (as minimally and precisely as possible)
See the latest docs for Chart.
Local Environment:

DevSpace Version: devspace version 5.10.0
Operating System: linux
Deployment method: helm

Kubernetes Cluster:

Cloud Provider: baremetal
Kubernetes Version:

Client Version: version.Info{Major:"1", Minor:"20", GitVersion:"v1.20.2", GitCommit:"faecb196815e248d3ecfb03c680a4507229c2a56", GitTreeState:"archive", BuildDate:"2021-01-13T22:07:54Z", GoVersion:"go1.15.6", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"20", GitVersion:"v1.20.2", GitCommit:"faecb196815e248d3ecfb03c680a4507229c2a56", GitTreeState:"clean", BuildDate:"2021-01-13T13:20:00Z", GoVersion:"go1.15.5", Compiler:"gc", Platform:"linux/amd64"}

/kind bug

@saruman9 thanks for creating this issue! Yes you are correct we should add this to our docs


Add remote-files capability to remote-client plugin

Description of Changes

[X] Wrote at least one-line docstrings (for any new functions)
[ ] Added unit test(s) covering the changes (if testable)

Add remote files system API using fsspec for the remote-client plugin.
Use a mixture of rest/websocket to comunicate with spyder-remote-services and
provide a filesystem-like API to control remote file system.
Affirmation
By submitting this Pull Request or typing my (user)name below,
I affirm the Developer Certificate of Origin
with respect to all commits and content included in this PR,
and understand I am releasing the same under Spyder's MIT (Expat) license.

I certify the above statement is true and correct: @hlouzada

Hello @hlouzada! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file spyder/plugins/remoteclient/api/jupyterhub/files.py:

Line 34:80: E501 line too long (82 > 79 characters)
Line 78:80: E501 line too long (80 > 79 characters)
Line 79:80: E501 line too long (80 > 79 characters)
Line 101:13: E722 do not use bare 'except'
Line 116:80: E501 line too long (83 > 79 characters)
Line 124:1: W293 blank line contains whitespace
Line 131:1: E302 expected 2 blank lines, found 1


Build editable pop-up component in Prismic

What is it and who's it for?
Making our Popup dialog component editable and able to be turned on/off in Prismic https://cardigan.wellcomecollection.org/?path=/story/components--popupdialog
This is for us - experience, editorial, marketing, so we can attract users' attention for surveys, unmoderated research, etc.
User story
As a Prismic user
I need to be able to add and take down a popup component
So that we can gather information from users via surveys, remote tests, etc on external sites.
Implementation
Component has these editable parts:

Acceptance criteria

[ ] Prismic users can show/hide component in Prismic (similar to GlobalAlert)
[ ] Prismic users can edit all parts as shown in screenshots

Not in scope now:

Adding to specific pages
Colour or icon customisation

Dupe of #5628


Instant internal error: Attestation required

Instant filure of attestation.
According to my monitoring? there were no problems at hardware or with connection. But 21st of March at 17:40:57 UTC I had first "err":"runtime: internal error: attestation required" (file sapphire_logs...). At 18:00:09 it was registered.
23.03 at the morning it wasn't responding. Control status was not available.
I restarted it and got other errors (file sapphire_restart) at 23st of March 23 08:43:33.
Second time 08:43:59
My node is pruned for 2 weeks.
sapphire_logs_23_03.txt
sapphire_restart.txt

This does not seem specific to Sapphire, but rather it has something to do with remote attestation failing. Initial logs indicate aesmd reporting a parameter error while obtaining a quote, was there recently an aesmd service update? After the restart the quote seemed to have been successfully generated.
In any case, can you also provide a oasis-node control status output of the node that is currently running?


Eliminate mutable global state in AbstractLoggingSpy

This is the second commit from https://github.com/mvndaemon/mvnd/pull/285, simplified and without renaming and moving AbstractLoggingSpy so that it is easier to follow what it does. Could you please review, @gnodet ?

We're loosing the ability to configure the appender, but I don't think this is a problem, so I'm ok with the changes.

We're loosing the ability to configure the appender, but I don't think this is a problem, so I'm ok with the changes.

We're loosing the ability to configure the appender, but I don't think this is a problem, so I'm ok with the changes.

+1 I do not think we need it.

We're loosing the ability to configure the appender, but I don't think this is a problem, so I'm ok with the changes.

+1 I do not think we need it.