IndexError in active report

Vit crashes with "IndexError: list index out of range" in the active report:
Traceback (most recent call last):
  File "/home/user/.pyenv/versions/vit/bin/vit", line 11, in <module>
    load_entry_point('vit==2.0.0a1', 'console_scripts', 'vit')()
  File "/home/user/.pyenv/versions/3.7.3/envs/vit/lib/python3.7/site-packages/vit/command_line.py", line 5, in main
    Application(options, filters)
  File "/home/user/.pyenv/versions/3.7.3/envs/vit/lib/python3.7/site-packages/vit/application.py", line 74, in __init__
    self.loop.run()
  File "/home/user/.pyenv/versions/3.7.3/envs/vit/lib/python3.7/site-packages/urwid/main_loop.py", line 286, in run
    self._run()
  File "/home/user/.pyenv/versions/3.7.3/envs/vit/lib/python3.7/site-packages/urwid/main_loop.py", line 384, in _run
    self.event_loop.run()
  File "/home/user/.pyenv/versions/3.7.3/envs/vit/lib/python3.7/site-packages/urwid/main_loop.py", line 788, in run
    self._loop()
  File "/home/user/.pyenv/versions/3.7.3/envs/vit/lib/python3.7/site-packages/urwid/main_loop.py", line 825, in _loop
    self._watch_files[fd]()
  File "/home/user/.pyenv/versions/3.7.3/envs/vit/lib/python3.7/site-packages/urwid/raw_display.py", line 404, in <lambda>
    event_loop, callback, self.get_available_raw_input())
  File "/home/user/.pyenv/versions/3.7.3/envs/vit/lib/python3.7/site-packages/urwid/raw_display.py", line 502, in parse_input
    callback(processed, processed_codes)
  File "/home/user/.pyenv/versions/3.7.3/envs/vit/lib/python3.7/site-packages/urwid/main_loop.py", line 411, in _update
    self.process_input(keys)
  File "/home/user/.pyenv/versions/3.7.3/envs/vit/lib/python3.7/site-packages/urwid/main_loop.py", line 511, in process_input
    k = self._topmost_widget.keypress(self.screen_size, k)
  File "/home/user/.pyenv/versions/3.7.3/envs/vit/lib/python3.7/site-packages/urwid/wimp.py", line 648, in keypress
    return self._current_widget.keypress(size, key)
  File "/home/user/.pyenv/versions/3.7.3/envs/vit/lib/python3.7/site-packages/vit/application.py", line 64, in keypress
    return super().keypress(size, key)
  File "/home/user/.pyenv/versions/3.7.3/envs/vit/lib/python3.7/site-packages/urwid/container.py", line 1131, in keypress
    return self.body.keypress( (maxcol, remaining), key )
  File "/home/user/.pyenv/versions/3.7.3/envs/vit/lib/python3.7/site-packages/vit/base_list_box.py", line 116, in keypress
    self.list_action_executed(size, key)
  File "/home/user/.pyenv/versions/3.7.3/envs/vit/lib/python3.7/site-packages/vit/task_list.py", line 544, in list_action_executed
    self.event.emit('task-list:keypress', data)
  File "/home/user/.pyenv/versions/3.7.3/envs/vit/lib/python3.7/site-packages/vit/event.py", line 16, in emit
    listener(data)
  File "/home/user/.pyenv/versions/3.7.3/envs/vit/lib/python3.7/site-packages/vit/task_list.py", line 46, in task_list_keypress
    self.update_header(data['size'])
  File "/home/user/.pyenv/versions/3.7.3/envs/vit/lib/python3.7/site-packages/vit/task_list.py", line 103, in update_header
    self.update_project_column_header(size)
  File "/home/user/.pyenv/versions/3.7.3/envs/vit/lib/python3.7/site-packages/vit/task_list.py", line 117, in update_project_column_header
    self.set_project_column_header()
  File "/home/user/.pyenv/versions/3.7.3/envs/vit/lib/python3.7/site-packages/vit/task_list.py", line 123, in set_project_column_header
    (columns_widget, _) = self.header.original_widget.contents[column_index]
IndexError: list index out of range

Steps to reproduce:

Have at least one active task
Open vit's active report
Press either j, k, up, or down

Vit: 2.x (1d06fdbaa86b09a6d7b4d0b69843fb597a1ceee8)
Some trivial shell script to quickly generate test data:
#!/bin/sh

set -e
set -u

TMP_DIR="$(mktemp --directory --suffix .vit)"
VIT_DIR="$TMP_DIR/vit"
TASK_DIR="$TMP_DIR/task"
TASKRC="$TMP_DIR/taskrc"

# task
mkdir "$TASK_DIR"
cat > "$TASKRC" <<EOT
data.location=$TASK_DIR
EOT
export TASKRC

# vit
mkdir "$VIT_DIR"
touch "$VIT_DIR/config.ini"

# create some tasks
task add a
task add b
task +LATEST start
task add c
task +LATEST start

echo "TASKRC: $TASKRC"
echo "VIT_DIR: $VIT_DIR"

I'm not able to reproduce.
That code deals with updating the project column header when a report has a project column, it's sorted by project ascending, and the indent_subprojects config setting is enabled (the default).
By default, TaskWarrior's active report orders by project ascending, and contains the project column, and this seems to all work fine in my testing.
Have you customized your active report?

OK, there was an edge case where if a report is sorted by project ascending but does not contain a project column, VIT would crash.
This has been fixed in https://github.com/scottkosty/vit/commit/ffa7d9ac05f27338dc3df7432be200d469ee4d4b -- see if that corrects your issue.

Crash still happens with ffa7d9ac05f27338dc3df7432be200d469ee4d4b.

pip install git+https://github.com/scottkosty/vit@ffa7d9ac05f27338dc3df7432be200d469ee4d4b
Generate test data using the above script
Open vit's active report
Navigate

All settings are default/unconfigured due to VIT_DIR and TASKRC environment variables. AFAIK, those two variables are enough to separate from my normal installation.
Traceback:
Traceback (most recent call last):
  File "/home/user/.pyenv/versions/vit/bin/vit", line 11, in <module>
    load_entry_point('vit==2.0.0a1', 'console_scripts', 'vit')()
  File "/home/user/.pyenv/versions/3.7.3/envs/vit/lib/python3.7/site-packages/vit/command_line.py", line 5, in main
    Application(options, filters)
  File "/home/user/.pyenv/versions/3.7.3/envs/vit/lib/python3.7/site-packages/vit/application.py", line 74, in __init__
    self.loop.run()
  File "/home/user/.pyenv/versions/3.7.3/envs/vit/lib/python3.7/site-packages/urwid/main_loop.py", line 286, in run
    self._run()
  File "/home/user/.pyenv/versions/3.7.3/envs/vit/lib/python3.7/site-packages/urwid/main_loop.py", line 384, in _run
    self.event_loop.run()
  File "/home/user/.pyenv/versions/3.7.3/envs/vit/lib/python3.7/site-packages/urwid/main_loop.py", line 788, in run
    self._loop()
  File "/home/user/.pyenv/versions/3.7.3/envs/vit/lib/python3.7/site-packages/urwid/main_loop.py", line 825, in _loop
    self._watch_files[fd]()
  File "/home/user/.pyenv/versions/3.7.3/envs/vit/lib/python3.7/site-packages/urwid/raw_display.py", line 404, in <lambda>
    event_loop, callback, self.get_available_raw_input())
  File "/home/user/.pyenv/versions/3.7.3/envs/vit/lib/python3.7/site-packages/urwid/raw_display.py", line 502, in parse_input
    callback(processed, processed_codes)
  File "/home/user/.pyenv/versions/3.7.3/envs/vit/lib/python3.7/site-packages/urwid/main_loop.py", line 411, in _update
    self.process_input(keys)
  File "/home/user/.pyenv/versions/3.7.3/envs/vit/lib/python3.7/site-packages/urwid/main_loop.py", line 511, in process_input
    k = self._topmost_widget.keypress(self.screen_size, k)
  File "/home/user/.pyenv/versions/3.7.3/envs/vit/lib/python3.7/site-packages/urwid/wimp.py", line 648, in keypress
    return self._current_widget.keypress(size, key)
  File "/home/user/.pyenv/versions/3.7.3/envs/vit/lib/python3.7/site-packages/vit/application.py", line 64, in keypress
    return super().keypress(size, key)
  File "/home/user/.pyenv/versions/3.7.3/envs/vit/lib/python3.7/site-packages/urwid/container.py", line 1131, in keypress
    return self.body.keypress( (maxcol, remaining), key )
  File "/home/user/.pyenv/versions/3.7.3/envs/vit/lib/python3.7/site-packages/vit/base_list_box.py", line 116, in keypress
    self.list_action_executed(size, key)
  File "/home/user/.pyenv/versions/3.7.3/envs/vit/lib/python3.7/site-packages/vit/task_list.py", line 544, in list_action_executed
    self.event.emit('task-list:keypress', data)
  File "/home/user/.pyenv/versions/3.7.3/envs/vit/lib/python3.7/site-packages/vit/event.py", line 16, in emit
    listener(data)
  File "/home/user/.pyenv/versions/3.7.3/envs/vit/lib/python3.7/site-packages/vit/task_list.py", line 46, in task_list_keypress
    self.update_header(data['size'])
  File "/home/user/.pyenv/versions/3.7.3/envs/vit/lib/python3.7/site-packages/vit/task_list.py", line 103, in update_header
    self.update_project_column_header(size)
  File "/home/user/.pyenv/versions/3.7.3/envs/vit/lib/python3.7/site-packages/vit/task_list.py", line 117, in update_project_column_header
    self.set_project_column_header()
  File "/home/user/.pyenv/versions/3.7.3/envs/vit/lib/python3.7/site-packages/vit/task_list.py", line 123, in set_project_column_header
    (columns_widget, _) = self.header.original_widget.contents[column_index]
IndexError: list index out of range

OK, the problem was a report could have a project column configure, but still not output the column if it's completely empty.
https://github.com/scottkosty/vit/commit/d9cc44de72689e53dd7b23f4364131c9b9575a39 adds a test for the existence of the project column after empty columns have been cleaned.
Should fix your issue, lemme know.

By the way, would you mind if I included that script you posted in the official codebase? I think it could be enhanced and come in handy for debugging purposes.

Works fine now, thx!
Sure, include the script.

Are you sure this is fixed? I can reproduce on 2.0.0 with the testing script with this appended command:
task +LATEST modify project:foo && vit active

