Passing resource JSON for invocation no longer works

Prerequisites

[X] Write a descriptive title.
[X] Make sure you are able to repro it on the latest version
[X] Search the existing issues.

Summary
dsc resource get -r is expected to accept a wildcard, name of resource, or the resource JSON (to avoid a search).  The latter has been broken.
Steps to reproduce
$osinfo = dsc resource list Microsoft/OSInfo
dsc resource get -r $osinfo

Expected behavior
Since `$osinfo` is a JSON representation of a resource, it has all the info about the resource so discovery should not occur and `dsc` should try to directly perform a `get`

Actual behavior
`dsc` is using the JSON as a search string

Error details
No response
Environment data
Name                           Value
----                           -----
PSVersion                      7.5.0-preview.1
PSEdition                      Core
GitCommitId                    7.5.0-preview.1-103-gda1ca4a7266e2c9e43f96a38aeea8092ace71cca
OS                             Darwin 23.5.0 Darwin Kernel Version 23.5.0: Wed May  1 20:16:51 PDT 2024; root:xnu-10063.121.3~5/RELEASE_ARM64_T8103
Platform                       Unix
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

Version
dsc 3.0.0-preview.8
Visuals
No response

Probably don't need this until needed by a partner

Just as an anecdotal note, I've used this pattern to show piping behavior before, and found it useful for interactive use. If we're intentionally dropping it as functionality, I'll need to remove it from the docs.

Just as an anecdotal note, I've used this pattern to show piping behavior before, and found it useful for interactive use. If we're intentionally dropping it as functionality, I'll need to remove it from the docs.

I don't think it's intended to be dropped.  Some changes along the way broke this and we didn't have tests to catch it.  Should be removed from docs for now.  The original intent is for integrating software to cache the resources if they are calling dsc resource ... instead of waiting for dsc to perform discovery on each call.  This feature might not be needed if we implement a "server mode" that accepts multiple requests as dsc would hold the resource list cache internally.


Life cycle management of Data

Dear Team,
I am looking for cache data that will be persisted on timely bases.
Can you please let me know what is the time period for refresh of data/object or what algorithm is fallowed to send it to GC/Destroy.
Thanks

please use the mailing list for support.


