Scoreboard Analytics

Many games have a leader-board or high score board.  It would be cool to create a dashboard displaying the commits that scored better than others using the results from Travis-CI which could then be saved over to an S3 bucket for analysis.
I know @dimitry12 had some interesting ideas on how to create something like this.

@powerc9000 my idea was to post that to CloudWatch for now.
The development of the idea, together with @bluetechy was to:

accumulate enough data-points,
then use anomaly-detection algorithms.

Anomaly detection, in the spirit of Machine Learning, would recognize if current Travis-node got slower (or some other factor affecting all tests in a given run) or it's the specific test that ran anomalously slow.


WIP: Start if issue-320 documentation of models

Summary of Changes
Documentation of models
Tests
None
Documentation
WIP
CheckList
Make sure you have checked all steps below to ensure a timely review.

[ ] PR title addresses the issue accurately and concisely. Example: "Updates the version of Flask to v1.0.2"

In case you are adding a dependency, check if the license complies with the ASF 3rd Party License Policy.

[ ] PR includes a summary of changes.
[ ] PR adds unit tests, updates existing unit tests, OR documents why no test additions or modifications are needed.
[ ] In case of new functionality, my PR adds documentation that describes how to use it.

All the public functions and the classes in the PR contain docstrings that explain what it does

[ ] PR passes make test

ok added some more. Is that enough of the models for a start? Hoping that I can more establish a pattern on how to document them and then people can add missing ones later


Fix NBitcoin so it create TxIn and TxOut via consensus factory

This need to create a PR to upstream.

After investigated this complicated than expected so we will not do this and find another solution instead.

We can't really avoid this so I will continue working on this.

After second attempt it is too much so we will drop this and find another way instead.

We need at least a small fix to NBitcoin to be able to create TxIn easily.

https://github.com/MetacoSA/NBitcoin/pull/753


feature: Using eth_getBlockReceipts

Currently in sync-historical, to check for reverted transactions and to include tx receipts, we fetch receipts via eth_getTransactionReceipt method on ethereum API. However, when the number of transactions after filtering is large, would it be more efficient to use eth_getBlockReceipts to lower the number of requests made to the RPC?
// Request transactionReceipts to check for reverted transactions.
    const transactionReceipts = await Promise.all(
      Array.from(transactionHashes).map((hash) =>
        _eth_getTransactionReceipt(args.requestQueue, {
          hash,
        }),
      ),
    );

The problem with eth_getBlockReceipts is that it is super expensive in terms of rpc credits and not as widely supported.
https://docs.alchemy.com/reference/compute-unit-costs
We're strongly considering moving from trace_filter to debug_traceBlockByHash. I'm pretty sure that once you have the entire block of traces, you don't need to check the transaction receipt to see if the transaction reverted ?? Could be wrong.

From what I see on the compute costs, eth_getTransactionReceipt is at 15 CU and eth_getBlockReceipt is at 500 CU. Since block includes > 100 txs and well over that, there are scenarios when eth_getBlockReceipt is cheaper than eth_getTransactionReceipt. Would it make sense to add conditional fetching, depending on what method is cheaper to use for a specific scenario.

There are definitely some specific scenarios where this method might be more efficient, but practically speaking I think this is kind of a local max.

Agreed, this was an issue when I tried to index all the transactions in a block interval. Definitely rare to happen, but was not sure if it should be supported.

What do you think about the debug namespace idea?

If the traces are rare to satisfy the filter, trace_filter with eth_getTransactionReceipt makes more sense. However, for cases when the traces are more frequent to occur, debug_traceBlockByHash would be a better way to do so. What I am thinking currently is initial query to trace_filter and then subsequent calls to debug_traceBlockByHash/eth_getTransactionReceipt depending on whether the block includes sufficient number of traces to make it worthwhile. Would be happy to hear what you think about it.

I think we should only use debug_traceBlockByHash and index every block. In practice, the debug namespace is more widely supported and often an order of magnitude faster.
If you factor in the skipped eth_getTransactionReceipt calls, I bet this strategy would improve wall clock speed by a noticeable amount.
I can create an issue to track all the different components of migrating to the debug namespace. The filter issue #1198 will also be relevant.

Just chiming in to note that Alchemy's eth_getBlockReceipts pricing looks like an major outlier at 33x the price of eth_getTransactionReceipt.
On QuickNode eth_getTransactionReceipt and eth_getBlockReceipts both cost 20 CU (docs) and on Chainstack they appear to be the same as well (docs).


ISSUE #216 Updated campgrounds.js

📋 Description
This pull request addresses the need for better documentation, code structure, and error handling in the Campground controller. The goal is to enhance readability, maintainability, and overall code quality, making it easier for future developers to work with this module.
🔨 Changes Made
Improved Documentation:
Enhanced JSDoc comments for all exported functions, providing details on parameters, return types, and potential exceptions.
Added a module description at the top of the file explaining the purpose and functionality of the Campground controller.
Refactored Code Structure:
Extracted the average rating calculation into a utility function located in a new utils.js file for better code reusability and adherence to the DRY principle.
Organized related functionalities into separate modules to improve separation of concerns, including a new module for handling geocoding and image processing.
Consistent Error Handling:
Standardized error handling across all methods using ExpressError to provide clearer feedback to users.
Implemented checks for required parameters in createCampground and updateCampground methods to handle potential issues gracefully.
Improved Variable Naming:
Renamed ambiguous variable q in the searchCampgrounds method to query for better clarity and understanding.
Performance Optimizations:
Used .select() in database queries to limit the fields returned, thereby reducing data transfer when unnecessary.
✅ Checklist
Before submitting the PR, please make sure you have completed the following:

[y ] My code follows the style guidelines of this project.
[ y] I have performed a self-review of my own code.
[y ] I have commented my code, particularly in hard-to-understand areas.
[ ] I have made corresponding changes to the documentation (if applicable).
[y ] My changes generate no new warnings.
[ ] I have tested it locally and it works fine.
[ ] Any dependent changes have been merged and published in downstream modules.

🏷 Types of Changes
What type of changes does your code introduce? (Check all that apply)

[ ] Bug fix (non-breaking change which fixes an issue) 🐛
[ ] New feature (non-breaking change which adds functionality) ✨
[ ] UI enhancement (non-breaking change which enhances UI) 🎨
[y ] Documentation update 📚

🤝 Related Issues

Fixes #216

📸 Screenshots (if applicable)

Reminder:
Please ensure your pull request is made to the test branch, not main.
Thank you for contributing to VigneshDevHub! We look forward to reviewing your PR and getting it merged!

Hey @Sumanth077s ,Please resolve the conflicts.


Improved default behavior when concatenating DataArrays

[x] Closes #2775
[x] Tests added
[x] Fully documented, including whats-new.rst for all changes and api.rst for new API

This is really nice to have when producing faceted plots of satellite observations in various bands, and should be somewhere between useful and harmless in other cases.
Example code:
ds = xr.Dataset({
    k: xr.DataArray(np.random.random((2, 2)), dims="x y".split(), name=k)
    for k in "blue green red".split()
})
xr.concat([ds.blue, ds.green, ds.red], dim="band").plot.imshow(col="band")

Before - facets have an index, colorbar has misleading label:

After - facets have meaningful labels, colorbar has no label:

Thanks for the support and quick review @shoyer!
Any idea when Xarray 0.12 might be out?  I'm teaching some remote sensing workshops in mid-March and would love to have this merged, as a colleague's review of those notebooks prompted this PR 😄

The docs build failed due to an http error when loading tutorial data for the docs, so I've also finalised the planned conversion from xarray.tutorial.load_dataset to xarray.tutorial.open_dataset.

Hmm, it looks like the failure to download the naturalearth coastlines.zip wasn't so transient after all - but it does work on my machine!

OK!  @shoyer, I've got everything passing and it's ready for review.
Even the accidental tutorial/docs fixes :smile:

I'll check on the doc build failure, but I would rather not remove
load_dataset yet -- we didn't deprecate it that long ago.
On Fri, Feb 22, 2019 at 5:28 AM Zac Hatfield-Dodds<EMAIL_ADDRESS>wrote:

@Zac-HD commented on this pull request.
In xarray/core/combine.py
https://github.com/pydata/xarray/pull/2777#discussion_r259341037:

   elif name != arr.name:

       if compat == 'identical':

           raise ValueError('array names not identical')

       else:

           arr = arr.rename(name)

   datasets.append(arr._to_temp_dataset())

name = result_name(arrays)
names = [arr.name for arr in arrays]
if compat == 'identical' and len(set(names)) != 1:

   raise ValueError(

       "compat='identical', but array names {!r} are not identical"

       .format(names if len(names) <= 10 else sorted(set(names)))

   )

datasets = [arr.rename(name)._to_temp_dataset() for arr in arrays]

if isinstance(dim, str) and len(set(names) - {None}) == len(names) \

Not for this - we're checking that names is a list of unique strings.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/pydata/xarray/pull/2777#discussion_r259341037, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABKS1nbwyPzYE3HzT30pWhWignDUrbBSks5vP_B_gaJpZM4bCN3h
.

@shoyer - don't worry about the docs build, I'm pretty sure that was just a flaky network from Travis and it's working now in any case.
I've left tutorial.load_dataset in, just changed "removed in 0.12" to "removed in a future version".

Hello @Zac-HD! Thanks for updating the PR.

In the file xarray/core/combine.py, following are the PEP8 issues :