This results in the same error as initial report. I've verified my vit installation has the code changes in https://github.com/scottkosty/vit/commit/d9cc44de72689e53dd7b23f4364131c9b9575a39 fix.
Traceback (most recent call last):
  File "/Users/jngu/.local/share/virtualenv/bin/vit", line 11, in <module>
    sys.exit(main())
  File "/Users/jngu/.local/share/virtualenv/lib/python3.7/site-packages/vit/command_line.py", line 5, in main
    Application(options, filters)
  File "/Users/jngu/.local/share/virtualenv/lib/python3.7/site-packages/vit/application.py", line 74, in __init__
    self.loop.run()
  File "/Users/jngu/.local/share/virtualenv/lib/python3.7/site-packages/urwid/main_loop.py", line 287, in run
    self._run()
  File "/Users/jngu/.local/share/virtualenv/lib/python3.7/site-packages/urwid/main_loop.py", line 385, in _run
    self.event_loop.run()
  File "/Users/jngu/.local/share/virtualenv/lib/python3.7/site-packages/urwid/main_loop.py", line 790, in run
    self._loop()
  File "/Users/jngu/.local/share/virtualenv/lib/python3.7/site-packages/urwid/main_loop.py", line 818, in _loop
    self._entering_idle()
  File "/Users/jngu/.local/share/virtualenv/lib/python3.7/site-packages/urwid/main_loop.py", line 779, in _entering_idle
    callback()
  File "/Users/jngu/.local/share/virtualenv/lib/python3.7/site-packages/urwid/main_loop.py", line 574, in entering_idle
    self.draw_screen()
  File "/Users/jngu/.local/share/virtualenv/lib/python3.7/site-packages/urwid/main_loop.py", line 588, in draw_screen
    canvas = self._topmost_widget.render(self.screen_size, focus=True)
  File "/Users/jngu/.local/share/virtualenv/lib/python3.7/site-packages/urwid/widget.py", line 145, in cached_render
    canv = fn(self, size, focus=focus)
  File "/Users/jngu/.local/share/virtualenv/lib/python3.7/site-packages/urwid/wimp.py", line 641, in render
    self._update_overlay(size, focus)
  File "/Users/jngu/.local/share/virtualenv/lib/python3.7/site-packages/urwid/wimp.py", line 621, in _update_overlay
    canv = self._original_widget.render(size, focus=focus)
  File "/Users/jngu/.local/share/virtualenv/lib/python3.7/site-packages/urwid/widget.py", line 145, in cached_render
    canv = fn(self, size, focus=focus)
  File "/Users/jngu/.local/share/virtualenv/lib/python3.7/site-packages/urwid/container.py", line 1086, in render
    focus and self.focus_part == 'body')
  File "/Users/jngu/.local/share/virtualenv/lib/python3.7/site-packages/urwid/widget.py", line 145, in cached_render
    canv = fn(self, size, focus=focus)
  File "/Users/jngu/.local/share/virtualenv/lib/python3.7/site-packages/urwid/wimp.py", line 602, in render
    canv = self.__super.render(size, focus)
  File "/Users/jngu/.local/share/virtualenv/lib/python3.7/site-packages/urwid/widget.py", line 145, in cached_render
    canv = fn(self, size, focus=focus)
  File "/Users/jngu/.local/share/virtualenv/lib/python3.7/site-packages/urwid/widget.py", line 1761, in render
    canv = get_delegate(self).render(size, focus=focus)
  File "/Users/jngu/.local/share/virtualenv/lib/python3.7/site-packages/urwid/widget.py", line 145, in cached_render
    canv = fn(self, size, focus=focus)
  File "/Users/jngu/.local/share/virtualenv/lib/python3.7/site-packages/vit/task_list.py", line 496, in render
    self.event.emit('task-list:size:change', data)
  File "/Users/jngu/.local/share/virtualenv/lib/python3.7/site-packages/vit/event.py", line 16, in emit
    listener(data)
  File "/Users/jngu/.local/share/virtualenv/lib/python3.7/site-packages/vit/task_list.py", line 385, in size_changed
    self.update_header(data['new_size'])
  File "/Users/jngu/.local/share/virtualenv/lib/python3.7/site-packages/vit/task_list.py", line 104, in update_header
    self.update_project_column_header(size)
  File "/Users/jngu/.local/share/virtualenv/lib/python3.7/site-packages/vit/task_list.py", line 122, in update_project_column_header
    self.set_project_column_header(parents)
  File "/Users/jngu/.local/share/virtualenv/lib/python3.7/site-packages/vit/task_list.py", line 130, in set_project_column_header
    (columns_widget, _) = self.header.original_widget.contents[column_index]
IndexError: list index out of range

Setting indent_subprojects = False works around this. I can open a new ticket but this might be yet another edge case that was unaccounted for.

This one really has been brutal...
Project column index was not being calculated correctly with some column cleaning scenarios.
Hopefully https://github.com/scottkosty/vit/commit/811c480ce9fa491cf419e04310bf49cbe7093e2d will put this one to bed for good, please test.

@thehunmonkgroup  just tested it out and it's working now, thanks!


How is the atk/def % determined?

Hi, I have a perfect moveset hitmonchan. When I did a nickname, I got:
99% and 78%.
{attack_pct2} and {defense_pct2}
However, from
http://www.pokemongodb.net/2016/05/hitmonchan.html
I got:
Ideal Moveset for Hitmonchan:
Move:	Rock Smash	Brick Break
Category:	Fast	Charge
DPS:	10.6	18.8
Rank (DPS):	#57	#65
DPS (w/ STAB):	13.3	23.4
Rank (w/ STAB):	#23	#39

perfect moveset for attack or for defense ?

No response in 2 days. Closing as this is a question, not an issue.


Nested tables are not supported

