Propel  doesn't preserve foreign key relationsships

I am working on a table that has multiple foreign keys. This table is versionable.
Once I tried to call foreign keys on a version of the table, I got an error like "unknown method".
I then checked the DB and found out that in the versions table foreign keys are not preserved.
I looked a bit around the Propel documentation and found out that the behavior "archivable" does have the option to preserve foreign keys - if I do understand it the right way. The behavior "archivable" has parameters like "inherit_foreign_key_relations" and "inherit_foreign_key_constraints" and it sounds like they would solve my issue. Unfortunately, I did not find any documentation if those parameters are also available for the behaviour "versionable". Quickly looking through the source code I also did not find any evidence.
Saying this, I would like to file a feature request/bug report to enable calling foreign key objects on versioned tables.

Hey @kasparsatke ,
Could you share an example table schema and a use case for better problem confirmation and resolution?

Dear Denis,
thanks for picking up on this.
Below I provide a shortened (and slightly altered) table scheme.
    <table name="invoices">
        <column name="id" type="integer" required="true" primaryKey="true" autoIncrement="true" />
        <column name="description" type="longvarchar" />
        <column name="internal_note" type="longvarchar" />
        <column name="creator" type="integer"  default="0" />
        <foreign-key foreignTable="be_user" phpName="InvoiceCreator" onDelete="none" onUpdate="none">
            <reference local="creator" foreign="id" />
        </foreign-key>
        <column name="last_change_editor" type="integer" default="0" />
        <foreign-key foreignTable="be_user" phpName="InvoiceLastChangeEditor" onDelete="none" onUpdate="none">
            <reference local="last_change_editor" foreign="id" />
        </foreign-key>
        <column name="created" type="TIMESTAMP" defaultExpr="CURRENT_TIMESTAMP" required="true" />
        <column name="modified" type="TIMESTAMP" defaultExpr="CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP" required="true" />
        <column name="supplier" type="integer" />
        <foreign-key foreignTable="suppliers" onDelete="none" onUpdate="none">
            <reference local="supplier" foreign="id" />
        </foreign-key>
        <column name="customer" type="integer" />
        <foreign-key foreignTable="customers" onDelete="none" onUpdate="none">
            <reference local="customer" foreign="id" />
        </foreign-key>
        <column name="product" type="integer" />
        <foreign-key foreignTable="products" onDelete="none" onUpdate="none">
            <reference local="product" foreign="id" />
        </foreign-key>

        [...]

        <behavior name="versionable" />
    </table>

As you can see, the table is versionable and contains multiple foreign keys. The "versionable" behaviour works like this: Every time I update an object from the original table with different values, a copy of the old object with incremented version counter will be created in the table invoices_version. The updated original object of course will be updated in the original table invoices

Now when I call an object of the main table, like e.g.
$invoice = InvoicesQuery::create()->findPk(1);
I can also directly call a related Object and get columns of the related object e.g.
$creatorname = $invoice->getInvoiceCreator()->getName();
Just normal stuff Propel allows with foreign keys.

Now once I try to retrieve on a previous version of the original object like so
$old_invoice = InvoicesVersionQuery::create()->filterByVersion(3)->findPk(1);
this works fine. However, once I try to get related objects of foreign tables like
$old_creatorname = $old_invoice->getInvoiceCreator()->getName();
it fails with an unknown method thrown as the foreign key on the be_user table is not preserved by Propel in the versioned table (invoices_version).

Instead I have to go back and call the related table separatedly:
$old_creatorname = BeUserQuery::create()->findPk($old_invoice->getCreator())->getName;

Checking the underlying DB tables, I can confirm that foreign keys are added by propel on the original table, yet not on the versions table.
It be would really great if I could call the related objects of table object versions out of the box. To my understanding, @mringler has recently realized this feature on the "archivable" behaviour with two parameters implementing foreign keys on archived table objects. Unfortunately I could not test it yet and hence don't know if this works the way I understand it, since until recently I had to use an older Propel version where the enhancements to the "archivable" behaviour had not been not included yet.
I was hoping that (if functioning the way I understand it here) the same or similar parameters as in "archivable" could be implemented for "versionable".

Hey @kasparsatke,
I needed the same functionality for another behavior, so I extracted it from archiveable behavior into its own behavior ("synced table") and set it as a base for versionable and archivable. This allows to configure foreign keys on the versionable table as you requested.
If this is interesting to you, have a look at https://github.com/mringler/Propel2/pull/10.

Dear Moritz,
just wow. This sounds super promising. Also your new base behaviour synced_table has great configuration options. Out of interest, what was the new behaviour that you wrote this for?
Also, is your whole your feature already ripe to enter the main repo?
All the best,
Kaspar.

Hey Kaspar,
thank you for the kind feedback! Yes, I needed it for that auditable behavior. It records changes to the parent table, so you can figure out who did what when. It seems to work well, but there is a huge caveat: I wanted to avoid duplicating every single row, so now each change only records the overridden values (instead of the new values), and the actual audit has to be rebuilt going backwards from the current row. That's fun and interesting, but it is fragile to changes from outside Propel (i.e. direct database access). For a general release, it would probably need a default fool-proof mechanism as well.
But since nothing gets merged into Propel anymore, that does not matter, there is no point in creating PRs. Synced table and the changes to versionable are finished, but if you want to use it, you have to get it into your own fork, or copy the files and register them as external behavior. I have completely switched to my own fork, you are welcome to use that too of course (I don't plan on doing something crazy with it).
None of these options are great, but it is what it is.
I'd be curious if the changes to versionable work for you though. Let me know if you try it out or if there is something else I can do.
Best,
Moritz

Hi Moritz,
as for the direct database access - I would say there is no bulletproof method.
One way to minimize potential impact would be to make the table WORM for a certain (audit) user. A drawback is that you would at least need root access again once the table definition changes I guess.
Or, one could prevent changes with triggers on that audit table that prevent UPDATE, DELETE or REPLACE statements to be executed. But then again someone with root access could also tamper/delete these triggers again- regardless if in Propel or directly on the DB.
Or, at least in MySQL/MariaDB, as I have just found out, there is a special ARCHIVE storage engine which could is almost WORM (besides the allowed REPLACE statement). But then again you would need to handle a second DB with this engine as you don't want have WORM on all your tables in the main DB. I don't know how easy it would be in Propel to adjust your auditable behaviour to offer the option to automatically copy/redirect changes into the special archive DB.
So in general I would say there is alway a risk yet I would still say your auditable behaviour would also be a great addition to Propel!
Which brings me to the following question as to why you say nothing gets merged anymore into Propel. I thought @dereuromark has been the previous maintainer and could not be so anymore and now @PhilinTv is the current maintainer. So I thought although progress in the Propel repo is slow, there is something happening. Or do you think otherwise?
If indeed no merge and release is happening anymore, I have to think of a way to test your additions with real data in a new test environment. I am not sure if/how fast I can do this, so please don't expect feedback soon.
Best,
Kaspar.

Hey Kaspar,
oh,protecting the table on DB-level is an interesting idea. But as you say, it seems unfeasible to forbid manual updates completely. The problem with the current solution is that manual updates are not just unaccounted, they give you wrong audits (I have added some description to the PR, it felt out of place here). Not sure if it makes sense to be "published" the way it is, and figuring out how to get there does not seem to make sense at the moment.
As to the state of the repo, I had several PRs, from bugfix to feature, doesn't seem like anybody looked at them even once. #1981 is still open, it's a simple bugfix, nine month old, not even a comment. Go figure...
No worry about the testing, I just remembered your comment and thought I'd let you know.
Best,
Moritz

Oh I am sure people are looking, watching and even reading. Maybe even many.
It just needs people to engage to keep things rolling.
So to all you people reading this, engage! Even if you feel you can’t contribute with code reviews or whatnot, reach out to people you know who can.
And for whoever is maintaining this repo,  think of how responsibility can be shared with multiple capable and trustworthy people who ideally have knowledge of Propel‘s inner workings. Increase the Truck number!
There is no such sad thing as a great project depending on a lonely maintainer that has not enough time, means or strength and gets overwhelmed with responsibilities. Recent examples have bitterly shown what might happen, if a lonely maintainer gets swamped: XZ anyone?.
Saying this, come up with people you trust and that have the right knowledge to easen the burden. Keep up the great work yourself && let trustworthy people help you! Together you are strong! Together the community is strong! 💪


Redesign of Transfer

I guess is around clock 😅
https://beta.kodadot.xyz/transfer
Things we would like to keep

7d average price of particular asset (we plan to have KSM, USDT, DOT, BSX just for example)
who is making transfer - address + identity best for recognition
balance of particular address -- maybe warning there is not enough assets on address
insert address -- this can work if we want to input someone else KSM address and generate link on their behalf but also primarily for users who generating payment links so we can process them
amount in cryptoasset and USD amount
actionables buttons like submit, copy reward me link (if generating link for myself), copy payment link (if I generated payment requests on someone else behalf, other address I don't own)
after transaction - view transaction on blockexplorer like SubScan and copy link to proof receiving party their rewards is on the way
new things coming into

right now we have batch where we have more addresses with same amount, I would like to extend it with more addresses BUT different amount per address, plus it can generate link on this batch transfer as it it's something recurring

How it looks like on https://kodadot.xyz/transfer (usable 😅)

so copy payment link it is sometimes there 🤔

We will sort out fields bit

batch transfer add will keep
add option to add custom value for each address and generate links for that
make it less confusing for people who are using copy reward me link
add address on someone else behalf so copy payment link (this fn was there but seems gone?)
mobile friendly would be best

Ref

#5322

So I've got some mobile designs ready for feedback if any.
You can send multiple people the same amount. By default I though it would be set to USD as its easier for calculations, but I left the crypto asset as well as still, you are sending KSM tokens and not USD itself. Options to create a payment template (payment link) would be in top right "more" button - I am still thinking about other ways where I could put this option.

I also added the option to set different amounts to multiple accounts. I am still deciding which variant I want to go (more inclined to the 1st variant as its more mobile friendly but takes up more space when adding multiple recipients). Any preferences here?

I would also like to include confirmation dialog with all important information before you really confirm and submit the tx. - WIP

I think it's good, yet only thing I'm unsure is if we should go for comma or dot at decimal separator

https://en.wikipedia.org/wiki/Decimal_separator?useskin=vector

Also I would put probably Transfer in separate row and KSM with amount in next line to be more spacious.
exchange rate I would keep probably same color, it's feels like it's going down with price
Variant 1 is probably better to see more from address.
Yet probably is missing in Total amount of KSM (and multicurrency in future like USDT will be there)
I found is missing where you will see resolved identity of address.
I might see issue when u decide to change sender, but that could be pulled from menu I guess, but would be nice to be easy but that could be for later iteration.
Other than is great start!
Maybe @helloitsdamsky can have some feedback if he is missing something critical

What use case would this be exactly? You mean swithing to a different wallet/account?

The option/button to change the account is not essential. It is good to have the context of the account you are signed in with, IMO. - its already there.
Another thing is the nonconnected state. Once #5820 gets merged, there will only be a button to get to the screen if you log in, but what if the user receives a direct link somehow? Do you know if the connect sidebar displays right away?

Correct me, but I don't see copy reward me link option in your new design - will it be added? We still need that :))
With decimals, I would go for a dot (.), a comma is used for example in Slovakia and its not that popular.

Correct me, but I don't see copy reward me link option in your new design - will it be added? We still need that :))
With decimals, I would go for a dot (.), a comma is used for example in Slovakia and its not that popular.

It will I am counting on it :)) but I want to ask, would you prefer it to be on this screen right away or is ok to place it into the "more" button at the top right?