Line 337:29: W291 trailing whitespace
Line 343:12: E251 unexpected spaces around keyword / parameter equals
Line 343:14: E251 unexpected spaces around keyword / parameter equals
Line 345:7: E251 unexpected spaces around keyword / parameter equals
Line 345:9: E251 unexpected spaces around keyword / parameter equals
Line 356:16: E251 unexpected spaces around keyword / parameter equals
Line 356:18: E251 unexpected spaces around keyword / parameter equals
Line 357:16: E251 unexpected spaces around keyword / parameter equals
Line 357:18: E251 unexpected spaces around keyword / parameter equals
Line 358:24: E251 unexpected spaces around keyword / parameter equals
Line 358:26: E251 unexpected spaces around keyword / parameter equals
Line 360:27: E251 unexpected spaces around keyword / parameter equals
Line 360:29: E251 unexpected spaces around keyword / parameter equals
Line 361:28: E251 unexpected spaces around keyword / parameter equals
Line 361:30: E251 unexpected spaces around keyword / parameter equals
Line 363:28: E251 unexpected spaces around keyword / parameter equals
Line 363:30: E251 unexpected spaces around keyword / parameter equals
Line 372:17: E251 unexpected spaces around keyword / parameter equals
Line 372:19: E251 unexpected spaces around keyword / parameter equals
Line 376:20: E251 unexpected spaces around keyword / parameter equals
Line 376:22: E251 unexpected spaces around keyword / parameter equals
Line 381:17: E251 unexpected spaces around keyword / parameter equals
Line 381:19: E251 unexpected spaces around keyword / parameter equals
Line 383:16: E251 unexpected spaces around keyword / parameter equals
Line 383:18: E251 unexpected spaces around keyword / parameter equals
Line 384:11: E251 unexpected spaces around keyword / parameter equals
Line 384:13: E251 unexpected spaces around keyword / parameter equals
Line 386:20: E251 unexpected spaces around keyword / parameter equals
Line 386:22: E251 unexpected spaces around keyword / parameter equals
Line 429:13: E251 unexpected spaces around keyword / parameter equals
Line 429:15: E251 unexpected spaces around keyword / parameter equals
Line 433:19: E251 unexpected spaces around keyword / parameter equals
Line 433:21: E251 unexpected spaces around keyword / parameter equals
Line 440:26: E251 unexpected spaces around keyword / parameter equals
Line 440:28: E251 unexpected spaces around keyword / parameter equals
Line 441:20: E251 unexpected spaces around keyword / parameter equals
Line 441:22: E251 unexpected spaces around keyword / parameter equals
Line 475:21: E251 unexpected spaces around keyword / parameter equals
Line 475:23: E251 unexpected spaces around keyword / parameter equals
Line 480:16: E251 unexpected spaces around keyword / parameter equals
Line 480:18: E251 unexpected spaces around keyword / parameter equals
Line 489:17: E251 unexpected spaces around keyword / parameter equals
Line 489:19: E251 unexpected spaces around keyword / parameter equals
Line 490:12: E251 unexpected spaces around keyword / parameter equals
Line 490:14: E251 unexpected spaces around keyword / parameter equals
Line 492:21: E251 unexpected spaces around keyword / parameter equals
Line 492:23: E251 unexpected spaces around keyword / parameter equals
Line 494:21: E251 unexpected spaces around keyword / parameter equals
Line 494:23: E251 unexpected spaces around keyword / parameter equals
Line 495:17: E251 unexpected spaces around keyword / parameter equals
Line 495:19: E251 unexpected spaces around keyword / parameter equals
Line 496:33: E251 unexpected spaces around keyword / parameter equals
Line 496:35: E251 unexpected spaces around keyword / parameter equals
Line 510:12: E251 unexpected spaces around keyword / parameter equals
Line 510:14: E251 unexpected spaces around keyword / parameter equals
Line 511:24: E251 unexpected spaces around keyword / parameter equals
Line 511:26: E251 unexpected spaces around keyword / parameter equals
Line 512:24: E251 unexpected spaces around keyword / parameter equals
Line 512:26: E251 unexpected spaces around keyword / parameter equals
Line 513:21: E251 unexpected spaces around keyword / parameter equals
Line 513:23: E251 unexpected spaces around keyword / parameter equals
Line 517:21: E251 unexpected spaces around keyword / parameter equals
Line 517:23: E251 unexpected spaces around keyword / parameter equals
Line 518:11: E251 unexpected spaces around keyword / parameter equals
Line 518:13: E251 unexpected spaces around keyword / parameter equals
Line 523:16: E251 unexpected spaces around keyword / parameter equals
Line 523:18: E251 unexpected spaces around keyword / parameter equals
Line 546:38: E251 unexpected spaces around keyword / parameter equals
Line 546:40: E251 unexpected spaces around keyword / parameter equals
Line 550:25: E251 unexpected spaces around keyword / parameter equals
Line 550:27: E251 unexpected spaces around keyword / parameter equals
Line 556:13: E251 unexpected spaces around keyword / parameter equals
Line 556:15: E251 unexpected spaces around keyword / parameter equals
Line 618:20: E251 unexpected spaces around keyword / parameter equals
Line 618:22: E251 unexpected spaces around keyword / parameter equals
Line 620:20: E251 unexpected spaces around keyword / parameter equals
Line 620:22: E251 unexpected spaces around keyword / parameter equals
Line 622:20: E251 unexpected spaces around keyword / parameter equals
Line 622:22: E251 unexpected spaces around keyword / parameter equals
Line 623:28: E251 unexpected spaces around keyword / parameter equals
Line 623:30: E251 unexpected spaces around keyword / parameter equals
Line 630:1: E901 TokenError: EOF in multi-line statement

@pep8speaks seems to have gone hay-wire -- maybe you have a syntax error?
Thinking about this a little more, one hazard of converting names into index labels is that we lose the invariant that you get the same result regardless of order in which you call concat, e.g., something like these expressions could now give different results:
xarray.concat([a, b], dim='x')

vs
xarray.concat([xarray.concat([a], dim='x'), xarray.concat([b], dim='x')], dim='x')

