type guard on this inside method produces strange narrowings and seemingly inconsistent error messages

Bug Report

🔎 Search Terms
this type guard, method, hidden circularity, annotated return type, user defined type guard
🕗 Version & Regression Information

This changed between versions 3.7.5 and 3.8.3

⏯ Playground Link
Playground link with relevant code
💻 Code

class Foo<T extends string | number> {
  constructor(public prop: T) { }

  method() {
    if (hasStringProp(this)) {
      return this.prop.toUpperCase() // error!
      // Property 'toUpperCase' does not exist on type 'string | number'
    }
    if (hasNumberProp(this)) {
      return this.prop.toFixed(); // error!
      // Property 'prop' does not exist on type 'never'
    }
    throw new Error();
  }
}

function hasStringProp(t: Foo<string | number>): t is Foo<string> { return typeof t.prop === "string" }
function hasNumberProp(t: Foo<string | number>): t is Foo<number> { return typeof t.prop === "number" }

🙁 Actual behavior
Inside the respective blocks in method(), this is seen (via quickinfo) to have been narrowed to this & Foo<string> and then this & Foo<number>, and this.prop is seen to have been narrowed to T & string and then T & number.  But actually trying to access this.prop as such produces errors about how this.prop is apparently string | number (as if no narrowing has occurred) in the first case, and how this is apparently never (as if too much narrowing has occurred) in the second case.
It really seems like the actual problem here is a hidden circularity.  The return type of method() depends on the return type of hasStringProp(this) and hasNumberProp(this) which depends on Foo which depends on the method().  But no circularity warning is issued.  Instead there's just these weird narrowing errors.
If you annotate the return type of method() explicitly, this problem goes away (starting with TS version 4.1.0-dev.20201028):

  method(): string {
    if (hasStringProp(this)) {
      return this.prop.toUpperCase(); // okay
    }
    if (hasNumberProp(this)) {
      return this.prop.toFixed(); // okay
    }
    throw new Error();
  }

🙂 Expected behavior
I'd expect either everything should just work, or if there's a circularity issue then it should be mentioned explicitly on method().
Comes from this Stack Overflow question

another workaround would be
const self = this as Expand<this>;

where Expand is
type Expand<T> =
  T extends infer R
    ? {[key in keyof R]: R[key]}
    : never;

Playground link


Update zh_CN.lang

Apparently I forget to update the translation, so here it is!

Since this project is abandoned... I am gonna close this issue for now...

If I start working on OmniPowerTools again, I'll make sure to include your translation. (though it's unlikely that I'll return to Minecraft modding anytime soon for a few reasons)

I will keep eye on MoniPowerTools :)


v4 and BDV XML

@constantinpape @K-Meech
When we save data in v0.4, do we then still need the BDV XML?

I don't think so? As the scaling/transforms metadata is now supported? We should probably drop bdv ome-zarr from the project creator, and only support v0.4 ome-zarr then.

Yes, but would we need a script/function that converts data saved already as bdv.ome.zarr to pure ome.zarr? Otherwise I guess it would be difficult to edit old projects, would it?
Or maybe for the "edit" option it would still support the older formats for both read and write?

True - these old projects could still be opened in MoBIE, but it would be hard to edit them in the project creator. I don't think it would be too hard to make a script that would convert these bdv ome-zarr to v0.4 ome-zarr though. As far as I understand, only the metadata is different, not the actual chunks, so we would only need to re-write a few files...

As the scaling/transforms metadata is now supported?

Just fyi, for now v0.4 only supports scale and translation; general affines will follow in the next release.
So if you want to keep support for affines we would need to stick to supporting the xml.

Good point. Ok - let's keep the bdv xml for now, and remove it once everything is supported.

Ok - started working on this, and I've changed my mind. Since, in MoBIE, we just have the scaling in the xml, and all affines handled by the views - then perhaps already we can remove the xml? This would make it simpler on the writing side, as otherwise we will have the xml + v0.4 ome-zarr, so potentially two conflicting sets of metadata on the transforms..

. Since, in MoBIE, we just have the scaling in the xml, and all affines handled by the views - then perhaps already we can remove the xml? This would make it simpler on the writing side, as otherwise we will have the xml + v0.4 ome-zarr, so potentially two conflicting sets of metadata on the transforms..

Sounds good. I wasn't sure how well we actually enforce "just scaling in the xml", but that's probably a good opportunity to be strict about this.

I'll close this, as we decided to remove the xml for writing


doc: suggestions for design page

While reading the design page I came across a few sentences that could
perhaps be improved, and this commit contains suggestions for such
improvements.

Landed in https://github.com/libuv/libuv/commit/12f18159cf2f40fe12c62eb7a0ae22b6dd5548d5. Thanks!


Thank you!

Hi, I just wanted to express my gratitude for putting this example code up here. I'm writing a small daemon to handle autoconfigure my hardware based on X events (like reinitialize keyboard repeat rate + layout when a keyboard is connected) and this is really helpful to me.


UI component inside the slide does not change when using the callback function

Describe the bug
I'm using the "vue3-carousel" slider: "^0.2.9",
This is what my slider structure looks like, inside the Slide is a UICard component

The UICard component has logic for updating data. I subscribe to an event in a class and pass a callback with this (UICard) context to it;

When callBack is called, the following happens:
The required model in the UICard component is changed, (Accordingly, Watch is called on this model, which works correctly and shows that the data is actually updated).
But in the card inside the slider visually nothing changes, the data remains old, and in vue devTools shows that the model is NULL.
In the mobile version I use the same UICard component, which is not inside the slider, and everything works fine there
What are your thoughts on how to solve this problem?
To Reproduce
Try changing the component data using the callback function, inside the slider
Expected behavior
I expect that the card in which the model has been changed will draw the new data, as in the mobile version without using the slider.
Desktop (please complete the following information):

OS: Windows 11
Browser Google Chrome
Version  119.0.6045.160

Might be related to #433, issue being that slides are just taken from vNodes and cannot update properly, I have a PR on the way


fix race condition when get stale request to StartTask

This branch fixes a bug that may cause the mismatch between nodemanager and headnode.
Background
By design, if the headnode loses heartbeat with nodemanager after scheduling a task, it will add taskRequeueCount then reschedule the task with new count. In this condition, the task is only completed when headnode gets a response from nodemanager with the new count.
At the same time on the nodemanager side, the stale task still request in, and then changes taskRequeueCount to older count when construct the response to headnode, so the count mismatch between response and headnode, which caused the task failed to complete and eventually timeout.

LGTM. Thanks.


Mixed arithmetic does not work under SIMD

The following fails to compile:
xarray<double> a = {{0., 1., 2.}, {3., 4., 5.}};
xarray<int> b = {{0, 1, 2}, {3, 4, 5}};
xarray<int> c = b;

xarray<double> res = a + (b + c);

This is because b+c is an xfunction whose functor is xt::add<int> and this last one cannot operates on batches of double as imposed by the xfunction a + (b + c).
More generally, any expression involving more than two leaves with integer types and at least on leaf with double type does not compile when SIMD is activated.
#709 should be taken into account when solving this issue.

Fixed by #713


protobuf have a problem

Click to expand!
Issue Type
Support
Have you reproduced the bug with TF nightly?
Yes
Source
source
Tensorflow Version
tf2.11.0
Custom Code
Yes
OS Platform and Distribution
win10
Mobile device
No response
Python version
3.9.16
Bazel version
No response
GCC/Compiler version
No response
CUDA/cuDNN version
11.7
GPU model and memory
No response
Current Behaviour?
I don't know if there is a problem with my download or the version of tensorflow, that is, how to recompile protobuf. Can I download the tensorflow compressed package directly from GitHub and uninstall tensorflow-Intel without uninstalling the gpu version.
Standalone code to reproduce the issue
PS E:\Googledownload\RectifiedFlow-main> & D:/conda/envs/reflow/python.exe e:/Googledownload/RectifiedFlow-main/ImageGeneration/1.py
Traceback (most recent call last):
  File "e:\Googledownload\RectifiedFlow-main\ImageGeneration\1.py", line 1, in <module>
    import tensorflow as tf
  File "D:\conda\envs\reflow\lib\site-packages\tensorflow\__init__.py", line 37, in <module>
    from tensorflow.python.tools import module_util as _module_util
  File "D:\conda\envs\reflow\lib\site-packages\tensorflow\python\__init__.py", line 37, in <module>
    from tensorflow.python.eager import context
  File "D:\conda\envs\reflow\lib\site-packages\tensorflow\python\eager\context.py", line 28, in <module>
    from tensorflow.core.framework import function_pb2
  File "D:\conda\envs\reflow\lib\site-packages\tensorflow\core\framework\function_pb2.py", line 16, in <module>
    from tensorflow.core.framework import attr_value_pb2 as tensorflow_dot_core_dot_framework_dot_attr__value__pb2
  File "D:\conda\envs\reflow\lib\site-packages\tensorflow\core\framework\attr_value_pb2.py", line 16, in <module>
    from tensorflow.core.framework import tensor_pb2 as tensorflow_dot_core_dot_framework_dot_tensor__pb2
  File "D:\conda\envs\reflow\lib\site-packages\tensorflow\core\framework\tensor_pb2.py", line 16, in <module>
    from tensorflow.core.framework import resource_handle_pb2 as tensorflow_dot_core_dot_framework_dot_resource__handle__pb2
  File "D:\conda\envs\reflow\lib\site-packages\tensorflow\core\framework\resource_handle_pb2.py", line 16, in <module>
    from tensorflow.core.framework import tensor_shape_pb2 as tensorflow_dot_core_dot_framework_dot_tensor__shape__pb2
  File "D:\conda\envs\reflow\lib\site-packages\tensorflow\core\framework\tensor_shape_pb2.py", line 36, in <module>
    _descriptor.FieldDescriptor(
  File "D:\conda\envs\reflow\lib\site-packages\google\protobuf\descriptor.py", line 561, in __new__
    _message.Message._CheckCalledFromGeneratedFile()
TypeError: Descriptors cannot not be created directly.
If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0.
If you cannot immediately regenerate your protos, some other possible workarounds are:
 1. Downgrade the protobuf package to 3.20.x or lower.
 2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower).

More information: https://developers.google.com/protocol-buffers/docs/news/2022-05-06#python-updates

Relevant log output
No response

@stonecropa,
Hi, Thanks for opening the issue.
Step 1: pip uninstall protobuf
Step 2: pip install protobuf==3.20.0

or any other lower version:
https://pypi.org/project/protobuf/#history

We have upgraded the protobuf dependency to 3.21.9 (4.21.9) for python from Tensorflow version 2.12, which was long awaited ask.
For Tensorflow and Tensorboard 2.12 version, the protobuf minimum version requirement is 'protobuf>=3.20.3,<5.0.0dev,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5'.
For any older Tensorflow version and new Tensorboard version the only version which acts as bridge between both is 3.20.3
The Tensorflow 2.12 is released, you can use Tensorboard 2.12 without any package conflict.  Please have a look at this issue for the reference. Thank you!