It will I am counting on it :)) but I want to ask, would you prefer it to be on this screen right away or is ok to place it into the "more" button at the top right?

more button is enough i believe - this feature is not used that much by users, mostly by us :))

So dot "." for decimals and comma "," for thousands?

exactly 🔥

I can see that current transfer is using dot. Found this comparison. Would probably go either Danish/Finnish way or GB/US. Wdyt?

Why Dannish/Finnish and not French? 😡
Or we can show numbers/date/time depending on the language of the device.

Why Dannish/Finnish and not French? 😡

I mean, French way is the same as our Czech way, so I wouldn't mind as well :D
The question is whats would be considered as a most common way based on our user base.
But hey, if we can make this personalised, it might be an alternative as well. This would mean to have 3 ways to display (English, Spanish and French)

Which flow you think would work better?
Also is it possiblle to go with the Flow 2 when selecting different assets on different parachains/blockchains?

@VladoTheBoi I think the second flow works better

Same! small preference for flow 2 which seems to me more practical.
Flow 1 design is looking good, but user will have to "change page" each time he would like to make a new transfer.

Thanks! Flow 2 it is then 🔥

Hello @VladoTheBoi where can we find design?

Hello @VladoTheBoi where can we find design?

Hi Leo, I am finishing some last touches. For the meantime, you can check here and follow up with any questions.
One thing tho I want to ask is whether its possible to create more of a "native" mobile look for modal. And have it like this below for mobile:

@kodadot/internal-dev  I have a question regarding sending tx. Not sure what is the current gas fees situation on KSM or other parachains, but I guess it would be nice to offer the user option to speed up the tx in case its taking long time in confirmation? Are these cases of long confirmations / low initial gas fees frequent?

@EthVlad
i am not sure if increasing fees is an option on polkadot
current fees are vanishingly low:
in the example below fee for mint + list for sell is less then 1 cent
https://statemine.subscan.io/extrinsic/4720367-2

@daiagi I know, I checked myself but thats why I ask. Whether there were occasions when this could be handy high volatility periods of parachains (that I am not aware of). Its a minor thing, I will keep it in the figma if we ever want to implement this.
And any comments on the mobile modal view? @roiLeo @daiagi

i also prefer the 2nd design
a few questions:

what is the content of the "3 dots" menu?
keep in mind that we can have different identities / no identity between chains, i.e in your example when switching to ksm the name "yangwao" could change
the transition between "same amount" / "different amounts" looks problematic to me, things disappear, things change width and titles. i would rethink that. for me it would make since to use the "different amounts" design throughout, with only first field enabled, and enable for edit the rest of the amount fields when the switch is on
can we calculate/ estimate network fees?
in the mobile design the bsx is cut, obviously it will need to move to second row or some other design choice, please clarify that in the figma file

i also prefer the 2nd design

Which one? Not sure to what are you reffering to.

keep in mind that we can have different identities / no identity between chains, i.e in your example when switching to ksm the name "yangwao" could change

In that case, we would display the wallet address

the transition between "same amount" / "different amounts" looks problematic to me, things disappear, things change width and titles. i would rethink that. for me it would make sense to use the "different amounts" design throughout, with only first field enabled, and enable for edit the rest of the amount fields when the switch is on

Is it that problematic? This could be just an instant animation where the layout would change.

in the mobile design the bsx is cut, obviously it will need to move to second row or some other design choice, please clarify that in the figma file

The idea was that this area would be horizontaly scrollable (as we wont have that many different currencies as of rn)

Is it that problematic? This could be just an instant animation where the layout would change.

i admit that i am not a UX person so my opinion on the matter may have limited value
but still , as a user i would expect flipping of a switch to maybe show/ hide 1 element and/or enable/disable fields
changing layout seems to me confusing especially that the field of "amount to transfer" changes to "display currency" but occupies the same space seems confusing to me

I get the point.
I mean there probably is no issue with leaving it in "Different amounts" by default and removing the enable button. This would also save one problem I had regarding the display units . The only difference would be that you would have to manually write down the amount which is not such a big deal in the end I think.
It could look like this:

@daiagi So I've made the changes to the whole flow. Check it out here and let me know some further questions :)

Continue to

https://github.com/kodadot/nft-gallery/issues/6460


fixed mobile header nav click

Please always provide the GitHub issue(s) your PR is for, as well as test URLs where your change can be observed (before and after):
Fix #164
Test URLs:

Before: https://main--sling--aemsites.aem.page/whatson
After: https://164-mobile-header-click--sling--aemsites.aem.page/whatson

The expand works well, but also clicking again should close the subnav like the sling.com site does.
Can you also address the intersection observer problem of the gray header not showing on 1st load?


Fibaro FGR-224 command cover.open cover.up not working

Checklist

[ ]  I am not using Home Assistant. Or: a developer has told me to come here.
[X] I have checked the troubleshooting section and my problem is not described there.
[X] I have read the changelog and my problem is not mentioned there.

Deploy method
Home Assistant Add-on
Z-Wave JS UI version
last one
ZwaveJS version
last one
Describe the bug
After 15 or 30 days randomly, commands cover.open and cover.up are not working from the HA zwave integration
The set set_cover_position works perfectly.
When I have the issues, I can close or open my cover with set_cover_position.
I tested in zwave JS UI and the command works

Cover calibration is OK
EDIT : I saw open and closed are inverted after few time....

The issues appears between 15 or 30 days.
When I reboot the Fibaro FGR-224, the issues is no present
I don't know if it's a Fibaro bug or ZWave JS UI bug...
Expected behavior
Commands works
Additional context
No response

The bug is in node-zwave-js which both HA and Z-UI use. v13.9.0 fixes the issue, so you'll have to wait for a new release of Z-UI and/or the addon.

Thx


fix(react-router): use current matches for fromMatches and only build new matches when location overridden

Due to the nature of useLayoutEffect and resolvedLocation lagging behind, it seems possible that a match can render before the resolvedLocation has been updated. Threfore I've decided just not to rely on it at all and to use the current matches for fromMatches and only build new matches if the location has been overridden.
Fixes #1852

I need to add a test to replicate this. Might be a bit hard but definitely not merge yet

Fixes #1852

Are there any specific scenarios in which you've run into this problem? and have you checked this against the examples?
P.S. You also, might want to run a pnpm install and re-run prettier again, those formatting changes below shouldn't be changing.

It was an issue in the kitchen sink example

It was an issue in the kitchen sink example

What are the reproduction steps? I'd like to wrap my head around the issue at play here.

It was an issue in the kitchen sink example

What are the reproduction steps? I'd like to wrap my head around the issue at play here.

See this https://github.com/TanStack/router/issues/1852

Also not sure whats going on with prettier as I've nuked my node_modules. Will fix it tomorrow

See this #1852

Thanks! Yup, can see the issue clear as day.

Also not sure whats going on with prettier as I've nuked my node_modules. Will fix it tomorrow

👍🏼 I've run prettier and pushed up the changes.

@SeanCassiere we need a test first before we merge this. would be awesom if you can contribute this.

@SeanCassiere we need a test first before we merge this. would be awesom if you can contribute this.

A bit easier said than done 😅
I'm unable to reliably reproduce the error even in between runs.

@SeanCassiere we need a test first before we merge this. would be awesom if you can contribute this.

A bit easier said than done 😅
I'm unable to reliably reproduce the error even in between runs even on main.
@schiller-manuel

I could reliable produce it but now theres been a larger PR merged, it only happens sometimes. It must be to do with resolvedLocation being updated after though if its inconsistent

Ok.  Likely because it flips to the match immediately, there is no 'pending' state and resolvedLocation is not correct

@chorobin I'm able to sometimes get the issue on main, but it never comes up when testing with these changes.
Perhaps update this branch with main and give it a shot. If all is good, then I'd push this through.


Questions: Fastlane file management

New Issue Checklist

[ X] Updated fastlane to the latest version
[X ] I read the Contribution Guidelines
[X ] I read docs.fastlane.tools
[X ] I searched for existing GitHub issues

Issue Description
This is more of a question than an issue. I'm learning fast lane, so I've been Googling, StackOverflowing, and searching through this issues list. I have a few things I'm trying to find better ways to do in fast lane:

How do I get a temp folder? I need to do some work in a tmp folder that I don't want to clutter up my repo folder with. I probably can do a sh("") and do some command there to get a temp folder, but  maybe there is a better way? Just asking.

One of our lanes needs to check for a folder to exist (build folder with built-final framework) before it can continue for deployment. What is the best way to check for a folder existence?

Well…not sure if fastlane env is really required here, but…okay.
✅ fastlane environment ✅
Stack

Key
Value

OS
10.12.6

Ruby
2.4.2

Bundler?
false

Git
git version 2.11.0 (Apple Git-81)

Installation Source
~/.rbenv/versions/2.4.2/bin/fastlane

Host
Mac OS X 10.12.6 (16G1036)

Ruby Lib Dir
~/.rbenv/versions/2.4.2/lib

OpenSSL Version
OpenSSL 1.0.2l  25 May 2017

Is contained
false

Is homebrew
false

Is installed via Fabric.app
false

Xcode Path
/Applications/Xcode.app/Contents/Developer/

Xcode Version
9.1

System Locale

Variable
Value

LANG
en_US.UTF-8
✅

LC_ALL

LANGUAGE

fastlane files:
removed due to private info
fastlane gems

Gem
Version
Update-Status

fastlane
2.64.1
✅ Up-To-Date

Loaded fastlane plugins:
No plugins Loaded
Loaded gems

Gem
Version

did_you_mean
1.1.2

slack-notifier
1.5.1

CFPropertyList
2.3.5

claide
1.0.2

colored2
3.1.2

nanaimo
0.2.3

xcodeproj
1.5.3

rouge
2.0.7

xcpretty
0.2.8

terminal-notifier
1.8.0

unicode-display_width
1.3.0

terminal-table
1.8.0

plist
3.3.0