If a and b have the same name, then you'd get an index with the two duplicate entries in the second case but not the first case.
I'm not entirely sure this is a deal-breaker but it makes me a little nervous reluctant. In particular, it might break some the invariants we're relying upon for the next version of open_mfdataset (https://github.com/pydata/xarray/pull/2616, cc @TomNicholas )

maybe you have a syntax error?

...yep, an unmatched paren.  😥

If a and b have the same name, then you'd get an index with the two duplicate entries in the second case but not the first case.  [which would be bad]

I think it's impossible to avoid this when using inference in the general case.  Two options I think would be decent-if-unsatisfying:

Explicitly manage this in the new combining functions, e.g. clear the concat dim coords if they are not unique and the input arrays did not have coords in that dimension.
Add an argument to xr.concat to enable or disable this, e.g. infer_coords=True, and disable it when calling xr.concat from other combining functions.

@Zac-HD forgive me for this but I think what you need basically already exists in the API.
Going back to your original example, you could have got the same indexing by creating a DataArray to use as a coordinate to concatenate over:
colors = "blue green red".split()
ds = xr.Dataset({
    k: xr.DataArray(np.random.random((2, 2)), dims="x y".split(), name=k)
    for k in colors
})

band = xr.DataArray(colors, name="band", dims=["band"])
xr.concat([ds.blue, ds.green, ds.red], dim=band).plot.imshow(col="band")

This still leaves the wrong label on the colorbar, but that could be fixed separately and has to do with concat using the attrs of the first dataset in the list for the final dataset (a similar problem to #2382). I think it would be easier to change that behaviour instead (perhaps to if all names the same, use that name, else name of result = None, but this also relates to #1614).
Creating a new coordinate using a DataArray is in the docstring for xr.concat:

If dimension is provided as a DataArray or Index, its name is used as the dimension to concatenate along and the values are added as a coordinate.

but I think there should be an example there too. (Also I think this is relevant to #1646)

I'm not entirely sure this is a deal-breaker but it makes me a little nervous

@shoyer I agree, although I like the idea then I think this could introduce all sorts of complex concatentation edge cases.
At the very least the new API should have symmetry properties something like:
da1 = DataArray(name='a': data=[[0]], dims=['x', 'y'])
da2 = DataArray(name='b': data=[[1]], dims=['x', 'y'])
da3 = DataArray(name='a': data=[[2]], dims=['x', 'y'])
da4 = DataArray(name='b': data=[[3]], dims=['x', 'y'])

xr.manual_combine([[da1, da2], [da3, da4]], concat_dim=['x', 'y'])
# should give the same result as
xr.manual_combine([[da1, da3], [da2, da4]], concat_dim=['y', 'x'])

but with this PR I don't think it would. In the first case the x coord would be created with values ['a', 'b'], and no y coord would be created, while in the second case no y coord would be created, and the intermediate DataSet would be nameless, so then no x coord would be created either.
I think my suggestion for naming would pass this test because the result would be nameless and have no coords either way.
I might have got that wrong but I definitely think this kind of change should be carefully considered :confused:

I've just submitted a PR which solves this issue in the way I just suggested instead.

@Zac-HD there's actually another way to get the indexing behaviour you wanted with the current API:
colors = "blue green red".split()
das = [xr.DataArray(np.random.random((2, 2)), dims="x y".split(),
                    coords={"band": k})
       for k in colors]
xr.concat(das, dim="band").plot.imshow(col="band")

Here instead of using the name attribute to label each band I've used a scalar coordinate called "band", so that when you concat along "band" it will just stack along that coordinate.
This never touches the names so actually gives the desired output without the need for #2792:

I guess we should probably roll back the "name to scalar coordinates" part of this change.
@Zac-HD do you want to do that here or should we go with @TomNicholas's PR?

No objection to going with #2792; I'm just happy to have the change merged 😄
It would be nice for someone to cherry-pick 63da214d697345ebdd0ecc0967c72eafc70bcb0d before releasing 0.12 though, just to fix that warning.


i am finding it difficult to go live

Is your feature request related to a problem? Please describe.

Describe the solution you'd like:

Describe alternatives you've considered:

Additional context:

Closing as incomplete. Please feel free to add more information if you have any and we can re-open the issue.


Support additional properties

Since the switch to manual JSON parsing, UnityGLTF loader does not support parsing additional properties on every object. Even though the spec says they should be allowed for future 2.x version compatibility.
https://github.com/KhronosGroup/glTF/pull/899#issue-220073224

Fixed in https://github.com/robertlong/UnityGLTFLoader/commit/09f5196c550d7aca0306f453232733d53e032c4a


Improve JF2 references

Is your feature request related to a problem?
I've noticed that the data returned by references isn't as normalized as I'd like, leading to lots of extra properties and missing author properties. When I compare the output of https://xray.p3k.app/ to the references, xray is able to handle the output while Indiekit is less organized.
Example 1: https://jamesg.blog/2023/04/18/source-code-folder-names/
{
  "url": "https://jamesg.blog/2023/04/18/source-code-folder-names/",
  "children": [
    {
      "type": "card",
      "name": "James' Coffee Blog ☕",
      "url": "https://jamesg.blog"
    },
    {
      "type": "entry",
      "name": "My source code root folder name",
      "published": "2023-04-18T00:00:00",
      "category": "Coding",
      "content": {
        "html": "
I like seeing what people call the root folder in which they store their source code. This is the folder where all — or a lot of — your projects are stored. In my case, my programming projects go in a folder called src. (Although I have a strange habit of nesting personal projects that are related to each other. I believe my source code files are in need of a spring clean.)
\n
That long parenthetical notwithstanding, I find the name src cool. It’s a short way of saying source code; apt, simple, easy to type. Furthermore, src is different to the names of the other folders in my root directory, which makes autocomplete a breeze when I’m tying in my terminal to navigate to a source code folder.
\n
A common example I have seen is Code, or variants thereof. I’m curious: if you code, what do you call the root folder in which you store your source code?
",
        "text": "I like seeing what people call the root folder in which they store their source code. This is the folder where all — or a lot of — your projects are stored. In my case, my programming projects go in a folder called src. (Although I have a strange habit of nesting personal projects that are related to each other. I believe my source code files are in need of a spring clean.)\nThat long parenthetical notwithstanding, I find the name src cool. It’s a short way of saying source code; apt, simple, easy to type. Furthermore, src is different to the names of the other folders in my root directory, which makes autocomplete a breeze when I’m tying in my terminal to navigate to a source code folder.\nA common example I have seen is Code, or variants thereof.
      }
    }
  ]
}

Example 2: https://aaronparecki.com/2023/04/24/8/lawyer
{
  "url": "https://aaronparecki.com/2023/04/24/8/lawyer",
  "children": [
    {
      "type": "item"
    },
    {
      "type": "item"
    },
    {
      "type": "item"
    },
    {
      "type": "item"
    },
    {
      "type": "item"
    },
    {
      "type": "entry",
      "author": {
        "type": "card",
        "url": "https://aaronparecki.com/",
        "photo": [
          {
            "alt": "Aaron Parecki",
            "url": "https://aaronparecki.com/images/profile.jpg"
          }
        ],
        "name": "Aaron Parecki"
      },
      "content": {
        "html": "In retrospect, I probably didn't need to include \"but I am not a lawyer\" in an email to our lawyers",
        "text": "In retrospect, I probably didn't need to include \"but I am not a lawyer\" in an email to our lawyers"
      },
      "location": {
        "type": "adr",
        "locality": "Portland",
        "region": "Oregon",
        "country": "USA"
      },
      "url": "https://aaronparecki.com/2023/04/24/8/lawyer",
      "published": "2023-04-24T14:12:20-07:00",
      "syndication": [
        "at://did:plc:s2koow7r6t7tozgd4slc3dsg/app.bsky.feed.post/3ju5hvccis32q",
        "https://micro.blog/aaronpk/18625298"
      ],
      "pk-num-likes": "15",
      "pk-num-reposts": "1",
      "pk-num-replies": "3",
      "like": {
        "children": [
          {
            "type": "cite",
            "url": [
              "https://emacs.ch/users/skybert#likes/56653",
              "https://emacs.ch/users/skybert"
            ],
            "author": {
              "type": "card",
              "photo": "https://aaronparecki.com/assets/images/no-profile-photo.png",
              "name": ""
            },
            "name": "15 of these cite elements"
          }
        ]
      },
      "repost": {
        "type": "cite",
        "url": [
          "https://tdd.social/users/CodingItWrong/statuses/110256727388551917/activity",
          "https://tdd.social/users/CodingItWrong"
        ],
        "author": {
          "type": "card",
          "photo": "https://aaronparecki.com/assets/images/no-profile-photo.png",
          "name": ""
        },
        "name": "Josh Justice"
      },
      "comment": {
        "children": [
          {
            "type": "cite",
            "author": {
              "type": "card",
              "photo": "https://aaronparecki.com/assets/images/no-profile-photo.png",
              "name": "dominikhoecht",
              "url": "https://micro.blog/dominikhoecht"
            },
            "content": {
              "html": "
@aaronpk 😂
",
              "text": "@aaronpk 😂"
            },
            "url": "https://micro.blog/dominikhoecht/18694091",
            "published": "2023-04-27T15:41:21+00:00"
          },
          {
            "type": "cite",
            "author": {
              "type": "card",
              "photo": "https://aaronparecki.com/assets/images/no-profile-photo.png",
              "name": "carpetbomberz",
              "url": "https://mastodon.online/users/carpetbomberz"
            },
            "content": {
              "html": "
@aaronpk In your defense you are most authoritative on the many subjects upon which you expound. I'm thinking back to the episode on ContentID fer' instance. 😄
",
              "text": "@aaronpk In your defense you are most authoritative on the many subjects upon which you expound. I'm thinking back to the episode on ContentID fer' instance. 😄"
            },
            "url": "https://mastodon.online/@carpetbomberz/110256111311133962",
            "published": "2023-04-24T15:19:05-07:00",
            "children": [
              {
                "type": "card",
                "url": "https://aaronparecki.com/aaronpk",
                "name": "@aaronpk"
              }
            ]
          },
          {
            "type": "cite",
            "author": {
              "type": "card",
              "photo": "https://aaronparecki.com/assets/images/no-profile-photo.png",
              "name": "lmika",
              "url": "https://micro.blog/lmika"
            },
            "content": {
              "html": "
@aaronpk Just hope that they don’t reply with “I’m not a lawyer either”. 😀
",
              "text": "@aaronpk Just hope that they don’t reply with “I’m not a lawyer either”. 😀"
            },
            "url": "https://micro.blog/lmika/18625632",
            "published": "2023-04-24T21:45:09+00:00"
          }
        ]
      }
    },
    {
      "type": "card",
      "url": "https://aaronparecki.com/",
      "uid": "https://aaronparecki.com/",
      "photo": "https://aaronparecki.com/images/profile.jpg",
      "note": "Hi, I'm Aaron Parecki, Senior Security Architect at Okta, and co-founder of\nIndieWebCamp.\nI maintain oauth.net, write and consult about OAuth, and\nparticipate in the OAuth Working Group at the IETF. I also help people learn about video production and livestreaming and dabble in product design.\n\nI've been tracking my location since 2008 and I wrote 100 songs in 100 days.\nI've spoken at conferences around the world about\nowning your data,\nOAuth,\nquantified self,\nand explained why R is a vowel. Read more.",
      "name": "Aaron Parecki",
      "bday": "--12-28",
      "street-address": "PO Box 12433",
      "locality": "Portland",
      "region": "Oregon",
      "country-name": "USA",
      "postal-code": "97212",
      "org": {
        "children": [
          {
            "type": "card",
            "photo": "https://aaronparecki.com/images/okta.png",
            "role": "Security Architect",
            "url": "https://developer.okta.com/",
            "name": "Okta"
          },
          {
            "type": "card",
            "photo": "https://aaronparecki.com/images/indiewebcamp.png",
            "url": "https://indieweb.org/",
            "name": "IndieWebCamp",
            "role": "Founder"
          }
        ]
      }
    }
  ]
}

Describe the solution you’d like
I'd like the references to show a much simpler model, including the entry at the top level with author data included.
I'm guessing the solution probably rests in the mf2tojf2 package.
X-Ray Output 1: https://jamesg.blog/2023/04/18/source-code-folder-names/
{
    "data": {
        "type": "entry",
        "published": "2023-04-18T00:00:00",
        "category": [
            "Coding"
        ],
        "name": "My source code root folder name",
        "content": {
            "text": "I like seeing what people call the root folder in which they store their source code. This is the folder where all \u2014 or a lot of \u2014 your projects are stored. In my case, my programming projects go in a folder called src. (Although I have a strange habit of nesting personal projects that are related to each other. I believe my source code files are in need of a spring clean.)\nThat long parenthetical notwithstanding, I find the name src cool. It\u2019s a short way of saying source code; apt, simple, easy to type. Furthermore, src is different to the names of the other folders in my root directory, which makes autocomplete a breeze when I\u2019m tying in my terminal to navigate to a source code folder.\nA common example I have seen is Code, or variants thereof. I\u2019m curious: if you code, what do you call the root folder in which you store your source code?",
            "html": "
I like seeing what people call the root folder in which they store their source code. This is the folder where all \u2014 or a lot of \u2014 your projects are stored. In my case, my programming projects go in a folder called src. (Although I have a strange habit of nesting personal projects that are related to each other. I believe my source code files are in need of a spring clean.)
\n
That long parenthetical notwithstanding, I find the name src cool. It\u2019s a short way of saying source code; apt, simple, easy to type. Furthermore, src is different to the names of the other folders in my root directory, which makes autocomplete a breeze when I\u2019m tying in my terminal to navigate to a source code folder.
\n
A common example I have seen is Code, or variants thereof. I\u2019m curious: if you code, what do you call the root folder in which you store your source code?
"
        },
        "author": {
            "type": "card",
            "name": "James' Coffee Blog \u2615",
            "url": "https://jamesg.blog",
            "photo": null
        },
        "post-type": "article"
    },
    "url": "https://jamesg.blog/2023/04/18/source-code-folder-names/",
    "code": 200,
    "source-format": "mf2+html"
}

X-Ray Output 2: https://aaronparecki.com/2023/04/24/8/lawyer
{
    "data": {
        "type": "entry",
        "published": "2023-04-24T14:12:20-07:00",
        "url": "https://aaronparecki.com/2023/04/24/8/lawyer",
        "syndication": [
            "https://micro.blog/aaronpk/18625298"
        ],
        "content": {
            "text": "In retrospect, I probably didn't need to include \"but I am not a lawyer\" in an email to our lawyers"
        },
        "author": {
            "type": "card",
            "name": "Aaron Parecki",
            "url": "https://aaronparecki.com/",
            "photo": "https://aaronparecki.com/images/profile.jpg"
        },
        "post-type": "note"
    },
    "url": "https://aaronparecki.com/2023/04/24/8/lawyer",
    "code": 200,
    "source-format": "mf2+json"
}

Describe alternatives you’ve considered
I'm currently trying to normalize the input in my post template function but I think it would be helpful to the community to have shared logic.
Additional context
No response

Just had a look at the code underlining Xray and… wow. 1008 lines of code to parse and massage an incoming feed to generate the results you are seeing here. 🤯
This project started as a straight forward implementation of mf2tojf2.py, and for incoming well-structured MF2 objects, it works. But when given a page of unknown microformatted markup, it’s going to struggle to produce well-formed data.
I’d like to say this is something that I can look to improve, but not at the cost of working on Indiekit – even more so given including references is an option that’s disabled by default.
Perhaps there’s a way of breaking this apart and looking to make smaller, incremental improvements (the list of empty children with only { type: "item" } seems like something that shouldn’t happen, for example).
Open to suggestions… maybe this is something to put to the IndieWeb community to see if anyone would like to contribute parsing improvements?

I agree that this is much more of a nice to have than some of the key indiekit work. I imagine that aiming to normalize all messy content would be an impossible task. I'd need to look more at xray and see if there is any set of agreed upon parsing specs to come up with a list of target improvements.
I'll probably keep iterating on my own massaging logic I'm using with my Indiekit instance. I'd love to also include some Metaformats logic too to parse meta tags on sites without mf2. So far the main things I've added are finding the main h-entry and author but I'm sure I'll discover more as I reply to more sites with Indiekit.

I split out a couple more specific tasks, however if you think these should be handled externally I can look at adding this kind of logic to a different library.

Looking at the authorship spec you linked to in #22, I saw a link to mf-obj, a Node.js package that seems to cover some of the requirements here.
It has’t been updated for 7 years, and unfortunately written in TypeScript, but maybe that could be used, or adapted for use here?

Before I push for or try to contribute features to this library, I want check to make sure mftojf2 would be the best place for some of this functionality. Ideally we'd avoid different libraries downloading and parsing pages multiple times but some reworking of MF2 objects by different libraries could be composed. Like you mentioned earlier, I would like to see a little more collaboration and coordination of efforts around node libraries but I also wouldn't want to tie things to another package that no one has capacity to maintain.
Relevant Libraries

Library
Last Release
Focus
Input
Output
Notes

@paulrobertlloyd/mf2tojf2
2022-11
Convert to jf2
MF2
JF2
This library. Also loads reference URLs

microformat-node
2016-10
Parsing
URL
MF2
Recommended but no recent activity

mf-obj
2016-06
Utils
URL
MF2
Uses microformat-node. Implements authorship algorithm

microformats-parser
2022-01
Parsing
HTML
MF2
Used by mf2tojf2

mf2utiljs
2022-02
Utils
URL or MF2
MF2
Uses microformats-parser. Port of mf2util. Implements authorship algorithm

~representative-h-card~
~2021-06~
~Util~
~MF2~
~MF2~
REPO ARCHIVED

Microformat parsing features

Feature
Input
Output
Notes

References
MF2 to get URL
MF2
Already implemented here. Requires parsing but fetches different URL

Authorship
MF2
MF2
Implemented in mf2utilsjs

Main Entry
MF2
MF2
Implemented in mf2utilsjs?

Metaformats
HTML
MF2
This probably should be included in lib that does initial parsing

Opportunities to reuse logic
Let me know what you think but I'd love to see this type of functionality we're discussing pushed to other libraries and used more flexibly by the node community.
mf2utilsjs for cleaning up microformats
Turns out there is more on npm than I initially though. I hadn't seen mf2utilsjs before. Since it ports the well used python package, I think it has a lot of potential for being a really useful package. I would probably want to check with the maintainer to see if they are up for more community involvement. But assuming it is a reliable library, I could see a microformats-parser > mf2utilsjs > mf2tojf2 combo working well.
Leave metaformats to initial parser
Something like Metaformats might be better as a feature of microformats-parser since that would require the fetching and parsing raw HTML to get meta tags. Implementing it in another library would duplicate that fetching work. I don't think that should be enabled by default, but microformats-parser already has a set of experimentalOptions flags.

If you wanted to submit a PR that used mf2utiljs to clean up incoming Microformats to use in references, I think that would be really useful, and potentially solve this issue!
I wonder if its a case of parsing the Microformats returned here with mf2utiljs: https://github.com/getindiekit/mf2tojf2/blob/3a0817dc860f03ba350853b591ce51e769d49897/lib/fetch-references.js#L37

From what I can tell mf2utiljs was a one-off personal project. I haven't gotten any response about being open to community involvement. I think we might need to implement the authorship and main entry algorithms separately. I'm considering creating a library but would prefer to avoid creating a separate package if it could be avoided.

If you’d like to contribute a PR to add them to this project, I think that could work. These algorithms do seem to fall into the category of converting mf2 to jf2.
At some point I also think it would make sense to ask about moving this project to the @microformats organisation, much like the new Node Microformats parser was, meaning this project can live alongside that project and mf2tojf2.py.


write unit test for CheckValidPostcodeQueryHandlerAsync

@tonysurma please label with "jump-in". Part of Issue #620

Volunteering to pick up this one!

@samqty, go for it! If you have any questions, please feel free to ask.

@mgmccarthy @samqty @tonysurma Looks like this has been done. May be we should clean up by closing the issue.

Closed in PR #1168


this block wasn't fleshed out

it got ref but didn't do anything with it!

Code as it stands should work as expected -- ref is a real crom node configured to be a reference to the entity. So the proposed change is more work to get to the same result.


ARROW-15817: [R] Use TableSourceNode instead of InMemoryDataset

This allows us to use the query engine without ARROW_DATASET=ON, and it's nice to just keep around the object that was provided instead of transforming it, which makes printing query objects a little more intuitive. There may be other optimizations or cleanups we could do as well.
Other changes: added head/tail methods for RecordBatchReader and fixed an edge case (head(x, 0) works but was previously rejected as invalid input).

@github-actions crossbow submit test-r-minimal


Web e-mail

Hi, I've tried to deploy in several ways, send email notification, but it does not work
<entry key='mail.smtp.host'>smtp.mail.yahoo.com.br</entry>
<entry key='mail.smtp.port'>465</entry>
<entry key='mail.smtp.ssl.enable'>true</entry>
<entry<EMAIL_ADDRESS><entry key='mail.smtp.auth'>true</entry>
<entry<EMAIL_ADDRESS><entry key='mail.smtp.password'>xxxxxxxxxxx</entry>

Can you help me with this?
Another thing, the building, is not it always that shows, something that can be done?

What's the error message?
What bout building?

I tried, include this setting in traccar.xml and also default.xml

You haven't answered any of my questions.

Unconnected email.
It is not always that it shows the current address of the device

Please provide a screenshot of the error.
As for address, it's not related to the email protocol, so if you want to discuss it, create a separate thread. I think the problem is just that geocoder doesn't return any data.

I just wanted to enjoy it, right here, I'll create another

Do you recommend some program to back up in the database? I use the default database.

How is this question related to the topic? Why are you asking random questions? Is the email problem fixed? Can we close this issue?


Select component has a bug in ssr mode (ReferenceError: index is not defined)

Problem is related to start/end slots, I will comment the "Slots" example of FormSelect and FormAutocomplete to prevent this error from documentation site.
#416


merge from template-browser-ava

.github/workflows/ci.yml

chore(deps): add 20.13.0 remove 20.12.2 (jobs.test-node.strategy.matrix.node-version)
chore: add 20.13.0 (jobs.test-browser.steps.with.node-version)
chore: add 20.13.0 (jobs.release.steps.with.node-version)

.github/workflows/codeql_analysis.yml

chore: add 20.13.0 (jobs.analyze.steps.with.node-version)

.github/workflows/update_package_lock.yml

chore(deps): add 20.13.0 (jobs.update_package_lock.strategy.matrix.node-version)

.github/workflows/update_readme_api.yml

chore: add 20.13.0 (jobs.update_readme_api.steps.with.node-version)

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 94.29%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1261

Relevant Lines:
1336

💛  - Coveralls


feat(bootstrap): v8.7.4

What this PR does / why we need it
Title says, it does.

JIRA ID: [XX-XX]

Notes for your reviewers

Pull Request Test Coverage Report for Build 750

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 65.698%

Totals

Change from base Build 742:
0.0%

Covered Lines:
1582

Relevant Lines:
2408

💛  - Coveralls

Replaced by https://github.com/getoutreach/gobox/pull/85


Add two new footprints to GIS footprint update in process

Over in #99 we have a bunch of footprint updates in midflight.
Once those are done, we need to be sure to also drop in these two new footprints that Tom digitized:
https://github.com/GreenInfo-Network/seattle-building-dashboard/issues/105#issuecomment-2221604767
Then the GIS file can be a full replacement for what's on CARTO.
┆Issue is synchronized with this Asana task

I completed the footprint updates and merged the two additional polygons for building id 50755 and 19863. Final shapefile is here:
P:\proj_p_s\Seattle Building Dashboard\2024_update\seattle_building_outlines_2024_update\seattle_building_outlines_2024_update


[fix][#3786][gws][baord] sends same notification twice

Coverage decreased (-22.5%) to 55.865% when pulling 23b140747db723b020e5633d8866de646de83cf3 on sunny4381:fixes/ss-3786 into 1131f3f9626c98c541ac823c869e9a64500d4341 on shirasagi:master.


lxqt.qterminal segfaults after qt 5.10.1 update

Issue description
qterminal compiles fine (https://hydra.nixos.org/build/70354017), but segfaults upon start. I've tried to strace for errors, but the trace looks extremely similar right up to the segfault (other than different nix-store paths obviously). It's still broken as below at 48edc140dcf40ba15176b5687827eb29f6dd676d.
Steps to reproduce
For the first failing commit, checkout nixpkgs at 0e086dd1c1f2fcfb35634ef778f692d601722c9a~1 and run nix-env -iA lxqt.qterminal, then it runs with following output:
TRANSLATIONS_DIR: Loading translation file "qterminal_en_US.qm" from dir /nix/store/hx4b58c6z4aqc5lvnrgljv894cfshvc3-qterminal-0.8.0/share/qterminal/translations
load success: false
Properties constructor called
QDir::exists: Empty or null file name
Canot open file "/home/ciil/.config/qterminal.org/qterminal_bookmarks.xml"
Trying to load translation file from dir "/run/opengl-driver/share"
Trying to load translation file from dir "/etc/profiles/per-user/ciil/share"
Trying to load translation file from dir "/home/ciil/.nix-profile/share"
Trying to load translation file from dir "/nix/var/nix/profiles/default/share"
Trying to load translation file from dir "/run/current-system/sw/share"
Trying to load translation file from dir "/nix/store/pc8pfkdbykjmh3pr2js1dfx4bqpc6q19-qtermwidget-0.8.0/share/qtermwidget5/translations"
default KB_LAYOUT_DIR:  "/nix/store/pc8pfkdbykjmh3pr2js1dfx4bqpc6q19-qtermwidget-0.8.0/share/qtermwidget5/kb-layouts"
loadAllColorSchemes
Shell program: "/run/current-system/sw/bin/zsh"
("/run/current-system/sw/bin/zsh")
QProcess: Destroyed while process ("/run/current-system/sw/bin/zsh") is still running.
Properties destructor called

For the last running configuration, checkout nixpkgs at 0e086dd1c1f2fcfb35634ef778f692d601722c9a and run nix-env -iA lxqt.qterminal, then it fails with the following output:
TRANSLATIONS_DIR: Loading translation file "qterminal_en_US.qm" from dir /nix/store/qdj8gp2nn25qc3p028y9cg5dnz8kqs97-qterminal-0.8.0/share/qterminal/translations
load success: false
Properties constructor called
QDir::exists: Empty or null file name
Canot open file "/home/ciil/.config/qterminal.org/qterminal_bookmarks.xml"
Trying to load translation file from dir "/run/opengl-driver/share"
Trying to load translation file from dir "/etc/profiles/per-user/ciil/share"
Trying to load translation file from dir "/home/ciil/.nix-profile/share"
Trying to load translation file from dir "/nix/var/nix/profiles/default/share"
Trying to load translation file from dir "/run/current-system/sw/share"
Trying to load translation file from dir "/nix/store/gzp48l201nxzkccs51ll40i6azrjjkgg-qtermwidget-0.8.0/share/qtermwidget5/translations"
default KB_LAYOUT_DIR:  "/nix/store/gzp48l201nxzkccs51ll40i6azrjjkgg-qtermwidget-0.8.0/share/qtermwidget5/kb-layouts"
loadAllColorSchemes
Shell program: "/run/current-system/sw/bin/zsh"
("/run/current-system/sw/bin/zsh")
zsh:  (core dumped)  qterminal

Last few lines of the strace:
openat(AT_FDCWD, "/nix/store/nhdz0xslz3p73k467lcakn8xspbg5kwv-libX11-1.6.5/share/X11/locale/locale.alias", O_RDONLY) = 19
fstat(19, {st_mode=S_IFREG|0444, st_size=81707, ...}) = 0
read(19, "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"..., 4096) = 4096
read(19, "_IN.UTF-8\nbo_IN.utf8\t\t\t\t\tbo_IN.U"..., 4096) = 4096
read(19, "ro\t\t\t\t\tde_DE.ISO8859-15\nde_DE.88"..., 4096) = 4096
read(19, "\tes_ES.ISO8859-1\nes.UTF-8\t\t\t\t\tes"..., 4096) = 4096
read(19, "o88591\t\t\t\t\tfi_FI.ISO8859-1\nfi_FI"..., 4096) = 4096
read(19, "F-8\t\t\t\t\the_IL.UTF-8\nhi\t\t\t\t\t\thi_I"..., 4096) = 4096
read(19, "t_LT.ISO8859-13\nlt_LT\t\t\t\t\t\tlt_LT"..., 4096) = 4096
read(19, "DE.iso88591\t\t\t\t\tpd_DE.ISO8859-1\n"..., 4096) = 4096
read(19, "\t\t\tss_ZA.ISO8859-1\nss_ZA.iso8859"..., 4096) = 4096
read(19, ".big5hkscs\nzh_HK.BIG5-HKSCS\t\t\t\tz"..., 4096) = 4096
read(19, "O8859-1\naf_ZA.iso88591:\t\t\t\t\taf_Z"..., 4096) = 4096
read(19, "\tca_ES.ISO8859-1\nca_AD:\t\t\t\t\t\tca_"..., 4096) = 4096
read(19, ".utf8:\t\t\t\t\tde_DE.UTF-8\nde_LU:\t\t\t"..., 4096) = 4096
close(19)                               = 0
openat(AT_FDCWD, "/nix/store/nhdz0xslz3p73k467lcakn8xspbg5kwv-libX11-1.6.5/share/X11/locale/locale.dir", O_RDONLY) = 19
fstat(19, {st_mode=S_IFREG|0444, st_size=37048, ...}) = 0
read(19, "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"..., 4096) = 4096
read(19, "C_LOCALE\t\t\tes_NI.ISO8859-1\niso88"..., 4096) = 4096
read(19, "OCALE\t\t\tph_PH.ISO8859-1\niso8859-"..., 4096) = 4096
read(19, ".UTF-8\nen_US.UTF-8/XLC_LOCALE\t\t\t"..., 4096) = 4096
read(19, "\t\tpt_PT.UTF-8\nen_US.UTF-8/XLC_LO"..., 4096) = 4096
read(19, "SO8859-1\niso8859-15/XLC_LOCALE:\t"..., 4096) = 4096
read(19, "/XLC_LOCALE:\t\t\thu_HU.ISO8859-2\na"..., 4096) = 4096
read(19, "55\nzh_CN/XLC_LOCALE:\t\t\tzh_CN.euc"..., 4096) = 4096
close(19)                               = 0
access("/nix/store/nhdz0xslz3p73k467lcakn8xspbg5kwv-libX11-1.6.5/share/X11/locale/en_US.UTF-8/XLC_LOCALE", R_OK) = 0
openat(AT_FDCWD, "/nix/store/nhdz0xslz3p73k467lcakn8xspbg5kwv-libX11-1.6.5/share/X11/locale/en_US.UTF-8/XLC_LOCALE", O_RDONLY) = 19
fstat(19, {st_mode=S_IFREG|0444, st_size=4255, ...}) = 0
read(19, "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"..., 4096) = 4096
read(19, "GR\n}\n \n#\tcs20 class\ncs15\t{\n\tside"..., 4096) = 159
read(19, "", 4096)                      = 0
close(19)                               = 0
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\22\0\17\0\5\0\200\3#\0\0\0#\0\0\0 \0\0\0\t\0\0\0\3\0\0\0\1\0\0\0"..., iov_len=96}], 1) = 96
futex(0x1ca1498, FUTEX_WAKE_PRIVATE, 1) = 1
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\22\0\6\0\5\0\200\3'\0\0\0\37\0\0\0\10\21\34\0\0\0\0\0+\1\1\0", iov_len=28}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 28
futex(0x1ca14e8, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x1ca1498, FUTEX_WAKE_PRIVATE, 1) = 1
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x1} ---
+++ killed by SIGSEGV (core dumped) +++
zsh:            strace qterminal

Technical details

system: "x86_64-linux"
host os: Linux 4.15.5, NixOS, 18.03.git.8ebb99c (Impala)
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 1.11.16
channels(ciil): ""
channels(root): ""
nixpkgs: /home/ciil/vcs/nixpkgs

I can reproduce this.  Here's the stack trace, FWIW:
Thread 1 "qterminal" received signal SIGSEGV, Segmentation fault.
0x00007fffe646c5e6 in QXcbWindow::mapToGlobal(QPoint const&) const ()
   from /nix/store/31znblrlffsi4xrybpqlf426y6xfc7lx-qtbase-5.10.0-bin/lib/qt-5.10/plugins/platforms/../../../../../fyc641sfdmcvaj1kq6ng3flzxrh9ilfd-qtbase-5.10.0/lib/libQt5XcbQpa.so.5
(gdb) bt
#0  0x00007fffe646c5e6 in QXcbWindow::mapToGlobal(QPoint const&) const ()
   from /nix/store/31znblrlffsi4xrybpqlf426y6xfc7lx-qtbase-5.10.0-bin/lib/qt-5.10/plugins/platforms/../../../../../fyc641sfdmcvaj1kq6ng3flzxrh9ilfd-qtbase-5.10.0/lib/libQt5XcbQpa.so.5
#1  0x00007ffff63731e2 in QWindow::flags() const ()
   from /nix/store/bda68cmsaz7r8xfii8jsf2b0x3bpb3bj-qtbase-5.10.1/lib/libQt5Gui.so.5
#2  0x00007ffff6adeb33 in QWidgetPrivate::create_sys(unsigned long long, bool, bool) ()
   from /nix/store/bda68cmsaz7r8xfii8jsf2b0x3bpb3bj-qtbase-5.10.1/lib/libQt5Widgets.so.5
#3  0x00007ffff6adf1ad in QWidget::create(unsigned long long, bool, bool) ()
   from /nix/store/bda68cmsaz7r8xfii8jsf2b0x3bpb3bj-qtbase-5.10.1/lib/libQt5Widgets.so.5
#4  0x00007ffff6aebfc6 in QWidget::setVisible(bool) ()
   from /nix/store/bda68cmsaz7r8xfii8jsf2b0x3bpb3bj-qtbase-5.10.1/lib/libQt5Widgets.so.5
#5  0x0000000000434b47 in QTerminalApp::newWindow(bool, TerminalConfig&) [clone .constprop.21] ()
#6  0x000000000041612b in main ()
(gdb)

Actually that backtrace looks familiar!
It appears to be the same as the one causing VirtualBox to crash (#36127):
Thread 1 "VirtualBox" received signal SIGSEGV, Segmentation fault.
0x00007f1a07a415e6 in QXcbWindow::mapToGlobal(QPoint const&) const ()
   from /nix/store/31znblrlffsi4xrybpqlf426y6xfc7lx-qtbase-5.10.0-bin/lib/qt-5.10/plugins/platforms/../../../../../fyc641sfdmcvaj1kq6ng3flzxrh9ilfd-qtbase-5.10.0/lib/libQt5XcbQpa.so.5
(gdb) bt
#0  0x00007f1a07a415e6 in QXcbWindow::mapToGlobal(QPoint const&) const ()
   from /nix/store/31znblrlffsi4xrybpqlf426y6xfc7lx-qtbase-5.10.0-bin/lib/qt-5.10/plugins/platforms/../../../../../fyc641sfdmcvaj1kq6ng3flzxrh9ilfd-qtbase-5.10.0/lib/libQt5XcbQpa.so.5
#1  0x00007f1a0e8f11e2 in QWindow::flags() const () from /nix/store/bda68cmsaz7r8xfii8jsf2b0x3bpb3bj-qtbase-5.10.1/lib/libQt5Gui.so.5
#2  0x00007f1a0e124b33 in QWidgetPrivate::create_sys(unsigned long long, bool, bool) () from /nix/store/bda68cmsaz7r8xfii8jsf2b0x3bpb3bj-qtbase-5.10.1/lib/libQt5Widgets.so.5
#3  0x00007f1a0e1251ad in QWidget::create(unsigned long long, bool, bool) () from /nix/store/bda68cmsaz7r8xfii8jsf2b0x3bpb3bj-qtbase-5.10.1/lib/libQt5Widgets.so.5
#4  0x00007f1a0e1342e9 in QWidgetPrivate::init(QWidget*, QFlags<Qt::WindowType>) () from /nix/store/bda68cmsaz7r8xfii8jsf2b0x3bpb3bj-qtbase-5.10.1/lib/libQt5Widgets.so.5
#5  0x00007f1a0e149f43 in QDesktopWidget::QDesktopWidget() () from /nix/store/bda68cmsaz7r8xfii8jsf2b0x3bpb3bj-qtbase-5.10.1/lib/libQt5Widgets.so.5
#6  0x00007f1a0e0f386d in QApplication::desktop() () from /nix/store/bda68cmsaz7r8xfii8jsf2b0x3bpb3bj-qtbase-5.10.1/lib/libQt5Widgets.so.5
#7  0x00007f1a14934515 in UIDesktopWidgetWatchdog::updateHostScreenConfiguration(int) () from /nix/store/qn5w00ndzs12rc8gc9b6x75jih5p739x-virtualbox-5.2.8/libexec/virtualbox/VirtualBox.so
#8  0x00007f1a14934aef in UIDesktopWidgetWatchdog::prepare() () from /nix/store/qn5w00ndzs12rc8gc9b6x75jih5p739x-virtualbox-5.2.8/libexec/virtualbox/VirtualBox.so
#9  0x00007f1a1496f708 in VBoxGlobal::prepare() () from /nix/store/qn5w00ndzs12rc8gc9b6x75jih5p739x-virtualbox-5.2.8/libexec/virtualbox/VirtualBox.so
#10 0x00007f1a148e2dbb in TrustedMain () from /nix/store/qn5w00ndzs12rc8gc9b6x75jih5p739x-virtualbox-5.2.8/libexec/virtualbox/VirtualBox.so
#11 0x00007f1a2049b020 in __libc_start_main () from /nix/store/8229pink3d3h5zgb994gp5bkj4fyaz85-glibc-multi-2.26-131/lib/libc.so.6
#12 0x000000000040156a in _start ()
(gdb)

After purging my profile-installed apps using older versions of Qt, I can no longer reproduce.
Closing as this looks like same thing I opened the other issue about :).  Reopen if the problem is not due to conflicting qt versions.

You're correct, after doing the usual qt purge actions, it worked again. I thought for sure the issue was different, because usually you get that "Qt fatal: cannot mix incompatible version" error, but turns out it was that one again.

This issue has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/please-fix-all-packages-which-were-broken-by-the-qt-wrapping-changes/6444/22


Potentially Incorrect Package Reference

In the code sample following the text "The following example shows a Functions 3.x C# function that binds to an EventGridEvent" there is a using statement to "Azure.Messaging.EventGrid;". I believe this is here to allow access to the EventGridEvent class. However, when I attempted to follow this example, I kept getting the following runtime error:
InvalidOperationException: 'Can't convert from type 'Azure.Messaging.EventGrid.EventGridEvent
After playing around a bit, I found that if I removed the reference to "Azure.Messaging.EventGrid" and replaced it with "Microsoft.Azure.EventGrid.Models" the function would run fine.
I'm not sure whether this is an issue with the documentation (i.e., the code sample contains the wrong package reference) or whether it's an issue caused by me making a mistake when trying to follow along. Apologies if it's the latter.

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

ID: adef418e-21d0-5f5a-83ff-72a957394ff2
Version Independent ID: 2a3fdc4a-d258-a1b4-0ba1-2a29994193f7
Content: Azure Event Grid output binding for Azure Functions
Content Source: articles/azure-functions/functions-bindings-event-grid-output.md
Service: azure-functions
GitHub Login: @craigshoemaker
Microsoft Alias: cshoe

@ajkimberley - Thanks for brining this to our attention. We will investigate it further and update you shortly.


[Relax] Shape/Type consistency check

This PR introduces the sanity check for Expr shape and type during normalization (where FInferShape and FInferType are invoked). Meanwhile, this PR fixes some bugs regarding the Call of shape functions.
cc @junrushao

@jinhongyii @spectrometerHBH The test test_transform_split_cutlass.py is broken, so I rename the file by prepending an underscore. Could you guys please help fix it (and reformat it as well) to make it completely correct? Thanks a lot!


Fix recipes so that the flux storages are craftable

The recipes previously used the tag forge:glass_panes. Updated to use c:glass_panes. (neoforge will eventually be migrating c:glass_panes as well.)
Also, issues are currently disabled on this repo, so it is impossible to report any bugs (like this one) that are found.

Nice catch. Thanks for the PR. I think issues were disabled because this is a forked repo.


Azure AD Seamless SSO - unable to receive Kerberos tickets from AZUREADSSOACC computer account

Hello,
I've attempted to enable Seamless SSO for our on-premise directory following the steps outlined in the documentation here:
https://docs.microsoft.com/en-us/azure/active-directory/hybrid/how-to-connect-sso-quick-start
I've followed the steps exactly but was unable to get this feature to work with a test account. Other features of Azure AD Connect are working properly (Passthrough authentication, password writeback, etc.). I believe I've narrowed down the issue to being a problem receiving Kerberos tickets from the AZUREADSSOACC account that is generated during setup. I've followed the troubleshooting guide here:
https://docs.microsoft.com/en-us/azure/active-directory/hybrid/tshoot-connect-sso
I've also found other troubleshooting guides that say to make sure you can receive Kerberos tickets from the AZUREADSSOACC computer account. When I run klist get AZUREADSSOACC I receive this error:

I've had no luck researching this error, and it seems others don't seem to be having this issue. I've run the AD Replication Status Tool to make sure that replication across our DCs wasn't an issue, and received no errors there. I'm at a loss. Any help would be appreciated.
Edited: Added doc metadata info

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

ID: 5d53fedc-b37d-9c37-fd71-32088e1e88d3
Version Independent ID: 1d67c426-39ff-8646-139d-51cd5e9fe44e
Content: Azure AD Connect: Seamless Single Sign-On - quickstart
Content Source: articles/active-directory/hybrid/how-to-connect-sso-quick-start.md
Service: active-directory
Sub-service: hybrid
GitHub Login: @billmath
Microsoft Alias: billmath

@menjaben, Thanks for leveraging Azure docs feedback channel to raise this question and adding good detailed description of the problem. We are taking a look into this and will get back to you soon.

for hex 0x80090342 / decimal -2146892990 :
SEC_E_KDC_UNKNOWN_ETYPE                                       winerror.h
The encryption type requested is not supported by the KDC.

Thank you for your issue submission. Unfortunately, this appears to be a support issue. Issues in this repo are for documentation issues. You can try one of the following links for additional help.
Microsoft Support: https://support.microsoft.com/
Azure AD forums: https://social.technet.microsoft.com/Forums/en-US/home?forum=windowsazureaditpro
Stackoverflow: https://stackoverflow.com/
#please-close


Various CI Updates

The QE tests will fail because they are expecting certain variables.  I'm doing more testing.


Can I use the HLint API without explicitly depending on ghc-lib-parser?

We've been using the HLint API in IHaskell and it's been great so far. With the release of HLint 3.0 though, it seems like SrcLoc comes from ghc-lib-parser unless HLint is compiled against the matching version of GHC. I don't want to incur an explicit dependency on ghc-lib-parser because IHaskell also uses the GHC API and I'd rather not use package qualified imports everywhere. My misunderstanding about where SrcLoc comes from has already resulted in this error, which I can't think of a good way to fix while also maintaining backwards compatibility (we still support GHC 8.0). Can you suggest a way forward? I think that if you re-exported SrcLoc then that might fix my particular issue, but I'm not sure if that's a good idea.

Sorry this change broke you. For GHC 8.10 we compile against real GHC by default, so for that platform you might want to use a real SrcSpan from GHC.
The SrcSpan data type we inherit from GHC is relatively complex, and has an opaque RealSpan inside it. Maybe instead of exporting it, we could expose an unpacking function unpackSrcLoc :: SrcLoc -> Maybe (FilePath, (Int, Int), (Int, Int)), and then you can rely on that, which will take you back into the realm of non-GHC data types.

No need to apologise, HLint is a great project and I'm glad to be able to use it in IHaskell :smile:! That unpackSrcLoc change sounds great to me.

API added in 4e9f0f0. Let me know if that works, and I'll probably make a release tonight with that in it.

This works great, thank you! This is the change I made: https://github.com/gibiansky/IHaskell/commit/b8ac6a89a63ebaf5a09147b56c71d6a39e58de98.

Released as 3.1.1

Thank you!


Escape closing parenthesis in prefix.bat file

An un-escaped closing parentheses will break the for loop that is using this value.
This same fix was already implemented in ament/ament_package#91.

Thanks for the patch.


Invariant Violation: expected workspace package to exist for 'react-native' when installing in a monorepo

Environment
OS: Mac OS 13.0 / node v20.13.1
react-native-vector-icons version: latest
React Native version: 0.73.6
Yarn version: 1.22
Description
I am encountering the following error when trying to use react-native in my monorepo setup:
Invariant Violation: expected workspace package to exist for 'react-native'
I have verified that react-native is correctly listed in the dependencies of the root package.json. I have also checked the following:

The root package.json file includes the workspaces field.
Dependencies are correctly installed using yarn install.
Project is cleaned by removing node_modules and cleaning yarn cache and reinstalling dependencies

Despite these checks, the issue persists.


Reading cdb and rst files without license

My company needs to read cdb and rst files to convert the geometry and loads into our proprietary format.
The ansys.mapdl.reader package can parse these files and does not require a running instance of MAPDL. If this were not deprecated it would be the most promising solution.
We have previously written custom parsers for these filetypes. This has been difficult to maintain and adapt new features.
Is there any plan to support such a feature long term? Or is there a simple way to do this parsing that we have overlooked?
Thanks,
Hunter at Apex Turbine

The ansys.mapdl.reader package can parse these files and does not require a running instance of MAPDL. If this were not deprecated it would be the most promising solution.

We're considering deprecating this but we've not made up our minds.  At the moment, there's DPF, the data processing framework that the company is planning on supporting for future development.  We can also support the legacy reader, but it needs to provide features that DPF does not.  I recommend trying out DPF, and if it's not sufficient for your work, please post why at dpf-core issues.

We have previously written custom parsers for these filetypes. This has been difficult to maintain and adapt new features.

I'm well aware of the pain :).  The way I was able to keep this in the open-source was writing the reader by only referring to the fortran header files and the MAPDL theory reference.

Is there any plan to support such a feature long term? Or is there a simple way to do this parsing that we have overlooked?

There's no simple way of parsing, and when Ansys enabled compression, I would have never been able to figure out the compression scheme without help.  At the moment, I plan on continuing to support this project until DPF's features eclipse the ones of this library.  In that area, I'd appreciate any and all feedback.

Thanks for the reply! We're looking into the DPF now.
I've hit some bugs when trying to use the module on Windows. First, the run_cmd variable in launch_dpf() in server.py specifies a file that does not exist.
After changing "Ans.Dpf.Grpc.bat" to "Ans.Dpf.Grpc.exe", I get further exceptions when trying to create a model or load a solution.
Is the .bat missing and needed? or should the .exe be used?

I've hit some bugs when trying to use the module on Windows. First, the run_cmd variable in launch_dpf() in server.py specifies a file that does not exist.

Please open an issue on https://github.com/pyansys/dpf-core asking for multi-version support.  Right now, it assumes you're using 2021R2 and you probably have 2021R1 installed.  If API changes are made that break backwards compatibility, at the very least a version check should be implemented.  At best, at runtime it should tell the user what version to install for the version of Ansys they're using.
Feel free to copy/pasta this.

Good catch! And it looks like https://github.com/pyansys/DPF-Core/issues/45 already covers the issue.

I'm closing this for now since this is partially resolved.  Please feel free to raise more issues at https://github.com/pyansys/DPF-Core/issues or ping me directly at<EMAIL_ADDRESS>


Fix needed for dependency injection

As recommended in this famous guide, dependency injection should be explicit, not using shortcut syntax
https://github.com/johnpapa/angular-styleguide#manual-annotating-for-dependency-injection
This happened with the master version of angular-confirm: using a processor (grunt concat) and minification (grunt uglify), the angular-confirm.js file transformation resulted in many errors.
This pull request fixes this issue.

@jquinter I included a minified version for this reason. I personally use a pre processor to do this work for me


Installing zip archives

How do you install zip archives?
$ pipenv install https://github.com/divio/django-cms/archive/release/3.4.x.zip
Creating a Pipfile for this project…
Installing https://github.com/divio/django-cms/archive/release/3.4.x.zip…
Collecting https://github.com/divio/django-cms/archive/release/3.4.x.zip
  Downloading https://github.com/divio/django-cms/archive/release/3.4.x.zip (6.0MB)
  Requirement already satisfied (use --upgrade to upgrade): django-cms==3.4.5rc2 from https://github.com/divio/django-cms/archive/release/3.4.x.zip in /Users/helder/.local/share/virtualenvs/pip-XBl5Wj6A/lib/python3.6/site-packages
Requirement already satisfied: Django<2.0,>=1.8 in /Users/helder/.local/share/virtualenvs/pip-XBl5Wj6A/lib/python3.6/site-packages (from django-cms==3.4.5rc2)
Requirement already satisfied: django-classy-tags>=0.7.2 in /Users/helder/.local/share/virtualenvs/pip-XBl5Wj6A/lib/python3.6/site-packages (from django-cms==3.4.5rc2)
Requirement already satisfied: django-formtools>=1.0 in /Users/helder/.local/share/virtualenvs/pip-XBl5Wj6A/lib/python3.6/site-packages (from django-cms==3.4.5rc2)
Requirement already satisfied: django-treebeard>=4.0.1 in /Users/helder/.local/share/virtualenvs/pip-XBl5Wj6A/lib/python3.6/site-packages (from django-cms==3.4.5rc2)
Requirement already satisfied: django-sekizai>=0.7 in /Users/helder/.local/share/virtualenvs/pip-XBl5Wj6A/lib/python3.6/site-packages (from django-cms==3.4.5rc2)
Requirement already satisfied: djangocms-admin-style>=1.0 in /Users/helder/.local/share/virtualenvs/pip-XBl5Wj6A/lib/python3.6/site-packages (from django-cms==3.4.5rc2)
Requirement already satisfied: pytz in /Users/helder/.local/share/virtualenvs/pip-XBl5Wj6A/lib/python3.6/site-packages (from Django<2.0,>=1.8->django-cms==3.4.5rc2)

Adding https://github.com/divio/django-cms/archive/release/3.4.x.zip to Pipfile's [packages]…
Locking [dev-packages] dependencies…
Locking [packages] dependencies…
Traceback (most recent call last):
  File "/Users/helder/.local/bin/pipenv", line 11, in <module>
    load_entry_point('pipenv==8.2.0', 'console_scripts', 'pipenv')()
  File "/Users/helder/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/vendor/click/core.py", line 722, in __call__
    return self.main(*args, **kwargs)
  File "/Users/helder/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/vendor/click/core.py", line 697, in main
    rv = self.invoke(ctx)
  File "/Users/helder/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/vendor/click/core.py", line 1066, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/Users/helder/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/vendor/click/core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/Users/helder/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/vendor/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "/Users/helder/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/cli.py", line 1808, in install
    do_lock(system=system, pre=pre)
  File "/Users/helder/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/cli.py", line 1071, in do_lock
    pre=pre
  File "/Users/helder/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/utils.py", line 418, in resolve_deps
    resolved_tree.update(resolver.resolve())
  File "/Users/helder/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/piptools/resolver.py", line 88, in resolve
    self.their_constraints))
  File "/Users/helder/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/piptools/resolver.py", line 125, in check_constraints
    raise UnsupportedConstraint(msg, constraint)
piptools.exceptions.UnsupportedConstraint: pip-compile does not support URLs as packages, unless they are editable. Perhaps add -e option? (constraint was: https://github.com/divio/django-cms/archive/release/3.4.x.zip (from -r /var/folders/2v/nmb819xx3wsb7hcqvd68230w0000gn/T/pipenv-FHm_hi-requirement.txt (line 1)))

Produces this Pipfile:
[[source]]
url = "https://pypi.python.org/simple"
verify_ssl = true
name = "pypi"

[dev-packages]

[packages]
"e682b37" = {path = "https://github.com/divio/django-cms/archive/release/3.4.x.zip"}

Editable?
$ pipenv install -e https://github.com/divio/django-cms/archive/release/3.4.x.zip
Creating a Pipfile for this project…
Installing -e https://github.com/divio/django-cms/archive/release/3.4.x.zip…
⠦
Error:  An error occurred while installing -e https://github.com/divio/django-cms/archive/release/3.4.x.zip!
https://github.com/divio/django-cms/archive/release/3.4.x.zip should either be a path to a local project or a VCS url beginning with svn+, git+, hg+, or bzr+

this should work. may be a regression. will try to look into it today.

landed a fix in master

8.2.1 released, which includes this fix. You'll need to re-do the 'install' step.
We also need to write a test for this.

note that we will not resolve dependencies for zipballs

Not even with editable git?

So none of these resolve dependencies:
"e682b37" = {file = "https://github.com/divio/django-cms/archive/release/3.4.x.zip"}
django-cms = {git = "https://github.com/divio/django-cms.git", ref = "release/3.4.x", editable = true}
django-cms = {path = "django-cms", editable = true}

My problem is that I want Django 1.11 with Django CMS 3.4, but the latest CMS version is 3.4.4 which requires django<1.11. They have added support in the release/3.4.x  branch, but it's not released to pypi yet.
So, with pipenv, how can I resolve this?

we only resolve dependencies for editables, and zipballs cannot be editable

django-cms = {git = "https://github.com/divio/django-cms.git", ref = "release/3.4.x", editable = true} should be fine

Ok, I had yet another dependency forcing <1.11.
Thanks!


Help wanted debugging approvalUrl  "Task you're looking for has not been found"

Hello,
I successfully deployed automatiko-approval-task to the NS "tekton-cd" on my k3s-based arm64 cluster. I created a pipeline which successfully creates customruns and approvaltask. The issue is that I am not able to actually approve the task allowing the pipeline to continue.    Currently active profiles: [withemail]
2024-06-21 06:32:54,037 INFO  [io.qua.ope.run.OperatorProducer] (main) Quarkus Java Operator SDK extension 6.2.1 (commit: 2ba533d on branch: 2ba533dc2c2cf7ab3083a641f7a1badca5d68a62) built on Tue Jul 04 13:00:42 GMT 2023
2024-06-21 06:32:54,065 INFO  [io.qua.ope.run.AppEventListener] (main) Starting operator.
2024-06-21 06:32:54,909 WARN  [io.fab.kub.cli.dsl.int.VersionUsageUtils] (InformerWrapper [customruns.tekton.dev/v1beta1] 33) The client is using resource type 'customruns' with unstable version 'v1beta1'
2024-06-21 06:32:54,910 WARN  [io.fab.kub.cli.dsl.int.VersionUsageUtils] (InformerWrapper [approvaltasks.tekton.automatiko.io/v1beta1] 34) The client is using resource type 'approvaltasks' with unstable version 'v1beta1'
2024-06-21 06:32:55,372 INFO  [io.quarkus] (main) automatiko-approval-task 0.10.1 on JVM (powered by Quarkus 3.2.2.Final) started in 4.295s. Listening on: http://<IP_ADDRESS>:8080
2024-06-21 06:32:55,372 INFO  [io.quarkus] (main) Profile withemail activated.
2024-06-21 06:32:55,372 INFO  [io.quarkus] (main) Installed features: [automatiko, cdi, jdbc-sqlite, kubernetes, kubernetes-client, mailer, micrometer, openshift-client, operator-sdk, qute, rest-client-reactive, resteasy-reactive, resteasy-reactive-jackson, resteasy-reactive-qute, security, smallrye-context-propagation, smallrye-health, smallrye-openapi, swagger-ui, vertx, websockets, websockets-client]
2024-06-21 06:32:55,456 ERROR [io.aut.eng.wor.pro.ins.nod.WorkItemNodeInstance] (ReconcilerExecutor-approvals-40) Could not find variable scope for variable "Approval task for " +resource.getSpec().getPipeline()
2024-06-21 06:32:55,457 ERROR [io.aut.eng.wor.pro.ins.nod.WorkItemNodeInstance] (ReconcilerExecutor-approvals-40) when trying to replace variable in string for Work Item Human Task
2024-06-21 06:32:55,458 ERROR [io.aut.eng.wor.pro.ins.nod.WorkItemNodeInstance] (ReconcilerExecutor-approvals-40) Continuing without setting parameter.
2024-06-21 06:32:55,458 ERROR [io.aut.eng.wor.pro.ins.nod.WorkItemNodeInstance] (ReconcilerExecutor-approvals-40) Could not find variable scope for variable emailSubject(resource)
2024-06-21 06:32:55,460 ERROR [io.aut.eng.wor.pro.ins.nod.WorkItemNodeInstance] (ReconcilerExecutor-approvals-40) when trying to replace variable in string for Work Item Human Task
2024-06-21 06:32:55,461 ERROR [io.aut.eng.wor.pro.ins.nod.WorkItemNodeInstance] (ReconcilerExecutor-approvals-40) Continuing without setting parameter.
2024-06-21 06:32:55,461 ERROR [io.aut.eng.wor.pro.ins.nod.WorkItemNodeInstance] (ReconcilerExecutor-approvals-40) Could not find variable scope for variable approversAsString(resource)
2024-06-21 06:32:55,462 ERROR [io.aut.eng.wor.pro.ins.nod.WorkItemNodeInstance] (ReconcilerExecutor-approvals-40) when trying to replace variable in string for Work Item Human Task
2024-06-21 06:32:55,463 ERROR [io.aut.eng.wor.pro.ins.nod.WorkItemNodeInstance] (ReconcilerExecutor-approvals-40) Continuing without setting parameter.
2024-06-21 06:32:55,463 ERROR [io.aut.eng.wor.pro.ins.nod.WorkItemNodeInstance] (ReconcilerExecutor-approvals-40) Could not find variable scope for variable resource.getSpec()
2024-06-21 06:32:55,464 ERROR [io.aut.eng.wor.pro.ins.nod.WorkItemNodeInstance] (ReconcilerExecutor-approvals-40) when trying to replace variable in string for Work Item Human Task
2024-06-21 06:32:55,465 ERROR [io.aut.eng.wor.pro.ins.nod.WorkItemNodeInstance] (ReconcilerExecutor-approvals-40) Continuing without setting parameter.
2024-06-21 06:32:55,514 WARN  [io.aut.eng.add.use.sla.SlackNotificationEmitter] (ReconcilerExecutor-approvals-40) No slack channel webhook url defined for task approval in process single, ignoring slack notification
2024-06-21 06:32:55,515 WARN  [io.aut.eng.add.use.tea.TeamsNotificationEmitter] (ReconcilerExecutor-approvals-40) No slack channel webhook url defined for task approval in process single, ignoring teams notification

Basically I'm running https://github.com/automatiko-io/automatiko-approval-task/blob/main/k8s/v1beta1/kubernetes-basic.yml adjusted for the namespace "tekton-cd" instead of "default".
The pipeline definition itself is configured like this:
  - name: approval
    runAfter: ["pre-deploy"]
    taskRef:
      apiVersion: tekton.automatiko.io/v1beta1
      kind: ApprovalTask
      name: approvaltask
    params:
      - name: pipeline
        value: "$(context.pipelineRun.name)"
      - name: description
        value: "Sample approval from pipeline $(context.pipeline.name)"

  - name: approved
    when:
      - input: $(tasks.approval.results.decision)
        operator: in
        values: [ "true" ]
    taskRef:
      name: print-decision
    runAfter:
      - approval
    params:
      - name: decision
        value: "APPROVED"
      - name: comment
        value: $(tasks.approval.results.comment)

  - name: rejected
    when:
      - input: $(tasks.approval.results.decision)
        operator: in
        values: [ "false" ]
    taskRef:
      name: print-decision
    runAfter:
      - approval
    params:
      - name: decision
        value: "REJECTED"
      - name: comment
        value: $(tasks.approval.results.comment)

Any insights would be appreciated .

it looks like you have not assigned it to anyone so that means no-one will be able to approve it. Here is sample pipeline https://github.com/automatiko-io/automatiko-approval-task/blob/main/k8s/v1beta1/test/pipeline-single.yaml#L18
and here you can see the different options https://github.com/automatiko-io/automatiko-approval-task?tab=readme-ov-file#parameters
and this section can also be useful https://github.com/automatiko-io/automatiko-approval-task?tab=readme-ov-file#my-approval-tasks

Hi,
i had approvers configured beforehand which did not work so I removed them. I added them again but still no task is found.
  - name: approval
    runAfter: ["pre-deploy"]
    taskRef:
      apiVersion: tekton.automatiko.io/v1beta1
      kind: ApprovalTask
      name: approvaltask
    params:
      - name: pipeline
        value: "$(context.pipelineRun.name)"
      - name: description
        value: "Sample approval from pipeline $(context.pipeline.name)"
      - name: approvers
        value:
          -<EMAIL_ADDRESS>      - name: strategy
        value: SINGLE

e.g.
<EMAIL_ADDRESS>/tasks.html does not show anything either when searching for tasks for user<EMAIL_ADDRESS>

can you inspect the state via management ui? https://github.com/automatiko-io/automatiko-approval-task?tab=readme-ov-file#management-view-for-admins-only maybe there will be something interesting there why the tasks are not visible.

I am running automatiko-approval-task standalone. How can I access this management view?

it should be available at this path /management/processes/ui and just a double check by standalone you mean within Kubernetes cluster or outside of it?

Yes, automatiko-approval-task is running on a kubernetes cluster with most recent tekton-operator. What I meant was that there are is nothing else from the automatiko project installed.

Management UI looks like this:

I exported some json files from the UI as well.
387bcbd8-0c80-333e-a010-34dc90dafb5a (1).json
387bcbd8-0c80-333e-a010-34dc90dafb5a.json
Maybe this helps.

thanks for that, I think what is going on - it is actually caused by the base image I suggested in the other issue. It uses java 21 and there is one issue with mvel library that must be upgraded.
Using java 17 should make it work. Could you please rebuild the image with arm64v8/eclipse-temurin:17-ubi9-minimal as base image instead?

Thanks, I will rebuild and deploy on Monday.

just updated all required libraries and built new version that can be pulled from ghcr.io/automatiko-io/automatiko-approval-task:0.11.0-arm64 you can give it a try instead of building yourself.

Hi. I just changed the image to the one you provided. Still the same issue: "Task you are looking for was not found". Anything else I can help with?

can you provide the logs from the pod?

Sure thing:
automatiko-approval-task-89f6546ff-tkhbw.pod.log

can you create new instance of the pipeline. I don't see any issues in the logs as it was before and the last line shows the previous was deleted because it timed out.

I deleted all approval-task resources and referencing pipeline and than created everything anew to be sure. Then I triggered a pipelinerun and attached you'll find the logfile of the new pod.
automatiko-approval-task-89f6546ff-jm5qw.pod.log
I cannot see anything obviously failing. Please note that that neither calling approvalUrl nor tasks.html produce any log entries. Don't know if it's supposed to be like this.

can you do the same as you did here https://github.com/automatiko-io/automatiko-approval-task/issues/18#issuecomment-2182593456

Tab 1

Tab 2

Exports:
automatiko-approval-task-89f6546ff-jm5qw.pod.log
automatiko-approval-task-89f6546ff-tkhbw.pod (1).log
automatiko-approval-task-89f6546ff-tkhbw.pod.log

this all looks as expected, data is properly assigned, do you add user info to the url of the task? -<EMAIL_ADDRESS>is the user who has access to the task to be completed.

here is an url that should give you direct access to the task - it is the one that is sent over email to individuals assigned http://localhost:8080/management/tasks/link/c2luZ2xlfGI0MmMwYTI3LWQxMDEtMzliYy05NWVlLWI5MzFlMGU4Yzg3MDo1MGI4ODg3Ny1iMjQ1LTRmOWQtYTBhYy05NGUwNWYxMjYyNzZ8MWQ1MWUyOGMtOTZiZC00MWFiLWFmZGYtOGI2ZDQ1ODY1ZDhhfGpvaG5AZW1haWwuY29t

I did add the user on friday but forgot today. Sorry for that...
<EMAIL_ADDRESS>Worked now as expected

good to hear that!

Thanks for all your help. I really would like to get this working. Its the last missing piece to get rid of AWS Codepipelines.

no problem at all.
Good luck then, happy to see it is useful :)


CompileFlags.Remove cannot handle arguments and values separated by spaces properly

As discussed on Discord, we have the following test case that fails for ArgStripper at the moment:
TEST(ArgStripperTest, WithSpaces) {
  ArgStripper S;
  S.strip("-iquote foo"); // The pattern defined at CompileFlags.Remove
  std::vector<std::string> Args = {"clang", "-iquote", "foo", "foo.cc"};
  S.process(Args);
  EXPECT_THAT(Args, ElementsAre("clang", "foo.cc"));
}

As the document says,

If the value is a recognized clang flag (like -I) then it will be removed along with any arguments. Synonyms like --include-directory= will also be removed.

therefore, I believe this is an oversight for cases where values for arguments e.g. -iquote /foo/bar are separated by spaces, and we should probably improve later.

same for, eg. g++ -wrapper script. how do i remove that?


Create Blog “charted-lexicon-–-bob-ross”

Automatically generated by Netlify CMS

👷 Deploy Preview for famous-kulfi-ae21db processing.

Name
Link

🔨 Latest commit
4484fb84213564dc35953c3f44e3af8db13b4614

🔍 Latest deploy log
https://app.netlify.com/sites/famous-kulfi-ae21db/deploys/658413e617ca1f000772e006


Restrict specific EmailAccountEvents

We have a system that creates MR account via the userAccountService.CreateAccount.  When created this way they don't want the initial Account Verification email to be sent out to the user.  I have the EmailAccountEventsHandler registered because then the forgot password mechanism will work.  It seems though that this event handler contains all the account email events.  Is the correct way to handle this scenario to create a custom EmailAccountEventsHandler that inherits from the EmailAccountEventsHandler, check the UserAccountEvent type and selectively not run the base.Process if it is the email we don't want to send?  Or am I missing a better way to do this?  Thanks in advance.
Also, in the EmailAccountEventsHandler.Process what is the "extra" object for?

When created this way they don't want the initial Account Verification email to be sent out to the user.

I can't tell if you found a workaround, but my suggestion is to use a different MR Config for that instance of the UserAccountService (IOW, don't register for that event).


How to secure app with SSL

Does anyone have any recommendations on how to run this application with and an SSL certificate? Im hosting the app and the api on 2 separate digitalocean droplets, however i am receiving the http/https mixed content error message.

you add use nginx/haproxy as frontend.


Make TextTheme attributes non-nullable.

Description
This changes the TextTheme values for themes to all be non-nullable instead of nullable. The constructor allows for either the legacy names or the new names to be used, but in the end, because of asserts, one or the other of them must be defined. Because of that, it's allowable to provide a default-constructed TextStyle as a fallback if both are null (which can't happen), so that the values can all be non-nullable.
Tests

