feat(ci): add automatic pr labeler

Signed-off-by: Shumpei Wakabayashi<EMAIL_ADDRESS>Description

This PR labels opening PR automatically according to label-path-mapping.yaml once a commit is pushed.
Labels helps to visualize what category the PR belongs to.
Related links

https://github.com/actions/labeler
Tests performed

I tested this in my private environment.
Notes for reviewers

The target files are almost all in this repository except LICENSE, NOTICE, *.repos
Once a PR is labeled, Labels won't disappear automatically even when the target files disappear at the future commit.

Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.

[x] I've confirmed the contribution guidelines.
[x] The PR follows the pull request guidelines.

In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.

[ ] The PR follows the pull request guidelines.
[ ] The PR has been properly tested.
[ ] The PR has been reviewed by the code owners.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[ ] There are no open discussions or they are tracked via tickets.
[ ] The PR is ready for merge.

After all checkboxes are checked, anyone who has write access can merge the PR.

@xmfcx Please comment if you have any thoughts.

Thank you for fixing title.


fix calculate total_rows in many_to_many_hash_partition

Describe the bug
       let total_rows: usize = output_partitions.iter().map(|x| x.len()).sum();
is sum the total RecordBatch number.
For now empty RecordBatch will send to next plan so the total_RecordBatch equals total_rows
To Reproduce
https://github.com/apache/arrow-datafusion/pull/1459
Expected behavior
let total_rows: usize = output_partitions             .iter()             .map(|x| x.into_iter().map(|x| x.num_rows()).sum::<usize>())             .sum();
is sum the total row number

Closed by #1463


Wrong combiTimeTable output when startTime < first table point

Reported by filip.jorissen on 1 Sep 2015 14:10 UTC
When combiTimeTable.startTime is smaller than the first timestamp of a table then the wrong output values are returned. Consider the attached example, which produces the desired results and then set combiTimeTable.startTime to -1e7. Results are not the same for these two cases.

Migrated-From: https://trac.modelica.org/Modelica/ticket/1771

Comment by beutlich on 1 Sep 2015 14:52 UTC
If combiTimeTable.startTime is -1e7 then combiTimeTable.y![1] extrapolates to constant 1 since 1e7 is greater than combiTimeTable.t_max = 2049095. This is the expected behaviour, right?

Comment by filip.jorissen on 1 Sep 2015 15:36 UTC
It seems I misinterpreted the implementation of the model. 'startTime' has description "Output = offset for time < startTime". This does not seem to be correct? It's rather something like "Output = table(time-startTime)", i.e. it shifts all outputs in time. Based on this I was able to sort out the bug I was experiencing. If my interpretation is correct I suggest to adjust the description of 'startTime' and possibly rename the parameter too.
Filip

Comment by beutlich on 1 Sep 2015 18:24 UTC
It's rather like "output = offset + if time < startTime then 0 else table(time-startTime)". I guess you did expect "output = offset + if time < startTime then 0 else table(time)". Thus indeed the table is shifted in time. At least it is documented.
Most of the source blocks have this parameter startTime, thus it is not simple thing to change.

@Mathadon I was working on #2190 (and assembled a solution utilizing CombiTimeTable) until I noticed that both IntegerTable and BooleanTable are based on absolute time, whereas CombiTimeTable is relative to startTime (with 0 as default). 😕 Thus my solution for #2190 only works for non-negative simulation start times right now. Therefore, I want to introduce a new public Boolean parameter to CombiTimeTable which ignores the startTime shifting. What name would you recommend: ignoreStartTimeShift, shiftByStartTime, startTimeShift? It then is y = offset + if time < startTime then 0 else table(time - startTime) if ignoreStartTimeShift is false and y = offset + if time < startTime then 0 else table(time) if ignoreStartTimeShift is true.

I see you guys migrated to GitHub, awesome!
Your question makes me wonder what the use of startTime is in the first place? I see that it pops up in several blocks but I'd rather create a dedicated SISO block (y =  if time > startTime then u else offset) for such functionality rather than integrating it into the Tables (or Ramp, Sine, ...) blocks.
Wouldn't it also make sense that CombiTimeTable, IntegerTable and BooleanTable have the same interface? I.e. either all or none of them have startTime. I'm not sure if you that would avoid the need for your new parameter?
In y = offset + if time < startTime then 0 else table(time - startTime) you use the same parameter startTime for two distinct functionalities, which is something I generally try to avoid. Wouldn't it make sense to introduce a second parameter parameter SI.Time timeDelay = startTime  or something. This would avoid the need for the new boolean parameter?
In response to your question: I'd suggest useStartTimeShift. I think this is more easily interpretable than the other options :)
Sorry if I leave you with more new questions than answers!

Thanks @Mathadon for your fast reply. You are totally right about your thoughts

BooleanTable, IntegerTable and CombiTimeTable (="RealTable" if you like) should have the same options regarding start time and time shift
Using startTime also for the shifting is the root of the trouble you were facing and I am facing now. I believe, adding a new Parameter for the shifting (with default value set to startTime for backward comaptibility) can resolve the problem. This way you can set start time and time shift indepently, which is what you requested and we need,

Resolved in master branch.


Bk/rename day and month

Details
Many people are confused by the purpose of Day. Is it like Date? Is it like DateComponents? Why can't I initialize it myself?
Day (and Month) are really just small structs that contain some components of a day / month. They're much more similar to DateComponents, but because they're only created internally and vended out through the public API of the calendar, we can guarantee a few things:

They're Orderable in relation to any other date that's vended out of the same CalendarView instance
They're valid for whatever Calendar and date range the CalendarView was initialized with

People should treat them like read-only bags of data. They just exist as a way for CalendarView to pass some data back to API consumers. Hopefully these new names and documentation tweaks help clarify that a bit, and people stop asking why their initializers aren't public.
Related Issue
N/A
Motivation and Context
Improve API and make it more self-documenting.
How Has This Been Tested
Example app
Types of changes

[x] Docs change / refactoring / dependency upgrade
[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[x] Breaking change (fix or feature that would cause existing functionality to change)

Checklist

[x] My code follows the code style of this project.
[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.

FYI after this is merged, I'll bump everything to v2.0.0🥳


Default voulme

Can put a config parameter to setup a default volume, maybe a global param and individual input param?
Thanks

Do you mean that when you turn on the receiver, it also sets the volume to this default value? Or a separate switch for a default volume? I know you can set a default startup volume level in the Denon settings. At least In my x-1400h it is possible.

Yes, a default startup volume level in the global config and an override specific default volume for each input, what do you think? :)

This might be possible to add. But I thought something like this is already possible through the shortcuts app. Not sure if this works as expected. Will do some tests :)

I understand, but remember, shortcuts has only one iCloud account scope, if do you have more than one iCloud in you home (means family) all the devices need to be configured with the respective shortcut

Yeah that's true indeed. I didn't think about that Will check if I can integrate it in the current plugin. Thank you for your feedback

Thanks to you for this excellent plugin

@GerSant Just pushed a test version to the branch DefaultVolume. Do you know how to test this through git? I'm interested in if you agree with how this works?
The issue is that you can't set the volume directly after changing the input. I added a delay of 2 sec after changing the input. In my case this is around the same time it takes to change the input so you don't notice the delay.


Test suites aren't showing up on exercism.io

The exercise pages have a "Test Suite" tab, but it seems to be broken for the Elm exercises.
For example...
The Python test suite: http://exercism.io/exercises/python/hello-world
The Elm version is broken: http://exercism.io/exercises/elm/hello-world
Is there something we can/should tweak to fix this?

Yeah, this has to do with the test_pattern in the config.json. If you delete the test_pattern key the test suites should show up (since they have [Tt]est in the name).


Add optional exception attribute to ErrorArtifact

As discussed on discord channel back in March (handling content management policy error), adding optional exception attribute to ErrorArtifact.
This will allow to check Exception instance against eg. OpenAI exceptions to handle it properly in your application.

Sure thing, added.

Ah could you also add a section in CHANGELOG.md Added section?
Something like:
- Optional `exception` field to `ErrorArtifact`.


[FEATURE] Implement transaction context

Requirements
We should implement transaction context propagation
What is transaction context?
From the spec:
Transaction context is a container for transaction-specific evaluation context (e.g. user id, user agent, IP).
Transaction context can be set where specific data is available (e.g. an auth service or request handler) and by using the transaction context propagator it will automatically be applied to all flag evaluations within a transaction (e.g. a request or thread).
Transaction context has been added in the following PR: https://github.com/open-feature/spec/pull/227
Examples:
Implementation
The JS SDK implementation is implemented as a POC that is currently being hardened.
https://github.com/open-feature/js-sdk/blob/main/packages/server/src/transaction-context/transaction-context.ts
We'd need to define some interfaces to support the construction various context propagation mechanisms, for instance, one based on the flask context.
Usage
An example usage for the JS SDK implementation of the feature is the usage for propagating HTTP request information in the NestJS SDK.
https://github.com/open-feature/js-sdk/blob/main/packages/nest/src/evaluation-context-interceptor.ts#L31

We could prototype a propagator based on contextvars which are sort of threadlocals that also work well in async contexts. This would be framework-agnostic and should be able to work well with both Django and Flask.

Must the API be designed to lexically scope the transaction context, as in a context manager, so that it cleans up after itself? Or is it permissible to set the transaction evaluation context and return, leaving the cleanup for a separate method?
What happens if it's called nested? Does the nested context override the previous and then restores it on exit?

I started an implementation similar to the ones in Node and Java, will try to finish tomorrow :)


request.exceptions.ConnectionError: HTTPConnectionPool(host='<IP_ADDRESS>', port=13520): Max retries exceeded with url