public_suffix
2.0.5

addressable
2.5.2

multipart-post
2.0.0

word_wrap
1.0.0

tty-screen
0.5.1

babosa
1.0.2

colored
1.2

highline
1.7.8

commander-fastlane
4.4.5

excon
0.59.0

faraday
0.13.1

unf_ext
<IP_ADDRESS>

unf
0.1.4

domain_name
0.5.20170404

http-cookie
1.0.3

faraday-cookie_jar
0.0.6

fastimage
2.1.0

gh_inspector
1.0.3

mini_magick
4.5.1

multi_json
1.12.2

multi_xml
0.6.0

rubyzip
1.2.1

security
0.1.3

xcpretty-travis-formatter
1.0.0

dotenv
2.2.1

bundler
1.16.0

faraday_middleware
0.12.2

uber
0.1.0

declarative
0.0.10

declarative-option
0.1.0

representable
3.0.4

retriable
3.1.1

mime-types-data
3.2016.0521

mime-types
3.1

little-plugger
1.1.4

logging
2.2.2

jwt
2.1.0

memoist
0.16.0

os
0.9.6

signet
0.8.1

googleauth
0.6.2

httpclient
2.8.3

google-api-client
0.13.6

json
2.1.0

io-console
0.4.6

openssl
2.0.6

generated on: 2017-11-15

fastlane is built in Ruby, and your Fastfile is just a Ruby script, so you have the full power of Ruby there 🎉
So, depending on what you're trying to accomplish, if you want to create a temp folder, I think you want to use: http://ruby-doc.org/stdlib-2.0.0/libdoc/tmpdir/rdoc/Dir.html#method-c-tmpdir
Same with checking for a folder existence, you can use standard ruby for that: File.directory?(directory)

Ah - I had thought that maybe it was Ruby…but I honestly wasn't sure. That does simplify a lot. Perfect. I'll use ruby for that!


[WIP][RFC] perf(express): use node cluster module to speed up request handling

Just toyed with clusters a bit, but thought I'd still share.
On my old-ish early 2015 macbook with 4 core i5, I could go from ~2k requests/second to about 3.2k requests/second.
For some reason using worker.send right after forking did not work. Same for using cluster.on('online') Only sending a message from the worker first seemed to resolve the issue.
So if anybody can help me with that I'm doing wrong (regardless of if we ever want something like that in untool) I'd be really grateful. :) Maybe it has something todo with waiting until the getPort promise resolves?
I'm not sure how often people actually use multi-core machines in production, though.

@robin-drexler I tried to reproduce the issues you were describing w.r.t. sending messages from master to workers - unfortunately I could not..:
var cluster = require('cluster');

if (cluster.isWorker) {
  process.on('message', function(msg) {
    console.log(msg);
  });
}

if (cluster.isMaster) {
  for (var i = 0; i < 2; i++) {
    const worker = cluster.fork();
    worker.send('Workers of the world, unite!');
  }
}

This yielded the following CLI output:
$ node workers.js
Workers of the world, unite!
Workers of the world, unite!

I really do not see why something similar to the above examples would not work in your port determination example. Maybe we should just take a look together tomorrow i.r.l.
That being said, I share your doubts about adding this feature to untool: I think I would rather introduce some mechanism to facilitate usage of PM2 or similar with untool-powered apps.

Let us revisit this iff we have a substantial need for improved performance - i.e. post-1.0 😁


Current draft position is updated on successful draft

Acceptance Criteria

When the fantasy league is in DRAFT status, and a user makes a successful draft, the current position is updated respectively

Blocked on #267


devops: Push devcontainer when requested

I realize this was never pushing the devcontainer...
Let's see if this works

I also cleared up the workflows a bit


treewide: switch to texlive.withPackages

Description of changes
Remove almost all calls to texlive.combine or texlive.combined.scheme-* with equivalent texliveSmall.withPackages calls – including new texliveFull, etc. at the top level. Rationale:

a drop in evaluation time (I hope!)
better ergonomics: .withPackages is composable, so dependencies can now live in the package definition instead of all-packages.nix, and users can easily override texliveSmall to pass a different TeX Live environment

There may bugs caused by TeX Live packages having the same name as a Nixpkgs package in scope, e.g. with ps; [ texinfo ] can accidentally refer to pkgs.texinfo instead of ps.texinfo. Hopefully I spotted all of them but please verify.
Not sure if we can fit this in time with 23.11 – it may cause a large rebuild. Let's see what ofborg says.
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[X] Fits CONTRIBUTING.md.

@GrahamcOfBorg build tests.texlive

@GrahamcOfBorg build tests.texlive