I am using nested tables on a document (an entry in a table contains a table) but this is not properly shown on the page, with the nested table showing up as a separate table, and breaking any content of the initial table in the process.
I also tried using an HTML table for any nested tables but this also failed, with the page becoming completely messed up in the process. (It looked like when a table is within a table, the wiki assumes all tables are contained within each other which isn't right).

@JeisonSalazar Thank you for your feedback. The issues in this repo are for content feedback, can you let me know the URL of the article that goes with this feedback so I can pass it along to the correct author? If this is a product issue (something not working properly, or a feature request), please file an issue here: https://developercommunity.visualstudio.com/spaces/21/index.html
Thank you.

@JeisonSalazar I'm closing this issue since it is not associated with a topic. To continue the discussion, please open a new issue that is associated with a topic by browsing to the topic on docs.microsoft.com and choosing Content feedback at the bottom. Thank you for your feedback.


⚠ Bofrost.at has degraded performance

In 293b6b9, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1885 ms

Resolved: Bofrost.at performance has improved in f5c765c after 20 minutes.


module 'keepa' has no attribute 'Api'

Brief example should be showing the following:
import keepa

accesskey = 'XXXXXXXXXXXXX' # enter real access key here

api = keepa.Keepa(accesskey)

# Single ASIN query
products = api.query('B0088PUEPK') # returns list of product data

# Plot result (requires matplotlib)
keepa.plot_product(products[0])

As api = keepa.Api(accesskey) line is throwing an error saying:
module 'keepa' has no attribute 'Api'

My bad.  Fixed in 4d66ce9.


I can't run tests when i completed --> "Replacing If Else Chains with Switch"  ???

Replacing If Else Chains with Switch

Challenge Name

Replacing If Else Chains with Switch
https://www.freecodecamp.com/challenges/replacing-if-else-chains-with-switch
Issue Description

I can't run tests to check my answer!
Browser Information

Browser Name, Version:  Chrome 56
Operating System: Windows 7
Mobile, Desktop, or Tablet:  Laptop

Your Code

function chainToSwitch(val) {
  var answer = "";
  // Only change code below this line
 switch(val) {
  case "bob":
     answer = "Marley";
     break;
  case 42 :
     answer = "The Answer";
     break;
  case 1 :
     answer = "There is no #1";
     break;
  case 99 :
     answer = "Missed me by this much!";
     break;
  case 7 :
     answer = "Missed me by this much!";
     break;
  default :
     answer = "";
}

}

// Change this value to test
chainToSwitch(7);

Screenshot

Nothing happened when i click "Run tests" ???
pls tell my why?

Thank you for reporting your issue.
Your code is wrong. You are not returning anything
This is a standard message notifying you that this issue seems to be a request for help. Instead of asking for help here, please click the "Help" button on the challenge on freeCodeCamp, which will take you to the help chatroom for that specific challenge. You can also view our full list of official chatrooms.
If you think I'm wrong in closing this issue, please reopen it and add further clarification.
Thank you, and happy coding.


中文文档已经ui变形了

中文文档已经ui变形了 css加载404 赶紧修一修吧

Hey there @bob-dw! 👋
https://zh-hans.react.dev appears to be loading correctly for me. Is there any specific URL that's not working for you?

Thanks! ❤


state: adds offset access and manipulation

Description
Adds offset access and manipulation. Fixes #495.
Testing guidelines
I have a few structs that keep the table state. I use this trait ScrollableTable for each of these to attach actions like scroll up/down, etc. I've added this fn recenter to test offset manipulation. ListState should be pretty much analogously.
Note that I haven't added tests per se, because I think that these kinds of accessor/mutator functions are quite obvious.
use tui::layout::Rect;
use tui::widgets::TableState;

pub trait ScrollableTable {
    fn size(&self) -> Rect;
    fn state(&self) -> &TableState;
    fn state_mut(&mut self) -> &mut TableState;

    fn recenter(&mut self) {
        if let Some(selected) = self.state().selected() {
            let height = self.size().height as usize;

            let offset = self.state_mut().offset_mut();
            *offset = selected.saturating_sub(height / 2);
        }
    }
}

Checklist

[x] I have read the contributing guidelines.
[ ] I have added relevant tests.
[x] I have documented all new additions.

cargo make does not seem to be compatible with rustc 1.56.1:
error: failed to compile `cargo-make v0.35.8`, intermediate artifacts can be found at `/tmp/cargo-install52QPLl`

Caused by:
  package `os_str_bytes v6.2.0` cannot be built because it requires rustc 1.57.0 or newer, while the currently active rustc version is 1.56.1
Error: Process completed with exit code 101.


Docs contain depreciated reference to deprecated Django function

Pertinent section of the Wagtail docs

https://docs.wagtail.io/en/v2.12.3/reference/hooks.html#insert-editor-js
Details

The docs reference from django.templatetags.static import static, but that has been deprecated since 2.1, and was removed in 3.0:
https://docs.djangoproject.com/en/3.0/releases/2.1/#id2
(Write your answer here.)

Actually, I think this is incorrect.


Restructure test environment api

part of: https://github.com/creek-service/creek-system-test/issues/105
While restructuring the API in other PRs relating to this issue, also add concept of TestEnvironment where tests run.
Reviewer checklist

[ ] Ensure relevant issues are linked (description should include text like "Fixes #")
[ ] Ensure any appropriate documentation has been added or amended

Coverage increased (+0.2%) to 99.207% when pulling 4fa1608faad47ab80e85ba73658d3e773c7b4344 on test_enmv into 3e119c8972e845b88d5ae6e1ea34fed7b02f087c on main.


Release 2.2.0

Questions
Answers

Description?
Release 2.2.0

Type?
improvement

BC breaks?
no

Deprecations?
no

Fixed ticket?
N/A

Sponsor company
@PrestaShopCorp

How to test?
Release Test

@Progi1984
I'm not sure about the versioning. If we change min compact to the next major, maybe we should introduce v3? ;-) What do you think?

@kpodemski If a decision is took, please create an ADR for the future.

Waiting for https://github.com/PrestaShop/blockwishlist/pull/211

🚀


Icon alignment issue when icon tree shaking is enabled for Flutter Web

An Google app is having an issue where icons are not aligned properly when icon tree shaking is enabled. This is occurring on Web with the HTML renderer.
Example:

See internal bug b/278484455 for more details and repro instructions.

We originally thought the team was seeing this issue: https://github.com/flutter/flutter/issues/127270, but https://github.com/flutter/flutter/pull/128302 did not fix the issue, sadly.

it turns out that https://github.com/flutter/flutter/pull/128302 only fixes the open source workflow, and the internal one requires an additional fix.

Closing as the internal bug was resolved


Freeze flexsearch version to prevent breaking api change

New installs of flexsearch had a breaking API change for a patch version bump. This freezes the version. Need to slightly modify flexsearch Index if wanting to use latest version.

@xiaohk done!

Thank you so much!


Implement a handlebars transformer for handlebars support

Using this method would allow for better support of handlebars in Gatsby. It would also gives us more control of the build.
This would be an iteration on #111
More context can be seen here: https://github.com/patternfly/patternfly-next/pull/120#discussion_r179473027
@dmiller9911 Anything that I missed?

Closing as this might not be necessary for now


Add use_debanding render mode and property to spatial shaders

This works with all rendering methods, but is most suited to the Mobile and Compatibility rendering methods which lack precision in their color buffer.
When using Forward+, this can still be useful to prevent occasional ringing artifacts that occur with viewport debanding (at the cost of a slightly more visible dithering pattern).
It is possible to use both material and viewport-based debanding at the same time, but it's not recommended as it doesn't bring much of a benefit.
This is available for use in custom spatial shaders with the use_debanding render mode, similar to sky shaders.

This closes https://github.com/godotengine/godot-proposals/issues/4193.

Testing project: test_material_debanding.zip
Preview
Click to view at full size (images must be compared at their original size).
Forward+

No debanding
Viewport-based debanding
Material-based debanding
Both debanding

Mobile

No debanding
Viewport-based debanding
Material-based debanding
Both debanding

With debanding applied after the division by `sc_luminance_multiplier` (looks too strong)

No debanding
Viewport-based debanding
Material-based debanding
Both debanding

Compatibility

No debanding
Viewport-based debanding
Material-based debanding
Both debanding

Actually, that brings an interesting topic to mind, how much will debanding effect game streaming..

Lossy compression will generally destroy any form of dithering pattern (especially subtle ones), so streaming shouldn't be noticeably affected by debanding.

Is there a use-case for toggling debanding on a single material but not others?

Yes, flat-color materials (or materials with textures that are used with "UV keying" techniques) typically need it more than materials with detailed textures.

Yes, flat-color materials typically need it more than materials with detailed textures. However, since textures are sometimes used for materials that look flat-color (but are still using a texture), we can't enable debanding only on untextured materials.

Would there be harm in having debanding enabled on textured materials even when not needed? Is your concern for the performance overhead?
I'm trying to figure out if there is a use-case for a user to go and enable this project setting on materials individually. From what I can tell it makes more sense as an all-or-nothing setting where it applies to all materials or none.

Is your concern for the performance overhead?

Yes, it may be non-negligible if you have overdraw in your scene when using the mobile renderer. If this isn't important for your target hardware, the project setting to force debanding on all materials would address this.

I've looked into converting this into a project setting and have pushed an additional commit. However, it doesn't appear to work and am not sure how to get it working in Compatibility as well. I see the GLES3 scene shader has a spec_constant emulation still.
However, should we be using a different shader version or specialization constant here? It's a setting that won't be toggled during gameplay after all, so I'm not sure if we should use up space in the specialization constant map for this (in Forward+/Mobile, that is).

However, should we be using a different shader version or specialization constant here? It's a setting that won't be toggled during gameplay after all, so I'm not sure if we should use up space in the specialization constant map for this (in Forward+/Mobile, that is).

In the RD renderers we have a set of spec constants that don't change frequently. I would use spec constants and then group it with those.
https://github.com/godotengine/godot/blob/17e7f85c06366b427e5068c5b3e2940e27ff5f1d/servers/rendering/renderer_rd/forward_clustered/render_forward_clustered.cpp#L4083-L4084
The reason this is preferable is so that users can change the setting for all materials without restarting the editor.
https://github.com/godotengine/godot/blob/17e7f85c06366b427e5068c5b3e2940e27ff5f1d/servers/rendering/renderer_rd/forward_clustered/scene_shader_forward_clustered.cpp#L834
If you were to make a shader version then you wouldn't have an easy way to invalidate all shaders and update (as you only set the version at shader compile time).

Here is a stress test. Please consider changing to dither.rgb - 0.8 for better results, because otherwise when using blend_add materials the dithering patter starts to stand out on overlapping meshes.
Original scene, no dither:

Different subtraction values (I suggest dither.rgb - 0.8):

Currently, with dither.rgb - 0.5 the pattern is visible even on absolutely black overlapping materials:

Here is a stress test. Please consider changing to dither.rgb - 0.8 for better results, because otherwise when using blend_add materials the dithering patter starts to stand out on overlapping meshes.

We should probably disable the dither altogether for non-opaque surfaces. Shifting the dither by 0-8 will introduce stronger dithering artifacts for brighter scenes

Here is a stress test. Please consider changing to dither.rgb - 0.8 for better results, because otherwise when using blend_add materials the dithering patter starts to stand out on overlapping meshes.

We should probably disable the dither altogether for non-opaque surfaces. Shifting the dither by 0-8 will introduce stronger dithering artifacts for brighter scenes

Is that the case for blend_add, when ALPHA is not involved? What kind of solution the above scene would benefit from if dithering is disabled?
And also, can this sort of dithering be done in .gdshader on demand then?

Is that the case for blend_add, when ALPHA is not involved? What kind of solution the above scene would benefit from if dithering is disabled? ~And also, can this sort of dithering be done in .gdshader on demand then?~ Edit: never mind, I can just implement it in .gdshader then.

Anything with blend_add is non-opaque. So yes, it would apply even when ALPHA is not involved. The problem is the dithering takes place in screen space. So if you add a material multiple times, then the dither is applied the same way to the same pixel and makes it much stronger.
The other alternative would be to rotate the dithering samples per material to ensure that they don't line up. That might be possible, but it would make the approach much more complex.

The other alternative would be to rotate the dithering samples per material to ensure that they don't line up. That might be possible, but it would make the approach much more complex.

This is something I toyed with for distance fade using INSTANCE_ID. If it's a simple translation offset, it's cheap but still quite effective in my experience.

Also, just in case, I suggest to tweak debanding constants in the project shader for the best psttern look across all colors. For instance: https://github.com/roalyr/GD4Lancer/blob/main/Assets/Shaders/Clouds/Cloud_cull_front.gdshader

Material debanding fails on refractive materials.

@RadiantUwU The banding doesn't come from a lack of color buffer precision, but because bilinear scaling is used instead of something more elaborate like bicubic scaling. See https://github.com/godotengine/godot/pull/86047.

@RadiantUwU That "banding" in refractions doesn't come from a lack of color buffer precision, but because bilinear scaling is used instead of something more elaborate like bicubic scaling. See #86047.

The issue was the material somehow disappeared after it re-imported a glb file. It's resolved.


Playing Song at particular Index "jukeboxDidLoadItem" are call multiple time

Like I have 8 Song. I am Tap on  7 number Song so jukeboxDidLoadItem call 3 Time. We Dont have idea how it call 3 Time.
Song List have Mixed Song like 3 From Server and 4 are in Bundle.
jukebox.play(atIndex: 0)

It's working fine for me, if possible, can you create a sample project and send, maybe I can help?

Else you can try the code that I have edit. My code has also resolved background playing program and problem with interruptions.
Write following line in podfile to get my code:
pod 'Jukebox' , :git => 'https://github.com/RajChanchal/Jukebox.git',  :branch => 'master'


Documentation: inconsistent use of "isa and platform yamls" vs. "ISA and Platform yamls"

I am going through the entire documentation preparing spelling, grammar, consistency fixes.
This are all small/trivial/cosmetic changes.
What would be the preferred capitalization of the phrase in the issue title? I encountered both versions.

Using consistent capitalization would certainly be preferable.

OK, I will use the capitalized version "ISA and Platform yamls" in my documentation pull request.


Bug in trim section determination for spectroscopy

There is a hardcoded value and the data shape is ignored.

Spectroscopy
Here are the calculated values. This is only for the predefined modes. If a custom mode is used, the user (and pipeline) will have to rely on the values that come in the header.

Spectroscopic Mode
TRIMSEC
OVERSCAN  RED
OVERSCAN BLUE

Spectroscopic 1x1
[51:4110,2:1896]
[6:49,1:1896]
[1:16,1:1896]

Spectroscopic 2x2
[26:2055,2:948]
[3:24,1:948]
[1:8,1:948]

Spectroscopic 3x3
[17:1370,2:632]
[2:16,1:632]
[1:5,1:632]

Imaging
TRIMSEC keyword is OK.
OVERSCAN does not exist.

This change was implemented on Goodman Software but has not been tested on the pipeline.

This is working now.


Added Missing functions to the fabric.util class

Found some missing properties from the fabric.util namespace when
converting this example to TypeScript. http://fabricjs.com/animated-sprite/
Added in the missing functions from the the latest fabric master.

@joewashear007 Thanks mate!


grep multiple -e option issue

toybox assembles this pattern when you use multiple -e options for grep
grep -e P1 -e P2 -e P3 ...
pattern = P1|P2|P3
But the use of the pipe is only valid when using extended patterns using regcomp (http://pubs.opengroup.org/onlinepubs/009695399/functions/regcomp.html and http://pubs.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap09.html)
While this works on Linux for some reason I haven't dug into, it fails on systems where regcomp works as intended such as using this library: https://github.com/laurikari/tre/
When using basic regular expressions in the above example, it should create 3 patterns and iterate them over the input to detect if any of them match. Else the pattern never matches anything and the test fails.

I hadn't seen the new version which I think fixes the issue in commit https://github.com/landley/toybox/commit/ca3528d7bf9709c996344f7fe7bd5702f1a00d27


Make the Setup Instructions beginner friendly

Describe the bug
The instructions to be followed aren't clear and will present newbies to RoR with a lot of problems. A detailed step with a code snippet should be provided.
Desktop (please complete the following information):

OS: Linux
Browser: Chrome

Additional context
For instance, instead of "Install ruby using RVM, use ruby-2.5.1", the instruction should be like -
Install rvm from rvm.io
Using rvm: rvm install 2.5.1 followed by rvm use 2.5.1
More such issues of documentation should be catered to.

A better approach would be to add setup scripts for Windows and Linux environments. Something on the lines of this. This would make the instructions as easy as running a bash script.

Sure, I'll look into it but the setup instructions here are also very user friendly and easy to comprehend. Do have a look.


Letter spacing in the rendered PDF

<EMAIL_ADDRESS>commented:

Which version of PhantomJS are you using? Tip: run 'phantomjs --version'.

1.8.0
What steps will reproduce the problem?

Capturing a webpage which has "Trebuchet MS" font face.

What is the expected output? What do you see instead?

Properly spaced.

Which operating system are you using?
Windows 7 HP 64bit
Did you use binary PhantomJS or did you compile it from source?
Binary
Please provide any additional information below.

Disclaimer:
This issue was migrated on 2013-03-15 from the project's former issue tracker on Google Code, Issue #944.
:star2:   4 people had starred this issue at the time of migration.

The solution here https://github.com/wkhtmltopdf/wkhtmltopdf/issues/45 solved the problem. So you need to update the .conf file and change the update rate from server. I used CentOS 6 and it worked.


Add sleep

I think that when asynchronous processing is executed in Promise, it needs to sleep asynchronously.
This is related to #288.
export default function sleep (ms) {
  return new Promise(resolve => setTimeout(resolve, ms))
}

I think it is necessary because it is only 3 lines.

I don't think we should add this method to vue-test-utils.
You could create an npm package, and we could recommend its use. At the moment we recommend flushPromises, which doesn't give you the option to wait for chosen milliseconds.
But this function is out of scope for a Vue test library in my opinion. It's not Vue specific.

@eddyerburgh
I am very sorry.
I mistook the input.
I did not enter "not".
Correctly, "I think it is not necessary because it is only 3 lines."
I am sorry for hurting your feelings.


Add support for running docker-entrypoint.d scripts

Should fix #74

Could you please document it in Readme and maybe add an example script and commented out mounting of that script into docker-compose.yaml? Otherwise the feature would be there but no one would know about it.

@paskal done

@paskal that's correct, envusbst substitution is part of official nginx image.
Yes, I've tested docker-compose and it works as expected

@paskal sup. Just wondering when this PR will be merged? I need this feature too


Add environment variables to execution spec

TL;DR
blocked by https://github.com/flyteorg/flyteidl/pull/400
Add environment variables to execution spec, allowing people to add env at execution time

Create execution with environment variables
Override environment variables when relaunching
Override environment variables when recovering

Type

[ ] Bug Fix
[x] Feature
[ ] Plugin

Are all requirements met?

[x] Code completed
[ ] Smoke tested
[ ] Unit tests added
[ ] Code documentation added
[ ] Any pending items have an associated Issue

Complete description
^^^
Tracking Issue
https://github.com/flyteorg/flyte/issues/2447
Follow-up issue
NA

blocked by IDL pr https://github.com/flyteorg/flyteidl/pull/400


Add content/en/idempotence.md

Spellcheck CI fails.
@shambashib20 Adding a word idempotence to wordlist.txt will solve the problem!

Please help me updating the wordlist.txt. Whenever I am going to update it, it shows me a new patch branch and then it raises a new pr.
What to do?

I guess I worked it out! Can you check my whole pr @JasonMorgan , @jihoon-seo ?

Thanks a lot! It means a lot to me! Can you guys help me finding another issue on which I can work?

Thanks a lot! It means a lot to me! Can you guys help me finding another issue on which I can work?

The best issue is the term you understand well and feel comfortable working on. Which one that is, depends on your knowledge :)


Multiple assignment support

This issue has been reflected in v0.6.
https://github.com/shapoco/calctus/releases/tag/v0.6.8857.6956-beta


Cannot fold region if indented in C#

VSCode Version: 1.1.1
OS Version: OSX El Capitan

Steps to Reproduce:

Create a C# file
add a region with the # in the first column of the line
see that you can fold it
add a tab or a space before the #
see that you can't fold it

So far we only support indent based folding. https://github.com/Microsoft/vscode/issues/3422 is about adding language aware folding.


Access Remote Computer Via A Proxy Server In PS

Summary of the new feature/enhancement
I am not sure whether it works with New-PSSessionOption
In my enterprise env,
My computer is A-COMPUTER, my server is B-SERVER, production computers is ALL-COMPUTERS (located in different subnet).
From A-COMPUTER, I can access B-SERVER,  from B-SERVER, I can access ALL-COMPUTERS.
But I can not access All-COMPUTERS from A-COMPUTER.
But I want to access All-COMPUTER from A-COMPUTER directly.
Can I make B-SERVER as a proxy , then A-COMPUTER use S-SERVER as a gateway to access All-COMPUTERS.
But what kind of proxy I need to setup on B-SERVER , and how to use this proxy within PS.
I know how to use credssp to access send hop , but seems only can manipulate the send hop using some kind of cmdlet like invoke-command , I can't enter a new PSSession within an exist PSSession

Proposed technical implementation details (optional)

You can use explicit user/password for second hop.

I don't think double hop is allowed in PowerShell remoting. /cc @PaulHigin for comments.

I can't enter a new PSSession within an exist PSSession

PowerShell used to restrict double hop within the Enter-PSSession cmdlet.  However, this restriction was removed in PowerShell version 6-something by I think @SteveL-MSFT.  Invoke-Command always allowed a double hop.
However, Windows OS itself prevents a second hop since the WinRM remoting session is based on Kerberos credential-less log on.  So there is no way to do a second hop without providing credentials, either via credssp or PSCredential.  But this is not recommended since the credentials passed to the target machine are vulnerable even though an attempt is made to be keep them secure.

Doc reference https://docs.microsoft.com/en-us/powershell/scripting/learn/remoting/ps-remoting-second-hop?view=powershell-7


Bump importlib-metadata from 6.0.0 to 6.1.0 (#5712)

Pull request opened by the merge tool on behalf of #5712

Merged in 9dacdf5bc197345fb5dcf9c1a00cebf94adb1dc6


consolidate nugets

Summary of the Pull Request

PR Checklist

[ ] Closes: #xxx
[ ] Communication: I've discussed this with core contributors already. If work hasn't been agreed, this work might be rejected
[ ] Tests: Added/updated and all pass
[ ] Localization: All end user facing strings can be localized
[ ] Dev docs: Added/updated
[ ] New binaries: Added on the required places

[ ] JSON for signing for new binaries
[ ] WXS for installer for new binaries and localization folder
[ ] YML for CI pipeline for new test projects
[ ] YML for signed pipeline

[ ] Documentation updated: If checked, please file a pull request on our docs repo and link it here: #xxx

Detailed Description of the Pull Request / Additional comments

Validation Steps Performed

/azp tun

Just wondering if there is a way to check if packages are consolidated in the solution using dotnet.exe or nugget.exe
Pipeline could check that!

So many things I want like this :)


Updating csh-ldap and rq

Updating important packages in rq and csh-ldap

csh-ldap should be a safe update
rq may not be, but, we should move up and fix incompatibilities. Especially since rq uses outdated sentry sdk

Did you check that rq at least starts with your changes?

How would I check that? Is there a way to run this locally?
I tried ./start_worker.sh and changed the path to my local rq instance and it died on connecting to redis Error 61 connecting to localhost:6379. Connection refused.

Alright good enough for me


[Proposal] Allow languages to customize package/namespace structure of generated proto APIs

Hi folks,
I have a proposal (incl. a sample solution) that I would like to discuss. If folks find the following interesting in general, I have a draft PR, for which I'd love to collect feedback.
Here, I am making a critical assumption on which the need to this proposal is based. Let us assume that the assumption is, at least partially, correct. If there are strong concerns with it, we can get back to it later:

Most developers using some particular language come from not-yet-being Temporal-users to being Temporal-users in their preferred language of choice. Comparatively very few actually use Temporal in different languages. Therefore, while consistency is important, we must be prepared to make improvements in some languages that cannot be made in other languages (for back-compat or other reasons), even if that affects consistency across languages. That is not to dismiss the importance of consistency. Yet, still, language-specific improvements must be possible not only in areas of language-specific idiomatic use.

Here, I am proposing an improvement of that kind. 😃
Context
Our proto files specify, among other things, what package names (aka namespaces) the generated language APIs should have in various target languages. So far we have left them unchanged, simply following the directory structure in the API repo. For established languages this is now a done deal, as changing the package names is a compatibility break. For new / not-established languages, we may have some more flexibility to improve things (if needed).
Problem
While designing and developing the .NET SDK I have met the need to constantly import a multitude of Temporal.Api.Xyz namespaces. It feels quite redundant and annoying. Doing it once is not a big deal. But in practice, you have to do it for EVERY SINGLE FILE that uses Temporal's data contracts in your application. And in a non-trivial application, that can be quite many files. Java users may not fully appreciate this, as they can simply import Temporal.Api.*, but such a wildcard syntax does not exist in all languages.
Of course, the IDE can help doing this quickly. But just like with the *-syntax, the convenience of it varies across tools and environments. Some developers simply prefer using notepad-like editors. In other cases, the advanced IDEs' convenience factors for this particular scenario vary too. For example, Visual Studio does not automatically import namespaces for good reasons that go beyond the scope of this discussion. Instead, you have to click on a type that is not yet "found" (or hit a hot-key while the cursor is there) and then select an item in the appearing drop-down menu, and VS will then import the namespace. You have to do it every time a type is not found. In our case - once per required Temporal namespace in each file that needs that namespace. So basically - a lot.
Solution
One of our guiding principles is focus on our users/developer. And we can make their lives better by improving on the package/namespace structure of temporal APIs. Crucially, we can only do it for new or almost new Temporal languages.
For example, for .NET, I would consider it a great story to reduce all the namespaces to the following four:
Temporal.ServiceApi.V1.WorkflowService
Temporal.ServiceApi.V1.OperatorService
Temporal.ServiceApi.V1.DataModel
Temporal.ServiceApi.V1.DataModel.ErrorDetails

Explanation:
Root namespace: Temporal.ServiceApi.V1....

Temporal.ServiceApi..., not Temporal.Api...
From the perspective of the user, it is the service API. For us, of course, it is the API. But the user is faced with several Temporal APIs. At the very least, there is the SDK, but in some cases, it is structured further (the worker SDK, the activity completion client, command-line tools, ...). This particular API is just one of several. Specifically, the service-API.
Temporal.ServiceApi.V1.Area, not Temporal.ServiceApi.Area.V1.
The latter choice we took in early languages, but it seems strange. If we have a V2, who is to say that it will have the same structure? If we have the version name on the package name, it should perceed the specifics to allow a different organization in a potential V2.

Temporal.ServiceApi.V1.WorkflowService
The RPC declarations (and only the RPC declarations) for the workflow service. No data exchange types. Essentially, what is currently declared in workflowservice/v1/service.proto.
Temporal.ServiceApi.V1.OperatorService
The RPC declarations (and only the RPC declarations) for the operator service. No data exchange types. Essentially, what is currently declared in operatorservice/v1/service.proto.
Temporal.ServiceApi.V1.DataModel
All data exchange types. There is no reason for distinct namespaces. For the user, this is the data model for interacting with the Temporal service. Currently, this includes everything that is not in the other namespaces.
Temporal.ServiceApi.V1.DataModel.ErrorDetails
The contracts here are special because they are not really part of the API. In fact, to my knowledge, currently only Go, Java, Python, and C++ actually support the gRPC richer error model on which these are based.
Engineering considerations
I prototyped making the proposed improvement for .NET while leaving other languages unchanged.
Initially, it required to changing the namespace setting in each file accordingly. E.g.:
option csharp_namespace = "Temporal.Api.Workflow.V1";

to
option csharp_namespace = "Temporal.ServiceApi.V1.DataModel";

Unfortunately, that is not enough. The thing is that some proto compilers use the file name as a container name when grouping generated code. If the same file name exists in different namespaces, it is not a problem. However, the same file name cannot exist in the same namespace/package more then once, even if it is placed in different directories. Yet, call almost everything message.proto. I addressed that with a structural renaming. E.g.:
temporal/api/common/v1/message.proto --> temporal/api/common/v1/common-message.proto
temporal/api/failure/v1/message.proto --> temporal/api/failure/v1/failure-message.proto
temporal/api/taskqueue/v1/message.proto --> temporal/api/taskqueue/v1/taskqueue-message.proto
. . .
This did the trick and the protos compiled just fine. Only the .NET generated files should be different from before. Here is a draft PR: https://github.com/temporalio/api/pull/170.
Note, however, that once we are already forced to do a file renaming like above, we are missing an opportunity to remove some redundant characters in the file names. For example:
temporal/api/common/v1/message.proto --> temporal/api/v1/common-message.proto
temporal/api/failure/v1/message.proto --> temporal/api/v1/failure-message.proto
temporal/api/taskqueue/v1/message.proto --> temporal/api/v1/taskqueue-message.proto
. . .
As a result of that, all the files end up in the same directory. Whether or not it is a good thing is a matter of taste, but I am pretty sure that many people will find it very convenient.
 Directory of c:\Code\SDK-DotNet\api\temporal\api\v1

2022-03-31  16:21            11,857 command-message.proto
2022-03-31  16:21             4,829 common-message.proto
2022-03-31  15:35             2,432 enums-command_type.proto
2022-03-31  15:35             2,083 enums-common.proto
2022-03-31  15:35             8,937 enums-event_type.proto
2022-03-31  15:35             5,059 enums-failed_cause.proto
2022-03-31  15:35             2,002 enums-namespace.proto
2022-03-31  15:35             2,155 enums-query.proto
2022-03-31  15:35             1,716 enums-reset.proto
2022-03-31  15:35             2,685 enums-task_queue.proto
2022-03-31  15:35             5,212 enums-workflow.proto
2022-03-31  16:22             3,361 errordetails-message.proto
2022-03-31  16:22             3,510 failure-message.proto
2022-03-31  16:23             2,130 filter-message.proto
2022-03-31  16:22            33,088 history-message.proto
2022-03-31  16:24             3,709 namespace-message.proto
2022-03-31  16:24             3,189 operatorservice-request_response.proto
2022-03-31  16:24             3,622 operatorservice-service.proto
2022-03-31  16:24             2,655 query-message.proto
2022-03-31  16:24             1,893 replication-message.proto
2022-03-31  16:24             3,049 taskqueue-message.proto
2022-03-31  16:24             2,431 version-message.proto
2022-03-31  16:24             5,547 workflow-message.proto
2022-03-31  16:24            33,634 workflowservice-request_response.proto
2022-03-31  16:24            18,122 workflowservice-service.proto
              25 File(s)        168,907 bytes

I validated that it compiles fine to .NET, using the proposed namespace structure.
Other languages should be unchanged. However, the file renaming offers other (new) languages the option to do their own namespace mappings if they wish to.
If people are interested in this proposal, I'd be more than happy to validate all other relevant languages to remain unaffected by this restrucuting of source file locations.
Here is a draft PR: https://github.com/temporalio/api/pull/171.
Please, le me know what you think.

I think you are confusing Protobuf packages with .Net ones. There is no reason you couldn't alter your code generator to group several of these together, change their names, change their .Net namespace, whatever. You don't need to do anything to this API.
I have had many cases where I move generated classes around, rename them, etc harmlessly. This does not affect the source protos nor should it.  In fact, you probably should as the default protoc for most languages is ugly. If that means as part of your build script you take the protos and move them around the way your draft PR does, no problem. That doesn't need to affect this repository. We do some advanced proto generation post-processing in the Python SDK for example.

You don't need to do anything to this repository to get the protos the way you want for your SDK.

Absolutely. However, option csharp_namespace is used for nothing other than lang data-model generation. Why would we give it one value here, if we know that we prefer to use another value in the SDK? I would much rather see a consistency within a language, between what we display here, as a part of our API definition and what you actually encounter in a lang SDK. That would also make the likelihood of something getting out of sync much smaller and the build scripts much simpler.
Conversely, the between languages consistency, is -while nice - less important. Languages should follow their preferred design principles when creating namespaces. As an example, if one language has the wildcard (*) syntax and thus, traditionally more fine-grained package names, they should be able to follow that tradition without forcing it on other languages.

Also, even if for some reason we decided to have a different value for option csharp_namespace here and in the SDK, the proposed file-name refactoring would make it heaps easier for .NET and every language who wants to consider something similar.

Languages should follow their preferred design principles when creating namespaces.

I am not sure the difference between "ServiceApi" and "Api" is a language-specific concern.

the proposed file-name refactoring would make it heaps easier for .NET and every language who wants to consider something similar.

This is not true though. It is actually easier for most languages' protoc generators if protos for separate proto packages are in separate directories. We had to refactor core protos at https://github.com/temporalio/sdk-core/pull/255 to basically do the opposite of this so that the same dir didn't have two of the same unqualified message in it. The two reasons I gave in that issue:

Often code generators may choose to use the proto dir/import path instead of the proto package name to choose where to place files
It is confusing for an importer to not know based on import what proto package is being used

Unfortunately protoc in each language leaves a lot to be desired and most languages have to adapt the result to their needs. I understand this makes it tough for .Net, but I don't think anything short of maybe csharp_namespace should be changed here.

Often code generators may choose to use the proto dir/import path instead of the proto package name to choose where to place files

Interesting point. I guess, the protoc compilers are quite different across languages. Perhaps the first proposed PR (https://github.com/temporalio/api/pull/170) highlights a better direction (rather than the second like I thought initially). There, the proto files are kept in the same directories as today (unchanged), but the file-names are made unique (e.g. temporal/api/taskqueue/v1/message.proto --> temporal/api/taskqueue/v1/taskqueue-message.proto). Perhaps, despite the redundancy, it is the best of both worlds, because it allows language compilers with various assumptions to do the right thing?

It is confusing for an importer to not know based on import what proto package is being used

Could you please clarify on this? Under what circumstances in this an issue?


Add build now button

:+1:

better, but we can do more!
Let's keep all data fetching/loading/communication with the actions in our container components (eg in this case moduleContainer), and pass the data and functions to call the data down as props. We shoudl keep all promise related stuff in the actions (we shouldn't have stuff like .then(() => { in the view components), views should just consume props as data/functions, and manipulate state. Instead have your build() method call a function that is passed down as props from the moduleContainer. Take a look at the starring feature that I refactored (look at persistStarChange in /components/sidebar/BuildsSidebarContainer.jsx, and see how starActions communicates with the starStore, passing down the data to the container, and then to the the final component. So your textStatus and loading info should come as props from the container.


Fix possible NPE when using invalid Azure repository endpoints

Add endpoint URI validation otherwise the Azure SDK will produce an NPE if the endpoint URI returns NULL for the host part.
This issue popped up while running the AzureSnapshotIntegrationTest.create_azure_snapshot_and_restore_with_secondary_endpoint on Windows, as Windows does not resolve <IP_ADDRESS> to a hostname, resulting in an invalid URI of http://invalid.<IP_ADDRESS> at invalidHttpServerUrl(). This causes an NPE inside the Azure SDK and the error message was not helpful.
The mentioned test which is failing on Windows will be fixed in a separate PR.

@BaurzhanSakhariev I've moved the validation into an settings validator. please check.


[question] Changes to only track field that changed

So I have a specific requirement where I have categories of changes, and I don't have use for the values that changed but only with the fields that changed. Is it possible to modify it by handling it via pre_log? (i.e changes: ['requirements, 'details'])

you can probably add this to your model
    __audit_log_change_reason: str = ""
    @property
    def audit_log_change_reason(self) -> str:
        return self.__audit_log_change_reason

    @audit_log_change_reason.setter
    def audit_log_change_reason(self, value: str) -> None:
        self.__audit_log_change_reason = value

    def get_additional_data(self):
        data = {}

        if self.audit_log_change_reason:
            data["change_reason"] = self.audit_log_change_reason

        return data

and then create a pre_save signal for your model to populate the field.


multipath with post parameters - SWIFT

I want to Pass Three Parameter in post I am trying This code please check -
func uploadCreateHWAttahment(parameters: [String: AnyObject],imageData: NSData, uuid: String, imageExtension: String, completion: (success : Bool) -> Void){
    PKHUD.sharedHUD.contentView = PKHUDTextView(text: "Loading...")
    PKHUD.sharedHUD.show()

    let configuration = NSURLSessionConfiguration.defaultSessionConfiguration()
    configuration.timeoutIntervalForResource = 3600000 // seconds
    alamofireManager = Manager(configuration: configuration)

    alamofireManager!.upload(.POST, "http://dev.onlinevidyalaya.net/api/academicdetail/uploadclassworkattachment",  multipartFormData:

        {
            multipartFormData in
            multipartFormData.appendBodyPart(data: imageData, name:"6cc50832-6d0f-4cd6-a6bb-57de691e10ce",  mimeType:"JPG")
        },

        encodingMemoryThreshold: Manager.MultipartFormDataEncodingMemoryThreshold,
        encodingCompletion: { encodingResult in

            switch encodingResult {

            case .Success(let upload, _, _):

                upload.progress { bytesRead, totalBytesRead, totalBytesExpectedToRead in

                    let progress: Float = Float(totalBytesRead)/Float(totalBytesExpectedToRead)
                    let value = String(progress * 100)
                    print(progress,value)
                }
                upload.responseJSON { response in
                    PKHUD.sharedHUD.hide()
                    print(response)
                    // CHEKCK VIDEO UPLOAD RESPOSE - PENDING
                }
            case .Failure(let encodingError):

                PKHUD.sharedHUD.hide()

                print(encodingError)
            }
    })
}

Hi @SIT3131,
First off, there's not a question here. Secondly, questions like these should be asked on Stack Overflow. We use our GitHub project for bug reports and feature requests.
Best of luck! 🍻

From our Contribution Guidelines
Asking Questions
We don't use GitHub as a support forum. For any usage questions that are not specific to the project itself, please ask on Stack Overflow instead. By doing so, you'll be more likely to quickly solve your problem, and you'll allow anyone else with the same question to find the answer. This also allows maintainers to focus on improving the project for others.


fix: update devcycleClient names in BaseParser

Current dependencies on/for this PR:

main

PR #259   👈

This comment was auto-generated by Graphite.


Helm celery main secrets

What are you changing?
Writing helm/helmfile code for celery that will deploy (on dev for now) and reads all secrets from the AWS Secrets Manager.
This code will be much more streamlined and easier to manage than the mountains of kustomize code used previously.
Provide some background on the changes
https://app.zenhub.com/workspaces/notify-planning-core-6411dfb7c95fb80014e0cab0/issues/gh/cds-snc/notification-planning-core/457

[ ] I have verified that the tests / deployment actions succeeded
[ ] I have verified that any affected pods were restarted successfully
[ ] I have verified that I can still log into Notify production
[ ] I have verified that the smoke tests still pass on production
[ ] I have communicated the release in the #notify Slack channel.

Approved but can we set the configuration for min/max pods for the HPA?

Ah, that highlights something i need to update... I'll get that fixed.  and to answer the question, yes


Nested components not supported

Hi, thanks for this awesome component! I'm using it in http://settle.rs. I tried using nested components in it, but this does not work. Is it possible to support it? How would I start implementing this?

@generateui thanks
Please make a sample code on jsfiddle.net


Discord?

I like your project and was wondering to work on more like this with you, you happen to have a discord we can talk over?

Thank you for your interest in my repo!
btw I want to get more information on email<EMAIL_ADDRESS>) first.

blehhh


Fixed typo 'Five *sighns of code smell' to 'Five *signs of code smell'

Fixed a typo in the link name 'Five *sighns of code smell' to 'Five *signs of code smell'

Thanks a lot! :)