Updated tests to not test for nullability of these themes.

Actually, the asserts that I thought protected this change, don't actually do what I thought they did, so this is actually changing the way themes work. We can try again to make it non-nullable once we remove the deprecated APIs.
Closing this.

@gspencergoog they have been removed now.


Add partition capacity filters.

https://github.com/metal-stack/metal-api/pull/219/files

Codecov Report

Merging #73 (8dfeb1d) into master (91c676c) will decrease coverage by 0.01%.
The diff coverage is 0.00%.

@@            Coverage Diff            @@
##           master     #73      +/-   ##
=========================================
- Coverage    4.45%   4.44%   -0.02%
=========================================
  Files          14      14
  Lines        1213    1216       +3
=========================================
  Hits           54      54
- Misses       1152    1155       +3
  Partials        7       7

Impacted Files
Coverage Δ

partition.go
0.00% <0.00%> (ø)

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 91c676c...8dfeb1d. Read the comment docs.


[Event Request] Database::"Sales Line" - Function CheckShipmentRelation - OnBeforeCheckShipmentRelation

We like to request the following Event:
Object: Database::"Sales Line"
Function: CheckShipmentRelation
Publisher Event: OnBeforeCheckShipmentRelation
Reason: To implement custom business logic
Where is the event placed:
local procedure CheckShipmentRelation()
var
SalesShptLine: Record "Sales Shipment Line";
IsHandled: Boolean;
begin
IsHandled := false;
OnBeforeCheckShipmentRelation(Rec, IsHandled);
if IsHandled then
exit;
SalesShptLine.Get("Shipment No.", "Shipment Line No.");
if (Quantity * SalesShptLine."Qty. Shipped Not Invoiced") < 0 then
FieldError("Qty. to Invoice", Text057);
if Abs(Quantity) > Abs(SalesShptLine."Qty. Shipped Not Invoiced") then
Error(Text058, SalesShptLine."Document No.");
OnAfterCheckShipmentRelation(Rec, SalesShptLine);
end;
Event Code:
[IntegrationEvent(false, false)]
local procedure OnBeforeCheckShipmentRelation(var SalesLine: Record "Sales Line"; var IsHandled: Boolean)
begin
end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.