@GrahamcOfBorg build tests.texlive
(I can't do a proper review on my machine because ghostscriptX is still broken on darwin - it requires #263833.)

@GrahamcOfBorg build tests.texlive

The tests were passing on the last run, so they should still pass now:
@GrahamcOfBorg build tests.texlive

As far as I can tell, the Darwin tests fail only because ghostscriptX is broken, so this is good to go.

@GrahamcOfBorg build tests.texlive


The big one temp

Related issue # (if applicable):
What I did:
How I did it:
How to verify it:
Checklist:

[ ] I have tested it locally and it works
[ ] I have included any relevant documentation for the repo maintainers
[ ] (If fixing a bug) I have added a test to the test suite to test for this particular bug

Adding a Network
If the purpose of your PR is to add support for a new network, please copy the checklist from here into this PR conversation, and use it to track your changes.

Due to the way that certain y-e components are dependent on one-another, this PR is larger than it should be and touches many parts of the exporter repo.
This PR:
asyncifies the vaults exporter
asyncifies the treasury exporter
asyncifies the sms exporter
asyncifies the treasaury-tx exporter
asyncifies the transactions exporter
asyncifies the wallet exporter
asyncifies the partners exporter
significantly speeds up treasury-txs, partners, transactions exporters
batches calls in the backend, massively reducing total # of http requests and volume of data transfer
extracts yearn.prices functionality from this repo, replacing with ypricemagic
replaces the treasury txs exporter and treasury exporter with more streamlined, optimized versions of the code.
Still working on:
as this is supremely large, there are a few things left to debug. I am working on each locally but any help is welcome:
arbitrum exporters are having trouble with closest_block_after_timestamp
arbitrum exporters are unable to progress past yearn's init file. Check diff brownie versions
arbi exporters having trouble with "vault" creamusdc which is clearly not a vault
there will be other things I'll add here as I continue with testing/fixing
Todo:
validating actual outputs
cleaning up code snippets that are no longer utilized
check me to feel good when finished
I'll flesh this comment out more as I proceed thru testing


Add audiences to docs

My VSCode is auto-formatting this codeblock into a single line:
<CodeBlock title="api.yml">```yaml name: api audiences: - internal - beta ```</CodeBlock>

Can't figure out how to prevent it from doing so. VSCode settings for format on save are off.


[backport] Remove unused argument from decorrelated batch norm

Backport of #7828

[automatic post] Jenkins, test this please.

Jenkins CI test (for commit 88505d9fa80859d83b92f7ce5278b2590b3a13b8, target branch v6) succeeded!


Can the source code of the new version of shadow be uploaded to GitHub

Can the source code of the new version of shadow be uploaded to GitHub

What? All changes to XivAlexander will be synced to Github.


1.16.5 update

Version Update
I have an idea and a question.
The first question is whether there will be an update 1.16.5.
And the idea is to add ports from 1.8.8.

Focus will always be on the latest/most widely used version of Minecraft. Check the README in the main repo page, we mention trying to use Multiconnect to get to earlier server versions.

wdym by ports from 1.8.8


@is decorator

@component('js-item')
@is(MODEL_OBSERVER)
class Item {
}

is the same as:
@component('js-item')
class Item {
  __init__ () {
    make(MODEL_OBSERVER, this.el) // when MODEL_OBSERVER is a component name
    ...or
    mount(MODEL_OBSERVER, this.el) // when MODEL_OBSERVER is a Function
    ...or
    this.el.classList.add(MODEL_OBSERVER) // when MODEL_OBSERVER is a class name and not a component name
  }
}

I feel this isn't a good idea because this causes lots of implicity on mouting process. And the benefit of adding this doesn't seem such big.


Unable to get event.target.name onBlur in the Select element

I am attaching an onBlur event handler to the Material UI Select element
The onBlur fires successfully, however on examining event.target.name it is undefined.
event.target is pointing at the underlying  li element.
I've tried applying the event handler to the onClose attribute, but then it doesn't even fire the handler at all.
What I'm expecting is for event.target.name to be the name property of the Select element.

    <InputLabel htmlFor={name}>{label}</InputLabel>
    <Select
        value={state[name]}
        onChange={onChange}
        onBlur={onBlur}
        inputProps={{
            name: {name},
            id: {name}
        }}
        autoWidth
    >
        {children}
    </Select>
    {getErrorText(state,name)}
</FormControl>

event.target is pointing at the underlying li element.

I believe we have fixed this issue along the way. It should be fine on v1.0.0-beta.40.

I can confirm this issue is still occurring with w1.0.0-beta.42.
The only way I can get these controls to play nice with Formik is by manually setting the event target name / id during the blur event.
<Select
                  autoFocus={true}
                  name="customerId"
                  value={values.customerId}
                  onChange={handleChange}
                  // native={true}
                  // inputProps={{name: 'customerId'}}
                  // tslint:disable-next-line:no-any
                  // tslint:disable-next-line:no-console
                  inputProps={{onBlur: (e: React.FocusEvent<HTMLSelectElement>) =>  {

                    e.target.name = 'customerId';
                    // tslint:disable-next-line:no-console
                    console.log('select target name', e.target.name);

                    handleBlur(e);

                  }}}
                >

@danimbrogno Thanks for sharing your workaround. The blur event is triggered by a div with the non-native mode. We could apply the following diff in the core. But I don't think the market share of formik as well as the potential for them to solve the problem on their side would worse adding such extra logic.
  handleBlur = event => {
    if (this.ignoreNextBlur === true) {
      // The parent components are relying on the bubbling of the event.
      event.stopPropagation();
      this.ignoreNextBlur = false;
      return;
    }

+   event.target.name = this.props.name

Ok i was able to get this to not rain errors in the console... turns out the modal the form was wrapped in was also adding to the problems. Setting disableEnforceFocus=true on the modal fixed the infinite call stack issue.

"I don't think the market share of formik would worth adding such extra logic" --@oliviertassinari
That market share is now greater than the other two packages combined.
And the "extra logic" being, oh my God --- an entire line of code!
But it's there's not much reason to suffer that huge change because this issue is only "a huge pain for our team" --@cvburgess.
@oliviertassinari: You are pathologically averse to doing anything, based on every issue I've seen you involved in here, where "involved" always means "denied".

https://github.com/mui-org/material-ui/blob/3c3b51908011a6b648e91d576b25dd73f29d43e9/packages/material-ui/src/Select/SelectInput.js#L182


chore(docs): fix typos

fix some typos and grammar errors to enhance documents

@lfz941 Please update the MR per our engineer's comment.

updated. sorry for the late response.

@LynseyFabel  Could we merge this MR now?

LGTM!

Hi @lfz941 , thanks for your contribution to TRT-LLM. We've merged this PR internally.


Distributed Computing Feature Request

The theanets package is working perfectly for me so far its very easy to use and have enough features to solve my problem, so basically Good Job!
My only issue is that I cannot use my available architecture to its fullest as I have access to a server of 26 cores and as far as I understand theanets does not have the ability to train a model on a cluster. I think it would make theanets more versatile and also way faster. If theanets would do cluster computing it would be my dream neural network package :-).
Cheers

I have access to an hpc cluster here but no gpu. It would be great to have something implemented for parallelization. I know that Theano is doing some effort regarding this.

With a heavy heart I'm going to close this since it's just going to be too broad for me to address by myself. If anyone wants to reopen, please create a new issue at lmjohns3/downhill, since that's where the actual optimization stuff happens.


Why not getting it from Object?

Hi there,
My apologies if you have already discarded this possibility, but I was wondering if you have ever considered adding a static method, getter, or property to Object to get global instead of adding a global variable to hold it.
In other words, the options that I mentioned before are:

Object.getGlobal()
Object.global

I'm really disturbed by the name, and I think no name will properly do the job, a big :+1: on putting it as property of Object!
I'd favor Object.global (or Object.GLOBAL) over the getter, for sake conciseness.

That's a non-starter, because then it couldn't be denied to untrusted code by altering the variable scope. Separately, that would mean that from almost every object, you could get to the global object on its original realm - which would be a huge security violation.
Thus, it must not be a property on any object (besides itself), and it must not be syntax, which means it must only be a global variable.

it couldn't be denied to untrusted code by altering the variable scope

@ljharb I'm not sure I understand correctly about that. Do you mean
const globalThis = undefined
eval(untrustedCode)

to avoid untrustedCode to access globalThis?

you could get to the global object on its original realm - which would be a huge security violation.

So could we use Realm.global instead of Object.global?

Yes.
Virtualization is required per compartment, not just per realm, so attaching it to (the as yet nonexistent) Realm won’t work either.
Please see https://github.com/tc39/proposal-global/blob/master/NAMING.md for the list of constraints.

@ljharb Thank you for your patience. I will read NAMING.md and try to understand the all constraints.


feat: add --dry-run flag to update-latest-releases refactor: put commit-latest-releases inline

:tada: This PR is included in version 1.2.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


qpwgraph: UI missing top toolbar

Describe the bug
The UI doesn't properly appear when running the package. UI is missing the main toolbars at the top.
Steps To Reproduce
Steps to reproduce the behavior:

Run the package

Screenshots

Additional context
Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
Notify maintainers
@kanashimia @exi

Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 6.5.5, NixOS, 23.05 (Stoat), 23.05.4065.3b79cc4bcd9c`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.13.5`
 - channels(root): `"nixos-23.05"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

Have the same problem on Arch Linux. running on xorg
qpwgraph 0.5.3
Qt: 6.5.3
libpipewire: 0.3.80 (headers: 0.3.79)

Ctrl-m toggles the menu. I had the same problem :).

I actually stopped using qpwgraph because of this 😅
I think it should be somewhat notified the first time that shortcut is pressed, accidentally or not.. Found out totally randomly a month ago.. but forgot there was this issue opened.. Thanks @dsheeler for the ping!
Yes, it was the shortcut also for me : )

Ctrl-m toggles the menu. I had the same problem :).

This solution works! Thank you!


avoid allocating strings for sorting package module children

We can go faster if we just sort the shortNames of the NameRefs that we're dealing with here.  In the rare case that they compare equal, we can stabilize the sort by using their full name.
Motivation

++speed;  This speeds up the workers part of the package pass on Stripe's codebase by about 20%.
Test plan

See included automated tests.

We have a policy of testing changes to Sorbet against Stripe's codebase before
merging them. I've kicked off a test run for the current PR.  When the build
finishes, I'll share with you whether or how it failed. Thanks!
Stripe employees can see the build results here:
→ https://go/builds/bui_L9VX2i1UchGRuP
→ https://go/builds/bui_L9VXac3WvKjCHC

Seems reasonable to me, but I'd be curious to see what fails if we instead only compare the shortName.

This seems to work just fine on Stripe's codebase!


Outdated linmath.h

Seems like the deps/linmath.h library is quite outdated and contains bugs, at least at quat_mul_vec3 function. This bug was fixed in the original repository back in 2015 https://github.com/datenwolf/linmath.h/commit/de72a69abaffbf4a0861018727e10befb6cec7ff

Just noting that linmath.h is only used in the glfw examples and tests not the core library, so this isn't a show-stopper. Should still be updated imo.

Updated, with slight modifications, with 350ba73267271d71984ad69af1e006f35ded1078. Thanks!


Pasting large images

I have problem where an application freezes or ignores pasting when pasting big enough picture from clipboard. It happens with pictures of size >2.8MB but not with size <280KB. This only happens when clipmenud is running and even the large pictures work fine without it. This seems to be related to #167, but is not limited to taking screenshots.
I think that the reason reproduction didn't work in #167 was the file size. In that issue it was suggested that the problem lies with xsel. That is likely the case but this issue (if it's the same issue) seems to be affecting several users, so I think it is appropriate to raise another issue here.
How should we go about investigating this?
I'm using arch with clipmenu version  6.2.0-2, xsel version <IP_ADDRESS>00527-1 and clipnotify version 1.0.2-2.  I use xclip to copy pictures to the clipboard.

I tried different stuff around and it would seem that using CM_OWN_CLIPBOARD=1 environment variable enables the pasting of large pictures. However I'm not sure why it works.

I did a little digging in the clipmenud code and found out the offending command. xsel -o --clipboard seems to hang when there is a too large picture in the clipboard. I filed a bug report to xsel, but at the same time I was wondering if there is an elegant solution to avoid this problem in clipmenu.

Hi! Thanks for digging, sorry for the late reply.
I think it might be time to move to xclip, which has -t UTF8_STRING to make it clear which types of content we want to look for.
Does dbb5ce9017cfce08384bbfcd18e715f28dcfde44 make things better for you?

dbb5ce9017cfce08384bbfcd18e715f28dcfde44 seems to work nicely with large pictures. However, there seems to be a little side effect. Previously when running clipmenu the list didn't include any previously copied images. After dbb5ce9017cfce08384bbfcd18e715f28dcfde44 on the other hand clipmenu seems to list the images in  as a multiline binary mess.
Is it preferable to leave this behaviour as is or should clipmenu ignore pictures entirely?

Thanks for getting back! Well that's... weird, I don't expect UTF8_STRING to get populated when there's an image. I'll investigate more, thanks.

The issue only comes up for me when I use xclip to copy pictures (not for example when copying pictures with an internet browser) by using the command xclip -selection clipboard -t image/png -i  image.png. I'm not super familiar with `xclip´ so it could be that I'm just misusing it.
Happy to help and thanks for continuing to maintain this very useful program!

That's particularly weird because UTF8_STRING isn't even listed in TARGETS. With -verbose, one sees that it's being converted, I guess?
% xclip -verbose -debug -selection clipboard -t UTF8_STRING -o  >/dev/null
Connected to X server.
Using selection: XA_CLIPBOARD
Using UTF8_STRING.
Type is image/png.

One option is to look at TARGETS to see if UTF8_STRING is advertised, but this is racy.

Ah, so it's just freely interpreting:
% xclip -verbose -debug -selection clipboard -t DOESNOTEXIST -o >/dev/null
Connected to X server.
Using selection: XA_CLIPBOARD
Using DOESNOTEXIST.
Type is image/png.

xclip HEAD errors out on this, albeit not very gracefully:
xclip: Error: window id 0x1e00001 cannot convert CLIPBOARD selection to target 'DOESNOTEXIST'

I have the same problem. It especially bothers me with fullscreen shots on a 2k monitor

This should be fixed with the new C rewrite of clipmenu{,d} -- it ignores things which cannot become UTF8_STRING. Please feel free to try out 70cc5d2b6a2027ba186f1555c0e114c53dc7c578 and let me know how it goes.

Closing without prejudice, any problems let me know and I'll reopen :-)


Add matlab refernce sheet

What does this PR do?
Add resource and improve repo
For resources
Description

Added a MATLAB basic functions reference sheet provided by MathWorks

Why is this valuable (or not)?

Valuable for beginners getting started in MATLAB

How do we know it's really free?

It's a free reference sheet & available for download

For book lists, is it a book? For course lists, is it a course? etc.

Cheatsheet

Checklist:

[X] Read our contributing guidelines
[X] Search for duplicates.
[X] Include author(s) and platform where appropriate.
[X] Put lists in alphabetical order, correct spacing.
[X] Add needed indications (PDF, access notes, under construction)

Followup

Check the output of Travis-CI for linter errors!

Thanks, and welcome to free-programming-books!


MaxValueVisible/MinValueVisible methods have no effect

    public void init() {
        stockTile = TileBuilder.create()
                .skinType(SkinType.STOCK)
                .prefSize(TILE_WIDTH, TILE_HEIGHT)
                .title("SOME STOCK")
                .minValue(0)
                .maxValueVisible(false)
                .averagingPeriod(10)
                .build();

In the above code when maxValueVisible or minValueVisible is set to false, it has  no effect on the UI. It continues to show the values. Is this the correct way to turn off the visibility of the fields?

Well the TileBuilder sets the parameters in the Tile class but the usage of the parameters depends on the implementation of the used Skin. One Skin makes use of the maxValueVisible parameter, another doesn't. The Tile class contains all kinds of properties but not all of them are used everywhere. The Skin defines what is visible in the UI and in the StockTileSkin this parameter is not used which means you cannot switch it off. This is the drawback of having one model with lots of different visualizations.


Invalid Docs Received counter in MapReduce jobs using EsInputFormat

What kind an issue is this?
Bug
Issue description
In MapReduce job using EsinputFormat, the Docs received counter value does not match Map input records.
Steps to reproduce
Initial request done here:

https://github.com/elastic/elasticsearch-hadoop/blob/master/mr/src/main/java/org/elasticsearch/hadoop/rest/ScrollQuery.java#L93

Do not set read property nor increment stats.docsReceived like requests in while loop does:

https://github.com/elastic/elasticsearch-hadoop/blob/master/mr/src/main/java/org/elasticsearch/hadoop/rest/ScrollQuery.java#L122

Version Info
JVM         :  openjdk version "1.8.0_242"
Hadoop/Spark:  2.9.3
ES-Hadoop   :  6.8.7 (exists on master)
ES          :  5.6

Hi @panthony -- I would like to work on this one but am not sure how to reproduce it. Do you have steps to reproduce it?

@masseyke Hi, I simply had:

An ElasticSearch with few documents inserted (enough for the scroll query to paginate)
A MapReduce job reading from this index using EsInputFormat (do not care about the output)

At the end of the job, when you compare the counters for stats.docsReceived and Map input record, you have different values whereas they should match since all docs received by EsInputFormat are fed to the mapper.

It looks like this was introduced by this commit in #738 -- https://github.com/elastic/elasticsearch-hadoop/commit/dd1d6036fa9ee21d9a3082226a152d40cce9ede7#diff-5fdedebe55454f3ee66be59277cca29f728d005b0ef2bf96f6c613eb49a088a1. If I'm not mistaken, the first pass through the scroll doesn't update the counter. I haven't tried reproducing it yet, but does that line up with what you're seeing @panthony? The value of stats.docsReceived is always less than Map input records?

Oh and I see now that that's what your original description was saying -- sorry I missed that!


2023 Hyundai Sonata Hybrid Fingerprint

Limited trim.

What is your dongle ID?

dongle id: 608d4270264eb0d8

can I just double check which harness did you buy?

using harness Hyundai A

thanks!


Unmodified files are marked as changed

VSCode Version: Code 1.8.1 (ee428b0eead68bf0fb99ab5fdc4439be227b6281, 2016-12-19T14:49:23.350Z)
OS Version: Windows_NT ia32 10.0.14393
Extensions:

Extension
Author
Version

EditorConfig
EditorConfig
0.3.4

tslint
eg2
0.7.1

debugger-for-chrome
msjsdiag
2.4.1

Steps to Reproduce:

Open any file
Result: it is marked as changed
Expected result: Unmodified file should not be marked as changed

@ostap1010 I'm unable to reproduce this behaviour.
Can you reproduce this behaviour when you have all extensions disabled? You can disable the extensions in the Extensions viewlet.

Yes, sorry, works ok without extensions. The problem was in editorconfig extension.

@ostap1010 thanks for verifying. I assume you have reported an issue against the editorconfig extension. I'm closing this one.


Create symbol for headers

Is it possible to create symbol for headers so that I can use Ctrl+R (with goto) to jump to headers?

That would be something for the goto package to implement. It maintains an internal list of selectors to detect and index symbols. There is an old issue over there that discusses this, but it appears to have become stale. I would suggest that you submit a new issue on the goto repository to get the ball rolling again.

Thanks for the pointer.


Scrobbles not recognized from Vanilla Music when file is not in MediaStore.

I'm using Vanilla Music with stock broadcasts (I couldn't get it to work with the Scrobble Droid API, but that's probably an unrelated issue). When I play a file that's in MediaStore, SLS recognizes it correctly, but when I play any other file, nothing happens in SLS. I'm not sure if this is a bug in Vanilla or in SLS, or intended behavior, but it confused me for a long time until I figured out how to add files to MediaStore.

I will try to fix as soon as I can. Thank you!

The most recent version #479 pre-release should work.
Download the apk in the link.


Allow to turn on header-only mode without foreign code intervention

pugiconfig.hpp:

// Uncomment this to switch to header-only version

I suppose it's not always convenient to edit foreign source code. This change allows to turn on header-only mode simply by defining PUGIXML_HEADER_ONLY

I tried this before; however I had to revert the change: https://github.com/zeux/pugixml/commit/cfd30d903dd77c6c46ffa2aa736968040b0eb558
The issue can likely be fixed by moving the source to pugixml.inl and including that from pugixml.cpp but I don't want to do it yet; if there are any other options I'm eager to hear them.
Note that pugiconfig.hpp is designed to accommodate user settings - it does not have any content so it does not need to be updated when upgrading pugixml. So defining header mode in pugiconfig is not as convenient but still viable.

I tried this before; however I had to revert the change: https://github.com/zeux/pugixml/commit/cfd30d903dd77c6c46ffa2aa736968040b0eb558
The issue can likely be fixed by moving the source to pugixml.inl and including that from pugixml.cpp but I don't want to do it yet; if there are any other options I'm eager to hear them.
Note that pugiconfig.hpp is designed to accommodate user settings - it does not have any content so it does not need to be updated when upgrading pugixml. So defining header mode in pugiconfig is not as convenient but still viable.

This is the qmake bug report: https://bugreports.qt-project.org/browse/QTBUG-11923

This is the qmake bug report: https://bugreports.qt-project.org/browse/QTBUG-11923

I thought of a workaround that seems to work - since qmake is not a preprocessor it can't handle macro expansion in #include directives. The change https://github.com/zeux/pugixml/commit/f3e42969a5118247de548c059e9bed69cdf208bb has new implementation of transparent header-only mode (-DPUGIXML_HEADER_ONLY is sufficient).

Thank you for this change. Now I use it in my project (MSVC 2013).


NuGet license link not working

The License link from nuget points to https://github.com/kmcginnes/SpicyTaco.AutoGrid/blob/master/License.md which gives a 404.

Thanks! This is fixed in the latest release.


Changing volume mute it

Due to a conflict with onClick, new since we moved to a range-slider.

Fixed in 75bd1eba3c14c12ad9d1c10476e505d223f0326a


cmd/link: -X on a constant, type, or func doesn't report an error

What version of Go are you using (go version)?

$ go version
go version go1.16.5 linux/amd64

Does this issue reproduce with the latest release?
yes
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/user/.cache/go-build"
GOENV="/home/user/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GOMODCACHE="/home/user/go/pkg/mod"
GOOS="linux"
GOPATH="/home/user/go"
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/lib/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/lib/go/pkg/tool/linux_amd64"
GOVCS=""
GOVERSION="go1.16.5"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/path/to/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build1151947343=/tmp/go-build -gno-record-gcc-switches"

What did you do?
package main

import "fmt"

const Const = "one"

func Func() string { return "two" }

type Type struct{}

func main() {
	fmt.Println(Const, Func(), Type{})
}

go run -ldflags "-X=main.Const=three -X=main.Func=four -X=main.Type=five" .

What did you expect to see?
main.Const: cannot set with -X: const not supported
main.Func: cannot set with -X: func not supported
main.Type: cannot set with -X: type not supported

(though I think an argument could be made that overriding consts is fine?)
What did you see instead?
one two {}

I don't think it's possible to override a constant at link time (ldflags is passing additional flags to the linker), because by that point the compiler has already propagated the constant. It doesn't exist anymore at that point. This is not only a technical limitation, but a language limitation, too. Note that constants are only compile-time, not link-time.
Variables on the other hand, do have a specific location that the linker can populate, hence how -X works.

Oh, and I should also mention that types are also only compile-time, hence that restriction. And finally, top-level functions are immutable.

Unless I'm mistaken, the original issue was saying that these cases silently failed, not that they should work, hence the expected behavior being error messages, but the actual behavior being a runnable binary.

And indeed:
$ cat main.go
package main

import "fmt"

const Const = "one"

func Func() string { return "two" }

type Type struct{}

func main() {
	fmt.Println(Const, Func(), Type{})
}
$ go run -ldflags "-X=main.Const=three -X=main.Func=four -X=main.Type=five" .
one two {}

@zikaeroh Got it. Thanks.
I'm not sure it's actually possible for the linker to know what Const, Func, or Type are, but it could at least say something like that relocation doesn't exist.
CC @cherrymui @thanm

This would be a relatively straightforward change to make, but I would be a little concerned that there is a lot of code that already relies on the current behavior (which is to say, if the "-X" symbol is not present or not a variable, the option is silently ignored).
In the current implementation, -X is silently ignored if:

the named symbol is not found
the symbol is not a variable
the symbol is dead

It would seem weird to add a new error for "symbol not a variable"  and not have errors for the other cases.

if we are concerned with compatibility, just pix the fix to a version in go.mod; but it reads as undefined behaviour today, so I think we could convince ourselves that this is fine?
I support returning errors for "not found" and "not a var", not sure what "dead" means in this context?

I support returning errors for "not found" and "not var", not sure what "dead" means in this context?

By "dead" I mean unreachable/unreferenced (transitively) from main.main. The linker's "dead code" pass will remove such variables.

ok, so "dead" and "not found" are indistinguishable to this component of the linker?
if so, I am comfortable erroring on both, since saying I want to set the value of an unused thing feels orthogonal to the compiler erroring on s := "" and then never using s. (this may be doubly important to pin to a given go version.)
if not, I think there is still an argument to error on "dead" symbols, but if we can type check and it is a var _ string, I am comfortable "ignoring" that case. (dead funcs, non string vars, etc. should all error.)

We have explicitly decided to not give an error when using -X with a variable that does not exist, because that breaks people who use -X in scripts (or go env -w) to build many programs, some having the variable and some not.  See also #20649 and #30782.

I can respect that decision[0], but there is a little uncertainty I want to clear up; you mention the following across the two issues:

The -X option intentionally sets the variable if present and does nothing if absent.
We decided a long time ago that the linker should accept a -X option for an unknown symbol[.]

and based on @rsc's comment, it seems like you would be happy to error on type conflicts, but it was impossible/infeasible?
it seems like the issue was closed because there was no migration path. however, now that a path exists with the go version directive in modules, could we reopen #20649 to track "the symbol is not a variable" case?
that being said, I may be reading too much into #20649, since your comments seem to suggest that -X is merely best effort. would it would be more consistent to silently fail always, including for wrong var type:
main.foo: cannot set with -X: not a var of type string (type.[]uint8)
main.bar: cannot set with -X: not a var of type string (type.struct {})

0] I would also be remiss if I did not call out that while some people may find the feature helpful, this is a footgun. it does not appear to be well documented, and I had to go out of your way to notice that const foo = "changeme" is not being set correctly.

I think it would be good if -X would fail if it is used to change a constant, type, or function.  However, I don't see a way to implement that.  I think we could make that change today if we could figure out how to do it.
I do not think that -X should give an error if it is used to change a variable that is not defined in a program.  This doesn't have anything to do with a lack of a migration path.


Footer section is not responsive

Overview
The footer section is not responsive in the medium breakpoint range.
Action Items

[ ] Modify current code and make it responsive.

Resources

@Bruce , footer looks broken. Can you please check tablet and mobile screens.
we have updated the site map - for the current taxonomy. Please refer #600

Progress: How much progress have you made on the issue?
•	Blocks: Are you facing any blockers?
•	Availability: How much time do you have to work on it this week?
•	ETA: When do you think it will be completed?

@BoyanLiuu This issue was opened because there were some inconsistencies across medium and small screens and we have made some sitemap changes recently.
Thanks for reaching out and as per your request I will reassign this issue.

@DrIffathsultana I think you tagged me by accident.
cc @bruceplai

I have resolved this issue though I was unable to run Prettier in VSC before pushing the request. I have created a PR.


improve 112. What's the output? by adding links

This change just adds some links to  the answer for https://github.com/lydiahallie/javascript-questions#112-whats-the-output to make it easier for people to reference documentation.

Closing due to inactivity


Question: integrating external libraries

In my Eve application I need to use some widgets that are already built using other libs and frameworks (think about projects like material design, a set of ready-to-use HTML components/widgets).
How can I import Javascript libs (for HTML custom components) in an Eve application?
Do they work just by adding records like [#my-custom-component attr: "value"] or Eve needs to know how to interpret that particular record?
And what about CSS libs?
I tried to include a whole library like bulma but it changed the entire IDE layout and style: https://gist.github.com/anonymous/421dd499f02a4b3d2d35e0589f4ec06c
Is there a way to add a CSS libs without breaking the IDE?
Thanks a lot.
Wilk

In terms of CSS libs, the reason it's causing the editor to break is that it defines a lot of classes that the editor already has defined, so it's overwriting them. To not break the IDE, you'd have to make sure these collisions don't happen. Prefixing all of the Eve CSS with .eve-editor or something would do the trick, and would be a short-term solution at least.

@cmontella
Talking about CSS: yes, I saw that there's no such of an iframe that wraps the preview application so currently it's really not possible to include global css rules.
This is a huge restriction in terms of integration: it would be awkward being forced to exclude generic CSS frameworks like bulma or making some temporary workaround to make them working with Eve.
What about isolating the preview section with it's "Eve VM" (Eve is not compiled but interpreted, am I right?) in an iframe and passing source changes from the ide?
I know that working with iframes it's painful but it guarantees you to put in your application everything you want with no worries.

@joshuafcole wrapping the app in an iframe does seem like a good idea that probably isn't a crazy amount of effort. It would fix one of my issues with CSS blocks too (they're scoped funny so I can't set body styles and such)

That seems like a good direction to move in.
For pulling in CSS libraries, as a short term hack you can drop the content of the library into a document CSS block, which will automatically namespace the selectors for correctness.
For JS libraries, there's no way to do so yet without getting your hands dirty. It's currently item #3 on my todo list, but I expect it won't be a short project, since I'd like not to change the API out from under people once they start using it.
For building custom components as part of your app, see William's recent post on the mailing list:
https://groups.google.com/d/msg/eve-talk/vR-4y2kJv4Q/TaJXgsaSFAAJ
and if you have any other questions, please don't hesitate to bring them up in the mailing list.
https://groups.google.com/forum/#!forum/eve-talk
I recommend we close this issue and split it up into a few issues that track the completeness of our various extensibility problems.
Does that sound good?

@joshuafcole

For pulling in CSS libraries, as a short term hack you can drop the content of the library into a document CSS block, which will automatically namespace the selectors for correctness.

I wouldn't do that for CSS frameworks because even the minified version it's too big to put into a single block: in this way we're breaking the rule "Eve programs tend to be very small, but even more importantly, individual blocks remain short and single purpose."

For building custom components as part of your app, see William's recent post on the mailing list:
https://groups.google.com/d/msg/eve-talk/vR-4y2kJv4Q/TaJXgsaSFAAJ

I'm joining the discussion ;)

I recommend we close this issue and split it up into a few issues that track the completeness of our various extensibility problems.

Yeah, it's fine for me: let's split it up ;)
Wilk


view config not found for name input,make sure to start component names with a capital letter.

is it related to react version or the warning while installing?
/**

Sample React Native App
https://github.com/facebook/react-native

@format
@flow
@lint-ignore-every XPLATJSCOPYRIGHT1
*/

import React, {Component} from 'react';
import {Platform, StyleSheet, Text, View} from 'react-native';
// import React from "react";
import DatePicker from "react-datepicker";
// import "~react-datepicker/dist/react-datepicker.css";
// require("react-datepicker.css");
// CSS Modules, react-datepicker-cssmodules.css
// import 'react-datepicker/dist/react-datepicker-cssmodules.css';
export default class App extends React.Component {
constructor(props) {
super(props);
this.state = {
startDate: new Date()
};
this.handleChange = this.handleChange.bind(this);
}
handleChange(date) {
this.setState({
startDate: date
});
}
render() {
return (

);
}
}
below is info about my fresh project , any advise would be Appreciate!
{
"name": "DatePick",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "node node_modules/react-native/local-cli/cli.js start",
"test": "jest"
},
"dependencies": {
"react": "16.6.3",
"react-datepicker": "^2.1.0",
"react-dom": "^16.8.3",
"react-native": "0.58.5"
},
"devDependencies": {
"babel-core": "7.0.0-bridge.0",
"babel-jest": "24.1.0",
"jest": "24.1.0",
"metro-react-native-babel-preset": "0.52.0",
"react-test-renderer": "16.6.3"
},
"jest": {
"preset": "react-native"
}
}
Originally posted by @jiangli1984 in https://github.com/Hacker0x01/react-datepicker/issues/1604#issuecomment-467353307

