defineProps generates wrong code in typescript when  PropsType is exported

Vue version
3.2.47
Link to minimal reproduction
https://sfc.vuejs.org/#eNpdT0luwzAM/AqhUwIk8t11DLToA/oAXVSHdhTEFCHSTQpDf6/k9tJcCC4zw5nVvDLbrwVNazoZUmAFQV0Ybp6mkzMqzvSOAimm0Q8IHymyvHlBWEG/GVsQTYEmyI7wwTEpPIEBH4p0ln/UDOBoiCQKvIFOcA96ecfRLzeV3RnHQLgxuq32u/0B1rx/cdQ1v057czBhri+Ps2d7lUglxuqoaP8divsWtk3dlZx1duaiytI2jYxDDX8VG9PUlM6mhTTMaFHm42eKd8FUhJ2pEiVhNvkHD3Rsog==
Steps to reproduce
If defineProps is supplied with a typescript interface that is exported, the compiler seems to be unable to traverse the type heirachy (extends) and hence generate incorrectly typed props.

If the interface itself is empty (e.g. all the fields are inherited from the base interface), it yields ts code that does not compile.
If the interface is non-empty, the props is only typed to the interface itself, and all the fields from base interface are ignored.

For example, this will yield typescript with syntax error:
<script setup lang="ts">
  interface PropsBase { type: string }
  export interface Props extends PropsBase { }
  const props = withDefaults(defineProps<Props>(), {});
</script>

What is expected?
SFC compiler should be able to generate typescript code with props typed correctly regardless of whether the interface is exported or not.
What is actually happening?
Once the Type in defineProps<Type> is exported, SFC compiler is no longer able to follow the extends and hence produce incorrect type literal for props.
System Info
No response
Any additional comments?
No response

It's been fixed since v3.3


Sync eng/common directory with azure-sdk-tools for PR 8076

Sync eng/common directory with azure-sdk-tools for PR https://github.com/Azure/azure-sdk-tools/pull/8076  See eng/common workflow

/check-enforcer override


Add a few print outs for what the dandelion params mean to the output

From:
https://www.notion.so/TEC-Models-Spec-d24bdea227324576b04c88871aa616c4
It costs _______wxDAI to make a proposal
Votes will be voted on for _______ days
TECH token holders will have _____ Days to exit the DAO if they don't like the result of a vote (as long as they don't vote yes).
There can be a maximum of ___________ votes per year.
A proposal that passes can be executed __________ days after it was proposed.

Consider using panel markdown or html rendering functionality. https://panel.holoviz.org/reference/panes/HTML.html#panes-gallery-html


Changes dont reflect in app after changing code.

@pkellner
Hey Peter Kellner,
There is an issue with my app while following you along in this course. It came up during "4- Building a React Web App and Refactoring into Components" module.
The issue is that I do some coding but the code changes don't reflect back in my running app. I have to continuously start and stop the app by "npm run dev" to see the app changing every time after changing the code.
I have put my code in the following repo:
https://github.com/iAmMuhammadZubair/Conference-Website/tree/master
Check this by running the app in your own machine.
Note: I have not added the node and next modules folder in the repo as they were very heavy-sized.

