Core dump when trying to run Blackcoin as a systemd service

Hello, and thanks in advance for any help.
Here are the details about my environment:
I compile blackcoind myself from this repository
My operating system is Ubuntu 18.04 (I'm thinking soon I'll try doing a fresh install of 16.04 and see if the issue persists there)
I have tried the most recent two releases of Blackcoind, same result
If I manually run the daemon, I do not encounter the same problem (Runs as I would expect it to):
/usr/bin/blackcoind \
   -datadir=/home/somedude/blackcoin/ \
   -conf=/home/somedude/blackcoin/blackcoin.conf \
   -daemon

This is my systemd configuration file, almost identically matching the 6 or so other QT wallets I run (substituting the name as appropriate):
## Blackcoin Systemd service

[Unit]
Description=blackcoin wallet daemon
After=network.target

[Service]
Type=forking
User=curtii
RuntimeDirectory=blackcoind
PIDFile=/run/blackcoind/blackcoind.pid
Restart=on-failure
ExecStart=/usr/bin/blackcoind \
   -datadir=/home/somedude/blackcoin/ \
   -conf=/home/somedude/blackcoin/blackcoin.conf \
   -daemon
ExecStop=/usr/bin/blackcoind \
   -datadir=/home/somedude/blackcoin/ \
   -conf=/home/somedude/blackcoin/blackcoin.conf \
    stop

# Recommended hardening

# Provide a private /tmp and /var/tmp.
PrivateTmp=true

# Mount /usr, /boot/ and /etc read-only for the process.
ProtectSystem=full

# Disallow the process and all of its children to gain
# new privileges through execve().
NoNewPrivileges=true

# Use a new /dev namespace only populated with API pseudo devices
# such as /dev/null, /dev/zero and /dev/random.
PrivateDevices=true

# Deny the creation of writable and executable memory mappings.
MemoryDenyWriteExecute=true

[Install]
WantedBy=multi-user.target

Earlier this year, I setup a number of cryptocurrency QT wallets, including blackcoind, to run as a systemd service. This initially worked fine with blackcoind, but recently it stopped working (unfortunately, I wasn't watching it very closely and don't know exactly when it stopped working). The error I see in the systemd status is this:
● blackcoin.service - blackcoin wallet daemon
   Loaded: loaded (/etc/systemd/system/blackcoin.service; enabled; vendor preset: enabled)
   Active: failed (Result: core-dump) since Thu 2018-11-29 10:30:57 MST; 3min 6s ago
  Process: 31093 ExecStart=/usr/bin/blackcoind -datadir=/home/somedude/blackcoin/ -conf=/abode/coindaemon-dat
 Main PID: 31104 (code=dumped, signal=ABRT)

Nov 29 10:30:57 blktest systemd[1]: blackcoin.service: Main process exited, code=dumped, status=6/ABRT
Nov 29 10:30:57 blktest systemd[1]: blackcoin.service: Failed with result 'core-dump'.
Nov 29 10:30:57 blktest systemd[1]: blackcoin.service: Service hold-off time over, scheduling restart.
Nov 29 10:30:57 blktest systemd[1]: blackcoin.service: Scheduled restart job, restart counter is at 6.
Nov 29 10:30:57 blktest systemd[1]: Stopped blackcoin wallet daemon.
Nov 29 10:30:57 blktest systemd[1]: blackcoin.service: Start request repeated too quickly.
Nov 29 10:30:57 blktest systemd[1]: blackcoin.service: Failed with result 'core-dump'.
Nov 29 10:30:57 blktest systemd[1]: Failed to start blackcoin wallet daemon.

I'm going to keep digging and will update this as I find anything else that seems relevant.
Thanks again for any input!

closing old legacy wallet v1.2.x issues
please migrate to Blackcoin More and download it from https://blackcoinmore.org
New issues can be posted on Gitlab: https://gitlab.com/blackcoin/blackcoin-more/-/issues


Configure cache profile settings

Not working as documented.  After making the changes in web.config, the site collection settings are still taking precedence.

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

ID: 368e4065-54b4-6973-3fb3-c33d3d5e905a
Version Independent ID: a85911df-492d-855f-82a6-c1725952945b
Content: Configure cache settings for a web application in SharePoint Server
Content Source: SharePoint/SharePointServer/administration/cache-settings-configuration-for-a-web-application.md
Product: sharepoint-server-itpro
GitHub Login: @bentoncity
Microsoft Alias: stevhord

What value are you setting the maxSize to and what is the actual value you're seeing?

@officedocsbot assign @scanum

What value are you setting the maxSize to and what is the actual value you're seeing?

I was setting cache profile rather than object cache, so no value for maxSize.  This is the what I set:

Even after that, only the values I set in the site collection are applied.  Nothing changes until I change them there.

@dubahu I'll take a look at this next week and follow up.

@dubahu so the only thing you're setting there is the varyByRights to true with no other cache profile override settings. What are you expecting to see when you set this value, or where you expecting to see something on the Publishing Site Output Cache Settings page?

I've actually tried no other settings, setting other options, such as lifetime, but nothing changes.  What I'm expecting is what the article states: "If page output cache profiles are enabled at the web application level, the settings specified in Web.config will be used for all page output cache profiles, overriding any values that have been entered through the user interface at the site collection level."
That is not happening, no matter what I set in the web.config, it doesn't apply.  Even with the setting still in the web.config, if I make changes at the site collect level, they are still applied independently by site collection.  The only difference I could see with these site collection that isn't specifically mentioned in this article is that they are host named site collections.

OK, so in my testing here's what I saw:

The Output Cache in /_layouts/15/sitecachesettings.aspx must be enabled, even if useCacheProfileOverrides is set to true. if useCacheProfileOverrides is set to true but the Output Cache is not enabled, caching profiles will not be used.

When Output Cache is enabled and useCacheProfileOverrides is set to true, the UI notes that the admin has overridden specific settings within each cache profile selected. You're still able to select any cache profile and edit all cache profile settings, but specific settings in each cache profile will be overridden by what has been placed in the web.config.

I can see when useCacheProfileOverrides is set to true and my cache profile (Intranet, in this case) is set to a Duration of 10, the page shows Cache-Control: public and I see the expected 10 second expiration. This, to me, shows that it is working correctly.
Note I'm testing with SharePoint Server 2016 with a mid-2019 PU.

@dubahu Thank you for submitting feedback. We understand that this issue has been resolved.
Please feel free to re-open this issue if there is a specific area of the docs that we can improve or make better. Thank you.

@officedocsbot close

It isn't resolved.  I'm using SharePoint 2013, current CU.  These are cache profiles set on anonymous sites, so it is definitely read only.

@dubahu Thank you for submitting feedback. We understand that this issue has been resolved.
Please feel free to re-open this issue if there is a specific area of the docs that we can improve or make better. Thank you.

It isn't resolved. I'm using SharePoint 2013, current CU. These are cache profiles set on anonymous sites, so it is definitely read only.

@officedocsbot open

@scanum How do I reopen this?

@dubahu what we need to know is if this is a bug, then this repo isn't the correct way to report it. I'd suggest you open a case with Microsoft (support.microsoft.com). If it is a bug, it likely needs to be fixed. If they determine it is working as intended, then documentation needs to be updated.


Added documentation draft for OpenAI/openai-connector.js

Duplicating the source code for the .md file will not really help anyone and will not simplify development. You didn't even describe the types of parameters and the return type of functions.
It's better to describe this using .d.ts files instead of .md files.
This way, you won’t have to look into .md files instead, you can see the types directly in the IDE.

Thanks for the remark, and tips.


FileUtils: Fix leaky specs

Some of the specs for FileUtils.mkdir and FileUtils.mkdir_p were leaking directories in /tmp between runs. This commit fixes them.

All the removals shouldbe in an ensure block.

All the removals shouldbe in an ensure block.

Fixed!

Thanks!


This Factors Out and Leverages Common Infrastructure for Inet Layer Functional Tests

Codecov Report

Merging #149 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #149   +/-   ##
=======================================
  Coverage   53.63%   53.63%
=======================================
  Files         326      326
  Lines       55424    55424
=======================================
  Hits        29726    29726
  Misses      25698    25698

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 8ec21a9...d4bc39b. Read the comment docs.


feat(es/minifier): Introduce spread-only inliner

Description:

We don't mark a variable as used_as_arg if it's a spread argument.

Related issue (if exists):

Seems like I should focus on other rules before this


new build for release

new build for release

🚢
On Thu, Mar 4, 2021 at 12:50 AM DIVYANSHU RAJ<EMAIL_ADDRESS>wrote:

@endurance21 https://github.com/endurance21 requested your review on:
#586 https://github.com/processing/p5.js-sound/pull/586 new build for
release.
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/processing/p5.js-sound/pull/586#event-4406739692, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAD3CPHRSHPFLQ33NWUKXY3TB5CWRANCNFSM4YS2FRDA
.


Merge all Hubble server-side code into Cilium

This imports the server-side code of hubble to avoid depending on the
cilium/hubble repository. It does so with minimal code changes. It does
not remove unnecessary code yet.
Changes:

Fix all import paths
Replace gogo/protobuf with golang/protobuf
Annotate all tests with Cilium build flags
Replace use of sync.Mutex with lock.Mutex

* Where will the "standalone" Hubble server code (i.e. the `hubble serve` command plus Dockerfile for the DaemonSet) live?

I think it's fine to keep it in Hubble's git repo until Cilium 1.7 is out of support (and so would hubble standalone be). The newly introduced functionalities in hubble's cmd/serve should be moved under pkg/hubble/server here imho and hubble's pkg/server to pkg/hubble/observer or so.

In my opinion, we should clean up pkg/hubble/api/v1 (it has a ton of random definitions) and then move the remaining type definitions in topkg/api/v1/hubble instead.

:+1:

Where will the "standalone" Hubble server code (i.e. the hubble serve command plus Dockerfile for the DaemonSet) live? This PR imports all the code necessary to implement it (e.g. pkg/hubble/ipcache, pkg/hubble/servicecache), without importing the actual binary. I personally think we should keep all support code related to stand-alone mode out of the Cilium repository.