sorry, I got the wrong place. it does not support on RN...right? little frustrate...
but this is wonderful component. how can I run it on RN...


[Feature] Add Inhuman Stats to the roll

I had support to the inhuman stat test [pag 188 of the Handler guide], now if a stat is 20+, you will roll against the value instead of the x5.
Every results besides 100 is a success, on top of matching dice, every result below the stat value is a critical.
Works also with modifiers (note however that the modifiers applies  to the stat value and not to the x5 value).
Note: I assumed that if you modify a stat that is at 20, by reducing it, the stat it still inhuman.
Good job with the module, let me know if I can help with other functions
Marco

Thanks, might need a little time to review but this is interesting.  Never thought to try to add any mechanics from the handler's guide.

That and the ritual skill (99-current SAN) are the only rules in the Handler guide to be honest. But usually inhuman stats comes up more often :)


Prepare for alpha release following hyper

Now that the hyper 0.13 alpha is out, it seems only right for hyper-tls to follow along. The change was pretty straightforward since hyper-tls has already been tracking master.

Thanks, though I just finished publishing v0.4.0-alpha.1 a couple minutes ago :D


Connection established but no error nor success when using pushNotification()

I am seeing a successful connection in the connected event handler, but when I use pushNotification() I only see a debug message apn x left to send, where x is the number of times I have called pushNotification().  I have handled every event defined in the docs but I never receive a success nor error.
APN connected: 1
Wed, 04 Mar 2015 05:07:02 GMT apn Connection established
Wed, 04 Mar 2015 05:07:16 GMT apn 1 left to send
Wed, 04 Mar 2015 05:12:25 GMT apn 2 left to send
Wed, 04 Mar 2015 05:15:57 GMT apn 3 left to send