@tilakrayal                                                                                I installed tensorflow==2.12.0 in conda, and the conda list also shows that it is version 12, but it shows that it is version 11 in the VScode terminal, and the original error is still reported. My python is 3.8.16. Thanks.

@stonecropa,
Apologies for the delay. It seems the error might be related to protobuf version. Could you please confirm the protobuf version installed? And also for the Tf2.11 version the required range versions should be protobuf >= 3.9.2, < 3.20 .  Could you please check and confirm the same. Thank you!


ServiceDispatchHandler: downgrade "request missing cn header"

Downgrade to a warn, add bit more context to log.
r @Raynos @rf

Can we start a new pattern?
If socketRemoteAddr is in ringpop servers/membership then isHyperbahn: true
Probably in conn.extendLogInfo.
Otherwise Lgtm


Addresses SINK url issue #361

https://github.com/cloudfoundry-incubator/cf-abacus/issues/361

Coverage decreased (-0.7%) to 86.062% when pulling 994a53544c969fe008bfe0cf3471339917545b6b on rajkiranrbala:LocalSink into c84c06fe50a6e4c04f36ecb3ebcfda2ae2388bfc on cloudfoundry-incubator:master.

Coverage decreased (-0.7%) to 86.062% when pulling f1d1f9a3fac4613e323d508c9f0dc74198ea3ce2 on rajkiranrbala:LocalSink into c84c06fe50a6e4c04f36ecb3ebcfda2ae2388bfc on cloudfoundry-incubator:master.


Null safety package for graphql

Hi,
I am migrating my Flutter app to null safety packages and just want to know if there is any plan for this wonderful Graphql package in releasing a null safety version.
Currently I am using Firebase in my app and when I want to use a null safety version of firebase package, it depends on http_parser: ^4.0.0-nullsafety which graphql is not yet support.
I like GraphQL and Flutter and very happy to contribute if possible.
Cheers

This seems like it will be fairly involved, as we'll need to migrate all of the gql project we depend on as well. Hopefully the tooling is decent – this is definitely something we intend to / have to do.
Thankfully, dart's team is very considerate and null safety is backwards compatible, so the migration shouldn't be a total nightmare.

I have published the necessary gql packages: https://github.com/gql-dart/gql/pull/194.
Now we're waiting on normalize. and #817.

Hi, Any update for when null safety will be migrate to the package.

We're waiting for the normalize package: https://github.com/gql-dart/ferry/issues/154

Thank you for keep supporting this amazing package ❤

@micimize I think normalize now supports null safety in this version

@lypborges yes – in fact I have published a 4.0.3-alpha.1 that depends on null safe packages with help from @b-jan, so those looking to get ahead of the curve can depend on it.

I get an error when using a package that depend on uuid >= 3.0.0 because it's depend on crypto 3.0.0 and since the 4.0.3-alpha.1 version depend on uuid_enhanced ^3.0.2 which is depend on crypto ^2.0.0, I get the error because of crypto.
I don't know but is uuid_enhanced and uuid do the same thing? if so, maybe is it better to use uuid on the package since it has more support.

@micimize tks for the response and great job on this project. I'm running  dart pub outdated --mode=null-safety and the message looks like it's not null safety yet. Any way I can help?

I just released graphql 5.0.0-nullsafety.1 and  graphql_flutter 5.0.0-nullsafety.1, and pushed the code to the nullsafety branch.
I squashed all the bugs our examples and tests surfaced, but I expect there to be a lot more. @lypborges what will help a lot is people using the prereleases and PRing fixes to nullsafety here as well as over at gql.
These nullsafety packages should be considered the bleeding edge. I mostly blindly trusted dart migrate except for where it was breaking.

Aren't we supposed to be able to return null in the AuthLink getToken method to indicate no authorization? Currently that isn't possible because of null safety.
I swear something like this used to work before 5.0.0-nullsafety.1:
authLink = AuthLink(
  getToken: () async {
    final token = await getToken();
    return token == null ? null : 'Bearer $token';
  },
);

@psrcek I think you're right. I just made a nullsafety label – go ahead and open an issue and label it

@psrcek published 5.0.0-nullsafety.2 with a fix

Are you sure you published? I can't seem to be able to use 5.0.0-nullsafety.2 in my pubspec.

@micimize @psrcek The fix in 5.0.0-nullsafety.2 did not work for me.
I might be missing something but I believe the type for getToken still doesn't allow null.
I made a pull request with a fix that's working for me, changing getToken type to allow nullable String to be returned: https://github.com/zino-app/graphql-flutter/pull/875
This might deserved to be moved to its own issue if more discussion needed.

@ol88 right you are. It was only allowing synchronous null. Merged and will try and release soon

I don't know what your definition of soon is, but mine isn't 10 days... Could you release this so that we can use it?

@psrcek have had lots going on recently. You can always use git dependencies and dependency_overrides to depend on the branch directly

That's exactly what I have been doing (what else could I do heh), but it's not really good to rely on git because it can change at any time without notice. I don't really understand your point though, what's so hard about publishing a package?

https://pub.dev/packages/graphql/versions/5.0.0-nullsafety.5 it is the same as https://pub.dev/packages/graphql/versions/5.0.0-beta.1, but should be preferred as the dependency as I believe prereleases are alphanumerically prioritized.


is it possible to add new item in the middle of array?

var tree = new Baobab({
arr: [
{ id: 1 },
// <-- how to add a new item without replacing the entire array?
{ id: 2 },
{ id: 3 }
]
});

splice
2015-04-25 1:51 GMT+03:00 Asaf Katz<EMAIL_ADDRESS>
var tree = new Baobab({
arr: [
{ id: 1 },
// <-- how to add a new item without replacing the entire array?
{ id: 2 },
{ id: 3 }
]
});
—
Reply to this email directly or view it on GitHub
https://github.com/Yomguithereal/baobab/issues/203.

@serjout is right indeed. You can use cursor.splice.
var tree = new Baobab({
  list: ['banana', 'apple', 'pear']
}, {asynchronous: false});

tree.select('list').splice([1, 0, 'cherry']);

// will produce ['banana', 'cherry', 'apple', 'pear']

But, while actually creating this example, I noticed the library is buggy on that point and will always append the desired items at the end of the list. I therefore need to fix that asap.

The bug is now fixed. The fix should ship with the 1.0.2 version.

Thanks!

is there a way to get the index of the cursor without doing someting like this?:
var item = tree.select('arr', 'apple').get();
var i = tree.select('arr').get().indexOf(item);

var item = tree.select('arr', 'apple').get();

suggests that you are reaching an object, not an array.
Do you mean something of the like of:
var item = tree.select('arr', e => e === 'apple').get()

If yes, I guess your solution is pretty much what you should do. I could add sugar on top of the cursor's API to help you do so but I wonder whether it would not be overkill.

what i mean is the for the splice method I need the index of the item:
var item = tree.select('arr', 'apple').get();
var i = tree.select('arr').get().indexOf(item);

tree.select('arr').splice([i, 0, 'cherry']);

and my question is if there's a way to get the index without getting the raw array and raw item?

I could give you the possibility to pass a function or a descriptive object as first arg to the splice method but I guess I couldn't do anything more than that.

Closing this in favor of #352.


Goto definition to the side with mouse is broken

If you hold "Alt" key while clicking, does not work anymore.

@egamma fyi, fixed in master.


feat: Add more informative 403 messages

Adds context to the banned screen for members who have a network or local VATSIM UK ban.
This is designed to help members contact the right people more readily should they need, and ultimately leave them more informed about their membership status.
Preview Local Ban:

:tada: This PR is included in version 6.25.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Create Help Page

There should be some form of help/documentation page inside the app, so people can understand what the app is doing and how to use it.

@Dignifiedquire: @RichardLitt: yes it would be great to get some help on that, my idea was to do the setup once the PR is merged, as it has been long running enough for now, but if you want to start writing content in markdown format that would be great

Sweet!

Sync from ipns when available
Ship initial version so it's always available

Create a directory called docs
Create a window that renders those docs using a markdown renderer inside a nice help window
Add ipfs sync capabilities to allow auto updates of those docs

@diasdavid is this supposed to be done? If so, what should this Help page contain?

This is a really old proposal (Oct 2015). Yes, docs are great but even greater is making sure that the IPFS GUI is cohesive so that part of the documentation is just UX.

Oh, I thought this was more about a end-user help page. For devs, we already started writing some stuff: https://github.com/ipfs-shipyard/ipfs-station#file-structure

Ah, word. Yeah. In that case, David is probably right. Some basic text may help, though. The most use might be gotten out of drawing up some wireframes or user flows, and then implementing them in the GUI.

In any case, @hacdias already did some valuable work to fulfil the need you described, @RichardLitt , check it out here https://github.com/ipfs-shipyard/ipfs-station#file-structure

Should we close this?

After more than I year, let's close this. The README contains information about how the app works. Now, IPFS Desktop is a relatively simple app and doesn't seem to need 'help'/how-to-use info.


Add relint to multiple language tools

Thanks for your contribution @codingjoe. The tool looks nice but before merging I'll give it some more time to get a bit more popular (20 stars is the new threshold for additions).
I'll revisit this in the future.

Noticed that relint reached 21 stars and 4 contributors now. 🎉
@codingjoe if you want you can update the PR to add it. Note that tools now get added in tools.yml instead of the README.md directly.

@mre thanks, I updated my submission. However, I am struggling with the tags, since the linter works for any and all programming languages.

In the beginning, we had a multi tag for tools that supported multiple languages. I removed it, because having a list of tags with more than one entry was already covering that case.
Admittedly, supporting any and all programming languages is a special case.
We could introduce an any tag to express that. What do you think? 🤔
If that sounds like a good idea to you, please add the any tag to tags.yml and use it for your tool.

Sounds very reasonable to me. Thanks for the explanation. Merged!


Create vkquake2.json

I created this manifest for vkQuake2 - feel free to use it.

Could you remove the yquake2.json changes from this pull request?
In the future, I recommend using separate branches for each pull request and never using master as a source for PRs :slightly_smiling_face:

I see, thank you for notifying me.
Right as I removed it it failed on appveyor, is there something I need to fix or is this erroneously simply because I removed the file from the PR?
Also, when you say use separate branches for each pull request, does that mean temp1 for vkquake2 and temp2 for yquake2 as an example or simply something other than master?

Superseded by https://github.com/Calinou/scoop-games/pull/233.


Is our "Fixer" class approach appropriate?

Please check whether the Fixer approach that we have implemented will be flexible enough to address all issues with CMIP5, CMIP6 and CORDEX data.
Use the ESMValTool repository to review examples of fixes that are needed.
Do we need something more than:

pre-processor
post-processor