Mount /lib/modules in vms container too

I checked that on Arch based system. For some reason it works on Fedora and Ubuntu without that mount.

This change is

Reviewed 1 of 1 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable

Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


Patch 1

Before to submit your pull-request:

Be sure that the unit tests pass
If you create a new feature, test your code, do not introduce new bugs
Avoid code duplication
Small pull-requests are easier to review and can be merged quickly
1 pull-request == 1 feature/improvement
Non necessary features should be implemented as plugin

See https://github.com/fguillot/kanboard/pull/2349#issuecomment-228112922


Usage example

Hello!
I'm trying to use that gem in my application but i can't do that. I actually don't even know if i'm doing it right. Anyway, i have a jwt token generated by ruby-jwt, using secret key of my rails app.
Sending a requests to my oauth2 api with a header Authorization: Bearer <my token> results in 401. What's weird - i can see in the server console that doorkeeper tries to find that token i'm sending in the doorkeeper tables and, if i understand JWT properly, that should not happen at all?

I would be really thankfull for any usage example or ideas on what might be wrong in my approach. Thanks in advance!

doorkeeper 3.1.0
doorkeeper-jwt 0.1.4

hello,
You dont need the ruby-jwt gem. You just need to specfiy the custom token generator to be used by doorkeeper.
See this https://github.com/doorkeeper-gem/doorkeeper#custom-access-token-generator