Has this ever worked for you or has it started with a new version?
Could you try enabling DEBUG=apn:trace as it may have the extra messages necessary, if not then I'll add some more logging which you could try.
\A

On 4 Mar 2015, at 05:26, Matt Langston<EMAIL_ADDRESS>wrote:
I am seeing a successful connection in the connected event handler, but when I use pushNotification() I only see a debug message apn x left to send, where x is the number of times I have called pushNotification(). I have handled every event defined in the docs but I never receive a success nor error.
APN connected: 1
Wed, 04 Mar 2015 05:07:02 GMT apn Connection established
Wed, 04 Mar 2015 05:07:16 GMT apn 1 left to send
Wed, 04 Mar 2015 05:12:25 GMT apn 2 left to send
Wed, 04 Mar 2015 05:15:57 GMT apn 3 left to send

Reply to this email directly or view it on GitHub.

I just started using node-apn, version 1.7.3.  I tried changing the DEBUG environment variable to apn:trace, but I see no log messages now.

Hmm, it looks as though I haven’t put as much trace logging in as I thought. However you should still see something. Either “connection established” or “connection failed” and “connection completed” so without any further information it seems as though it could be an underlying problem.
Could you please provide more information about your environment?

Node version
OS
Behind a proxy / firewall?
Local machine or hosted with AWS etc?

Could you try connecting from the command line:
openssl s_client -connect gateway.sandbox.push.apple.com:2195 -key <key-path> -cert <certificate-path> and include all output in your reply.

With apn:trace set as the DEBUG environment variable I see no log messages, only the console output from the connected event handler.  Note that I did see the connection established message in the logs contained in my initial post where simply apn was set in the DEBUG environment variable.

Node version: 0.10.35

I will try updating to 0.10.36 for sure.  I need to check if I all my libraries will support 0.12 first, but may try it as well.

OS: OSX Yosemite 10.10.2
No proxy.  I am on a home network so perhaps a router firewall.  I just saw that APNS uses port 2195.  I was able to successfully connect though.
I am running the Node server locally on the OSX Yosemite machine.  I am using Sails which defaults to port 1337 on local.