Agreed with @Rolinh. I've split this into a separate commit for easier review. I've just pushed the commit to remove all unused code.

The newly introduced functionalities in hubble's cmd/serve should be moved under pkg/hubble/server here imho and hubble's pkg/server to pkg/hubble/observer or so.

I had quickly tried this but there were quite some naming conflicts and I didn't want to pollute the initial moving commit too much.

EDIT: to be clear, I think that we don't want to import this (hubble-serve command does not make sense in the context of embedded hubble):

I've split it into pkg/hubble/server and pkg/hubble/obsever

Coverage increased (+1.0%) to 46.873% when pulling 0c0e1fb8044fabe0a9b449705671d04b0206df05 on pr/tgraf/move-hubble into c3dee352f4ab5228b55cc22e23243f64d477f595 on master.

test-me-please

Don't see a point to do a deep review here. If it compiles and it's just a code move - lets do it.

test-me-please

test-me-please


tables -> extended tables -> 'table big boy' is not responsive

Or it is slightly responsive, but very badly so. At small sizes columns are cut-off

@nzjrs thank you for using our product. It seems you are using the PRO product, here is the repo for the FREE. To fix that please add this code at the end of light-bootstrap-dashboard.css
@media (min-width: 991px){
    .card .table-responsive{
        overflow: scroll;
        margin: 0;
        padding: 0;
    }
}
@media (min-width: 1200px){
    .card .table-responsive{
        overflow: visible;
    }
}

Then everything will work fine.
Best,
Alex


add details about vulnerabilities identified

I think the interface should have some pointers about why specific vulnerability is detected.
for example
Unsafe anchor tags (target=_blank) .WHY are they bad what's wrong how can someone see that this is wrong.

Makes sense. Also, some pointers like what can be done with a certain weakness etc.

Heh, in the mean time, can you point me to a link that explains why target=_blank is unsafe?

Hi @jwheare. Here you go. https://hackerone.com/reports/23386
Think its an issue on Chrome.

Thanks for that, looks like it's fixed in Chrome now. Just tried that example from a target="_blank" page on a different site (since hackerone fixed it on their end) and there's just a js error on the POC site "landpage.php:3 Uncaught TypeError: Cannot read property 'location' of null"

@jwheare Thanks for pointing that out. I would have to modify the anchor module in that case. Identifying dynamically generated anchor tags helps in spidering at the minimum. Would be removing the _blank bug now.
Thanks again.

@jwheare Apparently this works on Firefox. So this might still be an issue. Or these classes of issues.

@jwheare For some reason it works on the latest Chrome, may be a regression. It would be great if you could confirm with the PoC you had already. Thanks!

I don't see a regression in Chrome Mac 44.0.2403.125 (64-bit), just the same JS error on the POC site http://daniel-tomescu.com/hackerone/landpage.php:
Uncaught TypeError: Cannot read property 'location' of null

And just tested in FF Mac 39.0 and get a similar error:
TypeError: window.opener is null

What's your source for this still being an issue?

Ah maybe there is some issue in the way you created the link? This is my PoC which uses the same link you sent me: http://damnvulnerable.me/misc/redirect_window_opener

Ah, I see the issue. My example was using rel="noreferrer", which appears to neutralise this attack, as confirmed in these tickets:

https://code.google.com/p/chromium/issues/detail?id=168988#c14
https://bugzilla.mozilla.org/show_bug.cgi?id=530396

And also in the HTML spec: https://html.spec.whatwg.org/multipage/semantics.html#link-type-noreferrer
So if you should only treat target="_blank" as a risk if rel="noreferrer" is missing.

Yea! Exactly. Many miss that to be honest. And in some scenarios it can be bad. Thats why: https://github.com/skepticfx/hookish/blob/master/src/js/domHooks.js#L368

