[General module] /summon command

Command: /summon
Description: sends a DM to the target user with a mention of the current channel
Parameters:

name: either the mention of the target user, or the full or partial name of them
message: an optional message the bot forwards to the user
channel: an optional mention of a channel where the user should be summoned

For example, the user issues the command from the channel 🎌anime as /summon name: rexor message: share good anime and the user is resolved as @rexor12 who is sent a DM by the bot that looks as follows:
<user> is summoning you to 🎌anime with the message 'share good anime'.
if a message isn't specified, only the text
<user> is summoning you to 🎌anime.
is sent.

Reopening as issues have been observed:

When using the feature on Discord for Android, users get resolved as @invalid-user instead of the correct user name and profile.
People are able to summon themselves.


implement legaacy files and display actions

resolves #3845

Isn't the files action just for logged-in users? E.g. when I visit https://legacy.pypi.org/pypi?:action=files&name=pip&version=9.0.1, it doesn't actually show me a list of files for that release.
The equivalent redirect would be to /manage/project/pip/release/9.0.1/ instead.
However, if people are making links to this action on legacy, they probably actually want the public file list and not the logged-in view, so maybe we really do want to change the behavior?

@di heh, you're right! @brainwane can you detail where you found the :action=files links?

oh hey @di my bad. I broke this in https://github.com/pypa/pypi-legacy/commit/c62f721df5b14426cb06141599063cf4ede73bfd#diff-49574d26fae10c594eae7f8ba60452e4
the behavior before was a list!

Belatedly: the :action=files links were in GitHub READMEs and comments.


Ubutnu 18.04, RealSense V2.33.1, Pi4, T265 not recognizing in bootup

I am doing a T265 project with Pi4 and Ubuntu 18.04, which I need to use ROS (hence I am using libRealSense V2.33.1). The T265 is connected to a USB 3 port and the problem is every time I need to hot unplug and plug it back to make it recognized in realsense-viewer (or any other application). It does not recognize at boot time.
PS. I have tried with ubuntu 20.04 (which does not have ROS support yet) in Pi 4 and ubuntu 16.04 (in a Pi 3-B) and they both recognize the plugged T265 in boot time without any issue.
Any help is greatly appreciated. Thanks

the first of a long set of problems
I don't know how they can sell a product like this
literally 200 bucks throw in the trash
I've got the same issue, solved by using an amazon basic hub
there's no way to make it works directly connected to the rpi4
then after a 30 minutes run of rs-pose or everything else it start to say "Unrecoverable! error native function rs2_pipeline_wait_for_frames: Frame didn't arrive within 5000"
good luck ...

The workaround for this is to powercycle the USB chip when the rpi 4 boots up.
install uhubctl then I put in /etc/rc.local to power cycle usb hub:
uhubctl -a cycle -l 1 -p 1-4
uhubctl -a cycle -l 2 -p 1-4
But yea, this device is incredibly poorly supported. We can't even get anyone from intel to comment on these issues never mind a fix.

Thanks a lot guys will try that.

Thank you for highlighting this issue. We have moved our focus to our next generation of products and consequently, we will not be addressing this in the T265. There is a known FW doesn't load at times due to boot up USB power sequencing. It is worth reviewing the specification update as outlined on the following page: https://dev.intelrealsense.com/docs/tracking-camera-t265


Configure check for C++11 support

Original issue: https://charm.cs.illinois.edu/redmine/issues/1718

We currently only check for the few C++11 features that we require in 6.8.1, not for full C++11 support which we want to require for 6.9.0+.

Original date: 2017-10-25 02:03:31

Duplicate of #1716.


Cannot input with IME on MacOS

The keyup event triggers blur and focus, which will interrupt IME on MacOS. Tried with Firefox, Chrome and Safari. But browsers on windows work fine.

I'm not sure if I understand what the problem is. Can you write a step by step guide to reproduce it?

Sorry, my English is poor.


24.06.2 - 2_createParentDisks.ps1 fails in PowerShell 7

Don't see why
repro:
run Windows Server Insider b26296
install mslab 24.05.2
open Terminal > PowerShell 7.4.5
execute 1_Prereq
execute 2_CreateParentDisks
error:
PS H:\mslab_v24.06.2-2408-prod> .\2_CreateParentDisks.ps1
ParserError: H:\mslab_v24.06.2-2408-prod\2_CreateParentDisks.ps1:1056 Line | 1056 |  …             Import-DscResource -ModuleName PSDesiredStateConfiguratio …      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~      | Could not find the module 'PSDesiredStateConfiguration'.

doing the same Terminal > PS 5.1 works fine.

can confirm this in a different OS (W11).

Also confirm the same on WS 2022
Seems like it's related to PS 7.4.5.
@jaromirk can you repro this please
1_prereq and Tests are ok
2_createparentdisks fails
Using Windows Terminal / PS 7.4.5 fails
Using Windows Terminal / PS 5.1 works
Tested OS
WS Insider
W11 24H2
WS 2022
If you see the same I believe it might be good opening an issue in PowerShell 7 repo. I would care about this.

Yeah, it never worked with PS7

Sad to hear. 1 and deploy and other Script work well.
OK I will open an issue in PowerShell github then.

Does not make sense. It's incompatible with PowerShell DSC. It's a "feature"

OK. Thanks Jaromir. I have no insights so if you say they cannot fix this it's not worth trying.
If I run createparentdisks from the subfolder there is no warning and termination
Can I assume that only 2_createparentdisk is affected?

Bug understood - this is a breaking change in PowerShell 7.2.   I went ahead and coded up a fix, please try it out.
https://github.com/microsoft/MSLab/pull/605

@michbern-ms i added you as admin. Feel free to discuss internally with @machv what's needed. Thank you for your contributions!

Thanks, Jaromir - I'm honored.   I think my fix should cover the PS7 issue.  If there are other things we should look at together, please let me know.


[Runtime] Use MetadataAllocator to allocate runtime instantiated layo…

…ut strings
rdar://109660582
This will create more visibility into layout string allocations when using swift-inspect.

@swift-ci smoke test


type '_AnimatedEvaluation' is not a subtype of type 'Animation'

Steps to Reproduce

...
...
...

Logs

Hi @kissthemouse, Can you post a reproduction of the issue? We will need more information to help you resolve it.


User Type & Arrays of User Type

Hello,
my new problem is to create a custom type and to create an instance of it:
The header file:
#ifndef QUAAUTOSTARTREC_H
#define QUAAUTOSTARTREC_H
#include
#include
class QUaAutoStartRec : public QUaBaseDataVariable
{
Q_OBJECT
Q_PROPERTY(QUaBaseDataVariable * active READ active)
Q_PROPERTY(QUaBaseDataVariable * startTime READ startTime)

public:
Q_INVOKABLE explicit QUaAutoStartRec(QUaServer* server);
QUaBaseDataVariable* active();
QUaBaseDataVariable* startTime();

};
#endif
The cpp file:
#include "quaVarTypeAutoStartRec.hpp" // moc header
QUaAutoStartRec::QUaAutoStartRec(QUaServer* server) :
QUaBaseDataVariable(server)
{
QUaBaseDataVariable* temp = this->active(); // <--- This returns NULL !!!
this->active()->setDataType(QMetaType::Bool);
this->active()->setValue(FALSE);
this->startTime()->setDataType(QMetaType::UInt);
this->startTime()->setValue(30000);
}
QUaBaseDataVariable* QUaAutoStartRec::active()
{
return this->findChild<QUaBaseDataVariable*>("active");
}
QUaBaseDataVariable* QUaAutoStartRec::startTime()
{
return this->findChild<QUaBaseDataVariable*>("startTime");
}
Parts of the caller file:
:
server.registerType();
:
// test test test
testRec = opcLevel3->addChild("testRec");
:
The 'findChild' child method returns NULL !
I can not see what did i wrong ?
Please direct me to my fault ...
My first question is:
Where is the instantiation of 'active ' and 'startTime' done ?
And my second question is:
How to create an array of a custom type ?
The vector method did not work here because the base object
'QObject' is 'Q_DISABLE_COPY(QObject)' ?
thanx in advance

i forgot info question 2:
i tried:
QVector ASRVector(6, QUaAutoStartRec(server));
--> resulting compiler error :
:
D:\Quintec\Cpp2019\qt-everywhere-src-5.15.2\qtbase\src\corelib\kernel\qobject.h(467,5): message : 'QObject::QObject(const QObject &)': function was explicitly deleted
:

Hi,
Have you tried compiling and running example 4 (types) ? Why not try that out and see if it works for you, then modify it for your needs.
Also, you seem to be confused between custom variable types and custom data types. Please get yourself acquainted with OPC UA concepts of these are not clear for you. QUaServer supports creating custom variable types, whose value can be an array of a supported data type. But custom data types are not supported.
If you want indeed to create mutiple custom variable type instances, then you need to create them using the QUaServer API addChild<T>. You have to create them one by one and then you can add the returned pointers to an array for your own reference.
You can only have arrays of pointers for variable instances, because ownership of such instances belong to the QUaServer instance.

Closed due to inactivity. Please re-open if problem persists.


General additions + Implementations

Added Syscall 69 and 70, along with adding regkeys from 0x01010000 to 0x01400000, and adding the missing Display for DEVENV_TOOL_USE_DEFAULT_LIB, ending off with a use of clippy --fix to clean up any odd code.


Start vscode from binary will execute .zshrc more than once

VS Code Version: 1.54.3, 2b9aebd5354a3629c3aba0a5f5df49f43d6689f8, x64
OS Version: Arch Linux Rolling, Linux 5.11.7-arch1-1 # 1 SMP PREEMPT Wed, 17 Mar 2021 16:59:58 +0000 x86_64 GNU/Linux

Steps to Reproduce:

close all vscode instances
Add this to .zshrc, it prints a counter variable:

echo "COUNTER: $ZSH_COUNTER"
export ZSH_COUNTER=$((ZSH_COUNTER+1))

start vscode by: env -u ZSH_COUNTER /opt/visual-studio-code/code (the path points to the vscode binary)

Then, the vscode terminal output shows that the counter is 1:

start vscode by: env -u ZSH_COUNTER /opt/visual-studio-code/bin/code (the path points to the vscode script)
or the equivalent command: ELECTRON_RUN_AS_NODE=1 env -u ZSH_COUNTER /opt/visual-studio-code/code /opt/visual-studio-code/resources/app/out/cli.js

The output shows that the counter is unset:

(This step doesn't need to close previous vscode)

But if we start a "clean" vscode first, the env will keep clean even if we start other vscode from binary.

close all vscode instances. Start vscode by env -u ZSH_COUNTER /opt/visual-studio-code/bin/code
start second vscode by env -u ZSH_COUNTER /opt/visual-studio-code/code

The output shows that the counter is unset, too:

Does this issue occur when all extensions are disabled?: Yes

You can read a little bit about why this is here: https://code.visualstudio.com/docs/editor/integrated-terminal#_why-are-there-duplicate-paths-in-the-terminals-path-environment-variable-andor-why-are-they-reversed
The fix for this is to use the "terminal.integrated.inheritEnv": false setting, which unfortunately fails on some distros right now due to lack of permissions to the /proc file


Navigating Outside Of Components not so simple

Hi all,
I read : https://github.com/reactjs/react-router/blob/fe9358adc864c556afff6fd472476ab84ce2d7d9/docs/advanced/NavigatingOutsideOfComponents.md
I was interested in calling History without having to pass it to component props. I tries it and I note that the wrapped History provided by React-router cannot be used this way.
React-Router adds functions (isActive for example) to History when passing History to Router component. Using History from History.js as module doesn't provide the History from react-router.
Is there any way to make the History wrapped object from react-router a module?
Thank you

This is provided in 2.0: https://github.com/reactjs/react-router/blob/master/docs/guides/NavigatingOutsideOfComponents.md

Actually is doesn't give the same history.
When importing the history I obtain those functions:

When using the one given by react-router through the context, I obtain those:

As you can see, some functions where added. My question was how can I make the modifed History a module?
I need to use isActive() but cannot find it on the imported history.


Performance improvements for collect_2q_blocks

Summary
Closes https://github.com/Qiskit/retworkx/issues/265
This PR contains two core improvements that boost the performance of collect_2q_blocks:

Use new functions from retworkx in quantum_successors and quantum_predecessors that are more efficient
Add is_successor and is_predecessor function to DAGCircuit to efficiently check for successors/predecessors instead of getting all successors/predecessors and then doing a check

It also contains two minor performance optimizations that are open to debate:

Replace qargs with _qargs, because of @property overhead when getting qargs
Replace op with _op, idem

Details and comments
This PR also  upgrades retworkx to version 0.9

I will edit this comment later with more details about benchmarks. It gives a nice boost without a full Rust rewrite, with a 1.3x speed improvement on my local machine.

Can you add an upgrade release note here about the bump in the minimum required retworkx version. We should call that out in the release notes as a thing that might require end user manual updates when upgrading to the next terra release.

I added the release note. This is no longer WIP, it can be merged

I also ran the asv collect_2q_blocks benchmark on this and it yielded this result:
Benchmarks that have improved:

       before           after         ratio
     [a2193a5c]       [e2935d73]
     <main>       <IvanIsCoding-improve_collect2q>
-      44.3±0.2ms       30.4±0.2ms     0.69  passes.PassBenchmarks.time_collect_2q_blocks(14, 1024)
-      65.8±0.3ms       44.9±0.6ms     0.68  passes.PassBenchmarks.time_collect_2q_blocks(20, 1024)
-      15.4±0.1ms       10.3±0.3ms     0.67  passes.PassBenchmarks.time_collect_2q_blocks(5, 1024)

SOME BENCHMARKS HAVE CHANGED SIGNIFICANTLY.
PERFORMANCE INCREASED.

I also ran a quick benchmark on https://github.com/Qiskit/qiskit/blob/master/test/benchmarks/qasm/test_eoh_qasm.qasm (which is different load on the pass because it's all 2q, so one giant block) with:
import time
import statistics

from qiskit.transpiler.passes import Collect2qBlocks
from qiskit.circuit import QuantumCircuit
from qiskit.converters import circuit_to_dag

qc = QuantumCircuit.from_qasm_file('test_eoh_qasm.qasm')
dag = circuit_to_dag(qc)
collect_pass = Collect2qBlocks()
times = []
for i in range(20):
    start = time.time()
    collect_pass.run(dag)
    stop = time.time()
    times.append(stop - start)
print("Mean run time: %s" % statistics.mean(times))

which returns 0.015 seconds on main and 0.01 seconds with this PR.

I commited the suggestions to the release note, the need for retworkx upgrade should be clearer now

I also ran the asv collect_2q_blocks benchmark on this and it yielded this result:
Benchmarks that have improved:

       before           after         ratio
     [a2193a5c]       [e2935d73]
     <main>       <IvanIsCoding-improve_collect2q>
-      44.3±0.2ms       30.4±0.2ms     0.69  passes.PassBenchmarks.time_collect_2q_blocks(14, 1024)
-      65.8±0.3ms       44.9±0.6ms     0.68  passes.PassBenchmarks.time_collect_2q_blocks(20, 1024)
-      15.4±0.1ms       10.3±0.3ms     0.67  passes.PassBenchmarks.time_collect_2q_blocks(5, 1024)

SOME BENCHMARKS HAVE CHANGED SIGNIFICANTLY.
PERFORMANCE INCREASED.

Cool, the 1.3x - 1.5x speed up remained consistent accross the benchmarks.


Haven't considered adding webhook for corporate WeChat？

Gitea version (or commit ref):
Git version:
Operating system:
Database (use [x]):

[ ] PostgreSQL
[x] MySQL
[ ] MSSQL
[ ] SQLite

Can you reproduce the bug at https://try.gitea.io:

[ ] Yes (provide example URL)
[ ] No
[ ] Not relevant

Log gist:

Description
...
Screenshots

People were doing this in #5252 and #9746.
But IMHO a more generic solution like @bkcsoft's proposal of Webhook Templates would be better and more flexible.

Isn't this closed by #15910?


Update sbt-sonatype to 3.9.8

Updates org.xerial.sbt:sbt-sonatype from 3.9.1 to 3.9.8.
GitHub Release Notes - Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.xerial.sbt", artifactId = "sbt-sonatype" } ]

labels: sbt-plugin-update, semver-patch

Superseded by #154.


Stonks buttons no longer active

Hello,
I recently started up my computer, and the Stonks Icons I have set up no longer work. It's been this way for a few days.
Ive tried making new ones, and deleting old ones, and recreating them. Noting seems to be working.
Any advice or other steps to take to make them work again?
Thanks,
Jozo

Sorry to hear that you are having trouble...
Maybe try a full reinstall? Delete the com.andomationstonks folder found in
one of the following folders or close to them
macOS: ~/Library/Application Support/com.andomation....
windows: %appdata%\Elgato\StreamDeck\Plugins\com.andomation
On Fri, Apr 7, 2023 at 10:45 AM jozozovko @.***> wrote:

Hello,
I recently started up my computer, and the Stonks Icons I have set up no
longer work. It's been this way for a few days.
Ive tried making new ones, and deleting old ones, and recreating them.
Noting seems to be working.
Any advice or other steps to take to make them work again?
Thanks,
Jozo
—
Reply to this email directly, view it on GitHub
https://github.com/Phando/Streamdeck-Stonks/issues/27, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABUXMB4YOU3UIB4ALYDG2LXABHB7ANCNFSM6AAAAAAWWY3RBI
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Could it be the same issue as #31 ?

If so, you deserve the 1st to find award. If your plugin starts working when 1.1.10 hits the store, we can close this issue too! I just submitted the new release, it should be active soon. But if you cant wait, you can always grab the plugin from:
https://github.com/Phando/Streamdeck-Stonks/releases

I'm having the same issue. Updated to 1.1.10 and all buttons are just displaying the duck logo. It was working fine yesterday when I initially set it up. If I long press a button, it will open up the linked URL; however, if you click on the Yahoo Finance link in the button setup page, you get a 404 error.
I've tried uninstalling and reinstalling the from the Stream Deck Hub, but that didn't work.

Hello again,
I deleted. Reinstalled at a diff time. Set everything again.
All worked well. Then one day, it happened again... but then one day later, it all worked nicely again... but then on another day, it went back to the logo again.
Can't quite "force" the error yet, and once did a USB reset to the Hub I'm using, and all was good, but on another day, the Hub reset didn't fix it.
I'll try to report back if anything changes.
Thanks a bunch!


Avoid numpy.stack which is supported in NumPy 1.10

numpy.stack is not supported until 1.10.

LGTM except that stack is also used in the seq2seq example https://github.com/chainer/chainer/blob/master/examples/seq2seq/seq2seq.py#L90. The example doesn't seem to document any NumPy particular version. Could we fix this occurrence as well?

jenkins, test this please.

LGTM except that the docs fail due to upgraded matplotlib version. Merging for now since it is unrelated to this PR.

For record: this issue was introduced in #3551 (not backported)


About the input channels

Hi.
As you mentioned in the paper, you changed the input channels from 3 to 9. However, when I look into your code, in models.py line 53, I found that num_channels = 3 + 6 + 2. Does it mean input channel of 11? What does 3, 6 and 2 indicate?
Looking forward to your reply. Thanks.

I think the channels are distributed like this:

3 channels: This is the input image (group normalized).
6 channels: Some kind of approximate alpha matte computed from the distance to the foreground and background of the trimap. See https://github.com/MarcoForte/FBA_Matting/issues/17 for more details.
2 channels: The foreground and background channels of the trimap.


What's the earliest baseline_low_date?

Currently, if you create a feature-definition with well supported compat_features dating back to the beginning of the web, you end up with 2015-07-28 as the baseline_low_date which is the day Edge 12 released (the earliest release from the baseline browser set). Does this make sense?
If we ignore Edge 12, the next browser would be chrome_android 18 on 2012-06-27 and if we ignore that one, it would be chrome on 2008-12-11. :)
I don't know how important baseline_low_date is to us or our consumers. If it is important, maybe 2010-01-01 or some other special date could be used, indicating that the features are usable for a long time, predating the baseline effort?
name: Basic JavaScript arrays
description: Basic JavaScript arrays (ECMAScript 1 + 3)
status:
  baseline: high
  baseline_low_date: 2015-07-28
  chrome: "1"
  chrome_android: "18"
  edge: "12"
  firefox: "1"
  firefox_android: "4"
  safari: "1"
  safari_ios: "1"
compat_features:
  - javascript.builtins.Array
  - javascript.builtins.Array.Array
  - javascript.builtins.Array.concat
  - javascript.builtins.Array.join
  - javascript.builtins.Array.length
  - javascript.builtins.Array.pop
  - javascript.builtins.Array.push
  - javascript.builtins.Array.reverse
  - javascript.builtins.Array.shift
  - javascript.builtins.Array.slice
  - javascript.builtins.Array.sort
  - javascript.builtins.Array.toLocaleString
  - javascript.builtins.Array.toString
  - javascript.builtins.Array.unshift
  - javascript.grammar.array_literals

Copying the gist of my comment on #323 here.
I wrote down every idea I could come up with when it comes to indicating that a date is (possibly) out-of-bounds:

Use an editorial override to set a reasonable sounding historical date (e.g., we go look at the feature's history and pick a reasonable looking date in our expert judgment). We might need to update the Baseline definition document to communicate that this is an option.
Indicate an out-of-bounds low condition with a string instead of a date ("out-of-bounds").
Do the above, but with a really fake date ("1900-02-29", Excel style, perhaps).
Don't provide a date at all (i.e., baseline: "high" without a date means "since approximately forever").
Have a special value for baseline: "hierloom", "high", "low" and false.

Thanks for enumerating Daniel! I guess which way we go and how much it
matters depends on what we are trying to achieve with Baseline. The primary
purpose is to make it clear what is and isn't available on the web platform
today.
So, from that perspective, I'm thinking that any of those should work fine,
since 2015 is far enough in the past that for almost all practical purposes
it won't matter whether something was shipped earlier than that.
So, beyond that immediate goal, I'm thinking we also want to make it easy
to work with the data, so people can integrate it into tooling and the
workflow that devs already have. And lastly, it would be nice if we could
trace the development of the platform over time, so we can compare whether
we are getting better at landing things on the platform.
For the latter case, I'm thinking we'd ideally have a definition of
Baseline that goes back further than 2015, but that would
necessitate including Trident/IE/Edge and won't serve much
practical purpose, so I'm not sure the effort would be warranted.
For the tooling purpose, I'm not sure what the requirements would be.
On Thu, Feb 15, 2024 at 1:49 PM Daniel D. Beck @.***>
wrote:

Copying the gist of my comment on #323
https://github.com/web-platform-dx/web-features/pull/323 here.
I wrote down every idea I could come up with when it comes to indicating
that a date is (possibly) out-of-bounds:

Use an editorial override to set a reasonable sounding historical
date (e.g., we go look at the feature's history and pick a reasonable
looking date in our expert judgment). We might need to update the Baseline
definition document to communicate that this is an option.
Indicate an out-of-bounds low condition with a string instead of a
date ("out-of-bounds").
Do the above, but with a really fake date ("1900-02-29", Excel
style, perhaps).
Don't provide a date at all (i.e., baseline: "high" without a date
means "since approximately forever").
Have a special value for baseline: "hierloom", "high", "low" and
false.

—
Reply to this email directly, view it on GitHub
https://github.com/web-platform-dx/web-features/issues/623#issuecomment-1946035783,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAEIGHBXY3ORETKPF7N7ZBDYTX75ZAVCNFSM6AAAAABDKCH4MSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNBWGAZTKNZYGM
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

I guess it would be good to hear from two possibly different groups on this:

Consumers on what they'd expect the data for such a thing to look like, or at least what would be easy to work with in terms of types, optional fields, magic values, etc. I created a label for this kind of thing.

The folks here about display preferences. I suspect the major thing is that there's interest in putting features in annual buckets (e.g., Baseline 2024, 2023, etc.). How would you want that to appear for the oldest group? Would we be okay with many, many "Baseline 2015" features? What if we added another browser later, would we be OK with dates advancing or retreating as a consequence? This might put some constraints on how the data works.

My vote goes to using a keyword for this like browser_set_start or something.
For any feature sufficiently old, it feels weird to make it seem like Edge 12 was the browser that last implemented it, and it feels weird for it to be dated to 2015. I'm not very keen on using another date either, as it could change if we add other browsers in the future.
My next favorite option is to drop the baseline_low_date in these cases.

From our definition of Baseline it follows that 2015-07-28 is the earliest possible date, and I think we should record that unless we change the definition.
We should document that this is the earliest possible date. It means "available in the core browser set since 2015-07-28" (no earlier) or "available in browsers used at the time since 2015-07-28 or earlier".
But I would also like to hear from consumers if they want to special case this and if they need more data in web-features.
For a "heirloom" status or similar I think we should use a number of years, not a fixed point in the past. If we pick 10 years then the problem of 2015-07-28 will be solvable next year...

I think we need to honor the intent of the current Baseline definition, but not the definition itself.
Did a feature have broad browser support in 2014, 2013, ...
If it did, then it doesn't really matter if this was in an area when the set of browsers was IE 11, IE 10, Safari, Chrome, ...
I think that at this point it time this is largely theoretical because the current set has been the dominant set for a while. But these things change.

Would we be okay with many, many "Baseline 2015" features? What if we added another browser later, would we be OK with dates advancing or retreating as a consequence?

I think we should avoid this.

For a "heirloom" status or similar I think we should use a number of years, not a fixed point in the past. If we pick 10 years then the problem of 2015-07-28 will be solvable next year...

This seems fair to me.
It think this is better than larger and more sudden shifts if the set of browsers changes.

Trying to capture anything that happened before Edge 12 creates extra work and requires updating the definition of Baseline to allow for dates before 2015-07-28.
If someone is willing to do the work then I am of course not opposed, but I would not be happy about guidelines requiring the work to happen.
How about we bring in the trusted ≤ symbol from BCD and record "≤2017-07-28" instead of "2015-07-28"? That tells consumers this date is special, and makes it possible to later burn down such uncertain data points one by one, given a guideline that says what date to pick.

How about we bring in the trusted ≤ symbol from BCD and record "≤2015-07-28" instead of "2015-07-28"? That tells consumers this date is special, and makes it possible to later burn down such uncertain data points one by one, given a guideline that says what date to pick.

I like this idea. It certainly has worked well in BCD and "≤" also gives consumers a signal in case they wish to ignore ("boring") features that are baseline for a very long time already.

Coming back to this, I think there are 3 reasonable options.

Document that 2015-07-29 is the earliest possible date but make no change to the schema or data

Use ranges for features supported in IE, drafted in https://github.com/web-platform-dx/web-features/pull/667.

Update the definition of Baseline to treat IE+Edge as a single line of browser releases, allowing dates before 2015-07-29. This would make the earliest possible date 2008-12-11 (Chrome 1) instead.