Add Code of Conduct

In the past Facebook didn't promote including a Code of Conduct when creating new projects, and many projects skipped this important document. Let's fix it. :)
why make this change?:
Facebook Open Source provides a Code of Conduct statement for all
projects to follow, to promote a welcoming and safe open source community.
Exposing the COC via a separate markdown file is a standard being
promoted by Github via the Community Profile in order to meet their Open
Source Guide's recommended community standards.
As you can see, adding this file will improve the fbzmq community profile
checklist and increase the visibility of our COC.
test plan:
Viewing it on my branch -

issue:
internal task t23481323

@facebook-github-bot shipit

:) Thank you for merging @jstrizich !


feat(status): added new value for view property

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
9753

Relevant Lines:
10669

💛  - Coveralls


Augment ForeignAsyncConvention with fields for completion handler flag params.

When the requisite support in Clang for __attribute__((swift_async_error)) parameters
lands, this will let us represent APIs that take completion handlers in the general shape
of void (^)(BOOL, id, NSError*), where the boolean argument indicates the presence of
an error rather than the nilness of the NSError* argument.

@swift-ci Please test


Update change log task list entry in PULL_REQUEST_TEMPLATE.md

I suggest to change the chnage log task list entry to the following. Helping contributors to understand what the change log entry should consist of.
- [ ] Added an entry under the Unreleased section in the CHANGELOG.md.
      Entry should say what was changed, and how that affects users (if applicable).