Yup, just change lin 376 to
if ('target' in anchor && anchor.target == '_blank' && anchor.rel != 'noreferrer') {

@jwheare will do! thanks.


zwavejs2mqtt unofficial add-on for hassos installs

I would love to run zwavejs2mqtt on my HassOS install.
Describe the solution you'd like
The typical approach would be an add-on, and I am hoping for an unoffical add-on repository
Describe alternatives you've considered
n/a

I think this is wasy to do by forking the existing addon for the Zwave2Mqtt , are you able to do it?

I think this is wasy to do by forking the existing addon for the Zwave2Mqtt , are you able to do it?

Just a note that you can do so even without an add on. Just install portainer and then install the docker image.

Just a note that you can do so even without an add on. Just install portainer and then install the docker image.

the biggest reason to do the add-on is to remove the old addon if zwave2mqtt is to be deprecated, where is the addon located in terms of source (i assume it just pull's roberts container rather than anyone elses) as such can't be too hard to replicate and change - even a no-coder like me might be able to do it....

the biggest reason to do the add-on is to remove the old addon if zwave2mqtt is to be deprecated, where is the addon located in terms of source (i assume it just pull's roberts container rather than anyone elses) as such can't be too hard to replicate and change - even a no-coder like me might be able to do it....

oh, just read this https://github.com/hassio-addons/addon-zwave2mqtt/issues/70 does that mean even if we created an add-on they wouldn't take it - or just that they don't want to work on it?

oh, just read this https://github.com/hassio-addons/addon-zwave2mqtt/issues/70 does that mean even if we created an add-on they wouldn't take it - or just that they don't want to work on it?

You can build your own image easily. The directions are at the bottom. https://github.com/zwave-js/zwavejs2mqtt/tree/master/docker
A lot changed from that post, including the maintainer of qt-openzwave effectively stepping back. There is a proposal to change the path forward to a new server built on the same backend as this project (node-zwave-js).

You can build your own image easily. The directions are at the bottom. https://github.com/zwave-js/zwavejs2mqtt/tree/master/docker
A lot changed from that post, including the maintainer of qt-openzwave effectively stepping back. There is a proposal to change the path forward to a new server built on the same backend as this project (node-zwave-js).

@blhoward2 thanks, i happy to use Roberts image for now and know how to create my own docker images if it is missing something, i was more trying to give back to community  and the code for the add-on isn't really code but mostly docker config - was willing to fork it and attempt to create an add-on... but if folks thinks thats not needed i certainly don't want to push water up hill :-)

@blhoward2 thanks, i happy to use Roberts image for now and know how to create my own docker images if it is missing something, i was more trying to give back to community  and the code for the add-on isn't really code but mostly docker config - was willing to fork it and attempt to create an add-on... but if folks thinks thats not needed i certainly don't want to push water up hill :-)

It wouldn’t hurt for now, actually. I’ve heard no plans to make a Zwavejs2mqtt add on as the integration won’t use that project. Right now it’s difficult for people to install and they need to use Portainer.
@robertsLando @AlCalzone Have you heard differently?

It wouldn’t hurt for now, actually. I’ve heard no plans to make a Zwavejs2mqtt add on as the integration won’t use that project. Right now it’s difficult for people to install and they need to use Portainer.
@robertsLando @AlCalzone Have you heard differently?

@frenck Do you know about last news? Could you think about making a new addon now?

@frenck Do you know about last news? Could you think about making a new addon now?

I have no time for that at this point, furthermore, things seem to be in early development stages. Happy to jump in at some point, but not now.

I have no time for that at this point, furthermore, things seem to be in early development stages. Happy to jump in at some point, but not now.

@frenck Ok no problem. I dunno if you are aware of this but actually we are working with hass team in: https://github.com/zwave-js/zwave-js-server that will be installed in zwavejs2mqtt and will communicate with a new hass addon to create entities (something like the ozw beta integration is doing now with qt-openzwave)

@frenck Ok no problem. I dunno if you are aware of this but actually we are working with hass team in: https://github.com/zwave-js/zwave-js-server that will be installed in zwavejs2mqtt and will communicate with a new hass addon to create entities (something like the ozw beta integration is doing now with qt-openzwave)

Yes, I'm part of the core team, I'm aware.

Yes, I'm part of the core team, I'm aware.

Are all of the addons in https://addons.community managed by the core team / @frenck , or could we build out our own and have it added?
Worst case, we just set up our own addon repository that people would need to add via the interface until it becomes 'official'.
As for the timeline @blhoward2 the official integration already supports the switch, sensor, and light class, it is in the dev nightlies, and is being added to quickly. I'd be surprised if we didn't see some sort of beta by February

Are all of the addons in https://addons.community managed by the core team / @frenck , or could we build out our own and have it added?
Worst case, we just set up our own addon repository that people would need to add via the interface until it becomes 'official'.
As for the timeline @blhoward2 the official integration already supports the switch, sensor, and light class, it is in the dev nightlies, and is being added to quickly. I'd be surprised if we didn't see some sort of beta by February

It is planned for the first Wednesday of February release indeed.
The community add-ons is my private project.
We have discussed it in our team yesterday, an official, core supported and maintained, add-on will me made.
The Aim, is to have a first version ready to support the first integration version, before the February release.

It is planned for the first Wednesday of February release indeed.
The community add-ons is my private project.
We have discussed it in our team yesterday, an official, core supported and maintained, add-on will me made.
The Aim, is to have a first version ready to support the first integration version, before the February release.

Closing this

Closing this

WIP: https://github.com/hassio-addons/addon-zwavejs2mqtt

WIP: https://github.com/hassio-addons/addon-zwavejs2mqtt

Thanks @frenck

Thanks @frenck

No problem @robertsLando! Are you on discord btw?

No problem @robertsLando! Are you on discord btw?

Nope, should I?

Nope, should I?

No not needed. Will uses issues instead.

No not needed. Will uses issues instead.


Utility to merge cubes

As an IMPROVER developer I want a utility to merge cubes so that I don't have to reinvent it in many places
Related to #166
Acceptance criteria:

Look at Gavin's concatenate cubes functionality
Write a function or adapt Gavin's to merge cubes in a generic way, wrapping Iris.
Use the function where cubes are currently merged
Make sure metadata is appropriately treated during merge (some may need to be removed or rewritten)
Handle cubes with realizations from archive and percentile cubes from percentile plugin.

I anticipate that there may need to be changes to merge_cubes as we start using the code in anger but what they might be will only be established once we start using it. The current pull request #268 will hopefully give us a structure to build on.

A slide has been added.

Completed.


[WIP][SQL] Data types in complex type creator should respect collation

What changes were proposed in this pull request?

Why are the changes needed?

Does this PR introduce any user-facing change?

How was this patch tested?

Was this patch authored or co-authored using generative AI tooling?

closing in favor of https://github.com/apache/spark/pull/46943


Do not update blindings for blank transitions

Should close #149

Motivation: generating new blinding factor for Pedersen commitment is meaningless, since if you have just one input and one output the output blinding factor MUST be equal to the one used in input - what is done anyway in complete_transition method


Offline installation?

Is it possible to install the software without access to the internet if the files are downloaded in advance?

Good question, we think it's possible but haven't tried it.
Thinking about it, you'll need internet access to clone the repo, download & build third-party libraries (such as protobuf & Docker), and finally to build the Docker image. Once the Docker image is built you should be able to run the Docker container offline.
We'll give it a whirl this week and report back!

Yeah should be pretty easy to test, just throw in a drop all traffic outside of your local subnet range with an iptables rule and see if everything keeps running.

Hello! Very late reply, sorry, but a quick test recently allowed me to move the docker image from one CentOS machine to a very similar CentOS machine and create a container there. So it seems possible, but can't guarantee it'll work in all cases.


Implement contact us form design.

Contact us form not looking good, text is not visible with the form color

Assign me i can fit it

can I work on this issue?

Closes via #63


Create Typescript declarations for v5.0

And publish then to DefinitelyTyped

What do you think about going all in on TS?

I was considering that.
It would just take some time which I'm currently short of...

For now, I've published https://github.com/DefinitelyTyped/DefinitelyTyped/pull/43663


Add the Relativ code!

This pull requestg is for add an alpha code for the Relativ project!

Sorry, wrong repo to merge!


refactor(toml): Better abstract inheritance details

There is no reason that the caller for inheriting needs to know the details of the inner types doing inheritance.

Thanks!
@bors r+

:pushpin: Commit 7bd5aa3fe8e47f683a47638d3eb1f81326ba940f has been approved by weihanglo
It is now in the queue for this repository.

:hourglass: Testing commit 7bd5aa3fe8e47f683a47638d3eb1f81326ba940f with merge 7677f260e5d0b9803e3584ca960e4e04b36268ac...

:boom: Test timed out

@bors retry

:hourglass: Testing commit 7bd5aa3fe8e47f683a47638d3eb1f81326ba940f with merge 463f30742514ad54dfe24b2c3e151bf5b1c2f7c9...

:sunny: Test successful - checks-actions
Approved by: weihanglo
Pushing 463f30742514ad54dfe24b2c3e151bf5b1c2f7c9 to master...


New event OnAfterCalcExitValueOverdueBalanceLCY in function ShowWarning(), page 343 "Check Credit Limit

Hello
Need event OnAfterCalcExitValueOverdueBalanceLCY(Rec, var ExitValue) in standard function ShowWarning(), page 343 "Check Credit Limit". ExitValue parameter should be used with var.

Version of AL Language: 6.1.397164
Business Central Version: 17 cu3

Please always put the full detailed signature of the requested events.
You help us implementing the requests faster when your request contains AL code copied from VSCode instead of screenshots.
Please put the code surrounding the place, where you expect a new event call, as a text not as a screenshot.
It helps us finding the right place quickly if you put enough code to identify the unique place.
Please add [Event Request] prefix to the title if you requesting for a new event or for a modification in the existing event.

Please always put the full detailed signature of the requested events.
You help us implementing the requests faster when your request contains AL code copied from VSCode instead of screenshots.
Please put the code surrounding the place, where you expect a new event call, as a text not as a screenshot.
It helps us finding the right place quickly if you put enough code to identify the unique place.
Please add [Event Request] prefix to the title if you requesting for a new event or for a modification in the existing event.

Done.

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


[Web] Specify hostname with flutter run

Pre-flutter 1.9 we had webdev serve and could specify a hostname to serve. Anything similar with flutter run -d (chrome/web)? I'd like to access what i'm working on with different devices in my LAN. Also does hot reload on save not work with flutter run chrome?

Use --web-hostname which works in debug mode. It will work in release and profile after https://github.com/flutter/flutter/pull/40465


Add gluster_volume_option custom resource

I've got work piling on top of me but I understand you want to maintain quality so I'll try to find the time. I've also got geo-replication/mountbroker stuff on the way.

Misunderstood you earlier, thought you wanted me to write some specs. I've never actually used ChefSpec (but I should…) so I've not tested these but seems simple enough. I would have thought this could automated but what do I know? :grin:

Take a look at libraries/matchers.rb and it should be fairly self explanatory to add them to that file
def name is <action>_<resource>
and parameters are (<resource>, <action>, resource_name)

Yep, I meant I've already done it, please see the amended commit.

Sorry, just realised I messed up the README ordering slightly. I'll fix it tomorrow as it's late now.

Okay, all sorted.

Awesome work!


[Recieve] Network Selection, Address Generation & Naming convention

Receive requires review and some refactoring as some terminology used is confusing:
enum ReceiveWalletType { secure, lightning }
This naming is a bit confusing.
This makes me think which wallet is being recieved into. Although I think it means which address format we want to display.
We should instead use something like:
RecieveAddressFormat which could be { bitcoin, liquid, lightning }
  String getQRStr() {
    if (walletType == ReceiveWalletType.lightning) {
      if (swapBloc.state.swapTx == null) return '';
      return swapBloc.state.swapTx!.invoice;
    }

    if (savedInvoiceAmount > 0 || savedDescription.isNotEmpty) {
      final btcAmt = (savedInvoiceAmount / 100000000).toStringAsFixed(8);

      var invoice = 'bitcoin:' + defaultAddress!.address + '?amount=' + btcAmt;
      if (savedDescription.isNotEmpty) invoice = invoice + '&label=' + savedDescription;

      return invoice;
    }

    return defaultAddress?.address ?? '';
  }

We need to also add a case for liquid where the address used is address.confidential; we are currently using standard addresses.
We should in general review this modules bloc and state and improve the naming conventions so its a bit more clear.

Address generation logic seems to be buggy.
Everytime receive is clicked, generateNewAddress is run only when the liquid wallet is selected.
Get New Address button is not working.
The entire address generation logic needs a review.

Network Selection Logic:
We have 3 potential networks that we can recieve payments from:

Bitcoin
Liquid
Lightning

We have 2 potential base wallet types that a payment can be received to:

Bitcoin (Secure, Imported or Hardware/Watch-only)
Liquid (Instant)

User can toggle between the 3 potential networks and we must automatically chose the best wallet:

Bitcoin -> Secure
Liquid -> Instant
Lightning -> Instant

Users can override the default choices, subject to the following rules:

Bitcoin CANNOT be recieved into a Liquid Instant wallet
Liquid CANNOT be received into a Bitcoin Secure, Imported, Hardware/Watch-only wallet

For the above two, the disallowed base wallets should be disabled from the drop down.

Lightning can ALSO be received into Secure BUT we must issue a warning based on the fees and show what percentage of the total amount being received will be taken as fees. This is not a recommended way to receive because 9/10 the fees will make it unfeasible.

Currently we dont allow LBTC-BTC Swaps, so if the user choses this option, for now we just show a warning:
LBTC-BTC swaps are not supported yet

Example of when Network Selected is Bitcoin and Wallet selected is Instant.

First warning screen we can work on would be:

Network selected: Lightning
Wallet selected: Bitcoin

First create the swap. Then calculate what % of the transaction will be spent as fees.
Before displaying the Lightning Invoice, issue the following warning if the amount is less than 0.01 BTC

If the fee is over 3% of the transaction amount, issue the high fee warning as well.

Note that high fee warning can also happen if amount is over 0.01 BTC, in which case we dont show the small utxo warning, only the high fee warning.

The button in both cases should say Continue not Confirm Send

User can toggle between the 3 potential networks and we must automatically chose the best wallet:
A. Bitcoin -> Secure (Standard Bitcoin chain tx)
B. Liquid -> Instant (Standard Liquid chain tx)
C. Lightning -> Instant (Cheap Swap tx)
Users can override the default choices, but we must issue warnings accordingly.
D. Bitcoin -> Instant (Expensive swap tx)
E. Liquid -> Secure (Expensive swap tx)
F. Lightning -> Secure (Expensive swap tx)

https://github.com/SatoshiPortal/bullbitcoin-mobile/issues/248


Remove redundant tests

Duplicated tests (service-tests already covered by controller-tests) were removed: balances.service.spec.ts, chains.service.spec.ts, delegates.service.spec.ts, exchange.repository.spec.ts, data-decoded.repository.spec.ts, contracts.repository.spec.ts, chains.repository.spec.ts, balances.repository.spec.ts, backbone.repository.spec.ts.
Some tests were moved to controller tests (added validation error checks to DelegatesController tests).
Some unused constructors were deleted (CreateDelegateDto, DeleteDelegateDto).

Good job 👏 This allows us to be less dependent on the implementation while still validating the correctness of the service.

Thanks, @fmrsabino! I had to rebase the branch, so I'd need a new approval 😄


server filter by country

it is required to prepare the database of servers after downloading, fill all the servers with the finished result from the geoip database
~8k geoip calls take <1min
the cycle with writing values to the database slows down the process by x5-10 times, you need a quick solution

are we talking about adding some post processing of the response in here:
https://github.com/WoozyMasta/dayz-ctl/blob/master/dayz-ctl#L301-L312 ?

Yes that's right
Need to create either a separate file or update an existing one, but keep in mind that when updating an existing one, this should ideally be done in one call. Otherwise, it will be a very lengthy cycle of sequential file updates.
At the same time, the accuracy of the geoip database is not very high.


Remove python3 dependency

context: #77
In order to remove the python dependency, flutter-tizen is written with the following three shell scripts.
the update_engine.sh and update_engine.ps1 will be removed once its logic is moved to dart code later.

bin/flutter-tizen
bin/internal/shared.sh
bin/internal/update_engine.sh

In windows, following files will be used instead.

bin/flutter-tizen.bat
bin/internal/shared.bat
bin/internal/update_engine.ps1

This error happened to me although my use case is quite unusual:
swift@SWIFT:~/Git/dummy$ flutter-tizen create ttttt
Cloning into '/home/swift/Git/flutter-tizen/flutter'...
remote: Enumerating objects: 5268, done.
remote: Counting objects: 100% (5268/5268), done.
remote: Compressing objects: 100% (4272/4272), done.
remote: Total 5268 (delta 1145), reused 1942 (delta 583), pack-reused 0
Receiving objects: 100% (5268/5268), 8.81 MiB | 6.63 MiB/s, done.
Resolving deltas: 100% (1145/1145), done.
HEAD is now at 32203c3 Key codegen for Hardware Keyboard: Linux (GTK) #82962
remote: Enumerating objects: 5086, done.
remote: Counting objects: 100% (5086/5086), done.
remote: Compressing objects: 100% (2946/2946), done.
remote: Total 3283 (delta 1794), reused 761 (delta 223), pack-reused 0
Receiving objects: 100% (3283/3283), 3.20 MiB | 6.29 MiB/s, done.
Resolving deltas: 100% (1794/1794), completed with 1357 local objects.
From https://github.com/flutter/flutter
 * branch            c5a4b4029c0798f37c4a39b479d7cb75daa7b05c -> FETCH_HEAD
Note: switching to 'FETCH_HEAD'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

  git switch -c <new-branch-name>

Or undo this operation with:

  git switch -

Turn off this advice by setting config variable advice.detachedHead to false

HEAD is now at c5a4b40 Store symlinks in package archive (#77184) (#77194)
cat: /home/swift/Git/flutter-tizen/flutter/bin/cache/flutter_tools.stamp: No such file or directory
Downloading Dart SDK from Flutter engine 40441def692f444660a11e20fac37af9050245ab...
** Resuming transfer from byte position 25423872
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  169M  100  169M    0     0   9.9M      0  0:00:17  0:00:17 --:--:-- 10.9M
warning [/home/swift/Git/flutter-tizen/flutter/bin/cache/dart-sdk-linux-x64.zip]:  3342336 extra bytes at beginning or within zipfile
  (attempting to process anyway)
file #1:  bad zipfile offset (local header sig):  3342336
  (attempting to re-compensate)
error: invalid zip file with overlapped components (possible zip bomb)

It appears that the downloaded file is corrupt; please try again.
If this problem persists, please report the problem at:
  https://github.com/flutter/flutter/issues/new?template=ACTIVATION.md

Environment: Linux (local/SSH) or WSL
How to reproduce:

Add the flutter-tizen directory to the workspace in VS Code.
Open an external or integrated terminal.
Delete the flutter directory if exists.
Run flutter-tizen in the terminal window. You can either keep the VS Code window open or close it after "Downloading Dart SDK" starts.

Should we fix this?

@swift-kim Well.. the downloading and extracting the dart-sdk zip file are a part of the upstream flutter. Even the flutter uses locks  for the simultaneously updating situation.. It's very strange. I can't reproduce well in my environment.. If possible, would you like to show it to me at the office next week?

https://github.com/flutter-tizen/flutter-tizen/pull/141#issuecomment-863146810 is not reproducible on my office PC. Please ignore.

#141 (comment) is not reproducible on my office PC. Please ignore.
Update) A similar error is sometimes reproducible on my office PC. Users should make sure VS Code is closed before updating the flutter SDK to avoid such race conditions.

@swift-kim  on Windows? or Linux? or both?

@WonyoungChoi Technically on Linux, because I'm using WSL and connecting to Linux from Windows.


Update gift card copy

Coverage remained the same at 69.807% when pulling d0c59b1921b4eaf77b15302a864e2dee1effa0b2 on copy/gift-card into 0773c8400f7d5be4488f70e24f88540b80a81970 on master.


RESTEASY-3031 Support org.jboss.resteasy.http.client.engine in resteasy-client

@jamezp How about we keep the current org.jboss.resteasy.http.client.engine setting(which IMHO it's a good idea, because when I'm using it as a user by myself it's very convenient to pass setting via different configuration ways) and also support register() method?
Meanwhile I'll start to work on implementing register() method.
Relative PR:

RESTEASY-3006 Allow microprofile-client to inject Vertx engine for HTTP/2 communication resteasy-microprofile#7

@liweinan What is the advantage to using the property? I'm not saying I'm opposed to it, I'm just trying to understand :) A property requires the user to remember the property name where as register() you jut create the instance you want.
That said I think it's legal to create use register(). The Javadoc didn't seem to be limit it to Jakarta RESTful Web Services types only.

@jamezp Yeah seems pure prop injection has no advantage if only we can pass prop by method. I think more on the scenario, and the advantage of prop seems to be non-intrusive. So if we could provide a way that allows users to config the http engine by the config file, then this prop would become valuable.
And MP Config maybe a good way to use the prop, so I created a PoC PR here:

Allow HTTP Engine Injection via MP Config resteasy-microprofile#17

Would you pls help to check it? Thanks :D

@liweinan let me think about this for over the weekend. I can see some advantage to that on the MicroProfile side, however we could still register it via the ClientBuilder.register() method.


Xplore icon pushes app/update set picker icon out when screen is small

Seen in Xanadu. When the screen is small and the app menu pinned only the Xplore icon is visible instead of the app picker, and the app picker doesn't show up in the overflow email.

Moved the Xplore icon to the search container instead of the utility container. This allows the utility icons (scope selector, etc) to work normally. The only observed minor side effect with this solution is at certain window width sizes the user avatar, while remaining fully functional, can be pushed slightly off screen.

Fixed.


FY23Q4 content refresh

run through all exercise steps in associated MSLearn module to validate good working order
updated steps & fixed typos where necessary
updated slides where necessary
update code samples to reflect MSLearn HOL exercise refresh & updates
any & all users/names/company names/pictures/IDs are not real people/tenants... all are from M365 demo tenants provided by Microsoft

NOTE: supersedes #63

Awesome - thanks for the updates! 👏🚀


🐛 BUG: HTML comments not properly highlighted in ternary expressions

Describe the Bug
When using an HTML comment as one of the results of an inline ternary expression in an Astro template file, Visual Studio Code with the Astro extension (version: 0.16.1) does not properly highlight it as a comment and instead highlights it as what appears to be invalid JSX. Image attached:

Steps to Reproduce

Install the Astro extension (version: 0.16.1) for Visual Studio Code.
Open or create an Astro template file (.astro) in Visual Studio Code.
Write a ternary expression in the template file where one of the results is an HTML comment, for example:

---
const sayHello = false
---

{ sayHello ? <h1>Hello, World!<h1> : <!-- Goodbye, World. --> }

Observe how Visual Studio Code doesn't correctly highlight the HTML comment (<!-- Goodbye, World. -->) as a comment.

This happens because we treat those context as JSX syntax (which can't have HTML comments) instead of HTML. I wonder if we'd be able to add HTML comments to the JSX syntax for this use case :thinking:
Good catch, thanks for the report!


makecldf fails

... on this entry: word 57 = "?" here.
...which means that the following is passed to add_form:
{'Language_ID': '661', 'Parameter_ID': '57', 'Value': '?', 'Source': ['15258'], 'Cognacy': None, 'Comment': "er-jai 'be married (of woman)' p.78", 'Loan': False, 'Local_ID': '173141', 'Form': None}

... and then we fail with
Traceback (most recent call last):
  File "/Users/simon/projects/lexibank2018/env/bin/lexibank", line 11, in <module>
    load_entry_point('pylexibank', 'console_scripts', 'lexibank')()
  File "/Users/simon/projects/lexibank2018/pylexibank/src/pylexibank/__main__.py", line 139, in main
    sys.exit(parser.main())
  File "/Users/simon/projects/lexibank2018/env/lib/python3.7/site-packages/clldutils-2.8.0-py3.7.egg/clldutils/clilib.py", line 110, in main
    catch_all=catch_all, parsed_args=args)
  File "/Users/simon/projects/lexibank2018/env/lib/python3.7/site-packages/clldutils-2.8.0-py3.7.egg/clldutils/clilib.py", line 82, in main
    self.commands[args.command](args)
  File "/Users/simon/projects/lexibank2018/env/lib/python3.7/site-packages/clldutils-2.8.0-py3.7.egg/clldutils/clilib.py", line 35, in __call__
    return self.func(args)
  File "/Users/simon/projects/lexibank2018/pylexibank/src/pylexibank/commands/misc.py", line 149, in makecldf
    with_dataset(args, Dataset._install)
  File "/Users/simon/projects/lexibank2018/pylexibank/src/pylexibank/commands/util.py", line 28, in with_dataset
    func(get_dataset(args, dataset.id), **vars(args))
  File "/Users/simon/projects/lexibank2018/pylexibank/src/pylexibank/dataset.py", line 437, in _install
    if self.cmd_install(**kw) == NOOP:
  File "/Users/simon/projects/lexibank2018/abvd/lexibank_abvd.py", line 39, in cmd_install
    source=[b for b in bibs if b.id in refs.get(wl.id, [])]
  File "/Users/simon/projects/lexibank2018/pylexibank/src/pylexibank/providers/abvd.py", line 231, in to_cldf
    Local_ID=entry.id,
  File "/Users/simon/projects/lexibank2018/pylexibank/src/pylexibank/cldf.py", line 222, in add_lexemes
    lexemes = self.add_forms_from_value(split_value=split_value, **kw)
  File "/Users/simon/projects/lexibank2018/pylexibank/src/pylexibank/cldf.py", line 208, in add_forms_from_value
    kw_ = self.add_form(with_morphemes=with_morphemes, **kw_)
  File "/Users/simon/projects/lexibank2018/pylexibank/src/pylexibank/cldf.py", line 157, in add_form
    raise ValueError('language, concept, value, and form '
ValueError: language, concept, value, and form must be supplied

What's the best way to fix this? Should add_form catch this? or should this be caught before getting to add_form?

This is the new behavior!

It is there to catch explicitly these errors.

Go to line 222 in pylexibank/providers/abvd.py and change add_lexemes to add_forms_from_value.
First fix, as add_lexemes is deprecated.

Ah, and if you think that the ? is "normal" behavior, you can fix this also from within there, and add a line that checks if this form actually is a question makr or not. I.e., you check entry.name and see if it is a valid entry.

Ah, I get it now, sorry for not reading properly before. There is something wrong, I guess, as the entry should not pass the clean_form command, which is called after splitting it, and yields an empty form, which is then NOT passed to add_form. And clean_form reacts per default specifically on ? as a character here.

So the fix we need is in pylexibank code, dataset.py:
    def split_forms(self, item, value):
        if value in self.lexemes:  # pragma: no cover
            self.log.debug('overriding via lexemes.csv: %r -> %r' % (value, self.lexemes[value]))
        value = self.lexemes.get(value, value)
        return [self.clean_form(item, form)
                for form in split_text_with_context(value, separators='/,;')]

needs to be modified to:
    def split_forms(self, item, value):
        if value in self.lexemes:  # pragma: no cover
            self.log.debug('overriding via lexemes.csv: %r -> %r' % (value, self.lexemes[value]))
        value = self.lexemes.get(value, value)
        forms = [self.clean_form(item, form)
                for form in split_text_with_context(value, separators='/,;')]
        return [f for f in form if f]

Or similar. As this will only return forms that are not None, and this is crashing the code by now.

I'd say, this is a good example, why it was good to modify the behavior of the add_lexemes to being more transparent.

Just linked this as a bug in pylexibank.

Fixed.


0.8.0-betas not installable

Looks like an issue with the list-remote regex.

Thanks for reporting 😃
I'll fix it soon.

@bitpusher-real
This is fixed now, please try updating to HEAD revision.


Bug: GDAX Orders Get Lost in Live Trading

My live GDAX algorithm has been losing track of orders, and when it can no longer cancel a lost order using self.Transactions.CancelOpenOrders(symbol) (Py) the money is frozen and the algorithm stops trading it. At current trading speeds this happens within a few hours.
I believe it might have something to do with how GDAX splits up orders that are partially filled.

Please post algorithm, logs and examples; enough information we can repeat the issue and debug it. The above description isn't quite enough. The orders are never "lost" so perhaps you can explain what you mean by "no longer cancel a lost order" ?

Sure, I'll try to get better logs next time and will see if I can reproduce it consistently.


Strange behavior with standalone executable using rust api

Version: 4.1.5594-dev commercial
API Revision: 015bb4fa79d01a1e2d4887cba96d150c7e1dd3bb
This code works fine:
use binaryninja::binaryview::BinaryViewExt;

fn main() {
    let headless_session = binaryninja::headless::Session::new();
    let bv = headless_session.load("/usr/bin/true").unwrap();
    for func in &bv.functions() {
        for basic_block in &func.basic_blocks() {
            for _ in basic_block.iter() {
                continue;
            }
        }
    }
}

This code fails to load the bv:
use binaryninja::binaryview::BinaryViewExt;

fn main() {
    let headless_session = binaryninja::headless::Session::new();
    let bv = headless_session.load("/usr/bin/true").unwrap();
    for func in &bv.functions() {
        for basic_block in &func.basic_blocks() {
            continue;
        }
    }
}

Note that the only change is the removal of the innermost loop
rust_test.zip

please try #5672

That fixed it, ty!


Add an example of using Tetra with an ECS library

I'm not sure whether I plan on using anything as heavy duty as Specs for now, but it'd be good to have an example in the repository, both for the sake of documentation and to make sure any API changes we make play nicely.
I ported my rl demo from GGEZ to Tetra and it seems to work well, although it's probably a bit more complicated than what we're looking for here.

Someone has been porting their own Specs code to Tetra as an experiment, and they made a good observation - currently Texture is not Send/Sync, as it contains a Rc. This prevents it from being used in a Specs component/resource.
The solution might be as simple as replacing the Rc with an Arc, but I want to look a little closer at what other frameworks do in that regard before I make the change.

Hi!
First off, thanks for creating Tetra. It really suits the concept of a game I'm creating right now. I especially like how simple working with animations is.
Now for the relevant bit. I am planning to use Specs for this game, and I would really like to use Texture (and Animation) on my components.
Have you looked into implementing Send / Sync yet? I might fork and give it a go, but I'm still a beginner in Rust. Might still be a good learning experience, since this has the 'Good First Issue'-tag.

First of all, thank you for the kind words :) I'd be interested to hear your experiences with Animation, it's one of the main areas of Tetra I'm not sure about the API for (see #105 for a previous discussion).
Onto the actual question!
It would be possible (and quite easy!) to make Texture implement Send + Sync, by switching the internal handle from Rc<RefCell<GlTexture>> to Arc<Mutex<GlTexture>>. There's a few potential issues with this, however:

It would incur runtime overhead for all Texture instances, not just ones that are being used in multi-threaded games.
I'm not 100% sure how it'd interact with the cleanup code for GlTexture - you have to run any OpenGL commands on the same thread as the context, and I'm not sure where Drop gets run in multi-threaded code. This is probably something I should investigate regardless of what we do here (#117).
To actually use a Texture, you need access to the Context, which cannot be made Send + Sync, because the window (among other things) has to stay on the main thread.

So I'm currently leaning towards thinking that storing a Texture in a component might not actually be the right approach. What might be better is to either:

Handle drawing outside of Specs (which is what I did in my roguelike demo).
Store your textures in the system struct instead, and either run it manually or mark it as thread-local in the dispatcher (which is what the developer of Quicksilver, another game framework, recommends - not sure whether it'd work with Tetra, as you'd need to get the Context in there somehow?).

You'd potentially also need to add some kind of identifier component to know which entities should be drawn with which texture, but that'd be a lot cheaper than trying to synchronize access to the texture object itself.
 The fact I'm having to write a post this long definitely indicates I need to write some example code 😛 If you get stuck with it, I'd definitely like to hear the pain points.

First of all, thank you for the kind words :) I'd be interested to hear your experiences with Animation, it's one of the main areas of Tetra I'm not sure about the API for (see #105 for a previous discussion).

The game I am creating is quite simple and I hope to replicate the feel/responsiveness of an 8-bit Atari game. For instance, the tick rate is at 1/30, and the frame_length of my main character walk animation is 4, so that animation runs at 7.5 fps. It's not performance or predictability I'm specifically after.
I have experience with sprite animation in Unity, and I've looked into approaches in Amethyst. When I saw how simple sprite animation was in Tetra, things clicked. It's about workflow; the minimal info you need for an animation is the location of the frames in a texture, and the speed at which the animation runs. The fact that an animation is considered a Drawable, makes for really elegant code, Textures can be replaced by Animations by changing one line of code. The use of the Rectangle Row and Column classes makes understanding the code a breeze. I can add stuff fast, and that's so nice, considering I'm working on this project in my spare time.

So I'm currently leaning towards thinking that storing a Texture in a component might not actually be the right approach. What might be better is to either:

Handle drawing outside of Specs (which is what I did in my roguelike demo).

That sounds like the best approach. In fact, your roguelike demo gave me the confidence to start with Tetra, as it showed that Specs integration was possible. Though, I thought you were using text output (Console), but I now see that the font is basically a spritesheet, and the Console module an abstraction.
I think I can get away with a custom Component that holds the information needed to know what to draw. It's really only a tag (Spider, Rat, Wasp, Door) and an animation state (Walking, Attacking, Dead, Open, Closed). I think hashmaps will work well for this.
There's just one thing I need to figure out. If the Entity does not hold it's own Animation object, but the Animation object is determined in draw(), I think I need to store each Entity's Animation somewhere, because I need to tick() them in update().
And... If I determine the animation based on some Entity state, I should not determine the animation every game tick; if the Entity was walking, and is now still walking, we should only tick() the animation, and not set the variable again. I think this needs some kind of flag or something, because Animation does not implement Eq or PartialEq.
I am confident enough to try it. Maybe my experiences can help designing a bare-bones Tetra/Specs example, considering that's what this issue's actually about :smile:

That's really helpful feedback, thank you! I To focus on a few bits in particular:

The fact that an animation is considered a Drawable, makes for really elegant code, Textures can be replaced by Animations by changing one line of code.

I'm actually currently looking at potentially changing the Drawable trait a bit (see #94), and I hadn't considered 'change the type without changing the draw calls' as a positive of the current design. I'll have to give that some thought when working on those changes!

There's just one thing I need to figure out. If the Entity does not hold it's own Animation object, but the Animation object is determined in draw(), I think I need to store each Entity's Animation somewhere, because I need to tick() them in update().
And... If I determine the animation based on some Entity state, I should not determine the animation every game tick; if the Entity was walking, and is now still walking, we should only tick() the animation, and not set the variable again. I think this needs some kind of flag or something, because Animation does not implement Eq or PartialEq.

This is a really good point, and I hadn't considered this use case until now!
One potential solution I can think of off the top of my head - maybe Tetra could offer a AnimationState type, that contains everything but the texture? Then you could store that in a component, update it in your Specs systems, and then recombine it with the Texture in draw() to actually render it?
The Animation type could then just be a convienence type that bundles an AnimationState with a Texture, for scenarios where you don't need that level of complexity.
There's nothing about Animation that relies on Tetra's internals, so I might have a go at mocking something like that up in an external file later on...

I am confident enough to try it. Maybe my experiences can help designing a bare-bones Tetra/Specs example, considering that's what this issue's actually about 😄

I'd definitely love to take a look at your code, if you do come up with anything 😄

@SymenTimmermans: Here's some minimal example code for how AnimationState might work - note that there's nothing in the struct that's tied to the graphics context, so it should work fine as a Specs component.
Feel free to copy it into your codebase and use it as a starting point if you want 😄
https://gist.github.com/17cupsofcoffee/1eb6b061a9c4b5f9237d25de49c1dc52

That's amazing! Thanks. I recognize the implementation of Animation, now without the graphics context, it's quite nice to look at its simplicity.
I also like the AnimationController as a starting point. I decided I needed a state machine already, I have been writing down use cases, like timed transitions (Dying -> Dead). I will share my work in progress once it's working. Thanks again for your efforts!

I see this is marked as a good first issue. I don't know if @SymenTimmermans intends to contribute an example here, but I'll take a shot at converting examples/bunnymark.rs to use Legion ECS.
Also - thanks for the cool engine, @17cupsofcoffee !

@rghartmann I would rather keep the existing bunnymark minimal, as it's what I usually use to benchmark changes to the renderer, but if you'd like to create a seperate version of it (or a new example entirely) that uses Legion/Hecs/whatever, I'd definitely be interested in that!

Yes, that's what I was thinking - a separate version altogether. Sorry it
wasn't clear 🙂
On Sun., May 30, 2021, 01:39 Joe Clay, @.***> wrote:

@rghartmann https://github.com/rghartmann I would rather keep the
existing bunnymark minimal, as it's what I usually use to benchmark
changes to the renderer, but if you'd like to create a seperate version of
it (or a new example entirely) that uses Legion/Hecs/whatever, I'd
definitely be interested in that!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/17cupsofcoffee/tetra/issues/45#issuecomment-850963724,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADUSLKQH4GJ4PHYIKY6JUATTQH2THANCNFSM4GLEZUEA
.

I've got the example working - how best to contribute it? I also couldn't find where you keep documentation so I could add the ECS example to the list; Let me know how to proceed.

If you could submit it as a PR, that'd be ideal - if it's just one file you can do that pretty easily through the GitHub UI:

Documentation is in a seperate repo, I can update that myself later.

Yeah, I couldn't push a branch due to permissions, that's why I asked. It's
two files since I'm including legion as an optional dependency.
On Mon., May 31, 2021, 01:52 Joe Clay, @.***> wrote:

If you could submit it as a PR, that'd be ideal - if it's just one file
you can do that pretty easily through the GitHub UI:
[image: image]
https://user-images.githubusercontent.com/784533/120167465-aee00f80-c1f5-11eb-9a90-64a006870972.png
Documentation is in a seperate repo
https://github.com/17cupsofcoffee/tetra-www/blob/main/docs/examples.md,
I can update that myself later.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/17cupsofcoffee/tetra/issues/45#issuecomment-851332730,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADUSLKSIDPH45ZPLIHOHQSDTQNE47ANCNFSM4GLEZUEA
.

Just following up; Any guidance?
On Mon, May 31, 2021 at 6:29 AM Rodrigo Hartmann @.***>
wrote:

Yeah, I couldn't push a branch due to permissions, that's why I asked.
It's two files since I'm including legion as an optional dependency.
On Mon., May 31, 2021, 01:52 Joe Clay, @.***> wrote:

If you could submit it as a PR, that'd be ideal - if it's just one file
you can do that pretty easily through the GitHub UI:
[image: image]
https://user-images.githubusercontent.com/784533/120167465-aee00f80-c1f5-11eb-9a90-64a006870972.png
Documentation is in a seperate repo
https://github.com/17cupsofcoffee/tetra-www/blob/main/docs/examples.md,
I can update that myself later.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/17cupsofcoffee/tetra/issues/45#issuecomment-851332730,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADUSLKSIDPH45ZPLIHOHQSDTQNE47ANCNFSM4GLEZUEA
.

Sorry for the delay, this week's been a bit hectic. I think to push multiple files you'd need to make a fork and then PR from that - if that's too much hassle though, just submit the example file as a PR on it's own and I'll add the Legion dependency :+1:

No worries mate! I am busy around a sick kiddo too, but should pull it up
this week. It will need some serious review since I'm not experienced with
Rust, nor game dev in general. But if it goes well, I'll likely update it
down the road with a more complete ECS example.
On Wed, Jun 9, 2021 at 4:49 AM Joe Clay @.***> wrote:

Sorry for the delay, this week's been a bit hectic. I think to push
multiple files you'd need to make a fork and then PR from that - if that's
too much hassle though, just submit the example file as a PR on it's own
and I'll add the Legion dependency 👍
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/17cupsofcoffee/tetra/issues/45#issuecomment-857628112,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADUSLKT5OLMEYGO6BWPGASDTR5INZANCNFSM4GLEZUEA
.

Sounds good, no rush and hope your kid feels better soon!

I see this is marked as a good first issue. I don't know if @SymenTimmermans intends to contribute an example here, but I'll take a shot at converting examples/bunnymark.rs to use Legion ECS.
Also - thanks for the cool engine, @17cupsofcoffee !

Thanks for mentioning me! However, I have basically abandoned Rust game-development for now, in favor of using the Godot engine, since learning bindings with Rust (and ECS libraries) are possible.
Most of my projects are suited well for mobile devices, and most Rust game engines/libraries do not really support Android as a build target.
I still think Tetra is a really nice project and encourage it's further development!

Done by @rghartmann in #268, finally! 🚀 🚀 🚀
And no problem @SymenTimmermans, glad you've found tools that work well for you :)


Profile registration

This is (finally!) the PR that will allow people to register profiles and have them showcased on the JSON:API website, with a url on jsonapi.org.
It includes:

On the existing extensions page, submitted profiles are listed, grouped by category, using categories listed in each profile's yaml front-matter. (The list of available categories is set in _config.yml.) The extensions page now also has a description of the registration process and a link to a Markdown template, which authors can fill out with their profile's specification and submit with their PR.

There's a new profile.html layout file, which is used to show off the user-submitted profiles. The profile specs live in the _profiles directory/collection. (Lots of HTML from the page.html was pulled out into files in the _includes directory so that it could be reused as snippets in this new profile.html layout.)

There's an example cursor-based pagination profile. (If people are interested in implementing this profile — @wimleers? — I'd love to get implementation/design feedback on it before shipping it. But this feedback isn't blocking 1.1.)

@ethanresnick I have a couple general concerns:

Allowing registrations by name, such as /profiles/cursor-pagination/, provides an official level of approval that we won't be able to reverse. This seems especially dangerous when combined with an expedient review process that doesn't include a quality review.

Even in the initial version, I'm not sure that profiles should be listed under /extensions. Perhaps we should just have a top-level /profiles index? And I'm not sure whether to keep the "Extensions" menu item at all. Perhaps linking to "how to create a profile" from /profiles would be adequate?

Allowing registrations by name, such as /profiles/cursor-pagination/, provides an official level of approval that we won't be able to reverse.

Is there an alternative to registration by name? The only ones I can think of seem worse (e.g., randomly assigning ids). Moreover, I'm pretty confident that we can decouple whether a profile has a nice URL from whether it seems to carry official approval. Right? After all, the profile's URL isn't shown until the pretty late in the profile discovery process — once the user is on the page for the profile's spec — so there are plenty of UI opportunities before then for us to highlight choice profiles and downplay poor ones. Or, for profiles where we don't want to takes an editorial view about their quality, we could even (if we really wanted to) randomize the order in they appear on the site, e.g.

Even in the initial version, I'm not sure that profiles should be listed under /extensions. Perhaps we should just have a top-level /profiles index?

Are you saying to the URL of the page in this PR should be /profiles instead of /extensions? If so, I'm 100% on board with that, and can update it accordingly.

And I'm not sure whether to keep the "Extensions" menu item at all. Perhaps linking to "how to create a profile" from /profiles would be adequate?

I'm not sure I understand this. If we didn't have a top-level menu item, how would people find registered profiles? Are you saying you don't want to show the list of registered profiles on the site? If so, why?

Are you saying to the URL of the page in this PR should be /profiles instead of /extensions? If so, I'm 100% on board with that, and can update it accordingly.

Great, sounds like we're in agreement 👍

I'm not sure I understand this. If we didn't have a top-level menu item, how would people find registered profiles? Are you saying you don't want to show the list of registered profiles on the site? If so, why?

I was just saying that we drop the Extensions menu item and replace it with Profiles. And I would prefer that the content at /profiles focus on listing the registered profiles rather than discussing the registration process. We can provide a short section at the top that links to more details about profile registration. So I'm proposing a shuffle of the content you have currently, not the removal of any of it.

Moreover, I'm pretty confident that we can decouple whether a profile has a nice URL from whether it seems to carry official approval. Right? After all, the profile's URL isn't shown until the pretty late in the profile discovery process — once the user is on the page for the profile's spec — so there are plenty of UI opportunities before then for us to highlight choice profiles and downplay poor ones.

One option here would be to have two classes of profiles - "official" and "community". Each would reflect their "class" in the directory, but not in the URL (otherwise a community profile could never be "promoted"). In this way we could allow profiles to prove themselves as community profiles first, and then eventually promote the most useful and popular ones.

I was just saying that we drop the Extensions menu item and replace it with Profiles.

For context, I kept the menu item as "Extensions" because I thought the term "Profiles" would be unfamiliar to someone new to JSON:API. Basically, I wanted someone who'd just discovered the JSON:API site to see "Oh, there's this nice spec that covers common cases, and also all these off-the-shelf extensions".
Once people are familiar with the spec and know what a profile is, I don't think label "Extensions" will confuse them — plus, we say as the first sentence on that page "JSON:API can be extended with profiles" — so I figured that directing the label at new users made more sense. Thoughts on this approach?

I would prefer that the content at /profiles focus on listing the registered profiles rather than discussing the registration process. We can provide a short section at the top that links to more details about profile registration.

I'm not necessarily opposed to this, but I don't really understand what problem it would be solving. Can you explain the motivation? My biggest goal is to keep the registration process easy to discover, and I think having the link to it in the main Extensions page's left nav is a pretty prominent place for it.

Maybe a good approach here would be to prefix all profile URLs with an index, such as the PR number used to add them. This approach is taken in the emberjs/rfcs repo - the only downside is that it requires a manual edit step upon merging.

I think that could work. My one concern is that it could be tricky to author a profile when you don't know what its URL is gonna end up being. E.g., in my cursor pagination example profile, there are hardcoded references to various error URLs in the spec, but those URLs wouldn't exist at spec authoring time with this approach. So either the editors would have to edit all those URLs upon merging too, or encourage authors to use the {% include profile_url.md page=page %} helper in their spec text... but that seems very cumbersome.
(Also, as an aside, I'd love for the index to be a different path segment, rather than a hyphen-separated prefix — e.g. /profiles/123/cursor-pagination instead of /profiles/123-cursor-pagination — although that would complicate the merge step further.)
Another possible approach would be to use the author's github name as a namespace. So, the URL (and directory structure) would be, e.g., /profiles/dgeb/cursor-pagination. This has the huge advantage of no merge step, since Github usernames are already a managed namespace for us. But idk how you or others feel about having the username in the URL; personally, I see pros and cons. Thoughts?

I kept the menu item as "Extensions" because I thought the term "Profiles" would be unfamiliar to someone new to JSON:API.

+1

I would prefer that the content at /profiles focus on listing the registered profiles rather than discussing the registration process. We can provide a short section at the top that links to more details about profile registration.

I'm not necessarily opposed to this, but I don't really understand what problem it would be solving. Can you explain the motivation?

I think I agree with @dgeb. The vast majority of users will be searching for applicable profiles and how to use them, not how to register new ones. If you (1) understand profiles (2) want to author one, I think you're already familiar/motivated enough to go looking for a link.

Another possible approach would be to use the author's github name as a namespace. ... But idk how you or others feel about having the username in the URL; personally, I see pros and cons. Thoughts?

This is where my mind went as well. Having a deterministic namespace prior to authoring the profile is desirable. However, I think it's important that there be a namespace, but not that their be a strict definition of what the namespace must be.
The language could be something like this: "a profile URL must take the form /profiles/{namespace-id}/{profile-short-name} where {namespace-id} is a URL safe string which uniquely identifies either the author, organization or project registering the profile."
For example, I'd like to author profiles that we've developed with lots of community involvement. I would not like to tie that profile to my name because I don't deserve all the credit. So, in my case, I'd like to be able to submit a profile like /profiles/drupal/fancy-filters instead of /profiles/gabesullice/fancy-filters.

I talked with @ethanresnick and we agree with the basic form of your proposal @gabesullice

The language could be something like this: "a profile URL must take the form /profiles/{namespace-id}/{profile-short-name} where {namespace-id} is a URL safe string which uniquely identifies either the author, organization or project registering the profile."

We're going to strongly recommend that the author use either their username or an org to which they belong (which are both easy to verify of course) for a namespace. Exceptions can be allowed for unusual cases.
We also discussed introducing a new Guide section to consolidate a number of sections covering usage of the spec - like Recommendations and Examples. We can also provide directions for creating and registering profiles in that section. But this can be done after this PR is merged as a general content reorg - so no need to block.

Ok y'all, I've updated the PR per the comments above and my discussion with @dgeb. See the most recent commit.

Beautiful. Rebased to keep only the relevant/distinct commits and merged.


Create a template project as base for new projects

https://github.com/ODMDev/sample.template_repository


adds IP's for testnet/mainnet relays

bors r+

bors r+

Investigating this in https://github.com/input-output-hk/cardano-node/issues/346


chore(dcos-ui): update package

High-level description
Update the DC/OS UI package to include the latest fixes, improvements, and features.
Corresponding DC/OS tickets (obligatory)

DCOS-21122 fixes focus/change/blur behaviour
DCOS-21229 Sort pods with zones & regions
DCOS-21229 fix sorting in tables

Checklist for all PRs

[ ] Included a test which will fail if code is reverted but test is not. If there is no test please explain here:
[x] Read the DC/OS contributing guidelines
[x] Followed relevant code rules Rules for Packages and Systemd

Checklist for component/package updates:
If you are changing components or packages in DC/OS (e.g. you are bumping the sha or ref of anything underneath packages), then in addition to the above please also include:

[ ] Change log from the last version integrated (this should be a link to commits for easy verification and review): example
[x] Test Results: [link to CI job test results for component]: https://jenkins.mesosphere.com/service/jenkins/job/Frontend/job/dcos-ui-pull-requests/2927/testReport/
[x] Code Coverage (if available): [link to code coverage report]: https://jenkins.mesosphere.com/service/jenkins/job/Frontend/job/dcos-ui-pull-requests/2927/testReport/

PLEASE FILL IN THE TEMPLATE ABOVE / DO NOT REMOVE ANY SECTIONS ABOVE THIS LINE
Instructions and review process
What is the review process and when will my changes land?
All PRs require 2 approvals using GitHub's pull request reviews.
Reviewers should be:

Developers who understand the code being modified.
Developers responsible for code that interacts with or depends on the code being modified.

It is best to proactively ask for 2 reviews by @mentioning the candidate reviewers in the PR comments area. The responsibility is on the developer submitting the PR to follow-up with reviewers and make sure a PR is reviewed in a timely manner. Once a PR has 2 ship-it's, no red reviews, and all tests are green it will be included in the next train.

@mesosphere-mergebot bump-ee

Hi @ahoskins  - Will be this the final 1.11.0 GA PR?
Also, packages/dcos-ui/buildinfo.json seems to have a conflicts. Can you update your branch after resolving the conflict and please push again.

@orsenthil Yes, this is our final PR for 1.11.0 GA. I've also resolved conflicts.

@mesosphere-mergebot bump-ee

@mesosphere-mergebot [Ready For Review]

Does this build contain the fix for DCOS-19219?

@ichernetsky  yes, we weren't able to update the changelog but these are all of the issues addressed with this PR:

DCOS-19219 fix mount paths for pods
DCOS-20080 fix Review & Run button
DCOS-20673 fixes system test setup
DCOS-20976 fixes naming terminal to command for cli install on windows
DCOS-21122 fixes focus/change/blur behaviour
DCOS-21229 Sort pods with zones & regions
DCOS-21229 fix sorting in tables
DCOS_OSS-1553 fix vip input for virtual networks with multi-container services.

@mesosphere-mergebot override-status https://jira.mesosphere.com/browse/DCOS_OSS-2115

@mesosphere-mergebot ship_it_label_status_check

@mesosphere-mergebot override-status teamcity/dcos/test/azure/arm https://jira.mesosphere.com/browse/DCOS_OSS-2115


3 Different Scratchpad Implementations; 2 Scratchpad PRs

IMO, Scratchpads are in a sorry state in xmonad-contrib. For some reason, there are 3 different scratchpad implementations in the library that all use completely different code. There are also 2 outstanding PRs that attempt to extend the functionality of scratchpads that seem to have stagnated and probably will not get merged:
https://github.com/xmonad/xmonad-contrib/pull/169
https://github.com/xmonad/xmonad-contrib/pull/454
All of this indicates a few things to me:

Scratchpads are a pretty widely used feature (There wouldn't be so much activity around them if that were not the case)
People have pretty widely varying preferences about how scratchpads should behave (This explains the 3 different implementations as well as the PRs)
None of the existing scratchpad implementations are very extensible or well thought out (no offense to the authors intended)

I think that what we should do is take a look at all of the different scratchpad implementations/prs and put some careful thought into how we might design a single scratchpad implementation that could support all of the behaviors that people seem to want.
The fragmentation that currently exists just makes things confusing for new users, and it makes it difficult for more sophisticated users to make contributions.

It is true that we have different scratchpad implementation, but I don't think I have ever seen someone use anything but X.U.NamedScratchpads (plus the loggers).  I'm sure these people exist, but one implementation clearly "won", more or less.  Indeed, so many people seem to be using this that I think our efforts should rather be directed in the direction of improving that module, rather than trying to write yet another implementation.  Even if something better comes along, there is a lot of inertia in old modules (not least because there are so many old configurations lying about)

Indeed, so many people seem to be using this that I think our efforts should rather be directed in the direction of improving that module, rather than trying to write yet another implementation.

Well I agree in the sense that I think it makes sense not to deprecate the module, but I do think an aggresive refactor is order. I believe that it should (mostly) be possible to preserve the existing interface, but implement it in terms of a new interface that is much more flexible (but perhaps exposed in the same module).
There are some issues with the NamedScratchpads implementation. Some examples are:

It should be possible to control how the dimissal of scratchpads worked. ExclusiveScratchpads uses minimization rather than banishing to NSP. There is clearly a desire in the userbase to have support for this behavior (as indicated by #169). I don't think it would be hard to
It does not interact well with minimization in general. even if minimization is not the dismissal behavior that is desired, it should not be the case that a minimized scratchpad is considered 'viewed'
It should be easier to make exclusivity behavior (as implemented in exclusive scratchpads) possible

In general, what I think the implementation needs is to have function hooks to be added in several places, so that the exact behavior of certain parts of the implementation can be controlled more precisely.

Well I agree in the sense that I think it makes sense not to deprecate the module, but I do think an aggresive refactor is order. I believe that it should (mostly) be possible to preserve the existing interface, but implement it in terms of a new interface that is much more flexible (but perhaps exposed in the same module).

Ah I see; so essentially what we did with the status bars a while ago.  In that case I fully support this :+1:

* It should be possible to control how the dimissal of scratchpads worked. ExclusiveScratchpads uses minimization rather than banishing to NSP. There is clearly a desire in the userbase to have support for this behavior (as indicated by [Use minimize in scratchpads #169](https://github.com/xmonad/xmonad-contrib/pull/169)). I don't think it would be hard to

The only reason why #169 stalled seems to have stalled is a weird interaction with status bars (though this sounds solveable) and the fact that we now need to either keep track of the window that used to have focus or find a way for minimization to do this for us.  Both of these seem like doable obectives.  Do you think it's worth reviving that PR or should we start from scratch here?
In any case, having hot-swappable backends the user can choose sounds like a good thing.

should we start from scratch here?

Definitely start from scratch. #169 Changed NamedScratchpad to ONLY offer the minimization system. Personally I actually still prefer the NSP approach.

In any case, having hot-swappable backends the user can choose sounds like a good thing.

Right. I think there's an outside chance we can actually implement all 3 scratchpad implementations using the same code if we make it general enough.

Making a scratchpad implementation from scratch would likely eliminate concerns with picking one of the existing methods to push a scratchpad window to the background.

In any case, having hot-swappable backends the user can choose sounds like a good thing.

This sounds optimal, if it can be done easily and if there are use cases outside of edge ones. I used to use X.A.Minimize to make the master area into a queue of windows to cycle through. Out of fear #169 would be merged soon and for a couple other reasons I made my own layout + solution to hiding windows in the background. I don't see a new scratchpad implementation easily messing with a setup the same way I thought would happen were #169 to be merged.

Personally I actually still prefer the NSP approach.

Do you mean the NSP workspace? Or are you talking about the proposed X.A.Minimize solution?
The NSP workspace is pretty hacky, and can lead to issues with a multihead setup. I'm all for a centralized solution to scratchpads, but I wonder if they should truly be minimized windows instead of being pushed out of the stack into their own list contained within extensible state. Maybe I have the wrong idea for this, but since I don't use XMonad on top of a DE or task bar programs that detect active and minimized windows I can't tell for sure.

I will close this for now, as the title of the issue ("3 Different Scratchpad Implementations; 2 Scratchpad PRs") has been dealt with.  If we want to discuss the possibility of hot-swappable backends etc., I think it's worth opening another issue for this.


Typing Event seems to be defined incorrectly

It is not defined as a room_event!, but includes a room_id field, which is non-optional. However, room_ids are generally optional because they are omitted in sync responses (sync groups all events by room). Thus, we currently always fail to deserialize typing events from sync responses.
Reported on #ruma:matrix.org by @timokoesters (thanks!)

This also affects receipt events (reported in #46) and possibly others.
I don't yet know how to fix this because I previously assumed ephemeral and account-data events were non-room events, but then why do both receipt and typing events have a room_id field?

It seems those events are explicitly scoped to rooms, per

https://matrix.org/docs/spec/client_server/r0.6.0#id49
https://matrix.org/docs/spec/client_server/r0.6.0#id58

So I guess the correct thing to do here is to separate out the rest of the event structs from the room_id, and use the smaller type in the /sync response. I'm not sure what the best way to do this to match Ruma's existing conventions is – the simplest thing would be to copy-paste variants of the structs, but I'd personally be inclined to at least share the common fields between the two, and maybe even define a generic wrapper type to bundle a room_id with the rest of an event.

define a generic wrapper type to bundle a room_id with the rest of an event

I'd be in favor of something like that, but first want to look into why typing and receipt events are not room_event!s but still contain a room_id.

The spec link I posted says:

These are ephemeral events scoped to a room_id. This means they do not form part of the Event Graph but still have a room_id key.

which I think answers that? (But I'm not sure what room_event! is; impl_room_event! seems quite different.)

Yeah sorry, didn't look at the link yet. That probably is the reason. The next question is then whether we want to keep the terminology of "room event" for events that are part of the event graph.

The spec seems to use the term that way, so I think it'd be fine to keep, though I do agree that it's somewhat confusing.

Fixed in 78eae67. We should still create separate types for the two variants of these events (with room_id, without room_id) but that can be tracked over at #43.


FileNotFoundError: [Errno 2] No such file or directory: '/content/cover.png'

This is my first use of Yupyter :)
I'm using Yupyter locally, on my Windows.
I've received such error:
---------------------------------------------------------------------------
FileNotFoundError                         Traceback (most recent call last)
Cell In[14], line 13
     10     chapter_titles[i] = {chapter_number_and_title: chapter}
     12 # Create the cover
---> 13 create_cover_image(str(chapter_titles))
     15 # Create the EPUB file
     16 create_epub(title, 'AI', chapter_titles, '/content/cover.png')

Cell In[2], line 51, in create_cover_image(plot)
     48 data = response.json()
     50 for i, image in enumerate(data["artifacts"]):
---> 51     with open(f"/content/cover.png", "wb") as f: # replace this if running locally, to where you store the cover file
     52         f.write(base64.b64decode(image["base64"]))

File ~\Documents\Python\p3_10\lib\site-packages\IPython\core\interactiveshell.py:284, in _modified_open(file, *args, **kwargs)
    277 if file in {0, 1, 2}:
    278     raise ValueError(
    279         f"IPython won't let you open fd={file} by default "
    280         "as it is likely to crash IPython. If you know what you are doing, "
    281         "you can use builtins' open."
    282     )
--> 284 return io_open(file, *args, **kwargs)

FileNotFoundError: [Errno 2] No such file or directory: '/content/cover.png'

Of course - i've put my Stability Key in stability_api_key variable, and make a "content" directory before run (in the same directory as the script AND one level higher). There are no pictures In my Stability history also (and i can manually create pictures there).

look here:
https://github.com/mshumer/gpt-author/issues/3

I just change it to c:/content/cover.png I not using stability just put some random image there

look here: #3

This is similar, but not the same issue. There is no picture created on my Stability account (and then no file in directory).
But i'll check it with other path.

ya can try for local env
import os

absolute_path = os.path.dirname(__file__)
relative_path = "content/cover.png"
full_path = os.path.join(absolute_path, relative_path)

Thank You @MartinAbilev I'm trying now with 'content/cover.png' because 'prompt/write_chapter...' is working OK.

IT WORKS!!1111oneone :D
Thank You @snip3r009 and @MartinAbilev

Now i can optimise prompts and the rest of the code for better books. I'm closing this thread.


Possibly Update Information (?)

As appsettings.json has been faded out in favor of .csproj. Would it be possible to update the tutorial (Web API with MongoDB) to use .csproj instead of appsettings.json? That is, could someone update the examples/explanation to use csproj over json?

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

ID: 5240866d-d0a1-f0dd-7b2c-203e1d69bc4b
Version Independent ID: 83a5cb3b-23bc-4f0c-cd1c-1d1ffeb1131a
Content: Create a web API with ASP.NET Core and MongoDB
Content Source: aspnetcore/tutorials/first-mongo-app.md
Product: aspnet-core
Technology: aspnetcore-tutorials
GitHub Login: @prkhandelwal
Microsoft Alias: scaddie

Hello @Deadened ... Where did you hear that?
appsettings.json is the default, primary configuration file for ASP.NET Core apps. The project file (.csproj) handles the app's package references, target framework, and other compiler settings.


feat: replacing mentions to aztec-starter with codespace methods

Please read contributing guidelines and remove this line.

#6177  👈
master

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @signorecello and the rest of your teammates on  Graphite

Docs Preview
Hey there! 👋 You can check your preview at https://6634d78293097719ca0bb57e--aztec-docs-dev.netlify.app


Importing icons from @phosphor-icons/react/dist/ssr renders the icons, but gives issues in the editor

This is the issue description I get from typing:
import { Fish } from '@phosphor-icons/react/dist/ssr';

Could not find a declaration file for module '@phosphor-icons/react/dist/ssr'. 'C:/Work/Projekty/Dezarto/dezarto-next/node_modules/.pnpm/@phosphor-icons+react@2.0.13_react-dom@18.2.0_react<EMAIL_ADDRESS>implicitly has an 'any' type.
There are types at<EMAIL_ADDRESS>but this result could not be resolved when respecting package.json "exports". The '@phosphor-icons/react' library may need to update its package.json or typings.ts(7016)

Despite that, the icon renders correctly in dev. It does, however, disable autocomplete suggestions in the editor, which makes working with icons harder.

I noticed this happens when using "moduleResolution": "bundler" on tsconfig, changing away from it solves the problem, but doesn't sound good to change it.
New projects with Vite or even Next now start up with that setting by default.

I have found reports that VSCode isn't 100% ready for "moduleResolution": "bundler". This may be the cause, as I see no fundamental issue with our typings, or with our exports declaration in package.json. If you have any suggestions, I'm happy to hear them.

Im getting the same warning in VSCode. Everything works fine tho.
Did you guys find a way to fix this?

same problem here.

Can anyone please share a minimal reproduction of this in a Stickblitz or repo?


chore(deps): upgrade dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-main" workflow

Codecov Report

Merging #349 (e397c0c) into main (2974dfe) will increase coverage by 12.36%.
The diff coverage is 100.00%.

@@             Coverage Diff             @@
##             main     #349       +/-   ##
===========================================
+ Coverage   83.33%   95.69%   +12.36%
===========================================
  Files           2        1        -1
  Lines         126      395      +269
  Branches       31       53       +22
===========================================
+ Hits          105      378      +273
+ Misses         21       17        -4

Impacted Files
Coverage Δ

src/index.ts
95.69% <100.00%> (+13.69%)
:arrow_up:

example/src/main.ts

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 67d336b...e397c0c. Read the comment docs.


Error like Required Xcode 8.0 in Version 1.1.0

I have install PMAlertController in version 1.1.0 in Xcode 7.3 and Deployment target is 9.0 but the issue is something like this :
"This Version does not support documents save in the Xcode 8 format. Open this document with Xcode 8.0 or later."

Hi @rp9994. The release 1.1.0 of PMAlertController works with Swift 3, and swift 3 is supported only from Xcode > 8.x. I suggest you to update your Xcode installation.


Plutonium IW5 Admin Script v2

yup

Please make a copy of your local version of PlutoAdmin, delete your forked repo and local repo. refork the project, clone the forked repo and copy the old files back in the forked files. then make a single commit with all the files so I can compare the changes you made to the project.


Abstract MGM port: standalone function

References #49

[ ]  port over the standalone function file
[ ] all standalone tests pass

re-did the standalone tests grabbing data from running the matlab code to get inputs and outputs then adjusting the tests to read these and get the needed data
began implementing the standalone function
[t:60]