(Note that https://github.com/mdn/browser-compat-data/pull/22286 changed the date from 2015-07-28 to 2015-07-29.)
I prefer option 1 or 2. Option 3 moves too far into the past. Uncertainty about the BCD data in code review will require testing very old browser releases, older than mdn-bcd-collector supports even. For example, if BCD claims Chrome 9 for parts of a feature and Chrome 11 for other parts, I don't want to spend time figuring out which is correct.

I prefer option 2 (along with some guidance on how to refer to such features, if you're referencing a year otherwise). It feels like a tidy way to suggest that a feature's Baseline date falls on a particular date but, strictly speaking, its Baseline status is not defined prior to the introduction of the youngest browser. Plus, I'd still like to have consumer feedback on this and throwing something odd in their way will provoke it. 😈
Option 1 is an OK alternative, but might be too easily ignored by consumers.
I don't like option 3. It has a number of problems, not least of which is that we end up with a less-frequently-but-still-not-never used special value in 2008.

The more I think about this issue the more I see two problems:

it isn't practical to measure up to the start of browsers, there needs to be a cut off point. This cut off point needs to be communicated.
if a completely new engine is added to the core set the dates will shift

I think Option 2 is probably best.
Option 1 is too easy to get wrong as a consumer of the dataset and Option 3 is too much work.

For the second problem it might make sense to track support changes instead of the first browser version that has support.
For example rgb() : https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/rgb#browser_compatibility
This has Edge 12 (Released 2015-07-29).
But this is not a change in support status, it initially shipped with support.
While the alpha parameter has Chrome 65 (Released 2018-03-06).
This is a change in support because Chrome 64 didn't support this sub-feature.
When ignoring initial releases with support the support date goes back all the way to Opera 3.5 (Released 1998-11-18) for rgb().
Not saying that we should record/indicate dates this far back but it does solve the problem of adding new engines/browsers to the set in the future.

If we do change the core browser set, I think the solution to these kinds of problem is to treat the core browser set itself as changing over time, and saying that it was Chrome+Edge+Firefox+Safari before some date, and the new set after that date. This way the historical data would not change or need to be recomputed.
In other words, I'm not so worried about the earliest baseline_low_date changing in the future, we can just define our way out of the problem.

Seems like the consensus is either documenting the date, or using ≤ before the date. Both seem fine from the perspective of consuming this data on MDN, but some thoughts:
For option 1, it would be nice to export this as a constant BASELINE_CUTOFF_DATE or something, so we don't have to manually hard code this and maintain it if it ever changes in the future.
For option 2, one downside is there's no differentiation from the ranged dates being exposed by https://github.com/web-platform-dx/web-features/pull/1398: does the ≤ signify that this feature is the earliest possible baseline date or just that there's some uncertainty in the browser compatibility data which may be clarified in the future?
What might help the decision is thinking about how consumers should be advised to display this data. Should the description on MDN be something like:

This feature is well established and works across many devices and browser versions. It’s been available across browsers since before July 2015.

(and if so, should features with an uncertain low date due to browser version ranges in BCD also display "before" in the banner? if not, we'd require something more like option 1 or differentiation between the two states in option 2)
Or should we forego the date and say something more like:

This feature is well established and works across many devices and browser versions. It’s been available across browsers longer than you need to know.

(which would again require something more like option 1, or differentiation in option 2)

For option 1, it would be nice to export this as a constant BASELINE_CUTOFF_DATE or something, so we don't have to manually hard code this and maintain it if it ever changes in the future.

This isn't exactly that, but publishing browser version information (see https://github.com/web-platform-dx/web-features/issues/1047) would implicitly establish the lower-bound, by enumerating all of the possible releases referenced by web-features. I've opened https://github.com/web-platform-dx/web-features/pull/1514 toward that.


Wrong variable names in ./secrets.json file

Instead of
{
  "clientId": "YOUR_CLIENT_ID",
  "clientSecret": "YOUR_CLIENT_SECRET",
  "username": "YOUR_USERNAME",
  "password": "YOUR_PASSWORD"
}

you should use:
{
    "CLIENT_ID": "YOUR_CLIENT_ID",
    "CLIENT_SECRET": "YOUR_CLIENT_SECRET",
    "USERNAME": "YOUR_USERNAME",
    "PASSWORD": "YOUR_PASSWORD"
}

Please fix the code block on README file.
Thank you for this great tool!

@akkis thanks for catching this one.
This is now fixed with PR #10
I am happy the tool has been useful to you ;-)


Docs: report docs claim a linked example report contains custom branding, but it does not.

Describe the bug

Affected documentation: https://snakemake.readthedocs.io/en/stable/snakefiles/reporting.html
The documentation around reports and custom branding links to an example report at https://snakemake.readthedocs.io/en/stable/_downloads/b10d83889c3905e7b7557a62144a51ca/report.html saying that the report contains custom Uni Duisburg-Essen branding, but it does not.
Testing with the custom stylesheet linked in the above documentation in a local workflow works and the branding shows up in the middle of the top section.
Looking at https://github.com/snakemake/snakemake/blob/main/tests/tests.py the stylesheet is actually passed to the test, but it does not appear to be picked up. The expected output report in https://github.com/snakemake/snakemake/tree/main/tests/test_report/expected-results does not have it either.

Thanks for reporting! I've fixed this in a recent release.


jinja set autoescape to select_autoescape

This vulnerability is flagged in CodeQL
https://codeql.github.com/codeql-query-help/python/py-jinja2-autoescape-false/

So the tests are failing because the report is changed because of the escaping. To merge this I would need to see the report itself looks fine (screenshot) and the tests updated

@Bachmann1234 I had to use select_autocomplete as a lot of tests were failing with just using True. There were a few tests failing for html report generation as the styling of the snippet was not proper with the changes. Marking it safe works. Attaching some report screenshots which I found from running tests

I'll be curious if codeql complains about marking that block as safe but let's go ahead and merge this


⚠ Bofrost.be has degraded performance

In dac26b0, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1055 ms

Resolved: Bofrost.be performance has improved in 77d3b59.


changing postgresql max_connection to 1000

Changing postgresql max_connection to 1000 from current default 100.

This change is

Coverage remained the same at 58.774% when pulling 440c294a67f67b6aef49fd37458f76488dae081b on UB-1760 into ae2f7c461899526ccdfb69a597e2ef2eecbb5ff8 on release_v2.0.0.


route login error

after login "/login" path return app.js , this will redirect to "/"
issue

please assign me @Varinder-Dhillon0

ok go on with this one @Aastha1316


Update GHA main workflow

This is a slight cleanup of main.yml. Just reducing verbosity by using env:, and removing a few redundant fields. No functional changes are done.
/cc @kamilrakoczy

LGTM, lets wait for CI.


API, upgrade azure function version in host.json and other packages

Either add a note to the minimum version of Azure Function CLI and other dependencies, or upgrade the host.json

API Azure Function Version
Running the code from Unit 2 Authenticate users with Azure Static Web Apps

After creating a local.settings.json with the CORS value the instruction is to cd api then:
    func start

This results in:
Azure Functions Core Tools
Core Tools Version:       4.0.4915 Commit hash: N/A  (64-bit)
Function Runtime Version: <IP_ADDRESS>31

Warning: Proxies are not supported in Azure Functions v4. Instead of 'proxies.json', try Azure API Management: https://aka.ms/AAfiueq
Can't determine project language from files. Please use one of [--csharp, --javascript, --typescript, --java, --python, --powershell, --custom]
Can't determine project language from files. Please use one of [--csharp, --javascript, --typescript, --java, --python, --powershell, --custom]
Can't determine project language from files. Please use one of [--csharp, --javascript, --typescript, --java, --python, --powershell, --custom]
[2023-08-02T06:36:13.198Z] Referenced bundle Microsoft.Azure.Functions.ExtensionBundle of version 1.8.1 does not meet the required minimum version of 2.6.1. Update your extension bundle reference in host.json to reference 2.6.1 or later.
[2023-08-02T06:36:13.203Z] A host error has occurred during startup operation '71678b2c-3d50-4c67-89d7-11e90cd7f87a'.
[2023-08-02T06:36:13.203Z] Microsoft.Azure.WebJobs.Script: Referenced bundle Microsoft.Azure.Functions.ExtensionBundle of version 1.8.1 does not meet the required minimum version of 2.6.1. Update your extension bundle reference in host.json to reference 2.6.1 or later. For more information see https://aka.ms/func-min-bundle-versions.
Value cannot be null. (Parameter 'provider')
[2023-08-02T06:36:13.220Z] A host error has occurred during startup operation '6fb669b6-3a48-458f-b72e-ddb8166e5aaf'.
[2023-08-02T06:36:13.221Z] Microsoft.Extensions.DependencyInjection: Cannot access a disposed object.
[2023-08-02T06:36:13.222Z] Object name: 'IServiceProvider'.

Key is "Warning: Proxies are not supported in Azure Functions v4. Instead of 'proxies.json', try Azure API Management"
What action is required?
Updating the host.json file to 3.* 4.000 as per Azure Func docs, results in the func start command showing the following warning:

Can't determine project language from files. Please use one of [--csharp, --javascript, --typescript, --java, --python, --powershell, --custom]

Changing the command to func start --csharp seems to have worked.

upgrade NPM packages and lock file
lockfileVersion@1

swa start does not work with out specifiying --csharp on the api
 func start --csharp works, but
as per
https://github.com/Azure/static-web-apps-cli/issues/733
running Step 8 of unit 4 results in:

swa start http://localhost:4200 --api-location ./api --verbose

Welcome to Azure Static Web Apps CLI (1.1.4)

...
[api] Can't determine project language from files. Please use one of [--csharp, --javascript, --typescript, --java, --python, --powershell, --custom]
[api]
[api] Azure Functions Core Tools
[api] Core Tools Version:       4.0.4915 Commit hash: N/A  (64-bit)
[api] Function Runtime Version: <IP_ADDRESS>31
[api]
[api] Warning: Proxies are not supported in Azure Functions v4. Instead of 'proxies.json', try Azure API Management: https://aka.ms/AAfiueq
[swa]
[swa] Using workflow file:
[swa]   ....github\workflows\azure-static-web-apps-ambitious-flower-0e935ca1e.yml
[api] Can't determine project language from files. Please use one of [--csharp, --javascript, --typescript, --java, --python, --powershell, --custom]
...
[api] [2023-08-02T08:59:59.966Z] Worker process started and initialized.
[swa]
[swa] Found configuration file:
[swa]   ...\vue-app\staticwebapp.config.json
[swa]
[swa] - Waiting for http://localhost:4200 to be ready
[swa] ✖ Waiting for http://localhost:4200 to be ready
[swa] ✖ Could not connect to "http://localhost:4200". Is the server up and running?
[swa] node<EMAIL_ADDRESS>exited with code 0
--> Sending SIGTERM to other processes..
[api] cd ...\api" && "func" start --cors "*" --port 7071  exited with code 1
✖ SWA emulator stoped because API server exited with code 1.

func start --csharp, starts the api on  http://localhost:7071/ , OK with no errors
``npm start``` starts the web on http://localhost:4200/, OK with no errors
the script above gives the following error:

swa start http://localhost:4200 --api-location ./api --func-args="--csharp" --verbose
Welcome to Azure Static Web Apps CLI (1.1.4)
...
[api] Port 7071 is unavailable. Close the process using that port, or specify another port using --port [-p].
[api] cd "...\mslearn-staticwebapp-auth\api" && "func" start --cors "*" --port 7071 --csharp exited with code 1
--> Sending SIGTERM to other processes..
[swa]
[swa] Using workflow file:
[swa]   ...\mslearn-staticwebapp-auth\.github\workflows\azure-static-web-apps-ambitious-flower-0e935ca1e.yml
[swa] node<EMAIL_ADDRESS>exited with code 1
✖ SWA emulator stoped because SWA emulator exited with code 1.

When stop the local function on port 7071 and re-run the suggested script I get:

swa start http://localhost:4200 --api-location ./api --func-args="--csharp" --verbose
...
[api] Azure Functions Core Tools
[api] Core Tools Version:       4.0.4915 Commit hash: N/A  (64-bit)
[api] Function Runtime Version: <IP_ADDRESS>31
[api]
[api] Warning: Proxies are not supported in Azure Functions v4. Instead of 'proxies.json', try Azure API Management: https://aka.ms/AAfiueq
[swa]
[swa] Using workflow file:
[swa]   ...\mslearn-staticwebapp-auth\.github\workflows\azure-static-web-apps-ambitious-flower-0e935ca1e.yml
[api] [2023-08-04T01:03:14.310Z] Csproj not found in ...\mslearn-staticwebapp-auth\api directory tree. Skipping user secrets file configuration.
[api]
[api] Functions:
[api]
[api]   products-delete: [DELETE] http://localhost:7071/api/products/{id}
[api]
[api]   products-get: [GET] http://localhost:7071/api/products
[api]
[api]   products-post: [POST] http://localhost:7071/api/products
[api]
[api]   products-put: [PUT] http://localhost:7071/api/products/{id}
[api]
[api] For detailed output, run func with --verbose flag.
[swa]
[swa] Found configuration file:
[swa]   ...\mslearn-staticwebapp-auth\vue-app\staticwebapp.config.json
[swa]
[swa] ✖ Error: "localhost" can not be resolved to either IPv4 or IPv6. Please check your network settings.
[swa] node<EMAIL_ADDRESS>exited with code 0
--> Sending SIGTERM to other processes..
[api] [2023-08-04T01:03:15.252Z] Worker process started and initialized.
[api] cd "...\mslearn-staticwebapp-auth\api" && "func" start --cors "*" --port 7071 --csharp exited with code 1
✖ SWA emulator stoped because API server exited with code 1.


fuzz: DHCP header parser

Hi. This fuzz target tests the DHCPRepr parse and emit functions (context).
The fuzz target requires a small change in the DHCPOption parser because the option type OPT_DOMAIN_NAME_SERVER  requires the payload representing the DNS server list to have a length multiple of 4. Otherwise the chunks call places the remainder in the last chunk (length < 4). This panics when the last chunk is parsed into an IPv4Address. Do you have a better suggestion for handling this situation?
I ran the fuzzer for a couple of days but it didn't find any crash yet. To increase the chances, I used the oss-fuzz seed corpora of dnsmasq DHCP fuzzer and systemd DHCP server fuzzer.
Please share if you have suggestions on how to improve coverage.

@Dirbaio thank you very much for your review and thank you for smoltcp!
If you have suggestions for other sensitive components that should have fuzz targets, I am happy to continue working on this :D.


SwiftyJSON doesnt work for me

I manually integrated the file into my project tree by dragging and dropping.
I get a lot of errors in the SwiftyJSON file. Anyone else facing this issue? Is there a solution to this which I might have missed? I read up a bit on other websites and some people are facing the same issue.

Update:
The issue might have been happening because I was on xcode 6.2, swift 1.1 -- I will update again after I get the latest xcode and try it.
Thank you

my apologies. I had not updated to version 6.3, and therefore had the issues occurring.
Thank you


Changes dependent on snapshots

This depends on compose-html-material v0.4.1-SNAPSHOT shall be merged for the next release.

https://github.com/Kotlin/dokka/releases/tag/v2.0.0 is actually available now.


How do you close the SBT panel?

Once the SBT panel is open, I can't find any way to get rid of it again, short of restarting Sublime.

My SBT panel disappears when I press ESC. Have you tried?


The style.css file should be in the root directory

Submit a feature request or bug report

[ ] I've read the guidelines for Contributing to Roots Projects
[ ] This is a feature request
[x] This is a bug report
[ ] This request isn't a duplicate of an existing issue
[ ] I've read the docs and NPM Debugging Guidelines post and followed them (if applicable)
[x] This is not a personal support request that should be posted on the Roots Discourse forums

What is the current behavior?
The style.css file of the theme is in the resources/ directory, causing the WordPress theme installer to not recognize it as a theme.
What is the expected or desired behavior?
From the WordPress Theme Handbook: "In order for WordPress to recognize the set of theme template files as a valid theme, the style.css file needs to be located in the root directory of your theme, not a subdirectory."
https://developer.wordpress.org/themes/basics/main-stylesheet-style-css/#location

Other relevant information:
A user of WP Pusher (I'm the creator) has reported that Sage themes won't install. However, this is actually not a WP Pusher error, but an error message from the core WordPress theme installer, which only recognize a theme if a style.css file is present in the root directory. It turns out that if you manually upload the theme to the server (instead of using the WordPress installer), the theme will kind of work (because WordPress actually looks one level deep to find the template), but technically the theme is still invalid. There will still be quirks I think. As an example if you try to delete a theme without a style.css in the root directory with WordPress, it will fail and you will have to manually remove the files from the server. Here's the error message if you try to install a Sage based theme by uploading a zipball:

Here's a recent forum post by (apparently) another WP Pusher user: https://discourse.roots.io/t/setting-up-sage-9-theme-on-shared-hosting-with-wp-pusher-or-ftp/10105

Users are certainly free to move style.css, functions.php, and index.php to the root folder if they want. Just gotta make sure the autoloading stuff in functions.php is pointed at the right place.
We can probably introduce this as an option in sage-installer. If you don't mind, can you post an issue in the sage-installer repo? If not, I can post it later; I'm just on my phone right now.

Hi, I have had an issue with this. I have tried following the instruction you have mentioned @QWp6t however I have bumped into some problems. Here is what I have done so far:

Moved style.css, index.php and functions.php to the root of the theme.
Changed the source of the autoloading conditional in functions.php:

    if (!file_exists($composer = __DIR__.'/vendor/autoload.php')) {
        $sage_error(
            __('You must run composer install from the Sage directory.', 'sage'),
            __('Autoloader not found.', 'sage')
        );
    }

Changed the source of the app map: $file = "../app/{$file}.php";

I have tried using my theme after these changes and I get this weird error with the installer.
It seems to duplicate my theme and it's unusable.
Any idea what else I need to do?
Thanks

@nicholasmaddren you need to deactivate/activate the theme.

@QWp6t alright, was just pointing out that this might be an issue for a lot of users :)

@Kimers I have tried that with no success, the second theme that shows as primary disappears and then when reactivate my theme it appears again with the error.

I have exactly the same problem.

Let's go ahead and continue discussion here: https://github.com/roots/sage-installer/issues/3


Redirecting to dashboard

Now on login, the user would be redirected to his/her dashboard.

Hey !! The redirect rule is right in the code already !. When you run on slower networks, It would take time to redirect it to dashboard. That's the issue which needs to be addressed.

@shelcia I misunderstood the issue since there was no description :sweat_smile:
Could you please elaborate on the issue and how should I approach it.


Show user when there is a new version available in every command, cached so that it is only shown once per version/day

Feature or problem description
Running rhoas version will also show if there is a version update available. This is intended so that users know to update their version to the latest. An issue with this is most users will not know there is an update available and will not check for it, we should highlight this in every command so that they instantly become aware.
Proposed solution
Every time rhoas is executed, a version check is performed against the GitHub API. If the latest release is different to the user's release, and the version has not yet been checked for today, where the version == the latest release, then we should print this info to stderr.
We might need to add a metadata object to the rhoas config:
"rhoas_metadata": {
  "dev_preview_enabled": true,
  "last_version_checked_at": "2021-07-26T10:00:04+00:00",
  "last_version_checked": "0.26.1"
}

I have discussed this with users of the CLI and there was also another feedback that debug command should be actually called verbose command.
If debug becomes verbose then users will call it and should get version check in this as well.

Would you mind creating a separate issue to discuss that?

Quick question would that resolve need for this issue? If we document that if something wrong happens with CLI use verbose mode.
That will give you:

Exact and fully error from backend which should return you information that your API call is outdated
Check if the version is up to date and suggest new one
When error happens without --verbose we can have generic message that suggest user to use --verbose flag for more details.
user gets info when it is needed in context (not in 4 hours later when timer kicks in)

This is what I have seen in other CLI's
We do not need to change debug to verbose if we print message (point nr3) so there is no big drawbacks.

I think both can be done - I still think it is a good idea to check for a version and tell the user when there is no error - for instance to unlock new features.
GitHub CLI does this nicely:

Agreed. Creating separate issue.

@craicoverflow You are assigned on this issue. What is the status?


fix(test): avoid checking permissions in cloud services

We set the cluster configuration of OpenShift to credentialsMode: Mint
to avoid checking the permissions when creating a new OpenShift instance.
Closes #6061

/ok-to-merge fixing cluster creation


Added Requirements

Added requirements.txt containing all packages, as mentioned in #3.

Thank You ♥ @tlynx538

Thank you!!


Replace developer.github.com with docs.github.com

A few responses in the course point to the developer.github.com portal, where learners might have to again follow the link at the top of the page to go to docs.github.com. This PR changes references from developer.github.com to docs.github.com and points to the right page. It also modifies the Identify API Endpoints step to look for a comment that matches endpoints as they are listed on docs.github.com
cc: @pauliver

Hello @mvkaran, and thank you for this pull request! I am going to move this to our "Learning Lab Course maintenance" board, under "needs review". @githubtraining/programs The next steps to merge this will be to:

bring this code over to a branch native to this repo
then deploy should happen automatically
🎉 Test

Closing this since it seems to have become stale.


Support leaving channels permanently

Hi there, I've been gladly using this IRC bridge for a while (thank you!), but now that #62 has been implemented, I'm being autojoined to some channels which I've never ever heard of. So I PART'ed these channels in the hope that I'd leave these rooms permanently but it seems like the PART command only removes the Faye subscription. To make things worse, these channels don't even appear in the Gitter web UI and I cannot permanently remove them.
So from the IRC standpoint my expectation was that leaving a channel would be considered a permanent action, i.e. it'd also leave the Gitter channel permanently.
Is there any chance permanently leaving channels from IRC clients would be supported in this bridge?

If you don't want the server to autojoin channels, you can set a single autojoin room in your client.
The bridge currently is more meant as a gateway for messages to flow back and fourth. You need to visit Gitter itself, if you want to actually leave the room. The join and part commands are a way to listen and stop listening as you have found.

Personally I consider server-side autojoin annoying and I'm not always interested in the same channels, so setting up client-side autojoin to avoid server-side autojoin doesn't feel like a solution in this case.

You need to visit Gitter itself, if you want to actually leave the room.

The problem for me is that, even if I use the Gitter client, a couple of channels I am autojoined are nowhere displayed — and in fact, I never joined these channels. This might be a Gitter bug.

Quite frankly, I don't understand where this autojoin feature came from and why it's a server-based behaviour that's not controllable by the end-user and I'm with @julen on this.
In my previous experience with IRC - and it's been a long time since I used IRC clients - autojoin is a feature of the client and that's a perfectly acceptable place for it to be.

@julen They are most likely rooms you are still apart of but just have hidden. Looks like another criteria we need to filter out here
If you want to see all rooms you are in, you can use the API, https://developer.gitter.im/docs/rooms-resource.

Autojoin was suggested by a user. There was a few replies on the issue showing interest and someone made a PR.  I had a similar sentiment when starting to use the irc-bridge which this feature solved.
You can currently control the behaviour by joining a room on the client within the first 2.5 seconds of connecting which means the client autojoin would cover this. There isn't a user setting for this currently but we could persist something there.

Thank you for the help and clarifications, @MadLittleMods! I was finally able to leave such hidden channels via the API (I admit it's not a very user-friendly way though). For other readers hitting the same thing, I proceeded as follows:

Retrieve my personal access token at https://developer.gitter.im/apps
Retrieve my user id: curl -X GET -H "Authorization: Bearer <token>" -H "Host: api.gitter.im" https://api.gitter.im/v1/user | python -m json.tool
Retrieve the list of channels I'm on and note the id of the channels to be removed: curl -X GET -H "Authorization: Bearer <token>" -H "Host: api.gitter.im" https://api.gitter.im/v1/rooms | python -m json.tool
Remove channel subscriptions: curl -X DELETE -H "Authorization: Bearer <token>" https://api.gitter.im/v1/rooms/<channel-id>/users/<my-user-id>

And going back to the initial question I placed, is there a chance permanently leaving channels will be supported via the IRC bridge?
I understand you'll want to keep the current behavior, although considering that parting on IRC accepts an optional message, a special message could indicate the will to leave the channel on Gitter too (e.g. /PART LEAVE). This way the bridge would accept both hiding (removing the Faye subscription) and permanently leaving rooms.
However if you're not up to considering this, or if it would complicate the bridge implementation considerably, feel free to close the issue.

@julen Your optional message suggestion sounds great (per-spec :+1:). Care to make a PR?

Glad to hear that. Unfortunately, I have almost no spare time at the moment to look into this so don't wait to me on this one.


::placeholder information incorrect for IE11

Notes state:

Partial support refers to using alternate names:
:-ms-input-placeholder for IE.

But, as stated here: (https://github.com/necolas/normalize.css/issues/550#issuecomment-200511864), at least in IE11, :-ms-input-placeholder implements :placeholder-shown, and therefore attempting to style it actually styles the whole input, and not the ::placeholder itself.

Is it fixed already?


test github action ci without permission 2

as title
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

close as #16936 is almost completed


Corrected documentation for HTTPClientRequest

Corrected (copy paste) typos in ddoc comments for the write.*body methods for HTTPClientRequest.

Thanks!


Remove the Unwanted files and links

Replace dummy links with relevant links
like

contributing.md
designsystem.md

can I work on this @sarthology

yes

@sarthology PR raised :) If any changes are required, Kindly let me know :)


Get URL for a payment request

Don't know if this is possible, but since there are no contacts it would be really helpful if we could just get the URL for a request so we can share that via whatsapp and alike.
Currently I have to get my phone, look up the phonenumber type it in and send ( which defeats the point of a desktop application )

You can import your contacts through Google and vcards on the contacts page

you can get the request by pressing the little question mark top right. There you will see the raw response and also the url.


If Existing Hours found in JobListingFS, update Status in some cases

hub thread: https://powerofus.force.com/0D58000002Nt6a7
the user has Prospects on the shift.  JobListingFS finds the matching Volunteer Hours record, but since it exists, it doesn't overwrite Status.
I think it should overwrite Status if Status <> confirmed or completed.

fixed in release 3.79


CR-4841 Sort jobs based on stage and last returned job

Pull request
Jira Ticket
Description:
Picking next job based on client + creation date, instead of only creation date (FIFO)
Alternative implementations here:
https://github.com/create-global/nexrender/pull/18
https://github.com/create-global/automation-bridge-worker/pull/19

Closing in favour of
https://github.com/create-global/automation-bridge-worker/pull/20
https://github.com/create-global/nexrender/pull/18


[AutoPR eventgrid/data-plane] Change eventgrid data-plane node.js package version to 1.1.0

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/2879

(message created by the CI based on PR content)

Codecov Report

Merging #2401 into master will decrease coverage by 0.01%.
The diff coverage is 42.75%.

@@            Coverage Diff             @@
##           master    #2401      +/-   ##
==========================================
- Coverage   54.27%   54.25%   -0.02%
==========================================
  Files        5326     5366      +40
  Lines      126606   127041     +435
==========================================
+ Hits        68712    68925     +213
- Misses      57894    58116     +222

Impacted Files
Coverage Δ

...ventgrid/models/storage_blob_deleted_event_data.py
30.76% <10%> (ø)
:arrow_up:

azure-eventgrid/azure/eventgrid/models/__init__.py
100% <100%> (ø)
:arrow_up:

...entgrid/azure/eventgrid/models/event_grid_event.py
100% <100%> (ø)
:arrow_up:

...rid/azure/eventgrid/models/event_grid_event_py3.py
100% <100%> (ø)

...ure-eventgrid/azure/eventgrid/event_grid_client.py
97.05% <100%> (+0.08%)
:arrow_up:

...ventgrid/models/resource_write_failure_data_py3.py
25% <25%> (ø)

...eventgrid/models/resource_write_cancel_data_py3.py
25% <25%> (ø)

...entgrid/models/resource_delete_success_data_py3.py
25% <25%> (ø)

...entgrid/azure/eventgrid/models/device_twin_info.py
25% <25%> (ø)

...entgrid/models/resource_delete_failure_data_py3.py
25% <25%> (ø)

... and 82 more

Continue to review full report at Codecov.

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

NodePR


Profile & Kfam: API Reference docs

Profile & Kfam: API Reference docs

Thanks @kunmingg - Please would you expand the title and description of this issue to give more context about what Profile & Kfam are.

@kunmingg What's the status of this issue?

/area docs
/priority p2

Having API Reference docs available will be super helpful! We are considering using kfam API to add contributors to a given profile programmatically.

Please see discussion
https://groups.google.com/forum/m/#!topic/kubeflow-discuss/whS_j4RlEJo
kfam is probably not the right thing to use.

thanks @jlewi! Yeah, we didn't go that route. We are now working on a controller to config contributors for profiles.


Duplicate director workers running

I made the mistake of doing a monit restart director while a [snapshot] task was running. An hour later I get the following confusing error during a deploy...
Director task 12507
  Started preparing deployment > Preparing deployment. Done (00:00:00)

  Started preparing package compilation > Finding packages to compile. Done (00:00:00)

  Started updating job main > main/0 (de56ea95-4a03-4655-bd46-0498c54429a6) (canary)

Error 100: Failed to acquire lock for lock:deployment:yarnblog uid: 10a7bde4-9b65-46ee-9b3e-186441202cb0

Task 12507 error

Turns out director had duplicate #2 workers. Both of them happened to pickup the task and while one of them failed to acquire the lock and errored the task, the other continued with the deployment task...
  ├─ruby,21899 /var/vcap/packages/director/bin/bosh-director-worker -c /var/vcap/jobs/director/config/worker_2.yml -i 2
  │   ├─ruby,23482 /var/vcap/packages/director/bin/bosh-director-worker -c /var/vcap/jobs/director/config/worker_2.yml -i 2
  │   │   ├─{ruby},23484
  │   │   ├─{ruby},23485
  │   │   ├─{ruby},23486
  │   │   ├─{ruby},23487
  │   │   ├─{ruby},23488
  │   │   ├─{ruby},23489
  │   │   ├─{ruby},23490
  │   │   ├─{ruby},23491
  │   │   ├─{ruby},23492
  │   │   ├─{ruby},23493
  │   │   ├─{ruby},23494
  │   │   ├─{ruby},23495
  │   │   ├─{ruby},23496
  │   │   ├─{ruby},23497
  │   │   ├─{ruby},23498
  │   │   ├─{ruby},23499
  │   │   ├─{ruby},23518
  │   │   ├─{ruby},23519
  │   │   ├─{ruby},23520
  │   │   ├─{ruby},23525
  │   │   ├─{ruby},23526
  │   │   ├─{ruby},23528
  │   │   ├─{ruby},23530
  │   │   ├─{ruby},23575
  │   │   └─{ruby},23576
  │   ├─{ruby},23478
  │   └─{ruby},23483
  ├─ruby,22115 /var/vcap/packages/director/bin/bosh-director-worker -c /var/vcap/jobs/director/config/worker_2.yml -i 2
  │   └─{ruby},23718

This is reproducible with the steps:

Start a brief task
Do monit restart director
Wait for tasks being up
See an extra worker running (with a different PID than the original workers)

Seems like this shouldn't be possible. I guess it's unlikely to be an issue on bosh-init-managed directors where they're always recreated/restarted from scratch, but on bosh-managed directors it's more plausible.
Director 1.3232.2.0

We're seeing this problem, too

Any Resolution?

Fixed in v262.


Repository doesn't have a quick start section in the README

Is your change request related to a problem? Please describe.
As described in the documentation section of the Library Guidelines, Contributors libraries are expected to have in their README a short summary of the library's purpose, installation instructions, a quick start with a minimal usage example, and links to the documentation and contributing guide.
This library currently doesn't have a quick start in the README.
Describe the solution you'd like
The library needs a quick start section after the installation instructions. argonaut-codecs is one example of a library with a quick start.
Additional context
See the Governance repository for more information about requirements in the Contributors organization.

Do you have any suggestions for what the quick start sections should be? What a minimal parse / print example might be? Maybe there's something in the tests we could use to suggest a quick start for whomever wants to take on this issue.

I think this will be easier to do once I update #50 to use un-newtyped records.


Support scale video: fitCenter, Centercrop...

Hi @eneim
Currently, Your ExoPlayerHelper class use SimpleExoPlayerView which just allow scale video with: fit_width, fix_height, fill, fit.
So, I can not scale my video with scale type: fitCenter, Centercrop...
Can you update your library to support a Player View have scale type above. Thank your

@hiennguyen1001 Currently I only support SimpleExoPlayerView as it comes from ExoPlayer officially. To support more ability, either you create your own widget or you request ExoPlayer team for that. Creating one is not in my plan sadly. I suggest you to refer to the code made by SimpleExoPlayerView and create your own version.


[BUG] Caught rejection: TypeError [ERR_INVALID_ARG_TYPE]

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
Program starts, and shortly after throws error and quits
rejection Timestamp : 2024-05-11T08:18:01.263Z

Caught rejection: TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received undefined

Origin: [object Promise]

TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received undefined
    at new NodeError (node:internal/errors:406:5)
    at validateString (node:internal/validators:162:11)
    at Object.basename (node:path:756:5)
    at Object.setActivity (C:\Users\Aekzl\AppData\Local\Programs\fsg-mod-assistant\resources\app.asar\lib\modAssist_func_lib.js:692:141)
    at Timeout._onTimeout (C:\Users\Aekzl\AppData\Local\Programs\fsg-mod-assistant\resources\app.asar\lib\modAssist_func_lib.js:677:32)
    at listOnTimeout (node:internal/timers:573:17)
    at process.processTimers (node:internal/timers:514:7)rejection Timestamp : 2024-05-11T08:19:24.521Z

Expected Behavior
no error expected
Steps To Reproduce
idk how to reproduce, i could not test on another machine.
i know it is the same issue with v4 and v4.01
Environment
- Mod Assistant Version: 4.0.0 and 4.0.1
- OS: Wi11
- Virtualized: No

Anything else?
crash.log

the same happens with 3.5.2 and 3.9.91 as well.
idk what path it refers to, but nothig fancy in any of the possibilities tbh, not file system, not sys PATH, not fs or any of its mod paths....

huh.  that's odd.  I'll try and track down why this is happening.  New install, or upgrade?
as for what path it means - something I am searching for or supplying, the path in question is actually the node:path package - specifically the "basename" function.  I had thought I had undefined traps on all of them, but clearly not.  Thanks for the report.

i never ran into any issues with it before, got a new system setup so its a fresh install.
thx for the path explanation, that gives hints. i have to admit i have anaconda installed, and probably various different packages/versions/environments, what is unclear to me is how it would mix up anything in there, or why it would not pick up set environment variables within.
anyways, if i can supply anything that helps you  let me know.
have a great sunday, cheers!

so, this is in the discord status update stuff.  I don't know how the variable it's looking at can become undefined, but I added a trap for it.  Fix will be in 4.0.2 (or 4.1.0 depending on how much I do) later today

closing for now, please reopen if the problem persists in the next released version

works, no force close or anything, thanks a lot.
i just wanted to give you additional feedback on the issue when i saw you talk about discord status in your explanation.
i use vencord.dev , a discord modification, might be impacting on whatever you tried to read...
cheers mate!


WMTS optionsFromCapabilities ignores WGS84BoundingBox

Describe the bug
WGS84BoundingBox from WMTSCapabilities.xml is ignored.
There exists a test to check it is read correctly but it is not used anywhere in the source.
Related issues: #10979.
To Reproduce
Steps to reproduce the behavior:

Go to https://openlayers.org/en/latest/examples/wmts-hidpi.html
Look in network manager when the view is outside the bounding box there are lots of 404 status codes because it tries to load tiles that don't exist.

Expected behavior
Only tiles inside the bounding box should be loaded.

This seems to work. There are now only a few 404's at the edges.
But this shouldn't be necessary, should it?
    const wgs84BoundingBox = result.Contents.Layer.find(function (l) {
      return l.Identifier === layer;
    }).WGS84BoundingBox;
    const extent = boundingExtent([
      fromLonLat(wgs84BoundingBox.slice(0, 2)),
      fromLonLat(wgs84BoundingBox.slice(2, 4)),
    ]);
    map.addLayer(
      new TileLayer({
        source: new WMTS(options),
        extent: extent,
      })
    );

No, that should not be necessary. Would you be able to provide a pull request?

I don't think I'll be able to provide fix, sorry.

Just tried the code from @M393 and for me the result of parser.read does not even include the three BoundingBox properties any more in the generated object, even though they are clearly there in the XML:
<Layer>
    <ows:Identifier>layer_name</ows:Identifier>
    <ows:Title>layer_name</ows:Title>
    <ows:Abstract>layer_name</ows:Abstract>
    <ows:WGS84BoundingBox>
        <LowerCorner>16.135238 48.349748</LowerCorner>
        <UpperCorner>16.255636 48.42425</UpperCorner>
    </ows:WGS84BoundingBox>
    <ows:BoundingBox crs="EPSG:3857">
        <LowerCorner>1796166.507554 6165239.013791</LowerCorner>
        <UpperCorner>1809569.145283 6177727.309223</UpperCorner>
    </ows:BoundingBox>
    <ows:BoundingBox crs="EPSG:31256">
        <LowerCorner>-14593.085712<PHONE_NUMBER>81</LowerCorner>
        <UpperCorner>-5660.506093<PHONE_NUMBER>3</UpperCorner>
    </ows:BoundingBox>
    <Style isDefault="true">
        <ows:Identifier>default</ows:Identifier>
        <ows:Title>default</ows:Title>
    </Style>
    <Format>image/png</Format>
    <Format>image/jpeg</Format>
    <TileMatrixSetLink>
        <TileMatrixSet>EPSG:3857</TileMatrixSet>
        <TileMatrixSetLimits>
            <TileMatrixLimits>
                <TileMatrix>0</TileMatrix>
                <MinTileCol>0</MinTileCol>
                <MaxTileCol>0</MaxTileCol>
                <MinTileRow>0</MinTileRow>
                <MaxTileRow>0</MaxTileRow>
            </TileMatrixLimits>
            [and so on]
        </TileMatrixSetLimits>
    </TileMatrixSetLink>
    <TileMatrixSetLink>
        <TileMatrixSet>EPSG:31256</TileMatrixSet>
        [again limit definitions as above]
        </TileMatrixSetLimits>
    </TileMatrixSetLink>
</Layer>

You are missing the ows namespace for the LowerCorner and UpperCorner nodes:
    <ows:WGS84BoundingBox>
        <ows:LowerCorner>16.135238 48.349748</ows:LowerCorner>
        <ows:UpperCorner>16.255636 48.42425</ows:UpperCorner>
    </ows:WGS84BoundingBox>

Nothing like bugs in third party code -.- Oh well time to talk to the vendor.

Fixed by #11405


Integration reports inaccurate data

When stations report N/A for a given value, GIRO presents as such (foe for example):

Which is also correctly displayed on prop.kc2g.com (no value displayed):

However the integration seems to be substituting this with 0.000:

This is inaccurate, and causes lots of drops in graphs over time. Instead, the integration should simply report unavailable when a given value is reported N/A.
Given measurements are not available from all stations at all times, I've created aggregate template sensors that take nearby station data and handle gaps as a workaround. While cumbersome, this effectively takes the average of 1 or more datapoints, and if all datapoints are 0 the state will fail to render as you cannot average an empty list of values, and the sensor will correctly report unavailable.
    - unique_id: sensor.ham_radio_propagation_solar_hf_foe_average
      attributes:
        friendly_name: Solar Data HF foE Average
      icon: mdi:format-wrap-inline
      unit_of_measurement: MHz
      state_class: measurement
      state: >
        {% set sensor_list = [
            states('sensor.ham_radio_propagation_solar_hf_foe_ga762') | float(default=0),
            states('sensor.ham_radio_propagation_solar_hf_foe_mhj45') | float(default=0),
            states('sensor.ham_radio_propagation_solar_hf_foe_pf765') | float(default=0)
          ]
        %}
        {{ sensor_list | reject('==', 0) | average | round(3) }}

Results with all sources shown:

Average template sensor output with gaps coinciding with N/A:

Expected behavior would be for the integration to take care of this natively. If a station is reporting N/A, do not substitute a 0 value.

Thanks a lot Michael, I’ll study next days to export “unavailable” value instead of 0.00
I’ll build new releases soon.
73

Hi @prenetic i've changed backend parser and now i see in HA the Undefined value when data is null.
Please check your graphs and give me your feedback.
'73

I see the breaks now, thank you!

resolved


Partial setter matching  doesn't work with kebab case

Expected behavior
running:
kpt fn run . --image gcr.io/kpt-fn/apply-setters:v0.1 -- 'registry=gcr.io'
against a resource with the following setter comment:
 image: docker.io/my-app/my-app-backend:1.0.0 # kpt-set: ${registry}/${app-image-repo}/${app-image-name}:${app-image-tag}
should result in the following output:
 image: gcr.io/my-app/my-app-backend:1.0.0 # kpt-set: ${registry}/${app-image-repo}/${app-image-name}:${app-image-tag}
partial pattern matching should work with kebab case.
Actual behavior
The following error is the result:
values for setters [${app-image-repo} ${app-image-name} ${app-image-tag}] must be provided
Information
I'm currently using kebab case setter names with the apply-setters function v1.0. It seems like pattern matching fails due to the - being invalid for regex group matching names. The code block here specifies the group matcher https://github.com/GoogleContainerTools/kpt-functions-catalog/blob/master/functions/go/apply-setters/applysetters/apply_setters.go#L211.  As a workaround I'm currently using Camel Case, which works. I've also tried snake case, which also seems to work.
Steps to reproduce the behavior
Here the test case I'm using to reproduce the issue :
        {
	name: "set setter pattern partial kebab case",
	config: `
data:
    registry: gcr.io
`,
			input: `apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-app-deployment
spec:
  replicas: 3
  template:
    spec:
      containers:
        - name: my-app
          image: docker.io/my-app/my-app-backend:1.0.0 # kpt-set: ${registry}/${app-image-repo}/${app-image-name}:${app-image-tag}
`,
			expectedResources: `apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-app-deployment
spec:
  replicas: 3
  template:
    spec:
      containers:
        - name: my-app
          image: gcr.io/my-app/my-app-backend:1.0.0 # kpt-set: ${registry}/${app-image-repo}/${app-image-name}:${app-image-tag}
`,
		},

this test will fail with:
--- FAIL: TestApplySettersFilter (167.62s)
    --- FAIL: TestApplySettersFilter/set_setter_pattern_partial_kebab_case (167.62s)
        apply_setters_test.go:398:
            	Error Trace:	apply_setters_test.go:398
            	Error:      	Received unexpected error:

            	Test:       	TestApplySettersFilter/set_setter_pattern_partial_kebab_case

The actual exception seems to be this:
error parsing regexp: invalid named capture: (?P<app-image-repo>
This is a snippet that reproduces the issue as well:
https://play.golang.org/p/5Ttn7N4QVyq
This one would work:
https://play.golang.org/p/e-jYgaU7p19

@phanimarupaka Thanks for creating a PR for this.
I really like the new way how setters work. Also, our customers really like how simple it is to write setters now. It used to be very tedious to just write up a simple setter using the openapi spec in the kpt file. The new way is so much simpler and also kind of elegant. I especially like how quickly you can now just write up a whole kpt package without switching between files all the time. I think the new approach is also more flexible in regards to sub-packages and how "inheritance" works. It's just straightforward. Here a couple of things we thought could be improved:

@phanimarupaka Thanks for creating a PR for this.
In a nutshell, we really like the new way how setters work. Our customers really appreciate how simple it is to write setters now. It used to be very tedious to just write up a simple setter using the openapi spec in the kpt file. The new way is so much simpler and also kind of elegant. I especially like how quickly you can now just write up a whole kpt package without switching between files all the time. I think the new approach is also more flexible in regards to sub-packages and how "inheritance" works. It's just straightforward.
Here a couple of things we thought could be improved:

Setter discoverability is not convenient for new users. It would be nice to have some tooling for vscode or other IDE's to discover setters when typing, including default values and a description, which we usually just append to the kpt-set marker as an additional comment.

Being able to use setters in setter values would be nice as well. for example, imagine the following setters:
stage: dev
domain: example.com
auth-url: https://auth.dev.example.com
realm-name: dev-auth

I would want to set the auth-url using the two other setters so I don't have to repeat the stage name all over my setter values. So ideally I could just do this:
stage: dev
domain: example.com
auth-url: https://auth.${stage}.${domain}
realm-name: ${stage}-auth

We experimented with a first iteration over the setter values and just replacing all the substitutions in the setter values using the setter values available. This seems to work quite well.

But besides these things, I think we are really happy with how the apply-setters function works. We started migrating all our packages to the function-based approach.

@phanimarupaka Thanks for creating a PR for this.
In a nutshell, we really like the new way how setters work. Our customers really appreciate how simple it is to write setters now. It used to be very tedious to just write up a simple setter using the openapi spec in the kpt file. The new way is so much simpler and also kind of elegant. I especially like how quickly you can now just write up a whole kpt package without switching between files all the time. I think the new approach is also more flexible in regards to sub-packages and how "inheritance" works. It's just straightforward.

@stefanhenseler Thanks for the feedback. Good to hear that.

Here a couple of things we thought could be improved:

Setter discoverability is not convenient for new users. It would be nice to have some tooling for vscode or other IDE's to discover setters when typing, including default values and a description, which we usually just append to the kpt-set marker as an additional comment.

That issue is already under consideration.
Current solution: Assuming you are a package publisher, you can help your consumers by including ConfigMap with descriptions as comments so that your package consumers can discover and edit the values in file(example).
Long term, we want to provide an easy way(retaining the current simplicity which you pointed out) for package publishers to provide validation schema for setter values so that IDE extensions like Cloud Code can leverage them and provide authoring assistance.

Being able to use setters in setter values would be nice as well. for example, imagine the following setters:
stage: dev
domain: example.com
auth-url: https://auth.dev.example.com
realm-name: dev-auth

I would want to set the auth-url using the two other setters so I don't have to repeat the stage name all over my setter values. So ideally I could just do this:
stage: dev
domain: example.com
auth-url: https://auth.${stage}.${domain}
realm-name: ${stage}-auth

We have considered this option but wanted to know more real world use-cases. Why do you need it ? Why cant the kpt-set comment itself point to stage, domain setters and get rid of auth-url setter? Is it because auth-url setter can have a totally different value like https://foo.bar.com? Can you please provide the resource example as well with setter comments to know more about the use-case ?

We experimented with a first iteration over the setter values and just replacing all the substitutions in the setter values using the setter values available. This seems to work quite well.
But besides these things, I think we are really happy with how the apply-setters function works. We started migrating all our packages to the function-based approach.

Current solution: Assuming you are a package publisher, you can help your consumers by including ConfigMap with descriptions as comments so that your package consumers can discover and edit the values in file(example).

Yes, this is what we are doing at the moment. We just comment out all the available setters and add comments as descriptions. This allows a user to understand the setters right away. But especially if there are many sub-packages which one does dynamically add, it would be better if this could be part of the tooling. I think adding the possibility to use a schema for validation using comments as well, would be really great (That was one thing I liked about the openapi spec approach :)). But as you say, it should retain the current simplicity and lightweight notation.

We have considered this option but wanted to know more real world use-cases. Why do you need it ? Why cant the kpt-set comment itself point to stage, domain setters and get rid of auth-url setter? Is it because auth-url setter can have a totally different value like https://foo.bar.com? Can you please provide the resource example as well with setter comments to know more about the use-case ?

exactly. So one particular example would be a VirtualService resource (or Ingress / Route). Where in the package, almost all instances use the default pattern, but there is always one customer where this is not possible and then you need to change the pattern. Is the search-replace function the tool to be used for this case? Here an example:
apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
  name: my-app
spec:
  hosts:
  - "my-app.helix.dev.example.com" # kpt-set: my-app.${stage}.${domain} <--- So here we might have to change the pattern to  something like this: accounts.apis.${domain}
  gateways:
  - helix-istio-ingress-external/helix-gateway
  http:
  - route:
    - destination:
        host: my-app
        port:
          number: 8443

Current solution: Assuming you are a package publisher, you can help your consumers by including ConfigMap with descriptions as comments so that your package consumers can discover and edit the values in file(example).

Yes, this is what we are doing at the moment. We just comment out all the available setters and add comments as descriptions. This allows a user to understand the setters right away. But especially if there are many sub-packages which one does dynamically add, it would be better if this could be part of the tooling. I think adding the possibility to use a schema for validation using comments as well, would be really great (That was one thing I liked about the openapi spec approach :)). But as you say, it should retain the current simplicity and lightweight notation.

Yes. We want to leave the most common cases UX simple. So we will not be adding more data to setter comments as it will affect the readability of resource files. We might ask package publishers to provide schema in a meta file separate from resources itself. But it is too early to discuss about that. Stay tuned for updates.

We have considered this option but wanted to know more real world use-cases. Why do you need it ? Why cant the kpt-set comment itself point to stage, domain setters and get rid of auth-url setter? Is it because auth-url setter can have a totally different value like https://foo.bar.com? Can you please provide the resource example as well with setter comments to know more about the use-case ?

exactly. So one particular example would be a VirtualService resource (or Ingress / Route). Where in the package, almost all instances use the default pattern, but there is always one customer where this is not possible and then you need to change the pattern. Is the search-replace function the tool to be used for this case? Here an example:
apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
  name: my-app
spec:
  hosts:
  - "my-app.helix.dev.example.com" # kpt-set: my-app.${stage}.${domain} <--- So here we might have to change the pattern to  something like this: accounts.apis.${domain}
  gateways:
  - helix-istio-ingress-external/helix-gateway
  http:
  - route:
    - destination:
        host: my-app
        port:
          number: 8443

@ryane do you have another example?

If most of your customers are using default pattern, I would recommend using the default pattern as kpt-set comment. Yes, if there are customers who want to change the value completely, they can use search-replace function.

Yes. We want to leave the most common cases UX simple. So we will not be adding more data to setter comments as it will affect the readability of resource files. We might ask package publishers to provide schema in a meta file separate from resources and function config. But it is too early to discuss about that. Stay tuned for updates.

Sounds great! Looking forward to seeing where this goes.

Let me know if combination of apply-setters and search-replace solves your use-case.

I didn't use it yet in that way, but I guess this should be sufficient. I actually think although there might be some edge cases where the setter substitution would help, It's better to keep it out for simplicity's sake. Also, search-replace seems very flexible. I will look into it.

I'm curious @stefanhenseler - have you settled in to a pattern without the classic pattern substitutions used to provide? I leveraged that pattern a lot, especially with regards to heavily verbose internal DNS urls.
It was nice to be able to expose simple setters that took a single value, then have those be concatenated but a substitution downstream. When using setters imperatively, it seems like it would be impossible to discover what used to be a substitution, instead requiring the consumer to know the entire value that needs to be replace.
I'm not sure how search-replace helps with discoverability in this case. The substitutions helped allow package maintainers to simplify consumption - and it seems like we are losing that.

@Pitta yes, we chose to simplify our setup and basically use single setter values where possible. If we use two setters in one key, we always make sure to explicitly set both setters. It's not ideal, but this works for us at the moment.


Fix CI failing errors

Fixes #22

Looks neat ! thanks a lot !

@all-contributors please add @lexcorp16 for infrastructure and tests


Break points are not hit when running the app

I have followed the exact steps on the page https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger.md. I tried that on Windows and Ubuntu 14.04. when setting a break point on the code and then run the app (using F5), the execution doesn't stop on the break point although the break point is listed in the BREAKPOINTS window. here is all files I have (on Windows) so you may point what is wrong:
NuGet.Config:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <!--To inherit the global NuGet package sources remove the <clear/> line below -->
    <clear />
    <add key="dotnet-core" value="https://dotnet.myget.org/F/dotnet-core/api/v3/index.json" />
    <add key="api.nuget.org" value="https://api.nuget.org/v3/index.json" />
  </packageSources>
</configuration>

project.json:
{
    "version": "1.0.0-*",
    "compilationOptions": {
        "emitEntryPoint": true,
        "debugType": "portable"
    },

    "dependencies": {
        "NETStandard.Library": "1.0.0-rc3-23829"
    },

    "frameworks": {
        "dnxcore50": { }
    }
}

Program.cs
using System;

namespace ConsoleApplication
{
    public class Program
    {
        public static void Main(string[] args)
        {
            // I set the breakpoint on the next line
            Console.WriteLine("Hello World!");
        }
    }
}

tasks.json:
{
    "version": "0.1.0",
    "command": "dotnet",
    "isShellCommand": true,
    "args": [],
    "tasks": [
        {
            "taskName": "build",
            "args": [ ],
            "isBuildCommand": true,
            "problemMatcher": "$msCompile"
        }
    ]
}

launch.json
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": ".NET Core Launch (console)",
            "type": "coreclr",
            "request": "launch",
            "preLaunchTask": "build",
            "program": "${workspaceRoot}/bin/Debug/dnxcore50/win7-x64/NewCliProject.exe",
            "args": [],
            "cwd": "${workspaceRoot}",
            "justMyCode": false,
            "stopAtEntry": true
        },
        {
            "name": ".NET Core Launch (web)",
            "type": "coreclr",
            "request": "launch",
            "preLaunchTask": "build",
            "program": "${workspaceRoot}/bin/Debug/<path-to-program>",
            "args": [],
            "cwd": "${workspaceRoot}",
            "stopAtEntry": false,
            "launchBrowser": {
                "enabled": true,
                "args": "${auto-detect-url}",
                "windows": {
                    "command": "cmd.exe",
                    "args": "/C start ${auto-detect-url}"
                },
                "osx": {
                    "command": "open"
                },
                "linux": {
                    "command": "xdg-open"
                }
            }
        },
        {
            "name": ".NET Core Attach",
            "type": "coreclr",
            "request": "attach",
            "processName": "<example>"
        }
    ]
}

Can you please provide the output of dotnet --version?

.NET Command Line Tools (1.0.0-beta-001598)
Product Information:
Version:     1.0.0-beta-001598
Commit Sha:  7582649f88
Runtime Environment:
OS Name:     Windows
OS Version:  10.0.10586
OS Platform: Windows
Runtime Id:  win10-x64

Also I am seeing in the Debug Console output windows the following message

WARNING: Could not load symbols for 'NewCliProject.dll'. 'c:\Temp\NewCliProject\bin\Debug\dnxcore50\win7-x64\NewCliProject.pdb' is a Windows PDB. These are not supported by the cross-platform .NET Core debugger.

I am seeing similar messages for the framework assemblies too. note that I am already using "debugType": "portable" in the project.json which I expect it should support portable pdb.

There are two issues:

The latest version of dotnet cli from here does NOT support portable pdb's on windows. Please see the note under 2. On Windows here. It will point you to a newer dotnet cli that can produce portable pdb's on Windows. Make sure you completely uninstall your current dotnet cli before installing the new one. Then rebuild your project.

The OmniSharp version we’re using still only supports old-style DNX and MSBuild projects. It doesn’t understand newer .NET CLI project.json files. If you want to try out the newer OmniSharp server to get IntelliSense on .NET Core (but breaking compatibility with MSBuild and DNX), do the following:

  Download the appropriate OmniSharp package from https://github.com/OmniSharp/omnisharp-roslyn/releases/tag/v1.9-alpha1.

  Unzip/tar it into a folder.

  In VS Code, select Code->Preferences->User Settings from the main menu to open settings.json.

  In settings.json, add "charp.omnisharp": "path/to/the/omnisharp/executable/I/just/downloaded"

  Restart VS Code.

Now it is working. thanks for your help.

just in case if anyone else run into the same issue, the version of the CLI which worked for me is:
Version:     1.0.0-beta-001661
and project.json will be like the following (note that the framework will be netstandardapp1.5):
{
"version": "1.0.0-*",
"compilationOptions": {
"emitEntryPoint": true,
"debugType": "portable"
},
"dependencies": {
    "NETStandard.Library": "1.0.0-rc3-23829"
},

"frameworks": {
    "netstandardapp1.5": {
        "imports": "dnxcore50"
    }
}

}

I'm glad it's working now. Thanks for the additional feedback!

I had the same problem and adding "debugType": "portable" to Project.json obviously solved it although otherwise I have completely different entries

For Visual Studio people searching on this issue:
  <PropertyGroup>
    <DebugType>portable</DebugType>
  </PropertyGroup>

Additional note for Visual Studio people:
Make sure to set @bboyle1234's suggestion here:
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
    <PlatformTarget>x64</PlatformTarget>
    <DebugSymbols>true</DebugSymbols>

    <DebugType>portable</DebugType>

    <Optimize>false</Optimize>
    <OutputPath>bin\Debug\</OutputPath>
    <DefineConstants>DEBUG;TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>


Fix slides transition from Part 9 to Part 10

Part #9 has dummy slides at end.
Script  is curtailed.
Also -- need final two slides of section10 !!

says end of Part F, at end of Part I


Removes vpn service from compose file if unselected on creation

I tried and see it works well. However, can, instead of regexp, a YAML lib be used to load the compose, remove the field and serialize it back?
At the same time, we had a chat with @schaubl about this bug. While it's a bug from the user's point of view (requesting no VPN client but still getting it deployed), unfortunately, ATM there is no simple way to retrofit it later on already commissioned NE.
Options:

On the modal, remove the possibility to remove VPN (anyways, this does nothing).
Merge the fix and for now, assume NEs will not have VPN if not requested from the beginning.

Then, assess if it's possible to deploy VPN on NE after it's already commissioned. If yes:

provide documentation on how to manually deploy VPN on NE if required later.
automate the deployment of the VPN client (from Nuvla?) on already commissioned NE.

@schaubl what do you think?

Using a library makes sense.
I wait to further work on it until we have decided if we want to go forward with this change or remove the VPN dropdown altogether.


Update image download script

There is a new image in the Haystack repo. This PR updates the script so that it downloads the image

@brandenchan in which markdown file are you using the new image?


Unknown Event irc->mattermost messages

Using master (I think.. go get github.com/42wim/matterbridge-plus):
When I submit a message in mattermost, it goes to the relevant irc channel, but the otherway around I see this in the bridge log and the message does not arrive in mattermost:
INFO[2016-06-18T13:36:10Z] UNKNOWN EVENT: &irc.Event{Code:"PRIVMSG", Raw:":JJWTimmer!~Jasper@2001:982:17de:1:54a1:d573:77c8:3e53 PRIVMSG #botTesting :hello?", Nick:"JJWTimmer", Host:"2001:982:17de:1:54a1:d573:77c8:3e53", Source:"JJWTimmer!~Jasper@2001:982:17de:1:54a1:d573:77c8:3e53", User:"~Jasper", Arguments:[]string{"#botTesting", "hello?"}, Connection:(*irc.Connection)(0xc8201598c0)}  module=irc

It's not a private message as far as I can tell, but just a regular IRC message.

could you run with -debug and paste the debug log ? be sure to blank out personal info/passwords

Here you have the log: log.txt
I couldn't find personal info in there except my name. Last message is the one I sent as a test from IRC and I expect it in mattermost.

Appartently I'm kind of blind. I'm seeing my messages now. Sorry for the fuzz.


nydusd: graceful state machine thread shutdown

When exiting, make sure we wait for the state machine thread to quit.
A few changes were applied:

Trigger daemon exit upon signals instead of just disconnecting the
fuse session. So that the state machine thread also quits.
Quit the state machine thread upon EXIT (TerminateFuseService) event.
Wait for the state machine thread together with the fuse
service threads in main thread.
interrupt should just close the fuse servers instead of the FUSE connection
http server should handle parallel mio events

Is this target 2.0? There will be heavy conflicts with fscache branch.

@jiangliu Yes, it fixes hot-upgrade and is targeting at 2.0 where hot-upgrade is broken with the introduction of mio.

Mark wip as I'm still testing it.

We need to merge this into fscache branch too once it gets merged:)

This is ready to be reviewed/merged.