How to add styles

  module: {
    loaders: [
        {
            test: /\.scss$/,
            loader: ExtractTextPlugin.extract("style", "css!sass")
        },

plugins: [
    new ExtractTextPlugin("style.[hash].css", {
        allChunks: true
    }),
    new HtmlWebpackPlugin({
        template: 'src/client/index.html',
        "assets": {
            "client" : "client.[hash].js",
            "style"  : "style.[hash].css",
        }
    })
]

template:
<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-type" content="text/html; charset=utf-8"/>
    <title>My App</title>
  </head>
  <body>
    <link href="{%=o.htmlWebpackPlugin.assets.style%}" media="all" rel="stylesheet" type="text/css">
    <script src="{%=o.htmlWebpackPlugin.assets.client%}"></script>
  </body>
</html>

try:
<link rel="stylesheet" href="[prepend_your_public_path/]{%=o.webpack.assetsByChunkName.client[1]%}">

more details here: https://github.com/ampedandwired/html-webpack-plugin/issues/1

Thanks @bitplanets, some good ideas there, and apologies for not getting back to you sooner. I'm going to put a bit of work into making this a bit easier, as well as addressing the script ordering problem.

The pull-request #14 supports the ExtractTextPlugin

@jantimon's PR #14 allows for styles to be included, so closing this for now. Let me know if this doesn't meet your needs.


Need to add Deploy status badge in README.md

Please add the Deploy status badge in README.md
Status badges are visual representations of your site's status, served as image files you can add to repository READMEs, documentation, or any other web page. Please follow this URL

I can take up this issue

@akshay-s-770  want to work on this issue.
We can use shields.io to add badge in Readme.md

i would love to work on this could you assign this issue to me

@akshay-js  Please assign this to me


Black Duck Scan PDF/Notices Risk Report Generation broken

When using either the env or the cmd arguments to generate result pdf, it is completely ignored and I cannot find the pdf whether it be in the source directory, or in my specified path argument. Tried both with and without path argument.

I am closing this because this has actually nothing to do with the action, but also does not work using installing and using the detect client directly.


Gas meters may be connected to ports 2, 3 or 4

The code assumes the gas meter is always connected to port 1. My gas meter was recently replaced and the replacement meter was connected to port 2. From what I can tell from the DSMR 4.0 spec, a gas meter can be connected to either port 1, 2, 3 or 4. Adding case lines for these ports fixed the Unable to parse line: 0-2:24.1.0 error lines for me.

Thanks for your PR!
The original reason I only implemented port 1 is that for most people the gas meter should be on port 1 and the other ports could be used for other types of meters like water meters. However, according to the spec I don't know how to distinguish what type of meter is connected to a port and what are the available options. As far as I know at least in The Netherlands only Gas meters are attached so I think it's safe to just assume any meter connected to a port as being a Gas meter. So I will merge your PR.

@ruudverheijden my old gas meter used to be connected to port 1 as well, I suppose it's like that for 99.99% of the meters. I agree the DSMR spec is quite vague. I do believe only gas meters are connected at present. Maybe the device type 003 indicates it's a gas meter, but that's just a wild guess. Nothing concrete about that in the specs.
Anyway, thanks for merging! :)


AlifSemi: Add SVD files from official DFP

Add  AlifSemi SVD files from official DFP https://github.com/alifsemi/alif_ensemble-cmsis-dfp/tree/main/Debug/SVD
To check the SVD files authenticity, follow these instructions:
$ git clone https://github.com/alifsemi/alif_ensemble-cmsis-dfp.git
$ cd alif_ensemble-cmsis-dfp/Debug/SVD
$ sha512sum *.svd > ../../../alifsemi_svd_s_sha512.txt
$ cd ../../..
$ git clone https://github.com/VincentDary/cmsis-svd-data.git
$ cd cmsis-svd-data
$ git checkout alifsemi
$ cd data/AlifSemi
$ sha512sum -c ../../../alifsemi_svd_s_sha512.txt
AE101F4071542LH_CM55_HE_View.svd: OK
AE302F40C1537LE_CM55_HE_View.svd: OK
AE302F40C1537LE_CM55_HP_View.svd: OK
AE302F80C1557LE_CM55_HE_View.svd: OK
AE302F80C1557LE_CM55_HP_View.svd: OK
AE302F80F5582AE_CM55_HE_View.svd: OK
AE302F80F5582AE_CM55_HP_View.svd: OK
AE302F80F5582LE_CM55_HE_View.svd: OK
AE302F80F5582LE_CM55_HP_View.svd: OK
AE302F80F55D5AE_CM55_HE_View.svd: OK
AE302F80F55D5AE_CM55_HP_View.svd: OK
AE302F80F55D5LE_CM55_HE_View.svd: OK
AE302F80F55D5LE_CM55_HP_View.svd: OK
AE512F80F5582AS_CM55_HE_View.svd: OK
AE512F80F5582AS_CM55_HP_View.svd: OK
AE512F80F5582LS_CM55_HE_View.svd: OK
AE512F80F5582LS_CM55_HP_View.svd: OK
AE512F80F55D5AS_CM55_HE_View.svd: OK
AE512F80F55D5AS_CM55_HP_View.svd: OK
AE512F80F55D5LS_CM55_HE_View.svd: OK
AE512F80F55D5LS_CM55_HP_View.svd: OK
AE722F80F55D5AS_CM55_HE_View.svd: OK
AE722F80F55D5AS_CM55_HP_View.svd: OK
AE722F80F55D5LS_CM55_HE_View.svd: OK
AE722F80F55D5LS_CM55_HP_View.svd: OK
$ echo $?
0

Update 2024-10-31 :
Add Alif Semiconductor License.

Any chance to drop the final _View? As this will likely interfere with finding these chips by their serial automagically …
What's the difference between the HE and HP versions of each file?
CM55 is CortexM55?

Thereis some differences between interrupt names between HE and HP. For examples with AE302F40C1537LE:
$ diff -u  AE302F40C1537LE_CM55_HE_View.svd AE302F40C1537LE_CM55_HP_View.svd
...
-        <name>DMA2_IRQ0</name>
+        <name>DMA1_IRQ0</name>
         <description>Interrupt request 0. One per DMA request interface (32 in total).</description>
         <value>0</value>
       </interrupt>
       <interrupt>
-        <name>DMA2_IRQ1</name>
+        <name>DMA1_IRQ1</name>
         <description>Interrupt request 1. One per DMA request interface (32 in total).</description>
         <value>1</value>
       </interrupt>
       <interrupt>
-        <name>DMA2_IRQ10</name>
+        <name>DMA1_IRQ10</name>
         <description>Interrupt request 10. One per DMA request interface (32 in total).</description>
         <value>10</value>
       </interrupt>
...

Yes I think CM55 stand for Arm Cortex-M55.

Ok in this case I drop the _View pattern, maybe also the CM55 pattern, this just a a little bit more work for the maintenance of the files if there is updates.

I'd suggest removing it from the filename too.
This would leave us with AE101F4071542LH_HE.svd instead of AE101F4071542LH_CM55_HE_View.svd, which would make this SVD accessible as AE101F4071542LH_HE (which IMHO is much more reasonable).
If there are any non-Cortex-M55 chips from this vendor, we could do two directories CM55 and another similar to SiliconLabs being split into the individual series.

Naming LGTM.


[BUG] Double rendering of notebook output with rich>=12.6.0

[x] I've checked docs and closed issues for possible solutions.
[x] I can't find my issue in the FAQ.

Describe the bug
It appears the double rendering issue referenced in #1737 has returned starting in version 12.6.0.
With a poetry environment given by:
[tool.poetry]
name = "rich-bug-repro"
version = "0.0.1"
description = "..."
authors = ["John Doe"]

[tool.poetry.dependencies]
python = "^3.9"
jupyter = "^1.0.0"
rich = {version = "x.x.x", extras=["jupyter"]}  # fill out with desired version

a simple reproducing example is (from a jupyter notebook)
from rich.progress import track
import time

for i in track(range(100)):
    time.sleep(0.01)

when version is set to any of 12.6.0,13.0.0,13.0.1 in the pyproject.toml above, the output of this example looks like

When using <12.6.0, you get the expected

Note that this is strictly a jupyter problem: for any of these versions, running e.g.
python -c 'from rich.progress import track;import time;[time.sleep(0.01) for _ in track(range(100))]'

results in just a single progress bar being printed, as expected.
Platform

Click to expand
What platform (Win/Linux/Mac) are you running on? What terminal software are you using?
Linux, both natively and in WSL2 on Windows.
I may ask you to copy and paste the output of the following commands. It may save some time if you do it now.
If you're using Rich in a terminal:
python -m rich.diagnose
pip freeze | grep rich

If you're using Rich in a Jupyter Notebook, run the following snippet in a cell
and paste the output in your bug report.
from rich.diagnose import report
report()

╭────────────────────── <class 'rich.console.Console'> ──────────────────────╮
│ A high level console interface.                                            │
│                                                                            │
│ ╭────────────────────────────────────────────────────────────────────────╮ │
│ │ <console width=115 ColorSystem.TRUECOLOR>                              │ │
│ ╰────────────────────────────────────────────────────────────────────────╯ │
│                                                                            │
│     color_system = 'truecolor'                                             │
│         encoding = 'utf-8'                                                 │
│             file = <ipykernel.iostream.OutStream object at 0x7f3f783203d0> │
│           height = 100                                                     │
│    is_alt_screen = False                                                   │
│ is_dumb_terminal = False                                                   │
│   is_interactive = True                                                    │
│       is_jupyter = True                                                    │
│      is_terminal = True                                                    │
│   legacy_windows = False                                                   │
│         no_color = False                                                   │
│          options = ConsoleOptions(                                         │
│                        size=ConsoleDimensions(width=115, height=100),      │
│                        legacy_windows=False,                               │
│                        min_width=1,                                        │
│                        max_width=115,                                      │
│                        is_terminal=True,                                   │
│                        encoding='utf-8',                                   │
│                        max_height=100,                                     │
│                        justify=None,                                       │
│                        overflow=None,                                      │
│                        no_wrap=False,                                      │
│                        highlight=None,                                     │
│                        markup=None,                                        │
│                        height=None                                         │
│                    )                                                       │
│            quiet = False                                                   │
│           record = False                                                   │
│         safe_box = True                                                    │
│             size = ConsoleDimensions(width=115, height=100)                │
│        soft_wrap = False                                                   │
│           stderr = False                                                   │
│            style = None                                                    │
│         tab_size = 8                                                       │
│            width = 115                                                     │
╰────────────────────────────────────────────────────────────────────────────╯
╭─── <class 'rich._windows.WindowsConsoleFeatures'> ────╮
│ Windows features available.                           │
│                                                       │
│ ╭───────────────────────────────────────────────────╮ │
│ │ WindowsConsoleFeatures(vt=False, truecolor=False) │ │
│ ╰───────────────────────────────────────────────────╯ │
│                                                       │
│ truecolor = False                                     │
│        vt = False                                     │
╰───────────────────────────────────────────────────────╯
╭────── Environment Variables ───────╮
│ {                                  │
│     'TERM': 'xterm-color',         │
│     'COLORTERM': None,             │
│     'CLICOLOR': '1',               │
│     'NO_COLOR': None,              │
│     'TERM_PROGRAM': None,          │
│     'COLUMNS': None,               │
│     'LINES': None,                 │
│     'JUPYTER_COLUMNS': None,       │
│     'JUPYTER_LINES': None,         │
│     'JPY_PARENT_PID': '2054',      │
│     'VSCODE_VERBOSE_LOGGING': None │
│ }                                  │
╰────────────────────────────────────╯
platform="Linux"

What software are you using to run the Notebook? Jupyter notebook, Jupyter lab, VSCode ?

I had the same problem, was using Jupyter lab.

Ok, just checked again, and the problem exists with both jupyter-lab and notebook. Don't use VSCode, so don't know about that.

FWIW, I tracked this down to #2449 setting _force_terminal=True because FORCE_COLOR=1 tends to be set in Jupyter. If you launch with a Console(force_terminal=False), the problem goes away.
I don't know enough about rich to identify exactly which output produced when Console.is_terminal = True causes the duplicate lines, but you can see the difference:

This still happens for me in VS Code:

This still happens for me in VS Code:

We still have this issue


Update gh-action author assign - add zmrdltl to reviewers

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
2 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.005%) to 98.549%

Files with Coverage Reduction
New Missed Lines
%

core/src/executor/aggregate/mod.rs
2
82.47%

Totals

Change from base Build<PHONE_NUMBER>:
-0.005%

Covered Lines:
46266

Relevant Lines:
46947

💛  - Coveralls


ISS228: removing gdal from setup.py; fix model download check

Along with resolving #228, this also fixes #226 by removing "GDAL" from the list of dependencies - instead, it just throws an error if GDAL isn't already there.

Codecov Report

Merging #230 into dev will decrease coverage by 0.2%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##              dev     #230      +/-   ##
==========================================
- Coverage   66.23%   66.03%   -0.21%
==========================================
  Files          67       67
  Lines        4561     4575      +14
==========================================
  Hits         3021     3021