Feature enable VPA(Vertical Pod Autoscaling) recommendations in XKF

For us to be able to give simple suggestions to our customers we should install VPA in our clusters and enable it in recommendation mode. This way we can easily provide an overview of this data in our reports and it will also be simple to use for our developers.
One potential solution could be to use FairwindowsOps helm chart since VPA don't supply a official helm chart: https://github.com/FairwindsOps/charts/tree/master/stable/vpa
https://goldilocks.docs.fairwinds.com/installation/#installation-2
To get VPA to work we would need to enable it in kube state metrics: https://github.com/kubernetes/kube-state-metrics/blob/master/docs/verticalpodautoscaler-metrics.md
Great overview of VPA: https://povilasv.me/vertical-pod-autoscaling-the-definitive-guide/#
There are a two grafana dashboards that we can take inspiration from: https://grafana.com/grafana/dashboards/?search=vpa

Installed goldilocks manually https://goldilocks.docs.fairwinds.com/ in our dev clusters after applying VPA and helps out to generate the VPA config.
The VPA it generates looks like this
$ k get verticalpodautoscaler goldilocks-podinfo -o yaml
apiVersion: autoscaling.k8s.io/v1
kind: VerticalPodAutoscaler
metadata:
  labels:
    creator: Fairwinds
    source: goldilocks
  name: goldilocks-podinfo
  namespace: lab