Hi @iAmMuhammadZubair , I tried you project and made a few changes that did seem to reflect.  can you make a short screencast to show me the issue? Here is one I made:  https://www.dropbox.com/s/e37l7i6txiax5op/im2.mp4?dl=0
I have noticed you updated to the latest react and node.  One reason, that I replaced tailwindcss with bootstrap in my latest release to this course (came out yesterday) is that I found tailwindcss not that stable with the later versions of next (that and people didn't like that I used it).


Alias and export Juno felt

The Juno felt should be aliased and exported by starknet.go, so that he user doesn't need to import both juno and starknet.go

depends on :  https://github.com/NethermindEth/starknet.go/pull/239


Errors while running docbook.xsl

When i try to run docbook.xsl i get the following errors:
In main.xsl:
Cannot find parameter-maps.xsl.
Cannot find VERSION.xsl.
Both are located in the tools directory.

Sorry, perhaps the instructions aren't very clear yet. If you clone the repo, you have to build the stylesheets before you can use them. Try gradle makeXslt. Then you'll have usable stylesheets in build/xslt. The sources aren't directly usable.
Apologies for the confusion.

I am now following the instructions on https://xsltng.docbook.org/guide/ch05.html.
I run gradlew on Windows (./gradlew makeXslt) but i get the following error:
FAILURE: Build failed with an exception.

Where:
Build file 'C:\ZZZ\xslTNG-main\build.gradle' line: 138

What went wrong:
A problem occurred evaluating root project 'xslTNG-main'.

Cannot invoke method split() on null object

Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

Get more help at https://help.gradle.org

BUILD FAILED in 1s

Sorry you're having trouble. You can just grab the 1.1.1 distribution in the short term, if you want to get around the build issues. I'll investigate the Windows problem asap. (This week, most likely, but probably not today.)

Ok, that's working. Thank you for helping.

I've documented that the build isn't currently working on Windows. That's all I'm going to do for the moment.


Profile and EndGame UI need to be updated

Profile view and EndGame are using the old dark mode for the UI.
We could use a glass type of uUI to match the aesthetic of the friend list and shop.

Already in #33


Add client side configuration and cache configuration per file

Use lru_cache decorator on load_config to remember the black configuration for each file that the plugin processes. If the black configuration changes for any reason (e.g. the user editing the pyproject.toml file for the project) then the LSP server would need to be restarted for python-lsp-black to refresh the configuration.

[x] Support plugin configuration (pylsp.plugins.black namespace)
[x] Add unit test for plugin configuration.
[x] Only enable load_config caching if pylsp.plugins.black.cache_config is set in plugin settings.
[x] Add unit test for config caching.
[x] Support Black's preview features if pylsp.plugins.black.preview is true.

@haplo, this is ready for review.

Pinging @haplo again. I hope you can review this one soon because we need it for Spyder 5.3.0, to be released next Wednesday.

Pinging @haplo again. I hope you can review this one soon because we need it for Spyder 5.3.0, to be released next Wednesday.

Pinging @haplo again. I hope you can review this one soon because we need it for Spyder 5.3.0, to be released next Wednesday.

Sorry @ccordoba12, I had a busy week. I'm now reviewing all open PRs and will prepare a release once they are all merged.

@haplo, I addressed your review and also added in my last commit (i.e. 5a3ec80) a hook with all config options supported by this plugin.

@ccordoba12 I pushed my update to README, please take a look.
Only open issue is defaulting enabled to false, I think we would get a lot of angry users if we did that. Can we leave it enabled by default while still supporting the enabled configuration option to disable it?

Can we leave it enabled by default while still supporting the enabled configuration option to disable it?

Sure, no problem. I did it in my last commit.

@ccordoba12 I released version 1.2.0. It would be great to have a more direct channel to communicate, is there something for python-lsp-server that we could use?

I released version 1.2.0

Thanks a lot for your help @haplo!

It would be great to have a more direct channel to communicate, is there something for python-lsp-server that we could use?

You mean like a mailing list or Discourse instance?

I released version 1.2.0

Thanks a lot for your help @haplo!

You are welcome, thank you for driving this PR home.

It would be great to have a more direct channel to communicate, is there something for python-lsp-server that we could use?

You mean like a mailing list or Discourse instance?

I was thinking of something real-time, like a Matrix channel or maybe Gitter. That could also be a place for users to ask questions and seek support from the community.

I see. Gitter is a good idea, but I don't have time to participate on it. Would you me to open a Gitter channel for python-lsp-server?

My original idea was to have some real-time communication channel with you and maybe other python-lsp-server maintainers, because right now it's only Github issues. If you use Signal (preferred) or Telegram you can find my phone number in my website, just look at my Github profile.
I still think a Gitter channel would be a good idea to give users a place to talk about python-lsp-server and its plugins. I would check it out from time to time, but also don't plan on participating all the time.


KAFKA-4622: Consumer should handle group authorization errors in offset fetch

Since Ewen said he was OK to merge this as is based on Jason's input, I went ahead and did it.


sse3,ssse3: refactored mm_h{add,sub}{,s}_{ps,pd,epi16,epi32}

This looks great, thanks!  I love seeing all that code removed ☺


Nested list example not working

Describe the bug
The nested example from the readme is not working: https://snack.expo.dev/@computerjazz/draggable-flatlist-examples
To Reproduce
Access the link example. Not working on android physical and emulator.

Upvote - tried the snack today and it simply crashes in expo go

Yep, not working! Upgraded all the packages and crashes on device.

it is most likely that the snack example is using expo > 48 on the website and the example is using expo 48, which can cause this.
you will have to set expo version to 48 to be able to run it.
as for mobile, expo snack needs to be a certain version (max supported expo go app version 2.28.7) to be able to run expo 48 code, which I'm not sure is possible.

you can very well test it out on simulators by following below steps:

Delete yarn.lock and node_modules
Run yarn within Example folder
Run npx expo install --fix within Example folder
Wrap root app in <GestureHandlerRootView style={{ flex: 1 }}></GestureHandlerRootView> in the file Example/App.tsx
Change makeUrl to createUrl in Example/navigation/LinkingConfiguration.ts
Run yarn ios


Blur the background using @Task-Vision and multiclass segmentation model

Hi,
I'm trying to implement blurring using MediaPipe multi-segmentation model.
Here is my attempt using a 15x15 blur kernel to apply gaussian blur :
https://codepen.io/edamlmmv/details/KKEdJod
it works but the effect is not as good as Volcomix's demo.
I've tried implementing backgroundBlurStage into my demo, here is my attempt :
https://codepen.io/edamlmmv/pen/xxBKqma
There are some issues. Firstly, I don't apply vertical pass and horizontal pass like Volcomix. I've tried but I wasn't successful. I've also tried to implement multiple blur passes but I cannot seem to make it work. Finally, contrary to Volcomix, my mask doesn't seem to have an opacity value (maskTex.a). Instead, there's an RGB color for the segmented individual and another color for the background.
My understanding of WebGL is limited and I was wondering if anyone could give me some cue as to how to advance my implementation.

Rectification, it's almost working.
Only the segmentation mask is missing. Everything is blurred now.
However, the segmentation mask seems to include all the pixels, the foreground and background where the background is colored red and the foreground black. This is an issue because I would expect to be no pixels where the red pixels are.
https://codepen.io/edamlmmv/pen/xxBKqma


Multi-threaded Rasterization

Now when we traverse the Layer tree, when we reach the leaf node DisplayListLayer, we Dispatch the operation recorded in DisplayList via DisplayListDispatcher. Can we design a strategy to Dispatch DisplayList in parallel?

In this scenario we have 4 DisplayListLayers, now we are using depth-first traversal to do Dispatch so that they are executed in the order DL1, DL2, DL3, DL4. If we know that the complexity cost of DL1 is 1, DL2 is 4, DL3 is 5, and DL4 is 6, in this case, we can try to split into two threads, thread one to do DL1 and DL4 Dispatch, thread two to do DL3 and DL2 Dispatch.
Does that make sense to you? @flar

In the case of Skia, we have to "play back" the DL into the SkCanvas and there is no way to tell them "give us a pointer here and we'll deliver the data asynchronously". We have to dump it all in right there. If they parallelize the work, that is internal to Skia.
With Impeller, currently we are creating one big DL that has DrawDisplayListOp records in it so the code in the picture layer objects isn't actually doing any work (just adding a record to a buffer). At the end of the LayerTree::Paint() we dump the aggregate DL into Impeller in one dispatch operation. Impeller could receive each recursive DrawDisplayListOp operation and try to parallelize their work within the Impeller Dispatcher if it makes sense for their work flow. As to parallelizing the work on the GPU, that depends on the library being used to render and whether it supports parallel operations.

It'd help to see if there's a trace where this is causing problems - IOW something specifically showing that dispatch is taking a significant amount of time. In my own look at traces around this, I don't recall seeing one where dispatch was a dominating factor on CPU time.
Most of the dispatch is just munging memory around. I suspect it's much more IO intensive than CPU. Parallelizing that could make things worse (e.g. by increasing memory contention, or by spending more time waiting on a mutex than we would have spent to just do all the work in serial).
I expect we'd have better luck looking at ways to reduce the amount of work we're doing here (e.g. avoiding copies when we can) rather than to parallelize.

Regarding Impeller parallelization, is this the issue https://github.com/flutter/flutter/issues/106519?
I am a little curious why parallelization is not done at LayerTree level, but by Impeller after generating big DL. Different subtrees of LayerTree should have been separated into unrelated task groups, and it seems easier to find tasks that can be parallelized. It seems more difficult to find unrelated slice in big DL array?


Golang seccomp package

This builds off of the work on @keloyang and @yangshukui in #529 and adds a pure Go package for using seccomp.
The changes in this PR are mostly around the package API and expressing constraints, all the hard work was done in the original commits,  thanks!
This also adds security profile support for nsinit that uses seccomp for filtering.  You can view the file nsinit/security.go in this PR to see how the seccomp package is consumed.

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "seccomp-args" git@github.com:crosbymichael/libcontainer.git somewhere
$ cd somewhere
$ git rebase -i HEAD~6
editor opens
change each 'pick' to 'edit'
save the file and quit
$ git commit --amend -s --no-edit
$ git rebase --continue # and repeat the amend for each commit
$ git push -f

Ammending updates the existing PR. You DO NOT need to open a new one.

Let's remove merge commit.

Compilation errors.

/go/src/github.com/docker/docker/hack/make/validate-dco: line 3: /.validate: No such file or directory
/go/src/github.com/docker/docker/hack/make/validate-dco: line 5: validate_diff: command not found
/go/src/github.com/docker/docker/hack/make/validate-dco: line 6: validate_diff: command not found

WAT?

super-cool :+1:

updated

I tried with busybox, debian and alpine. I couldn't run alpine with --seucrity=high, but seems like it's alpine problem. All works pretty well in other rootfs.

I am trying it now. Seems to work.
We'll need to update doc and spec.md later. LGTM otherwise.

Basic testing worked on Fedora 22 with busybox.

@mrunalp How is it going here? Can we merge this?

@LK4D4 yep. LGTM.


Improve Kafka integration with Quarkus dev services

I modifed things to use the sentence per line 'best practice'. IMO it's aesthetically awful and I'd prefer we abandoned it. But happy for this PR to be the guinea pig for it.

I see the point, the source adoc becomes less aesthetic. I think I could get used to that on the long run if I'm convinced it help. And I understand it could help with merging conflicts. From a review perspective, I think we won't be able to catch but that's no blocker.
I would say, let's merge as is not to block this PR and then maybe @zbendhiba @zhfeng @JiriOndrusek @ppalaga @ffang  and others would have comment.

I modifed things to use the sentence per line 'best practice'. IMO it's aesthetically awful and I'd prefer we abandoned it. But happy for this PR to be the guinea pig for it.

Let's see how it looks like in the camel website.


weight matrix in optimization

The reason why the loss didn't decrease in the previous tests is that we can get the optimal solution in one step. Now I have changed "test_optim_anybatch" to "multi-parameter", so we can see the explicit loss decrease.


(#902) Add debug info to Contributing document

Description Of Changes
Add debugging information to contributing document and provide a script to help with the process.
Motivation and Context
Because Chocolatey GUI depends on the system installed Chocolatey, the Chocolatey.Lib package needs to be the same version that is installed. This isn't currently called out in the contributing documentation, nor do we provide an easy way to update.
Testing
I have used the provided script several times to update the Chocolatey.Lib version targeted while working on the 1.1.0 release.
Change Types Made

[ ] Bug fix (non-breaking change)
[x] Feature / Enhancement (non-breaking change)
[ ] Breaking change (fix or feature that could cause existing functionality to change)
[ ] PowerShell code changes.

Related Issue
Fixes #902
Change Checklist

[ ] Requires a change to the documentation
[x] Documentation has been updated
[ ] Tests to cover my changes, have been added
[ ] All new and existing tests passed.
[ ] PowerShell v2 compatibility checked.

@corbob thanks for getting this added. I added a couple of small tweaks after taking this for a spin, but on the whole a great addition, thanks!


feat: implement coinbase mass payments across base/sol/eth/pol/arb

Relates to:
Issue: Ensure dynamic parsing, validation, and execution for mass payouts using Coinbase SDK.

Risks
Risk Level: Medium

Impact on transaction accuracy due to potential mapping mismatches between CSV headers and object fields.
Dependencies on external Coinbase SDK stability.

Background
What does this PR do?
This PR implements dynamic mass payout capabilities using the Coinbase SDK. Key updates include:

Parsing transferTemplate details to dynamically construct transactions for processing.
Validating input parameters (e.g., receivingAddresses, network) to ensure they comply with supported formats and networks.
Appending all processed transactions (successes and failures) to a CSV file dynamically created in src/plugins/transactions.csv.
Generating wallet details dynamically if not already present.
If a wallet is not pre-configured:

A new wallet is generated and saved to characters/charactername.character.json under settings.secrets.
If the character file does not exist, the wallet details are saved to a character-seed.txt file, and a note is added to move these details manually to the character's settings or environment variables.

What kind of change is this?
Improvements: Adds dynamic appending and parsing of CSV data.
Features: Introduces mass payouts using Coinbase SDK for supported networks.

Documentation changes needed?
Yes. The changes require an update to project documentation to reflect:

New transferTemplate structure for mass payouts.
Supported networks (base, sol, eth, arb, pol).
Steps to validate environment variables for COINBASE_API_KEY and COINBASE_PRIVATE_KEY.
Guidance for handling dynamically generated wallets (e.g., adding details from character-seed.txt to settings.secrets or .env).

Testing
Where should a reviewer start?

massPayoutProvider.get function for dynamic parsing and handling of CSV records.
executeMassPayout logic for sequential processing of transactions.
Integration of Coinbase SDK for wallet initialization and balance checks.

Detailed testing steps

Setup Environment Variables:

Ensure COINBASE_API_KEY and COINBASE_PRIVATE_KEY are set in the .env file or runtime settings.

Process Mass Payout Transactions:

Execute a payout request using the SEND_MASS_PAYOUT action.
Validate successful transactions are logged in the CSV file.

Wallet Generation:

Remove COINBASE_GENERATED_WALLET_HEX_SEED and COINBASE_GENERATED_WALLET_ID from your configuration.
Verify that a new wallet is created and stored in characters/charactername.character.json under settings.secrets.
If the character file does not exist, confirm that the wallet details are written to charactername-seed.txt with instructions to move them manually.

Validate Edge Cases:

Process invalid addresses.
Handle insufficient wallet balances.
Verify proper CSV appending and transaction updates.

Screenshots
https://drive.google.com/file/d/160rreXAoKBj9db8lIMjF5LW8EmAihQmi/view?usp=sharing

After

Dynamic CSV appending:

Address,Amount,Status,Error Code,Transaction URL
0xA0ba2ACB5846A54834173fB0DD9444F756810f06,0.0001,Success,,https://basescan.org/tx/0x420332...
0xF14F2c49aa90BaFA223EE074C1C33b59891826bF,0.0001,Failed,Insufficient Funds,

Screen Recording:

Deploy Notes

Verify CSV file path in src/plugins/transactions.csv is accessible.
Ensure wallet initialization works seamlessly for networks without pre-generated wallet details.

Database changes

None.

Deployment instructions

Deploy as part of the next release cycle.
Monitor logs for unexpected behaviors during payout execution.
Validate that all necessary environment variables are set and accessible.
Ensure new wallets are properly stored or manually moved to character configurations.

[Discord](https://discord.gg/ai16z) username
0x8664

Very cool but we should think about adding this to the db

Very cool but we should think about adding this to the db

Thanks for the review - yeah totally the csv was an interim patch, it definitely should be part of the db :)


Cannot have multiple canvas's

       ` {arr.map(item => (
          <div key={item.key}>
                    <Unity  src="/unity/Builds.json" />
          </div>))}`

Only the first div will get a canvas (arr[0]) the other ones will have .unity, .unity-container, but no canvas.

Thanks for your issue. This is true, it is because the Unity canvas wil be binded to an single instance. I will look into to!

This issue has been scheduled for the next release 7.0.0.

I'm happy to announce that 7.0.0 has finally released. Please see the documentation for further instructions on how to implement the new library. Multiply canvases are now available!


Unable to Build App - pdfx <IP_ADDRESS>+2 depends on photo_view 0.13.0

Describe the bug
Photo View package has a new version 0.14.0 which resolves a number of important issues https://pub.dev/packages/photo_view/changelog
However upgrading this package means any app using the pdfx won't build.
To Reproduce
Steps to reproduce the behavior:

upgrade photo_view package to ^0.14.0
See error

Because pdfx 2.0.1+2 depends on photo_view ^0.13.0 and no versions of pdfx match >2.0.1+2 <3.0.0, pdfx ^2.0.1+2 requires photo_view ^0.13.0.
So, because exampleapp depends on both photo_view ^0.14.0 and pdfx ^2.0.1+2, version solving failed.

Expected behavior
new version of pdfx is required in order to build app
Thank you

While you wait for a new package, you can try this in pubspec.yaml:
dependencies:
  ...
  pdfx:   pdfx: ^2.0.1+1
  ...

dependency_overrides:
  photo_view: ^0.14.0

Upvote for this upgrade request.

Could we possibly get a new pub.dev release?

Already upgraded in actual package release (2.2.0)


Add an index after Table of Contents

Many files have X< display | index-entry > markup. In the RakuDoc specification, the clear intention is for the 'index entry' part to be contained in an Index.
Although Table of Contents were created on a per-file basis for each HTML page in the first web generators, the Index was not generated.
Proposal is to render the Index (only if there are indexed items on a page) and place it after the Table of Contents. Similar to the Table of Contents, the Index is filtered to match a search input. As with a Table of Contents, clicking on an item moves the browser window to the relevant position.
The Indexed data is used in the overall site Search function, but it is not visible on a page. By making it visible on a page, it adds another way to look for relevant information, but in a wider context than is possible in a Search function.

I have implemented an Index feature on new-raku eg operators
Open the Tables of Contents panel on the left, then click on the 'Index' tab. Click on an item.
The flaw at the moment is that the location is placed at the top of the browser window, under the Nav bar.
This also happens when going to a heading from Table of Contents.
There is a work-around. But I can't remember it.
Any comments? @Raku/core @coke


Fixing the handling of detach errors

Description
This fixes the handling of amqp:link:detach-forced errors from Azure Service Bus. While the log message can be suppressed, this type of error should not be ignored because it prevents the component from reconnecting. Reconnecting is the desired behavior when the link is force detached.
Issue reference
Resolves dapr/dapr#3468
Checklist
Please make sure you've completed the relevant tasks for this PR, out of the following list:

[x] Code compiles correctly
[ ] Created/updated tests
[ ] Extended the documentation / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]

Please, change it to the release branch. We merge release into master.


Provide the user/team IDs when handling authTest success

Slack's API documentation seems to indicate that the best way to figure out "who am I" is to get the user and team ID from the JSON returned by the authentication test command.
This PR changes from using the SuccessClosure to a new AuthTestClosure that provides the user and team IDs to the caller.

Awesome, thanks for the PR! One small change: can you make the closure take optional strings? I wouldn't want to be crashing here in the event of an API change by Slack.

Done, and tested on my local Slack bot.

Great, thanks again!


RA2 failed to navigate the view using the mouse on full screen & borderless mode on Proton

I use Linux and multiple monitors, so I need to lock my cursor to screen. But with devmode on I cannot move my view right or bottom just like the picture below. Top and left works fine.

The red arrow points to my cursor. It didn't turn to navigating cursor.
The blue arrows point to top-right and bottom-left corner where right or bottom navigating can be triggled.

When devmode is off, everything works fine but my cursor would move out of the screen.
This is my monitor layout, and the 1440p one is my primary monitor.

That seems to be a bug in wine, you're the second one to report it. This does not happen on windows.
What wine version is it?

What wine version is it?
Proton-GE 8.16

I'm not sure if there's anything I can do. I could possibly add a temporary workaround, but in the end, they'll have to fix it.
Apparently they broke "ClipCursor" in a way that you can move the cursor to the very right and the very bottom anymore. C&C games don't handle such issues very well, they need the cursor to reach the very last line/row to trigger the scroll. Other games are a bit smarter, there's often between 2-5 lines/rows that trigger the scroll

Just to verify, here's a test build that logs the ClipCursor calls to cnc-ddraw-*.log:
ddraw.zip
If you want, do a test run and upload the log and and I can double check just to be sure it's really a problem within ClipCursor

cnc-ddraw-1.log

Yeah, that confirms what I thought. They broke "ClipCursor".
Not sure where to report the issue, no idea if it's specific to Proton GE or regular Proton or wine... You probably have to use a older build for now until they've fixed it.
They're probably not even aware of the issue yet, in most games you wouldn't notice that there's something wrong.

This here probably works (increased width/height of the rectangle by 1):
ddraw.zip

Thank you for your time. But it doesn't work.
cnc-ddraw-1.log

Ah okay, so their bug is that they check the size of the window and subtract 1 from it. That's why borderless works (it does add +1 to the height)

Closing this as it's not a cnc-ddraw related bug


making a concept abstract or changing its inheritance should be considered a breaking change

Bug Report 🐛

When comparing two models, Concerto doesn't consider changing a concept from concrete to abstract to be a breaking change, but it is because existing data using the concrete type will no longer validate.
It also doesn't detect changes in inheritance, even when that changes the fields in a concept.

Expected Behavior
When comparing two models where the new model changes a concept from concrete to abstract, the change should be detected as a major (breaking) change. When changing the other way, from abstract to concrete, the change should be detected as a minor or patch (non-breaking) change.
When comparing two models where the new model changes a concept's inheritance, the change should be detected as a major (breaking) change. This could potentially be relaxed to a minor change if the new base type is derived (directly or indirectly) from the old base type and the newly intervening base types only add fields that would be allowed to be added directly to the concept at issue (i.e. optional fields whose names don't collide with existing fields).
Current Behavior
Currently, changing a concept between abstract and concrete is not detected as a model change, and neither is changing a concept's inheritance.
Possible Solution
Detect a change to a concept's abstractness in the model comparer and return one of two new result codes. Detect a change in base class and return a new result code (or two new result codes if you want to get fancy).
Steps to Reproduce
First, create two model files. A.cto:
namespace<EMAIL_ADDRESS>concept B { o String }
concept C extends B { }