Here is a log from running the openssl command:
mattblangs-Mac-mini:medicine-web mattblang$ openssl s_client -connect gateway.sandbox.push.apple.com:2195 -key key.pem -cert cert.pem
CONNECTED(00000003)
depth=1 /C=US/O=Entrust, Inc./OU=www.entrust.net/rpa is incorporated by reference/OU=(c) 2009 Entrust, Inc./CN=Entrust Certification Authority - L1C
verify error:num=20:unable to get local issuer certificate
verify return:0
---
Certificate chain
 0 s:/C=US/ST=California/L=Cupertino/O=Apple Inc./CN=gateway.sandbox.push.apple.com
   i:/C=US/O=Entrust, Inc./OU=www.entrust.net/rpa is incorporated by reference/OU=(c) 2009 Entrust, Inc./CN=Entrust Certification Authority - L1C
 1 s:/C=US/O=Entrust, Inc./OU=www.entrust.net/rpa is incorporated by reference/OU=(c) 2009 Entrust, Inc./CN=Entrust Certification Authority - L1C
   i:/O=Entrust.net/OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.)/OU=(c) 1999 Entrust.net Limited/CN=Entrust.net Certification Authority (2048)
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIFMzCCBBugAwIBAgIETCMmsDANBgkqhkiG9w0BAQUFADCBsTELMAkGA1UEBhMC
VVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0
Lm5ldC9ycGEgaXMgaW5jb3Jwb3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMW
KGMpIDIwMDkgRW50cnVzdCwgSW5jLjEuMCwGA1UEAxMlRW50cnVzdCBDZXJ0aWZp
Y2F0aW9uIEF1dGhvcml0eSAtIEwxQzAeFw0xNDA1MjMxNzQyNDJaFw0xNjA1MjQw
NzA1MTNaMHQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRIwEAYD
VQQHEwlDdXBlcnRpbm8xEzARBgNVBAoTCkFwcGxlIEluYy4xJzAlBgNVBAMTHmdh
dGV3YXkuc2FuZGJveC5wdXNoLmFwcGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQAD
ggEPADCCAQoCggEBAOQpUlXpU3+LJ2XR01QdVooN7S9OFOINp3/tomPaenQAwFGo
qIakKFcN7AotWLFXFcR0QXKJkn4PL/zPKDBucyRFkc79S5+ZraGRISWfi7G8XeaG
G3GzgeVQ977Qrn0IdCswnbwLsJoErnmq4AveQajUbYueR9SxhkWBwMimSxXzXoOS
XUOPzRvzObCxVZrvBBDSRJCeNVnVxtCmb17DM3+z5GZatBwWnvw0jgvSQsgof+uC
idXgqcN4msv3tVH54ipmuD9kbbwvtnDCHBZRXMMmhUfFXZRuE8GBEbPfVkqB16ad
JV4TVrVxwFENwdnsX9CXavHCgFJhtHRWKOoCH48CAwEAAaOCAY0wggGJMAsGA1Ud
DwQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwMwYDVR0fBCww
KjAooCagJIYiaHR0cDovL2NybC5lbnRydXN0Lm5ldC9sZXZlbDFjLmNybDBkBggr
BgEFBQcBAQRYMFYwIwYIKwYBBQUHMAGGF2h0dHA6Ly9vY3NwLmVudHJ1c3QubmV0
MC8GCCsGAQUFBzAChiNodHRwOi8vYWlhLmVudHJ1c3QubmV0LzIwNDgtbDFjLmNl
cjBKBgNVHSAEQzBBMDUGCSqGSIb2fQdLAjAoMCYGCCsGAQUFBwIBFhpodHRwOi8v
d3d3LmVudHJ1c3QubmV0L3JwYTAIBgZngQwBAgIwKQYDVR0RBCIwIIIeZ2F0ZXdh
eS5zYW5kYm94LnB1c2guYXBwbGUuY29tMB8GA1UdIwQYMBaAFB7xq4kG+EkPATN3
7hR67hl8kyhNMB0GA1UdDgQWBBSSGfpGPmr9+FPcqRiStH0iKRBL7DAJBgNVHRME
AjAAMA0GCSqGSIb3DQEBBQUAA4IBAQAkj6+okMFVl7NHqQoii4e4iPDFiia+LmHX
BCc+2UEOOjilYWYoZ61oeqRXQ2b4Um3dT/LPmzMkKmgEt9epKNBLA6lSkL+IzEnF
wLQCHkL3BgvV20n5D8syzREV+8RKmSqiYmrF8dFq8cDcstu2joEKd173EfrymWW1
fMeaYTbjrn+vNkgM94+M4c/JnIDOhiPPbeAx9TESQZH+/6S98hrbuPIIlmaOJsOT
GMOUWeOTHXTCfGb1EM4SPVcyCW28TlWUBl8miqnsEO8g95jZZ25wFANlVxhfxBnP
fwUYU5NTM3h0xi3rIlXwAKD6zLKipcQ/YXRx7oMYnAm53tfU2MxV
-----END CERTIFICATE-----
subject=/C=US/ST=California/L=Cupertino/O=Apple Inc./CN=gateway.sandbox.push.apple.com
issuer=/C=US/O=Entrust, Inc./OU=www.entrust.net/rpa is incorporated by reference/OU=(c) 2009 Entrust, Inc./CN=Entrust Certification Authority - L1C
---
Acceptable client certificate CA names
/C=US/O=Apple Inc./OU=Apple Certification Authority/CN=Apple Root CA
/C=US/O=Apple Inc./OU=Apple Worldwide Developer Relations/CN=Apple Worldwide Developer Relations Certification Authority
/C=US/O=Apple Inc./OU=Apple Certification Authority/CN=Apple Application Integration Certification Authority
---
SSL handshake has read 3687 bytes and written 2037 bytes
---
New, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-SHA
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
    Protocol  : TLSv1
    Cipher    : DHE-RSA-AES256-SHA
    Session-ID:
    Session-ID-ctx:
    Master-Key: 4BD5F750EF817EB7200FE85F8E9BACB35B90F18E4E36B90D74EFF583F674A0D5CD883737BA7E80C7CD8A652CF682912E
    Key-Arg   : None
    Start Time:<PHONE_NUMBER>
    Timeout   : 300 (sec)
    Verify return code: 0 (ok)
---

Just to confirm, I tried everything on a Windows 7 machine running Node 0.10.36 and received the same results.

Also, I fired up Wireshark and filtered by port 2195 since that is "used to send notifications to the APNs". I see packet activity when node-apn connects to Apple's servers, but no activity when I trigger pushNotification.

Could you show me an example of how you’re invoking pushNotification please?
—A

On 5 Mar 2015, at 20:02, Matt Langston<EMAIL_ADDRESS>wrote:
Also, I fired up Wireshark and filtered by port 2195 since that is "used to send notifications to the APNs". I see packet activity when node-apn connects to Apple's servers, but no activity when I trigger pushNotification.
—
Reply to this email directly or view it on GitHub https://github.com/argon/node-apn/issues/248#issuecomment-77440237.

@argon
        var ipadToken = "3fdc636e80764b1a28efa657fba7f6b8ef57e8d6a12e2584825b5724cb256638";
        var ipad = new apn.Device(ipadToken);

        var note = new apn.Notification();

        note.expiry = Math.floor(Date.now() / 1000) + 3600; // Expires 1 hour from now.
        note.badge = 3;
        note.sound = "ping.aiff";
        note.alert = "\uD83D\uDCE7 \u2709 You have a new message";
        note.payload = {'messageFrom': 'Caroline'};

        sails.apnConnection.pushNotification(note, ipad);