- Misses       1540     1554      +14

Impacted Files
Coverage Δ

setup.py
0% <ø> (ø)
:arrow_up:

solaris/nets/model_io.py
18.18% <0%> (-4.05%)
:arrow_down:

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 bf7f100...8b6616b. Read the comment docs.


Feature/fix collection permissions

Closes #1413
Closes #1415
Closes #1425
Closes #1523
Changes

make sure userId and document parameters are passed in to all allow/deny rules
improve Settings collection security
improve FeedbackVotes collection security
improve Ratings collection security
refactor ApiBackendRatings collection to follow project structure guidelines

@apinf/core please review ASAP.

Reviewing

@brylie Autoform errors with Feedback form, also after "Submit", feedback not added. Can not merge this yet.

Those errors are not related to this PR. Please continue.


feat: notify admin to update solvers in the community

This PR schedules a daily job at midnight to notify the admin of a community that there are no solvers in the community. The maximum number of notification messages right now is set to 5, afterwards the community is disabled.
Fixes #314

Hello, did you tested it locally? It's not working properly:

This message is not being displayed: Your community ${community.name} doesn't have any solvers. Please add at least one solver to avoid being disabled.
Even though the logs say: Community: ${community.name} has been disabled due to lack of solvers. the community is not being disabled. You can continue using it normally.
I recommend putting the warning messages to the administrators in the language they have the bot set in, in the yaml of ./locales. You can see as an example at Add cronjob to notify admin about missing solvers (#314) #563

Thank you for the review. I'll work on these feedbacks.


Fix type check. (#973)

Issue #, if available: #973
Description of changes:

Add missing import statements.
Change the type of forecaster to GluonEstimator.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@jaheba sorry, I thought that I needed to rebase my branch again before merging, and this undid your approval.


Add "lang" attribute support existing in the native Giscus

Hi Sage!
Thank you for your good work on giscus and giscus-component libraries! 🤗
One thing, I've seen in the giscus component package (and this issue mentioned) was the lack of lang option available in the "no-framework version of giscus".
Because of that, I've added it to all packages (React, Vue and Svelte), tested and opened this PR. I hope it will be useful!
In addition, as I know, yarn does not install peerDependencies as npm does from version 7.0 and because of that, I wasn't able to run the package dev server without adding prop-types in React giscus component as classic devDependency.
If this is a case, adding it as a dependency should be useful. If not of course, let me know how I should run de environment and I will also change the PR content (or you can do it either) 😌
Have an awesome day!

Thanks! I have a lot of cleanup to do for the components, so let me merge this into beta first.

In addition, as I know, yarn does not install peerDependencies as npm does from version 7.0 and because of that, I wasn't able to run the package dev server without adding prop-types in React giscus component as classic devDependency.

Yeah, that issue comes from https://github.com/davidjbradshaw/iframe-resizer-react/issues/59 :slightly_frowning_face:

:tada: This PR is included in version @giscus/react-v1.1.0-beta.1 :tada:
The release is available on:

npm package (@beta dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version @giscus/svelte-v1.1.0-beta.1 :tada:
The release is available on:

npm package (@beta dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version @giscus/vue-v1.1.0-beta.1 :tada:
The release is available on:

npm package (@beta dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version @giscus/react-v1.1.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version @giscus/svelte-v1.1.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version @giscus/vue-v1.1.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Utilize process.beforeExit for exception handling

Will make us only compatible with more modern versions of node, but totally worth it: https://nodejs.org/api/process.html#process_event_beforeexit

Actually this is not what we want. Any web server will prevent the beforeExit event from being raised.


Replace default props with default parameter in functional components

Fixes #3142
Additional description
Replace default props with default parameter in all functional components
CONTRIBUTOR checklist (do not remove)
Please complete for every pull request

[ ] First-time contributors should sign the Contributor License Agreement.  If you haven't before, wait a few minutes and a bot will comment on this pull request with instructions.
[x] npm run lint:fix has been run and linting passes.
[x] Mocha, Jest (Storyshots), and components/component-docs.json CI tests pass (npm test).
[ ] Tests have been added for new props to prevent regressions in the future. See readme.
[x] Review the appropriate Storybook stories. Open http://localhost:9001/.
[x] Review tests are passing in the browser. Open http://localhost:8001/.
[ ] Review markup conforms to SLDS by looking at DOM snapshot strings.

REVIEWER checklist (do not remove)

[ ] CircleCI tests pass. This includes linting, Mocha, Jest, Storyshots, and components/component-docs.json tests.
[ ] Tests have been added for new props to prevent regressions in the future. See readme.
[ ] Review the appropriate Storybook stories. Open http://localhost:9001/.
[ ] The Accessibility panel of each Storybook story has 0 violations (aXe). Open http://localhost:9001/.
[ ] Review tests are passing in the browser. Open http://localhost:8001/.
[ ] Review markup conforms to SLDS by looking at DOM snapshot strings.

Required only if there are markup / UX changes

[ ] Add year-first date and commit SHA to last-slds-markup-review in package.json and push.
[ ] Request a review of the deployed Heroku app by the Salesforce UX Accessibility Team.
[ ] Add year-first review date, and commit SHA, last-accessibility-review, to package.json and push.
[ ] While the contributor's branch is checked out, run npm run local-update within locally cloned site repo to confirm the site will function correctly at the next release.

@interactivellama could you review please?

@xulingzhihou Thank you for the contribution! Please sign the CLA and I will merge. https://cla.salesforce.com/sign-cla?prUrl=https%3A%2F%2Fgithub.com%2Fsalesforce%2Fdesign-system-react%2Fpull%2F3145


ListView Headers do not Stick inside ScrollView

The desired interaction is:

a list with sticky section headers
pull down at the top to refresh

When a ListView with sticky headers is placed within a ScrollView, the headers lose their "stick":
<ScrollView
  refreshControl={
    <RefreshControl
      ...
    />
>
  <ListView
    dataSource={...}
    renderRow={...}
    renderSectionHeader={...} // these renderables no longer stick!
  />
</ScrollView>

This was also called out on a separate issue a while ago, but it looks like an issue was never created. So here we go!

You could do this instead:
<ListView
  dataSource={...}
  renderRow={...}
  renderSectionHeader={...} // these renderables no longer stick!
  renderScrollComponent={props => {
    return (
      <ScrollView {...props}
        refreshControl={
          <RefreshControl
            ...
          />
        }
      />
    );
  }}
/>

Generally speaking, you should try to avoid nesting ScrollViews when possible (and ListView renders a ScrollView).

@brentvatne thanks for your reply. I tried out your proposed solution, however the result was the same as mentioned above when I explicitly wrapped the ListView within a ScrollView.
In your proposed example, RefreshControl does indeed get passed to ScrollView via renderScrollComponent, however when we do this, the headers within the ListView continue to lose their "stickyness".
Perhaps we need to add a refreshControl prop directly to ListView itself to make this work. Can re-open this thread to improve visibility on this issue? Thanks!

@joncursi - I can't repro this, it actually works fine for me to set refreshControl directly on the ListView
Code: https://gist.github.com/brentvatne/014e773b3824cdcb67e3dbcee24e70be#file-refreshcontrol-js-L30-L49
Try it here: https://getexponent.com/@community/list-view-refreshcontrol-test
Happy to reopen if there is a repro case

Ah, I did not realize that ListView has access to all of the props available on ScrollView. I see that now in the documentation. I just tried setting refreshControl directly on ListView and was able to achieve the desired interaction. Thank you @brentvatne !

Is there any solution for sticky header not working inside scroll view?

Hi, @brentvatne
In our app we need to achieve double sticky headers. So there should be 1 common sticky header for entire table and sticky headers for each SectionList section.
But whenever I wrap SectionList inside container ScrollView (or other SectionList) its sections headers loose their stickiness. Is there a way to achieve the desired result?

So, basically I somehow need to make those "Section Title #" stick under that red "Column Sticky Header". Current implementation wraps SectionList inside parent SectionsList.


Make A Config Like The SpartanWP mod

because why not ?

Already tried this twice with no success, idk why I left this issue open for this long


Bug/sc 294/umbraco configuration is truncated exception

Currently, Enterspeeds Umbraco configuration object is stored as a single key, with serialized JSON value, e.g.:
{"MediaDomain":"https://localhost:44382","IsConfigured":true,"ApiKey":"source-xxxxx-xxxxx-xxxx-xxxx","BaseUrl":"https://api.enterspeed.com/","ConnectionTimeout":60,"IngestVersion":"1"}

IKeyValueStore's value has a limit of max 255 characters. A serialized version of our configuration can easily reach and exceed the limit of length.
As an alternative, we can split config relevant keys separately.

Looks good to me, but @jthind or @storkie should take look with some actual developer 👀


[hotfix][docs] fix img links and previous docs link

What is the purpose of the change
to fix some issues for docs, such as image link error and missing 1.13 doc link
Brief change log

fix image link error
add v1.13 doc link

Verifying this change
check the change by building docs locally.
verify the error link source changed from src="/fig/udagg-mechanism-python.png" to src="//localhost:1313//fig/udagg-mechanism-python.png"
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): no
The public API, i.e., is any changed class annotated with @Public(Evolving): no
The serializers: no
The runtime per-record code paths (performance sensitive): no
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn/Mesos, ZooKeeper: no
The S3 file system connector: no

Documentation

Does this pull request introduce a new feature? no
If yes, how is the feature documented? not applicable

Hi @Myasuka
Thanks for the reviewing. I will remember to create a JIRA ticket next time.
besides, I think FLINK-23012 is also addressed in this PR. could you help to close this issue as well? Thank you.

I have closed FLINK-23012 and also pick your PR to release-1.13 branch with removal of adding previous docs link in 3964761b80d2dce532d04704d1a3f4b097a8c5eb


Document Field Expansion

The client supports field expansion, e.g.:
IgdbClient::API.new.get(:games, id: 1103, fields: "name,platforms.*")

Where the result will include the full records for each associated platform instead of just it's ID.  I should document this.

Addressed by #10


Ran update this morning now.

I ran the Kodi update this morning on Raspberry pi 3 have all the latest software and when I tried to open ietvnow I started getting error logs. First I ensured that ietvnow was up to date and then started logging errors I am lost as to what needs to be done here I am a little out of my comfort zone. I have pasted the error report in pastebin http://pastebin.com/FSqj8G5u .....
Please help.
Matthew

Hi Mathew, I’ve a raspi3 too, but I’m not having any trouble with it. I had a look at the code and it is cause by some key error. I don’t know, maybe something is not being scraped correctly. Maybe you need to update beautiful soup? I’ve made some changes to the code. Maybe it will help. Please let me know how you get on. Version 16 should be online soon.
Stephen Easley-Walsh
https://www.mathsgrinds.ie/ https://www.MathsGrinds.ie.  https://github.com/notifications/beacon/AJt0DB03c28tiSOhDmJIeDVKpEu4xvJ0ks5rgBb9gaJpZM4ML_eC.gif

Cheers thanks for that I will have a look at the web scraping code when I get back from college later and see if the information is being passed back correctly if I find any issues I will contact you with solution hopefully.

Thanks a million that update you did this morning worked a charm.

No problem J


Grab the Pointer in X.Prompt and X.A.TreeSelect

Description
Closes #445
Closes xmonad/xmonad/issues/116
I don't know how "proper" this fix is and I don't have the X11 knowledge to know if there's something more elegant to be done, but simply grabbing the pointer as well causes both the prompt and the tree select window to behave normally when one wants to focus another window.
Config to reproduce the bug and check if the fix actually works:
import Data.Tree (Forest, Tree (Node))

import XMonad
import XMonad.Actions.TreeSelect (toWorkspaces, treeselectWorkspace)
import XMonad.Prompt (XPConfig (font))
import XMonad.Prompt.Shell (shellPrompt)
import XMonad.Util.EZConfig (additionalKeysP)

import qualified XMonad.StackSet as W

main :: IO ()
main = xmonad $ def{ clickJustFocuses = False
                   , workspaces       = toWorkspaces myWorkspaces
                   }
  `additionalKeysP`
    [ ("M-p", shellPrompt def{font = "xft:size=11"})
    , ("M-f", treeselectWorkspace def myWorkspaces W.greedyView)
    ]

myWorkspaces :: Forest String
myWorkspaces = [Node "Browser" [], Node "Home" [Node "1" []]]

Steps to reproduce:

Open the prompt or the treeselect window

Click or double click in another application (note that for TreeSelect you need a second monitor and try to click on something there (at least that's the only way I managed to reproduce it))

The X server now stops responding to input, making it appear that xmonad froze

@crocket @fvhockney @bitdizzy @de-vri-es I'm highlighting you because you took an interesting in the original issue.  If you still care about this, it would be most appeciated if you could test this fix!
TODO:

[ ] I updated the CHANGES.md file

Checklist

[X] I've read CONTRIBUTING.md

[ ] I tested my changes with xmonad-testing

- [ ] I updated the XMonad.Doc.Extending file (if appropriate)

I have tested this locally, and it solved the issue!
I also don't know enough about X11 to say if this is the proper way to go, but I'm keeping it for now :)
Thanks for working on this :tada:

I have tested this locally, and it solved the issue!
I also don't know enough about X11 to say if this is the proper way to go, but I'm keeping it for now :)
Thanks for working on this :tada:

Arguably the correct action to take in such cases is to abort the Prompt or TreeSelect and return to the main loop, but that may be more difficult than this.

Arguably the correct action to take in such cases is to abort the Prompt or TreeSelect and return to the main loop, but that may be more difficult than this.

Arguably the correct action to take in such cases is to abort the Prompt or TreeSelect and return to the main loop, but that may be more difficult than this.

Aha I see; I have to say I quite like being able to move the mouse (by accident) and the prompt not aborting, but instead simply ignoring it.  Would you say that the fix can be merged as-is, or is it too much of a hack?

Arguably the correct action to take in such cases is to abort the Prompt or TreeSelect and return to the main loop, but that may be more difficult than this.

Aha I see; I have to say I quite like being able to move the mouse (by accident) and the prompt not aborting, but instead simply ignoring it.  Would you say that the fix can be merged as-is, or is it too much of a hack?

Mrrr. We should disable focus follows mouse during them; it should really not be active at that point since Prompt or TreeSelect "owns" the mouse at that point, it should only apply to the main loop. Again, probably too difficult to implement as xmonad currently is implemented. :/

Mrrr. We should disable focus follows mouse during them; it should really not be active at that point since Prompt or TreeSelect "owns" the mouse at that point, it should only apply to the main loop. Again, probably too difficult to implement as xmonad currently is implemented. :/

I took a glance at the code of Prompt and it doesn't seem like there's any focus follows mouse in there since there's a completely custom event loop. Isn't this more about stealing input focus? Shouldn't the event loop recognize a FocusOut event and regrab the focus?

I took a glance at the code of Prompt and it doesn't seem like there's any focus follows mouse in there since there's a completely custom event loop. Isn't this more about stealing input focus? Shouldn't the event loop recognize a FocusOut event and regrab the focus?

On Sat, Jan 23 2021 05:43, brandon s allbery kf8nh wrote:

Mrrr. We should disable focus follows mouse during them; it should
really not be active at that point since Prompt or TreeSelect "owns"
the mouse at that point, it should only apply to the main loop. Again,
probably too difficult to implement as xmonad currently is
implemented. :/

Yeah `focusFollowsMouse' is trapped inside the Reader and would thus
probably be extremely annoying to change just for the prompt

On Sat, Jan 23 2021 05:43, brandon s allbery kf8nh wrote:

Mrrr. We should disable focus follows mouse during them; it should
really not be active at that point since Prompt or TreeSelect "owns"
the mouse at that point, it should only apply to the main loop. Again,
probably too difficult to implement as xmonad currently is
implemented. :/

Yeah `focusFollowsMouse' is trapped inside the Reader and would thus
probably be extremely annoying to change just for the prompt

I didn't mean the setting, I meant the behavior of automatically switching
focus. We don't want that behavior anywhere but the main loop (FocusOut
events should not be happening).
On Sat, Jan 23, 2021 at 9:03 AM slotThe<EMAIL_ADDRESS>wrote:

On Sat, Jan 23 2021 05:43, brandon s allbery kf8nh wrote:

Mrrr. We should disable focus follows mouse during them; it should
really not be active at that point since Prompt or TreeSelect "owns"
the mouse at that point, it should only apply to the main loop. Again,
probably too difficult to implement as xmonad currently is
implemented. :/

Yeah `focusFollowsMouse' is trapped inside the Reader and would thus
probably be extremely annoying to change just for the prompt
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/xmonad/xmonad-contrib/pull/447#issuecomment-766084290,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAPRFIEEB3SIMNLBUWIGAL3S3LJJZANCNFSM4WK33JAA
.

--
brandon s allbery kf8nh
<EMAIL_ADDRESS>

I didn't mean the setting, I meant the behavior of automatically switching
focus. We don't want that behavior anywhere but the main loop (FocusOut
events should not be happening).
On Sat, Jan 23, 2021 at 9:03 AM slotThe<EMAIL_ADDRESS>wrote:

On Sat, Jan 23 2021 05:43, brandon s allbery kf8nh wrote:

Mrrr. We should disable focus follows mouse during them; it should
really not be active at that point since Prompt or TreeSelect "owns"
the mouse at that point, it should only apply to the main loop. Again,
probably too difficult to implement as xmonad currently is
implemented. :/

Yeah `focusFollowsMouse' is trapped inside the Reader and would thus
probably be extremely annoying to change just for the prompt
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/xmonad/xmonad-contrib/pull/447#issuecomment-766084290,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAPRFIEEB3SIMNLBUWIGAL3S3LJJZANCNFSM4WK33JAA
.

--
brandon s allbery kf8nh
<EMAIL_ADDRESS>

Turns out this isn't about focus at all.
When clickJustFocuses = False, the passive pointer grabs that xmonad sets up to intercept clicks to unfocused windows are made with pointer_mode = grabModeSync and keyboard_mode = grabModeSync, which means that any click in an unfocused window leads to a pointer/keyboard grab that freezes both devices until allowEvents is called. But X.Prompt has its own X event loop, so allowEvents is never called and everything remains frozen indefinitely.
When clickJustFocuses = True, the passive grabs are made with pointer_mode = grabModeAsync, which means that pointer events processing is not frozen and the grab only lasts as long as the mouse button is pressed (indeed, with clickJustFocuses = True, the Prompt does freeze for as long as I keep the mouse button pressed). See https://tronche.com/gui/x/xlib/input/XGrabButton.html:

The active grab is terminated automatically when the logical state of the pointer has all buttons released (independent of the state of the logical modifier keys).

There are several ways to fix this, therefore:

Grab the pointer, like you did here. This prevents the passive grab from becoming active, see "the pointer is not grabbed" in https://tronche.com/gui/x/xlib/input/XGrabButton.html.
Do allowEvents d replayPointer currentTime in X.Prompt.eventLoop whenever a button event is received, releasing the pointer grab. Or maybe something else than replayPointer, if these mouse actions should be discarded.
Do the grabKeyboard in X.Prompt.runXP with pointer_mode = grabModeSync, freezing the mouse entirely when the prompt is active. Not applicable to TreeSelect.

I have no idea (yet) which of these is best, there may be other options. I mostly just wanted to understand the root cause. Might be a good idea to put this explanation somewhere, e.g. the commit message, and if solution 2 is chosen, then a comment explaining the allowEvents call would be a good idea, too.

Turns out this isn't about focus at all.
When clickJustFocuses = False, the passive pointer grabs that xmonad sets up to intercept clicks to unfocused windows are made with pointer_mode = grabModeSync and keyboard_mode = grabModeSync, which means that any click in an unfocused window leads to a pointer/keyboard grab that freezes both devices until allowEvents is called. But X.Prompt has its own X event loop, so allowEvents is never called and everything remains frozen indefinitely.
When clickJustFocuses = True, the passive grabs are made with pointer_mode = grabModeAsync, which means that pointer events processing is not frozen and the grab only lasts as long as the mouse button is pressed (indeed, with clickJustFocuses = True, the Prompt does freeze for as long as I keep the mouse button pressed). See https://tronche.com/gui/x/xlib/input/XGrabButton.html:

The active grab is terminated automatically when the logical state of the pointer has all buttons released (independent of the state of the logical modifier keys).

There are several ways to fix this, therefore:

Grab the pointer, like you did here. This prevents the passive grab from becoming active, see "the pointer is not grabbed" in https://tronche.com/gui/x/xlib/input/XGrabButton.html.
Do allowEvents d replayPointer currentTime in X.Prompt.eventLoop whenever a button event is received, releasing the pointer grab. Or maybe something else than replayPointer, if these mouse actions should be discarded.
Do the grabKeyboard in X.Prompt.runXP with pointer_mode = grabModeSync, freezing the mouse entirely when the prompt is active. Not applicable to TreeSelect.

I have no idea (yet) which of these is best, there may be other options. I mostly just wanted to understand the root cause. Might be a good idea to put this explanation somewhere, e.g. the commit message, and if solution 2 is chosen, then a comment explaining the allowEvents call would be a good idea, too.

That makes a lot of sense; thanks for writing this up!
@geekosaur do you have any opinion about which approach would be best here?

That makes a lot of sense; thanks for writing this up!
@geekosaur do you have any opinion about which approach would be best here?

(I'd also like to add that the best way to approach this decision is to consider what behaviour we want, not which technical solution we like most, because those three solution actually differ in user-visible behaviour.)

(I'd also like to add that the best way to approach this decision is to consider what behaviour we want, not which technical solution we like most, because those three solution actually differ in user-visible behaviour.)

(I'd also like to add that the best way to approach this decision is to consider what behaviour we want, not which technical solution we like most, because those three solutions actually differ in user-visible behaviour.)

As far as I can tell, 1 and 3 should have about the same user facing behaviour (one can't actually use the pointer; at that point I think it's a cosmetic question whether it should be frozen or not).
Is one able to freely use the pointer (and also do useful things with) with option 2?

(I'd also like to add that the best way to approach this decision is to consider what behaviour we want, not which technical solution we like most, because those three solutions actually differ in user-visible behaviour.)

As far as I can tell, 1 and 3 should have about the same user facing behaviour (one can't actually use the pointer; at that point I think it's a cosmetic question whether it should be frozen or not).
Is one able to freely use the pointer (and also do useful things with) with option 2?

Is one able to freely use the pointer (and also do useful things with) with option 2?

Kind of. Obviously one can't resize windows or expect the focus to change as the xmonad event loop is dormant, but the allowEvents d replayPointer currentTime call forwards the ButtonEvent to the window so you can select text or pause music or something.

Is one able to freely use the pointer (and also do useful things with) with option 2?

Kind of. Obviously one can't resize windows or expect the focus to change as the xmonad event loop is dormant, but the allowEvents d replayPointer currentTime call forwards the ButtonEvent to the window so you can select text or pause music or something.

Kind of. Obviously one can't resize windows or expect the focus to change as the xmonad event loop is dormant, but the allowEvents d replayPointer currentTime call forwards the ButtonEvent to the window so you can select text or pause music or something.

That sounds like the best behaviour for users of all the options. But if it would delay a fix too long, I'd suggest merging this as is first, and then trying to improve it separately. This is the only bug I really experience with xmonad (yay :tada: ), but it's quite high impact when I accidentally trigger it.
A frozen mouse doesn't sounds nice. It feels like a frozen system. I'd rather have a moving mouse that can't click anything than mouse frozen in place.

Kind of. Obviously one can't resize windows or expect the focus to change as the xmonad event loop is dormant, but the allowEvents d replayPointer currentTime call forwards the ButtonEvent to the window so you can select text or pause music or something.

That sounds like the best behaviour for users of all the options. But if it would delay a fix too long, I'd suggest merging this as is first, and then trying to improve it separately. This is the only bug I really experience with xmonad (yay :tada: ), but it's quite high impact when I accidentally trigger it.
A frozen mouse doesn't sounds nice. It feels like a frozen system. I'd rather have a moving mouse that can't click anything than mouse frozen in place.

On Mon, Jan 25 2021 05:10, Maarten de Vries wrote:

That sounds like the best behaviour for users of all the options. But
if it would delay a fix too long, I'd suggest merging this as is
first, and then trying to improve it separately.

Each of the fixes is quite trivial to implement, so I don't think any
one of them would delay this pr in a significant way (most of the work
that's still to be done concerns documentation).
I will note that in solution 2, because the xmonad event loop is paused,
some events can queue up and may cause unwanted behaviour once the
prompt is closed.  For example, if the prompt is up and a user tried to
resize a window via `M-Mouse1', that action will be executed once the
prompt is closed, forcing the user to abort that particular action.  I
don't know if this is a big blocker; I'd also say that this behaviour
(the mouse still work and one can at least still control applications
with it) is probably the way to go.

On Mon, Jan 25 2021 05:10, Maarten de Vries wrote:

That sounds like the best behaviour for users of all the options. But
if it would delay a fix too long, I'd suggest merging this as is
first, and then trying to improve it separately.

Each of the fixes is quite trivial to implement, so I don't think any
one of them would delay this pr in a significant way (most of the work
that's still to be done concerns documentation).
I will note that in solution 2, because the xmonad event loop is paused,
some events can queue up and may cause unwanted behaviour once the
prompt is closed.  For example, if the prompt is up and a user tried to
resize a window via `M-Mouse1', that action will be executed once the
prompt is closed, forcing the user to abort that particular action.  I
don't know if this is a big blocker; I'd also say that this behaviour
(the mouse still work and one can at least still control applications
with it) is probably the way to go.

I'm inclined to agree. If there's a simple way to discard other events intended for xmonad (like that window resizing mentioned) then we should try to do so, but I wouldn't hold this up based on that and I suspect it's not that simple to do since we don't use distinct frame windows that could be recognized and events dropped/ignored for.

I'm inclined to agree. If there's a simple way to discard other events intended for xmonad (like that window resizing mentioned) then we should try to do so, but I wouldn't hold this up based on that and I suspect it's not that simple to do since we don't use distinct frame windows that could be recognized and events dropped/ignored for.

I will note that in solution 2, because the xmonad event loop is paused, some events can queue up and may cause unwanted behaviour once the prompt is closed. For example […]

That is what happens with the default clickJustFocuses = True, btw. Some consistency in behaviour with that configuration might be desired.
That being said, I don't think it will behave like that in practice. The Prompt event loop will need to handle the ButtonEvent (to be able to react with allowEvents), so it won't be queued for the main event loop.

I will note that in solution 2, because the xmonad event loop is paused, some events can queue up and may cause unwanted behaviour once the prompt is closed. For example […]

That is what happens with the default clickJustFocuses = True, btw. Some consistency in behaviour with that configuration might be desired.
That being said, I don't think it will behave like that in practice. The Prompt event loop will need to handle the ButtonEvent (to be able to react with allowEvents), so it won't be queued for the main event loop.


Make a new folder for clones

Make a new folder in the repo named "Stunning clones" with a project_doc.md file for the descriptions of the projects to be added in the folder.

Initiate the project_doc.md file with instructions like: Add all your clone projects here
Add the Youtube-clone project to this folder

Hey i can take this up

@ron2111 I have added the changes in my project PR only

Hey can I get assigned for this?

it's open to all no need for assign @ItsRoy69


Description of $filter URI parameter is incorrect for File Shares - List

Link to doc page: https://learn.microsoft.com/en-us/rest/api/storagerp/file-shares/list?tabs=HTTP
Link to section: https://learn.microsoft.com/en-us/rest/api/storagerp/file-shares/list?tabs=HTTP#uri-parameters
Highlight link: https://learn.microsoft.com/en-us/rest/api/storagerp/file-shares/list?tabs=HTTP#uri-parameters:~:text=Optional. When specified%2C only share names starting with the filter will be listed.
The description of $filter is incorrect. You cannot simply specify a filter like "some-share-prefix-". You have to use the filter syntax for listing resources, as documented here: https://learn.microsoft.com/en-us/rest/api/resources/resources/list#uri-parameters
It looks like this error exists for other pages as well:

https://learn.microsoft.com/en-us/rest/api/storagerp/blob-containers/list?tabs=HTTP#:~:text=Optional. When specified%2C only container names starting with the filter will be listed.
https://learn.microsoft.com/en-us/rest/api/storagerp/queue/list?tabs=HTTP#:~:text=Optional%2C When specified%2C only the queues with a name starting with the given filter will be listed.

Might be a good idea to do a global search in docs for any $filter URI parameters that are described like "with a name starting with the given filter will be listed" and make sure that those descriptions are accurate.

Hello @tamram Could you please help us in triaging this issue to the right team?

#reassign: @khdownie

@tamram I am trying to find the right person. Meanwhile, have you addressed this on the blobs side? If so may I see the change? Thanks.

@MRayermannMSFT - This change needs to be made in the swagger file for the Azure Storage resource provider. So we are unable to make that update. Could you please open your issue against this repo instead?
https://github.com/Azure/azure-rest-api-specs-pr
Also, since you're internal, please reach out to us directly in the future if you need to reach the content team. Thanks!
#please-close


Latest release (0.3.18) breaks awtrix integration and weather app

Upgraded to 2024.10.3 and something seems broken with the most recent HA release
2024-10-23 14:39:59.648 ERROR (MainThread) [homeassistant.components.automation.weather_app_awtrix_erik] While executing automation automation.weather_app_awtrix_erik
Traceback (most recent call last):
  File "/srv/homeassistant/lib/python3.12/site-packages/homeassistant/components/automation/__init__.py", line 742, in async_trigger
    return await self.action_script.async_run(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/srv/homeassistant/lib/python3.12/site-packages/homeassistant/helpers/script.py", line 1795, in async_run
    return await asyncio.shield(create_eager_task(run.async_run()))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/srv/homeassistant/lib/python3.12/site-packages/homeassistant/helpers/script.py", line 463, in async_run
    await self._async_step(log_exceptions=False)
  File "/srv/homeassistant/lib/python3.12/site-packages/homeassistant/helpers/script.py", line 527, in _async_step
    self._handle_exception(
  File "/srv/homeassistant/lib/python3.12/site-packages/homeassistant/helpers/script.py", line 557, in _handle_exception
    raise exception
  File "/srv/homeassistant/lib/python3.12/site-packages/homeassistant/helpers/script.py", line 525, in _async_step
    await getattr(self, handler)()
  File "/srv/homeassistant/lib/python3.12/site-packages/homeassistant/helpers/script.py", line 763, in _async_call_service_step
    response_data = await self._async_run_long_action(
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/srv/homeassistant/lib/python3.12/site-packages/homeassistant/helpers/script.py", line 726, in _async_run_long_action
    return await long_task
           ^^^^^^^^^^^^^^^
  File "/srv/homeassistant/lib/python3.12/site-packages/homeassistant/core.py", line 2761, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/srv/homeassistant/lib/python3.12/site-packages/homeassistant/core.py", line 2804, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/srv/homeassistant/config/custom_components/awtrix/__init__.py", line 50, in service_handler
    func = getattr(device, service)
           ^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'AwtrixTime' object has no attribute 'weather_app'

Same for me, I've upgraded to 2024.10.3 and the weather app stop working with the same error message...

looking at the code here, the issue is not HA - it is the update to the awtrix component 3.18
in 3.18 @10der removed (probably by accident maybe some files got forgotten) the weather app functionality

I can confirm - rolling back to previous commit resolves the issue

Hello. Yes same issue here :-/ @ErikApption how do you rolling back to august this integration only ?? I don't see any option.

@ErikApption, well, I still have the issue after this update: no attribute 'weather_app' as you can see in the trace of my Automation

My version of Awtrix Notifications is ea2070a

Same here. I forked it and reverted it.
The latest commit from today also looks fishy...
(Not looking to take over this project , don't have time for maintenance or such and I am no dev, but maybe it helps some people to work around it.)
https://github.com/s256/homeassistant-custom_components-awtrix

Yes it doesn't work better :-/
I am going to try your help

@s256 your fork didn't work. I removed the "official" one, added the custom integration (your rep), keep the activzation linbe in the configuration.yaml and reload HA. But at the end both integration disapdisappeared. I tried several times and had to restore
Best regards

can you open a termin on your machine and check if you have this folder: /homeassistant/custom_components/awtrix (if you are using the HAOS setup.
I just created a proper release, which hopefully makes tracking changes easier.
if you have the folder, run cat manifest.json  which should return:
{
"domain": "awtrix",
"name": "Awtrix tools and notification",
"config_flow": true,
"codeowners": [
"@10der",
"s256"
],
"integration_type": "service",
"dependencies": [],
"documentation": "https://github.com/10der/homeassistant-custom_components-awtrix/blob/main/README.md",
"iot_class": "local_polling",
"requirements": [],
"version": "0.3.21"
}#                                                                                ```

We can move that discussion to the forked project. I enabled `issues` as well as `discussions`

Same here. I forked it and reverted it. The latest commit from today also looks fishy...

Please tell me more about why it looks suspicious. I don't want to open a backdoor or something insecure on my system

Compared to other commits, the commit message makes no sense.
And it's loading libraries which haven't been used before:
import base64
from io import BytesIO
from PIL import Image
import requests
Obviously all these libraries are not suspicious per se, they are well known and maintained.
I did saw a lot of exploits/malware which also uses these libraries to load hidden code by converting an image, reading bytecode, decoding the base64 only to make web requests against a Command & Control Server and load the actual malware.
The commit only added the libraries, but no further code. So this might just have been oversight or it's preparation for something else. I'm pretty sure I am wrong and just too paranoid.
If bytecode/base64/images/binaries are added to the repo, that's when we'll know ;)

Thank you very much for your detailed answer. I am wondering if @10der could tell us something about it

hey, team... please STOP using weather.
Please switch to blueprint...

hey, team... please STOP using weather. Please switch to blueprint...

really like the notification feature from your custom component... do you have a link for a similar weather blueprint?

hey, team... please STOP using weather. Please switch to blueprint...

really like the notification feature from your custom component... do you have a link for a similar weather blueprint?

omg :(
https://github.com/10der/homeassistant-custom_components-awtrix/blob/main/awtrix-simple.yaml
how to use
https://community.home-assistant.io/t/awtrix-3-blueprint-for-creating-simple-apps-for-dummies/726235
ask me any question.

hey, team... please STOP using weather. Please switch to blueprint...

really like the notification feature from your custom component... do you have a link for a similar weather blueprint?

omg :( https://github.com/10der/homeassistant-custom_components-awtrix/blob/main/awtrix-simple.yaml
how to use https://community.home-assistant.io/t/awtrix-3-blueprint-for-creating-simple-apps-for-dummies/726235
ask me any question.

I've seen these but the weather app has all the nice smart icons, I'd switch to a blueprint but is there one that has the same logic for icons?

hey, team... please STOP using weather. Please switch to blueprint...

really like the notification feature from your custom component... do you have a link for a similar weather blueprint?

omg :( https://github.com/10der/homeassistant-custom_components-awtrix/blob/main/awtrix-simple.yaml
how to use https://community.home-assistant.io/t/awtrix-3-blueprint-for-creating-simple-apps-for-dummies/726235
ask me any question.

I've seen these but the weather app has all the nice smart icons, I'd switch to a blueprint but is there one that has the same logic for icons?


Composite types/generics

I just noticed that the parser currently accepts only identifiers as a hash literal key, e.g.:
{hello: "world"}

I think that when this was implemented it was meant to be temporary, but since Luna is planned to be a  statically typed language I think we need to define a syntax for generic types.

please, use always-matching brackets, not c++-style c++

@vendethiel sorry, but what do you mean?

Sorry, i meant <>, which are not always matched... Making parsing harder.

Yeah I don't see much sense in that being unmatched.
Anyway, this syntax is very ugly to me:
map<string, int>{
  "number": 2
}

But i can't think of anything else.

"Being unmatched" => they are when you use it as comparison operators.
map[string, int]{...}
map!(string, int){...} (d-style)

I think if luna have a type inference, the syntax will be cool:
{"foo": "bar"}    => map<string, string>
{"foo": "bar", "alist": [1, 2, 3]}    => map<string, list<any>>
{"foo": "bar", "truth": 42}    => map<string, any>

But I think this will be a large project 😅

very, very large indeed. And can be very surprising – see Scala.

@vendethiel Yes, may be this is not luna's target simple, elegant, explicit  haha

@vendethiel Oh I see now :p
But maybe <> would be easier than square brackets (because of subscript), unless it's context-dependent and we do some semantic analysis later.

@aisk Maybe it's possible to a large project achieve simplicity? lol

@glhrmfrts I think it's not just too complex to implement, but with this design luna's type system may be more complex, and make it more hard too learn and use.

Indeed, a more strict type system might be good for both sides.


An initial design

Hey folks,
I have been designing the site since last week.
Used MDL and Jekyll.
There are lots more work to be done.
Plenty of refinements, additions.
Page layouts, etc.
I have some ideas,

[ ] An Event Page, Calendar embed, etc
[ ] Using neon animations
[ ] Importing the GDG Blog to Jekyll

Feedback would be helpful.

Absolutely brilliant. Do you think you can add some more description for each and every commit. Will help us better. :)

@mukilane Can you resolve this?
@imkarthikk and @varun-raj Any inputs?

@swaathi
I have resolved it.

@mukilane : I need two things.

Can you post a screenshot of the design you've done? That way, everyone gets to see without having to clone and run your pull.
Can you shoot me an email to karthik at skcript.com ?

@imkarthikk

I'll post the SS shortly.
Done.

Build 27/6

About page

Share dialog

Change log - Build 3/7

Added Contacts page (typeform embed)
Added a Posts page which displays links to Medium posts
Added a _data folder which contains ymls for posts, links and members.
Added favicon.
Updated the slider, page layout, tooltip.

@mukilane : Alright. I'm going to go ahead and run your fork locally and see how we can improve it and then push it live. :)

@imkarthikk .
Just to make the testing process easier, I have just deployed the site to Firebase.
https://gdgchennai-14b7c.firebaseapp.com
Updates: Build 5/9

I have included some of the features of PWA.  Added Web Manifest
So if on HTTPS, the site will prompt to "Add to Shelf" (on Desktop) or "Add to Homescreen" (on Mobile)
Adder Service Workers. Enabled caching for common site assets (js, css)
Other small corrections ( a lighter logo for the footer, styling issues, removed unwanted sass, etc )

@mukilane :
Fantastic. I'll test it out and report some bugs. :)

Changelog: Build 2/10

Added AJAX navigation between pages .
Added a new Events page
Optimized most of the images to decrease load time.
Slightly tweaked the home page with some stats.


Feature/quality start project

Codecov Report

:exclamation: No coverage uploaded for pull request base (develop@45d2071). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             develop       #1   +/-   ##
==========================================
  Coverage           ?   43.75%
==========================================
  Files              ?       10
  Lines              ?       32
  Branches           ?        0
==========================================
  Hits               ?       14
  Misses             ?       18
  Partials           ?        0

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 45d2071...c1f31fc. Read the comment docs.


fixFix analyze mv from follower case bug.

Proposed changes
Issue Number: close #xxx

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall


spatial_wms: update WMS URL

Description
The Geopunt URLs of OGC webservices have changed; this PR solves it for the WMS tutorial.
Note @damianooldoni @peterdesmet that I made Hugo allow raw HTML for this PR to succeed (7db836f9 - see its commit message body). This may be regarded a security issue. If someone knows how to make pandoc or rmarkdown (or whoever is doing this) not insert the resulting figures as HTML for gfm but as markdown figure references, then 7db836f9 can be reverted.
Task list

[X] My tutorial or article is placed in a subfolder of tutorials/content
[X] The filename of my tutorial or article is index.md. In case of an Rmarkdown tutorial I have knitted my index.Rmd to index.md (both files are pushed to the repo).
[X] I have included tags in the YAML header (see the tags listed in the tutorials website side bar for tags that have been used before)
[X] I have added categories to the YAML header and my category tags are from the list of category tags

Previewing the pull request
Thanks to GitHub Actions, an artifact (=zip file) of the rendered website is automatically created for each pull request.
This provides a way to preview how these updates will look on the website, useful to contributors and reviewers.
Instructions to preview the updated website

On the PR page, you can find a "details" link under "checks - On PR, build the site and ...". Go there, click on the top link in the left sidebar ("Summary"), and download the generated artifact at the bottom of the page.
Decompress it and make sure the target directory is called 'tutorials' (you may need to rename it)
From the parent directory (just above the tutorials folder you created/renamed), run python -m http.server 8887, or launch the Google Chrome Web Server app and point it at the parent directory.
Point your browser to http://localhost:8887/tutorials.
Review the updated website. As a contributor, you can push extra commits to update the PR. As a reviewer, you can accept/refuse/comment the PR.

Note: for step 3, you can use any other simple HTTP server to serve the current directory if you don't have a Python 3 environment or Google Chrome available.

Thanks for reviewing @damianooldoni!

I think we should carefully follow future developments of Hugo

Well, IIRC the current workflow implements a fixed Hugo version (see GHA workflow). That may be good for stability and perhaps theming aspects, but it may eventually raise incompatibility problems with other tooling. I cannot judge which is best in this case, either using latest or using an oldie.


BadRequest at hasattr(request, 'json')

Hi guys, yesterday i notice that getting or verifying 'json' in request object, an exception (BadRequest) raise
For getattr(request, 'json') or even hasattr(request, 'json') I got:
{BadRequest}400 Bad Request: The browser (or proxy) sent a request that this server could not understand.

Someone can help me to understand? Thanks
Environment:

Python version: 3.7, 3.9
Flask version: Latest (2.1.0)

hasattr is actually just a getattr that returns True or False based on if an AttributeError is raised. So when you do hasattr, you're still executing request.json, which is a property that executes request.get_json.
In https://github.com/pallets/werkzeug/pull/2355, accessing json now raises a 400 error instead of returning None if the request is not well formed. You can use silent=True to make it return None instead, or you can use request.is_json instead to check if the request has a JSON content type before trying to decode the data.


Controller in one feature returns view from separate feature

The current version has two features:

Ninjas
Samurai

Each has a SwordsController with an Index.cshtml view inside of a Swords subfolder.
Going to /ninjas/swords hits the SwordsController in /Features/Ninjas and returns the expected View.
Going to /samurai/swords hits the SwordsController in /Features/Samurai but returns the view from /Features/Ninjas/Swords/index.cshtml.

Any progress on this? I think I alerted you with a similar issue. I sort of have a work around by adding an area route to each of the controllers. I've modified my view locations to handle that too
public static void ConfigureFeatureFoldersCustom(this RazorViewEngineOptions options)
        {
            // {0} - Action Name
            // {1} - Controller Name
            // {2} - Area Name
            // {3} - Feature Name

            // add support for features side-by-side with /Views
            // (do NOT clear ViewLocationFormats)
            options.ViewLocationFormats.Insert(0, "/Features/Shared/{0}.cshtml");
            options.ViewLocationFormats.Insert(0, "/Features/{3}/{0}.cshtml");
            options.ViewLocationFormats.Insert(0, "/Features/{3}/{1}/{0}.cshtml");
            options.ViewLocationFormats.Insert(0, "/Features/{2}/Shared/{0}.cshtml");
            options.ViewLocationFormats.Insert(0, "/Features/{2}/{3}/{1}/{0}.cshtml");

            // (do NOT clear AreaViewLocationFormats)
            options.AreaViewLocationFormats.Insert(0, "/Areas/{2}/Features/Shared/{0}.cshtml");
            options.AreaViewLocationFormats.Insert(0, "/Areas/{2}/Features/{3}/{0}.cshtml");
            options.AreaViewLocationFormats.Insert(0, "/Areas/{2}/Features/{3}/{1}/{0}.cshtml");

            // Areas within features
            options.AreaViewLocationFormats.Insert(0, "/Features/{3}/{1}/{0}.cshtml");

            options.ViewLocationExpanders.Add(new FeatureViewLocationExpander());
        }

[Area("Admin")]
    [Route("[area]/[controller]/")]
    public class FooController : Controller

/features/admin/foo

Not sure if this is associated with your issue but I found this:
https://github.com/OdeToCode/AddFeatureFolders/pull/17


Firmware install testing

Need to test on as many different device configurations as possible.
Related to #231
Current state:

Hardware
iOS
Android
Android BLE

ev2_4

v1_5

v2_0

snowy_evt2

snowy_dvt

✅
✅

snowy_s3

spalding_evt

spalding

robert_evt

silk_evt

silk

bb2

Update: snowy_dvt ble works


Unable to compile using gulp

I'm using minimalist angular 2 starter where importing parse like:
import * as Parse from 'parse'; is causing the error:
Module '"parse"' resolves to a non-module entity and cannot be imported using this construct. (2497)

This is a typescript error, the same as your other issue. Can we continue the discussion there?


Anyone know how to setup automatically assigned IP, this IP is not used for VPN connections

Anyone know how to setup automatically assigned IP, this IP is not used for VPN connections?
OpenVPN IP <IP_ADDRESS> -> (connection) -> get <IP_ADDRESS> to Public IP -> Internet

Sorry, I don't understand.

Some like VyprVPN Purevpn, if you already have connected OpenVPN, so it will assign you a different IP.
OpenVPN IP <IP_ADDRESS> -> (connected VPN) -> assign <IP_ADDRESS> to you -> Internet

If I understand correctly, you want to have a different IP address than the server's.
This is out of scope.

yes