spec:
  targetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: podinfo
  updatePolicy:
    updateMode: "Off"
Status:
  Conditions:
    Last Transition Time:  2021-12-30T14:18:59Z
    Status:                True
    Type:                  RecommendationProvided
  Recommendation:
    Container Recommendations:
      Container Name:  podinfo
      Lower Bound:
        Cpu:     15m
        Memory:  29865759
      Target:
        Cpu:     15m
        Memory:  36253748
      Uncapped Target:
        Cpu:     15m
        Memory:  36253748
      Upper Bound:
        Cpu:     1130m
        Memory:<PHONE_NUMBER>
Events:          <none>

and if you use there dashboard you will see something like this:

To use goldilocks we have to label our namespaces with: kubectl label ns lab goldilocks.fairwinds.com/enabled=true.
I haven't read the code of goldilocks in detail but it who knows it might be possible to change the tag.
And of course it's even more magic in our cluster... but it's worth giving a thought.

Been thinking about more about this issue. What goldilock crates for us is just a vpa config and provide us with a UI to view the data that vpa generates.
We probably won't use this UI any way and instead focus in on grafana dashboards to provide our users with this data.
I think to generate the needed vpa config we needed, we should be able to use opa admission webhooks to create the vpa config any time we create a job/deployment or statefulset.
Let's think about this a bit next year instead :)

