Rewrite BPF performance YAML to build and test on all platforms

Add support for using the reusable build yaml from the ebpf-for-windows repo to build and test eBPF.

Looks like it crashed the lab machine?

I assume this is going to leave eBPF installed now? Do we need to manually clean this up now?

@nibanks Is there a mechanism to upload dumps from this machine? It crashing is unexpected and it would be great to be able to triage it.
Note:
This is the largest scale eBPF tests we have run to date.

OK, got the dump. It appears as if this is related to the VM having 80 cores. Somewhere eBPF goes wrong if we have > 64 cores...

This PR is blocked until https://github.com/microsoft/ebpf-for-windows/issues/3270 is fixed.

This PR is blocked until microsoft/ebpf-for-windows#3270 is fixed.

Fix is merged.

Moving back to draft as the lab run is still failing.

Lab machine was still running eBPF built from commit id a19c39f8c7b891e2e6533adc1bfe0c8008906e35 which still has the bug. For some reason it seems to have fails to uninstall the old version.

Blocked on some version of #73 and #74.

Removed blocked label as it appears as if this now correctly cleans up the runner.


feat(cache): introduce tiered cache abstraction

I hereby agree to the terms of the Singularity Data, Inc. Contributor License Agreement.
Changes:

Introduce TieredCache and related abstractions, to unify underlying tiered cache implementation on various targets (non-linux doesn't support file cache).
Refactor file cache value, introduce TieredCacheValue trait to support encode/decode only on demand.
Remove unused Filter in the file cache system.

Checklist

[x] I have written necessary rustdoc comments
[x] I have added necessary unit tests and integration tests
[x] All checks passed in ./risedev check (or alias, ./risedev c)

Refer to a related PR or issue link (optional)
#198
#4050

@wenym1 PTAL


cannot load such file -- OAuthApplicationClient

Hey guys,
I'm new to RoR and I'm trying to get this API to work. However, I'm having an issue when calling the library as I get this error:
pokitdok-ruby-0.9.1/lib/pokitdok.rb:14:in `require': cannot load such file -- OAuthApplicationClient (LoadError)
My setup is:
rails (5.0.2)
Ruby 2.3.0
pokitdok-ruby (0.9.1)
dotenv (2.2.0)
dotenv-rails (2.2.0)
I must admit that I am trying to use it from a single .rb file that contains the following code:
require 'pokitdok'
require 'dotenv'
Dotenv.load("config.env")

client_id = ENV["POKITDOK_CLIENT_ID"]
client_secret = ENV["POKITDOK_CLIENT_SECRET"]
pd = PokitDok::PokitDok.new(client_id, client_secret)

puts pd.plans({state: "PA"})

Any ideas where to start?

Never mind- I figured out why this wasn't working. I had forgotten to add this gem to the Gemfile of my project. Thanks!


EUR Region not supported.

I first tried with 1.4E(I was on that version because to install 4swordhax) and got unknown console region, updated to 1.4.5E and got unsupported console region. Did I do anything wrong?
Here is the 1.4.5E nand.bin(In a .rar file): https://drive.google.com/open?id=1Ov_QoPQNEQ9YYr4-8jK2JOO9oyV53Ru8

Your launcher folder was uppercased, don't know if that's due 4swordhax, but that's not normal. Fixed in a4423b70ca21ac985a905dc501c4917c464622a6


CNAME file points to

CNAME points to tutorials.projectpythia.org. Is this file doing anything? Should it point to cookbooks.projectpythia.org? Pinging @kmpaul because you edited this file.

I believe that is a remnant from when this repo was a fork of the tutorials repo. Yes. It should point to the cookbooks url.


converted notebook contains a part of raw notebook

I converted the attached notebook as part of a sphinx build and got the attached html.  As you can see there is a problem: the end of the html has a load of raw stuff from the nb printed out.
When I created the notebook, ran it and saved it I did not see this problem.  Then I shut the notebook, reloaded it, ran it and saved again.  At that point the error appeared.  The part of the notebook at which the raw stuff begins starts after the string "Export to plot.ly" and around that point tere are a lot of escaped "s.  But that is as far as I got diagnosing the problem.
nbsphinx (0.3.1)
nbconvert (5.3.1)
Sphinx (1.7.0)
reproduce_nbconvert_bug.zip

What happens if you use nbconvert to convert your notebook to HTML?

Yes the problem exists there, I'll raise an issue with them.
reproduce_plotly_err.html.zip

For reference, this is the issue created by @abchenson: https://github.com/jupyter/nbconvert/issues/802.

Alternatively, this should be fixed by #611.


file upload is broken and the website is unusable

the website where the file is uploaded requires premium and if you do not have it and if it's bugged for a second, then it'll ask you to wait for 1 hour then 2 hours after that for no reason, and then a full day and the cycle repeats, there are sooo many normal, non-premium, or just not-so-broken uploading platforms, for god's sake, please upload it somewhere else.

if we could get a mirror or just it release via github thatd be great

There is a new release on GitHub now.


EOFError with 3gp

Steps to reproduce

(How do you make the issue happen? Does it happen every time you try it?)
(Make sure to go into as much detail as needed to reproduce the issue. Posting your code here can help us resolve the problem much faster!)
(If there are any files, like audio recordings, don't forget to include them.)

Expected behaviour
(What did you expect to happen?)
Actual behaviour
(What happened instead? How is it different from what you expected?)
(If the library threw an exception, paste the full stack trace here)

System information
(Delete all the statements that don't apply.)
My system is . (For example, "Ubuntu 16.04 LTS x64", "Windows 10 x64", or "macOS Sierra".)
My Python version is . (You can check this by running python -V.)
My SpeechRecognition library version is . (You can check this by running python -c "import speech_recognition as sr;print(sr.__version__)".)
My PyAudio library version is  / I don't have PyAudio installed. (You can check this by running python -c "import pyaudio as p;print(p.__version__)".)
I installed PocketSphinx from . (For example, from the Debian repositories, from Homebrew, or from the source code.)

I don't know whether this is one of the supported formats but I get this when trying to transcribe a 3gp file produced by Android device. The problem could be also that I am not receiving the file correctly. I don't know.
Traceback (most recent call last):   File "server.py", line 57, in <module>     data = getTextFromAudio()   File "server.py", line 12, in getTextFromAudio     with sr.AudioFile(AUDIO_FILE) as source:   File "D:\third year\robert walters\server\speech_recognition\__init__.py", line 221, in __enter__     self.audio_reader = aifc.open(aiff_file, "rb")   File "C:\Program Files\Anaconda2\lib\aifc.py", line 952, in open     return Aifc_read(f)   File "C:\Program Files\Anaconda2\lib\aifc.py", line 347, in __init__     self.initfp(f)   File "C:\Program Files\Anaconda2\lib\aifc.py", line 298, in initfp     chunk = Chunk(file)   File "C:\Program Files\Anaconda2\lib\chunk.py", line 63, in __init__     raise EOFError EOFError

Hi @ndy1g14,
3gp audio is not supported. As the AudioFile documentation says, only WAV/AIFF/FLAC audio is supported - this is what we can support without adding too many dependencies.
You can convert your 3gp audio to WAV by running ffmpeg -i input.3gp output.wav, if you have the FFmpeg command line tools installed.


Is the test code wrong?

https://github.com/omisego/plasma-mvp/blob/18df4c1812b4da004f4ca19bce08121f96ecf59d/plasma_core/utils/transactions.py#L5-L6
https://github.com/omisego/plasma-mvp/blob/18df4c1812b4da004f4ca19bce08121f96ecf59d/plasma_core/utils/transactions.py#L16-L17
according to the function utxo_encode_id we can get that
utxo_id = blknum *<PHONE_NUMBER> + txindex * 10000 + oindex

I suppose that the txindex AND oindex in a deposit MUST be zero. so the utxo_id should equal to blknum *<PHONE_NUMBER>. what i see in the tests code is utxo_id = blknum *<PHONE_NUMBER> + 1, therefor i think the tests codes is wrong.
https://github.com/omisego/plasma-mvp/blob/18df4c1812b4da004f4ca19bce08121f96ecf59d/tests/root_chain/contracts/root_chain/test_root_chain.py#L149
Is it should be something like below?
- utxo_pos1 = root_chain.getDepositBlock() *<PHONE_NUMBER> + 1
+ utxo_pos1 = root_chain.getDepositBlock() *<PHONE_NUMBER>

Commit https://github.com/omisego/plasma-mvp/pull/189/commits/8e8f093f9231b9ac942d5c105fc040f8918b2af6

Yeah these tests need to be heavily refactored.

Opening a PR with some small changes to address this issue in a minute. Thank you!

👍


Multiple repos: Graceful exit if sed is an old version

Some scripts rely on a relatively recent version of sed, in particular version-sync.sh which is in all pipeline- repos, e.g. pipeline-sec-filings/scripts/version-sync.sh. This script is known to fail for older versions of sed, for sure <4.3.
version-sync.sh should fail gracefully if sed is not >=4.8.
Definition of Done

version-sync.sh is updated across repos to print a nice error message and fail if sed is an unsupported version
Other scripts are checked for compat issues

Hi @gokullan , for sure, thanks for volunteering!

Hey, apologies for the delay. I was held up with some work. Will try to make the changes by tomorrow or EOD today.

Hi, @cragwolfe! I have made a pull request to the pipeline-sec-fillings repository here. Do check and let me know if that is okay. If so, I will proceed to do the other repositories.

Thank you, @gokullan !
Another spot that could use the change: https://github.com/Unstructured-IO/pipeline-template/blob/main/{{ cookiecutter.repo_name }}/scripts/version-sync.sh , since this is the template repo to create new repos. That should resolve this issue! 🙏

No problem @cragwolfe! Made the changes just now. Nice working with you :)

Nice working with you too @gokullan !


Importing flask.ext.bcrypt is deprecated, use flask_bcrypt instead

In index.py, import from flask_bcrypt instead of flask.ext.bcrypt
I made a pull request.

Thanks -- merged https://github.com/dternyak/React-Redux-Flask/pull/30

nice one,had the same problem only to be solved by getting  rid of the .ext thing


pull request for e2e test at 12/07/2016 02:56:02

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Open projects and templates not working

Hello,
I just installed the plugin and perform the exact steps in the docs and the open project button is failing with the below error
TypeError: t.loadAll is not a function. (In 't.loadAll((function(t){e({sites:t,loading:!1})}),(function(e){return console.log("Error",e)}))', 't.loadAll' is undefined)
my configuration
`var editor = grapesjs.init({
height: '100%',
showOffsets: 1,
noticeOnUnload: 0,
storageManager: { autoload: 0 },
container: '#gjs',
fromElement: true,
pageManager: true,
    plugins: ['gjs-preset-webpage','grapesjs-project-manager','gjs-aviary'],
    pluginsOpts: {
      'gjs-preset-webpage': {},
      'gjs-aviary': {/* ...options */}
    }
  });

  // Running commands from panels
  const pn = editor.Panels;
  pn.addButton('options', {
      id: 'open-templates',
      className: 'fa fa-folder-o',
      attributes: {
          title: 'Open projects and templates'
      },
      command: 'open-templates', //Open modal
  });
  pn.addButton('views', {
      id: 'open-pages',
      className: 'fa fa-file-o',
      attributes: {
          title: 'Take Screenshot'
      },
      command: 'open-pages',
      togglable: false
  });`

screenshots of the error are attached

Error was just because I didn't use store manager
By using store manager error should be fixed


Consume the dep binary from the Paketo dep-server

Per https://github.com/paketo-buildpacks/dep-server/issues/45, we should start consuming the dep dependency from the dep-server (See https://api.deps.paketo.io/v1/dependency?name=dep for dependency metadata) instead of the https://buildpacks.cloudfoundry.org/dependencies/dep/... location we currently get the dependencies from.
This will make the dependency publishing/consumption process more transparent than the process we use for the dependencies available via the dependency-builds pipeline.
We have already done this switch-over in the Node Engine and Yarn Buildpacks. The outline of what this work will entail can be found in the dep-server issue linked at the top.

This is blocked until the dep server supports the dep dependency. Currently, hitting the dependency API endpoint (https://api.deps.paketo.io/v1/dependency?name=dep) returns an error.

@fg-j I don't actually think that the dep dependency is in the dependency builds pipeline either (probably because it's deprecated by Golang in favour of go modules). It looks like the version of the dependency in the buildpack.toml has not been updated in 12 months, and was last updated by hand. We probably don't need this issue, since we have no reason to poll for new dep versions in the dep-server

The golang/dep repo has been archived and there will be no future releases. Support for dep only exists as a legacy support mechanism and will be removed once go.mod becomes the only package management mechanism.

In that case, it sounds like we don't actually care to consume dep from the dep-server. Closing for now. Feel free to re-open if I've got the wrong idea here.


Gift Entry: Add New Payment or Update This Opportunity Cause Script-Thrown Exception If NPSP Data Import Batch field is included in Opportunity or Payment Field Mappings

When a customer reviews potential matching donations for a Contact or Account using the Review Donations Modal in Gift Entry and they click either the Add New Payment or Update this Opportunity link,  the transaction fails and the customer sees a "Script-Thrown Exception" error.

Root Cause
We call the selectedDonationOrPaymentRecord() method in geFormRenderer.js. We then call setSelectedDonationInFormState() which next calls resetDonationAndPaymentImportedFields(), which wipes the fields associated with the Opportunity/Payment field mappings. And then we update the form state. If the NPSP Data Import Batch (NPSP_Data_Import_Batch__c ) field is included within the Opportunity or Payment field mappings, we clear that field. This causes issues with SOQL queries later on. Specifically, the Exception is ultimately occurring in the BGE_DataImportBatchEntry_CTRL class's runSingleDryRun() method. When we call getDataImportRecordsByIds() on line 293, 0 records are returned because the Data Import record is no longer associated with the batch. Because 0 records are returned in getDataImportRecordsByIds(), this leads to a "List Index Out of Bounds: 0" Error which triggers the catch(){} and throws the AuraHandledException (ultimately surfaced to customer as “Script-thrown Exception”.
Steps to Repeat

Create Lookup Relationship field to NPSP Data Import Batch object on Opportunity object.
In NPSP Settings, enable Advanced Mapping and Gift Entry
In Advanced Mapping settings, go to the Opportunity Object Mapping and add a Field Mapping for NPSP Data Import Batch field on NPSP Data Import object to the new Opportunity Lookup Field for NPSP Data Import Batch.
Create a Contact
Create an Opportunity for that Contact and set the Stage to Prospecting (or anything other than Closed Won or Closed Lost).
Go to the Gift Entry Tab.
Clone the default Template and make sure you add the NPSP Data Import Batch field to the form (this isn’t required, but it will show you that it’s initially set and that we clear it…).
Create a new Batch using the new Template.

Select Contact1 as the Donor Type.
Select your Contact in the Existing Donor Contact field.
Click the Review Donations link at the top of the form.
Click the option to Add New Payment.
Click the Save & Enter New Gift button
The error will appear.

Workaround
Add the NPSP Data Import Batch field to the Template and select it as a form field. If you use the option to add a new Payment or update an existing Opportunity, manually fill in that field again.

W-8871366


bla

int[] a = [5];

:shipit:

Header
Header
Header

Cell
Cell
Cell

Cell
Cell
Cell

Details

hidden under explode menu
hidden under explode menu
hidden under explode menu
hidden under explode menu

:1st_place_medal:


Issue with /docs/user-guide/production-pods/

This is a...

[ ] Feature Request
[x ] Bug Report

Problem:
Link to Resource QoS: https://github.com/kubernetes/kubernetes/blob/master/docs/proposals/resource-qos.md  leads to 404 error.
Proposed Solution:
Probably change broken link to this one:
https://github.com/kubernetes/kubernetes/blob/master/docs/design/resource-qos.md
Pull request: https://github.com/kubernetes/kubernetes.github.io/pull/1483
Page to Update:
http://kubernetes.io/docs/user-guide/production-pods/

This page will soon be replaced by a collection of Task pages.


Fix issue 'Index out of range #140'

get_name() can return an empty list, see comment https://github.com/myint/cppclean/issues/140#issuecomment-520799414

This PR made it usable on my repo. +1 Please merge it in soon @myint


Get Firmware Version and Serial Number

Hello,
I missed the function to obtain version number and serial number from the Stream Deck, which does have the original software. I figured it out, and this works on my Stream Deck:
(Currently I can't do a pull request, but here is the code) 😃
/**
 * Get firmware version from Stream Deck
 */
getFirmwareVersion() {
	return this.device.getFeatureReport(4, 17).slice(5).map(function(val){
		return String.fromCharCode(val);
	}).join('');
}

/**
 * Get serial number from Stream Deck
 */
getSerialNumber() {
	return this.device.getFeatureReport(3, 17).slice(5).map(function(val){
		return String.fromCharCode(val);
	}).join('');
}

Nice, thanks for this! I'm a bit busy currently so you might be able to get around to opening a PR before I can.

This has been done and will be in the next release


Language problem

Checklist:

[ yes] I updated to the latest version available
[ yes] I cleared the cache of my browser

Release with the issue:
not sure
Last working release (if known):
Browser and Operating System:
mac os all browsers, android all browsers and HAS App on android
 all browsers up to date (FF, CHROME, SAFARI, BRAVE)
Description of problem:
when turning icons: false, the shown text is not in German as set in my system. Setting Language: german does nothing. Clicking on the text, opens forecast etc, all in default language (german). So problem is with the text that replaces the icons.

This should be german.

Javascript errors shown in the web inspector (if applicable):

Additional information:
Very strange: On an old Android tablet, running 9.1, the german text appears in the HAS-Android App. Not in the browsers. All logins with the same user and password.

Good morning, I also configured for german language. The day is correct, but it states "rainy" instead of "regnerisch". Other weather cards show "Regnerisch".

Hello,
Same issue with French Language.  ;-)

Same problem here, problem still exists

Apparently this has been fixed (at least for pt-BR), just tested and it shows with that language:

Added manually language: de and it seemed to work:

As well as language: fr:

I believe we can close this issue @decompil3d


Add ability to skip already downloaded files

Currently, I've run into no particular issues, other than at times random downloads stop and, it's kind of annoying when mass downloading, it doesn't pick up from where you left off so it basically restarts from the list, so would it be possible for a feature basically asking whether you'd like to replace the existing files or not to be implemented?

Added in https://github.com/weespin/KhinsiderDownloader/commit/7bdb84f2f9d4eeda3309322344faceab59ff2bbd


chore(test): move hybrid/async_spec off of the control flow

@cnishina , could you take a look at this PR, please

Reference #4995


Incorrect overflowing text

Example code:
import 'package:flutter/material.dart';
import 'package:float_column/float_column.dart';

const String text =
    '''Once upon a time, in a small town located in the heart of America, there was a young girl named Lily.
She was the daughter of a famous and wealthy businessman, and had everything that anyone could ever want.
However, despite her privileged upbringing, Lily was secretly unhappy and longed for something more.
One day, while browsing in a local bookstore, she came across a dusty old book that caught her eye.
It was a collection of short stories written by an acclaimed author, and Lily knew that she had to have it.
As she reached for the book, she noticed a young man standing beside her, also looking at the same book.
He was handsome and charming, with a mischievous glint in his eye.
"Looks like we both have a good taste in literature," he said, flashing a smile at her.
Lily felt her heart skip a beat. She had never experienced such strong feelings before.
They began to talk and discovered they shared a love of books and a deep sense of adventure.
They decided to go on a spontaneous road trip through the country, exploring new sights and creating incredible memories.
''';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(
      debugShowCheckedModeBanner: false,
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatelessWidget {
  const MyHomePage({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: FloatColumn(
        children: [
          Floatable(
              float: FCFloat.start,
              padding: const EdgeInsets.only(right: 5.0),
              child: Image.network(
                  'https://flutter.github.io/assets-for-api-docs/assets/widgets/rich_text.png')),
          RichText(
            text: const TextSpan(text: text),
            maxLines: 8,
            overflow: TextOverflow.ellipsis,
          ),
        ],
      ),
    );
  }
}

float_column 1.3.3:

float_column 2.0.0:

@orzogc, thanks for reporting this bug. It is now fixed in version 2.0.1. Let me know if you still see problems.

It was fixed, thanks!


Connection to MySQL Server not working

Generated error in garrysmod/data
Mon Nov 1 15:51:15 2021 - [LibK] Connection failed to Update(pointsh@<IP_ADDRESS>:6633): SSL connection error: unknown error number
Mon Nov 1 15:51:15 2021 - [LibK] Connection failed to LibK(pointsh@<IP_ADDRESS>:6633): SSL connection error: unknown error number
I have libk pac3 pointshop2 and mysqloo installed and libk seems to be able to connect to my mysql server but this error stands in the way.
It's the latest Server version: 8.0.27-0ubuntu<IP_ADDRESS> (Ubuntu)
I'm not using ssl.
libk_error.txt

I'm gonna try mariadb on ubuntu 20 now


Rya-128 trigger service to Kafka

Description
Added an additional exporter that sends a message thru Kafka whenever a PreComputed Join exports new results.
Tests
yep, several new tests
Links
Jira
Checklist

[ ] Code Review
[ ] Squash Commits

People To Reivew

asfbot built

asfbot build

asfbot build

asfbot build

hey @DLotts can you fix this conflict so we can see if it builds?

asfbot build

merged


add creating TF configs by init command

@tj, it's a bit different that you code. Let me know what do you think.
TODO:

[ ] don't validate role if TF infra

There is still no env switch support. I will make another PR for that.

Still not sure if using terraform output is fine.

LGTM at a glance. Shelling out to terraform for the role each time could probably be replaced by reading from .terraform/terraform.tfstate

Is it stored locally when using remote state?

Yep it's still cached locally

well it's easier exec terraform output :) and it is done only once per apex ... call

true true, if it becomes noticeably slow we can change


Microsoft.AspNetCore.WebHooks.Receivers.AzureContainerRegistry doens't open in Visual Studio 2017

I am trying to get everything running in VS2017 but when opening the solution it wants to migrate the Microsoft.AspNetCore.WebHooks.Receivers.AzureContainerRegistry. If I do this it's an empty project.
I don't see anything weird inside the project file what can cause this and some help would be apricated!
As mentioned earlier I got a working port to core from the orginal webhook sender packages as they existed for the .Net Framework and was working on updating my fork to contain the latest changes from here

@davesmits thanks for reporting this issue. Unfortunately, it does not reproduce for me.
In some cases, it's necessary to run at least the initial part of a command line build (.\build.cmd /t:restore) before opening Visual Studio. This ensures the correct SDK is available.
If that doesn't work, heed the warnings from dotnet-install at the top of the build's output about changing your Path environment variable.
Please let us know your success with the above suggestions.

your first suggestion solved the issue


cant start or do anything after installing 1.4.1

i get after downloading 1.4.1 and starting it:
FATA[0000] Error response from daemon: Cannot start container 094f7f60a6facc55bfe5f1bf9bbc1edb5fa04eeb37292f1af60192a66ec333cd: fork/exec /var/lib/docker/init/dockerinit-1.4.1: invalid argument

i think this can be closed because the server where the kernel was 3.10 from the same provider as in #6944 so it was not the kernel version the problem it was the abilitys compiled into it.


local CMS

I am unable to get a new page 'contact' to load in local CMS.

@doakheggeness Did you registered your Contact page Template? like:
import AboutPagePreview from './preview-templates/AboutPagePreview'
And
CMS.registerPreviewTemplate('about', AboutPagePreview)
In the cms.js file?

@doakheggeness we have a community chat where you can get realtime help with Netlify CMS implementation, you can find it at https://gitter.im/netlify/netlifycms.


Allow Color, File & Folder Dialogs to be hosted in Fragments

The ColorDialog, FileChooserDialog & FolderChooserDialog can now be
hosted in a Fragment (rather than just an Activity) and the Fragment
itself can implement the Dialog's callbacks.
Note: The Dialog.show() method now requires the FragmentManager to be
passed in from the caller, as we can no longer cast the Context to an
Activity to get a reference to the FragmentManager.
This is a relatively straight-forward change that gives us flexibility to handle the dialog callbacks from a fragment rather than being forced to implement the callback by the parent activity.

This PR broke compatibility, there should have been a major version bump to <IP_ADDRESS> or something if you are attempting to follow semantic versioning


speech_token_size + 3

in https://github.com/FunAudioLLM/CosyVoice/blob/main/cosyvoice/llm/llm.py#L262
the input_size of llm_decoder is speech_token_size + 3, why plus 3?

看一下report


Added a section containing some of the most known Game Dev Communities

Why do you think the link is worth adding on this list?
As asked in issue #300 I included some of the most known game dev communities, some of them may contain many resources on YT that could hep newcomer devs to learn.
Does this project has any License?
No.

@ellisonleao  do you think this pr can me merged?

sure! no problem will do today 😊

@ellisonleao  done the change, please if you have any further requests don't hesitate to ask 😊


Include dynamically generated headers to the table of contents

Basically a continuation of issue 96 as a separate feature request.
Old old: (3 version ago I think, without background renderer)

New:

Note for future: This should be implemented as a default-disabled option in the settings. The current behavior is intended.

This has been added in 1.8.0! :)
If you find any issues please create a new issue
Thanks!


Use ExampleGroup.descendant_filtered_examples to count example to be run

RSpec.world.example_count returns smaller number for this pull request's spec/rspec/core/world_spec.rb case.
RSpec.world.example_count is used in create StartNotification.
When RSpec.world.example_count returns smaller number than actual examples count, I've got fuubar reporter warning like below:

WARNING: Your progress bar is currently at 6 out of 6 and cannot be incremented. In v2.0.0 this will become a ProgressBar::InvalidProgressError.
6/6 |====================================== 100 ======================================>| Time: 00:00:03

I like this. Could you fix up the failing tests? I think we can pretty easily merge this.

Thx for reply, I'll fix up the failing tests 💪

Can you provide an small example repo that demonstrates the issue? I'm as confused as @myronmarston appears to be about what the issue actually is.

Sorry for confusing, I'll create a small example repo🔧

closing as stale since we're not sure how to repro, but please do feel free to reopen with more information!


updated reference version of Microsoft.BotFramework.Orchestrator

Fixes #
Description

Specific Changes

Testing

@cleemullins , could you please review this change? This is introducing nuget.config to the solution, which was discussed previously when Orchestrator was onboarded.

@johnataylor, could you review? Thanks!!


Use the title attribute rather than a custom label for config checkbox

Currently locale-plugin uses a custom label for the "Ignore browser preference..." checkbox, this PR updates that so it uses the checkbox title attribute instead.
This is important as a future Jenkins update will change how checkboxes appear, currently this plugin appears misaligned on that update.
Before

After

Works the same as before on current Jenkins:

[x] Make sure you are opening from a topic/feature/bugfix branch (right side) and not your main branch!
[x] Ensure that the pull request title represents the desired changelog entry
[x] Please describe what you did
[x] Link to relevant issues in GitHub or Jira
[x] Link to relevant pull requests, esp. upstream and downstream changes
[x] Ensure you have provided tests - that demonstrates feature works or fixes the issue

cc @oleg-nenashev who is the only maintainer, although it is up for adoption so anyone could pick it up


pull request for e2e test at 12/01/2016 08:56:05

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


K8SPXC-534 fix: no servers in hostgroup X during statefulset update

https://jira.percona.com/browse/K8SPXC-534
Implement a method that waits until pod will be present in hostgroups writer_hostgroup and reader_hostgroup

Test name
Status

scaling
passed

upgrade-haproxy
passed

recreate
passed

haproxy
failed

big-data
passed

storage
passed

scheduled-backup
passed

scaling-proxysql
passed

self-healing
passed

self-healing-chaos
failed

restore-to-encrypted-cluster
passed

security-context
passed

upgrade-proxysql
failed

self-healing-advanced
passed

self-healing-advanced-chaos
failed

init-deploy
passed

operator-self-healing
passed

operator-self-healing-chaos
failed

demand-backup
passed

limits
passed

monitoring-2-0
passed

affinity
passed

smart-update
passed

one-pod
passed

pitr
passed

auto-tuning
passed

proxysql-sidecar-res-limits
passed

users
failed

demand-backup-encrypted-with-tls
passed

upgrade-consistency
passed

commit: https://github.com/percona/percona-xtradb-cluster-operator/pull/1068/commits/f2cc337993e174ccebf40d00174a5a200cd6bcba
image: perconalab/percona-xtradb-cluster-operator:PR-1068-f2cc3379

Test name
Status

haproxy
failed

storage
passed

big-data
passed

recreate
passed

upgrade-haproxy
passed

scaling
passed

scheduled-backup
passed

scaling-proxysql
passed

self-healing
passed

self-healing-chaos
failed

restore-to-encrypted-cluster
passed

security-context
passed

upgrade-proxysql
passed

self-healing-advanced
passed

self-healing-advanced-chaos
failed

init-deploy
passed

operator-self-healing
passed

operator-self-healing-chaos
failed

demand-backup
passed

limits
passed

smart-update
passed

monitoring-2-0
passed

affinity
passed

one-pod
passed

auto-tuning
passed

pitr
passed

proxysql-sidecar-res-limits
passed

users
passed

upgrade-consistency
passed

demand-backup-encrypted-with-tls
passed

tls-issue-self
passed

tls-issue-cert-manager
passed

tls-issue-cert-manager-ref
passed

validation-hook
passed

commit: https://github.com/percona/percona-xtradb-cluster-operator/pull/1068/commits/c03d97358cdb23665d9dd7d0b433df594f482f38
image: perconalab/percona-xtradb-cluster-operator:PR-1068-c03d9735

Test name
Status

upgrade-haproxy
passed

scheduled-backup
passed

scaling
passed

scaling-proxysql
passed

security-context
passed

recreate
passed

restore-to-encrypted-cluster
passed

demand-backup
passed

pitr
passed

demand-backup-encrypted-with-tls
passed

haproxy
failed

big-data
passed

storage
passed

self-healing
passed

self-healing-chaos
failed

upgrade-proxysql
passed

smart-update
passed

upgrade-consistency
passed

self-healing-advanced
passed

self-healing-advanced-chaos
failed

operator-self-healing
passed

operator-self-healing-chaos
failed

init-deploy
passed

limits
passed

monitoring-2-0
passed

affinity
passed

one-pod
passed

auto-tuning
passed

proxysql-sidecar-res-limits
passed

users
passed

tls-issue-self
passed

tls-issue-cert-manager
passed

tls-issue-cert-manager-ref
passed

validation-hook
passed

commit: https://github.com/percona/percona-xtradb-cluster-operator/pull/1068/commits/c03d97358cdb23665d9dd7d0b433df594f482f38
image: perconalab/percona-xtradb-cluster-operator:PR-1068-c03d9735

Test name
Status

scheduled-backup
passed

haproxy
passed

storage
passed

upgrade-haproxy
passed

scaling
passed

big-data
passed

recreate
passed

scaling-proxysql
passed

self-healing
passed

self-healing-chaos
failed

init-deploy
passed

restore-to-encrypted-cluster
passed

security-context
passed

upgrade-proxysql
passed

limits
passed

demand-backup
passed

monitoring-2-0
passed

smart-update
passed

affinity
passed

one-pod
passed

pitr
passed

auto-tuning
passed

proxysql-sidecar-res-limits
passed

upgrade-consistency
passed

users
passed

tls-issue-self
passed

demand-backup-encrypted-with-tls
failed

tls-issue-cert-manager
passed

tls-issue-cert-manager-ref
failed

self-healing-advanced
passed

self-healing-advanced-chaos
failed

commit: https://github.com/percona/percona-xtradb-cluster-operator/pull/1068/commits/d10c79cb10feeb6f126468d9cb7ea809d93d8318
image: perconalab/percona-xtradb-cluster-operator:PR-1068-d10c79cb

Test name
Status

recreate
passed

storage
passed

haproxy
passed

scaling
passed

restore-to-encrypted-cluster
passed

scaling-proxysql
passed

self-healing
passed

init-deploy
passed

demand-backup
passed

security-context
passed

self-healing-chaos
failed

limits
passed

pitr
passed

big-data
passed

demand-backup-encrypted-with-tls
passed

scheduled-backup
passed

monitoring-2-0
passed

affinity
passed

one-pod
passed

upgrade-haproxy
passed

auto-tuning
passed

proxysql-sidecar-res-limits
passed

users
passed

tls-issue-self
passed

tls-issue-cert-manager
passed

tls-issue-cert-manager-ref
passed

upgrade-proxysql
passed

validation-hook
passed

smart-update
passed

upgrade-consistency
passed

self-healing-advanced
passed

self-healing-advanced-chaos
failed

commit: https://github.com/percona/percona-xtradb-cluster-operator/pull/1068/commits/d10c79cb10feeb6f126468d9cb7ea809d93d8318
image: perconalab/percona-xtradb-cluster-operator:PR-1068-d10c79cb

Test name
Status

scheduled-backup
passed

scaling
passed

haproxy
passed

scaling-proxysql
passed

init-deploy
passed

security-context
passed

limits
passed

monitoring-2-0
passed

affinity
passed

recreate
passed

one-pod
passed

big-data
passed

restore-to-encrypted-cluster
passed

auto-tuning
passed

demand-backup
passed

proxysql-sidecar-res-limits
passed

pitr
passed

users
passed

demand-backup-encrypted-with-tls
passed

tls-issue-self
passed

tls-issue-cert-manager
passed

storage
passed

tls-issue-cert-manager-ref
passed

self-healing
passed

validation-hook
passed

self-healing-chaos
failed

upgrade-haproxy
passed

upgrade-proxysql
passed

smart-update
passed

upgrade-consistency
passed

self-healing-advanced
passed

self-healing-advanced-chaos
failed

commit: https://github.com/percona/percona-xtradb-cluster-operator/pull/1068/commits/d10c79cb10feeb6f126468d9cb7ea809d93d8318
image: perconalab/percona-xtradb-cluster-operator:PR-1068-d10c79cb

Test name
Status

recreate
passed

scheduled-backup
passed

big-data
passed

upgrade-haproxy
passed

storage
passed

scaling
passed

haproxy
passed

scaling-proxysql
passed

self-healing
passed

self-healing-chaos
passed

init-deploy
passed

restore-to-encrypted-cluster
passed

security-context
passed

upgrade-proxysql
passed

self-healing-advanced
passed

self-healing-advanced-chaos
passed

limits
passed

demand-backup
passed

smart-update
passed

monitoring-2-0
passed

operator-self-healing
passed

operator-self-healing-chaos
passed

affinity
passed

one-pod
passed

pitr
passed

auto-tuning
passed

proxysql-sidecar-res-limits
passed

upgrade-consistency
passed

users
passed

demand-backup-encrypted-with-tls
passed

tls-issue-self
passed

tls-issue-cert-manager
passed

tls-issue-cert-manager-ref
passed

validation-hook
passed

commit: https://github.com/percona/percona-xtradb-cluster-operator/pull/1068/commits/41932449e992d952d140cfb28ccb39919a43ed1a
image: perconalab/percona-xtradb-cluster-operator:PR-1068-41932449

Test name
Status

big-data
failed

storage
passed

scaling
passed

haproxy
passed

upgrade-haproxy
passed

recreate
passed

scheduled-backup
passed

scaling-proxysql
passed

self-healing
passed

self-healing-chaos
failed

restore-to-encrypted-cluster
passed

security-context
passed

upgrade-proxysql
passed

demand-backup
passed

init-deploy
failed

smart-update
passed

pitr
passed

upgrade-consistency
failed

demand-backup-encrypted-with-tls
passed

limits
passed

self-healing-advanced
passed

self-healing-advanced-chaos
failed

operator-self-healing
passed

operator-self-healing-chaos
failed

monitoring-2-0
passed

affinity
passed

one-pod
passed

auto-tuning
passed

proxysql-sidecar-res-limits
passed

users
failed

tls-issue-self
failed

tls-issue-cert-manager
failed

tls-issue-cert-manager-ref
failed

validation-hook
failed

commit: https://github.com/percona/percona-xtradb-cluster-operator/pull/1068/commits/147448b8efdff4b11a64b862966c2d73f52ef406
image: perconalab/percona-xtradb-cluster-operator:PR-1068-147448b8

Test name
Status

big-data
passed

scheduled-backup
passed

haproxy
passed

scaling
passed

storage
passed

recreate
passed

upgrade-haproxy
passed

scaling-proxysql
passed

self-healing
passed

self-healing-chaos
passed

init-deploy
passed

restore-to-encrypted-cluster
passed

security-context
passed

upgrade-proxysql
passed

self-healing-advanced
passed

self-healing-advanced-chaos
passed

limits
passed

demand-backup
passed

smart-update
passed

monitoring-2-0
passed

operator-self-healing
passed

operator-self-healing-chaos
passed

affinity
passed

one-pod
passed

pitr
passed

auto-tuning
passed

proxysql-sidecar-res-limits
passed

upgrade-consistency
passed

users
passed

demand-backup-encrypted-with-tls
passed

tls-issue-self
passed

tls-issue-cert-manager
passed

tls-issue-cert-manager-ref
passed

validation-hook
failed

commit: https://github.com/percona/percona-xtradb-cluster-operator/pull/1068/commits/96304d4b59ba1c8be760be8997ad8ee75ea1b4ee
image: perconalab/percona-xtradb-cluster-operator:PR-1068-96304d4b

Test name
Status

storage
passed

self-healing
passed

self-healing-chaos
passed

self-healing-advanced
passed

self-healing-advanced-chaos
passed

operator-self-healing
passed

scaling
passed

operator-self-healing-chaos
passed

upgrade-haproxy
passed

scaling-proxysql
passed

haproxy
passed

big-data
passed

security-context
passed

init-deploy
passed

limits
passed

recreate
passed

monitoring-2-0
passed

restore-to-encrypted-cluster
passed

affinity
passed

demand-backup
passed

one-pod
passed

pitr
passed

auto-tuning
passed

demand-backup-encrypted-with-tls
passed

scheduled-backup
passed

proxysql-sidecar-res-limits
passed

users
passed

tls-issue-self
passed

tls-issue-cert-manager
passed

tls-issue-cert-manager-ref
passed

validation-hook
passed

upgrade-proxysql
passed

smart-update
passed

upgrade-consistency
passed

commit: https://github.com/percona/percona-xtradb-cluster-operator/pull/1068/commits/96304d4b59ba1c8be760be8997ad8ee75ea1b4ee
image: perconalab/percona-xtradb-cluster-operator:PR-1068-96304d4b

Test name
Status

upgrade-haproxy
passed

scaling
passed

scheduled-backup
passed

storage
passed

big-data
passed

haproxy
passed

recreate
passed

scaling-proxysql
passed

self-healing
passed

self-healing-chaos
passed

init-deploy
passed

restore-to-encrypted-cluster
passed

security-context
passed

upgrade-proxysql
passed

self-healing-advanced
passed

self-healing-advanced-chaos
passed

limits
passed

demand-backup
passed

monitoring-2-0
passed

smart-update
passed

operator-self-healing
passed

operator-self-healing-chaos
passed

affinity
passed

one-pod
passed

pitr
passed

auto-tuning
passed

proxysql-sidecar-res-limits
passed

upgrade-consistency
passed

users
passed

demand-backup-encrypted-with-tls
failed

tls-issue-self
passed

tls-issue-cert-manager
passed

tls-issue-cert-manager-ref
passed

validation-hook
passed

commit: https://github.com/percona/percona-xtradb-cluster-operator/pull/1068/commits/2ed5502e4e0199e41891f464fdc15aa1cbe27ae4
image: perconalab/percona-xtradb-cluster-operator:PR-1068-2ed5502e

Test name
Status

storage
passed

recreate
passed

self-healing
passed

restore-to-encrypted-cluster
passed

self-healing-chaos
passed

demand-backup
passed

self-healing-advanced
passed

pitr
passed

self-healing-advanced-chaos
passed

demand-backup-encrypted-with-tls
passed

upgrade-haproxy
passed

operator-self-healing
passed

haproxy
passed

scaling
passed

big-data
passed

operator-self-healing-chaos
passed

init-deploy
passed

scheduled-backup
passed

scaling-proxysql
passed

limits
passed

security-context
passed

monitoring-2-0
passed

affinity
passed

one-pod
passed

auto-tuning
passed

proxysql-sidecar-res-limits
passed

users
passed

tls-issue-self
passed

tls-issue-cert-manager
passed

tls-issue-cert-manager-ref
passed

validation-hook
passed

upgrade-proxysql
passed

smart-update
passed

upgrade-consistency
passed

commit: https://github.com/percona/percona-xtradb-cluster-operator/pull/1068/commits/2ed5502e4e0199e41891f464fdc15aa1cbe27ae4
image: perconalab/percona-xtradb-cluster-operator:PR-1068-2ed5502e


Warnings and Checks

Like if someone writes a query that's too short etc... uses a wrong character idk

Checked for kmer size with amino acids (<=12) and for RegEx that are too short for the k size used in the index.


Unclear documentation errors

Description
Just ran in to this trying to get code working. Said code's documentation referenced
xla_gpu_enable_async_collective*, however it wasn't working so I came here to check documentation, to discover that it is confirmed at:
https://github.com/jax-ml/jax/blob/dda6b88864905987480c493db27ce9ede1699f10/docs/gpu_performance_tips.md?plain=1#L49C1-L49C47
Poked around for a while trying to figure out why the flag was being rejected until I found:
https://github.com/openxla/xla/commit/4298a065f7b8381d690a95fe6d437cff037b3ff4 noting that the collection of gpu_enable_async flags are now deprecated for disable flags instead.
Just figured fixing it here will save others the debugging trouble - the instruction lurking in other's codebases notwithstanding.
System info (python version, jaxlib version, accelerator, etc.)
jaxlib: 0.4.36
numpy:  2.2.0
python: 3.12.7 (main, Nov  6 2024, 18:29:01) [GCC 14.2.0]
device info: NVIDIA RTX 2000 Ada Generation Laptop GPU-1, 1 local devices"
process_count: 1
platform: uname_result(system='Linux', node='mymachine', release='6.11.0-9-generic', version='#9-Ubuntu SMP PREEMPT_DYNAMIC Mon Oct 14 13:19:59 UTC 2024', machine='x86_64')

$ nvidia-smi
Thu Dec 12 17:31:04 2024
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 560.35.05              Driver Version: 560.35.05      CUDA Version: 12.6     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA RTX 2000 Ada Gene...    Off |   00000000:01:00.0 Off |                  N/A |
| N/A   40C    P3              3W /   35W |     114MiB /   8188MiB |      1%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI        PID   Type   Process name                              GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|    0   N/A  N/A      5711      G   /usr/bin/gnome-shell                            2MiB |
|    0   N/A  N/A    112611      C   python                                         98MiB |
+-----------------------------------------------------------------------------------------+

Thanks for the catch! I made a PR to remove the deprecated flags from the docs.

PR has been merged; closing.


inline code formatted text covers other text if using Safari accessibility font sizes

This renders terribly at both 18 and 24 points, overlapping other lines of the text.
This example is from Safari 9, with minimum font size 24 set in the Advanced preferences pane: "Never use font sizes smaller than".

Yeah, that's not great.  @feorlen do you know how one is supposed to handle/detect the "Never use font sizes smaller than" feature in CSS?  It seems like it's probably harder to handle than the browser "zoom" feature...

Unfortunately I'm far from an expert in this area. But since my normal setting is 18, I find stuff like this all the time. If there isn't a better person who can answer, I can research (and/or ask WebKit friends.)

Add @brockwhittaker to the thread since he's been working on a lot of frontend UI improvements.  The problem is pretty clear -- we set a fixed line spacing.


Vue warn:  The computed property "errors" is already defined in data

Hi,
I get the following Vue warning when I test your main example:
 [Vue warn]: The computed property "errors" is already defined in data.
(using Vue 2.4.2)

If you have a computed property, you do not need to define it again in your data. The same goes for props.

Thanks for the clue, vee-validate also defines errors .

@FranckFreiburger, Please how did you resolve this ? Facing the same issue right now.

I just removed my dependency to vee-validate that also defined an errors property.

@FranckFreiburger so you mean it not possible to use vee-validate and vue-form-generator in the same project ?


Should there be a redirects plugin?

THIS IS JUST A PROPOSAL
Hey, I just made a Pull Request!
In sufficiently mature instances of Backstage, the need for redirects will become inevitable.  Some use-cases are already popping up in the wild (#4931).
Proposal here is to introduce a plugin that defines a configuration-based approach to redirects.  It exposes a <Redirects /> routing component that Backstage adopters can mount in their app that handles all configured redirects on their behalf.
Maybe there ought to be a facility for plugins to declare redirects at some point, for backward compatibility, but I wonder if an App-level redirect system is more useful right now.
What do y'all think?
:heavy_check_mark: Checklist

[ ] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[ ] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)
[ ] All your commits have a Signed-off-by line in the message. (more info)

Hm. A little torn on this one. We're in general pushing toward composability using JSX elsewhere, and I'm personally becoming a little hesitant about how much to drive from config vs how much to drive from code.
For starters, of course react-router has a Redirect element. So for redirects within a single plugin, that's already available. And for simpler redirect cases in the app level, it can be used too - the same people that control the config file also control App.tsx in the frontend package..
What we could do is to make helper components for making redirects where dynamic path elements are involved. So that you could do
<BackstageRedirect from="/old/:id" to="/new/:id" />

instead of using raw Redirect and making an explicit wrapper component that gets the id using a hook and injects it into the destination path.
Does that make sense? What you propose would definitely work, but I'm wondering if it would be less powerful or solve a subset of redirect needs, while introducing a new concept. Happy to be corrected!

I'm personally becoming a little hesitant about how much to drive from config vs how much to drive from code.

Indeed.

...the same people that control the config file also control App.tsx in the frontend package.

This is fair, but imagine...  There is a mature Backstage instance.  There is a documented process for a Backstage user to rename a catalog entity.  The last step in the process is to set up a redirect from the old entity to the new entity.  Would you, as the person in control off App.tsx / app-config.yaml, prefer the person walking through that documentation add some form of <Redirect /> element to App.tsx (or somewhere similar in code) or some form of redirect config to app-config.yaml (or somewhere else referenced in config).
Bearing in mind also that this person may not be familiar with React or front-end at all.  They may not even be a developer (e.g. a PM).

Right, I started typing out a section about backend-driven redirects but had trouble formulating it well - what you said about renames was a good segue into that though.
For the flow that you describe, I would envision this being driven not by config but entirely by the catalog plugin. As in, the catalog would have to store "move" pointers inside its database. Then when the frontend loads an entity URL, it would try to load the entity data itself but gets back a specific JSON response that says "this entity now has this other name instead". Then it would render a single Redirect instead of the regular component output, and the view gets redrawn at the new location.
The cool thing about driving things this way, is that now the backend has the ability to do this in all the nice HTTP ways. It could respond with an actual 301 Moved Permanently and a Location header pointing to where the data now resides, in addition to a JSON body for convenience. So curl would also automatically do the right thing.

@freben  It would be sweet if the Catalog stored those "moved" pointers and was able to appropriately redirect the client based on them.  I'd much prefer that approach over a purely client-side one.
But would that work for every tab on an entity page, or would plugin implementers have to account for this somehow themselves?  And what about things that hang off of the catalog, but not as explicitly (e.g. the /docs/:namespace/:kind/:name way to get to docs?). And then (naturally) what about things that are not related to the catalog at all?

I think (:D) I'm mostly arguing that config won't be the right storage for this in any case.
The admin that wants to point something STATIC elsewhere (for example, moving the /catalog root to /things instead) can do so just fine already in JSX. Same for one-off extreme things.
The plugin owner that wants to rearrange things inside their own plugin but not break consumers, are the same as above, they'll use JSX and relative paths.
The person that moves dynamic data around in an external system, will likely have a fairly poor experience in a config driven approach, since in practice that means contacting the Backstage owner team and persuading them to change a line in config and redeploying the system. So I'm thinking that maybe those situations will need to be driven "externally" with the support of the externals?
Your example with the /docs/..., I think that'll benefit from my proposal because the hooks etc will know to follow redirects properly because that's part of the semantics of the catalog then.
But if you think of other situations ... What if you rename a team in PagerDuty? What if you decommission a GCP project and make a new one? Etc. Shall we support those kinds of things using the redirects mechanism proposed here?

I guess I'm wondering if it's reasonable to expect all plugin owners to roll their own redirect tracking, storage, and implementation.  Or put another way: as a plugin owner, my life would be so much simpler if I only had to have knowledge about the present state of my external system, rather than all previous states.  Especially if the external system I'm talking to doesn't itself track those key state changes (as per your GCP example, probably pager duty too).
So a lightweight, centralized redirect mechanism would have a couple of benefits:

Offloads the need to support redirects for plugin maintainers elsewhere
Offers the opportunity to collect redirect usage/metrics in a standard way, which would enable App owners to make decisions about removing unused/outdated redirects over time (or in sufficiently advanced organizations, maybe even automating that process)

And storing the redirects in something other than JSX could have a couple of advantages as well:

Makes it very clear that the redirects are static
Takes DX for non-React peeps into consideration
Perhaps easier to parse/reason about/modify in automated contexts (see automated redirect deletion scenario above)

I agree, app-config.yaml is not a great place for this.  I could imagine some other dumb ideas though:

We could parse and inject redirects read in from .htaccess or nginx conf files 🤮
Or how about blowing this out into a redirects-backend plugin that stores redirect patterns in the DB, and we expose a nice UI in the front-end plugin to manage them 😐 .
Or, still loading it via config API, but opening it up to separate, arbitrary config files like redirect-config.yml 🤨 ...

Or, we could just create a recommendation in documentation (or even a spot in App.tsx in the create-app) for how to handle static redirects in JSX using react router natively, which plugin maintainers like myself could handily link to 😬 .

@iamEAP another option is to add something like a redirects property to FlatRoutes, and then introduce some convention like
import { redirects } from './redirects.ts';
...
  <FlatRoutes redirects={redirects}>
...

With the redirects prolly just being defined like this
export const redirects = {
  '/from/foo/*': '/to/bar/*'
}

It adds a bit to the API surface, but perhaps a bit easier to find and modify than if it's in directly in JSX with the react-router API.

I'm going to close this PR with the answer to the question posed in the PR being, "Probably not."
Instead of this, I'm pitching a "within TechDocs" solution for the TechDocs issue, and opening a new issue for supporting redirects within (and around) the catalog.
For other cases, one can readily use JSX/React Router to do the job at the app-level.


Use runtime information for texture format instead of generics

The new design looks better, but in my opinion the part concerning texture formats could be improved.
Currently, Factory::create_texture_const has the following definition:
fn create_texture_const<T: format::TextureFormat>(
    &mut self,
    kind: tex::Kind,
    data: &[<T::Surface as format::SurfaceTyped>::DataType],
    mipmap: bool
) -> Result<(handle::Texture<R, T::Surface>,
    handle::ShaderResourceView<R, T::View>), CombinedError>

TextureFormat has the following definition:
pub trait TextureFormat: Formatted { }

This trait has an auto impl.
To create an rgba8 texture, you pass in the raw data data: &[<T::Surface as format::SurfaceTyped>::DataType] which is a fancy generic for &[u8].
We know that Rust does not infer the format from u8 alone. A generic parameter is required.
So, in order to know what you can pass in, you might search for Rgba8 and find this type alias (or you might figure out that from the triangle example):
type Rgba8 = (R8_G8_B8_A8, Unorm);

It works because the auto impl of TextureFormat is based on Formatted which is implemented for (R8_G8_B8_A8, Unorm).
When the method returns successfully, it returns two objects (handle::Texture<R, T::Surface>, handle::ShaderResourceView<R, T::View>).
The last one is a phantom type/empty struct. I guess this is for some type checking in the pipeline.
In Piston, we have a gfx_texture library that creates textures, while the pipeline is defined in gfx_graphics. I guess ShaderResourceView must be constructed manually.
The triangle example does not use the texture, it uses the texture_view. It is a phantom type! When is the texture handle freed from memory? The only way I can imagine this working is that the OpenGL backend binds the texture when creating it, and then the memory is leaked.
I wondered what the second generic parameter S on Texture<R, S> was and after a digging for hours I finally figured out it should be the phantom type R8_G8_B8_A8. Hmm.... that's wrong too, because it seems to be Rgba8 when I look over my notes.
Problems

It is a pretty long chain of inference before you get to the bottom of how it works
The API requires you to fill out generic parameters :cry:

Questions

What if you have a more than one texture formats, but one pipeline?
What is the consequence of monomorphizing all these methods?
Does the triangle example leak the texture memory?
What is ShaderResourceView doing?

Suggestions

Create an enum CreateTexture<'a> that contains all you need for creating a texture, one variant for each texture format
Use constructors for statistically common cases, for example CreateTexture::rgba8(&img)
Use builder methods to customize the creation
Move texture format to runtime, such that you have one concrete type per backend

You do not have to sacrifice type safety, because the CreateTexture constructors can handle that. There are also ways builder methods can be implemented only when using the right constructor. This will only be used to call Factory::create_texture.
Perhaps we could learn a bit from Conrod here. It also has a very complicated model under the hood, but it is easy to use because of builder methods.
I would like to create textures independently of the pipeline. This might lead to a runtime error, but I think it is worth it getting rid of some of the generics.

Such a detailed issue, wow... Thanks for showing us the good example!

To create an rgba8 texture, you pass in the raw data data: &[<T::Surface as format::SurfaceTyped>::DataType] which is a fancy generic for &[u8].

This is wrong, and I was going to talk to you about it. DataType for Rgba8 is actually [u8; 4], as you would expect. Hence, the examples use cast_slice hack to load images from piston-image. What I'd like to request from this library is to actually provide the image data as a slice of pixels, where a pixel is [u8; 4] for rgba textures.

The last one is a phantom type/empty struct. I guess this is for some type checking in the pipeline.

It's not an empty struct. It's an SRV handle, which has the backend's view as well as holds the original object by Arc too. It is needed for any usage of the texture in the shaders. In fact, typically you can throw away the texture itself (the first argument), if you never want to change it and just want to bind it. The SRV handle will hold it alive anyway.

So, in order to know what you can pass in, you might search for Rgba8 and find this type alias.

It's not the only format that you can pass in. Anything (as in - any legal format) that is compatible with the data type should work.

I guess ShaderResourceView must be constructed manually.

I see no problem for gfx_texture to construct it automatically.

When is the texture handle freed from memory?

All the views (SRV, UAV, RTV, DSV) hold the original source (typically a texture object). Look at the handle definitions:
enum ViewSource<R: Resources> {
    Buffer(Arc<R::Buffer>),
    Texture(Arc<R::Texture>),
}
pub struct RawShaderResourceView<R: Resources>(Arc<R::ShaderResourceView>, ViewSource<R>);
pub struct ShaderResourceView<R: Resources, T>(RawShaderResourceView<R>, PhantomData<T>);

Hmm.... that's wrong too, because it seems to be Rgba8 when I look over my notes.

I'm sorry about your wasted time. We definitely need some documentation on the universal format spec! Here is in short the way it works, applied to textures:

a texture itself is just a storage of pixel data. Views for it are created independently and allow binding it to the shader for sampling (SRV) or writing (UAV), or as a render target (RTV, DSV).
thus, texture is typed by the surface format. It's format::SurfaceType at run-time, or a phantom implementing format::SurfaceTyped at compile time, with the same name. In DX world, these are called "typeless" formats, because they only specify the bits per component and not the way they are interpret.
The interpretation comes from the ChannelType (implemented as well on both run-time and compile-time levels). Together they form format::Format (at run-time, or a phantom implementing format::Formatted at compile-time). Formatted is implemented automatically for (S,C) if S: SurfaceTyped and C: ChannelTyped. That's why type Rgba8 = (R8_G8_B8_A8, Unorm);
So, for a rgba texture, the texture object itself will be typed with R8_G8_B8_A8. The full type is needed for create_texture_const because it gets translated into run-time and used to specify the exact way you want to interpret the texture contents for the view (which is returned alongside).
This full type is not needed to be present as a phantom parameter of anything, because the view only cares about the end represented type (which is both [f32; 4] for, let's say, Unorm- and Float-channeled views).

It is a pretty long chain of inference before you get to the bottom of how it works

Yes, I understand, there is plenty of generics and associated types. Keep in mind that this stuff has been through a couple of iterations already. Once you understand, it looks beautiful: it has everything required for safe abstractions, and nothing over it.

The API requires you to fill out generic parameters

I tried to address this, however ended up precisely with the need, and I'll try to explain. See, for this create_texture_const method, we can't derive the generics from the input. We can't even derive them from the output, as I explained above. We could pass more arguments in, some - just to specify the types, but then - for cases where we know the target format, we'd need to somehow instantiate it into these parameters, which involves default constructors for non-longer-phantom types and other nasties. I figured that the current solution is simpler. There is no redundant information in the call that specifies a generic parameter, it's just a little not so hot looking, perhaps.

What if you have a more than one texture formats, but one pipeline?

A pipeline can use a texture in multiple ways. If we are talking about SRVs, then we may have different formats (say, T1 and T2) for textures bound to the same PSO input (at different times, of course) for as long  T1::View == T2::View, because that's what PSO SRV input is typed with:
color: gfx::TextureSampler<[f32; 4]> = "t_Color", // [f32; 4] is the associated type for `Rgba8::View`

What is the consequence of monomorphizing all these methods?

Dunno. Could you reword the question?

Does the triangle example leak the texture memory?

No, it should not.

What is ShaderResourceView doing?

It's an SRV. The same R32 (this is the surface format) texture, for example, can be viewed as f32 (corresponding Float channel type) or as u32 (corresponding Uint channel type). So you can have multiple views of the same texture, potentially with different types. The views are what shader needs, so they are inputs of some PSO components.

Suggestions

We could just have a couple of methods in FactoryExt, like we used to: create_texture_rgba8 and similar.

You do not have to sacrifice type safety, because the CreateTexture constructors can handle that.

But then you'd not be able to enforce PSO binding safety at compile time...

I would like to create textures independently of the pipeline. This might lead to a runtime error, but I think it is worth it getting rid of some of the generics.

Let me repeat if this wasn't clear. Textures ARE created independently of the pipeline.
Moreover, if you don't want to deal with texture generic types - just use the raw versions of them! Creation of textures and views is fully provided on this lower level by the Factory trait. On PSO side you'll either need to (unsafely) wrap your raw texture into a phantom (InnerRaw as you name it) that PSO expects, or roll in a special PSO component for raw textures.
Mind you, I was going to introduce the "raw" version of the VertexBuffer component, and even weakly-typed PSO. So a raw texture component will feel itself quite comfortable there ;)

OK, this made stuff clearer. Can you open up an issue on the image repo about [u8; 4]?
I'll close this.

Here you go: https://github.com/PistonDevelopers/image/issues/509

Related - #853


Fix outdated web scraping

List of schools and enrolment are outdated. Identify the parts of code which does the scraping for these data and update.

This version has the updated data: https://github.com/yongjun21/anything-picker


Unable to run container on Ubuntu "Error response from daemon: Cannot start container ...: operation not supported"

When running container I get instant error:
nazar-pc@nazar-pc:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu Utopic Unicorn (development branch)
Release:    14.10
Codename:   utopic
nazar-pc@nazar-pc:~$ uname -a
Linux nazar-pc 3.16.0-rc6-haswell #1 SMP Mon Jul 21 08:08:55 EEST 2014 x86_64 x86_64 x86_64 GNU/Linux
nazar-pc@nazar-pc:~$ docker version
Client version: 1.1.2
Client API version: 1.13
Go version (client): go1.2.1
Git commit (client): d84a070
Server version: 1.1.2
Server API version: 1.13
Go version (server): go1.2.1
Git commit (server): d84a070
nazar-pc@nazar-pc:~$ docker run -t -i ubuntu:14.04 /bin/bash
2014/07/25 15:37:25 Error response from daemon: Cannot start container 9a92fdcaef51612a384922729a4ebd72289795553f506d365d95fa588e43010b: operation not supported

I have custom kernel, but I do not see anything that can point me to the reason why it doesn't work.
I do not see anything in system logs, and there are no logs specially for Docker.

I run into this issue today after I updated my Kernel, I'm using Arch.
Restarting docker didn't help, only reboot helped.
I'm not sure if this is the right solution, but it was my laptop so reboot is not a big deal comparing to real life production servers.
there is could be another solution that no need to reboot your OS, but I'm too lazy to check it out :)

@MhdAli: Same here - reboot fixed it after kernel update in Arch :)

help


Improve ability to paginate results

Result#all_results_returned? can tell you if you got all results or need to “paginate”
Stop mutating the start_time and end_time objects
Improved examples

If merged this will require a version bump before release. Probably a major since start_time and end_time response has been altered.

:+1:


Release v1.3.4

Waiting for travis to okay this PR.

Coverage increased (+0.06%) to 78.527% when pulling c8896a0f4c71c66c730b8f1e2e5fed880cb4e9df on release/v1.3.4 into 9b168c6e52c5a379ffa293db13a03bfe8b9514c7 on master.


Add confirmation prompt like in apt, pacman, etc.

Description of the new feature/enhancement

I'd like to see WinGet ask the user for confirmation on whether (s)he actually wants to install or remove packages, as doing so can make potentially detrimental changes to the system if the user doesn't know what (s)he is doing. It would also provide a chance for the user to back out of a winget operation if (s)he changes his/her mind. I realize the User Account Control does a fair job of handling that, but perhaps we can do even better.
Proposed technical implementation details (optional)

Bold text indicates new functionality.

The user types "winget (one of install/upgrade/uninstal) (package)".
The computer displays information about the package that would be installed, upgraded, or uninstalled.
The computer asks "Do you want to continue (Y/n)?" assuming "Yes" as the default if the user simply presses Enter.
a. The user says Yes by (optionally pressing Y and then) pressing Enter, OR
b. The user changes his/her mind and backs out of the operation by pressing N and then Enter.
a. If "Yes," the computer installs, upgrades, or uninstalls the requested package (as it does now), OR
b. If "No," the computer aborts the operation and returns control to the command prompt.

I would counter this argument. In windows no one is going to Accidently type "winget uninstall foo"  or "winget install Foo.Foo". I think a prompt would just add more layers of complexity when trying to script

I agree with @rbarbrow. Confirmation prompt should only pop up if application has some dependency and want's to download it. https://github.com/microsoft/winget-cli/issues/163#issuecomment-633901489

...which is a pretty smart idea. Apt proceeds with the installation without confirmation if the user-specified package is the only package that it has to install; however, it asks for confirmation in all other install/upgrade cases, and in all removal cases.

Still, this feature could be added as a optional opt-in feature in winget settings for those who want it.

That's an excellent idea. Maybe users who are coming to Windows from Linux will be more comfortable with WinGet operating that way.On Jul 12, 2021 1:07 PM, Karan09 @.***> wrote:
Still, this feature could be added as a optional opt-in feature in winget settings for those who want it.
—You are receiving this because you authored the thread.Reply to this email directly, view it on GitHub, or unsubscribe.

I recently encountered a situation where this would have been very useful. I am currently using winget to schedule automatic package upgrades. Typically, I utilize winget upgrade with the --silent flag, allowing packages to be upgraded in the background without disrupting the user. However, there was an instance where the package JGraph.Draw was updated while the application was running. The user received a brief popup prompting them to save their work, but the upgrade continued before they had a chance to actually save. Having a user confirmation for this particular application would have been beneficial in preventing any potential data loss.