and B.cto:
namespace<EMAIL_ADDRESS>concept B { o String }
abstract concept C { }

Then, run concerto compare --old A.cto --new B.cto
No differences are reported.
Context (Environment)
It just seems like a bug that needs fixing.
Desktop

OS: Windows 11
Browser: Chrome
Version: Concerto 3.16.4; Chrome 130.0.6723.117

Detailed Description

Possible Implementation
In classDeclarationTypeChanged, check if the two concepts are equally abstract and if not return new comparison result type-made-concrete (minor or patch) or type-made-abstract (major).
Also check if the base type has changed and if so return a new comparison result supertype-changed (major) (or concept-extends-changed to parallel the existing scalar-extends-changed result). If you want to get fancy, you could allow some base type changes that are not breaking, as described above in the "Expected Behavior" section.

Hi @DS-AdamMilazzo , I'd love to tackle this issue. Any ideas where I should start looking?

Hi @DS-AdamMilazzo ,
The code I would like to change like this.
Adding Abstractness to check the class comparer.
const isAbstract =(declaration) => declaration.isAbstract( );
if( isAbstract(a) !== isAbstract(b) ) {
const changeType = isAbstract(a) ? abstract to concrete  : concrete to abstract ;
const changeSeverity = isAbstract(a) ? minor : major ;
context.report({
key : class-declaration-abstractness-changed ,
message : The class "${a.getName( )}" changed from ${changeType}  ("${changeSeverity} change ,
element : a
});
}
Abstract -> Concrete :   Minor change.
Concrete  -> Abstract  : Major change.
will you please let me know if there are any another changes required.
Thank you.

Hi @DS-AdamMilazzo , The pull request is ready for review.
Thank you.

You should link to the PR. I guess it is https://github.com/accordproject/concerto/pull/974


Actually make the ping robot output pong as expected

As per robot description, this robot should respond with pong

Thanks, I can see it being useful to show the user pong as well as send it with the webhook.


Specify more precisely all the resource types built in to Kubernetes

This is a Bug Report

Reword to make clear the available resource types
Specify more precisely all the resource types built in to Kubernetes

Problem:
In all website, the only main reference about resource types  is in the section https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#resource-types. There, you can read commentaries about resource types, some characteristics about it ..., but 👁 no clear reference about ALL possible resource types 👁 (and the section it's named "Resource types").

CPU and memory are each a resource type. A resource type has a base unit. CPU represents compute

Simply checking the website, you can conclude just that "cpu" and "memory" are some of the possible ones.
Proposed Solutions:

I would suggest something like clarify here in this section all the posible types

"The available resource types are  cpu,  memory, storage and ephemeral-storage. A resource type has a base unit. CPU represents compute "

@sftim suggests "add a reference page about all the resource types built in to Kubernetes? Perhaps within https://kubernetes.io/docs/reference/node/"

https://github.com/kubernetes/website/issues/44717#issuecomment-1890962249
Notes:
Reference about the available resource types : https://github.com/kubernetes/kubernetes/blob/master/pkg/apis/core/types.go#L4998
Page to Update:
https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

/language en

/sig docs

How about we add a reference page about all the resource types built in to Kubernetes? Perhaps within https://kubernetes.io/docs/reference/node/?

How about we add a reference page about all the resource types built in to Kubernetes

without correcting / clarifying this section -- https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#resource-types -- ?

Or as I added in the notes

maybe I am misunderstaing the meaning of "Resource" and it referers just to Compute Resources -> just valid cpu and memory

For me it makes sense, but I am nobody ..xd

Perhaps within https://kubernetes.io/docs/reference/node/?

🤔 , but resource types are in some way strictly related to nodes?

@sftim

The core Kubernetes resources such as CPU (cpu) and RAM (memory) are used by Pods. Pods require nodes to execute on, and the nodes provide those resources to Pods.
There are also custom types; see https://kubernetes.io/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins/#example-pod for one example, hardware-vendor.example/foo - and these may or not be directly attached to a node. However, none of those custom types are built in to Kubernetes. The reference page for built in resources, as I'm imagining it, would not list all the extension resource types - no need.
If we add the new reference page, https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#resource-types could and should link to the new page.

(Even better, https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ should move to https://kubernetes.io/docs/concepts/workloads/pod-and-container-resources/ - but that is not what this issue covers)

The core Kubernetes resources such as CPU (cpu) and RAM (memory) are used by Pods. Pods require nodes to execute on, and the nodes provide those resources to Pods.

Ah, that's your reasoning, to make more clear the distinction with non-node related to.

The reference page for built in resources, as I'm imagining it, would not list all the extension resource types - no need.

1, IMHO, always that you remark that you are talking about built in

If we add the new reference page, https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#resource-types could and should link to the new page.

ok

Even better, https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ should move to https://kubernetes.io/docs/concepts/workloads/pod-and-container-resources/

It makes sense, although I don't know the reasons why was placed in the current section ..

IMO, this issue is ready for further triage. @dancer1325, do you want to recommend an approach? You can:

leave the issue description as
change the issue description to state the problem and make it clear that various solutions could work
change the issue description to state the problem and recommend a specific approach, different from what's there now

I think the proposed fix isn't quite right, but it's your issue not mine.

do you want to recommend an approach?

I try to proceed with 2, just by suggesting the main 2 ideas strictly related to "resource types"

I think the proposed fix isn't quite right, but it's your issue not mine.

Ok
Feel free to adjust the issue, the main purpose of the issue is at the end, try to make more clear and comprehensible the documentation

@dancer1325 Could you edit the description to add what are the expected solutions/outcomes of the issue - a new concepts/reference/tasks page or modifications to an existing page?

/sig node
/triage accepted
We can work on this.
/priority backlog

Could you edit the description to add what are the expected solutions/outcomes of the issue - a new concepts/reference/tasks page or modifications to an existing page?

What's your opinion about what should happen next, @dancer1325 ?


Automated Package Upgrade

:tada: This PR is included in version 5.0.495 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Column selection

When I use the model_function column type (with ajax table enabled), and try to access a field from the model inside a model function, it returns null. I believe it's because it's because of this line.
Because when column type model_function selected, it doesn't add column name to required columns.
[
    'name'          => 'expires', //ignored
    'type'          => 'model_function',
    'function_name' => 'isExpiredText',
    'label'         => trans('ctkm.credit.expired'),
],

// model

public function isExpiredText()
{
    dd($this->expires == null); //true
    ...
}

OR, for my custom column type, I don't need any column. For example, when I want to use attribute of models relation (HasOne).
 [
    'name'      => 'id', // 'name' is required
    'type'      => 'textRelation',
    'entity'    => 'operation', //relation name
    'attribute' => 'comment', //relations column
    'label'     => trans('ctkm.credit.comment'),
],

//model
public function operation()
{
   return $this->hasOne(Operation::class);
}

// view
<td>
    @isset($entry->{$column['entity']})
        @isset($entry->{$column['entity']}->{$column['attribute']})
            {{$entry->{$column['entity']}->{$column['attribute']} }}
        @endisset
    @endisset
</td>

TL;DR: There is no way to ask backpack to select or not to select (ignore) columns when querying items.
I'm sorry if it's not clear, I don't know how else to word it :)

May be fixed by https://github.com/Laravel-Backpack/CRUD/pull/710

Seems like it. Hope that will be merged soon :).

@tabacitu is there a way to ask crud to select a field that is not used in any columns?
For example, say I have custom column view, and I want to use multiple fields from the row to render that view. The fields that I want to use will be always null because crud doesn't select them.

@tabacitu I fixed it myself.
Will you accept a fix PR like in this commit? or will it be really fixed by #710?

Hi @alashow - thanks for the PR, in the meantime it's been fixed on the upgrade branch, when I rewrote the whole AjaxDataTables implementation. So you shouldn't have that issue anymore, once we launch 3.3 later this week. Thanks, cheers!


[Question] How to compile manually on Ubuntu 22.04?

Would someone kindly list the detailed steps to build Spot manually on Ubuntu 22.04?
Questions:

How to install Rust (not as a snap or flatpak)?

What are the specific additional libraries I need?
I believe Ubuntu 22.04 already comes with GTK4 and libadwaita.
I have also installed:
 sudo apt install git ninja-build meson

When I execute:
meson target -Dbuildtype=debug -Doffline=false --prefix="$HOME/.local"

I get the following error in the log:
src/meson.build:3.0: ERROR: Pkg-config binary for machine 1 not found. Giving up.

Install prerequisite development packages.
sudo apt-add-repository universe
sudo apt install git pkg-config libadwaita-1-dev cmake libssl-dev libasound2-dev libpulse-dev libxml2-utils ninja-build meson rust-all

Download, compile and install Spot.
cd ~/Downloads
git clone https://github.com/xou816/spot.git
cd spot
meson target -Dbuildtype=release -Doffline=false --prefix="$HOME/.local"
sudo ninja install -C target

Optionally, remove the prerequisite development packages.
sudo apt autoremove git pkg-config libadwaita-1-dev cmake libssl-dev libasound2-dev libpulse-dev libxml2-utils ninja-build meson rust-all

thanks for your help @PJ-Singh-001 :)