Hey,
i just stumpled over this issue looking for CORDEX fixes. I collected some issues that i found working with the EURO-CORDEX ensemble here (https://github.com/euro-cordex/py-cordex/issues/17) and implemented some fixes here (https://github.com/euro-cordex/py-cordex/pull/35). I will try to have a look at your Fixer class approach, maybe i can contribute some fixes for CORDEX datasets.


r.popup( ) data reads displayed abnormally - pending more info and replication

hello @kensoh
This problem has plagued us for a long time, and we are very eager to get your help.
Before we use this  r.popup( ), the result of the program is always in Chinese, but once we use r.popup( ), the program will no longer display Chinese, but the result  shown like "\u38af\u873f\u125h\u679g\n". We still need to decode it, which is very troublesome.
Is there any good way to solve this problem so that Chinese can be displayed all the time?
We would appreciate it  if we could get your reply.

Hi @IsBeatrice can you share the Python code to replicate this issue so that I can understand more?
It might be due to the way data is returned to the Python process whenever queries are made on the popup window. There is a limitation related to Google Chrome browser on reading new tabs, but I can check more if there is a suitable solution.

Closing issue for now but please let me know if you run into any problem!


Restructure GSoC-related pages

@tinosulzer had suggested a few meetings back that the PyBaMM website can be used to host permalinks of the work product submissions. This PR segregates individual GSoC links into branched pages and also adds links to the project reports for past contributors—now can have https://pybamm.org/gsoc/20XX, and project reports from this year onwards can be added as Markdown files inside the 20XX/ folders and linked to on the GSoC homepage. After the meeting, I had reached out to Arjun and Julian earlier about this idea and both of them were open to hosting their reports on the website.
The final link submissions, with the combination of pretty URLs by Netlify, will then look like
    https://pybamm.org/gsoc/20XX/john-doe/
Or, we could have them as
    https://pybamm.org/gsoc/20XX/reports/john-doe/
by creating a 20XX/reports/ folder with an _index.md file. Both ways seem good to me, though my preference is towards the former.
cc: @arjxn-py @julian-evers

Also, website domains are not case-sensitive, but sub-pages in those websites are: should we rename https://pybamm.org/gsoc/ to https://pybamm.org/GSoC/?


Filtering error (false positive)

False Positives
The following shouldn't have been detected, but was:
ain't it
really didn't (It turns out)
honkey-tonk // I suppose honkey-tonk is not a bad word, but I don't really know
I get lost

Context
I am using rustrict version 0.3.14
Code sample:
    let cases = [
        "ain't it",
        "really didn't (It turns out)",
        "honkey-tonk",
        "I get lost",
    ];

    cases.map(|case| {
        let (censored, typ) = rustrict::Censor::from_str(case)
            .with_censor_first_character_threshold(Type::ANY)
            .with_censor_threshold(Type::ANY)
            .censor_and_analyze();

        println!(
            "{:?} {:?} {:#b} ({})",
            case,
            censored,
            typ,
            TypeWrapper(typ)
        );
    });

Outputs
"ain't it" "ain'****" 0b10000000 (moderate sexual 🟠)
"really didn't (It turns out)" "really didn'***** turns out)" 0b10000000 (moderate sexual 🟠)
"honkey-tonk" "******-tonk" 0b10000 (moderate offensive 🟠)
"I get lost" "I ********" 0b10000000000 (moderate mean 🟠)

Hi there,
Thanks for the comprehensive report! I have fixed all these cases and more for version 0.4.0.
The reason for a version bump from 0.3.x to 0.4.x is I noticed that you are writing manual code (or copying code from this repository) to debug Type as a string like moderate sexual. I wanted to make it easier, so I made Type into a new-type that encapsulates the bitflags type. That allowed me to impl Debug for Type, so now you can println!("{:?}", type). Please let me know if there is any notable incompatibility between the new Type and the old Type.

It's not only for debugging. It's also for reporting. Message from bot looks mostly like this:

But having the out-of-the-box way to represent types as strings would be super nice. It will create such reports even more obvious and representative for the main contributors.
P.S. With Rust I don't afraid of breaking changes)

Closing as resolved by 0.4.0 :tada:

@finnbear One thing that broke is println!("{:#b}", typ);. It's not critical for me at all, I just used it to send you bitmask for debugging. But it's worth mentioning, I think
error[E0277]: the trait bound `rustrict::Type: std::fmt::Binary` is not satisfied
   --> src/profanity.rs:187:53
    |
187 |         println!("{:?} {:?} {:#b}", case, censored, typ);
    |                                                     ^^^ the trait `std::fmt::Binary` is not implemented for `rustrict::Type`
    |
note: required by a bound in `ArgumentV1::<'a>::new_binary`
   --> /home/vtvz/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/fmt/mod.rs:344:5
    |
344 |     arg_new!(new_binary, Binary);
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ArgumentV1::<'a>::new_binary`
    = note: this error originates in the macro `$crate::format_args_nl` (in Nightly builds, run with -Z macro-backtrace for more info)

But this debug thingy works wonderfully :blush:


Add progress percentage when sending an attachment as part of a post

As said in #90, do not file issues for suggestions, only bugs.  This is my third time reminding you.

I think I am done with suggestions for now.


update app to use yahoo weather api

@marcacohen @petele please review my updates to use the Yahoo Weather API.
So far I've only made the updates in the final directory. Once we're all on the same page I'll update the other directories.

Adding comments to the commits now...

To fix the app.hasRequestPending issues:

In initialWeatherForecast add created: '2016-07-22T01:00:00Z', to the object (line ~12)
Remove hasRequestPending from the app object, (line ~46)
Add var dataLastUpdated = new Date(data.created); to the top of app.updateForecastCard
Add the following below var card = app.visibleCards[data.key]

    // Verifies the data provide is newer than what's already visible
    // on the card, if it's not bail, if it is, continue and update the
    // time saved in the card
    var cardLastUpdatedElem = card.querySelector('.card-last-updated');
    var cardLastUpdated = cardLastUpdatedElem.textContent;
    if (cardLastUpdated) {
      cardLastUpdated = new Date(cardLastUpdated);
      // Bail if the card has more recent data then the data
      if (dataLastUpdated.getTime() < cardLastUpdated.getTime()) {
        return;
      }
    }
    cardLastUpdatedElem.textContent = data.created;

Add results.create = json.query.created; to the caches.match and XHR  in app.getForecast

I'll send you the JS file with my updates.

LGTM! Thanks @kaycebasques!!

cool thanks @petele I'll clean up the code and then merge

I also need to update the rest of the directories...


No C++ examples

Regardless of the language chosen in the header, the sample, which is pretty much the entire documentation, is always in C#. As someone who had done the conversion to WinRT C++, I can say with confidence that is a non-trivial task to make all the C#->C++ mappings, including the idiosyncrasies of co_await, IAsyncOperation, etc.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: e7d92f04-6d6c-54e0-dcaf-0c2b3b63b2ac
Version Independent ID: 32ad8a6f-2de7-2f1b-2ef7-b5d0ea69b6e4
Content: DataProtectionProvider Class (Windows.Security.Cryptography.DataProtection) - Windows UWP applications
Content Source: winrt-api-build/xml/Windows.Security.Cryptography.DataProtection/DataProtectionProvider.xml
Product: uwp
Technology: winrt-reference
GitHub Login: @lastnameholiu
Microsoft Alias: alholiu

Thanks, @cycollins, and sorry about the long delay in responding.
That language picker affects only the syntax block. It's not intended to filter code examples. API reference isn't the best place for code examples, anyway, since typically a code example shows several APIs working in concert; and not just how to use one particular API.
Providing code examples in C# is the first priority. Then, usually if the scenario would especially benefit from it, we try to provide a C++/WinRT version also. For example, the Win2D "Hello, World!" quickstart does have a C++/WinRT version. There are many hundreds of similar cases across the docs.
However, that wouldn't be good ROI for every code example. Many of them are quite mechanical to port to C++, once you've followed the specific pattern a few times. So for those cases, we have resources such as the C++/WinRT content in general, and then the Porting the Clipboard sample to C++/WinRT from C#—a case study and Move to C++/WinRT from C# topics in particular.
So I'll close this issue for now.
-Steve


Fix preset-typescript to use default options for TSX files

@babel/preset-typescript requires the following options to be set to handle TSX files:
{
  "isTSX": true,
  "allExtensions": true
}

https://babeljs.io/docs/en/next/babel-preset-typescript.html#istsx

I'm not 100% sure whether this is the right approach, we may wish to instruct users to place this configuration in their .babelrc instead?

Closing as this doesn't work as expected


Microsoft.VisualStudio.2022.Enterprise version 17.6.0

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

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

Microsoft Reviewers: Open in CodeFlow

Hi @edwardskrod,
This package installed normally but errored when launched:

Activation context generation failed for "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\devenv.exe".
Dependent Assembly Automation,processorArchitecture="*",type="win32",version="<IP_ADDRESS>" could not be found.

Is this the correct application to validate?


Failure to send a message is not reported to the pipeline

[x] Jenkins version
2.190.2
[x] Plugin version
2.34
[x] OS
Ubuntu 18.10

Description
slackSend() doesn't report errors and fails silently even if the message wasn't sent for some reason.
The log includes the message but the pipeline continues, it's not possible to programmatically know if the message sending succeeded or not.
Here's my pipeline:
pipeline {
    agent any
    stages {
        stage('Send Notification') {
            steps {
                script {
                    def color = "${params.MESSAGE_STATUS}" == "GOOD"? "good" : "warning"
                    slackSend(color: "${color}", message: "${params.MESSAGE}", channel: "${params.CHANNEL}")
                }
            }
        }
    }

    parameters {
        string(name: 'MESSAGE', defaultValue: 'Hello')
        string(name: 'CHANNEL', defaultValue: '#test_private')
        choice(name: 'MESSAGE_STATUS', choices: ['GOOD', 'WARNING'], description: '')
    }
}

I'm sending the message to a channel that does not exist:
Running in Durability level: MAX_SURVIVABILITY
[Pipeline] Start of Pipeline
[Pipeline] node
Running on Jenkins in /var/jenkins_home/workspace/slackNotification
[Pipeline] {
[Pipeline] stage
[Pipeline] { (Send Notification)
[Pipeline] script
[Pipeline] {
[Pipeline] slackSend
[2019-12-02T08:11:44.179Z] Slack Send Pipeline step running, values are - baseUrl: <empty>, teamDomain: <myteamdomain>, channel: #non_existing_channel, color: good, botUser: false, tokenCredentialId: slack, notifyCommitters: false, iconEmoji: <empty>, username: <empty>
[2019-12-02T08:11:44.617Z] ERROR: Slack notification failed. See Jenkins logs for details.
[Pipeline] }
[Pipeline] // script
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
Finished: SUCCESS

The job continues, even though the stage has failed.

Set failOnError: true in your slackSend
If it fails then the pipeline will be aborted, you can catch the error if for some reason you don't want to fail it but you want to know that it failed to send


Fix 3.7 deprecation warning

/usr/local/bin/ipython:1: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working

Build failed because of Python 2.7. Are you still supporting this version? @slundberg

Thanks @jlewis91! I am maintaining support for 2.7 since a non-trivial number of people are still there. Elsewhere in the code I have just used if sys.version_info[0] >= 3:. Something like that should work here as well.

@slundberg Thanks for the feedback. Made the change, looks like it passes the build, but let me know if you want to implement it differently.

@slundberg Do you mind merging this?

Thanks! Sorry for the delay.

Thank you!


docker exec cli docs: show 2 env vars, not just 1

Proposed changes
This way it's more clear for the reader that the flag can be used
more than once.

@knocte Thanks for the PR. The source file for Docker CLI is fetched from the upstream CLI repository. Please contribute any changes to the CLI reference docs in the upstream project - https://github.com/docker/cli.
The source file for the exec command is at - https://github.com/docker/cli/blob/master/docs/reference/commandline/exec.md.
Closing this PR here. Please feel free to continue the conversation after I close.


fix: standardize resource naming in chart templates

issue: both charts had the same role/binding name for leader-election

/lgtm


Create link for publicly available ISO Image

I wanted to try playing around with CBL-Mariner on a VM, and it would be a lot easier to set up if there is a link to a publicly available ISO image. If it would be possible to host an ISO image online, it would be great! Thanks for all the awesome work that you do!!

ISO images are now available.  See README.md file for link and instructions.

Thank you @jslobodzian!!


CMake Tools does not recognize "packagePresets" or "workflowPresets" from CMakePresets.json

Brief Issue Summary
Hello,
CMake tools does not recognize CMakePresets.json version 6 entries for "packagePresets" and "workflowPresets", giving a JSON validation error. This also seems to prevent me from selecting a configure preset at all, I'm simply presented with the option to create a new preset.
If I remove the "packagePresets" and "workflowPresets" entries from CMakePresets.json, I'm able to select one of my presets as expected.
CMake Tools Diagnostics
{
  "os": "linux",
  "vscodeVersion": "1.80.1",
  "cmtVersion": "1.14.34",
  "configurations": [
    {
      "folder": "/workspaces/XXX",
      "cmakeVersion": "3.27.0",
      "configured": false,
      "generator": "",
      "usesPresets": true,
      "compilers": {}
    }
  ],
  "cpptoolsIntegration": {
    "isReady": false,
    "hasCodeModel": false,
    "activeBuildType": "",
    "buildTypesSeen": [],
    "requests": [],
    "responses": [],
    "partialMatches": [],
    "targetCount": 0,
    "executablesCount": 0,
    "librariesCount": 0,
    "targets": []
  },
  "settings": [
    {
      "communicationMode": "automatic",
      "useCMakePresets": "auto",
      "configureOnOpen": null
    }
  ]
}

Debug Log
No response
Additional Information

I'm not sure when presets v6 support will be implemented, but you should be able to use the cmake.allowUnsupportedPresetsVersions setting to get past this validation error and use your configurePresets.

Thank you, @bobbrow - that solution works perfectly, as long as I can still build and run while those are there, I'm happy :)

Glad it's working for you now! I'm closing this issue, but you can track the progress of CMakePresets v6 support at #2871.


Can't compile latest commits

capture.cpp:1:28: fatal error: opencv2/core.hpp: No such file or directory
Also when trying make install I get:
Package opencv4 was not found in the pkg-config search path.

What version of raspbian?

Raspbian GNU/Linux 9 (stretch)

Did this ever work for you? If so, which was the last working version? Any interest in doing a git bisect to figure out when it broke?
Don't worry about opencv4 not being found. That comes from Makefile:11 where we try compute the right opencv flags.
Can you paste the complete output that failed? It looks like this: g++  capture.cpp -o capture -Wall -Wno-psabi -g -O2 -lpthread -D_LIN -D_DEBUG -DGLIBC_20 ... -lASICamera2 -I/usr/include/libusb-1.0 -lusb-1.0

I was able to at least build master a month or so ago when I commented on the issue about the time outs occurring.  I still had other problems such as the daytime issue being completely overexposed so I am hoping everything is fixed to a useable state again on master.
I decided to just update raspbian to latest so can't test on stretch anymore.
If this doesn't work I'm going to go back to the last commit in June of this year since I can't keep having my camera down from all these bugs I'm running into with later versions.

@dbainbridge don't give up.. we should be able to get this fixed pretty quickly.
Can you provide the output of the following commands:

pkg-config --libs opencv
pkg-config --cflags opencv
pkg-config --cflags --libs opencv
dpkg -l | grep -i opencv

I reformatted SD card and installed Raspbian GNU/Linux 10 (buster)
and the issues went away.

Glad to hear it, though we would have been happy to investigate to figure out what would need to be done to make it backwards compatible to stretch.

Closing - issue resolved when user reinstalled Raspbian.

I am using Raspbian GNU/Linux 10 (buster) but still get the opencv4 error:
Package opencv4 was not found in the pkg-config search path.
Perhaps you should add the directory containing `opencv4.pc'
to the PKG_CONFIG_PATH environment variable
No package 'opencv4' found

Checking gives the following:
pi@allsky:~ $ pkg-config --libs opencv
-lopencv_shape -lopencv_stitching -lopencv_superres -lopencv_videostab -lopencv_aruco -lopencv_bgsegm -lopencv_bioinspired -lopencv_ccalib -lopencv_datasets -lopencv_dpm -lopencv_face -lopencv_freetype -lopencv_fuzzy -lopencv_hdf -lopencv_line_descriptor -lopencv_optflow -lopencv_video -lopencv_plot -lopencv_reg -lopencv_saliency -lopencv_stereo -lopencv_structured_light -lopencv_phase_unwrapping -lopencv_rgbd -lopencv_viz -lopencv_surface_matching -lopencv_text -lopencv_ximgproc -lopencv_calib3d -lopencv_features2d -lopencv_flann -lopencv_xobjdetect -lopencv_objdetect -lopencv_ml -lopencv_xphoto -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_photo -lopencv_imgproc -lopencv_core

pi@allsky:~ $ pkg-config --cflags opencv
-I/usr/include/opencv

pi@allsky:~ $ pkg-config --cflags --libs opencv
-I/usr/include/opencv -lopencv_shape -lopencv_stitching -lopencv_superres -lopencv_videostab -lopencv_aruco -lopencv_bgsegm -lopencv_bioinspired -lopencv_ccalib -lopencv_datasets -lopencv_dpm -lopencv_face -lopencv_freetype -lopencv_fuzzy -lopencv_hdf -lopencv_line_descriptor -lopencv_optflow -lopencv_video -lopencv_plot -lopencv_reg -lopencv_saliency -lopencv_stereo -lopencv_structured_light -lopencv_phase_unwrapping -lopencv_rgbd -lopencv_viz -lopencv_surface_matching -lopencv_text -lopencv_ximgproc -lopencv_calib3d -lopencv_features2d -lopencv_flann -lopencv_xobjdetect -lopencv_objdetect -lopencv_ml -lopencv_xphoto -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_photo -lopencv_imgproc -lopencv_core

pi@allsky:~ $ dpkg -l | grep -i opencv
ii  libopencv-calib3d-dev:armhf           3.2.0+dfsg-6                            armhf        development files for libopencv-calib3d3.2
ii  libopencv-calib3d3.2:armhf            3.2.0+dfsg-6                            armhf        computer vision Camera Calibration library
ii  libopencv-contrib-dev:armhf           3.2.0+dfsg-6                            armhf        development files for libopencv-contrib3.2
ii  libopencv-contrib3.2:armhf            3.2.0+dfsg-6                            armhf        computer vision contrlib library
ii  libopencv-core-dev:armhf              3.2.0+dfsg-6                            armhf        development files for libopencv-core3.2
ii  libopencv-core3.2:armhf               3.2.0+dfsg-6                            armhf        computer vision core library
ii  libopencv-dev                         3.2.0+dfsg-6                            armhf        development files for opencv
ii  libopencv-features2d-dev:armhf        3.2.0+dfsg-6                            armhf        development files for libopencv-features2d3.2
ii  libopencv-features2d3.2:armhf         3.2.0+dfsg-6                            armhf        computer vision Feature Detection and Descriptor Extraction library
ii  libopencv-flann-dev:armhf             3.2.0+dfsg-6                            armhf        development files for libopencv-flann3.2
ii  libopencv-flann3.2:armhf              3.2.0+dfsg-6                            armhf        computer vision Clustering and Search in Multi-Dimensional spaces library
ii  libopencv-highgui-dev:armhf           3.2.0+dfsg-6                            armhf        development files for libopencv-highgui3.2
ii  libopencv-highgui3.2:armhf            3.2.0+dfsg-6                            armhf        computer vision High-level GUI and Media I/O library
ii  libopencv-imgcodecs-dev:armhf         3.2.0+dfsg-6                            armhf        development files for libopencv-imgcodecs3.2
ii  libopencv-imgcodecs3.2:armhf          3.2.0+dfsg-6                            armhf        computer vision Image Codecs library
ii  libopencv-imgproc-dev:armhf           3.2.0+dfsg-6                            armhf        development files for libopencv-imgproc3.2
ii  libopencv-imgproc3.2:armhf            3.2.0+dfsg-6                            armhf        computer vision Image Processing library
ii  libopencv-ml-dev:armhf                3.2.0+dfsg-6                            armhf        development files for libopencv-ml3.2
ii  libopencv-ml3.2:armhf                 3.2.0+dfsg-6                            armhf        computer vision Machine Learning library
ii  libopencv-objdetect-dev:armhf         3.2.0+dfsg-6                            armhf        development files for libopencv-objdetect3.2
ii  libopencv-objdetect3.2:armhf          3.2.0+dfsg-6                            armhf        computer vision Object Detection library
ii  libopencv-photo-dev:armhf             3.2.0+dfsg-6                            armhf        development files for libopencv-photo3.2
ii  libopencv-photo3.2:armhf              3.2.0+dfsg-6                            armhf        computer vision computational photography library
ii  libopencv-shape-dev:armhf             3.2.0+dfsg-6                            armhf        development files for libopencv-shape3.2
ii  libopencv-shape3.2:armhf              3.2.0+dfsg-6                            armhf        computer vision shape descriptors and matchers library
ii  libopencv-stitching-dev:armhf         3.2.0+dfsg-6                            armhf        development files for libopencv-stitching3.2
ii  libopencv-stitching3.2:armhf          3.2.0+dfsg-6                            armhf        computer vision image stitching library
ii  libopencv-superres-dev:armhf          3.2.0+dfsg-6                            armhf        development files for libopencv-superres3.2
ii  libopencv-superres3.2:armhf           3.2.0+dfsg-6                            armhf        computer vision Super Resolution library
ii  libopencv-ts-dev:armhf                3.2.0+dfsg-6                            armhf        development files for TS library of OpenCV (Open Computer Vision)
ii  libopencv-video-dev:armhf             3.2.0+dfsg-6                            armhf        development files for libopencv-video3.2
ii  libopencv-video3.2:armhf              3.2.0+dfsg-6                            armhf        computer vision Video analysis library
ii  libopencv-videoio-dev:armhf           3.2.0+dfsg-6                            armhf        development files for libopencv-videoio3.2
ii  libopencv-videoio3.2:armhf            3.2.0+dfsg-6                            armhf        computer vision Video I/O library
ii  libopencv-videostab-dev:armhf         3.2.0+dfsg-6                            armhf        development files for libopencv-videostab3.2
ii  libopencv-videostab3.2:armhf          3.2.0+dfsg-6                            armhf        computer vision video stabilization library
ii  libopencv-viz-dev:armhf               3.2.0+dfsg-6                            armhf        development files for libopencv-viz3.2
ii  libopencv-viz3.2:armhf                3.2.0+dfsg-6                            armhf        computer vision 3D data visualization library
ii  libopencv3.2-java                     3.2.0+dfsg-6                            all          Java bindings for the computer vision library
ii  libopencv3.2-jni                      3.2.0+dfsg-6                            armhf        Java jni library for the computer vision library
ii  opencv-data                           3.2.0+dfsg-6                            all          development data for opencv

Yay! Reproducible error! We can fix it

Closing this one again since it was original a problem with Debian Stretch.  Continuing to investigate via #523
Thanks!


Parallel (8bit) Interface for Z80, etc?

Just found out about this project. Nice work.
I believe it currently uses a serial interface to talk to the mcu... But could it be adapted to work using a 8bit parallel interface?

It probably can be done and it's already on my list of things to do in the future. But there's nothing done yet, not even a concept.

OK, do you mind if I throw out some ideas to you? First up, a background:
The Pi Zero along with PiGFX would be attached to a Z80 based computer, be it the TEC-1 SBC (search in Wiki to get to FB group) or an RC2014 back-plane computer. There is currently already a expansion board for the RC2014 that uses the existing serial interface of PiGFX but of course it is limited because of speed. So the ideal would be to have a parallel interface along with a number of control lines and address lines. With this sort of setup, the CPU could do fast, sequential block dumps.
Now, I'm not familiar with the capabilities of a Pi at all, so the following could be out of the ballpark so please excuse my ignorance on the subject... But I'll give you what would work for us.
I guess the first question is whether there are enough connectors (pins) on the Pi to allow for 8 data lines, 11-13 address lines and a few control lines? If so, then you could realistically access the memory of the Pi completely randomly. But I'm going to assume it can't do than many pins, so, here is an alternative. I'm thinking it would need 8 data lines, and 3 control lines: _CS, R/W, CTRL
-The CS is an obvious pin: if this is not enabled (low = enabled) then the data/address pins are Hi-z state.

The combination of the Read (low) and Write (high). Generally, Read means data will be extracted form the Pi, Write means data will be going into the Pi.
The CTRL pin depending on its state tells the Pi if the data on the Data pins are indeed data (only) or if they are “control codes”.
When the CTRL pin is High, it also takes into account the R/W line. If it is in Write mode, then the data on the Data lines are taken as an instruction to the Pi.
A control code of “00h” on the data lines would mean RESET to reset the Pi, and you could have any other control codes doing something direct like screen blanking, or maybe even “bank switching” the memory access described below, depending on how much RAM you have spare. Basically you have 8 bits to play with in terms of setting various coes, including maybe the MSB of an address?

However, if the CTRL is High and the R/W pin is in Read mode, this tells the Pi that the data lines makes up an address pointer that it stores for use with your sequential read and write routines. You might have to take in two sequential codes to set a long enough address, depending on graphics mode.
Then, if the CTRL line is low, it works as the sequential read/write memory depending on the state of the R/W pin.
In effect, for the micro (let’s says it’s a Z80) to write a screen full of data would need to:
Output to a decoded CS port along with a couple address lines, a single byte of data. Those address lines include going to both the R/W line and the CTRL line, so it would be different “ports” you’d be writing to to get control or data sent to the Pi.
After that single control code set by the z80, all future writes to a slightly different port address would sequentially write all the required data. This could also (at a later upgrade) be sprite data to a particular bank of ram in the Pi or positional data for the sprites, etc. Starting with a simple 80x40 (or maybe a few modes) of B&W text to start with would be great. Then follow up with colored (foreground and background) text (with basic graphical characters) and then just keep going. :)
Keep in mind that for a Z80 running as low as a single MHz might want to use this, and so the transfer interface you want to be as fast as possible. Set an address and start dumping!
These are all shooting from the hip. I'm about to order an RC2014 system along with that Pi interface so I'll see what it can do with the serial interface and then be able to comment better on this upgrade.

When I started developing PiGFX I also considered that. However, Pi IO lines work at 3v3 and are absolutely not 5v tolerant. So, a level shifter is required to be used with TEC-1 SBC or RC2014.
Apart from that, I think it is possible to implement it.

Yes, I'm aware of that and have already ordered some 74LVC245(8-bit Logic Level Shifter) in anticipation of playing with a Pi Zero. :)

Here is a good article on how the LCD modules work in terms of their 3 control lines:
https://embedjournal.com/interfacing-lcd-module-basics/
And so I would align the control lines I described above to follow established protocols, like this:
RS | Register Select; 0: Instruction Register 1: Data Register
RW | Read Write Select pin 0: Write mode; 1: Read mode;
EN | A Enable Pin To enable the LCD Module

In my opinion a interface based on this lcd interface would probably be a good choice.
At the moment we have 13 GPIO available at the small header and 22 on the 40 pin header. So this is not a problem.
I would like to keep the protocol the same as on the serial line, although this is not as fast as possible.
The Pi would have to use interrupts for read and write events. This could cause timing problems with usb and ps/2. But it's worthtrying. I also have no idea about the speed at which this would work reliably.

In my opinion a interface based on this lcd interface would probably be a good choice.
Thanks for the support.

At the moment we have 13 GPIO available at the small header and 22 on the 40 pin header. So this is not a problem.

Wow, we have THAT many pins available to play with?! We really could go the full monty and be direct memory addressable! (Not saying we should... just that we could. :)

I would like to keep the protocol the same as on the serial line, although this is not as fast as possible.

Not having any experience just yet, I can't comment. That said... We should always try to be as fast as possible. :)

The Pi would have to use interrupts for read and write events.

Couldn't it be polling the three control lines, rather than using interrupts that could affect other operations? Mind you, if interrupts don't affect the other function like USB (which is a MUST) then sure, maybe for the Enable pin, at least.

It's not the intention of PiGFX to access memory directly. It's a terminal emulator with commands to draw complex things on the screen. This is much faster.
It would not work to poll the control lines as it's unpredictable how long one poll cycle is. So you would probably miss data, read or write too late.

It's a terminal emulator

Honestly, I would prefer to think of it as an "8-bit Computing Video Card".  Terminal emulators are really never very clever. How magical was a VT100 terminal? Answer: Like, NOT!  Instead, we could make this a universal retro-compatible "video card" that becomes as ubiquitous and easy to use as those LCD modules!

Well, I guess that could be called Mode 0 - Terminal
But I'm thinking, with the graphics capabilities I've seen a Pi be able to do, we could aim a lot higher. Bitmaps. Sprites. Collision detection...

It would not work to poll the control lines as it's unpredictable how long one poll cycle is.

Yeah, fair enough... But we really only need one line to be interrupt-driven - the Enable line. The others are set before the enable line is triggered.

You are right. It's only the enable line which needs to trigger the interrupt.
I also woukd like to build more advanced graphic features, but also for the serial protocol. There could be different commands for parallel / serial though. Or even a configurable interface behaviour.

a configurable interface behaviour.
Yes I think a config.txt file should identify if you will be using it in serial mode or parallel mode.
advanced graphic features, but also for the serial protocol.
That's the problem with the serial protocol; you can't have anything like sprites or bitmap graphics that move or change too much as updating it is too slow.

We already have the ability to read a configfile. I don't think that serial is too slow for advanced graphics. Once a sprite is loaded you only would have to send a command for placing and moving this object. Would you like to draw pixel by pixel?

Well, some games, like Castle Wolfenstein, are indeed drawn pixel by pixel (called bitmap mode) and this was pretty common.

BTW, it has been brought to my attention that there seems to be a video card/interface that uses a Pi Zero already on the market for the RC2014 system.  Not sure how open the development of that board is or what the creator is like in terms of sharing his ideas, but maybe it might be worth contacting him to see how he did it?  It's a bit pricey for me right now, but I may end up getting one, to at least try it out.
https://www.tindie.com/products/robdobson/play-retro-games-rc2014-graphics-kit/

I just found the github repository of this project. There are lots of similarities with pigfx.

I think I'll get one of these units and see how well and easy it is to use.

(hello, I have been following this thread since the weekend, but had not had chance to comment until now)
Those "graphics cards" are great. They work like a lot of the old school, classic, video output devices.  They're memory mapped.
This specific one, when in ZX mode, is pretending to be a non-small portion of the Sinclair ULA.  That was a device the suspended the CPU to use the system memory to synthise the display.  The RC2014 versions can also use "bus monitoring" to copy the memory into Pi RAM per every write, so not needing to suspend the main bus to access GPU RAM.
We've got an external one, no longer maintained, for a real spectrum that does the same as part of the Spectrum Next project - you can see the source for the Pi side right here: https://gitlab.com/thesmog358/tbblue/-/tree/master/rpi/archive/tkpi/PI_OS
They work, wonderfully, but they are limited response sime of the Fast Interrupt Handler on the Pi, and the maximum speed of the bus - since the Pi can't latch the values written to the GPIO alone, so needs to service the IRQ before the bus changes.
I'm here, right now, mostly to chip in to the question "how well and easy it is", but also be nosey, and be a cheerleader, as "parallel access" has always been an itch for this project I wanted to scratch for me personally, and watching someone else do it is awesome, and saves me one more thing off my wishlist of toys to break ;-)

I see the 8-bus text file in the docs directory.

There are lots of similarities with pigfx.
meh, not really, he has hardware accurate bus timings, ie. can push the bus speed upto 50Mhz +. The control interface is a REST API on HTTP running off of the WIFI module (written in C++). Its bare metal based on Circle, with a lot of other stuff in there too.

Yes it can do some of the things PiGFX can do, but so much more as well (see his "What can you do with BusRaider - Part 1" on his site, there is video too). I'll be using them in combination, not as an either/or solution.
I like the fact PiGFX is (essentially) COMs only, which will work on 99.99 percent of current, future, and original hardware, with only some software need to "program the graphics". (actually I cant think of a system it would not work on).
I come from a different perspective, I have always wanted a native Linux (or Linux for RPi) 256-32bit console. I have already looked at Kernel sources, have a patch, but it mean "hacking" the termcap files. I also use FBterm (256 color console with background transparency), but it has quirks (like not being Xterm compatible). I want PiGFX as my console terminal at boot.
I see some potential for PiGFX to also provide full VT52, VT102, & ANSI terminals (probably the most common used across most platforms, especially "retro"/8bit platforms). I already looked at the VT300 and Tektronix 4010 before I saw the #39 (Sixel graphics) issue.
The way I see it, the more (full) terminals you add, the more features PiGFX can use/have. ie. VT102 has a total of 6 fontset options (UK/US switched, so 5 actually), line drawing characters, and scroll areas (text windows). VT300 have Sixel bitmap graphics, and REGIS vector graphics. Tektronix 4010 has a native resolution of 4096x4096 vector graphics. There are already a couple of DEC sequences to set specific modes, so hijacking it to set any (major terminal) should be fine. DEC also have an (no longer used) terminal query that could be used to output some details about current (PiGFX) settings and terminal mode.
In my opinion, the current set of features in not "manipulatable" enough and relies too much on being able to remove the sd-card to add/store graphics and change default config settings. That requires better filesystem access (ie. more PiGFX specific terminal sequences). A built in screen and bitmap designer would probably go a long way to helping that (like a re-purposed GFX2 app), once the mouse is supported (has anyone tested a PS/2 mouse yet?). The fact that you can't use a USB and
PS/2 keyboard at the same time is also problematic.
The problem with a project like PiGFX is that unless the (main) developer has a need for it, things wont get added. And adding partial support for some terminals will cause more problems in the long term, at least for people who know what they are looking for, or know what type of terminal there system needs.
I hope to get some hardware in the coming weeks to allow me to fill these gaps, and provide some full featured terminals, that will add more (useful) functionality to PiGFX, while porting it to a terminal program for Raspberry Pi OS at the same time.
If people are interested in more bus/interface solutions, there is also the RPi TUBE & RPi specific adapters developed by the Amstrad community (based on the BBC Model B community work). I hope to look at the current 8bit bus a bit too, but I believe PiGFX should not be dependant on it in any way, just COMs dependant. What could be (hijacked?) from the BusRaider project, is the highspeed COMs interface (in the megahrtz range), even if its a daughter project.
If you are wondering where I am going with this (besides specific console for linux/RPi) I see Civilization 1 type game powered by Z80 with minimun of (say) 64Kb (and yes, with sound, like the AtariST version say), with assets in a subfolder on the sd-card, including tiles (not just sprites). This requires the mouse, and/or keyboard alternate (AtariST uses ALT-arrows).
FWIW, about the only RPi I dont have atm, are the Zero's, and I will have at least 2 for the projects mention here, so I can test on a wide range of hardware, including armv6.
Cheers
Paul


Resetting cache or updates should keep saved overlay sizes and positions

Use the database instead of cacheprovider to store the window size values

Those should be configurable, maybe some users don't want the window positions and sizes to be remembred.


Enable DevTools in production mode

To give an user still a way to check/debug things by using Chrome's DevTools (if needed)

We won't enable DevTools for security reason.


[submit] Simplify table logs

Why

Match the simpler UI used in the promo video.
make links usable
remove unused app specific password

There was #144 - and I was  wondering why I have conflicts. Please lmk next time


FE to RF duplication bug

on the latest version (3.0.13) , whenever i connect a flux plug to any generator , on the display, it reads the energy source as FE, but then the plug itself reads as RF, but with twice the amount of energy. i tested this with multiple energy storages to make sure it's not just a visual bug and it is indeed doubling the amount of energy when converting from FE to RF. if i disable conversion, then no energy is transfered.  flux points are transferring energy normally. checked the config files, and both FE and RF are set to 1.0   . what's really weird is that blocks that usually say they  produce RF on the gui ( thermal expansion dynamos, nuclearcraft reactors, solar panels, etc) are being read as FE by the flux plugs. changing back to version 3.0.11 fixes this.

I believe this is only a visual issue, and the amount of energy being sent is not doubled, but the energy transfers are being added together, can you check if energy is actually being duplicated?

i'll try updating back to the newest version and doing some more testing. the only testing i was able to do before involved fluxducts and a rftools power storage with the screen.  the flux points connected to the power storage by a fluxduct inserted the power, and the screen read that the storage was receiving double the power that the generators were producing. if the screen is also a visual bug, then that means that flux points are also displaying this bug, although only visually.

alright, did some testing. turns out the issue purely visual as you said,  my screen that was also displaying the bug because i had a complicated setup with multiple networks where it was reading the energy transfer from the generators and the insertion on the power storage, must have forgotten to turn of the reading of the generators when i switched power storage. actual numbers are normal, just the flux plug that is displaying the added amounts. thank you.


cannot import connect

Hi all,
I have finally managed to install.
when I run this line
from turbodbc import connect
however, I get the message cannot import connect
any ideas?

Can you post the full traceback?

cannot import name 'connect'
Stack trace:

File "C:\Users\Something\source\repos\Somethingelse\turbodbc.py", line 9, in  (Current frame)
from turbodbc import connect
File "C:\Users\Something\source\repos\Somethingelse\turbodbc.py", line 1, in
import turbodbc
Loaded 'turbodbc'
Loaded 'runpy'
cannot import name 'connect'
Stack trace:
File "C:\Users\Something\source\repos\Somethingelse\turbodbc.py", line 9, in
from turbodbc import connect
File "C:\Users\Something\source\repos\Somethingelse\turbodbc.py", line 1, in  (Current frame)
import turbodbc
Traceback (most recent call last):
File "C:\Users\Something.conda\envs\Conda36\lib\runpy.py", line 193, in _run_module_as_main
"main", mod_spec)
File "C:\Users\Something.conda\envs\Conda36\lib\runpy.py", line 85, in run_code
exec(code, run_globals)
File "c:\program files (x86)\microsoft visual studio\2019\enterprise\common7\ide\extensions\microsoft\python\core\debugpy_main.py", line 45, in
cli.main()
File "c:\program files (x86)\microsoft visual studio\2019\enterprise\common7\ide\extensions\microsoft\python\core\debugpy/..\debugpy\server\cli.py", line 430, in main
run()
File "c:\program files (x86)\microsoft visual studio\2019\enterprise\common7\ide\extensions\microsoft\python\core\debugpy/..\debugpy\server\cli.py", line 267, in run_file
runpy.run_path(options.target, run_name=compat.force_str("main"))
File "C:\Users\Something.conda\envs\Conda36\lib\runpy.py", line 263, in run_path
pkg_name=pkg_name, script_name=fname)
File "C:\Users\Something.conda\envs\Conda36\lib\runpy.py", line 96, in _run_module_code
mod_name, mod_spec, pkg_name, script_name)
File "C:\Users\Something.conda\envs\Conda36\lib\runpy.py", line 85, in _run_code
The thread 'MainThread' (0x1) has exited with code 0 (0x0).
exec(code, run_globals)
File "C:\Users\Something\source\repos\Somethingelse\turbodbc.py", line 1, in
import turbodbc
File "C:\Users\Something\source\repos\Somethingelse\turbodbc.py", line 9, in
from turbodbc import connect
ImportError: cannot import name 'connect'
The program 'python.exe' has exited with code -1 (0xffffffff).

thanks in advance

You have named your Python module also turbodbc thus your code will try to import connect from it. Please rename "C:\Users\Something\source\repos\Somethingelse\turbodbc.py" to something else.

nice one,
schoolboy error


Account data is not on the proper format:

Hi There,
i have been using account.json as specified in
https://docs.erisindustries.com/tutorials/contractsinteracting/
but gives errror of account data not being in proper format
is there any change in the method to specify account data.

Please post the error message.


Voxels rendering

One approach is to convert the voxels to polys (polyvoxel) and render them using the polys graphics pipeline. The polys pipeline (the one supported by OpenGL, 3D pipeline) is the one supported by GPUs. And it is suitable for real time rendering (and it uses the scanline rendering).
Other one is to use ray tracing, which can be implemented as shaders, so the GPUs can also be used

One article to read:
http://raytracey.blogspot.com/2008/08/voxel-ray-tracing-vs-polygon-ray.html

In Ray Tracing, the 2D image is computed pixel by pixel applying the physical laws of light to models in the scene. How are these models described? #13 Take a look to:
https://gist.github.com/rossant/6046463
As you can see, the rendering is done "# Loop through all pixels." And models are described with equations to find the intersections points with the rays (collision point).

Volumetric Rendering
https://www.alanzucconi.com/2016/07/01/volumetric-rendering/
https://www.volume-gfx.com/volume-rendering/volume-model/


Persist obs identification modal suggestion filters

#2867
Many of these Redux idioms are still fairly foreign to me, but this tested well in an admittedly small dataset. Subsequently this just covers the filter persistence, and not the query issue as that looks to be a bit more work/grokking of the patterns. Would love to hear any feedback.
Also, there is an existing edge case/bug where unknowns show the last observation's taxa ancestry.
To reproduce select an obs adjacent to an "Unknown". When filtering on ranked taxon level for the observation (eg Vascular Plants for a observation of a sagebrush), clicking on prev/next from the modal to the adjacent "Unknown" observation will not be able to populate a recommended taxon level for this (the only reasonable one here is State of matter life), but rather defaults back to the last (Vascular Plants). Might be possible to build out a state of matter life object in app/webpack/observations/identify/components/taxon_chooser_popover.jsx:35

This is certainly solving the problem #2867 describes. Did you look into preventing the UPDATE_WITH_OBSERVATION action from getting fired at all when switching between tabs? Theoretically, there is no reason to update the suggestions at all when switching between tabs, only when moving between observations. Maybe the currentObservationReducer needs to remember what the previous observation was and fetchDataForTab should only fetch data for a tab once per obs, or maybe UPDATE_WITH_OBSERVATION in the suggestions reducer should just return a copy of the old state if featured_observation_id didn't change.
Just thinking out loud here. What you've got here works, so I can merge it if you think it's the best solution.

I looked into it briefly, but didn't want to hold up getting the fix out while trying to optimize/reduce the number of queries sent for the observations.
While I'm certainly not a redux expert, I can look into it a little more. I make no claims that it's the best solution 😄  However, this PR here should at least prevent the filters from resetting and satiate the peoples' "demand that they not do that".


Better highlights for search?

I sincerely love this color scheme and it's making me so happy to use it.
How can I boost the highlights for / searching in vim?
This is what highlights look like right now for searching.

This is what I would like instead, something bright and eye catching (The intense yellow)

Perhaps there's an obvious way to configure this? If so I'll close the issue right away. Thanks again!

Also on this thread:


The documentation lacks information about NuGet.

The documentation does not instruct to do nuget restore as part of the compilation steps.

This is because the default configuration of Visual Studio 2019 is to restore packages before building the solution, and some of the build scripts that are recommended in the readme do so as well.

I took the PS route:
Import-Module .\tools\OpenConsole.psm1
Set-MsBuildDevEnvironment
Invoke-OpenConsoleBuild

nuget restore fixed the issue.
Why I get wrong?

I'm not sure that you did anything wrong - Invoke-OpenConsoleBuild looks like it's supposed to call nuget restore
https://github.com/microsoft/terminal/blob/4f8acb4b9fbd61196d0a5287749a58abe0fbaa28/tools/OpenConsole.psm1#L256-L260
Did you happen to see any errors like "Error parsing solution file", or any errors related to nuget in the initial build that failed?

We also need to document how we're even using Nuget in this project.

And why is that? We're using it for packages.

Indeed but what Nuget packages are in use? I can't even find most of the deps available through the public Nuget feed. We also aren't creating a .net app either. It seems like our deps are supposed to update through this method but they weren't created with .net in mind and we utilize them in C++.  It's just a bit confusing on how all the pieces fit together. Maybe if we had a more detailed design flow schematic in the docs, this would be a bit more clear for contributors.


problem with t:cmdLine

i wonder why  the cmdLine transformation will delete a semicolon[;], because I want a rule like `|&;() to avoid false positives, but it can't be implemented with cmdLine now. Don't you think this is a problem?

Hello @van3day ,
The implementation of t:cmdLine is well before my time on the project, but I'll offer a few observations.
Most other ModSecurity transformations have a clear and well-defined functionality, and it's obvious how one should go about analyzing the post-transformation string. t:lowercase is a fairly obvious example.
But t:cmdLine is different. Linux command line functionality is quite complex, and any transformation attempt within ModSecurity will inevitably fall short of matching what can be done on the command line by an attacker.
t:cmdLine should not be used routinely in rules; you need to understand what you are hoping to detect and how you plan to do so, and make sure that the result of t:cmdLine suits your needs.
So why is ';' transformed into a space character? It may have been for reasons such as:
w;cat /etc/passwd

So that 'cat' still looks like a whitespace-delimited command name (for matching purposes).
t:cmdLine may be of some help to some people for certain rules, but it should be used with caution.  And one certainly should be under no illusions that it is (or ever could be) a panacea for command line obfuscation.

It was developed as a generic transformation for both Linux and Windows.
In Windows, a semicolon is equivalent to a space.

@marcstern ,
Thanks for that note.

You can find a "bash" transformation on https://www.approach.be/en/modsecurity.html
It's used for many year in production in a lot of critical environments (banking, military, telco, TV, etc.).

Thanks for mentioning; I recall having come across that once before.
Really, if we wanted to improve the implementation in ModSecurity itself, something like that would probably be the most obvious step -- i.e. at minimum a split between Unix/Linux command line vs. Windows command line. There are enough substantial differences between the two to make trying to handle both with the same transformation disadvantageous.


Set z-index for sticky diff box lower

Fix #12525
As per @CirnoT comments on that issue.
Signed-off-by: Andrew Thornton<EMAIL_ADDRESS>

Codecov Report

Merging #12537 into master will decrease coverage by 0.00%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master   #12537      +/-   ##
==========================================
- Coverage   43.50%   43.50%   -0.01%
==========================================
  Files         642      642
  Lines       71003    71003
==========================================
- Hits        30892    30891       -1
+ Misses      35105    35103       -2
- Partials     5006     5009       +3

Impacted Files
Coverage Δ

modules/indexer/stats/queue.go
52.94% <0.00%> (-23.53%)
:arrow_down:

modules/indexer/stats/db.go
43.47% <0.00%> (-8.70%)
:arrow_down:

modules/git/utils.go
73.77% <0.00%> (-3.28%)
:arrow_down:

modules/git/repo.go
49.23% <0.00%> (-0.51%)
:arrow_down:

services/pull/pull.go
41.57% <0.00%> (-0.47%)
:arrow_down:

modules/queue/workerpool.go
60.00% <0.00%> (+1.22%)
:arrow_up:

modules/log/event.go
59.43% <0.00%> (+1.88%)
:arrow_up:

modules/util/timer.go
85.71% <0.00%> (+42.85%)
:arrow_up:

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 1ca652c...86f0474. Read the comment docs.


Broken formulas

✗ brew install knative-sandbox/kn-plugins/admin

==> Tapping knative-sandbox/kn-plugins
Cloning into '/usr/local/Homebrew/Library/Taps/knative-sandbox/homebrew-kn-plugins'...
remote: Enumerating objects: 19, done.
remote: Counting objects: 100% (19/19), done.
remote: Compressing objects: 100% (14/14), done.
remote: Total 19 (delta 10), reused 9 (delta 5), pack-reused 0
Receiving objects: 100% (19/19), 7.88 KiB | 7.88 MiB/s, done.
Resolving deltas: 100% (10/10), done.
Error: Invalid formula<EMAIL_ADDRESS>No available formula with the name<EMAIL_ADDRESS>In formula file<EMAIL_ADDRESS>Expected to find class AdminAT022, but only found: Admin.
Error: Invalid formula<EMAIL_ADDRESS>No available formula with the name<EMAIL_ADDRESS>In formula file<EMAIL_ADDRESS>Expected to find class SourceKafkaAT022, but only found: SourceKafka.
Error: Cannot tap knative-sandbox/kn-plugins: invalid syntax in tap!

/assign


Consistent Error Handling for Frontend

Find some way to make API calls happen in methods that can be abstracted out and used to handle errors consistently throughout the frontend.
From Sebastian current error -
In terms of error, I was seeing it with disabled users. If a user gets a token, then I disable that user (myself maybe), and then I try to get a page, it will return a 403 Forbidden error. But the frontend does not seem to be checking for those errors, or checking that it is getting a 200 response, as it will gladly show me a page (say, the users page), but empty, instead of indicating that I was not allowed to access that page. This will happen more often once we work with permissions, since besides the disabled user case, because of roles there would be other causes for a 403 Forbidden error when accessing the API resources. But besides maybe handling the 403 Forbidden error in a specific way, we should also handle any unknown, non 200 HTTP response error in the frontend, in some standard way.

Addressed in #434


Spam domain API fix

As suggested by @user12986714, parse out the argument from request.env['PATH_INFO'] in the name/:name for spam_domains and posts uid/:api_param/:native_id for posts routes.

I wanted to create a test case for this regression but it seems there are no test cases for the API and since this is my first attempt at writing Ruby, it felt too overwhelming. )-:

Argh, concessions to the unforgiving Rubocop.

I also looked at https://stackoverflow.com/questions/2952235/rails-params-with-dot-e-g-google-com but was unable to do anything useful with the answers there. In particular,
    get 'name/:name', constraints: { name: /^\w+$/ } do

did not produce anything useful. I also tried to play around with the idea to add optional parameters from https://stackoverflow.com/questions/47758775/how-to-apply-query-parameter-constraints-to-grape but I probably botched it somehow, or maybe that idea doesn't work inside an API handler of our type either.


Load and use xlsx in browser env  [help wanted]

I have a NuxtJs/Vuetify  application and I try to use my xlsx template from my static resources then add data and then save the file with the updated data.
I tried this :
const workbook = new Excel.stream.xlsx.WorkbookReader({ filename: '/static/template.xlsx' })
      workbook.xlsx.writeBuffer()
        .then(buffer => saveAs(new Blob([buffer]), `${this.asd.date} ${this.asd.place} .xlsx`))
        .catch(err => console.log('Error writing excel export', err))

But he downloaded xlsx was corrupted.
saveAs coming from : import { saveAs } from 'file-saver'

#354

#354

Did you attempt to use (new Excel{}).xlsx.readFile(/*...*/).then(/*...*/); ? I suppose, that your code didn't read any data before writeBuffer.

Did you attempt to use (new Excel{}).xlsx.readFile(/*...*/).then(/*...*/); ? I suppose, that your code didn't read any data before writeBuffer.

#37

#37

https://github.com/exceljs/exceljs/issues/354

https://github.com/exceljs/exceljs/issues/354


Support for custom domain mappings

Right now it seems like there's no way for me to say "route traffic coming to mydomain.com to default/foo KService"?
Knative cannot do this natively either.
Would be a killer feature to have.

@ahmetb how do you see this implemented?  A custom CRD or just an annotation on the ksvc?
I’m thinking more about using an annotation to avoid adding complexity to the deployment and reuse as much as possible the knative objects.
@davidor wdyt?

Keep in mind:

Gloo, Ambassador, Istio and whatever other ingress controller out there also needs to implement this functionality
People might have multiple domains handled by the same ksvc
People might route wildcard domains *.foo.com to one ksvc
...

I am not saying we should make it a new CRD, but Google Cloud already has a DomainMapping CRD (because it supports mapping custom domains, but knative doesn't). The community probably should consider developing an equivalent of it.
I recall there's an open issue about it in knative/serving repo, but it's been inactive for a very long time.

@ahmetb I may be wrong, but I do a lot of changes to the config-network ConfigMap of knative-serving I think it let's you do that.
I use it to change the domainTemplate to name.domainName instead of name.Napespace.domain for me, it allows me to have name=namespace and private namespaces for each app.

@lesv how do you just map an apex domain like foo.com to a kservice?


Create kbzsg

It's a new school I am visiting to learn about economy and it. I would be pleased if you could pick this school also for you free student program.
Kind Regards
Jan

@janbrookshoffmann I am closing this request as a duplicate to #6686.


Building the REST-Api

For the Rest of the REST-Api I Want to add the following things.

[x] Argparser with CliKt tp provide configFile
[x] create a Config from a ConfigFile or String with hoplite or with ENV-variables
[x] create a first Application Test to see if Tests are working
[x] Refactor Data-Models again with Interfaces
[x] create EntryService with Interfaces
[x] create Category Service with Interfaces
[x] build Entry API-Endpoints
[x] build Category API-Endpoints
[x] Create API-Tests
[x] Create Issue for API-Doku

Zu realm: Vielleicht in Config packen, vielleicht kann dies auch weggelassen werden


Flatpak config cleanups

Couple of tiny cleanups as a result of https://github.com/projectatomic/atomic-reactor/pull/1064 and https://github.com/projectatomic/atomic-reactor/pull/1065.

Looks good to me, but I'm not sure if the Travis failure is bogus or not.

Travis failure is https://pypi.org/project/py releasing a new version (1.6.0) a couple of days ago that drops python-2.6 support. test.sh could probably force downgrade that to the previous release with the right pip incantations - if centos 6 is still needed in the test matrix.

Please rebase to pick up unit test fix.

Updated release notes draft:

Flatpak base image can be set from reactor config map


Activate submit button on empty EditText field of MessageInput

I wanted to record a voicemail on buttonLongPress when there's no letters in MessageInput EditText field. But the button seems to be deactivated and when I add a OnTouchListener mMessageInput.getButton().setOnTouchListener() it will be ignored. Nothing happens, the onTouchListener is never called.
mMessageInput.getButton().setActivated(true); makes no difference I can see.
How can I get catch a TouchEvent on the submit button while the EditText is empty?

Why need send button enable actually. Just send directly when voice record completed. MessageInput EditText has many dependency like isTyping and stopTyping. and send button has linked with MessageInput.

I wanted to start the voice recording with the button_down event and stop recording with the button_up event of the button. I can't do that because the button is deactivated. Is there any way I can force the button to be active or to catch the events otherwise?


Rule Exception handling

Hi guys
Executing a workflow's rules, and inspecting the result tree.
For each rule that has executed the result IsSuccess will be false with an exception message if the rule failed.
This is great but if there was an exception on parsing the lambda expression, the same fields are used.
So there is no differentiation between rule (business) failure and system failure (parsing) etc. which is problematic.
For I need to know if the rule failed (not an internal exception like parsing) to follow another business process.
And if it is an internal system exception like parsing, it will escalate the exception for the rule couldn't even execute.
If you guys can split the exception handling on the rule for example:

Exception Message = internal system exception
Failure Message = $"Rule '{rule.RuleName}' failed." - like you currently have the exception message

Hope that makes sense.
Kind regards
Neill

Hi @RemnantSoftware ,
Currently RulesEngine provides an option to throw exception if there are any internal failure, you can achieve it by setting EnableExceptionAsErrorMessage as false in ReSettings.
https://github.com/microsoft/RulesEngine/blob/b763f718bc27dce420c37d14b4ec8d709a6470be/src/RulesEngine/Models/ReSettings.cs#L24-L30
Let me know if this works for you.

Hi @RemnantSoftware , we closing this issue due to lack of activity. If you are still facing this issue, feel free to reopen it


Please include AddSqlServerDbContextFactory

Somewhat related to #1194
When working with Blazor Server apps it is recommended to use IDbContextFactory for Dependency Injection.
It would be useful for the aspire component to have an additional method for this scenario: "AddSqlServerDbContextFactory".

Thanks for the suggestion.
This will be resolved when #1403 is done, as you will be able to call builder.Services.AddDbContextFactory directly. I'm going to close this for now and use #1403 to track the work.


how do i get the traceback from a HandlerExecutionFailed in 5.0?

the traceback property seems to have been removed. i tried using get_error_details(full_traceback=True) but it just returns an empty string

You need to provide some more details about what you are doing for me to understand this. Notice also that although robot.utils is considered to be part of the public API, internal exceptions like HandlerExecutionFailed are not.

nevermind, turns out we don't need it


Update quickstart-send-telemetry-cli.md

Add opening and closing braces to the placeholder, as the README suggests replacing only part of the placeholder, keeping the opening '{' and closing '}' braces.

I myself was fooled by it and spent some time checking whether I have logged in with the correct subscription.
As justification to my error, pyodbc python library has placeholders for the ODBC driver and password in which the braces are supposed to be left in place. (Just like I did for the azure command)

@Willmish : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#label:"aq-pr-triaged"

@Willmish thanks for your contribution and feedback!  We haven't had that come up but I can see how that could be confusing, esp with the Python background.  However we don't typically include the placeholder braces in the text of the article.
As an alternative, I just merged a PR (to publish tomorrow a.m.) to clarify.  In the first instance where the placeholder is mentioned, it 's updated to:   "Replace this placeholder name and the curly bracket characters with the name you chose for your IoT hub. An IoT hub name must be globally unique in Azure. This placeholder is used in the rest of this quickstart to represent your IoT hub name."
This should make it clear that the placeholder name AND the brackets are to be removed, and that is the convention thru the rest of the article.
Thanks!
@ktoliver:   #please-close


Broken route for /catalog?filters

visit /catalog/?filters%5Bkind%5D=component&filters%5Buser%5D=owned directly from url broken
Expected Behavior

Click url http://localhost:3000/catalog?filters[kind]=component&filters[user]=owned should direct me to my owned entities
Current Behavior

Click url http://localhost:3000/catalog?filters[kind]=component&filters[user]=owned
But redirect me to http://localhost:3000/catalog?filters[kind]=component&filters[user]=all somehow
It works for demo site https://demo.backstage.io/catalog?filters[kind]=component&filters[user]=owned,
So i suspect it caused by recent changes.
Possible Solution

I haven't identified the cause yet.
Steps to Reproduce

backstage version is up to date
import a catalog-info.yaml that you will be owned
click localhost:3000/catalog --> seems default to show all entities
try to change this in App.tx

        <Route path="/catalog" element={<CatalogIndexPage initiallySelectedFilter='owned'/>}/>

click localhost:3000/catalog, the above DOES NOT work, still show me ALL entities.
view my owned entities directly from url http://localhost:3000/catalog?filters%5Bkind%5D=component&filters%5Buser%5D=owned
The above DOES NOT WORK, still redirect me to http://localhost:3000/catalog?filters%5Bkind%5D=component&filters%5Buser%5D=all
The ONLY way to see my owned entitles is click from UI

Context

Should the OWNED entities shown by default like the demo.backstage.io or at least be possible to set it up? Otherwise it makes logging in useless

Your Environment

NodeJS Version (v14):
Operating System and Version (e.g. Ubuntu 14.04):
Browser Information:

Thanks for reporting @kim5566! Looks like this was introduced in #8220 - specifically this change to the logic that determines the current filter.


DocsArchive-<IP_ADDRESS>Auto archive content

Please don't merge this PR until target archive repo PR https://github.com/OPS-E2E-PPE/docs-archive-test-target/pull/496 is merged into live branch.
Auto archive content to https://github.com/VSC-Service-Account/docs-archive-test-target.git

Docs Build status updates of commit 6c702d1:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error-BackendEngineExceptionError] An exception occurred during the build process. Please check the raw log and retry building your content again. If the issue persists, please open a ticket in https://SiteHelp and include the URL of publishing report as well as below information: One or more errors occurred..

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


[BUG] after doing true | cd ~/ , autosuggestions no longer work

After doing true | cd ~/ , autosuggestions no longer appear until I do exec zsh.

I'm not able to reproduce this immediately. Can you give more details?


XMLHttpRequest: Change to more consistent event invocation order

Problem in brief
This PR changes the invocation order of events added to XMLHttpRequest, through both addEventListener() and on-handlers, to be more consistent with major browser such as Chrome / FF / IE, as well as other events already implemented in HtmlUnit that use EventTarget's framework.
Technical details
This is done by using the AT_TARGET invocation feature previously added to EventTarget, which is a more robust implementation than the custom implementation in XMLHttpRequest.
Consequently, the use of EventTarget.executeEventLocally() to handle XMLHttpRequest's events also has this added benefits:

window.currentEvent is now set correctly throughout the event invocation
event.eventPhase is set to a value consistent with major browsers

Notes

I was initially worried because at a glance the scope parameter of callFunction() changes from function.getParentScope() to a Window instance when invoked through EventTarget.executeEventLocally(), but reading the code deeper it's not used anywhere before it's reverted to back to the same fnOrScript.getParentScope() instance in initializeArgs() so this PR is essentially a pure refactor here.

This PR also deprecates the public method XMLHttpRequestEventTarget.getFunctionForEvent() because I could not think of a benefit of keeping it public.  The same functionality is provided through EventTarget.getEventHandler() which this class inherits.

Many thanks for this great contribution.

Many thanks for this great contribution.


作者您好，谢谢你做的工作，我想请问一下为什么只在第二轮训练时使用mish激活函数，第一轮为什么还是relu呢？

hello, this strategy is tested by ablation study. You can also fix the activation function to mish. But it will leads to more pre-training time and a little performance degradation. But of course, I believe you can find a better way to train the model the single activation function. We just not take more time to test it due to it is not the focus of our method.
-----原始邮件-----
发件人:asd131 @.>
发送时间:2024-07-30 10:04:55 (星期二)
收件人: gallenszl/CFNet @.>
抄送: Subscribed @.***>
主题: [gallenszl/CFNet] 作者您好，谢谢你做的工作，我想请问一下为什么只在第二轮训练时使用mish激活函数，第一轮为什么还是relu呢？ (Issue #40)
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

hello, this strategy is tested by ablation study. You can also fix the activation function to mish. But it will leads to more pre-training time and a little performance degradation. But of course, I believe you can find a better way to train the model with the single activation function. We just not take more time to test it due to it is not the focus of our method.
…
-----原始邮件----- 发件人:asd131 @.> 发送时间:2024-07-30 10:04:55 (星期二) 收件人: gallenszl/CFNet @.> 抄送: Subscribed @.> 主题: [gallenszl/CFNet] 作者您好，谢谢你做的工作，我想请问一下为什么只在第二轮训练时使用mish激活函数，第一轮为什么还是relu呢？ (Issue #40) — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you are subscribed to this thread.Message ID: @.>

谢谢您的解答，我尝试了mish和relu，第二轮使用mish的确会使sceneflow的epe降低，但将生成的视差图上传到kitti，得到的指标没有使用relu生成的好，请问您得出过这个结论吗

Our conclusion is using mish will be better
-----原始邮件-----
发件人:asd131 @.>
发送时间:2024-07-31 15:32:56 (星期三)
收件人: gallenszl/CFNet @.>
抄送: gallenszl @.>, Comment @.>
主题: Re: [gallenszl/CFNet] 作者您好，谢谢你做的工作，我想请问一下为什么只在第二轮训练时使用mish激活函数，第一轮为什么还是relu呢？ (Issue #40)
hello, this strategy is tested by ablation study. You can also fix the activation function to mish. But it will leads to more pre-training time and a little performance degradation. But of course, I believe you can find a better way to train the model with the single activation function. We just not take more time to test it due to it is not the focus of our method.
…
-----原始邮件----- 发件人:asd131 @.> 发送时间:2024-07-30 10:04:55 (星期二) 收件人: gallenszl/CFNet @.> 抄送: Subscribed @.> 主题: [gallenszl/CFNet] 作者您好，谢谢你做的工作，我想请问一下为什么只在第二轮训练时使用mish激活函数，第一轮为什么还是relu呢？ (Issue #40) — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you are subscribed to this thread.Message ID: @.>
谢谢您的解答，我尝试了mish和relu，第二轮使用mish的确会使sceneflow的epe降低，但将生成的视差图上传到kitti，得到的指标没有使用relu生成的好，请问您得出过这个结论吗
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: @.***>


Crashing after ~100 seconds with close code 1000

Seems to be crashing after ~100 seconds with close code 1000 (normal).

Jake said it could possibly be the heartbeat.
Not actually sure if it's the libs problem, could be my bot.

We now send the heartbeat 4 times a period just in case a REST request or a presence update blocks it.


Update reference-managed-online-endpoints-vm-sku-list.md

Add new supported SKU - "DS1 v2"

#sign-off

#assign-reviewer @shohei1029

@dem108 - you signed off ... normally we'd merge this after sign off by the author... but it also looks like you're trying to request a review by @shohei1029 ... do you want this merged or do you want it to be reviewed first? thanks

Shohei actually reviewed this already offline, so if possible, I want it to be merged. Thanks.