@johlju Can I take up this issue?

@johlju For this task are we supposed to create changes in the Readme.md or create a new CHANGELOG.md?

Ah my bad. Forgot to mention that this PR https://github.com/PowerShell/xWebAdministration/pull/480 is moving the change log from the README.md. So I created this issue to get an updated text in the PULL_REQUEST_TEMPLATE.md.
You only need to update the entry in the PULL_REQUEST_TEMPLATE.md, but you will probably have to resolve conflicts after I have merged the above PR, or wait until the above PR is merged.

@Sweta271097 you may have this issue. 😃

@johlju Thanks, I'm on it.

PR #480 is merged now! So go ahead and send in this whenever you have time.

I had to resolve this to help contributors add the correct entry to the change log. This was merged in a recent PR.


April/May

April & May donations needed

https://github.com/fisherstevenk/4WARD/commit/db39cd0016a31ffd750a6aaa5e7cac2cecb8221e


Update CODEOWNERS for cilium/api

@cilium/api now is a CODEOWNER of the following packages, which are consumed
outside of Cilium and thus need to be treated as part of the Cilium API:

pkg/byteorder
pkg/k8s/apis/cilium.io/v2/
pkg/k8s/client/clientset/versioned/
pkg/k8s/client/informers/
pkg/labels
pkg/monitor/api