Issue Description / 问题描述
request.exceptions.ConnectionError: HTTPConnectionPool(host='<IP_ADDRESS>', port=13520): Max retries exceeded with url: /chat/completions (Caused by NewConnectionError (failed to establish a new connection: [Errno 111] Connection refused'))
Constructing an Agent: PlanGenerateAgent.
Steps to Reproduce / 复现步骤
docker compose up
docker run xagentllama
When I input the sentence in the WebUI. The above error comes. How to solve this ?
By the way, the python run.py works using xagentllama. But the WebUI occurs this error....

Please attach relevant log.

-=-=-=-=-=-=-=  GENERATE INITIAL_PLAN -=-=-=-=-=-=-=
Trackback (most recent call last):
File " /usr/local/lib/python3.10/site-packages/urllib3/connection.py", line 203, in _new_conn
sock = connection.create_connection(
File " /usr/local/lib/python3.10/site-packages/urllib3/util/connection.py", line 85, in create_connection
raise err
File " /usr/local/lib/python3.10/site-packages/urllib3/util/connection.py", line 73, in create_connection
sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused
The above exception was the direct cause of the following exception:
Trackback (most recent call last):
File " /usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 790, in urlopen
response = self._make_request(
File " /usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py", line  496, in_make_request
conn.request(
File " /usr/local/lib/python3.10/site-packages/urllib3/connection.py", line 395, inrequest
self.endheaders()
File " /usr/local/lib/python3.10/http/client.py", line 1278, in endheaders
......................
File " /usr/local/lib/python3.10/site-packages/urllibs/connection.py" line 218, in _new_conn
raise NewConnectionError(
urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection object at 0x7fbf8ec074c>: Failed to establish a new connection: [Errno 111] Connection refused
The above exception was the direct cause of the following exception:
Trackback (most recent call last):
.....
request.exceptions.ConnectionError: HTTPConnectionPool(host='<IP_ADDRESS>', port=13520): Max retries exceeded with url: /chat/completions (Caused by NewConnectionError (failed to establish a new connection: [Errno 111] Connection refused'))

I believe you can do more than that.

You should not use the address <IP_ADDRESS>:13520 in your config if you are using webui, which is running inside a docker container. This network address will be send to the port inside XAgentServer container, which is not correct at all. To use with webgui, you should attach XAgentGen container to network bridge tool-server-network and set the host name in request url to the container's name.

You should not use the address <IP_ADDRESS>:13520 in your config if you are using webui, which is running inside a docker container. This network address will be send to the port inside XAgentServer container, which is not correct at all. To use with webgui, you should attach XAgentGen container to network bridge tool-server-network and set the host name in request url to the container's name.

How to attach XAgentGen container to network bridge tool-server-network. Could you please give more details?  And where to find the  tool-server-network.

The tool-server-network, as a bridge network, acts as a virtual link between Docker containers, is defined in docker-compose.yml. You can add --network tool-server-network to docker run command to join the network.

The tool-server-network, as a bridge network, acts as a virtual link between Docker containers, is defined in docker-compose.yml. You can add --network tool-server-network to docker run command to join the network.

Then, use the http://<IP_ADDRESS>:13520/chat/completions to request the XAgentGen?


[ Keyboard usability enhancement ] Dismiss find pane by hitting

Hi,
Whenever I look for any text after the search is done the only way to dismiss the search window is to hit Esc; a really good usability enhancement would be to automatically close the search pane and position the cursor at the first occurrence of the search, just like the search function works in Emacs or Vim.
Cheers.

I believe this has been implemented as an option. See https://github.com/atom/find-and-replace/pull/427. Please let us know if this is not the case.

Hello @lee-dohm this is exactly what I was looking for. What I fail to see however is how to toggle the functionality, could you point to the right place?

It is called "Scroll To Result On Live-Search" in the find-and-replace package:

Launch Atom
Open the Settings View using Cmd+, on OS X or Ctrl+, on other platforms
Click the Packages tab
Search for "find-and-replace"
Click the Settings button for the find-and-replace package
Scroll down to "Scroll To Result On Live-Search"
Ensure the setting is checked

Nice, thank you!!!


use external API from acs-engine

@pweil- @kargakis @mjudeikis fyi
Based on #59
Removes api.Manifest and replaces it with acs-engine internal and external api.  This is currently at https://github.com/jim-minter/acs-engine/commit/osaapi
Ugly but it works.

tested, lgtm

@pweil- this works even though it's not that pretty.  @mjudeikis has got a PR that builds on it.  Up to you but I'd be inclined to hit merge and deal with any fallout ;)

https://github.com/jim-minter/azure-helm/issues/63 might be my env problems, but would be nice if anybody else could try

Closing for #66


release: incorrect sourcemaps

In previous releases like alpha.4, the sourcemap paths were correctly resolved in relative to the transpiled file.
This has changed in alpha.5.
//# sourceMappingURL=/usr/local/google/home/jelbourn/material2/tmp/broccoli_type_script_compiler-input_base_path-IydvmmBU.tmp/0/components/slide-toggle/slide-toggle.js.map

Since, the sourcemap paths are not valid anymore, SystemJS is not able to create a bundle of Angular Material 2 components. (applies also to the CLI - uses SystemJS builder as well).
I temporary fixed this, by stripping the souremap paths out of the components.

Hello,
there is the same problem with the overlay contained in @angular2-material/core/overlay/overlay.js

@vincentpalita Not only the overlay is affected. Generally all distribution files are affected.

@benjaminkitt  Is there a convenient solution to strip out these strings automatically on Windows machines?

The problem of sourceMap url not being found by systemjs-builder is apparently a bug introduced in version 0.5.17. Please see the related tickets: https://github.com/systemjs/builder/issues/606 & https://github.com/systemjs/builder/issues/610
If you specify in your package.json that you want to use version below (ie: 0.5.16) it will build fine.
I think that is better to do swtich systemjs-builder version instead of modifying the local code of the @angular2-material module.
Why? --> Because if you use automated builds without versioning your node_modules folder and run a npm install at each run, then you will download back the current alpha.5 version with bad sourcemap urls.

Interesting. So when I run npm install, it overwrites what's already installed even if the two versions are the same?
I took your advice and replaced 0.5.18 with 0.5.16 for the time being.  Thank you.

@RoxKilly : If the version of package.json differs with the installed one, it will download the version of package.json in favor of the already installed one.
Glad it helped :)

Just to be clear, the working version of systemjs-builder is 0.15.16, not 0.5.16.  I got this to work, but only by updating the angular-cli/package.json. Updating my own application's package.json did not work as npm still downloaded the old version for angular-cli.

@ofuangka thanks for reporting my typo here :)
I don't use angular-cli, but it sounds strange that you had to change this inside the module's dependencies.
I would recommend to use a npm-shrinkwrap.json as below instead:
{
  "dependencies": {
    "angular-cli": {
      "version": "1.0.0-beta.5",
      "from"<EMAIL_ADDRESS>      "dependencies": {
        "systemjs-builder": {
          "version": "0.15.16",
          "from"<EMAIL_ADDRESS>        }
      }
    }
  }
}

This allow you to fix a dependency for a module.

@vincentpalita In SystemJS Builder  v0.15.19, you're able to properly disable the sourceMaps validation / tracing. See systemjs/builder#612

@DevVersion, yes I saw that yesterday :)
Thank you for telling me though!
Have a good one!

@benjaminkitt BTW the FreeBSD command for stripping out source map comment lines didn't work for me (OS X 10.11). Instead I used regex search in Sublime: ^.*jelbourn/material2.*\n.

I just added this file to my build process which works really well.
#! /bin/bash
# Workaround for https://github.com/angular/material2/issues/541

if [[ "$OSTYPE" == "darwin"* ]]; then
  find node_modules/\@angular2-material/ -name "*.js" -exec sed -i "" 's/\/\/# sourceMappingURL=.*\//\/\/# sourceMappingURL=/' {} \;
else
  find node_modules/\@angular2-material/ -name "*.js" -exec sed -i 's/\/\/# sourceMappingURL=.*\//\/\/# sourceMappingURL=/' {} \;
fi

The sourcemap fix on systemjs is not working properly. Basically is not sending the sourceMaps option to all the functions that is needed and that causes the build to fail cause on some cases it still looks for the sourcemap. @guybedford already added a fix for this a couple of days ago but hasn't pushed the new version with that new patch.

Facing the same issue here as well... Initially the fix angular/angular-cli#847 seemed like the root cause but the source map issue started popping after the fix as mentioned in angular/angular-cli#847

The SystemJS builder issue where it was throwing on invalid input source maps is resolved in the latest builder release.

@guybedford Have you managed to make it work?
Just using the most recent SystemJS version (0.19.31 right now) in my package.json and rebuilding with ng build -e prod doesn't seem to fix it, still getting the error.


Added feature to load static home page

If the site builder finds a home.html in the site-settings folder for the content it will use that instead of the standard home page.

👍


Dataflow take over with Gateway

hi,
I would like to amend this text:
Take ownership: If you're not the owner of the dataflow, many of these settings are disabled. To take ownership of the dataflow, select Take over to take control. You are prompted to provide credentials to ensure you have the necessary access level.
Gateway Connection: In this section, you can choose whether the dataflow uses a gateway, and select which gateway is used.
to:
Take ownership: If you're not the owner of the dataflow, many of these settings are disabled. To take ownership of the dataflow, select Take over to take control. You are prompted to provide credentials to ensure you have the necessary access level.
Gateway Connection: In this section, you can choose whether the dataflow uses a gateway, and select which gateway is used.
In case you have specified the Gateway as part of editing dataflow, upon taking ownership you may need to update credentials via the edit dataflow option.
Thank you.

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

ID: 86b02e80-2a27-b97e-06b2-b71cfc1bc379
Version Independent ID: 098653b6-3a0b-3455-80a2-b082b8b53bb8
Content: Configure and consume a dataflow - Power BI
Content Source: powerbi-docs/transform-model/dataflows/dataflows-configure-consume.md
Service: powerbi
Sub-service: pbi-dataflows
GitHub Login: @davidiseminger
Microsoft Alias: davidi

Thanks for your comment, @MartinaPoddana. This issue has been assigned to the doc author for review.

Looks like a good addition, I've added that to the article. Thanks!


Refactor code generation to use a maintainable approach (templates or abstraction)

Fixed by https://github.com/helidon-io/helidon/pull/7256


Added event validation. Enabled by configuration parameter Validatecheck

I opened a discussion (email list and issue https://github.com/edgexfoundry/export-go/issues/19)  about this commit and the place to put the validation, as nobody commented, I understand that this place is ok.

If adding a new entry to the configuration.json files, doesn't this also need a new entry in the config-seed service to be found in Consul? Otherwise when run with Consul "Validatecheck" will always be false (verified locally).
Also, needs tests on the new functions in core/data/validate.go

FYI, PR is failing to build on this line:
github.com/edgexfoundry/edgex-go/core/data
core/data/validate_test.go:233:16: undefined: isValidValueDescriptor_private

Added validate.go missing in the last commit, and some changes suggested by @feclare


Coping items

First of all, awesome project!
I wanted to ask if it is possible to copy item with CTRL+c from one group and insert it to another group with CTRL+v? That both groups would have this particular item as a child. Or add an option if node is moved or duplicated while dragging.

Hi  @JustynaKK, react-complex-tree just manages the render-side of the tree, the tree state is managed outside via props, so changes to the state such as copying needs to be implemented outside of the library, and thus is out of scope for this library. But it is possible to add on your own to your tree.

Thank you for the response, I figured out how to add required interactions:)
I also wanted to ask, if you could advise what would be the best way to do following: to have an input above the tree to search through all items of the tree, expand groups in which there is a match, and hide all items there is no match (that there is only filtered state showed). Would be very grateful for any hint.


Visibile tabs aren't displaying by default for selected cloud

What type of suggestions?
Wrong Information
What page is concerned?
https://docs.kubefirst.io/civo/deprovision
What is the issue?
I assume it's an issue everywhere, not just for this page, but when I'm looking at the Civo documentation, the Civo tab for code examples or screenshots should be the Civo ones, not the first one which is AWS.

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Fix in revamp of vnext deprovision pages


Fix comments for #2208

Fixing comments for merged PR #2208.

Coverage remained the same at 64.88% when pulling 1f7ce1589d9271a1eaaa5b73aa38978fc80d71e1 on compulim:fix-2208 into 18a9a3bae57d2b42bc7bf2836f9f33d0b33afc45 on microsoft:master.


React useQuery returns data from cache with "network-only"

Describe the bug
Hello. In my project there is a "transactions" query with relay pagination.
cacheExchange resolvers:
Query: {
    transactions: relayPagination(),
}

I use data returned from useQuery with  requestPolicy: "network-only". And loading 10 items per request (passing "first" and "after" arguments)
const [{ data, fetching, error }] = useQuery({
    query,
    variables: { first: 10 },
    requestPolicy:  "network-only",
    pause
});

Next pages I load through  graphqlClient returned from useClient()
And data from  useQuery()  is updated after completion graphqlClient.query(...)
For example, scenario with unexpected behaviour:

I go to transactions page and load two pages sequentially, after that  data.transactions.edges return 20 items, its ok.
I go to another page, so component with useQuery was unmount.
I go to transactions page again. useQuery starts new request for first page, arguments  { first: 10 }, its still ok.
But data.transactions.edges  will still return 20 items. But I expected 10 items when  "network-only" used.

Docs says that "network-only will always send an API request and will ignore cached results."
Сan you give me a hint how to get the expected behavior? Or is it a bug?
Reproduction
https://codesandbox.io/s/solitary-bird-ggf8cq
Urql version
2.2.1
Validations

[X] I can confirm that this is a bug report, and not a feature request, RFC, question, or discussion, for which GitHub Discussions should be used
[X] Read the docs.
[X] Follow our Code of Conduct

I can convert this in a discussion in a bit, unless we find a resolution quickly, but this looks more like a question to me.
In short, just because you set network-only, that doesn't mean that Graphcache is fully bypassed. In fact, request policies dictate when a request should be made, but not how the response is handled. If that was the case, then any response from the GraphQL schema wouldn't run through resolvers and you'd get inconcistent results.
So to apply that to your specific case, the relayPagination helper is a quick and easy way to integrate Relay Pages, but network-only does not mean that resolvers are bypassed. In fact, the resolvers are still applied to your API result, and triggering a network-only operation only means that you'll get a result from the API rather than the cache (you're telling the cache to immediately disregard its data and get an API result)
That API result is still however:

written to the cache
resolved against the cache
updates and then resolvers will be run

Personally, if you're looking for a full solution, that's why we tell people when asked that infinite pagination is a UI-concern. Your UI basically displays multiple pages, and relayPagination is just a quick and dirty way for the cache to take over that concern.
That's why we've got a separate non-normalised-cache pattern here: https://formidable.com/open-source/urql/docs/basics/ui-patterns/#infinite-scrolling
However, otherwise, be aware that resolvers always apply for the sake of consistency to API results as well, so that they actually consistently apply their changes and transformations to your GraphQL data.

Thanks for the answer. Well, I understand your point of view, this issue can be transformed into a discussion


fix: ensure scalar examples are consistent

Heya! While working with spectaql, I noticed that example outputs produce random results - this can be an issue, since it means that multiple runs of spectaql with the same input can very easily produce different output.
Ideally, this shouldn't be the case, and all output should be as consistent and reproducible as possible.
Maybe this isn't the right way to go about this! :tada: And there's a neater way to do it, maybe a setting that allows for getting reproducible output by inspecting the environment/etc - happy to update the PR to do something else, if this approach isn't desirable.

HI there @jedevc and thanks for this!
I'm going to have to think about this a bit more as I think there's maybe a different approach. This idea/problem has come up before and I think the solution is more complicated than these changes right here.

Thanks @newhouse! Feel free to let me know if you have ideas for a different approach, I'm happy to dive in a bit more, I'm currently (ab)using a fork so we can get this setup working, but I'd much rather use upstream as much as possible! :tada:
Maybe an approach where we could take the hash of some canonicalized version of the graphql schema, and then use examples[hash(<schema hash> + <example name>) % len(examples)]? Then you could still have the random examples, but they're now deterministic based on the hash of the schema? (though that is still a bit weird that changing unrelated parts of the schema causes changes in the examples for other parts of the schema).

I was disappointed to see the large diffs created by the generator, as it means committing the output to a repository becomes complicated and any 'real' diffs become lost in the noise, among other complications. Would love to see an update from the maintainer.


PIRK-54: Log Levels not Functioning

Not tested this PR thoroughly, in the Log file I do see both Info and Debug showing up, seems like we may need to add a filter at appender level to filter out the info messages.
If someone else could test this on Console output, and are still seeing both info and debug; we could consider adding a filter and that should only display the debug statements.

I'll look - the way that I've always used log4j is that the log messages from the selected level and up in the stack come through - so, for debug, info would emit as well.

I guess then we are good with this PR, will let you merge after running thru a few tests.

Levels used for identifying the severity of an event. Levels are organized from most specific to least:

OFF (most specific, no logging)
FATAL (most specific, little data)
ERROR
WARN
INFO
DEBUG
TRACE (least specific, a lot of data)
ALL (least specific, all data)

Typically, configuring a level in a filter or on a logger will cause logging events of that level and those that are more specific to pass through the filter. A special level, ALL, is guaranteed to capture all levels when used in logging configurations.

https://logging.apache.org/log4j/2.0/log4j-api/apidocs/org/apache/logging/log4j/Level.html

+1 - working as expected


Given example format for env.bosh.group[s] in CPI API doc

Signed-off-by: Brian Cunnie<EMAIL_ADDRESS>#127510881

We have "unwrapped" the long line.
We have made the group names generic, lest people are tempted to assume the Security Group names are formats that are set in stone.


Make serialization of JWT succeed (called due to calling compact)

Rely on GSON JJWT serializer
This closes #2529

Pull Request Test Coverage Report for Build 6281

2 of 2 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.0008%) to 55.645%

Totals

Change from base Build 6264:
0.0008%

Covered Lines:
16037

Relevant Lines:
28820

💛  - Coveralls


graceful-fs broken: Error: Cannot find module './clone.js'

graceful-fswas recently updated and broke next.js. Here's the link to the issue in their repo: https://github.com/isaacs/node-graceful-fs/issues/139

A fix was released https://github.com/isaacs/node-graceful-fs/issues/139#issuecomment-435514499


Docker image fails to run when using the recommended Docker file from this repo

I created a Nuxt.js application which uses Puppeteer in an express end point. The application only works on localhost Mac OS. When I run the application in Cloud Foundry Linux Debian that specific route times out as I have seen other people on the internet have the same problem when deploying to a Debian production environment.
Due to this, I decided to use the Docker example from this repo. I put my application in Docker and was able to replicate my initial issue. At this point I moved to update the Docker file with the recommended Docker file in this repo which has since then produced this error.

Failed to move to new namespace: PID namespaces supported, Network namespace supported, but failed: errno = Operation not permitted

I have tried every thing that exists on the internet to overcome this. What steps must I take beyond the recommendation for the Docker file to run this image?
I would be happy to run it as root with --no-sandbox but I am not sure how that can be done from the Docker file.
Due to the trouble I have faced I am wondering if this is a bug?
What steps will reproduce the problem?
Create Docker file, paste the Docker file from this repo in and
Run -
docker build -t user/pdf-generator .
Then run -
docker run -p 3000:300 user/pdf-generator
Please include code that reproduces the issue.
My Docker file -
FROM node:8-slim

RUN apt-get update && apt-get install -yq libgconf-2-4

RUN apt-get update && apt-get install -y wget --no-install-recommends \
    && wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - \
    && sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list' \
    && apt-get update \
    && apt-get install -y google-chrome-unstable fonts-ipafont-gothic fonts-wqy-zenhei fonts-thai-tlwg fonts-kacst ttf-freefont \
      --no-install-recommends \
    && rm -rf /var/lib/apt/lists/* \
    && apt-get purge --auto-remove -y curl \
    && rm -rf /src/*.deb

ADD https://github.com/Yelp/dumb-init/releases/download/v1.2.0/dumb-init_1.2.0_amd64 /usr/local/bin/dumb-init
RUN chmod +x /usr/local/bin/dumb-init

RUN npm i puppeteer

# Add user so we don't need --no-sandbox.

What is the expected result?
I expect to enter the run command and the Docker image to start running without throwing an error.
What happens instead?

Failed to move to new namespace: PID namespaces supported, Network namespace supported, but failed: errno = Operation not permitted

@ebidel: should we recommend some bullet-proof docker image instead? It looks like the instructions for the Dockercontainer in our troubleshooting.md are getting outdated. It'd be nice to have something real and maintained.

The problem is that the env you run the container on matters. For example, if it doesn't support namespaces then adding a user and running chrome/puppeteer as that user won't work :(
Not sure what Cloud Foundry Linux Debian contains. I can test our Dockerfile again to make sure it's still working and up to date, but maybe we should be recommending --no-sandbox to support the largest number of cloud envs?

Here is what finally worked for me,
FROM node:8
ENV HOST <IP_ADDRESS>
EXPOSE 8080
RUN apt-get update

# for https
RUN apt-get install -yyq ca-certificates
# install libraries
RUN apt-get install -yyq libappindicator1 libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libnss3 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6
# tools
RUN apt-get install -yyq gconf-service lsb-release wget xdg-utils
# and fonts
RUN apt-get install -yyq fonts-liberation

RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY . /usr/src/app
RUN mkdir -p /usr/src/app/views

# install the necessary packages
RUN npm install

CMD npm run start

Then I ran Puppeteer like this,
  try {
      (async () => {
        const browser = await puppeteer.launch({ args: ['--no-sandbox', '--disable-setuid-sandbox'], ignoreHTTPSErrors: true, dumpio: false });
        const page = await browser.newPage();
        await page.goto(
            `https://pdf-example.com/${template}?data=${JSON.stringify(req.body)}`
        );
        const pdfBuffer = await page.pdf({
          format: 'A4',
          margin: {
            top: '20px',
            left: '20px',
            right: '20px',
            bottom: '20px',
          },
        });
        await browser.close();

        res.writeHead(200, {
           'Content-Type': 'application/pdf',
           'Content-disposition': `attachment; filename= + ${template}.pdf`,
           'Content-Length': pdfBuffer.length
        });

        res.end(pdfBuffer);

      })();
  } catch (err) {
      res.json({ status: "Failed", message: "Something went wrong rendering your PDF. Please try again.", error: err })
  }

After days of working on this, it finally works with this config. I am not sure what the major differences are between what I have and what was suggested. But I can say that this works perfectly.

We now have a docker image that we use for testing - Dockerfile.linux. Since it's in our CI pipeline, it is guaranteed to be up-to-date.

can you share the updated dockerfile?


Binary decoder and encoder

We need a binary encoder and decoder preferably "borrowing" the same (or nearly the same) API syntax from this project:
https://github.com/keichi/binary-parser
What are your thoughts?

Moved to discussion https://github.com/wuespace/telestion-core/discussions/690


How to deal with relative public path

I set a relative public path in outputs
output: {
  path: path.join(__dirname, 'www/static'),
  filename: '[hash].bundle.js',
  publicPath: './'
}

Then the file structure is like
www
  |-- static
          | -- bundle.js
          | -- some-image.png
          | -- some-other-image.png
          | -- style.css
  |-- index.html

When i require image in css, i works fine.
But when i require image in some js, the url is wrong.
const url = require('path/to/some-image.png');
// the url will be 'some-image.png'
// but this url will be used in index.html (through react)

Any one can help me with it? Thanks.

Why don't you set it to / instead?

Because I want to use these files in phone gap app, using '/' will fail in it.

yeah same issue here @adcentury any progress?

It isn't a very good solution but you can work around this issue by placing the scripts and css in the www folder with the index.html and setting publicPath : "". That way it doesn't matter if the files are accessed relative to the html or the css.

@export-mike The only way I found is to put all files (include html, js, css, images) into the www folder as @dancoates said. By the way, HtmlWebpackPlugin may help with generating html files.

@mummybot at least in my case the other app is a cordova iphone app, so proxying is not an option.
The core of the problem is that CSS loads assets relative to itself, and js loads assets relative to the HTML. So if the CSS isn't in the same place as the HTML then you can't use relative paths.
It would be good to be able to pass a resolving function to the file loader to allow more complex path resolution.

I meet the same problem,do someone knows how to deal with it now?

I have a config that's working with Cordova and code push I can share with
you tomorrow. We're on react, react router
On Thu, 16 Jun 2016, 12:43 Ilya Gutsalyuk<EMAIL_ADDRESS>wrote:

Hello. I have faced the same problem trying to pack my web app as "native"
ios/android application with Cordova. In my specific case it's a React
application with react-router. Web version uses HTML5 History API, so basic
relative paths for assets are not work correctly on pages other than "/".
But if you use Hash History instead of HTML5 History (which is by the way
is recommended for cordova applications, you don't see urls anyway) it
seems to work fine.
For more information see this thread: reactjs/react-router#2161
https://github.com/reactjs/react-router/issues/2161
So if it's your case you can set publicPath in webpack config to empty
string (so you'll get relative paths) and use Hash History with your router.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/webpack/file-loader/issues/46#issuecomment-226461754,
or mute the thread
https://github.com/notifications/unsubscribe/AC2Fn6Nl3PAn87DXcYHg0_8xaMs6iodqks5qMTbOgaJpZM4Gh22j
.

@export-mike can you post that config?

I'm having the same problem, not using react but vuejs + cordova.
I tried to setting:
assetsPublicPath: '/',
However the resulting cordova index.html file still ends up with entries like:
<script type=text/javascript src=s/tatic/js/app.2a047fb94d3c535a8f2e.js>
My hacky fix is to just write a little shell script (there is probably a proper webpack post-hook way of doing this but I dunno what it is) to replace all instances of /static/ with static/ and that fixed the problem for me. But not exactly elegant.
I crave a better solution, emailed @export-mike to see if he can share his config with us.

Is there a solution for this now?

^ bump. The issue I'm having is using vue.js with webpack.
I bind a html tag like this: <img v-bind:src="resource.img">
when the client renders the page, the src path is correct, however it is the actual relative path (e.g. "../assets/example.png" etc, instead of the path webpack outputs. Thus, the image creates a 404 because there is no image at "../assets/example.png".
Alternatively, if i hardcode the src <img src="../assets/example.png"> the image loads, and the the src is some path that webpack created, finding the correct image.

Yes, @dancoates

The core of the problem is that CSS loads assets relative to itself, and js loads assets relative to the HTML. So if the CSS isn't in the same place as the HTML then you can't use relative paths.

+1

I believe I'm also suffering from the same issue and the above gives me:
fs.js:640
  return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);
                 ^

Error: ENOENT: no such file or directory, open '/Users/azz0r/Sites/Personal/wwe-draft-generator/build/static/app.bundle.js'
    at Error (native)
    at Object.fs.openSync (fs.js:640:18)
    at Object.fs.readFileSync (fs.js:508:33)
    at /Users/azz0r/Sites/Personal/wwe-draft-generator/scripts/build.js:31:29

I'm using publicPath: '' which allows you to set it at runtime with __webpack_public_path__ (as per https://webpack.github.io/docs/configuration.html)
My CSS and JS is loading correctly from the CDN environment I upload them too and point towards with __webpack_public_path__.
If I, however, use file-loader to load a PNG file in a React component, the resulting path will be calculated from some other algorithm, causing the PNG image to be loaded locally from the web server instead of the CDN.
Is file-loader supposed to adhere to __webpack_public_path__?

@prewk I ran into the same problem, https://github.com/webpack/webpack/pull/971 had the clue that got it working for me.
Add a new entry before your other ones and modify __webpack_public_path__ there.

Thanks, that's exactly how I'm setting it at the moment, though. I ended up not using the file-loader for my problem and going for data-uris instead.

Is there a solution for this now? v1 or v2
require image in css and js

closed in #135 and available in v0.11.0

For those reading who are using create-react-app and don't want to eject, this is possible to work around by setting "homepage": "./" in package.json.

I have solved my problem with the following vue.config.js settings:
module.exports = {
	publicPath: process.env.BASE_URL,
	assetsDir: process.env.BASE_URL
};


trigger click on native HTML element trigger method but spy does not catch it

Subject of the issue
I have a component with a simple link and I want to test that a click on it triggers a method. With Vue test util + jest, the method is called but not the spy.
Version of vue-test-utils : 1.2.0
Steps to reproduce
import { shallowMount } from '@vue/test-utils'

// The component to test
const LinkComponent = {
	template: 'My link',
	methods: {
		trackClick() {
			console.log('Track click')
		},
	},
}

it('Should call trackClick when link is clicked', async () => {
	const wrapper = shallowMount(LinkComponent)
	const spyTrackClick = jest.spyOn(wrapper.vm, 'trackClick')

	const link = wrapper.find('a')

	await link.trigger('click')

	expect(spyTrackClick).toBeCalled()
})

Expected behaviour
Spy should be called
Actual behaviour
console.log is called and displayed in console & spy is not called
I can reproduce this issue with a ,  & other.

To make it "just work", add parentheses to trackClick in your template. Vue allows both variants, but you should use this variant preferred in order to stay consistent not to have problems with tests in future.

Is this documented somewhere like in BIG LETTERS, because it's very surprising that it works on Vue as is, but have you scratching your head when they don't work in tests because optional parentheses are missing.


Issue with replicating CustomerOrdersGrid

So I'm trying to do something similar with the my own data that is shown in the Customer's table in the Northwind demo. I'm trying to map landing zones based on a county. When I'm trying to load the this.LandingZoneGrid = new CountiesLandingZoneGrid(this.byId('LandingZoneGrid')); I get an error saying "property 'byId' does not exist on CountiesGrid."
Any idea?

Nevermind. I found my issue. I was looking at CoutiesGrid not CountiesDialog....


Internal type checking error on transpile

Description
When trying to transpile the simple spec below I get an internal type checking error.
Input specification
---------------------------- MODULE ex --------------------------
VARIABLE
    \* @type: Bool;
    val

Init == val = FALSE

Next == val' = ~val
=================================================================

The command line parameters used to run the tool
apalache-mc transpile ex.tla leads to the error below
apalache-mc check ex.tla works fine
Expected behavior
File with the generated constraints, as per ADR-016
Error trace
PASS #7: WatchdogPass                                             I@11:32:16.562
<unknown>: internal error in type checking: Expected Typed(_: TlaType1), found: Untyped E@11:32:16.575
at.forsyte.apalache.infra.AdaptedException: <unknown>: internal error in type checking: Expected Typed(_: TlaType1), found: Untyped
	at at.forsyte.apalache.infra.passes.PassChainExecutor$.run(PassChainExecutor.scala:39)
	at at.forsyte.apalache.tla.tooling.opt.TranspileCmd.run(TranspileCmd.scala:25)
	at at.forsyte.apalache.tla.Tool$.runCommand(Tool.scala:138)
	at at.forsyte.apalache.tla.Tool$.run(Tool.scala:118)
	at at.forsyte.apalache.tla.Tool$.main(Tool.scala:40)
	at at.forsyte.apalache.tla.Tool.main(Tool.scala)

System information

Apalache version [apalache-mc version]: v0.30.1-44-g0b3aa4e7e
OS [e.g. Ubuntu Linux or Mac OS, and the current version]: Linux Mint 20.2
JDK version [e.g. OpenJDK 0.8.0]: openjdk 11.0.17 2022-10-18

Triage checklist (for maintainers)

[ ] Reproduce the bug on the main development branch.
[ ] Add the issue to the apalache GitHub project.
[ ] If the bug is high impact, ensure someone available is assigned to fix it.

I discussed this with @Kukovec briefly, and he thinks it's likely that this was introduced by recent integration of the typed builder.

Slight correction, I said this was the same sort of issue that I've been encountering with the recent rework, I don't think anzthing recent broke it. Transpilation as such is a rather rushed (academic) project, so the tests for it are... lacking.

Sure, thanks for the comments @shonfeder @Kukovec. This academic project might be interesting for some academic people :wink:.

Looks like this has been fixed as of latest v0.43.0-32-gc87725605


calculate Coulomb energy within esp.mm

we calculate Coulomb energy inside esp.mm which should, ideally, match the OpenMM implementation while being end-to-end differentiable

Codecov Report

Merging #106 (f1281f6) into master (a888c0b) will not change coverage.
The diff coverage is 0.00%.

:exclamation: Current head f1281f6 differs from pull request most recent head 8260741. Consider uploading reports for the commit 8260741 to get more accurate results

Thanks for implementing this!
Out of curiosity, how are 1-2 and 1-3 exclusions handled?

1-2 and 1-3 are not included in the charge energy at all---we enumerated all pairwise interactions that are at least three bonds away as well as all onefour interactions and compute Coulomb charges using that.


switch release tag to be semver

Description
Swaps the release tag of released image to be the semantic version.
Type of change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
Tested on a fork.

https://github.com/aksatlanta-testing/anotherolivertest/actions/runs/5489075203
https://github.com/aksatlanta-testing/anotherolivertest/releases

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged and published in downstream modules

/ok-to-test sha=9b3e5b8


multiline content

when adding content (tasks, annotations, ...) one can only use the bottom row, if the content exceeds the row width, the cursor disappears on the right and the user is no more able to see what he is inserting

This will be fixed with #2, which won't make it into version 1.3, but hopefully will be in 1.4. I agree that it will be nice to have.

cool, i'm eager to see that feature in vit!


fixed title formatting

Docs Build status updates of commit 3ddd21c:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

mixed-reality-docs/mrlearning-sharing(photon)-ch3.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Handle platforms that are missing the which command

Hi!
Currently I'm getting this error when trying to run Shopify CLI + VITE. I tried to run a single command and it still threw a similar error.
Package.json
{
  "scripts": {
    "shopify:dev": "shopify theme dev --legacy --port 9000 --store fa0f41.myshopify.com --live-reload full-page",
    "shopify:logout": "shopify auth logout",
    "vite:dev": "vite dev",
    "vite:build": "vite build",
    "kill": "Taskkill /IM node.exe /F"
  },
  "type": "module",
  "devDependencies": {
    "@shopify/cli": "^3.67.0",
    "@shopify/theme": "^3",
    "autoprefixer": "^10",
    "daisyui": "^4.12.10",
    "npm-run-all2": "^6.2.3",
    "postcss": "^8",
    "tailwindcss": "^3",
    "vite": "^5.4.3",
    "vite-plugin-page-reload": "^0.2.0",
    "vite-plugin-shopify": "^3.0.1"
  }
}

Error in console after running: npm-run-all shopify:dev vite:dev
node:events:496
      throw er; // Unhandled 'error' event
      ^

Error: spawn which ENOENT
    at notFoundError (C:\Users\lee\AppData\Roaming\npm\node_modules\npm-run-all2\node_modules\cross-spawn\lib\enoent.js:6:26)
    at verifyENOENT (C:\Users\lee\AppData\Roaming\npm\node_modules\npm-run-all2\node_modules\cross-spawn\lib\enoent.js:40:16)
    at cp.emit (C:\Users\lee\AppData\Roaming\npm\node_modules\npm-run-all2\node_modules\cross-spawn\lib\enoent.js:27:25)
    at ChildProcess._handle.onexit (node:internal/child_process:294:12)
Emitted 'error' event on ChildProcess instance at:
    at cp.emit (C:\Users\lee\AppData\Roaming\npm\node_modules\npm-run-all2\node_modules\cross-spawn\lib\enoent.js:30:37)
    at ChildProcess._handle.onexit (node:internal/child_process:294:12) {
  code: 'ENOENT',
  errno: 'ENOENT',
  syscall: 'spawn which',
  path: 'which',
  spawnargs: []
}

Node.js v20.11.1

Error after running single command: npm-run-all shopify:dev
node:events:496
      throw er; // Unhandled 'error' event
      ^

Error: spawn which ENOENT
    at notFoundError (C:\Users\lee\AppData\Roaming\npm\node_modules\npm-run-all2\node_modules\cross-spawn\lib\enoent.js:6:26)
    at verifyENOENT (C:\Users\lee\AppData\Roaming\npm\node_modules\npm-run-all2\node_modules\cross-spawn\lib\enoent.js:40:16)
    at cp.emit (C:\Users\lee\AppData\Roaming\npm\node_modules\npm-run-all2\node_modules\cross-spawn\lib\enoent.js:27:25)
    at ChildProcess._handle.onexit (node:internal/child_process:294:12)
Emitted 'error' event on ChildProcess instance at:
    at cp.emit (C:\Users\lee\AppData\Roaming\npm\node_modules\npm-run-all2\node_modules\cross-spawn\lib\enoent.js:30:37)
    at ChildProcess._handle.onexit (node:internal/child_process:294:12) {
  code: 'ENOENT',
  errno: 'ENOENT',
  syscall: 'spawn which',
  path: 'which',
  spawnargs: []
}

Node.js v20.11.1

Thanks, probably windows specific bug around yarn/pnpm support paths. I'll some better error handling here.

Related line of code:
https://github.com/bcomnes/npm-run-all2/blob/97d19dbf901a03f0a4f7f1c163f2ec3cf7e674e4/lib/run-task.js#L188
Setting --npm-path should avoid this from triggering

We can probably swap to https://github.com/npm/node-which instead

PR for above is created at #154

Try out https://github.com/bcomnes/npm-run-all2/releases/tag/v6.2.4 and let me know if that works for you.

Thank you for the update. This is currently what the console is outputing.
npm-run-all shopify:dev vite:dev
node:events:496
      throw er; // Unhandled 'error' event
      ^

Error: spawn which ENOENT
    at notFoundError (C:\Users\lee\AppData\Roaming\npm\node_modules\npm-run-all2\node_modules\cross-spawn\lib\enoent.js:6:26)
    at verifyENOENT (C:\Users\lee\AppData\Roaming\npm\node_modules\npm-run-all2\node_modules\cross-spawn\lib\enoent.js:40:16)
    at cp.emit (C:\Users\lee\AppData\Roaming\npm\node_modules\npm-run-all2\node_modules\cross-spawn\lib\enoent.js:27:25)
    at ChildProcess._handle.onexit (node:internal/child_process:294:12)
Emitted 'error' event on ChildProcess instance at:
    at cp.emit (C:\Users\lee\AppData\Roaming\npm\node_modules\npm-run-all2\node_modules\cross-spawn\lib\enoent.js:30:37)
    at ChildProcess._handle.onexit (node:internal/child_process:294:12) {
  code: 'ENOENT',
  errno: 'ENOENT',
  syscall: 'spawn which',
  path: 'which',
  spawnargs: []
}

Node.js v20.11.1

It shouldn't be cross-spawn'ing which anymore. Are you sure you are running v6.2.4?

I just uninstalled the package and installed it just to double check the package version and the console output changed.
Console output:
npm-run-all shopify:dev vite:dev
ERROR: Cannot destructure property 'status' of '(intermediate value)' as it is null.

Package.json
{
  "scripts": {
    "dev": "npm-run-all -p -l -r vite:dev shopify:dev",
    "build": "npm-run-all -p -l -r vite:build",
    "shopify:dev": "shopify theme dev --port 9000 --store fa0f41.myshopify.com --live-reload full-page --legacy",
    "shopify:logout": "shopify auth logout",
    "vite:dev": "vite dev",
    "vite:build": "vite build",
    "kill": "Taskkill /IM node.exe /F"
  },
  "type": "module",
  "devDependencies": {
    "@shopify/cli": "^3.68.1",
    "@shopify/theme": "^3.57.1",
    "autoprefixer": "^10.4.19",
    "npm-run-all2": "^6.2.4",
    "postcss": "^8.4.38",
    "tailwindcss": "^3.4.1",
    "vite": "^5.2.2",
    "vite-plugin-page-reload": "^0.2.0",
    "vite-plugin-shopify": "^3.0.1"
  }
}

Is there a larger stack trace? Sorry I don't have windows to debug with easily.

Nevermind, I think I see the issue, working on a fix.

@leebaroneau Do you run npm-run-all or npx npm-run-all?
If you don’t prefix it with npx then it will likely use the globally installed version of the package, making it possibly be a mix of two versions here.
npm ls -g npm-run-all2 and npm ls npm-run-all2 can show the installed version of the global and local module respectively.

Is there a larger stack trace? Sorry I don't have windows to debug with easily.

@bcomnes I wonder if we should look into the reason for the short stack trace?

I bungled the release a little bit. Try v6.2.6

Thank you, I just tried it out was it possible to see the outputted text from both commands?
This is the commands side by side but the right hand side commands sometimes crashes so I have to restart it.

Using npm-run-all I can only see the first command's output in the console.

@leebaroneau if you scroll up on the output of that second one, don’t you see the output of the other one then?

@voxpelli - No it only shows whatever is the first command.
Ie npm-run-all vite:dev shopify:dev - will only show the vite output
npm-run-all shopify:dev vite:dev - will only show the shopify output

@voxpelli - No it only shows whatever is the first command.
Ie npm-run-all vite:dev shopify:dev - will only show the vite output npm-run-all shopify:dev vite:dev - will only show the shopify output

After further investigate it doesn't look like it only runs the first command and never runs the second one at all.

Do you have a reproducible example? I have no idea whats going on from the screenshots.

@leebaroneau Then specify explicitly that it should be parallel, -p (was a while since I used this command, I usually just use run-s and run-p)

Thank you @voxpelli & @bcomnes for all the help! It's all working.


Docs: Correct Repository_Collaborator Permission Levels

Looking at https://github.com/terraform-providers/terraform-provider-github/blob/master/github/resource_github_repository_collaborator.go#L41, "triage" and "maintain" are supported. Update the docs to reflect it.

Doing more testing, it looks like this may not be implemented yet, as when I attempt to apply the plan, it fails with an unexpected permission value: maintain.
Closing this PR.


Add a tag or create release

It would be nice to have a tag/release so we could package this nice calculator in distributions (working on it for Arch).
Thanks !

Hey @leucos, thanks for creating this issue. I normally use tags like 0.1.0 but for some projects I had to prefix it with v, as in v0.1.0. For the Arch packaging, would some style work better than the other?

@soveran just use what you like best. I will strip the 'v', no problem.

@leucos I just pushed the tag 0.1.0. Thanks!

Nice. Here you go https://aur.archlinux.org/packages/clac/

FTR, the PKGBUILD file
# Maintainer: Michel Blanc<EMAIL_ADDRESS>
pkgname=clac
pkgver=0.1.0.r0.gb24478a
pkgrel=1
pkgdesc='A command line, stack-based calculator with postfix notation'
url='https://github.com/soveran/clac'
arch=('i686' 'x86_64')
license=('BSD')

source=("clac::git+https://github.com/soveran/clac")
sha1sums=('SKIP')

pkgver() {
  cd "$pkgname"
  git describe --long --tags | sed 's/\([^-]*-g\)/r\1/;s/-/./g'
}

build() {
  cd "$pkgname"
  make
}

package() {
  cd "$pkgname"
  manprefix="${pkgdir}/usr/share/man"
  mkdir -p "${manprefix}/man1"
  echo Created ${manprefix}/man1
  make MANPREFIX="${manprefix}" PREFIX="${pkgdir}/usr" install
  install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}

@leucos Thanks a lot, I will ping you on the next release!

Hey @leucos, I just released version 0.2.0. I also added a wiki page with links to the official packages.

It's up on AUR https://aur.archlinux.org/packages/clac/

@leucos Thanks!

@leucos I messed up with the previous release, so I had to release a bugfix version 0.2.1. I think that will be all for today :-)

Done !

@leucos Version 0.3.0 was released some days ago and I forgot to mention it here. Thanks a lot for your help!

Done !

@leucos Version 0.3.1 was released, but it's not critical as it only includes a fix in the man page. This version was also added to the main homebrew repository. My intention was for 0.3.0 to be stable for a long time, but then somebody spotted an error in the man page :-)

It's alive :ghost: !

Thanks!!!


[chores] Used openwisp-users ProtectedAPIMixin

Depends on :

https://github.com/openwisp/openwisp-users/pull/338.

Coverage: 99.289% (-0.002%) from 99.29% when pulling 9729d6495699bdccfbd90d9a16cec83b3defaa1a on use-ow-users-protected-api-mixin into e1b44b70edfa9f7c6defcc997a0f7b6a460ab931 on master.


Update to Pageflow 0.9.1

Hello,
now I have updated my Development-Pageflow to 0.9.1. Bundle list shows following:

pageflow (0.9.1)
pageflow-before-after (0.3.0)
pageflow-embedded-video (0.1.1)
pageflow-external-links (0.3.0)
pageflow-internal-links (0.1.0)
pageflow-text-page (0.2.0)

I have several problems with the new plugin pageflow-internal-links and I receive this error:
SyntaxError: File to import not found or unreadable: pageflow/internal_links/themes/default
I have access to the admin panel but I couldn´t find the new feature:
http://pageflow.tumblr.com/post/132019538353/kurz-vorm-winter-neue-features
Thanks for help
Joerg

Hi Jörg,
The file that is missing in your case was only added after 0.1. If you look at the Readme of v0.1 you'll notice it's not mentioned there.
Regarding new features: have you checked the Features tab on the account admin page?

Thanks for your quick response,
sorry I can`t find the Features tab on the account admin page.

But you do see the "entries" and "users" tabs? Are you sure you restarted the server? Do you have  pageflow_default_abilities(user) in your app/models/ability.rb?

Yes, I see the "entries" and "users" tabs and I found this in app/models/ability.rb
class Ability
include CanCan::Ability
include Pageflow::AbilityMixin
def initialize(user)
# Setup abilities for Pageflow models
pageflow_default_abilities(user)
# Allow signed-in users to view the admin dashboard
can :read, ActiveAdmin::Page, :name => "Dashboard"

end
end

Huh, that has never come up before. Can you start rails console and run:
Ability.new(User.find(123)).can?(:view, Pageflow::Admin::FeaturesTab)

where 123 is the id of your user account.

Hello tf,
here is the output for the Admin-User:
Loading production environment (Rails 4.0.2)
irb(main):001:0> Ability.new(User.find(4)).can?(:view, Pageflow::Admin::FeaturesTab)
=> false
Thanks

That should not be the case if user is admin. Please run User.find(4).role on the console.


Black text on black overlay on gallery explorer

I thought this was already fixed 🥹
https://beta.kodadot.xyz/rmrk/explore?tab=GALLERY&page=1

👋

I don't see it there.

Hm I didn't have there anything like that


N22: Add Bevy Retro

Part of #640

:+1: ty for remembering the explicit message about the license :)


Prevent fancy layout styling from spilling over into nested forms

Fixes https://github.com/wintercms/winter/issues/758.
The edits made to the fancylayout.less should more directly target just the root elements of the UI, and not spill over into nested forms.
Test case in the Test plugin: https://github.com/wintercms/wn-test-plugin/commit/eaebfae12d5d25994287008205b4c958227e2c53
Accessible in the Pages section.

@bennothommo  @LukeTowers
This PR introduce some issues with nested forms :
Before (winter/wn-backend-module 1.2.1):

After (winter/wn-backend-module dev-develop b357791):

The form field used :
section_two_columns:
    name: Section deux colonnes
    description: Deux colonnes côte à côte
    icon: icon-columns
    style: accordion
    fields:
        section:
            type: nestedform
            usePanelStyles: false
            showPanel: false
            form: themes/coeursdechiens22/meta/sections/section_two_columns.yaml

@damsfx could you submit a PR against the test plugin replicating your setup?

@damsfx could you submit a PR against the test plugin replicating your setup?

I've done a PR in my fork, but have not push it to the main repository to not pollute.
https://github.com/damsfx/wn-test-plugin/commit/d4b773f064f87363f5364194fa65f25d8565b873
winter/wn-backend-module 1.2.1

winter/wn-backend-module dev-develop b357791

Note 1:
On my previous post's screenshots, the repeated section fields have a dedicated small-panels class added which allows me to remove the unnecessary padding.
.small-panels .field-repeater li.field-repeater-item {
  padding: 0 !important;
}

Note 2:
The extra right chevron seems to come from:
https://github.com/wintercms/winter/blob/develop/modules/system/assets/ui/storm.css#L1226
.control-tabs.scroll-after::after {
  display: block;
}

@damsfx could you repeat that comment as a new issue so we can track it better?

@damsfx could you repeat that comment as a new issue so we can track it better?

Done: #773


[MM-14172] Fix black screen when closing window in fullscreen on a Mac

Before submitting, please confirm you've

[x] read and understood our Contributing Guidelines
[x] completed Mattermost Contributor Agreement
[x] executed npm run lint:js for proper code formatting

Please provide the following information:
Summary
On Mac, when the window is closed in fullscreen, this PR first exits fullscreen and then closes the window to prevent a black screen when trying to close the window in fullscreen.
Issue link
MM-14172

Any idea what's up with the failing check below?

The build on Mac is failing because it can't find the command npm-run-all for some reason. I don't know why that would happen, so I've restarted it. Also, you can view the status of the build if you log into https://build.mattermost.com with your OneLogin account before clicking the details link on a failed check


docker-compose does not work with cgroupsv2

While researching #378 I discovered that the docker-compose setup in example/e2e does not appear to work under cgroupsv2.
docker run --cgroupns=host does work, but there is no equivalent for use in docker-compose.yml.
This is an issue with support in upstream docker-compose. See: https://github.com/compose-spec/compose-spec/issues/148, https://github.com/docker/compose/issues/8167

A work around is to create/edit /etc/docker/daemon.json with the following:
{
    "default-cgroupns-mode": "host"
}

Added docs in #404


How can we add stickers on live camera preview with record video?

hello @Awalz
After googling more than 5 hours I found your repo to record video . Its really helped me to solve my problems. Now I want to add stickers to live video preview. Can you help me to solve this?

@kishansuthar  This is currently a little out of the scope for what I would work on adding into this library. However if you are up for the challenge feel free to submit a PR. I think you want to use something like Metal. I found something that had been done before on this: https://github.com/navoshta/MetalRenderCamera
Maybe you can use what's been done there.


Incomplete responses being received from BLE device

I am not able to received complete responses from my BLE device which I am supposed to receive for the commands written to characteristics using flutter_blue. What I am receiving in response is the command itself which I sent for write. The responses received are being decoded properly.
The commands which I'm trying to write are OBDII protocols which are
AT Z
AT H0
AT H0
AT L0
AT S0
01 0C

Surprisingly the command "AT Z" gives response "ELM 327v1.5" which is correct. This is the only command from which I am receiving the correct response. All other commands are returning the command itself which is partially correct because most of the times the actual responses are received along with the command name.
The response reading and decoding is implemented in the following way
await read_CX.setNotifyValue(true);

read_CX.value.listen((response) {
  print(utf8.decode(response));
}

Has anyone faced similar issue of receiving incomplete data? Can anyone please help me out?
Thanks!!

Can you include the responses that you get sent back ? Truncated values usually indicate that the ATT MTU is too short.

I've mentioned below the commands (string + encoded) that I am writing to device and their responses (raw + decoded) received.

 Mind giving more infos about the actual protocol (Seems like a custom one ?), such as what is the separator between a command's name in the reply and the content of the reply, possibly snippets of code about the code on the other end, etc. This seems more like a potential problem with the implementation of whatever protocol is used on top of BLE rather than an issue with the BLE layer/Flutter blue itself.

These are the actual protocols. The "AT Z" protocol is for returning the device type and the rest of the protocols are to perform reset.
White spaces are the separator between a command's name in the response received from BLE device.
Scanning the devices
@override
  void initState() {
    // TODO: implement initState
    widget.flutterBlue.scanResults.listen((List<ScanResult> results) {
      for (ScanResult result in results) {
        _addDeviceTolist(result.device);
      }
    });
    widget.flutterBlue.startScan();
  }

Connecting the Device:-
void _connectDevice() async {
    widget.flutterBlue.stopScan();
    print(_deviceToConnect);
    try {
      await _deviceToConnect.connect();
    } catch (e) {
      if (e.code != 'already_connected') {
        throw e;
      }
    } finally {
      _services = await _deviceToConnect.discoverServices();
    }
    //start discovering services of the device
    totalServicesCounter = _services.length;
    examineDeviceServicesForConnection();
    setState(() {
      _connectedDevice = _deviceToConnect;
    });
  }

Examining services of device
void examineDeviceServicesForConnection(){
    if (examinedServicesCounter < totalServicesCounter){
      //start examining
      var currentExaminingService = _services[examinedServicesCounter];
      var arrCurrentExaminingCharacteristics = currentExaminingService.characteristics;
      totalExaminingCharacteristicCounter = arrCurrentExaminingCharacteristics.length;

      if (arrCurrentExaminingCharacteristics.isNotEmpty){
        //characteristics are present in service
        setTestReaderWriter(arrCurrentExaminingCharacteristics);
      }else{
        //characteristics are not present in service
        examinedServicesCounter = examinedServicesCounter + 1;
        examineDeviceServicesForConnection();
      }
    }else if (totalServicesCounter > 0 && examinedServicesCounter == totalServicesCounter){
      //examining completed
      print("all the services are examined and the device is not compatible for communication");
    }else{
      print("check required");
    }
  }

Set Read and Write test Characteristics
void setTestReaderWriter(List<BluetoothCharacteristic> arrChars){
    for (BluetoothCharacteristic chars in arrChars){
      if (chars.properties.notify){
        testReader = chars;
      }
      if (chars.properties.write){
        testWriter = chars;
      }
    }
    if (testReader != null && testWriter != null){
      //start writing test command
      performDeviceConnectionTest();
    }else{
      examinedServicesCounter = examinedServicesCounter + 1;
      examineDeviceServicesForConnection();
    }
  }

Perform device connection test
void performDeviceConnectionTest() async {
    final testCommand = "AT Z\r";
    final convertedTestCommand = utf8.encode(testCommand);
    await testReader.setNotifyValue(true);
    testReader.value.listen((response) {
      _parseValueReceived(response, "command");
      var responseReceived = _convertedCommandResponseToString;
      if (responseReceived.contains("ELM")){
          scanningBeginOnce = true;
          print("Device is compatible");
          //stop the test scanning and continue to actual scan.
          testReader.setNotifyValue(false);
          _connectedDevice.disconnect();
          _rx_Read_Characteristic = testReader;
          _rx_Write_Characteristic = testWriter;
          _prepareForScanning();
      }else{
        print("obd device is not found. continuing scanning");
        //continue to test scanning.
        examinedServicesCounter = examinedServicesCounter + 1;
        examineDeviceServicesForConnection();
      }
    });
    await testWriter.write(convertedTestCommand);
  }

Prepare for scanning
void _prepareForScanning() async {
      //set notifier for reader characteristic and listen to the response.
      await _rx_Read_Characteristic.setNotifyValue(true);
      _rx_Read_Characteristic.value.transform(utf8.decoder).listen((event) {
        print(event);
      });

      _rx_Read_Characteristic.value.listen((response) {
        var responseDecoded = utf8.decode(response);
        print(responseDecoded);

        if (responseDecoded.isNotEmpty){
            _commandsExecutedCounter += 1;
            _writeCommandsToDevice();
        }else{
          print("command response received is empty");
        }
      });
  }

Write commands to device
void _writeCommandsToDevice() async {
    //getting commands from the commands list
    if (_commandsExecutedCounter < arrTestCommands.length){
      _currentCommand = arrTestCommands[_commandsExecutedCounter];
      var convertedCommand = utf8.encode(_currentCommand);
      await _rx_Write_Characteristic.write(convertedCommand);
    }else if (_commandsExecutedCounter == arrTestCommands.length){
      print("Scan is completed at ${DateTime.now()}");
      _connectedDevice.disconnect();
    }else{
      print("some other error");
    }
  }

I agree with you that there is some implementation problem with the rest of the protocols. If I am able to receive the correct response from protocol "AT Z" then the rest of the protocols should also provide the correct responses.

@vaibhiarora03  I'm going to use this plugin to connect with obd2 device, did you face any blocker issue on your project

@deity256 Not a complete blocker issues as of now. I faced issues like duplicate notifications upon each reconnection with device, response receiving issues but was able to resolve them with the help of community and via going through the solutions of existing issues mentioned here.

@vaibhiarora03 can you provide me with some resources you used, cause i couldn't find any usefull links to handle obd2 connection.
another question is how do you test your code without a phisical obd connected to a car?

@deity256 What issues are you facing while handling the responses? I am just following the official documentation of the library.
I actually test via a BLE OBDII device connected with a car. There are simulators too but haven't used them yet.

@vaibhiarora03 like how do you read the protocol response, is there any api or do you handle each response state on its own

I read the responses by subscribing to notifications of the characteristic.
await characteristic.setNotifyValue(true);
characteristic.value.listen((value) {
    // do something with new value
});

i mean the response in your case is  [13, 13, 69, 76, 77, 51, 50, 55, 32, 118, 49, 46, 53, 13, 13, 62]
how do you understand it

You can convert the response received via
utf8.decode(your_response)

or via
String.fromCharCodes(your_response)

Also, the below mentioned link will help you out.
https://stackoverflow.com/questions/65368757/write-data-to-ble-device-and-read-its-response-flutter?noredirect=1#comment115573221_65368757

@vaibhiarora03  thanks for your help, appriciate it ❤

@deity256 Not a complete blocker issues as of now. I faced issues like duplicate notifications upon each reconnection with device, response receiving issues but was able to resolve them with the help of community and via going through the solutions of existing issues mentioned here.

Hi @vaibhiarora03 so do you have issues with duplicated response receiving? And how do you resolve it? i have issues when try send a few data like that
AT Z
AT H0
AT H0
AT L0
AT S0
01 0C
--> it will return duplicated data for each written data. Do i need to disconnect the device each written data? If possible could you please share for me how do you handle receiving the correct response?
right now i checked with 13, 62 but sometimes it not.

Did anyone manage to get it running?


Remove standalone icon SVG files

These standalone .svg icon files aren't used by any of the components, as each component either embeds the SVG directly within the Nunjucks macro or includes it using a data-url in the CSS.
On the one hand, maybe it’s useful to have these as standalone files just as a reference, so that all the icons can be easily reviewed together?
But on the other hand, duplicating them here runs the risk of them accidentally deviating from the actual icons used by the components?
Including them within the nhsuk-frontend package also adds another 100kb to the package (as they’re included twice, once in packages/assets and once in dist/app/asset).
Note: It’s possible that these are used somewhere and I’ve missed it somehow, but I’ve done a bunch of services across the code, and I can’t find anything that does.

My guess might be that these are considered the 'master assets' and are archived here - that the data-uri's are generated from them, and the macros copy from them. The repo is being used for persistent storage. If that's the case, I would leave them - though perhaps with a text file describing their purpose. Do you have any clues about their origin / usage?

@edwardhorsford I can't see any scripts to generate the data-uris from the files, but perhaps that's been done manually?
I have a hunch they they were previously used as the target of <img> tags, but I’ve not dug through the git history to find out.
Could keep them as a reference, but will just have to remember to keep them up-to-date if changing the icons in the css or macros!
If keeping them for that purpose, they could be removed from the build process so that they're not included in the distributed package?

If the purpose is for archival purposes, their location could probably be clearer - and removed from the build process as you say. Perhaps someone who's worked on this repo longer might have some ideas.


Fix focus order when subpositions are used

Have a nested list with 2 sub positions
Scroll down when sub position 0 is focused
Sub position 1 is focused
Scroll down
Another item is focused
Scroll up
Observe

Expected: sub position 1 is focused
Actual: sub position 0 is focused

Not reproducible in the sample, so closing


The Clippy "large_enum_variant" warning disabled in behaviour.rs/Pyrs…

Description
The Clippy "large_enum_variant" warning disabled in behaviour.rs/PyrsiaNetworkEvent

Screenshots (optional)
PR Checklist

[x] I've read the contributing guidelines.
[x] I've read "What is a Good PR?"
[x] I've included a good title and brief description along with how to review them.
[x] I've linked any associated an issue.

Code Contributions

[x] I've built the code cargo build --all-targets successfully.
[x] I've run the unit tests cargo test --workspace and everything passes.

Closed since the other PR (#1384) fixes the issue.


add ADFS as possible account source

duplicate of https://github.com/VAuthenticator/vauthenticator/issues/114


Clarify the criteria of version field included in the Smartcontracts

The NodeIngresss, NodeRules, AccountIngress and Account Rules contract contains a field named version.
This field in some smartcontracts takes the value equivalent 1.0.0 but in another 3.0.0.
Could you please clarify the criteria of the versioning taking in account that the actual permissioning package is 2.1.X?
Regards

2.1 is the version of the package itself. The individual contracts also have their own version number that can be queried directly (and maybe this is not really required). They are totally unrelated to each other.


Render tables with zero-width columns

Fixes https://github.com/spectreconsole/spectre.console/issues/361

@Frassle your changes have been merged, thanks for your contribution :+1:


ds9 not being registered

I start ds9, I start Python.  Then import imexam, and list_active_ds9(), and nothing, no active sessions registered.
(geminiconda)  klabrie$ ds9&
[1] 2881
(geminiconda)  klabrie$ python
Python 2.7.15 |Anaconda, Inc.| (default, May  1 2018, 18:37:05)
[GCC 4.2.1 Compatible Clang 4.0.1 (tags/RELEASE_401/final)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import imexam
>>> imexam.list_active_ds9()
No active sessions registered
{}
>>>
>>> imexam.__version__
u'0.8.0'

I've had it work too.  It seems to be random whether it works or not.  I haven't been able to find a pattern.
The conda environment is created as follow: conda create -n geminiconda python=2.7 iraf-all pyraf-all stsci gemini
The ds9 version is v7.5.

arg...lemme see if I can replicate...

I can't reproduce you're error, but I wonder if it has something to do with the xpa.so that's getting installed in site-packages. I think the tar on pypi is messed up,  running a local package install puts its in the imexam/ directory so it doesn't conflict with other packages.  When I pull and build 0.8.0 from the repo the shared library goes to the proper place...give that a go in your environment and see if it fixes things for you?

Thanks Megan.   I can't build it.   It complains that it cannot find
xpa.h.   (I'm doing a simple python setup.py install on a checkout of
"stable".)
Also, I don't think that the location of the xpa.so library is the issue
here, not the primary one anyway.  I have the same environment on another
machine, with xpa.so in site-packages, not in imexam/ and it works fine.
(... most of the time... that's the thing, sometimes it stops working.)
The XPA_METHOD might be the issue, though I have about zero knowledge of
that stuff.  When I do in ds9 File->XPA->Information, on the system that
does NOT work I get this:
XPA_VERSION:    2.1.14
XPA_CLASS:      DS9
XPA_NAME:       ds9
XPA_METHOD:
/var/folders/qt/_25ftvnx3yb_7772q001mlkc00035n/T//DS9_ds9.3008
On the system that does work, I get this:
XPA_VERSION: 2.1.14
XPA_CLASS: DS9
XPA_NAME: ds9
XPA_METHOD: a014dac:63099
Does that tell you something?
Also, on the system that does not work, I get the annoying/dreaded "XPA
unable to verify hostname" warning which I have tried to get rid of using
all the tricks and tips I could find on the web, without success.
On Fri, May 4, 2018 at 8:27 AM, Megan Sosey<EMAIL_ADDRESS>wrote:

I can't reproduce you're error, but I wonder if it has something to do
with the xpa.so that's getting installed in site-packages. I think the tar
on pypi is messed up, running a local package install puts its in the
imexam/ directory so it doesn't conflict with other packages. When I pull
and build 0.8.0 from the repo the shared library goes to the proper
place...give that a go in your environment and see if it fixes things for
you?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/spacetelescope/imexam/issues/137#issuecomment-386692827,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACDZfQGxK3smsev5UalYWQGHnNAq-VG5ks5tvJ2ZgaJpZM4Tx8lT
.

you're getting the xpa.h file probably because the cextern directory needs to be initialized after the repo pull. git submodule update --init -- cextern/xpa should do it. Then you can python setup.py install
That's a really old xpa, you should consider updating to be at 2.1.18, as shown here: https://github.com/spacetelescope/imexam/tree/master/cextern
There are multiple methods that the XPA can use to talk to the dS9 windows, the one that is working looks like it's using an inet socket, the other one looks likes it's using a unix local host (though I don't know why it's going into a qt directory) that filename that you see is the communication socket. You could try setenv XPA_METHOD=inet on the failing system, that may force it. ds9 should default to inet, local sockets are sometimes used when there is no internet connection. The xpa server prefers that all connections for active ds9 windows are of the same socket type.  imexam uses inet by default, but I imagine, if another xpaserver was started by a different program running a different type of connection, and one connected to the other, then it may have issues like you are seeing.
where is the xpa pulling from for you? which xpainfo, that should be the environment you're expecting it from, and not a system folder higher on your path.

oo, also, don't checkout stable, checkout the v0.8.0 tag or use the master branch

Wait a second here.  People cannot use imexam with ds9 on a plane without
internet, for example?  Seems a bit ill advised.  I'm just trying to
display data that is local to my machine, why would I require internet for
that?
which xpainfo does return the xpainfo from the correct environment.  The
same issues arise with v2.1.17 (which is what gets install in a fresh
environment.)
Compiling 0.8.0 worked but didn't help.
I did a test on the machine where it works.  Internet on, everything
works.  Internet off, boom.

ds9 = imexam.connect()
ds9.view(data)

Traceback (most recent call last):
File "", line 1, in
File
"/Users/klabrie/anaconda/envs/geminidev/lib/python2.7/site-packages/imexam/connect.py",
line 489, in view
self.window.view(*args, **kwargs)

File
"/Users/klabrie/anaconda/envs/geminidev/lib/python2.7/site-packages/imexam/ds9_viewer.py",
line 1698, in view
frame = self.frame()

File
"/Users/klabrie/anaconda/envs/geminidev/lib/python2.7/site-packages/imexam/ds9_viewer.py",
line 965, in frame
frame = self.get("frame").strip()  # xpa returns '\n' for no frame

File
"/Users/klabrie/anaconda/envs/geminidev/lib/python2.7/site-packages/imexam/ds9_viewer.py",
line 683, in get
return self.xpa.get(param)

File
"/Users/klabrie/anaconda/envs/geminidev/lib/python2.7/site-packages/imexam/xpa_wrap.py",
line 15, in get
return super(XPA, self).get(param.encode('utf-8', 'strict')).decode()

File "wrappers/xpa.pyx", line 172, in xpa.xpa.get (wrappers/xpa.c:2378)
File "wrappers/xpa.pyx", line 112, in xpa._get (wrappers/xpa.c:1503)
xpa.XpaException: Unknown XPA Error : XPAGet returned 0!
BTW, I tried to force "inet", ds9 will have none of it.  It resets it to
local.  (It does that on the "good" machine too when the internet is off.)
I don't know what to say.  I do work offline sometimes in airport gate
area, or in hotels with crappy internet.  Even in conference when the
internet gets overloaded and blows up.  Requiring internet to display local
data seems quite limiting to me.
At least, I think that we have figured out a likely source for the
problem(s) I'm seeing.  That's progress.  (Now if I could just figure out
why the other machine which is connected to internet still forces the
XPA_METHOD to be local, then I would be half happy.)
On Wed, May 9, 2018 at 9:54 AM, Megan Sosey<EMAIL_ADDRESS>wrote:

oo, also, don't checkout stable, checkout the v0.8.0 tag or use the master
branch
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/spacetelescope/imexam/issues/137#issuecomment-387856162,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACDZfQiT-glWLYk58kwfyrqEMmGb718yks5tw0mNgaJpZM4Tx8lT
.

I found a solution!  I don't know if it's THE solution but it sure works as
a workaround.   I can display offline and my XPA_METHOD local issue is gone
too.  The /etc/hosts needs to be edited.  The first line needs to be:
"<IP_ADDRESS>   machinename localhost".   Not just localhost and not
machinename.local (as recommended by some on the internet).   (Tested on a
Mac.)   There might be consequences but that's easy to revert.   No need
for reboot.
Now I'm not just half happy, I'm full happy.
On Wed, May 9, 2018 at 3:48 PM, Kathleen Labrie <
<EMAIL_ADDRESS>wrote:

Wait a second here.  People cannot use imexam with ds9 on a plane without
internet, for example?  Seems a bit ill advised.  I'm just trying to
display data that is local to my machine, why would I require internet for
that?
which xpainfo does return the xpainfo from the correct environment.  The
same issues arise with v2.1.17 (which is what gets install in a fresh
environment.)
Compiling 0.8.0 worked but didn't help.
I did a test on the machine where it works.  Internet on, everything
works.  Internet off, boom.

ds9 = imexam.connect()
ds9.view(data)

Traceback (most recent call last):
File "", line 1, in
File "/Users/klabrie/anaconda/envs/geminidev/lib/python2.7/site-packages/imexam/connect.py",
line 489, in view
self.window.view(*args, **kwargs)

File "/Users/klabrie/anaconda/envs/geminidev/lib/python2.7/site-
packages/imexam/ds9_viewer.py", line 1698, in view
frame = self.frame()

File "/Users/klabrie/anaconda/envs/geminidev/lib/python2.7/site-
packages/imexam/ds9_viewer.py", line 965, in frame
frame = self.get("frame").strip()  # xpa returns '\n' for no frame

File "/Users/klabrie/anaconda/envs/geminidev/lib/python2.7/site-
packages/imexam/ds9_viewer.py", line 683, in get
return self.xpa.get(param)

File "/Users/klabrie/anaconda/envs/geminidev/lib/python2.7/site-packages/imexam/xpa_wrap.py",
line 15, in get
return super(XPA, self).get(param.encode('utf-8', 'strict')).decode()

File "wrappers/xpa.pyx", line 172, in xpa.xpa.get (wrappers/xpa.c:2378)
File "wrappers/xpa.pyx", line 112, in xpa._get (wrappers/xpa.c:1503)
xpa.XpaException: Unknown XPA Error : XPAGet returned 0!
BTW, I tried to force "inet", ds9 will have none of it.  It resets it to
local.  (It does that on the "good" machine too when the internet is off.)
I don't know what to say.  I do work offline sometimes in airport gate
area, or in hotels with crappy internet.  Even in conference when the
internet gets overloaded and blows up.  Requiring internet to display local
data seems quite limiting to me.
At least, I think that we have figured out a likely source for the
problem(s) I'm seeing.  That's progress.  (Now if I could just figure out
why the other machine which is connected to internet still forces the
XPA_METHOD to be local, then I would be half happy.)
On Wed, May 9, 2018 at 9:54 AM, Megan Sosey<EMAIL_ADDRESS>wrote:

oo, also, don't checkout stable, checkout the v0.8.0 tag or use the
master branch
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/spacetelescope/imexam/issues/137#issuecomment-387856162,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACDZfQiT-glWLYk58kwfyrqEMmGb718yks5tw0mNgaJpZM4Tx8lT
.

If I have understood you both correctly, it's not that localhost was defined incorrectly on @KathleenLabrie's machine, it's that she had to add something like hostname (eg. "kathleen-laptop") to the usual <IP_ADDRESS> entry, which is not normal.
I'd be a bit wary about that as a general workaround, in terms of unexpected consequences and also some users not having root access to change it. I tend to find the fewest problems using display tools with a unix socket, if we could that working... I'll try testing imexam a bit better at some point too, though I don't have routine console access to an Apple machine like Kathleen's.

correct. I don't know why she had to change the localhost to point to her specific machine name. I don't have to do the same on my machine, whether or not I'm connected to the internet. I have the standard redirects:

<IP_ADDRESS>       localhost
<IP_ADDRESS> broadcasthost

It would be great to have more testing...let me know if you run into the same problems so we can diagnose the best solution and add it to the solutions in the docs :)  google-fu suggests also checking if there's a dns redirect in /etc/resolv.conf

A follow up.  I'm now testing a new laptop.  OS X Mojave.  Fresh computer.  (like the other one)  I am having the exact same problem that I solved the exact same way as before:  adding the hostname before localhost on the <IP_ADDRESS> line in /etc/hosts.   [imexam v0.8.0]

Was this ever resolved, @KathleenLabrie and @sosey?  I am having the same problem with a fresh install of astroconda on Ubuntu 18.04.  I get the dreaded No active sessions registered every time I try to imexam.list_active_ds9(). :frowning:  Under DS9's XPA information, it says XPA_METHOD: 7f000101:34005 which seems to indicate it is using the proper inet sockets, correct?
I swear this used to work on my previous machine... is there a way I can test my setup, maybe using something like xpainfo?  Thanks.

I am having the same problem with a fresh install of astroconda on Ubuntu 18.04. I get the dreaded No active sessions registered every time I try to imexam.list_active_ds9().

I got this working now, the problem was apparently being caused by an incompatible DS9 version - anything > 7.5 will not work with Ubuntu 18.04 and astroconda!

good to hear. Are you using a conda installed binary or installing the binary yourself? Can I ask what the highest version you tried was? I had to move to 8.1b1 for the quartz app on mac myself.

I just compiled v8.1b2 on Ubuntu 18.04 (a few extra libraries needed installing) and am pleased to report that it registers with imexam!

FYI, the saga continue.  Different machine, still Mac.  Same thing, won't work.  I did the /etc/hosts trick, XPA_METHOD is local, I am running ds9 v8.1.  imexam 0.9.1.   No joy.
>>> ds9 = imexam.connect()

  Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    File "/Users/klabrie/condaenvs/susd3_dev_20200710/lib/python3.7/site-packages/imexam/connect.py", line 96, in __init__
      quit_ds9_on_del=quit_window)
    File "/Users/klabrie/condaenvs/susd3_dev_20200710/lib/python3.7/site-packages/imexam/ds9_viewer.py", line 255, in __init__
      self._set_frameinfo()  # initial load
    File "/Users/klabrie/condaenvs/susd3_dev_20200710/lib/python3.7/site-packages/imexam/ds9_viewer.py", line 295, in _set_frameinfo
      frame = self.frame()
    File "/Users/klabrie/condaenvs/susd3_dev_20200710/lib/python3.7/site-packages/imexam/ds9_viewer.py", line 966, in frame
      frame = self.get("frame").strip()  # xpa returns '\n' for no frame
    File "/Users/klabrie/condaenvs/susd3_dev_20200710/lib/python3.7/site-packages/imexam/ds9_viewer.py", line 684, in get
      return self.xpa.get(param)
    File "/Users/klabrie/condaenvs/susd3_dev_20200710/lib/python3.7/site-packages/imexam/xpa_wrap.py", line 14, in get
      return super(XPA, self).get(param.encode('utf-8', 'strict')).decode()
    File "wrappers/xpa.pyx", line 173, in imexam.imexamxpa.xpa.get
    File "wrappers/xpa.pyx", line 113, in imexam.imexamxpa._get
  imexam.imexamxpa.XpaException: b'XPA$ERROR: no response from server during handshake (?:?)\n'

ok - let me see if I can find some time to work on this package in the next couple weeks and try to replicate the issue you are having on my local setup