It seems like it's getting stuck on a setTimeout. Are you aware of anything that might be affecting the behaviour of timers within your application? If you're able to share a minimal example project with me via email I'd love to take a proper look at this.
One quick way you could test my theory is if you could temporarily modify apn/lib/connection.js and change line 246 from
this.connect().delay(100).then(function () {

to
this.connect().then(function () {

@argon
Sure, I can definitely get you a sample project later today!
I removed the delay on line 246 but still get the same behavior.  I edited the module directly in node_modules.  Would this cause a change or would the original package be cached somewhere?

That will make the change. It must be something else. If you can get me the sample project I'll investigate. Sorry I can't be more help at the moment.

@argon Here it is.  Please let me know if you have any trouble running it.  Thanks so much for your help!

Thanks! I can reproduce the problem. I’ll take a look at it this weekend and get back to you ASAP

On 5 Mar 2015, at 23:41, Matt Langston<EMAIL_ADDRESS>wrote:
@argon https://github.com/argon Here it is https://github.com/mattblang/sails-apn-sample. Please let me know if you have any trouble running it. Thanks so much for your help!
—
Reply to this email directly or view it on GitHub https://github.com/argon/node-apn/issues/248#issuecomment-77477148.

Oh. That was easier than expected. You shouldn't call Connection.connect in bootstrap.js. All connection management is handled internally.
That is a really bad failure mode though. I will try to come up with a solution to make sure it doesn't happen in future.

Thanks so much!  That fixed the issue.
APN connected: 1
Fri, 06 Mar 2015 00:25:47 GMT apn:trace connection established 1
Fri, 06 Mar 2015 00:25:47 GMT apn:trace create completed 1
APN transmitted
APN completed


Freezing on GLES2

**Godot version: 3.1 Alpha 3
**OS/device including version: Win64 - Intel HD Graphics
description: Freezing on change to GLES2
Steps to reproduce: Start new project and reopen in Gles2
on restart image loader godot freeze

2D or 3D project? Try deleting ProceduralSky from the default_env.tres in your project.

2D or 3D project? Try deleting ProceduralSky from the default_env.tres in your project.

YEEEEEESSSSSSSSSSSSSSSSSSSS
Only open the file default_env.tres in notepad
[gd_resource type="Environment" load_steps=2 format=2]
[sub_resource type="ProceduralSky" id=1]
[sub_resource type="" id=1] <==============
[resource]
background_mode = 2
background_sky = SubResource( 1 )

Duplicate of #21551.


[Autocomplete] Add support for "{label: string}" data type as a default for "options"

This PR aims to add support for {label: string} data type for options in the Autocomplete UI component, as it was discussed in #21693
I've also updated one of the examples (the ComboBox one to have the new options type). I can revert that if it is not needed.
Fixes #21693

[x] I have followed (at least) the PR section of the contributing guide.

Since this got quite messy I've cleaned up the commits to have only one containing all the changes plus everyone's feedback

Since this got quite messy I've cleaned up the commits to have only one containing all the changes plus everyone's feedback

@DanailH It depends, on what you want to optimize for. If you need to rebase, definitely help. Otherwise, I think that keeping the commit history is better, they get squashed anyway once merged.

One question though: It seems like this doesn't add a default options type but changes it from string to { label: string }, no? This should be reflected in the PR title, description and label to create a proper changelog.

I've updated the title and the description. Just to be clear, the default options type doesn't change from string to { label: string } but rather the component now supports { label: string } OOTB. Basically, if you pass string[] it will work and it will also work with { label: string }[] without the need of using the getOptionLabel. As far as I understood that was the outcome of the corresponding ticket.

Just to be clear, the default options type doesn't change from string to { label: string } but rather the component now supports { label: string } OOTB

The previous label getters were option => option indicating that they did support string by default. Every pre-existing test was using string options. I don't understand what you mean by implying that we didn't support a default data type.

@DanailH Well done :)


can't get current value on clear

On clearing the select2 (when allowClear is enabled) it is not possible to get the current selected value using select2:clearing or select2:unselecting. I would expect this to be the way it behaves given it is how it behaves for select2:selecting,

We pass in the previously deleted data as parameters to the select2:clear event. You should be able to access it within your event handler.
I honestly can't remember why we don't do those consistently, but looking around at other tickets leans towards select2:select being the odd one out that isn't consistent.


[Bug]: Deployment crashes when using static folder and the project awakes

What happened?
This has been already reported in Discord over here and here.
After the introduction of cargo-shuttle 0.11.2, with the idle-to-sleep changes, I've seen that all my projects that have a dependency of shuttle-static-folder will crash when they try to recover from sleep.
The error I'm getting is this one: 2023-03-06T16:48:13.792356279Z ERROR {error="Run error: Custom error: failed to provision shuttle_static_folder :: StaticFolder"} shuttle_deployer::deployment::run: service startup encountered an error.
For now, the only alternative is to redeploy everything with --idle-minutes 0 flag.
Version
v0.11.2
Which operating systems are you seeing the problem on?
Linux
Which CPU architectures are you seeing the problem on?
x86_64
Relevant log output
No response
Duplicate declaration

[X] I have searched the issues and there are none like this.

This was fixed in #692 and the fix has been released. An announcement will also be posted in Discord soon.
For your deployer to use the fixed version you'll need to first run cargo shuttle project new and then cargo shuttle project rm. Then you need to bump your dependency on shuttle-static-folder to 0.11.3, before re-deploying. You do not need to upgrade your cargo-shuttle cli or other dependencies.

That was quick! Thanks to the team for the fast fix! ❤


Add HTMLImageElement for Material uniform

Replaces #5857

From #5857:  In order to make an animation by many images,we must know every image status in the process,so I change the timeline to the next time after the current image loaded.
material.uniforms.image = loadedImage;

@hpinkos, thanks for the pull request! Maintainers, we have a signed CLA from @hpinkos, so you can review this at any time.
:warning: I noticed that CHANGES.md has not been updated. If this change updates the public API in any way, fixes a bug, or makes any non-trivial update, please add a bullet point to CHANGES.md and comment on this pull request so we know it was updated. For more info, see the Pull Request Guidelines.

I am a bot who helps you make Cesium awesome! Contributions to my configuration are welcome.
:earth_africa: :earth_americas: :earth_asia:

@ggetz can you review?

CHANGES?

@mramato updated

Also, can we add a unit test for this?  And sorry if I'm being a little daft, but what is the use case that didn't work before?  Can we at least have a Sandcastle link to test?

@mramato it fixes this:
var viewer = new Cesium.Viewer('cesiumContainer');

var image2 = new Image(100, 200);
image2.src = '../images/Cesium_Logo_Color.jpg';

var material = Cesium.Material.fromType('Image', {
    image: '../images/Cesium_Logo_overlay.png'
});

viewer.scene.primitives.add(new Cesium.Primitive({
    geometryInstances : new Cesium.GeometryInstance({
        geometry : new Cesium.RectangleGeometry({
            rectangle : Cesium.Rectangle.fromDegrees(-120.0, 30.0, -110.0, 40.0),
            vertexFormat : Cesium.EllipsoidSurfaceAppearance.VERTEX_FORMAT
        })
    }),
    appearance : new Cesium.EllipsoidSurfaceAppearance({
        material : material
    })
}));

Sandcastle.addToolbarButton('Change image', function() {
    material.uniforms.image = image2;
});

In master, the image doesn't change when you press the button.  In this branch it does.

I'm honestly not sure what the best way to write a unit test for this would be

I think there's still a bug where updating the src attribute on an existing image doesn't reflect the changes, probably because we are only checkin Image === Image2 and not Image.src === Image2.src as well:
var viewer = new Cesium.Viewer('cesiumContainer');

var image = new Image(100, 200);
image.src = '../images/Cesium_Logo_Color.jpg';

var material = Cesium.Material.fromType('Image', {
    image: image
});

viewer.scene.primitives.add(new Cesium.Primitive({
    geometryInstances : new Cesium.GeometryInstance({
        geometry : new Cesium.RectangleGeometry({
            rectangle : Cesium.Rectangle.fromDegrees(-120.0, 30.0, -110.0, 40.0),
            vertexFormat : Cesium.EllipsoidSurfaceAppearance.VERTEX_FORMAT
        })
    }),
    appearance : new Cesium.EllipsoidSurfaceAppearance({
        material : material
    })
}));

Sandcastle.addToolbarButton('Change image', function() {
    image.onload = function(){
        material.uniforms.image = image;
    };
    image.src = '../images/Cesium_Logo_overlay.png';
});

@mramato I would argue that's a different bug.  I'm not sure how we would even detect that.  We also don't detect when the content of a canvas changes: #5080

@mramato I added your example to #5080 because that seems really closely related to the canvas changing.  I think this PR should be merged as is.

Fair enough.


Autosave & Preview bugs

Recently focus was moved to the content by default:
https://github.com/TryGhost/Ghost/issues/8525
Unfortunately, this means that the new -> edit transition is never triggered. This in turn means autosave is never triggered. This means your post is not saved unless you press the keyboard shortcut, as there is no save button.
Also (this should possibly be a separate bug, but the case may never happen if the first issue is fixed), if you try to get a preview link, it will always be http://localhost:2368/ghost/ for unsaved posts. Which is very confusing.

Isn't this a duplicate of #8501?

No, this is a direct result of #8525, autosave is no longer working until you trigger it by pressing the keyboard shortcut.

I think the best short-term solution here is to re-open #8525 and revert the changes.

I can take a look at this issue tomorrow and if i am not able to find a proper fix, we can revert #8525 👍

When should the transition from new to edit happen?
Reverting #8525 does in my opinion not really help, because i was able to skip the post title transition (on focus out) somehow and then i ended up in the same situation: i am editing the content, but i can only save the post with a shortcut - no autosave, no save button.
I would suggest to wait for the content input from the user (max one word?) and then transition after 3 seconds. Any other opinions?

Also (this should possibly be a separate bug, but the case may never happen if the first issue is fixed), if you try to get a preview link, it will always be http://localhost:2368/ghost/ for unsaved posts. Which is very confusing.

Yeah this is a bug caused by the none working auto save behaviour.

We will revert #8525 for now and figure this out post 1.0.

I am going to close this bug issue now, because it was a direct result of #8525. The revert PR for #8525 was created, see https://github.com/TryGhost/Ghost-Admin/pull/755.


what is the correct eigen include directory?

In the eigen package I see the headers at $PREFIX/include/eigen3/Eigen but some (all?, many?) packages look for $PREFIX/include/Eigen. See, for example, pybind11-global.
What is the correct location and/or how is this usually handled?

As far as I know, Eigen install its headers in $PREFIX/include/eigen3/Eigen (see for example the Ubuntu eigen package: https://packages.ubuntu.com/jammy/amd64/libeigen3-dev/filelist) but then downstream projects are supposed to include headers as #include <Eigen/Core>. Adding $PREFIX/include/eigen3 to the include directories is typically done by linking to Eigen3::Eigen in CMake or by using the eigen3 pkg-config.


Azure KeyVault linked service error

I am trying to connect ADF to an external SQL database (sitting in a different tenant) and stored the password as secret but when I try to use the option "Azure Key Vault" to use the AKV linked service I get the error below:
The document creation or update failed because of invalid reference 'grauatkeyvault'. This linked service you are trying to create contains secrets and has to be published immediately, but the referenced entity above has to published first.
Please assist

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

ID: c4a11102-d44f-c7d2-c6b1-ec2b2a8b6055
Version Independent ID: 7eb0fce9-55db-6851-4ada-2316fe8049cf
Content: Store credentials in Azure Key Vault - Azure Data Factory
Content Source: articles/data-factory/store-credentials-in-key-vault.md
Service: data-factory
GitHub Login: @linda33wj
Microsoft Alias: jingwang

Hi @sivawebfunky  Thanks for leveraging Azure docs feedback channel to raise this question. This channel is reserved for ‘Azure docs’ feedback- for sharing doc feedback and suggesting content improvements. We didn't determine any changes for this documentation upon reviewing this feedback.
If your issue is specific to a use case, we request you to please reach out in forums like Microsoft Q&A or Stackoverflow. We have our engineers and other community members who will be happy to assist. Forums have a better suited audience for such queries. Once your issue is posted in forum, please do share the forum thread link here for tracking.
If you have a document which you are following and if you think it needs an update, please let us know about that here.
We will now proceed to close this thread. If there are further questions regarding this matter, please reopen it and we will gladly continue the discussion.
Thank you


MuiTablePagination-actions margin doesn't change in the 'rtl' direction

Hi
My project's rtl is working well, but this component's margin doesn't change.
In both directions, I see "margin-left" in Inspect.

[x] The issue is present in the latest release.
[x] I have searched the issues of this repository and believe that this is not a duplicate.

Current Behavior 😯

Your Environment 🌎

`npx @mui/envinfo`
System:
    OS: Windows 10 10.0.19043
  Binaries:
    Node: 14.17.3
    Yarn: 1.22.5
    npm: 7.23.0
  Browsers:
    Chrome: 93.0.4577.82
  npmPackages:
    @emotion/react: ^11.4.1 => 11.4.1
    @emotion/styled: ^11.3.0 => 11.3.0
    @mui/material: ^5.0.0 => 5.0.0
    @mui/styled-engine:  5.0.0
    @mui/styles: ^5.0.0 => 5.0.0
    react: ^17.0.2 => 17.0.2
    react-dom: ^17.0.2 => 17.0.2
    typescript: ^4.2.4 => 4.2.4

It doesn't look like this bug report has enough info for one of us to reproduce it.
Please provide a CodeSandbox (https://material-ui.com/r/issue-template-next), a link to a repository on GitHub, or provide a minimal code example that reproduces the problem.
Here are some tips for providing a minimal example: https://stackoverflow.com/help/mcve

I found when updated mui to v5, I was using jss in v5!
Should I use  stylist instead of jss in v5? or both of them?


Move tty configuration to Process

Now you need to call Process.NewConsole to setup console for process

LGTM
@mrunalp i think this is what you wanted also

Reviewing

LGTM


Exporter with crafting upgrade crafts unnecessary items

Issue description:
An exporter that has been set to export a certain item will send a signal to the system to craft that item, even if it doesn't need that item (i.e. the target inventory is full), as soon as the item reaches 0 in the system.
A side effect of this is that when you are exporting a certain item multiple times using different exporters, you only ever need one crafting upgrade. The exporters without a crafting upgrade will use the items called for by the exporter with the crafting upgrade.
What happens:
I have setup the system to autocraft item X. Elsewhere in the system, I've got an exporter with a crafting upgrade set to export item X into a chest. When the chest is completely filled, and I reduce the amount of item X in the system to zero (by any means, be it by hand, exporter, interface, etc.) the system automatically crafts a new item X, even though the chest to which it is set to export that item is already full.
What you expected to happen:
I expect the exporter not to send a crafting signal until the item is necessary.
Steps to reproduce:

Create a small network with an autocrafting recipe for an item
Have the network export that item through an exporter with a crafting upgrade into an applicable inventory, wait for that inventory to fill completely.
Remove the remaining items from the network by any means.
The system will automatically craft a new item whenever it reaches zero items.

Version (Make sure you are on the latest version before reporting):

Minecraft: 1.10.2
Forge: <IP_ADDRESS>1
Refined Storage: 1.2.21

Does this issue occur on a server? Yes
If a (crash)log is relevant for this issue, link it here:
N/A

This is intended behavior, the system will always keep an extra in stock.


Add PDB name

In the last PR (#27) we have resolved the broken functionality by updating the old name into the new name of  etcd-quorum-guarde. In this PR we are adding a check for both of the names, thus it will be compatible with OCP 4.10 (old name) and OCP 4.11 (new name).  Currently, the unit tests will only test the new name

/lgtm

/cherrypick release-0.12

/cherrypick release-0.12

/cherrypick release-0.12