[Peek] epub Support

Description of the new feature / enhancement
The ability to quickly view at least the first page of a epub-document to understand what kind of document it is, who the author is, and what language it is in.
Scenario when this would be used?

Currently, Windows users have no way to display a thumbnail of the first page of a .epub-files, or use the quick view sidebar. There is no support for this format either natively or in the form of third-party modules for File Explorer, including proprietary commercial solutions.
Supporting information
Of the universal e-book formats viewers, Calibre is the most attractive in terms of its capabilities. But app is quite heavy, and adds opened documents to the library, which in most cases I don’t need.

/dup https://github.com/microsoft/PowerToys/issues/2229

/dup #2229

@crutkas, the issue in your link is about previewing files in thumbnail mode. This is a File Explorer add-on, unrelated to Peek (quickly viewing documents in a separate window). Reopen the issue, please.

Same code base for these things moving forward. Peek can pick up our preview pane previewers. Will adjust the title.
If we solve for one, we solve for both :)

A workaround is to use DarkThumbs. The solution works for Windows 10 and 11.


Dataset with 64-bit intensities has binary ion images

https://metaspace2020.eu/annotations?db=NPA-2019-08&ds=2019-11-18_12h37m23s

Another dataset appeared with this problem from a different user: 2019-04-25_16h19m44s (private)
Both imzML files had the following metadata:
  <softwareList count="2">
    <software id="Xcalibur" version="2.2">
      <cvParam cvRef="MS" accession="MS:1000532" name="Xcalibur" value=""/>
    </software>
    <software id="TMC" version="1.1 beta">
      <cvParam cvRef="MS" accession="MS:1000799" name="custom unreleased software tool" value=""/>
    </software>
  </softwareList>
  <dataProcessingList count="2">
    <dataProcessing id="XcaliburProcessing">
      <processingMethod order="1" softwareRef="Xcalibur">
        <cvParam cvRef="MS" accession="MS:1000594" name="low intensity data point removal" value=""/>
      </processingMethod>
    </dataProcessing>
    <dataProcessing id="TMCConversion">
      <processingMethod order="2" softwareRef="TMC">
        <cvParam cvRef="MS" accession="MS:1000544" name="Conversion to mzML" value=""/>
      </processingMethod>
    </dataProcessing>
  </dataProcessingList>

However, checking the other imzML files I have on hand, there are plenty of error-free imzML files that have the same versions of Xcalibur and TMC.


Add missing netdev to QEMU instructions

The instructions for launching in QEMU are missing the netdev
attribute in the device parameter.
This prevents the guest from being able to communicate with the
external network.
Signed-off-by: Rob Woolley<EMAIL_ADDRESS>

This pull request was just clobbered.
Don't merge anything to meta-overc, that isn't in the master repo. I just pushed a new branch over top of this.
The change can be resubmitted to the OverC project and we can cycle it around that way.


opacity correction in tuvok: broken due to volume size

One of the students here finally figured out why images rendered through Tuvok look so much different than the 3D texturer, which it should be largely equivalent to. Tuvok isn't getting appropriate values for the overall volume size (m_vGlobalSize), which causes it to compute a junk value for the opacity correction factor. This makes everything excessively 'thin'.
-----------------------REDMINE MIGRATION-----------------------
This ticket was migrated from Redmine. As such, not all
information was able to be captured in the transition. Below is
a complete record of the original redmine ticket.
Ticket number: 662
Status: Pending
Project: VisIt
Tracker: Bug
Priority: Low
Subject: opacity correction in tuvok: broken due to volume size
Assigned to: Tom Fogal
Category: -
Target version: -
Author: Tom Fogal
Start: 03/24/2011
Due date:
% Done: 0%
Estimated time:
Created: 03/24/2011 04:54 pm
Updated: 03/31/2011 03:42 pm
Likelihood: 5 - Always
Severity: 4 - Crash / Wrong Results
Found in version: trunk
Impact:
Expected Use:
OS: All
Support Group: Any
Description:
One of the students here finally figured out why images rendered through Tuvok look so much different than the 3D texturer, which it should be largely equivalent to. Tuvok isn't getting appropriate values for the overall volume size (m_vGlobalSize), which causes it to compute a junk value for the opacity correction factor. This makes everything excessively 'thin'.
Comments:

closing, we have new VR logic


GOVUK PaaS Github Actions

Based on govuk-paas branch.
Spike into the use of Github Actions for CI workflow TEVA-515.
In this PR

Execute lint checking on push
Execute tests on push
Execute build using buildpacks and deploy to staging GOVUK PaaS space using CF on push

TODO TEVA-611

[ ] Formalise a production ready workflow

Specs running in 3m 59s!!! Great work! :boom:


Cannot add inputs to a project

I am trying to load multiple SCTK Scans into SCIO using the load_inventory pipeline.  My objective is to load multiple Scans run with the same Scan parameters - clipeu - into one Project. The Scans were run with SCTK v30.1.0 - using this version for compatibility with SCWB.
After I load the first Scan file, the Add inputs button is "grayed-out" and inaccessible. It appears that I can "Add pipeline" but that is not what I need to do.
The SCIO version is v30.1.1.

by design, once you run a pipeline, the set of inputs is frozen.
you can add a pipeline with additional inputs.


Update Rancher requirements to include RKE2 installs

https://github.com/rancher/docs/issues/3157
The 2.x docs are maintained for Rancher versions up to and including v2.5.6, so I'm adding these requirements there.
These changes will also be made to the 2.5 docs section once approved.
This still needs to be updated with steps for setting up the ingress.

This PR is just for requirements section, so we already have a page to explain the installation process?