Signed-off by: Ian Vernon<EMAIL_ADDRESS>

This change is

Coverage increased (+0.002%) to 43.132% when pulling f3a68ca2dfbf8ef410763cb2672782c4de3dc187 on pr/ianvernon/update-codeowners into 7ad274d167d7763c419d541098b664747baf49fa on master.


tika server error after restarting the machine

Hi,
Tika works fine until I restart the machine I need to reinstall it or I will get this error message:
2022-01-16 20:09:48,737 [MainThread  ] [INFO ]  Retrieving http://search.maven.org/remotecontent?filepath=org/apache/tika/tika-server/1.24/tika-server-1.24.jar to /tmp/tika-server.jar.
Traceback (most recent call last):
  File "/usr/lib/python3.8/urllib/request.py", line 1354, in do_open
    h.request(req.get_method(), req.selector, req.data, headers,
  File "/usr/lib/python3.8/http/client.py", line 1252, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.8/http/client.py", line 1298, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.8/http/client.py", line 1247, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.8/http/client.py", line 1007, in _send_output
    self.send(msg)
  File "/usr/lib/python3.8/http/client.py", line 947, in send
    self.connect()
  File "/usr/lib/python3.8/http/client.py", line 918, in connect
    self.sock = self._create_connection(
  File "/usr/lib/python3.8/socket.py", line 787, in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
  File "/usr/lib/python3.8/socket.py", line 918, in getaddrinfo
    for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno -3] Temporary failure in name resolution

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/fred/.local/lib/python3.8/site-packages/tika/tika.py", line 798, in getRemoteJar
    urlretrieve(urlOrPath, destPath)
  File "/usr/lib/python3.8/urllib/request.py", line 247, in urlretrieve
    with contextlib.closing(urlopen(url, data)) as fp:
  File "/usr/lib/python3.8/urllib/request.py", line 222, in urlopen
    return opener.open(url, data, timeout)
  File "/usr/lib/python3.8/urllib/request.py", line 525, in open
    response = self._open(req, data)
  File "/usr/lib/python3.8/urllib/request.py", line 542, in _open
    result = self._call_chain(self.handle_open, protocol, protocol +
  File "/usr/lib/python3.8/urllib/request.py", line 502, in _call_chain
    result = func(*args)
  File "/usr/lib/python3.8/urllib/request.py", line 1383, in http_open
    return self.do_open(http.client.HTTPConnection, req)
  File "/usr/lib/python3.8/urllib/request.py", line 1357, in do_open
    raise URLError(err)
urllib.error.URLError: <urlopen error [Errno -3] Temporary failure in name resolution>

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.8/urllib/request.py", line 1354, in do_open
    h.request(req.get_method(), req.selector, req.data, headers,
  File "/usr/lib/python3.8/http/client.py", line 1252, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.8/http/client.py", line 1298, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.8/http/client.py", line 1247, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.8/http/client.py", line 1007, in _send_output
    self.send(msg)
  File "/usr/lib/python3.8/http/client.py", line 947, in send
    self.connect()
  File "/usr/lib/python3.8/http/client.py", line 918, in connect
    self.sock = self._create_connection(
  File "/usr/lib/python3.8/socket.py", line 787, in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
  File "/usr/lib/python3.8/socket.py", line 918, in getaddrinfo
    for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno -3] Temporary failure in name resolution

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/share/pyshared/rParser.py", line 124, in <module>
    raw = parser.from_file(str(path))
  File "/home/fred/.local/lib/python3.8/site-packages/tika/parser.py", line 40, in from_file
    output = parse1(service, filename, serverEndpoint, headers=headers, config_path=config_path, requestOptions=requestOptions)
  File "/home/fred/.local/lib/python3.8/site-packages/tika/tika.py", line 336, in parse1
    status, response = callServer('put', serverEndpoint, service, f,
  File "/home/fred/.local/lib/python3.8/site-packages/tika/tika.py", line 531, in callServer
    serverEndpoint = checkTikaServer(scheme, serverHost, port, tikaServerJar, classpath, config_path)
  File "/home/fred/.local/lib/python3.8/site-packages/tika/tika.py", line 592, in checkTikaServer
    getRemoteJar(tikaServerJar, jarPath)
  File "/home/fred/.local/lib/python3.8/site-packages/tika/tika.py", line 808, in getRemoteJar
    urlretrieve(urlOrPath, destPath)
  File "/usr/lib/python3.8/urllib/request.py", line 247, in urlretrieve
    with contextlib.closing(urlopen(url, data)) as fp:
  File "/usr/lib/python3.8/urllib/request.py", line 222, in urlopen
    return opener.open(url, data, timeout)
  File "/usr/lib/python3.8/urllib/request.py", line 525, in open
    response = self._open(req, data)
  File "/usr/lib/python3.8/urllib/request.py", line 542, in _open
    result = self._call_chain(self.handle_open, protocol, protocol +
  File "/usr/lib/python3.8/urllib/request.py", line 502, in _call_chain
    result = func(*args)
  File "/usr/lib/python3.8/urllib/request.py", line 1383, in http_open
    return self.do_open(http.client.HTTPConnection, req)
  File "/usr/lib/python3.8/urllib/request.py", line 1357, in do_open
    raise URLError(err)
urllib.error.URLError: <urlopen error [Errno -3] Temporary failure in name resolution>

Can someone help me with it?

Hmm looks like there is an issue with the tika server starting up again after you restart your machine. This is independent of the tika-python library however.


Include attachments with emails

Current and desired situation
When I forwarded an email that contained a PDF attachment I was surprised that Zulip did not include this PDF, so I had to manually download and upload the attachment to the thread.
Proposed implementation
Show emails with their attachments, in the same fashion as attaching a file to a message works currently.

I had thought we did include attachments.  @mateuszmandera can you investigate?

@zulipbot claim

I can't reproduce, it works on chat.zulip.org: https://chat.zulip.org/#narrow/stream/7-test-here/topic/Attachment.20test/near/808816

@XAMPPRocky you can you try if you can reproduce this on our server by sending the email in the same way to our address? The stream address is<EMAIL_ADDRESS>

Yep, I can reproduce it. See this stream. I've included a screenshot of the email below. You can see two different, one is a png and the other is a PDF and neither were attached to the email.
I should probably also mention what mail client I'm using. I'm using Mail.app Version 13.0 (36<IP_ADDRESS>.4).

@XAMPPRocky Hmm, interesting. Could you send this exact email to my address<EMAIL_ADDRESS>so that I can play around with it and figure out the specific reason the server is failing to parse the attachments correctly?


[FEATURE REQUEST] Proposals for additional Event Storming videos

Area of the resources that should be enhanced?
DDD & Event Storming 201 - Give me more
Link to resource
https://www.youtube.com/watch?v=fGm62ra_mQ8
Description
"100.000 Orange Stickies Later"
Alberto Brandolini's talks get clearer and better to understand over time.
I consider this talk a better introduction to the topic than the previous talks - on the other hand, I might have understood Event Storming better from this talk because I saw the others before 😄

Thanks for the proposal!

I might have understood Event Storming better from this talk because I saw the others before

I also recently read "everyone's favorite explanation of monads is the third one they read" 😛 That being said, I still have to watch the online event storming video (see #18 ), so I'm leaving this one for you two to decide.

@bananaware-was-taken fyi: we did not forget this request, just did not yet manage to watch the referenced talk.

@bananaware-was-taken fyi: we did not forget this request, just did not yet manage to watch the referenced talk.

Hello @lechnerc77 , Thank you for the update. Take your time. No need to rush. After all, it is just a proposal and not urgent.

PR merged, README is updated


Remove usage / mention of experimentalFeatures

Closing as duplicate of https://github.com/prisma/prisma/issues/19540


Check document relevance

We can try to check the relevance of retrieved documents to the question by passing it through an llm with a particular prompt

Prompt for LLM: "You are a grader assessing relevance of a retrieved document to a user question. If the document contains keyword(s) or semantic meaning related to the user question, grade it as relevant. It does not need to be a stringent test. The goal is to filter out erroneous retrievals. Give a binary score 'yes' or 'no' score to indicate whether the document is relevant to the question."

We should change our procedure like that:

retrieve up to 5 documents from the vector database (keep the cutoff at a score of 1.3)
sort documents by score
ask LLM whether the document is relevant for the question (if activated) and return the first 3 documents that are relevant
if the "relevance check" is deactivated, we just return the 3 documents with the lowest score/distance

Implemented in #59. The relevancy check is for all retrieved documents and not 3 documents for now


Prevent getInitialProps client-side

Currently getInitialProps runs once on the server and once on the client. Is there a way to disable it from running on the client or preserving the props it got from the server render on certain pages?

To make it clear, getInitialProps runs on server if it's server rendering, and does on client if page transition occurs by using Link component or props.url.push().
If you don't want to provide props on client for example, you can write like the following.
const isServer = typeof window === 'undefined'
static getInitialProps () {
  if (isServer) {
    return { value: 'hi' }
  } else {
    return {}
  }
}

For some reason getInitialProps is running on the client as soon as it renders. Maybe it's because I'm using next programmatic API. I'll be looking into it to see if it's a problem on my end


help: Cannot destructure property 'capHeight' of 'font' as it is undefined.

📚 What are you trying to do?
Having the following CSS files added to the nuxt.config file (cosmos.css and futura.css) with multiple @font-face declarations in each, I am receiving an error shown below. Is there anything missing on my part? Could the font files be the ones to blame?
I've also attached a snippet with the content of one of the CSS files. If these turn out to be insufficient, I might try to prepare a reproduction.

🔍 What have you tried?
No response
ℹ Additional context

Operating System: Windows_NT
Node Version:     v16.13.0
Nuxt Version:     3.0.0-rc.12-27762285.23ad303
Nitro Version:    0.5.5-27758232.d90c938
Package Manager<EMAIL_ADDRESS>Builder:          vite
User Config:      ssr, modules, css, typescript, alias, build, runtimeConfig, vue, vite, proxy
Runtime Modules<EMAIL_ADDRESS>floating-vue/nuxt<EMAIL_ADDRESS><EMAIL_ADDRESS>unplugin-icons/nuxt<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>Build Modules:    -

~> resolved in https://github.com/unjs/fontaine/commit/7b6e45b248c0212325c28cf78f1fc829b667a017

Checked the newest version and it still seems to be an issue. I've added you to a repository which contains a reproduction:
https://github.com/DamianGlowala/nuxt-fontaine-repro

Thanks! Two issues:

the furtherissue you were encountering should be resolved in https://github.com/unjs/fontaine/commit/8f40d281865d2f3d8eff152a5f17217035359168 - you can bump fontaine dependency in your lockfile to 0.2.3.

in your repro there were also some incorrect paths, probably incidental to creating the reproduction, and I've raised https://github.com/seek-oss/capsize/pull/99 to fix the reason this was not handled smoothly.

Facing the same issue even with my css inserted in the nuxt config.
Here's the link to my repo

I believe your fonts should be specified with a relative URL:
- src: url('HighriseRegular.woff2') format('woff2'),
+ src: url('./HighriseRegular.woff2') format('woff2'),

The error is resolved in a newer version of unpack which isn't yet used by this module.

Yes, no issues now! Thanks!

Operating System: Darwin
Node Version:     v18.6.0
Nuxt Version:     3.0.0
Nitro Version:    1.0.0
Package Manager<EMAIL_ADDRESS>Builder:          vite
User Config:      alias, extends
Runtime Modules:  -
Build Modules:    -

'@nuxtjs/fontaine': 0.2.3
@danielroe still have an issue.
fonts specified in windi plugin


Linked Users won't be able to login using implicit flow and pipeline 2

Due to the fact that the identities claim can no longer be added to the id_token, the user will be unable to login due to missing identities in the token.
Suggested fix:
Store the original ID in the app_metadata
add a custom claim to the token with the original ID

Fixed in #426 and merged into dev


Variable may not be declared after bundling

Bug report

What is the current behavior?
After webpack runs, a variable may wind up being declared in a spot that never executes
If the current behavior is a bug, please provide the steps to reproduce.
Run the following js through webpack:
`if ( window.SomeFlag ) {
for( var i = 0; i <= 5; i++ ) {
console.log("hello");
}
}
if ( window.SomeOtherFlag ) {
for( var i = 0; i <= 5; i++ ) {
console.log("hello again");
}
}`
The relevant portion of the resulting dist js comes out to the following on my machine:
function(e, t, n) {         "use strict";         if (window.SomeFlag)             for (var r = 0; r <= 5; r++) console.log("hello");         if (window.SomeOtherFlag)             for (r = 0; r <= 5; r++) console.log("hello again")     }
Now if window.SomeFlag is false and window.SomeOtherFlag is true, we get an error when the second loop attempts to use variable r (formerly i before bundling)

What is the expected behavior?
Perhaps move the declaration to the top of the parent function. In my case I fixed it by changing var to let on the source script. Then the resulting bundled script declares different variables in each loop.

Other relevant information:
webpack version:  4.16.5
Node.js version: 6.11.4
Operating System: Windows 10
Additional tools:

This is an Uglify issue.

The resulting bundled code for me showed as I posted above, without var r hoisted to function scope, which creates a "variable is not defined in strict mode" error.
Your input code is not the same as mine. You have if(false) - in this situation webpack seems to be aware that the var x declaration will never run, and it moves the declaration elsewhere. My code is using flags that webpack cannot know the value of, and in this situation it leaves the declaration where it was first listed. Try bundling the example code I listed and see if your output is the same?

I don't see the issue. Which browser are you using?

Google Chrome.
Looks like you're right - I ran my sample code through a basic test page and sure enough I got no error. However, I did get the "variable undefined" error in my app. It was caught by Sentry and reported to me, pointing exactly back to the spot where the variable was used but not declared. I'm not sure why it generated an error in app but not on a test page. There must be something else going on that I didn't realize.
Sorry for the false report. If I figure out specifically how to reproduce I'll update here.


Create GET /teams route

Create a route to list all teams inside an org
Create tests

Hey guys, comment with your preferred day and time to start! We want to find the best option for everyone! 😊

Cool, we can determine after 8 pm if it's also okay for @junio12o.

Sure! 8pm then

Great, so let's start today at 8 pm. See you soon!

Docs to learn about GORM and testing library for tomorrow:

https://gorm.io/docs/connecting_to_the_database.html#PostgreSQL
https://pkg.go.dev/testing


New package: WanCai.DrawingMaster version 2.1.6

Checklist for Pull Requests

[x] Have you signed the Contributor License Agreement?
[ ] Is there a linked Issue?

Manifests

[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[x] This PR only modifies one (1) manifest
[x] Have you validated your manifest locally with winget validate --manifest <path>?
[ ] Have you tested your manifest locally with winget install --manifest <path>?
[x] Does your manifest conform to the 1.6 schema?

Note: <path> is the directory's name containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

Automatic Validation ended with:

No errors to post.

(Automated response - build 886.)

Automatic Validation ended with: Edit:
Hi @SpecterShell,
Is an installer switch needed to bypass this message?

Nope. At least /SUPPRESSMSGBOXES does not work for me.

Verify:


Cannot build for target i686-pc-windows-msvc

Required information
Operating system: Windows 11 24H2 10.0.26100.712
Rust version: rustc 1.80.0-nightly (9cdfe285c 2024-05-22)
Cargo version: cargo 1.80.0-nightly (84dc5dc11 2024-05-20)
iceoryx2 version: main branch
Observed result or behaviour:
> cargo build --target i686-pc-windows-msvc
...
error: failed to run custom build command for `iceoryx2-pal-posix v0.3.0 (https://github.com/eclipse-iceoryx/iceoryx2.git?branch=main#1f5c8a3d)`

Caused by:
  process didn't exit successfully: `C:\test\target\debug\build\iceoryx2-pal-posix-bcebb1f44bc964b5\build-script-build` (exit code: 101)
  --- stdout
  cargo:rerun-if-changed=src/c/posix.h
  cargo:rerun-if-env-changed=TARGET
  cargo:rerun-if-env-changed=BINDGEN_EXTRA_CLANG_ARGS_i686-pc-windows-msvc
  cargo:rerun-if-env-changed=BINDGEN_EXTRA_CLANG_ARGS_i686_pc_windows_msvc
  cargo:rerun-if-env-changed=BINDGEN_EXTRA_CLANG_ARGS
  cargo:rerun-if-changed=src/c/posix.h

  --- stderr
  src/c/posix.h:32:10: fatal error: 'arpa/inet.h' file not found
  thread 'main' panicked at C:\Users\Chaoses\.cargo\git\checkouts\iceoryx2-1e1d4490bb91753f\1f5c8a3\iceoryx2-pal\posix\build.rs:44:18:
  Unable to generate bindings: ClangDiagnostic("src/c/posix.h:32:10: fatal error: 'arpa/inet.h' file not found\n")
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Obviously, posix.h only handles _WIN64, not _WIN32:
https://github.com/eclipse-iceoryx/iceoryx2/blob/1f5c8a3dbe6a4fdcb786a97e181b2b3637575fc7/iceoryx2-pal/posix/src/c/posix.h#L31-L46
Is 32-bit Windows not in the support list of iceoryx2?
Expected result or behaviour: Build successfully.
Conditions where it occurred / Performed steps: i686-pc-windows-msvc target

@Chaoses-Ib This is a platform we did not yet think of, but 32-bit support should generally be supported.
I think this may easily fixed by changing the line 31 in posix.h into #if defined(_WIN64) || defined(_WIN32). Let me check it out. If this works I will create a pull request.

FYI, _WIN32 is "defined as 1 when the compilation target is 32-bit ARM, 64-bit ARM, x86, or x64", not only for 32-bit. The doc is here: https://learn.microsoft.com/en-us/cpp/preprocessor/predefined-macros?view=msvc-170

@Chaoses-Ib thanks for the hint! I could reproduce your bug and fix it by adding some defined(_WIN32) here and there and by adjusting a usize variable to u64.


Merging in settings without relying on App

I've developed a Config class, which implements ArrayAccess, and I'd like to use it as my settings service.  I can do something like this:
$app = new \Slim\App();

$container = $app->getContainer();

// Create and inject new config item
$container['settings'] = function ($c) {
    $config = new \UserFrosting\Config\Config();
    $config->setPaths([
        '/path/to/main/config/',
        '/path/to/plugin/config/'
    ]);

    $config->loadConfigurationFiles('production');

    return $config;
};

This seems like it would work, except that by completely replacing the settings service, I am overwriting all of Slim's default settings (outputBuffering, 'httpVersion`, etc).
So, I thought to myself, "No problem, I'll just grab the default array for settings from the container, then manually merge using the mergeItems method that I created for my Config class:
$defaultSettings = $container->get('settings')->all();

$container['settings'] = function ($c) use ($defaultSettings) {
    $config = new \UserFrosting\Config\Config();
    $config->setPaths(...);

    $config->loadConfigurationFiles('production');

    $config->mergeItems(null, $defaultSettings);

    return $config;
};

Unfortunately, when I do this I get:

Fatal error: Uncaught exception 'RuntimeException' with message 'Cannot override frozen service "settings"

This is happening because, once I access $c->get('settings'), the service is frozen and so I can no longer modify it.
I'd really like to use something more than just a basic array to manage my site's configuration settings.  Is there another way, short of registering my own service (with blackjack, and hookers) separate from Slim's settings?

This is my nasty way for frozen service:
        $defaultSettings = $this->container['settings'];

        if ($defaultSettings instanceof \Slim\Collection) {
            $defaultSettings = $defaultSettings->all();
        }

        unset($this->container['settings']);

        $this->container['settings'] = array_merge(
            $defaultSettings,
            $this->container['config']['settings']
        );

I actually just ended up registering a separate service (with blackjack, and hookers), keyed to config:
    // Site config object (separate from Slim settings)
    $container['config'] = function ($c) {
        // Create and inject new config item
        $config = new \UserFrosting\Config\Config();

        $config->setPaths([
            ...
        ]);

        $config->loadConfigurationFiles('production');

        return $config;
    };

So, I let Slim use settings for its internal features, but any other configuration my application requires is accessed through $container['config'].

Yeah, I have the same, but in this case I'm using $this->container['config']['settings'] just for Slim settings


Retrieve original response http headers

OkHttp always convert the http response headers to lowercase.
I know that headers should be case insensitive and i've seen many other issues here that were closed with the same content as mine
But as I see this api should not alter any response header unless strictly necessary...
I was trying to debug an error in my server using okhttp and the error became masked when okhttp set all response headers to lowercase...
Again, the error was in my server, but okhttp made impossible to detect/debug it because it unwantedly lowercased the response.
It should not be the library decision to do it, and if so there should be a parameter to change this settings
Is there any way to get the original response headers with okhttp 5/4.9 ??

I didnt dive in the okhttp code to understand where the change happens but i've used a proxy to log the request/response and the proxy logged response with capitals and when i logged the same resp using okhttp methods the keys were always lowercase

@bolds07 does OkHttp talk to the proxy via HTTP/2?


http/2: extend keep alive timeout when frame is received

To avoid HOL blocking impacts on slow connections.
Risk Level: Low
Testing: New UTs
Docs Changes: Added
Release Notes: Added
Platform Specific Features: N/A
Runtime guard: envoy.reloadable_features.http2_delay_keepalive_timeout

Looks like the spell checker doesn't like "HOL"?

Looks like the spell checker doesn't like "HOL"?

... which you just fixed. LOL.


<EMAIL_ADDRESS>Update urls

Update URLs for homepage and license.

[x] I have read the Contributing Guide.

/verify

/verify


Convolution post process does not work with webgl2

https://www.babylonjs-playground.com/#7KPV7D

Ok not a bug (a bug on the doc:)) the matrix is suppsoed to be a 9 numbers array


Allow to use different php version defined in artisan file itself.

Not sure if it's feasible but it may be good option instead of calling 'php' on line 18, let the artisan to pick php version.
This way by changing PHP path in artisan file I can decide myself which php version should be used.

This might be useful if I want to call artisan with an php alias like php72 artisan or php80 artisan


kola: reduce execution time by implementing testing strategies

Flatcar's coverage is going to increase over the time by adding more tests but adding more tests with the following habits will de facto increase the overall execution time and it's already the case with some cloud provider.
To give some context:

For one "regular" release: alpha, beta, stable and LTS - we run tests for supported environments and for both supported architectures (amd64 and arm64)
For each test, there are between 1 and 3 spawned instances
There are currently around 120 implemented tests

The goal of this issue is to provide some strategies to reduce the pressure:

[ ] Group the tests that do not interfere between each other and run them in the same instance. For example, it's not an issue to check if a file exists while we test the internet connectivity of the instance. [^1]
[ ] Provide more "e2e" tests: for example, with kubeadm tests, we deploy a cluster of three instances with a Kubernetes deployed on it. Underlying elements are automatically being tested (docker, SELinux, ignition provisioning, network, etc.)
[ ] Being able to run a test and to revert the changes created by the test to reuse the instance
[ ] Mark generic tests which don't really need to run on all cloud platforms because we think that running them once on QEMU is enough. This means we can do kola run --no-generic --platform qemu to run the generic tests and then kola run --no-generic --platform CLOUD-XY for each cloud to skip them there. Having a new flag instead of restricting the tests to QEMU has the advantage that the tests may still run on a cloud platform for reproducing an error or to do a full validation, or when a user has no QEMU capable laptop and rather wants to run a test on a cloud platform.

[^1]: Grouping will imply to refactor the current hierarchy of the tests

One more strategy to reduce the number of tests running on cloud platforms:

[ ] Mark generic tests which don't really need to run on all cloud platforms because we think that running them once on QEMU is enough. This means we can do kola run --no-generic --platform qemu to run the generic tests and then kola run --no-generic --platform CLOUD-XY for each cloud to skip them there. Having a new flag instead of restricting the tests to QEMU has the advantage that the tests may still run on a cloud platform for reproducing an error or to do a full validation, or when a user has no QEMU capable laptop and rather wants to run a test on a cloud platform.

Reducing the number of tests that boot a new machine (through task 1 and point 4 here) is the most beneficial thing to start with because the Equinix Metal arm64 test time is way too long now already and we can't really add more tests at the moment until this is solved.

so I was checking coreos/coreos-assembler: they have a good approach of merging configuration to run non-exclusive tests (https://github.com/coreos/coreos-assembler/pull/2356)

Aha, isn't that a bit opaque (and even nondeterministic depending on the implementation?) in the case that two tests actually conflict with each other but it's not explicitly visible what other configurations get lumped together?

I think that even with the separation of exclusive and non-exclusive tests we would still benefit from the generic and non-generic separation (the above mentioned --no-generic flag) because we don't need to run all Ignition validation tests (v1, files writing etc) on each cloud platform.

@pothos regarding --[no-]generic:

[...]  Having a new flag instead of restricting the tests to QEMU has the advantage that the tests may still run on a cloud platform for reproducing an error or to do a full validation

Another way to approach that would be to target qemu platforms for a majority of tests and provide a --platform which overwrites the defined platform for a given test.
Example: linux.ntp test only runs on qemu, so this could be a generic test. If we want to test it elsewhere "for reproducing an error or to do a full validation" just need to add the --platform CLOUD-XY to override the platform defined in the Platforms attribute of the test.

As a first iteration I think it's also ok to mark things as qemu-only and if the need arises to run on other platforms, we can still implement something like this.

I went ahead and finally prepared the change to limit the generic tests to QEMU because I want to add a image formats parameter to the new pipeline and don't want it to cause hundreds of deployments we can avoid: https://github.com/flatcar-linux/mantle/pull/345

so I was checking coreos/coreos-assembler: they have a good approach of merging configuration to run non-exclusive tests (https://github.com/coreos/coreos-assembler/pull/2356)

With the generic tests being limited to qemu I think we won't benefit from this anymore on the cloud platforms. On QEMU it could reduce the test time but since it adds complexity to the tests I would say we can first try to reorganize some tests a bit if qemu test times are too large before we would reach for this hammer.


finished react and electron boilerplate

A detailed explanation of every line of code within this boiler plate it up on Miro.
Process and Summary:
I spent time review similar boilerplate code for electron and react standalone applications. The ones I found in similar projects had lots of great additions however they were, more times than not, incompatible with each other. It took a serious amount of time to be able to compile within both electron's and react's webpacks. It worked for a majority of the code, but somewhere in altering the electron.js file, we lost electron's webpack compilation. That is currently a work in progress so feel free to poke around to find some fixes.
~
Important Notes/alterations for this Commit:

[X] package.json

please add your name's to the contributors page

pay attention to scripts, I've simplified them

the build {} is only for creating your final electron app build.

check my work for dependencies, I think I got them all!

[X] webpack.react.config.js

introduced monaco and html-loader plugins, be wary of errors, build versions seems to be a big culprit

psuedo-code should explain a majority of the code here- reference Miro if you're not sure about a line and it's purpose.

this webpack.config file is working, run:  npm run p-react

[X] webpack.electron.config.js

possible source of our issues, the code is similar to most boilerplate, however we aren't rendering anything in electron.

check entry and possibly file paths?

[X] babel.config.js

similar boilerplates had a supplemental .babelrc file, through my research, it's pointless if it is serving a global purpose like babel.config. I've removed the .babelrc for that reason.

[X] tsconfig.json

react module rendering doesn't seem to be an issue with our typescript config file. It could however be affecting electron.

[X] electron.js

I would bet a tray of freshly baked cookies that this is the root of our issues in rendering components in electron.

Possibly look at similar files/docs for leads on how to build on top of this.

Thanks team, see you tomorrow afternoon!

Boilerplate merge into main.