Have discussed this a bit more with Philip and we won't use goldilocks, instead we will rely on OPA.
Will continue to work on this in the open PR for VPA.

Sadly OPA can't manage resources that isn't being created. We would have to build a separate controller for this. Since goldilocks already exists we decided to use it.


Update postpromoter.js

Allows the bot to setup a maximum ROI, decreasing the weight of the vote if the ROI at the voting time is greater than the one defined in config.json by the variable 'max_roi'.

The Bidding Round Details of bottracker should be changed to show the correct information if the round limited the ROI in 10%.
The api shows the information of the percentage of the vote correctly, but the bootracker shows the percentage based on the bidder value
See the first round with limited maximum ROI at 10%.  One can see that the two bidders received a weight vote of 84.92% and 6.23%, totaling 91.15%.
Considering the price at the moment of this post (1 SBD = $3.65), the vote value should be: 2,19 SBD and 0,16 SBD, respectively. Instead of that, bottracker shows 93.17% | 2.40 SBD  and 6.83% | 0.18 SBD , respectively.  So, it is miss-informing the bidders about the real value of the vote received from the bot.

OUTPUT of https://www.brupvoter.com/api/bids
{"current_round":[{"amount":0.1,"currency":"SBD","sender":"rezoanulvibes","author":"rezoanulvibes","permlink":"how-to-get-over-your-fear-of-failure","url":"/life/@rezoanulvibes/how-to-get-over-your-fear-of-failure"}],"last_round":[{"amount":1.5,"currency":"SBD","sender":"liberviarum","author":"liberviarum","permlink":"saturday-us-indexes-analysis-2018-03-03-5ecf2aa9eea6a","url":"/investment/@liberviarum/saturday-us-indexes-analysis-2018-03-03-5ecf2aa9eea6a","weight":8492},{"amount":0.11,"currency":"SBD","sender":"jjerryhan","author":"jjerryhan","permlink":"rxlcu","url":"/kr/@jjerryhan/rxlcu","weight":623}]}

OUTPUT OF BOTTRACKER @brupvoter Bidding Round Details:

Sender
Bid
Bid Value (USD)
Vote %
Vote Value
Memo

@liberviarum
1.50 SBD
$5.49
93.17%
2.40 SBD
https://steemit.com/investment/@liberviarum/saturday-us-indexes-analysis-2018-03-03-5ecf2aa9eea6a

@jjerryhan
0.11 SBD
$0.40
6.83%
0.18 SBD
https://steemit.com/kr/@jjerryhan/rxlcu


Correlation between translation file and name in app.json

This page mentions that there is 'no enforced naming' but my observations say otherwise. See my reported issue in the AL repo https://github.com/microsoft/AL/issues/5485. I've found that there does seem to be a correlation between the name property in app.json and the name of the xlf files, at least when I create a new workspace for a modified Base Application.
Publishing the app from VSCode only works for me if I make sure that the translation files have the same name as the name in app.json

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

ID: 1d8610a4-2eb0-7924-19a5-a2ab0d6b98a5
Version Independent ID: a33fb833-bb5a-e54e-78aa-fbd6a61a088c
Content: Working with Translation Files - Business Central
Content Source: dev-itpro/developer/devenv-work-with-translation-files.md
Service: dynamics365-business-central
GitHub Login: @SusanneWindfeldPedersen
Microsoft Alias: solsen

Hello, this issue is currently being addressed in https://github.com/microsoft/AL/issues/5485#issuecomment-559439349.

This seems to have been fixed in the NavContainerHelper now. Closing this issue.

well the Doc says there is no naming enforcement, but there does seem to be because it only lets me create the package when the translation file name matches the name property in app.json.


Feature request: Update the goggles via the Wifi module

It would be great to be able to ppdate the goggles firmware via the Wifi module.
One of the way would be to create a small localhost server on the goggle, that would serve a simple webpage where you could drop the zip or bin files to be flashed.
Also, that web server could display an information page with all the settings, versions, and configuration used.

solved.

@ligenxxxx Would you please have a link to the commit and/or updated documentation to see how to access such webserver à-la ExpressLRS?


An inplace operation in the forward process

Hi,
I found an inplace operation in the forward process of ViTDecoder:
https://github.com/thuanz123/enhancing-transformers/blob/b1bdeaf87cc78cc3aeb20d1312439423a35a52fd/enhancing/modules/stage1/layers.py#L210
which may cause the error:
RuntimeError: one of the variables needed for gradient computation has been modified by an inplace operation
This error can occur in such use cases:
decoder_a = ViTDecoder(**decoder_config_a)
decoder_b = ViTDecoder(**decoder_config_b)
rec_a = decoder_a(quant)
rec_b = decoder_b(quant)        # Above error will occur when backwarding, as the quant is modified by the above inplace operation here

Maybe it would be better to change it to:
token = token + self.de_pos_embedding
P.S. Perhaps this operation also occurs elsewhere, I did not double-check other places.

Hi @VanderHua, sorry for late reply. Thank you for catching this. It should be good now.


improvements to FastEmbed integration

While looking at #554 and at the cookbook, I found several opportunities to improve this integration.
Fixes #554

sorry I had to come to the office to handle packaging, only now I saw this