Yes, on [this page](https://rancher.com/docs/rancher/v2.x/en/installation/install-rancher-on-k8s/ we list RKE2 as an option for preparing for the Helm chart install:

For help setting up a Kubernetes cluster, we provide these tutorials:
RKE: For the tutorial to install an RKE Kubernetes cluster, refer to this page. For help setting up the infrastructure for a high-availability RKE cluster, refer to this page.
K3s: For the tutorial to install a K3s Kubernetes cluster, refer to this page. For help setting up the infrastructure for a high-availability K3s cluster, refer to this page.
RKE2: For the tutorial to install an RKE2 Kubernetes cluster, refer to this page. For help setting up the infrastructure for a high-availability RKE2 cluster, refer to this page.
Amazon EKS: To install Rancher on Amazon EKS, including how to install an ingress so that the Rancher server can be accessed, refer to this page.

And it links to the RKE2 setup page here: https://rancher.com/docs/rancher/v2.5/en/installation/resources/k8s-tutorials/infrastructure-tutorials/infra-for-rke2-ha/

The doc about setting up the RKE2 cluster for a Rancher install does specify how to do the ingress:
https://rancher.com/docs/rancher/v2.x/en/installation/resources/k8s-tutorials/ha-rke2/#5-configure-nginx-to-be-a-daemonset
I can update the prerequisites/requirements page to link to that section as something you need to know for RKE2 installs.

@catherineluse Can we also mention that when doing this on an HA cluster, rke2-ingress-nginx should be deployed as a daemonset? This wording will probably need to be tweaked, but something like:

When creating your rke2 cluster, you should deploy rke2-ingress-nginx as a daemonset to ensure your load balancer can successfully route traffic to all nodes. This can be done by placing the following file at /var/lib/rancher/rke2/server/manifests/rke2-ingress-nginx-config.yaml prior to starting the rke2 cluster:
apiVersion: helm.cattle.io/v1
kind: HelmChartConfig
metadata:
  name: rke2-ingress-nginx
  namespace: kube-system
spec:
  valuesContent: |-
    controller:
      kind: DaemonSet
      daemonset:
        useHostPort: true

This comes from https://github.com/rancher/rke2/issues/493 which technically now has more steps but will be fixed and validated in the next few days, so we want to just leave the documentation on this bit simple. cc @davidnuzik @ShylajaDevadiga

@rancher-max @catherineluse please also note that the documentation current suggests that you can provide a repository/tag but because of how the helm chart is written it will never work if system_default_registry is set, which it appears to be by default.

@ekristen can you please raise a separate issue in rancher/docs about clarifying that?

I've replaced the ingress config example in the RKE2 tutorial to match Max's example, because as Max explained, the existing example used an image that is not needed anymore.


Automatically detect # and @ for labels and members respectively when adding cards

Sorry for the spam, just really loving the idea, especially since Trello can get slow with boards with a lot of cards. Would be great if when adding a card you could include labels and members into a name. It's something that Trello does by default when creating card inside a list directly and it makes things even faster.
E.g.
3llo > new card
Choose a list: ...
Name: name #bug @me

Great work, very useful, please keep going!

This is a very cool idea! 👍 Anyway the implementation would be a little tricky since we don't have all the keyup, keydown events on terminal. But I will give it a think.


tsp, generate sample/test for convenient API

It is OK for us to replace protocol API with convenient API in samples.
There would be corner case that service disable convenient API. I guess we can ignore this, as it would be rare.

One can use MVAD to test https://github.com/Azure/azure-rest-api-specs/tree/main/specification/cognitiveservices/AnomalyDetector
  "@azure-tools/typespec-java":
    namespace: com.azure.ai.anomalydetector
    partial-update: true
    examples-directory: ./examples

thought on impl

sample first
can temporary ignore spread/options (parameter flatten/grouping)
smaller PR to avoid conflict

First attempt would be create sample files for convenience methods(and client initialization).
Afterwards, fill in the files with method invocations.

Expected sample code after codegen finished:
https://github.com/Azure/azure-sdk-for-java/commit/a2ee043ffb48168141eed85d75845a035a5d6278

On next step, can you add some examples/json in our local test?
I don't have a good candidate. May be just the "list" op in "tsp/versioning.tsp".

Another pending one would be https://github.com/Azure/autorest.java/issues/2201

Start on working test generation. Similar to generated protocol tests, extend generated testBase and use example data as input and output verification.


CB-16690 Introduce 7.2.16 runtime version

See detailed description in the commit message.

Unit test is fixed, and I have also updated our wiki with that step: https://cloudera.atlassian.net/wiki/spaces/ENG/pages/596149312/How+to+introduce+a+new+Cloudera+Runtime+version


Error after restart  vps              invalid driver at ttl 0

Provide Your Network Information

Where is the location of your server? (i.e. City, or In/Out China)
tokyo
Which cloud platform(AliYun/Qcloud/DigitalOcean/etc) are you using?
ubuntu

Run npm run doctor or wechaty run doctor(for docker user), paste output here
npm run
Expected behavior
Actual behavior
Steps to reproduce the behavior (and fixes, if any)
Full Output Logs
root@vultr:~/wechaty# WECHATY_LOG=silly npm run ts-node example/ding-dong-bot.ts

<EMAIL_ADDRESS>ts-node /root/wechaty
ts-node "example/ding-dong-bot.ts"

09:42:58 SILL Brolog WECHATY_LOG set level to silly
09:42:58 INFO Config registering process.on("unhandledRejection") for development/debug
| __        __        _           _
| \ \      / /__  | |   __ | | _   _
|  \ \ /\ / / _ / _| ' \ / ` | __| | | |
|   \ V  V /  / (| | | | (| | || || |
|    _/_/ _|_|| ||_,|_|_, |
|                                     |__/
=============== Powered by Wechaty ===============
-------- https://github.com/chatie/wechaty --------
I'm a bot, my super power is talk in Wechat.
If you send me a 'ding', I will reply you a 'dong'!

Hope you like it, and you are very welcome to
upgrade me for more super powers!
Please wait... I'm trying to login in...
09:42:59 SILL StateSwitch constructor(Wechaty, standby)
09:42:59 VERB Wechaty contructor()
09:42:59 VERB Wechaty addListener(logout, function)
09:42:59 VERB Wechaty addListener(login, function)
09:42:59 VERB Wechaty addListener(error, function)
09:42:59 VERB Wechaty addListener(scan, function)
09:42:59 VERB Wechaty addListener(message, function)
09:42:59 INFO Wechaty v#git[9c2f97e] initializing...
09:42:59 VERB Wechaty puppet: web
09:42:59 VERB Wechaty head: chrome
09:42:59 VERB Wechaty profile: demo.wechaty.json
09:42:59 VERB Wechaty uuid: 161248ae-1756-4d79-ae8e-9ddea4ba1b62
09:42:59 SILL StateSwitch Wechaty:current() is standby
09:42:59 VERB StateSwitch Wechaty:target(ready) <- (standby)
09:42:59 VERB StateSwitch Wechaty:current(ready,false) <- (standby,true)
09:42:59 SILL StateSwitch constructor(Puppet, dead)
09:42:59 VERB Config puppetInstance(PuppetWeb)
09:42:59 VERB PuppetWeb init() with head:chrome, profile:demo.wechaty.json
09:42:59 VERB StateSwitch Puppet:target(live) <- (dead)
09:42:59 VERB StateSwitch Puppet:current(live,false) <- (dead,true)
09:42:59 SILL UtilLib getPort(18788)
09:42:59 SILL UtilLib getPort(18788) return: 19826
09:42:59 VERB PuppetWeb init() getPort 19826
09:42:59 VERB PuppetWeb initServer()
09:42:59 SILL StateSwitch Puppet:target() is live
09:42:59 VERB PuppetWebServer init() on port 19826
09:42:59 VERB PuppetWebServer createHttpsServer() listen on port 19826
09:42:59 VERB PuppetWeb initServer() done
09:42:59 VERB PuppetWeb initBrowser()
09:42:59 SILL StateSwitch constructor(Browser, close)
09:42:59 VERB PuppetWebBrowser constructor() with head(chrome) sessionFile(demo.wechaty.json)
09:42:59 VERB PuppetWebBrowserDriver constructor(chrome)
09:42:59 VERB PuppetWebBrowserCookie constructor(BrowserDriver, demo.wechaty.json)
09:42:59 SILL StateSwitch Puppet:target() is live
09:42:59 VERB PuppetWebBrowser init()
09:42:59 SILL StateSwitch Browser:current() is close
09:42:59 VERB StateSwitch Browser:target(open) <- (close)
09:42:59 VERB StateSwitch Browser:current(open,false) <- (close,true)
09:42:59 VERB PuppetWebBrowserCookie hostname()
09:42:59 VERB PuppetWebBrowserCookie getCookiesFromFile() from demo.wechaty.json
09:42:59 SILL PuppetWebBrowserCookie hostname() no valid cookie in files, return default hostname
09:42:59 VERB PuppetWebBrowserDriver init() for head: chrome
09:42:59 VERB PuppetWebBrowserDriver getChromeDriver()
09:42:59 VERB PuppetWebBrowserDriver getChromeDriver() ttl: 2
09:42:59 VERB PuppetWebBrowserDriver getChromeDriver() new Builder()
09:42:59 VERB PuppetWebBrowserDriver getChromeDriver() new Builder() done
09:42:59 VERB PuppetWebBrowserDriver valid()
09:42:59 VERB PuppetWebBrowserDriver validDriverSession()
09:42:59 VERB PuppetWebBrowserDriver validDriverSession() getSession()
09:43:06 WARN PuppetWebBrowserDriver validDriverSession() driver.getSession() timeout(halt?)
09:43:06 WARN PuppetWebBrowserDriver validDriverSession() driver.getSession() exception: validDriverSession() driver.getSession() timeout(halt?)
09:43:06 VERB PuppetWebBrowserDriver getChromeDriver() valid() is false at ttl 2
09:43:06 WARN PuppetWebBrowserDriver getChromeDriver() got invalid driver at ttl 2
09:43:06 VERB PuppetWebBrowserDriver getChromeDriver() driver.quit() at ttl 2
09:43:06 VERB PuppetWebBrowserDriver getChromeDriver() ttl: 1
09:43:06 VERB PuppetWebBrowserDriver getChromeDriver() new Builder()
09:43:06 VERB PuppetWebBrowserDriver getChromeDriver() new Builder() done
09:43:06 VERB PuppetWebBrowserDriver valid()
09:43:06 VERB PuppetWebBrowserDriver validDriverSession()
09:43:06 VERB PuppetWebBrowserDriver validDriverSession() getSession()
09:43:13 WARN PuppetWebBrowserDriver validDriverSession() driver.getSession() timeout(halt?)
09:43:13 WARN PuppetWebBrowserDriver validDriverSession() driver.getSession() exception: validDriverSession() driver.getSession() timeout(halt?)
09:43:13 VERB PuppetWebBrowserDriver getChromeDriver() valid() is false at ttl 1
09:43:13 WARN PuppetWebBrowserDriver getChromeDriver() got invalid driver at ttl 1
09:43:13 VERB PuppetWebBrowserDriver getChromeDriver() driver.quit() at ttl 1
09:43:13 VERB PuppetWebBrowserDriver getChromeDriver() ttl: 0
09:43:13 VERB PuppetWebBrowserDriver getChromeDriver() new Builder()
09:43:13 VERB PuppetWebBrowserDriver getChromeDriver() new Builder() done
09:43:13 VERB PuppetWebBrowserDriver valid()
09:43:13 VERB PuppetWebBrowserDriver validDriverSession()
09:43:13 VERB PuppetWebBrowserDriver validDriverSession() getSession()
09:43:20 WARN PuppetWebBrowserDriver validDriverSession() driver.getSession() timeout(halt?)
09:43:20 WARN PuppetWebBrowserDriver validDriverSession() driver.getSession() exception: validDriverSession() driver.getSession() timeout(halt?)
09:43:20 VERB PuppetWebBrowserDriver getChromeDriver() valid() is false at ttl 0
09:43:20 WARN PuppetWebBrowserDriver getChromeDriver() got invalid driver at ttl 0
09:43:20 VERB PuppetWebBrowserDriver getChromeDriver() driver.quit() at ttl 0
09:43:20 WARN PuppetWebBrowserDriver getChromeDriver() invalid after ttl expired: Error: got invalid driver at ttl 0
at BrowserDriver. (/root/wechaty/src/puppet-web/browser-driver.ts:212:21)
at next (native)
at fulfilled (/root/wechaty/src/puppet-web/browser-driver.ts:4:58)
at process._tickDomainCallback (internal/process/next_tick.js:135:7)
09:43:20 ERR PuppetWebBrowser init() exception: got invalid driver at ttl 0
09:43:20 VERB PuppetWebBrowser quit()
09:43:20 SILL StateSwitch Browser:current() is open
09:43:20 VERB StateSwitch Browser:target(close) <- (open)
09:43:20 VERB StateSwitch Browser:current(close,false) <- (open,false)
09:43:20 WARN PuppetWebBrowser quit() exception: Cannot read property 'close' of undefined
09:43:20 WARN PuppetWebBrowser driver.quit() exception: Cannot read property 'close' of undefined
09:43:20 VERB StateSwitch Browser:current(close,true) <- (close,false)
09:43:20 ERR PuppetWeb initBrowser() exception: got invalid driver at ttl 0
09:43:20 ERR PuppetWeb init() exception: Error: got invalid driver at ttl 0
at BrowserDriver. (/root/wechaty/src/puppet-web/browser-driver.ts:212:21)
at next (native)
at fulfilled (/root/wechaty/src/puppet-web/browser-driver.ts:4:58)
at process._tickDomainCallback (internal/process/next_tick.js:135:7)
09:43:20 INFO Bot error: Error: got invalid driver at ttl 0
09:43:20 VERB Wechaty say(Wechaty error: got invalid driver at ttl 0)
09:43:20 SILL StateSwitch Puppet:target() is live
09:43:20 SILL StateSwitch Puppet:current() is live
09:43:20 SILL StateSwitch Puppet:stable() is false
09:43:20 VERB PuppetWeb quit() state target(live) current(live) stable(false)
09:43:20 SILL StateSwitch Puppet:current() is live
09:43:20 VERB PuppetWeb quit() kill watchdog before do quit
09:43:20 SILL PuppetWebWatchdog onFeed: 60000, POISON[PuppetWeb.quit()]
09:43:20 VERB PuppetWebWatchdog onFeed(type=POSISON) WANG! I dead!
09:43:20 VERB PuppetWebWatchdog clearWatchDogTimer() nothing to clear
09:43:20 VERB StateSwitch Puppet:target(dead) <- (live)
09:43:20 VERB StateSwitch Puppet:current(dead,false) <- (live,false)
09:43:20 WARN PuppetWeb quit() no this.bridge
09:43:20 VERB PuppetWebServer quit()
09:43:20 VERB PuppetWebServer closing socketServer
09:43:20 VERB PuppetWebServer closing httpsServer
09:43:20 VERB PuppetWeb quit() server.quit() done
09:43:20 WARN PuppetWeb quit() no this.browser
09:43:20 VERB StateSwitch Puppet:current(dead,true) <- (dead,false)
09:43:20 VERB StateSwitch Puppet:target(dead) <- (dead)
09:43:20 ERR Wechaty init() exception: got invalid driver at ttl 0
09:43:20 ERR Bot init() fail: Error: got invalid driver at ttl 0
09:43:20 VERB Wechaty quit()
09:43:20 SILL StateSwitch Wechaty:current() is ready
09:43:20 SILL StateSwitch Wechaty:inprocess() is true
09:43:20 ERR Wechaty quit() must run on a inited instance.
Wechaty exit -1 because of exit
09:43:20 VERB Wechaty say(Wechaty exit -1 because of exit )
npm ERR! Linux 3.13.0-129-generic
npm ERR! argv "/root/.nvm/v6.11.3/bin/node" "/root/.nvm/v6.11.3/bin/npm" "run" "ts-node" "example/ding-dong-bot.ts"
npm ERR! node v6.11.3
npm ERR! npm  v3.10.10
npm ERR! code ELIFECYCLE
npm ERR<EMAIL_ADDRESS>ts-node: ts-node "example/ding-dong-bot.ts"
npm ERR! Exit status 255
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>ts-node script 'ts-node "example/ding-dong-bot.ts"'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the wechaty package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     ts-node "example/ding-dong-bot.ts"
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs wechaty
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls wechaty
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR!     /root/wechaty/npm-debug.log

Show Logs

### Paste the full output logs here with `WECHATY_LOG=silly` set
# PASTE FULL LOG OUTPUT AT HERE:

You can not run chrome browser without a graphical desktop environment.
I suggest you to use Docker to run Wechaty because that will be lots of easier.

You can try the latest version v0.10 or above which is not require graphic environment anymore.


Night CI 2023-04-09: Failed

action url: https://github.com/spidernet-io/spiderpool/actions/runs/4652324155

It seems like that the moment the spiderpool-controller not ready when running the e2e case "the IP can be reclaimed after its deployment, statefulSet, daemonSet, replicaSet, or job is deleted, even when CNI binary is gone on the host" .
There should be a slight problem with the IP GC health check

same with https://github.com/spidernet-io/spiderpool/issues/1612


chore(client+controller): update flake8 to 2.4.0

See https://gitlab.com/pycqa/flake8/blob/2.4.0/CHANGES.rst

Super handy new feature! https://flake8.readthedocs.org/en/latest/vcs.html
LGTM

LGTM.


gmp poc

@justin1121 can you link this to an issue please?

This can just be closed now. Wasn't intending to merge this. Here's the issue though.


Improve hover styles

Can the counter background not turn dark blue too (assuming it’s part of the link)?


Support adding license to Tower

This is done via the API now, so should be exposed in tower-cli at some point.

Supported use cases as of 3.1:
tower-cli setting modify LICENSE '{"key": "value", ...}'
tower-cli setting modify LICENSE @file_that_contains_license_data.yml


Resetting entire store state

I'm trying to implement an action that resets the entire redux store state to it's default state defined in the individual reducers as per Dan Abramov's solution here [https://stackoverflow.com/questions/35622588/how-to-reset-the-state-of-a-redux-store].
My setup is like so:
background index.js:
import {applyMiddleware,createStore} from 'redux';
import combineReducers from './reducers/index';
import {wrapStore,alias} from 'react-chrome-redux';
import thunk from 'redux-thunk';
import aliases from './aliases/aliases';

const combineAppReducers = ( state, action ) => {
  if ( action.type === 'LOG_OUT' ) {
    state = undefined;
  }
  return combineReducers(state, action)
}

const middlewares = [alias(aliases), thunk];

const store = createStore(combineAppReducers,applyMiddleware(...middlewares));

wrapStore(store, {
  portName: 'example'
});

Reducers.js:
import {combineReducers} from 'redux';
import userAuthReducer from './userAuthReducer';
import manageTeamsReducer from './manageTeamsReducer';

function lastAction(state = null, action) {
  return action;
}

export default combineReducers({
  userAuthReducer,manageTeamsReducer,lastAction
});

I'm pretty sure i've followed his recommended setup like he suggests so not sure if this could be a potential bug?

@benliger1987 have you verified that the aliases are being caught in the background script by opening and inspecting the background page?

Also, where is the action/alias being triggered from (i.e. is it content/popup script context?). Could you provide that?

Updated in code above

@benliger1987 do you have some sample code I can see? I finally understand what's going on, but I'd need to be able to debug with something tangible to dig in and see where there may be a bug in react-chrome-redux. First questions off the top of my head:

Is the logout action getting caught by the reducer fine?
If it is, what happens when I follow that action? Where does it return bad state?

If all else fails, for the time being, you can also subscribe to the logout action type in each of your reducers to reset the state.

Going to close this for now. @benliger1987 feel free to reopen if needed.


install error 0.122

pip install https://github.com/williamFalcon/pytorch-lightning/archive/0.122.zip --upgrade
ERROR: Could not find a version that satisfies the requirement test-tube>=0.652

not the new version


Add a HasCachePool interface and trait for helping other projects integrate Stash easily

Added HasCachePoolInterface, HasCachePoolTrait.
Use LoggerAwareInterface and LoggerAwareTrait (makes a lot of sense to just require psr/log)
Requires PHP 5.4 due to trait usage.

Can you refactor this to just include the interfaces? Per the contributing doc I try to keep things one feature one pull request, and since this gets into the php versioning it's created conflicts with other commits that also changed versioning.

Could I refactor for just the interface and the trait? I'm not sure it would make sense to do so not together, but the PHP versioning was likely out of date anyway at this point.


SAML Basics

We want to track all the issues on the okr (yearly board), due to this, this issue will be closed


Installing dependencies for native extensions

When deploying apps built with gcloud-ruby, say I want to use capybara-webkit, which has a lot of server side dependencies... how would I go about getting docker to automatically install these dependencies? Right now I am just using gcloud preview app deploy to deploy to managed app engine. Would love to see some documentation associated with this in gcloud-ruby, as it is sort of a ruby-specific problem.

FYI I currently use a very complicated shell script to keep capybara-webkit from being installed server side when I deploy, but obviously this is specific to my situation and isn't a future-proof solution

@samkelly Is this perhaps more of a general question about Ruby and App Engine? I think of gcloud-ruby as agnostic about its runtime environment. I'm not sure gcloud-ruby is the right place for this documentation.

@samkelly Thanks. If you find something helpful, can you link to it from this issue? For anyone who lands here in the future...

I haven't found anything but will certainly link it if I do


Quest: Add Request Recording

Currently Pretender works in two basic and complimentary ways: request stubbing and request proxying. We'd like to add a third, chimeric, methodology: request recording. In this mode the first time a particular verb/path pairing is accessed we'd like to proxy to a real world source of data, store this data in some location, then return the data. Subsequent requests will used the stored version of the data.
The current use case for this feature is performance regression testing JavaScript libraries/frameworks inside real world applications. Performance regression testing involves taking a real application and running a series of operations many hundreds or thousands of times.
A problem arises: if you're making real world requests, it is difficult to isolate the performance characteristics of the UI from the performance characteristics of the server. Stubbing can solve this; however, manually stubbing of large applications can be cumbersome.
Defining Success
Successful PRs on the road to this feature include:

[ ] Refactor Passthroughs to use subclasses
[ ] Store passthrough responses in localstorage
[ ] Refactor passthrough response handler away from localstorage specific code and toward a pluggable architecture

[ ] Add Console Log Adapter
[ ] persistence to FS https://developers.google.com/web/tools/setup/setup-workflow?hl=en [coming soon]

Understanding Pretender Internals
Pretender is a fairly small library, but knowing how it works will help you in this quest.
How Setup works
When an instance of Pretender is created, its constructor captures the global window.XMLHttpRequest object, replacing that global with its own implementation as an "interceptor". This implementation matches the XMLHttpRequest (via a library FakeXMLHttpRequest) and requesting libraries (e.g. 'jQuery') can interact with this implementation without knowing that the "real" XMLHttpRequest object is gone.
The main path into this implementation is the faked XMLHttpRequest.send method. This method returns immediately and the requesting library can listen for specific events.
Pretender, via configuration, allows a developer to control when these events trigger.
After setting up this interceptor, a Pretender instance runs its "maps". Maps are functions that, when executed set up pairings of HTTP methods (GET, POST, etc) and paths ('/some/url'). These are the methods/verbs that Pretender will respond to.
These methods all share the same implementation and are created by the private verbify function. They are: get, put, post, delete, patch, head, and options.
There is also a related functionality called "passthrough".
How Request Stubbing Works
Once Pretender has rudely snatched away the real XMLHttpRequest object and replaced it with a changeling child (FakeXMLHttpRequest) and a set of routes has been mapped, a Pretender instance is ready to start responding to requests.
When a requesting library (e.g "jQuery") makes an XMLHttpRequest, Pretender intercepts that request and responds with the [status, headers, body] data defined in the matching handler from the route map.
During setup, we stashed this defined handler in a registry for retrieval later.
When a request occurs, send is called out on our faked XMLHttpRequest. This eventually calls handleRequest
handleRequest looks up the handler and calls respond on this handler.
XMLHttpRequest.respond is not a thing. However, [FaxeXMLHttpRequest.respond](https://github.com/pretenderjs/FakeXMLHttpRequest/blob/fafac9799ac9989fa4798f2fe23b071c2209e04e/fake_xml_http_request.js#L462-L466) is! This triggers the response and the requesting library is none the wiser that no actual network requests were made!
How Request Proxying Works
Setup for passthrough is roughly the same but instead of going through a verbify method, you simply declare that a route is a passthrough this.get('/photos/:id', this.passthrough).
When a request for a passthrough route is made, well, that's where life gets interesting.
First, we check if the requesting library is asking for a HTTP method/url pair that we said to passthrough. You might think at this juncture "if that's the case, just give let the requesting library use the real XMLHttpRequest object and be done!", but, alas, there's no way to know whether to use FakeXMLHttpRequest or XMLHttpRequest until after a request is made and at point it's too late: the requesting library needs an instance of something.
And that something is a FakeXMLHttpRequest. But we also need to trigger real network interactions. This is done by creating a real XMLHttpRequest instance using our stashed copy of the constructor and, as the network interactions occur, triggering the matching method on the FakeXMLHttpRequest object that Pretender handed back to the requesting library when the request was made.
This means we have to handle all the various things a real network request can do. Uploads? Yep. Timeouts? Yes'm. HTTP Credentials. That too.

@trek - Thanks for writing up this detailed explanation / roadmap!
This will be of interest to @iezer and @chancancode, and could significantly help the work needed to consume ember-bench...

Related to https://github.com/emberobserver/client/pull/51

The enhancement I authored that just shipped with 3.2.0 probably helps in this regard. Fake requests created by pretender now have a .passthrough() method on them that allows you to check the request and decide at runtime if you want to pass it through or not.


add flag for whitespace delimited segementation

In response to scraping issue #64 (IPA symbol segmentation), I'm proposing some changes to wikipron/cli.py and wikipron/config.py. This will add a flag,--segmentation, for use on the command line. The actual execution takes place under the _get_proccess_pron() method in the Config class. This seemed like the most natural place to put it, since the pronunciations undergo other transformations there as well. I've tested the code by scraping Spanish (phonetic) and French  (phonemic) and it appears to work well.

Fair point. Maybe we should just make it mandatory then? (This is another
possibility we discussed offline.)
On Wed, Oct 16, 2019 at 9:09 PM Sean Miller<EMAIL_ADDRESS>wrote:

@m-sean commented on this pull request.
In wikipron/cli.py
https://github.com/kylebgorman/wikipron/pull/69#discussion_r335773070:

@@ -71,6 +71,11 @@ def _get_cli_args(args: List[str]) -> argparse.Namespace:
"overridden. If not given, results appear in stdout."
),
)

parser.add_argument(

   "--segment",

   action="store_true",

   help="Separate pron segments with unambiguously with added whitespace."

I did consider it, but then it wouldn't really work to name the flag and
variables --segment anymore, and I guess I grew attached to that. Do you
have any suggestions?
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/kylebgorman/wikipron/pull/69?email_source=notifications&email_token=AABG4OLDI5U2NXB4AYQETSDQO63LHA5CNFSM4JBSRIAKYY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOCIHMGOY#discussion_r335773070,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABG4OKVSZRZIKCUJFBTYVTQO63LHANCNFSM4JBSRIAA
.

I'm fine with that. Maybe document why (as a comment, not a docstring).
On Wed, Oct 16, 2019 at 9:27 PM Sean Miller<EMAIL_ADDRESS>wrote:

@m-sean commented on this pull request.
In wikipron/config.py
https://github.com/kylebgorman/wikipron/pull/69#discussion_r335775919:

@@ -136,8 +173,7 @@ def wrapper(pron):

         # syllable boundaries. The `any()` call is much faster than

         # re.match(r"[^ˈˌ.]", pron).

         if any(c not in prosodic_markers for c in pron):

           return pron

           return combining_mods(pron) if segment else pron

I like the idea of keeping it partial with the processors, but the mods
set just takes up so much space. Would it be too much to stash it somewhere
and just define the combining/mods function at the top outside of the class?
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/kylebgorman/wikipron/pull/69?email_source=notifications&email_token=AABG4OJPEGCC6OV3JFTA3VLQO65PVA5CNFSM4JBSRIAKYY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOCIHNCNI#discussion_r335775919,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABG4OKBCCBRTRG6SY7H6STQO65PVANCNFSM4JBSRIAA
.


"Code language not supported or defined" Message after terminal clear

VSCode Version: Code 1.14.1 (2648980a697a4c8fb5777dcfb2ab110cec8a2f58, 2017-07-13T19:18:47.188Z)
OS Version: Windows_NT ia32 10.0.15063
Extensions:

Extension
Author (truncated)
Version

python
don
0.6.9

code-runner
for
0.6.28

Kotlin
mat
1.3.0

Steps to Reproduce:

Clear the terminal, OUPUT tab should be active
Press the "play green button" as quick as posible

As you notice the warning it is triggered.

Reproduces without extensions: No

I think this is not a blocker since we can wait a while and then the play button it works. Not sure if the problem is something async.

Terminal clear should not have any effect on debugging. I can not reproduce with the steps you provided - gif attached. Let me know if you are doing something different
Also try reproducing with all extensions disabled and reproducing in a vanilla repositry. Thanks

The play button is not for debugging is to run code. That is the purpose of the extension, run code without  to be compiled in other place.
Normaly we have an ouput like:
[Running] cd "@userl\test\" && kotlinc main.kt -include-runtime -d main.jar && java -jar main.jar
Kotling run

[Done] exited with code=0 in 2.04 seconds

But when you press clear and quickly the 'play' not the debug button the message appears and until you close it does not allow you to run code.

https://marketplace.visualstudio.com/items?itemName=formulahendry.code-runner

@isidorn I think this is a problem with the extension itself.

I found the message here:
https://github.com/formulahendry/vscode-code-runner/blob/1b14d7940475573d08ffaa09695b0f5edecd5a8e/src/codeManager.ts
We have:
    public onDidCloseTerminal(): void {
        this._terminal = null;
    }
....
    vscode.window.showInformationMessage('Code language not supported or defined.');

Yes please file this issue against that extension directly, thank you

I also had this issue also using OpenVPN 2.4.3 code:
"Code language not supported or defined." whn compiling the Project.
in locale.json I tried en, en:Us, de but no success

"locale":"en-US"

any ideas?
Thank you! @

The related issue is this one: https://github.com/formulahendry/vscode-code-runner/issues/147
As you can see, this isn't planned to be improved. Even when the tab/window with the file to run is active, the code runner needs you to focus to it explicitly / click on it in order for the "Run Code" command to work.


Some initial work for 1.99

Aimed for more systematic short internal names and tried to make sure they match the filenames, hope that's ok

I think this is a great start, thanks. One thing that's obvious is to add some sort of spelling check / grammar check as a GitHub action before approval.


iterator: syntax error in IE

OS: Windows 10 Pro
Browser: Internet Explorer 11 (and emulation back through 7 and 5)

Error encountered:
SCRIPT1028: Expected identifier, string or number
bitset.js (911,5)

which points to the following line:
[Symbol.iterator]: function () {

I wasn't familiar with this as valid JS syntax, but some Googling helped me discover it's called a "computed property name" and that IE doesn't support it.  I'm aware that IE is largely obsolete with Microsoft's promotion of Edge, but it still exists and does function as a modern browser for the most part.  Could you switch to alternate syntax for adding the iterator?  Many thanks!

It turns out that's not the only problem: String.repeat is also too new for IE.

Who still uses IE<11? But could you please test/use the min file? There a polyfill is embedded for symbols.

It's true, I don't know that there's any point to my testing in IE (==11, by the way), but I try to be thorough.  :)
The .min is still failing on the lack of String.repeat, so a polyfill for that would also be necessary to support IE.

Could you test it with the polyfill from here please: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/repeat
If that works, it should be the only necessary change.

Yes, that makes it work.  Thanks!

Great! Question now is, is it a documentation issue or a thing the lib should ship.

Sorry for the delay.  My personal preference is to include it in the lib.  That way, users like me can just install the lib as-is without worrying about patching it or whether the patch should be carried forward if/when you update the lib in the future.

Polyfilling is not the worry of the library. I would put a note saying it needs it for older browsers.
No need to burden newer browsers with it.

Does anyone has a Flintstones Browser running to check what features need to be polyfilled? Math.clz32 is feature tested in the lib. The symbol iterator is fixed by Closure Compiler in the min file. Probably Array.prototype.every and String.protototype.repeat are the only remaining things. If they are, I could also circumvent them in the code.


Mobile: Remove star sky for mobile version

Doesn't need for mobile

Resolving with  #99

Fixed


Document acceptible bedfile formats

Is your feature request related to a problem? Please describe.
There is a lack of documentation about the requirements for a bedfile, beyond that it should be a tab-separated file.  There are many formats floating around, and it would be nice to know exactly what is compatible with Aquascope.
Describe the solution you'd like
A description of any required columns or acceptable bedfile formats.

completed with pr #45


added cfcache as ignore dir for module packaging warnings

See this test failure.

Processing this pull request

Merged into branches master in 7d6f0027d193ccf982968a8e4fecc97dba181ee7


USERFRAME coordinate  and  GET_CURPOS function  issue!!!

Hello, @torayeff , Hello, I have an inquiry about how the GET_CURPOS work,
as I understand if I set up a specific USERFRAME according to my need, then I just need to send the positions value according to my userframe. however, every time I use robot.move function with a position in my modified userframe it gives me a 'position-is-not-reachable' error.
So I moved my robot manually to the 0,0,0 position in my userframe, and used the GET_CURPOS function to retrieve my robot position, but the position retrieved is not the same as my userframe , the other userframe , or toolframe. so on which userframe or coordinate does GET_CURPOS is based on?
and in general how i can make robot.move to move the robot on my userframe.
I hope you can give any help or advice, I am still a novice so any help will be great for me.

@madinwei fanucpy driver uses the USER FRAME=8 and TOOL FRAME=8. Have you tried setting up those?
https://github.com/torayeff/fanucpy/blob/4fe61fcab11ed73aa0eb6daaca57c209ff741c0e/src/fanuc-driver/mappdk_server.kl#L30
https://github.com/torayeff/fanucpy/blob/4fe61fcab11ed73aa0eb6daaca57c209ff741c0e/src/fanuc-driver/mappdk_server.kl#L46

@torayeff  thank you so much for you respond and help.

@madinwei fanucpy driver uses the USER FRAME=8 and TOOL FRAME=8. Have you tried setting up those?
https://github.com/torayeff/fanucpy/blob/4fe61fcab11ed73aa0eb6daaca57c209ff741c0e/src/fanuc-driver/mappdk_server.kl#L30
https://github.com/torayeff/fanucpy/blob/4fe61fcab11ed73aa0eb6daaca57c209ff741c0e/src/fanuc-driver/mappdk_server.kl#L46

Yes, I have changed the user frame in the mappdk_server.kl, however, the position returned from  GET_CURPOS is not in the user frame I set.
for example: if use this code: ( note :  i set the robot to the same position before i start the server, otherwise it will give me a  'position-is-not-reachable' error.)
robot.move(
    "pose",
    vals=[103.190,-31.350,-839.809,61.272,8.277,-144.168],
    velocity=100,
    acceleration=100,
    cnt_val=0,
    linear=False,
)
# get robot state
print("Current poses: ")
cur_pos = robot.get_curpos()
print(f"Current pose: {cur_pos}")

and the output of cur_pos is :
Current pose: [539.652, 187.344, 826.891, -116.788, -13.564, -93.801]

so the GET_CURPOS is not using the same userframe , or other userframe I check them all and no one has the same position value, both by checking roboguide or changing userframe in mappdk_server.kl and using the GET_CURPOS.
for me I want to learn how to move the robot with my userframe, if GET_CURPOS doesn't work its ok. so if you have any advice or help i will be thankful .

update:
after I go checked the mappdk_cmd.kl file to see what is wrong with GET_CURPOS, I noticed that the first function or ROUTINE is not building, so i swap the GET_CURPOS with GET_CURJPOS function positions in the code. and now the GET_CURJPOS is not working. so I just add a new fake function and now the GET_CURPOS returns the correct position.
I don't know why this happened, but here is the error for the first function of mappdk_cmd.kl .
Translating D:\Users\admin\Doucment\My Workcells\WeldPRO5\loadset\mappdk_cmd.kl

KTRANS Version V9.10 (Build 14   4/12/2019)
Copyright (C) FANUC America Corporation, 1985 through 2017.
All Rights Reserved.

D:\Users\admin\Doucment\My Workcells\WeldPRO5\loadset\mappdk_cmd.kl(9)
   9 ROUTINE GET_JUSTFAKECURJPOS(cmd: STRING): STRING
     ^ ERROR
"PROGRAM" expected.

D:\Users\admin\Doucment\My Workcells\WeldPRO5\loadset\mappdk_cmd.kl(9)
   9 ROUTINE GET_JUSTFAKECURJPOS(cmd: STRING): STRING
     ^ ERROR
Id expected.

D:\Users\admin\Doucment\My Workcells\WeldPRO5\loadset\mappdk_cmd.kl(9)
   9 ROUTINE GET_JUSTFAKECURJPOS(cmd: STRING): STRING
             ^ ERROR
";" or new line expected.

D:\Users\admin\Doucment\My Workcells\WeldPRO5\loadset\mappdk_cmd.kl(9)
   9 ROUTINE GET_JUSTFAKECURJPOS(cmd: STRING): STRING
                                ^ ERROR
"BEGIN" expected.

D:\Users\admin\Doucment\My Workcells\WeldPRO5\loadset\mappdk_cmd.kl(9)
   9 ROUTINE GET_JUSTFAKECURJPOS(cmd: STRING): STRING
                                 ^ ERROR
";" or new line expected.

D:\Users\admin\Doucment\My Workcells\WeldPRO5\loadset\mappdk_cmd.kl(9)
   9 ROUTINE GET_JUSTFAKECURJPOS(cmd: STRING): STRING
                                    ^ ERROR
Invalid statement or "ENDxxx" or "UNTIL" expected.

D:\Users\admin\Doucment\My Workcells\WeldPRO5\loadset\mappdk_cmd.kl(9)
   9 ROUTINE GET_JUSTFAKECURJPOS(cmd: STRING): STRING
                                      ^ ERROR
Invalid statement. ";" or new line expected.

D:\Users\admin\Doucment\My Workcells\WeldPRO5\loadset\mappdk_cmd.kl(9)
   9 ROUTINE GET_JUSTFAKECURJPOS(cmd: STRING): STRING
                                            ^ ERROR
Invalid statement. ";" or new line expected.

D:\Users\admin\Doucment\My Workcells\WeldPRO5\loadset\mappdk_cmd.kl(9)
   9 ROUTINE GET_JUSTFAKECURJPOS(cmd: STRING): STRING
                                             ^ ERROR
Invalid statement. ";" or new line expected.

D:\Users\admin\Doucment\My Workcells\WeldPRO5\loadset\mappdk_cmd.kl(9)
   9 ROUTINE GET_JUSTFAKECURJPOS(cmd: STRING): STRING
                                               ^ ERROR
Invalid statement. ";" or new line expected.

D:\Users\admin\Doucment\My Workcells\WeldPRO5\loadset\mappdk_cmd.kl(18)
  18 VAR
     ^ ERROR
Invalid statement or "ENDxxx" or "UNTIL" expected.

D:\Users\admin\Doucment\My Workcells\WeldPRO5\loadset\mappdk_cmd.kl(18)
  18 VAR
     ^ ERROR
Invalid statement. ";" or new line expected.

D:\Users\admin\Doucment\My Workcells\WeldPRO5\loadset\mappdk_cmd.kl(19)
  19     resp:           STRING[254]
             ^ ERROR
Invalid statement. ";" or new line expected.

D:\Users\admin\Doucment\My Workcells\WeldPRO5\loadset\mappdk_cmd.kl(19)
  19     resp:           STRING[254]
                         ^ ERROR
Invalid statement. ";" or new line expected.

D:\Users\admin\Doucment\My Workcells\WeldPRO5\loadset\mappdk_cmd.kl(19)
  19     resp:           STRING[254]
                               ^ ERROR
Invalid statement. ";" or new line expected.

D:\Users\admin\Doucment\My Workcells\WeldPRO5\loadset\mappdk_cmd.kl(19)
  19     resp:           STRING[254]
                                ^ ERROR
Invalid statement. ";" or new line expected.

D:\Users\admin\Doucment\My Workcells\WeldPRO5\loadset\mappdk_cmd.kl(19)
  19     resp:           STRING[254]
                                   ^ ERROR
Invalid statement. ";" or new line expected.

D:\Users\admin\Doucment\My Workcells\WeldPRO5\loadset\mappdk_cmd.kl(20)
  20     out:            STRING[254]
            ^ ERROR
Invalid statement. ";" or new line expected.

D:\Users\admin\Doucment\My Workcells\WeldPRO5\loadset\mappdk_cmd.kl(20)
  20     out:            STRING[254]
                         ^ ERROR
Invalid statement. ";" or new line expected.

D:\Users\admin\Doucment\My Workcells\WeldPRO5\loadset\mappdk_cmd.kl(20)
  20     out:            STRING[254]
                               ^ ERROR
Invalid statement. ";" or new line expected.

D:\Users\admin\Doucment\My Workcells\WeldPRO5\loadset\mappdk_cmd.kl(20)
  20     out:            STRING[254]
                                ^ ERROR
Invalid statement. ";" or new line expected.

D:\Users\admin\Doucment\My Workcells\WeldPRO5\loadset\mappdk_cmd.kl(20)
  20     out:            STRING[254]
                                   ^ ERROR
Invalid statement. ";" or new line expected.

D:\Users\admin\Doucment\My Workcells\WeldPRO5\loadset\mappdk_cmd.kl(21)
  21     jpos:           JOINTPOS
             ^ ERROR
Invalid statement. ";" or new line expected.

D:\Users\admin\Doucment\My Workcells\WeldPRO5\loadset\mappdk_cmd.kl(21)
  21     jpos:           JOINTPOS
                         ^ ERROR
Invalid statement. ";" or new line expected.

D:\Users\admin\Doucment\My Workcells\WeldPRO5\loadset\mappdk_cmd.kl(22)
  22     joint_vals:     ARRAY[9] OF REAL
                   ^ ERROR
Invalid statement. ";" or new line expected.

D:\Users\admin\Doucment\My Workcells\WeldPRO5\loadset\mappdk_cmd.kl(22)
  22     joint_vals:     ARRAY[9] OF REAL
                         ^ ERROR
Invalid statement. ";" or new line expected.

D:\Users\admin\Doucment\My Workcells\WeldPRO5\loadset\mappdk_cmd.kl(22)
  22     joint_vals:     ARRAY[9] OF REAL
                              ^ ERROR
Too many syntax errors encountered.

===============Translation not successful===============

however regarding using robot.move with my userframe still is giving me the  'position-is-not-reachable' error if i use as pose but the joint is working fine.

@madinwei I there are some issues:

What are you trying to compile? From the above logs, it seems that you are trying to compile mappdk_cmd.kl. After making any changes to any of the .kl files, the only files that require compiling are mappdk_server.kl and mappdk_logger.kl. Can you please try doing this?
If you are changing the following line https://github.com/torayeff/fanucpy/blob/4fe61fcab11ed73aa0eb6daaca57c209ff741c0e/src/fanuc-driver/mappdk_server.kl#LL30C5-L31C16 then you need to re-compile again (I assume you already do it)
By default CURPOS KAREL routine returns the current position of the tool center point (TCP) relative to the current value of the system variable $UFRAME for group 1. Is it also the case with your setup?

Please let me know if you still have issues. I am happy to help you with this issue.

What are you trying to compile? From the above logs, it seems that you are trying to compile mappdk_cmd.kl. After making any changes to any of the .kl files, the only files that require compiling are mappdk_server.kl and mappdk_logger.kl. Can you please try doing this?

I was recompiling all the files, I see so I was not supposed to recompile the mappdk_cmd.kl.

If you are changing the following line https://github.com/torayeff/fanucpy/blob/4fe61fcab11ed73aa0eb6daaca57c209ff741c0e/src/fanuc-driver/mappdk_server.kl#LL30C5-L31C16 then you need to re-compile again (I assume you already do it)

By default CURPOS KAREL routine returns the current position of the tool center point (TCP) relative to the current value of the system variable $UFRAME for group 1. Is it also the case with your setup?

2&3 yes I change this file, but before I change the CURPOS function from the beginning of the mappdk_cmd file, it was not returning the current pos with my user frame. now it's working.

Please let me know if you still have issues. I am happy to help you with this issue.

@torayeff , thank you so much you provide me with a lot of help.
right now, my issue is when I use my Python code to move the robot, it most of the time returns the 'position-is-not-reachable' error.
I have set up a 3d  camera that returns pointcloud and it detects my object. and I have set up my userframe according to my camera and its pointcloud. and I put my object within the range of the robot arm.
My understanding is that even though the object is in range of the robot but some of the joints have reached their limits, so it can't go in that direction. so how I could avoid this problem?
since I have to use the 'pose' not the 'joint' in robo.move because my pointcloud can return the coordinate of the object. so I have the X, Y, and Z values and not the W, P, and R values. Is there a way I can set the best value or make the robot choose automatically?

@madinwei since

I have to use the 'pose' not the 'joint' in robo.move because my pointcloud can return the coordinate of the object. so I have the X, Y, and Z values and not the W, P, and R values.

From the above, I understand that you only provide X, Y, and Z to reach the object, right? If this is the case, then I think the problem in your case is reaching points from different orientations. Suppose this example where a cup is located on top of a table. You can reach this cup from different positions but probably not directly from the bottom. So one way will be to set up to your W, P, and R values directly above the point. But I would recommend you use some pose estimation methods. For example, there is a good thread on how to convert between different reference frames: https://forum.opencv.org/t/eye-to-hand-calibration/5690/
There are also some helper functions here: https://github.com/torayeff/fanucpy/blob/main/src/fanucpy/Transformations.py
So answering the following question:

Is there a way I can set the best value or make the robot choose automatically?

It depends; if all of your objects are reachable from the top, then make W, P, and R perpendicular to that, as if you are always reaching from the top.

@torayeff  thank you, since i have solved the original issue I will close this issue, but i will keep discussing with you ^_^

From the above, I understand that you only provide X, Y, and Z to reach the object, right? If this is the case, then I think the problem in your case is reaching points from different orientations. Suppose this example where a cup is located on top of a table. You can reach this cup from different positions but probably not directly from the bottom. So one way will be to set up to your W, P, and R values directly above the point. But I would recommend you use some pose estimation methods. For example, there is a good thread on how to convert between different reference frames: https://forum.opencv.org/t/eye-to-hand-calibration/5690/

Yes, I have a 3d object detection which can detect the object and return its x,y, and z value for the pointcloud produced by the camera. and exactly as you said I need to use pose estimation method. which I am a novice on it.

It depends; if all of your objects are reachable from the top, then make W, P, and R perpendicular to that, as if you are always reaching from the top.

I understand, but since I have not figured that out, I want to send the XYZ values and make the robot choose the WPR values that will not give an error. is that possible?  because almost all tests I do with my Python code return the 'position-is-not-reachable' error.

I do not quite understand how it might be possible to "make the robot choose the WPR values that will not give an error". Why don't you try to reach any of the points manually, record only WPR values, and use those values whenever you try to reach new points again?

I do not quite understand how it might be possible to "make the robot choose the WPR values that will not give an error". Why don't you try to reach any of the points manually, record only WPR values, and use those values whenever you try to reach new points again?

You are a very nice and kind person for having the patience to putting up with me ^_^ 👍
I understand I am using object detection to get the coordinates so it will be automatic, but using a manually input of WPR values will go against it.  I see, I can have a set of record WPR, and if a new point is near one of the recorded points I will just use its  WPR. I will try it.
However, I used the CURPOS to get the current WPR, but not every time the robot can go from the current position to the new position with the same WPR. because the joint may have reached its limit.


About Page and Redesigning Of footer

@priyankarpal I have created a About page for project which targets project aim, Intro and features . Also I have Redesigned Footer Section Of Our Project and gave it a good look
issue no #235 #220

I think you deleted some codes that's why it's not working.
Create a new fresh PR. But before make sure to up to date your forked repo

I think you deleted some codes that's why it's not working.
Create a new fresh PR. But before make sure to date your forked repo
You can close this one.

okay

okay