Issues Executing pi_final_setup.py multiple times

Executing pi_final_setup.py multiple times causes issues with duplicated configuration. This needs to be handled by appropriate backing up and removal of other configurations. Issues arise with ssl/tls configuration especially.

Current work around involves flashing the sd card with the original image again and starting from the setup process from the beginning.


Pandas Profiling KeyError

Describe the bug
When running below code, running into error KeyError: 'Requested level (var1) does not match index name (None)'. I created a new environment with only python=3.7.7, jupyterlab=2.1.4, pandas-profiling=2.8.0.  However the pip freeze reported pandas-profilling==2.3.0.  I used conda install -c conda-forge pandas-profiling.

To Reproduce

Version information:

Additional context

I experience the same.

Thanks for reporting this issue. We've seen variations on this issue before. There are various things that can cause an older version the be executed, resulting in these kind of errors. One source of error is when pip and conda packages are installed in the same environment (https://github.com/conda-forge/pandas-profiling-feedstock/issues/22). This might also be the case here, as you report installing with conda and checking versions with pip freeze instead of conda list and conda info. Several ways to troubleshoot are:

Install a completely fresh environment (which @anhailing already did)
Check each step and report the results.

I'd be more than willing to create a dedicated page in the docs for resolving this issue for new users, as we've seen variations before. Please let us know.

Below are the installation commands I used.
conda create --name test python=3.7
conda install -c conda-forge pandas-profiling
conda install -c conda-forge jupyterlab
conda list reports pandas-profiling=2.8.0
@sbrugman Can you provide a step by step instruction to make the minimal environment work?

Assuming you're in a notebook, one thing that can cause problems is that your jupyter picks another interpreter than that of the environment.

Location of the env's interpreter: conda activate [env] which python
Within the notebook: !which python

I reinstalled miniconda on my laptop and only set up one environment to test this.  The same error existed.  I did the exact same thing on a windows server, it worked.  Any other thoughts? @sbrugman

I figured it out.  I pip installed a package xxx which used pandas-profiling=2.3.0 as prerequisite.  I never pip uninstalled the package before I removed the environment. Somehow, it messed the pandas-profiling installation.  However, pip install https://github.com/pandas-profiling/pandas-profiling/archive/master.zip still worked.   After I pip uninstalled this package,  both conda install and regular pip install worked.


settings: Tweak text of initial screen to be a bit clearer.

The label "New Server" sounds to me like it's suggesting I create
a new actual server -- which I don't want to do, I want to connect
to an existing server where a community I know is talking.
Change the text to track a bit closer to what's really going on.
I think there's probably more that would be useful to do to
make this flow smoother for a new user, but this is a start.

and what about "Connect a Server" (apart from being longer)

That makes sense. Thanks, @gnprice.

Thanks @akashnimare for the fast response!

and what about "Connect a Server" (apart from being longer)

Yeah, that'd feel kind of long to me for the text of a button. Certainly could tweak the text further.
I think there are several other things we could do, though, to simplify and clarify this flow significantly, and then there might not be a button quite like this in the first place. I think this chat discussion would be a good place to discuss, followed by issues/PRs for concrete things.


Help: Occlusion Culling for multiple cameras

This is really cool, I've been tinkering with the map generation to use it in a multiplayer (splitscreen) game - wondering if you could provide any insights on how I might be able to get the occlusion culling to work with multiple cameras (players) in the game world? I'm pretty new to unity so even a nudge in the right direction would be helpful! Cheers.

The first thing to try would be to disable occlusion culling. It trades a small amount of rendering time for a small amount of CPU time. So you might be just fine without it. You can do this by disabling the "Occlusion Culling" behaviour on the Map object.
If you want to adapt the system to work with multiple cameras, you'll need to change how it applies visibility. Currently it does so by disabling the renderers and by changing renderer.shadowCastingMode (in Chunk.SetExteriorVisibility and Chunk.SetInteriorVisibility. As far as I know, this doesn't work with mulitple cameras because you can't change it in between the first and second camera render. You could instead use layers for objects that are visible to one camera, the other, both or none. Maybe there is a way to interface with Unity's built in occlusion culling system, if so, that would be a better way to do it, but I don't know how that works.
You also need to modify the OcclusionCulling.Update so that it does what it currently does with this.Camera for multiple cameras.


Delay partition changes until after log recovery

Allows KIP-500 brokers to successfully roll.
KIP-500 broker rolls without this change were generating the following broker error:
java.lang.IllegalStateException: Duplicate log directories for topic-0 are found in both /mnt/kafka/kafka-data-logs-1/topic-0 and /mnt/kafka/kafka-data-logs-1/topic-0. It is likely because log directory failure happened while broker was replacing current replica with future replica. Recover broker from this failure by manually deleting one of the two directories for this partition. It is recommended to delete the partition in the log directory that is known to have failed recently.
at kafka.log.LogManager.loadLog(LogManager.scala:291)
at kafka.log.LogManager.$anonfun$loadLogs$13(LogManager.scala:357)

The root cause of this is that we are causing Log instances to be created when catching up on the metadata log by sending the make leader/follower requests to ReplicaManager, and then later, once we’ve caught up and we are performing log recovery, the LogManager is getting confused.  One would think that just allowing LogManager to not throw the exception would solve the issue, but when the original Log instance is created it performs log recovery but assumes the shutdown was clean.  Basically, with both of these issues, we are seeing an assumption in the code that we have performed log recovery already.   These are perhaps not the only places where this assumption exists.  The right solution seems to be to remember all of the partition changes up until log recovery is complete and only then send them to ReplicaManager.  This PR implements this, and the bounce test now passes.

(copying from slack)
Thanks, @rondagostino , this is a good find!
However, I don't think the solution is quite right here.  We shouldn't maintain a gigantic list of stuff ... it's not very scalable at all.  Think about having a million partitions in that list.
Instead, we should change ReplicationManager to be able to handle these changes prior to log recovery
Also we really shouldn't keep adding more futures that map to "we're really started up now, for real".  In general I'd like to get rid of all that with a very few exceptions.
If you want to have multiple states then have an initialize() or start() function which gets called once we have started up, don't use a future

(copying from slack)
Thanks, @rondagostino , this is a good find!
However, I don't think the solution is quite right here.  We shouldn't maintain a gigantic list of stuff ... it's not very scalable at all.  Think about having a million partitions in that list.
Instead, we should change ReplicationManager to be able to handle these changes prior to log recovery
Also we really shouldn't keep adding more futures that map to "we're really started up now, for real".  In general I'd like to get rid of all that with a very few exceptions.
If you want to have multiple states then have an initialize() or start() function which gets called once we have started up, don't use a future


Unchecked response for self.cleanhtmlencoded() caused an unexpected error

  File "/venv/lib/python3.5/site-packages/wafw00f/main.py", line 174, in genericdetect
    cleanresponse, _tmp = r
'NoneType' object is not iterable

I centralized the response checking to avoid this in the future.

thanks!


HIP19 - Amendment - Refunds

Manufactures/Vendors MUST offer refunds up until the day of shipping if payment is made via traditional Creditcard or Paypal.
Plain and simple

Seems like a good basic service any maker should offer. Also a bit of carrot/stick for those that abuse the customers' trust.

🤣 Shouldn't Manufactures/Vendors obey the law?

🤣 Shouldn't Manufactures/Vendors obey the law?

What law are you talking about?

🤣 Shouldn't Manufactures/Vendors obey the law?

What law are you talking about?

There should be an agreement between the seller and you when ordering the product. They should refund you according to the agreement.

🤣 Shouldn't Manufactures/Vendors obey the law?

What law are you talking about?

There should be an agreement between the seller and you when ordering the product. They should refund you according to the agreement.

I agree, but there isn't right now. In fact, the order page for the SEEED Sensecap M1 says no refunds, no order cancellations.

100% agree with this but feel there is more amendments to be added.

100% agree with this but feel there is more amendments to be added.

What did you have in mind?

🤣 Shouldn't Manufactures/Vendors obey the law?

What law are you talking about?

There should be an agreement between the seller and you when ordering the product. They should refund you according to the agreement.

I agree, but there isn't right now. In fact, the order page for the SEEED Sensecap M1 says no refunds, no order cancellations.

hmm, if so, just don't buy it. I don't think there is a good way to solve this issue. It's same everywhere, even on ebay, amazon. It's the choice for sellers to protect themselves. What will you do if you are the seller? Accept refund without agreement? Because it's preorder, the risk is too high. Suppose you put a one billion dollar order and they started to make hotspots for you. Then you cancelled the order before shipping, who will pay for the cost of these hotspots?

🤣 Shouldn't Manufactures/Vendors obey the law?

What law are you talking about?

There should be an agreement between the seller and you when ordering the product. They should refund you according to the agreement.

I agree, but there isn't right now. In fact, the order page for the SEEED Sensecap M1 says no refunds, no order cancellations.

hmm, if so, just don't buy it. I don't think there is a good way to solve this issue. It's same everywhere, even on ebay, amazon. It's the choice for sellers to protect themselves. What will you do if you are the seller? Accept refund without agreement? Because it's preorder, the risk is too high. Suppose you put a one billion dollar order and they started to make hotspots for you. Then you cancelled the order before shipping, who will pay for the cost of these hotspots?

We set the rules. If they want into this market, they play by the rules we set.

🤣 Shouldn't Manufactures/Vendors obey the law?

What law are you talking about?

There should be an agreement between the seller and you when ordering the product. They should refund you according to the agreement.

I agree, but there isn't right now. In fact, the order page for the SEEED Sensecap M1 says no refunds, no order cancellations.

hmm, if so, just don't buy it. I don't think there is a good way to solve this issue. It's same everywhere, even on ebay, amazon. It's the choice for sellers to protect themselves. What will you do if you are the seller? Accept refund without agreement? Because it's preorder, the risk is too high. Suppose you put a one billion dollar order and they started to make hotspots for you. Then you cancelled the order before shipping, who will pay for the cost of these hotspots?

Well, you don't do "Pre-Orders" for a product that won't be created until 3 months from that order.  Simple as that. :)

🤣 Shouldn't Manufactures/Vendors obey the law?

What law are you talking about?

There should be an agreement between the seller and you when ordering the product. They should refund you according to the agreement.

I agree, but there isn't right now. In fact, the order page for the SEEED Sensecap M1 says no refunds, no order cancellations.

hmm, if so, just don't buy it. I don't think there is a good way to solve this issue. It's same everywhere, even on ebay, amazon. It's the choice for sellers to protect themselves. What will you do if you are the seller? Accept refund without agreement? Because it's preorder, the risk is too high. Suppose you put a one billion dollar order and they started to make hotspots for you. Then you cancelled the order before shipping, who will pay for the cost of these hotspots?

Well, you don't do "Pre-Orders" for a product that won't be created until 3 months from that order. Simple as that. :)
Also a "One-Billion" dollar order would a B2B and would be a Wire Transfer. Imagine giving credit card / Paypal 3% of that transaction lol.

🤣 Shouldn't Manufactures/Vendors obey the law?

What law are you talking about?

There should be an agreement between the seller and you when ordering the product. They should refund you according to the agreement.

I agree, but there isn't right now. In fact, the order page for the SEEED Sensecap M1 says no refunds, no order cancellations.

hmm, if so, just don't buy it. I don't think there is a good way to solve this issue. It's same everywhere, even on ebay, amazon. It's the choice for sellers to protect themselves. What will you do if you are the seller? Accept refund without agreement? Because it's preorder, the risk is too high. Suppose you put a one billion dollar order and they started to make hotspots for you. Then you cancelled the order before shipping, who will pay for the cost of these hotspots?

Well, you don't do "Pre-Orders" for a product that won't be created until 3 months from that order. Simple as that. :)
Also a "One-Billion" dollar order would a B2B and would be a Wire Transfer. Imagine giving credit card / Paypal 3% of that transaction lol.

Yes, you can set a rule that makers must have inventories before they start to sell them. 1 billion is just an example here ^_^, actually it can be 1 million orders from multiple buyers.

In the UK, the Consumer Rights Act 2015 might have some coverage here on refunds (even if paid in crypto).
There's a section here on digital goods requiring refunds: https://www.legislation.gov.uk/ukpga/2015/15/section/44/notes

...
However, digital currencies (or cryptocurrencies) that can be used in a variety of transactions with a number of traders, and exchanged for real money, are much more akin to real money (e.g. bitcoins). Where the consumer uses these types of digital currency to pay for digital content, the trader can (and must, unless the consumer agrees) repay the consumer in the digital currency. The trader cannot charge the consumer a fee for the payment of the refund.

There's also this bit in section 20, failing refund you can pursue damages.
Section 20 of the Consumer Rights Act, 114: https://www.legislation.gov.uk/ukpga/2015/15/notes/division/3/1/3/4/2

If money was not used to pay for the goods, under subsections (11) and (12), the consumer is not entitled to money back but the “refund” would be a return of whatever the consumer gave in exchange for the goods (see examples below). If this cannot be returned to the consumer due to the nature of the exchange, then, under subsection (18) and (19), the consumer may not demand a refund but may pursue a damages claim.

I'm not clear on what happens if the value of a coin goes up or down since the original transaction?
If the price of a coin increases from the time you made the purchase and you received less as a refund, I guess it's possible you could put in a claim for those losses, after all the receiving company now has to pay Capital Gains Tax on an increases in value when they cash out.
Also, there's a possibility to claim for "loss of enjoyment" due to late deliveries, but I'm not sure how likely it is to actually win that case.
On a separate note, I think I read in discord someone has raised a case against a vendor with the Advertising Standards Agency (ASA) here in the UK due to a vendor being massively late on delivery estimates.

Manufactures/Vendors MUST offer refunds up until the day of shipping if payment is made via traditional Creditcard or Paypal.
Plain and simple

Shouldn't matter what the form of payment as. Whether it is stablecoin or HNT, too. Approved manufacturers should pledge to offer refunds for reasons such as batch being delayed, etc etc.

In this environment refunds are a non-starter. Leadframes are out by 12+ months, wafers are out by 6+ months. What this means is that Semtech puts in an order to TSMC to get some chips to make their radio; and to their packaging house to make modules and the lead time could be 1 year +. I am living this reality as I work in the semiconductor industry. Now go up the silicon stack. Rak puts in an order for you. They get priority (what little there is) based on volume of orders and so will stack requests to put in a minimum order for silicon parts to ensure they will get (still super crappy) delivery times. Almost ALL semiconductor orders now are NCNR (non cancellable, non returnable). We (my employer) have that rule from TSMC, and we (as a semiconductor manufacturer) pass that along to our customers.
Now Joe Smith wants to cancel 1 month into the order. RAK will be left holding the can.
The result: you will see prices become very dynamic and just keep going up. That freed up HS that Joe Smith cancelled? Resell it for 10%+. This will keep happening, and our costs will go up very dynamically.
Some points as noted above.
1.The manufacturers are not "sitting" on your money for months. They are already paid for the product, they are also waiting. So that may follow the UK law, "If money was not used to pay for the goods,", well it was.
2.Best in this environment is for a clear agreement from the seller and the buyer. Then buyers can decide up front if they are ok with that.

In this environment refunds are a non-starter. Leadframes are out by 12+ months, wafers are out by 6+ months. What this means is that Semtech puts in an order to TSMC to get some chips to make their radio; and to their packaging house to make modules and the lead time could be 1 year +. I am living this reality as I work in the semiconductor industry. Now go up the silicon stack. Rak puts in an order for you. They get priority (what little there is) based on volume of orders and so will stack requests to put in a minimum order for silicon parts to ensure they will get (still super crappy) delivery times. Almost ALL semiconductor orders now are NCNR (non cancellable, non returnable). We (my employer) have that rule from TSMC, and we (as a semiconductor manufacturer) pass that along to our customers.
Now Joe Smith wants to cancel 1 month into the order. RAK will be left holding the can.
The result: you will see prices become very dynamic and just keep going up. That freed up HS that Joe Smith cancelled? Resell it for 10%+. This will keep happening, and our costs will go up very dynamically.
Some points as noted above.
1.The manufacturers are not "sitting" on your money for months. They are already paid for the product, they are also waiting. So that may follow the UK law, "If money was not used to pay for the goods,", well it was.
2.Best in this environment is for a clear agreement from the seller and the buyer. Then buyers can decide up front if they are ok with that.

Joe Smith is a customer ordering 1, is that going to ruin RAK?
I don't understand you "RAK will be left holding the can", what can?  There will be other buyers, RAK (and said other companies) believe in this product for the long hall, right?  They wont just stop producing them if orders stop flowing in, right?    They won't need extra units in the future for when legitimate RMAs flow in, right?
If I go to any retail store, do I just see rows of empty shelves with signs that say "Pre-Order; NCNR"?
Damn, any retail store with inventory must be losing money just by having stock of something that hasn't been bought yet.

@mrfizzy99 No, 1 customer return is not going to ruin RAK. While you may know there is a charge for using a credit card, there is another charge for the vendor to rebate it. There is someone manually "restocking" even if it's digital. But, many people throwing cigarettes, many people changing their mind will ruin a good thing. Again, nothing that cannot be solved by the subsequent sale going up in price to account for the extra cost. So, RAK or any other manufacturer will not be ruined, particularly since there is such high demand, but their costs will go up and their money is tied up with the vendor. So greater demand will drive even higher prices faster to account for the lost revenue of changing minds, and borrowing costs to cover returns.
And yes, stores measure profit by "turns". Not just selling something, but how often their stock sells per month. So, something that is sitting on the shelf longer, is "losing money". It's the shelf space that has value, not the thing on it to a store owner.

And if a card issuers starts to see a lot of chargebacks appear for a single merchant.. well i'm sure there is more discussions on what they are doing to get these chargebacks and make a case on why they (the company) is not fraudulent.

I imagine this is something Nebra is struggling with, the massive silence from them and the misleading estimates given by them are causing more and more people to just put in chargebacks or get refunds via PayPal.
There's some people with dead Nebra's not getting support for over two weeks, they're more than entitled to just put in chargebacks.

We aren't struggling with chargebacks precisely for the reasons @mrfizzy99 states - we offer full refunds up until the time of shipping.
Seems like a good policy IMO

@shawaj I noticed that Nebra has previously stated it doesn't offer crypto refunds.
I was wondering if you can clarify which part of the 'distance selling regulations' or the 'consumer rights act 2015' exempts Nebra from providing the refund?
I do accept that potentially the refund would not be for the original HNT amount due to the volatile nature of crypto (similar to if a user paid in alternative fiat currency at point of sale), I haven't had any clarification on this yet as to if it must be the same amount of HNT as the original transaction or not.
Here's a few links that covers the regulations:
UK Gov on distance selling refunds
Consumer Rights Act - 114 alternative payment methods
Consumer Rights Act - 215 digital refunds in cryptocurrencies

🤣 Shouldn't Manufactures/Vendors obey the law?

What law are you talking about?

I didn't notice this bit before, but UK distance Selling regulations gives consumers who buy goods online up to 14 days after delivery for a no questions asked full refund (minus delivery costs).
Doesn't look like it matters what you paid with either (based on consumer rights act).
DSR also says this:
It’s illegal to display any notice that deliberately misleads consumers or deceives them about their rights, for example a sign that says you do not accept returns or offer refunds

@shawaj I noticed that Nebra has previously stated it doesn't offer crypto refunds.

@ganey I'm wondering now that this is mentioned, what is the reasoning behind no refunds of crypto purchases [in general]?
If following are all true...

Invoiced / billed total in local currency (e.g. USD/GBP) is documented & agreed upon by both parties.
Exchange rate & total crypto payment required to settle the invoice balance due is documented & agreed upon by both parties.
Sending / receiving addresses & transactions between them are documented publicly on-chain.

...then why is it that the fiat equivalent cannot be be refunded? Or frankly even just the original amount of the respective cryptocurrency just be re-issued to the account that sent it. That option removes any question of exchange rates from the equation.
Pardon my ignorance here if I'm missing something. I had just found that somewhat odd. TIA!

I can see "the fiat equivalent cannot be be refunded" being more easily supported. Problem with crypto refund is most companies are in the game to make a profit now. Crypto with it's high volatility would require a separate holding of it as a corporate fund to allow disbursement. This fund would then be untouchable funds. It's another cost center then (lost opportunity cost). So, thinking you are doing a favor by accepting crypto, as a company, starts to get more complicated with things like refunds.
Also, as people start to pull their refunds from 3rd parties, say PayPal, the manufacturer loses in the net. There is a charge for the original credit transaction, and they have another charge put on them for the refund. PayPal gets profit on both ends.

@cvolkernick Thats a good point, i'd only thought of it in the case of ordering miners, but yeah any UK company accepting crypto will have to offer refunds of some form.
Legally whenever a company transfers out HNT (burning or cashing out etc) they have to declare any increase/decrease in value as part of Capital Gains Tax. I'm not sure how it works for really old accounts with companies like MtGox involved with no available transaction history
Accepting crypto in the UK seems to me like more of a headache than fiat because it's so volatile and you have to keep records of everything. Even if a company is dissolved, the HNT is an asset, and owner of the wallet holding the HNT would be legally bound to pay Capital Gains Tax when the currency is moved, that could be rather significant in say 10 years time.

@mrfizzy99 would you be willing to present this idea for discussion at next DeWi community call? this upcoming Weds @ noon ET. https://dewi.org/community-call – I was not sure about your Discord username or would ping you there

In this environment refunds are a non-starter. Leadframes are out by 12+ months, wafers are out by 6+ months. What this means is that Semtech puts in an order to TSMC to get some chips to make their radio; and to their packaging house to make modules and the lead time could be 1 year +. I am living this reality as I work in the semiconductor industry. Now go up the silicon stack. Rak puts in an order for you. They get priority (what little there is) based on volume of orders and so will stack requests to put in a minimum order for silicon parts to ensure they will get (still super crappy) delivery times. Almost ALL semiconductor orders now are NCNR (non cancellable, non returnable). We (my employer) have that rule from TSMC, and we (as a semiconductor manufacturer) pass that along to our customers.
Now Joe Smith wants to cancel 1 month into the order. RAK will be left holding the can.
The result: you will see prices become very dynamic and just keep going up. That freed up HS that Joe Smith cancelled? Resell it for 10%+. This will keep happening, and our costs will go up very dynamically.
Some points as noted above.
1.The manufacturers are not "sitting" on your money for months. They are already paid for the product, they are also waiting. So that may follow the UK law, "If money was not used to pay for the goods,", well it was.
2.Best in this environment is for a clear agreement from the seller and the buyer. Then buyers can decide up front if they are ok with that.

You know that is the risk of companies and not customers and the law is quite clear on that. The market regulates these type of things itself . This isn't a queston if they should allow this, it is mandated for consumers to be protected this way in the EU and it doesn't matter if your chips are hard to get or your fabric is super rare or if there is a lithium shortage that drives the prices up.
That is the risk you take as business, when you start a project and you are free to opt out and produce batches you are more comfortable with or take another project altogether. Seeed managed their production in under 12 months and even under 6 months so clearly the market has ways.
TSMC is also not the only one that makes them non refundable. Tons of B2B orders are standing and cannot simply be voided. That is why we separate consumer law and b2b law.

@ganey to be honest, I'm not a lawyer so I don't really want to comment on legal issues over and above saying that we have taken advice from our lawyers and they have said what we are doing is ok. Whether they are correct or not is subjective I guess and probably isn't clear cut... As with a lot of things legal.
However, I think relying on the law of any country is pointless here. In part because things like DSR and CCR are only (easily?) enforceable in country - i.e. UK to UK sale for example. Selling internationally it becomes much more complicated. But also - the laws don't really matter in the context here... as this hip amendment is essentially seeking to go above what is defined in law. And for jurisdictions where the law is already more strict than what is defined here then the law already prevails anyway.
The other thing worth noting is that the vast majority of people do not actually want a refund - they want their hotspots quicker. All manufacturers currently are having supply issues and long lead times - some (read Nebra) have also had production issues on top however within the next 6 months to a year supply should open up considerably - for example I know for a fact that Semtech and Microchip (ATECC chips) are putting considerable extra resources into huge increases in production (we talk to them weekly at least), a lot of which is due to the huge demand in helium hotspots. Additionally there is efforts to add additional chip suppliers with things like TPM support etc. This should go a pretty long way to opening things up and getting to a point where there is less of a gap between supply and demand at which point market forces will take over more readily anyway and consumers will have more choice etc. There has been a huge collection of issues that has led to this huge squeeze but things are definitely starting to ease (if you have scheduled chip orders already in place certainly).
I guess what all of this is to say is that the barriers to entry for new manufacturers should not be placed too high.... Because competition and more manufacturers is a good thing for everyone. It's a careful balance though for sure as protecting users with ability to refund before shipping is also very important and there doesn't seem to be any down side to it.
With regards to crypto refunds, again maybe the stipulation could be that vendors provide "at least one payment method which is refundable"... In other words if you only accept crypto then crypto is refundable. If you accept cards too you can have cards refundable but not crypto as long as it's clearly stated that is the case.
@PapaOwl Seeed is an outlier because they are already a huge reseller of Raspberry Pi so had huge stock already available and on order. And they were already launching the exact product for non Helium use cases. So it's not easily comparable to others who started from nothing. However, it certainly is different in the sense that they are selling from stock so refunds are less important in that scenario. Maybe a stipulation could be made that "pre-orders have to be refundable" whereas if they are from stock it could be more lenient. But seeing as there is huge demand, even if someone like Seeed selling from stock offered refunds I doubt many people would want refunds and it would only be an option for unopened and unused goods anyway (i.e. not onboarded)

Closing stale issue. If this is still being worked on, please let us know.
Additionally, regulation of hotspot manufacturers is now handled by the dedicated MOC: https://github.com/dewi-alliance/hotspot-manufacturers


Unable to open a single expense report as approver

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number:
Reproducible in staging?: Needs reproduction
Reproducible in production?: Needs reproduction
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: @puneetlath
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1718982172128879
Action Performed:

Submit a single expense report in a workspace chat
As approver open the report

Expected Result:
Report opened without any issue
Actual Result:
Unable to open the report and Loading skeleton displayed
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence

View all open jobs on GitHub

This has been labelled "Needs Reproduction". Follow the steps here: https://stackoverflowteams.com/c/expensify/questions/16989

Hmm, I'm not able to reproduce this issue on staging currently. @puneetlath can you confirm if this is still an issue for you?
https://github.com/Expensify/App/assets/16747822/986ff59f-d14a-4056-a004-776042dd2e1a

Reached out to @puneetlath about this today - there's an ongoing investigation into the bug here. Will follow up with this starting next week 🙇

Investigation is ongoing

Investigation is still ongoing

@NikkiWines @muttmuure if this is a CRITICAL item it should be daily, right? I'll update, but lmk if I am missing something!

@puneetlath do you mind testing this again?

This hit staging 3 days ago: https://github.com/Expensify/App/pull/41962

Still having the problem. We've narrowed it down to a problem when a personal card transaction gets merged with a receipt. @NikkiWines is working on the fix.

Getting tests working for this now, hoping to have a PR up by EOD

Hmm, actually what I had wasn't working, pivoting to another solution where we update the IOU reportAction after merging

This is done and deployed. Just need someone to confirm it's working properly when using this out in the wild.

This works. Going to go ahead and close it out.


macOS的desktop端首次启动失败

Flutter 2.0.6 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 1d9032c7e1 (11 天前) • 2021-04-29 17:37:58 -0700
Engine • revision 05e680e202
Tools • Dart 2.12.3

已下载最新的 QuickJS 到/flutter_js/cxx/quickjs 文件夹
console提示Podfile过期，但是flutter_js/macos/这个文件夹内没有Podfile文件
Launching lib/main.dart on macOS in debug mode...
Warning: Podfile is out of date
  This can cause issues if your application depends on plugins that do not support iOS or macOS.
  See https://flutter.dev/docs/development/packages-and-plugins/developing-packages#plugin-platforms for details.
  If you have local Podfile edits you would like to keep, see https://github.com/flutter/flutter/issues/45197 for instructions.
To regenerate the Podfile, run:

  rm macos/Podfile

Building macOS application...
In file included from /Users/lock/Desktop/flutter_qjs/macos/cxx/ffi.cpp:8:
In file included from /Users/lock/Desktop/flutter_qjs/macos/cxx/ffi.h:1:
/Users/lock/Desktop/flutter_qjs/macos/cxx/quickjs.h:524:30: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
        v = JS_NewInt32(ctx, val);
            ~~~~~~~~~~~      ^~~
/Users/lock/Desktop/flutter_qjs/macos/cxx/quickjs.h:607:12: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
    return js_unlikely(JS_VALUE_GET_TAG(v) == JS_TAG_EXCEPTION);
    ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/lock/Desktop/flutter_qjs/macos/cxx/quickjs.h:37:31: note: expanded from macro 'js_unlikely'
#define js_unlikely(x)        __builtin_expect(!!(x), 0)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/lock/Desktop/flutter_qjs/macos/cxx/quickjs.h:612:12: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
    return js_unlikely(JS_VALUE_GET_TAG(v) == JS_TAG_UNINITIALIZED);
    ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/lock/Desktop/flutter_qjs/macos/cxx/quickjs.h:37:31: note: expanded from macro 'js_unlikely'
#define js_unlikely(x)        __builtin_expect(!!(x), 0)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/lock/Desktop/flutter_qjs/macos/cxx/ffi.cpp:97:33: error: use of undeclared identifier 'JS_GetClassID'; did you mean 'JS_NewClassID'?
            JSClassID classid = JS_GetClassID(obj);
                                ^~~~~~~~~~~~~
                                JS_NewClassID
In file included from /Users/lock/Desktop/flutter_qjs/macos/cxx/ffi.cpp:8:
In file included from /Users/lock/Desktop/flutter_qjs/macos/cxx/ffi.h:1:
/Users/lock/Desktop/flutter_qjs/macos/cxx/quickjs.h:499:11: note: 'JS_NewClassID' declared here
JSClassID JS_NewClassID(JSClassID *pclass_id);
          ^
/Users/lock/Desktop/flutter_qjs/macos/cxx/ffi.cpp:97:47: error: no viable conversion from 'JSValue' to 'JSClassID *' (aka 'unsigned int *')
            JSClassID classid = JS_GetClassID(obj);
                                              ^~~
In file included from /Users/lock/Desktop/flutter_qjs/macos/cxx/ffi.cpp:8:
In file included from /Users/lock/Desktop/flutter_qjs/macos/cxx/ffi.h:1:
/Users/lock/Desktop/flutter_qjs/macos/cxx/quickjs.h:499:36: note: passing argument to parameter 'pclass_id' here
JSClassID JS_NewClassID(JSClassID *pclass_id);
                                   ^
/Users/lock/Desktop/flutter_qjs/macos/cxx/ffi.cpp:286:12: error: use of undeclared identifier 'JS_IsPromise'; did you mean 'jsIsPromise'?
    return JS_IsPromise(ctx, *val);
           ^~~~~~~~~~~~
           jsIsPromise
/Users/lock/Desktop/flutter_qjs/macos/cxx/ffi.cpp:284:21: note: 'jsIsPromise' declared here
  DLLEXPORT int32_t jsIsPromise(JSContext *ctx, JSValueConst *val)
                    ^
/Users/lock/Desktop/flutter_qjs/macos/cxx/ffi.cpp:286:30: error: no viable conversion from 'JSValue' to 'JSValue *'
    return JS_IsPromise(ctx, *val);
                             ^~~~
/Users/lock/Desktop/flutter_qjs/macos/cxx/ffi.cpp:284:63: note: passing argument to parameter 'val' here
  DLLEXPORT int32_t jsIsPromise(JSContext *ctx, JSValueConst *val)
                                                              ^
3 warnings and 4 errors generated.
note: Using new build system
note: Building targets in parallel
note: Planning build
note: Constructing build description
** BUILD FAILED **

Exception: Build process failed

quickjs要用我改过的版本。试试把cxx/quickjs文件夹清空，然后用下面的代码拉取对应的quickjs
git submodule update --init --recursive


[Bug Report] npm 打包失败：Cannot use 'in' operator to search for '0' in arguments_marker. File: static/css/chunk-elementUI.68c70ad5.css

Element UI version
2.13.2
OS/Browsers version
Linux
Vue version
2.6.10
Reproduction Link
https://codepen.io/ziyoung/pen/LKNBqB
Steps to reproduce

vue-cli-service build

Browserslist: caniuse-lite is outdated. Please run:
npx update-browserslist-db@latest
Why you should do it regularly: https://github.com/browserslist/update-db#readme

Building for production...
Browserslist: caniuse-lite is outdated. Please run:
npx update-browserslist-db@latest
Why you should do it regularly: https://github.com/browserslist/update-db#readme
Browserslist: caniuse-lite is outdated. Please run:
npx update-browserslist-db@latest
Why you should do it regularly: https://github.com/browserslist/update-db#readme
Browserslist: caniuse-lite is outdated. Please run:
npx update-browserslist-db@latest
Why you should do it regularly: https://github.com/browserslist/update-db#readme
Browserslist: caniuse-lite is outdated. Please run:
npx update-browserslist-db@latest
Why you should do it regularly: https://github.com/browserslist/update-db#readme
Browserslist: caniuse-lite is outdated. Please run:
npx update-browserslist-db@latest
Why you should do it regularly: https://github.com/browserslist/update-db#readme
ERROR  Error: CSS minification error: Cannot use 'in' operator to search for '0' in arguments_marker. File: static/css/chunk-elementUI.68c70ad5.css
Error: CSS minification error: Cannot use 'in' operator to search for '0' in arguments_marker. File: static/css/chunk-elementUI.68c70ad5.css
at /tmp/compile_scm/src/om-server/project/server/sequoiacm-om-omserver/om-ui/node_modules/@intervolga/optimize-cssnano-plugin/index.js:106:21
at
at process._tickCallback (internal/process/next_tick.js:188:7)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>build:prod: vue-cli-service build
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>build:prod script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR!
正常编译
What is actually happening?
偶现编译失败

似乎是：https://github.com/foundation/foundation-sites/issues/10956 ？


bug: prevent the extent of this project

https://github.com/digitoolmedia/first/blob/fa107e7576218ea2e0fe978f32bac2c4cd21404f/app.vue#L16-L19
If useSeoMeta is located in the source project it gets error because it's tring to resolve @unhead/vue in the source project instead of the local one (or am I wrong?).
 ERROR  Internal server error: Failed to resolve import "@unhead/vue" from "..\..\..\Users\sandr\.cache\c12\github_digitoolmedia_first\app.vue". Does the file exist?                                  22:36:17
  Plugin: vite:import-analysis
  File: C:/Users/sandr/.cache/c12/github_digitoolmedia_first/app.vue:5:26
  3  |  import { default as __nuxt_component_2 } from "C:/GitHub/Sandros94/test-nuxt3app/node_modules/nuxt/dist/pages/runtime/page";
  4  |  import { default as __nuxt_component_3 } from "C:/GitHub/Sandros94/test-nuxt3app/node_modules/nuxt/dist/app/components/layout";
  5  |  import { useHead } from '@unhead/vue';
     |                           ^
  6  |
  7  |  useHead({
      at formatError (file:///C:/GitHub/Sandros94/test-nuxt3app/node_modules/vite/dist/node/chunks/dep-79892de8.js:43113:46)
      at TransformContext.error (file:///C:/GitHub/Sandros94/test-nuxt3app/node_modules/vite/dist/node/chunks/dep-79892de8.js:43109:19)
      at normalizeUrl (file:///C:/GitHub/Sandros94/test-nuxt3app/node_modules/vite/dist/node/chunks/dep-79892de8.js:41378:33)
      at async TransformContext.transform (file:///C:/GitHub/Sandros94/test-nuxt3app/node_modules/vite/dist/node/chunks/dep-79892de8.js:41512:47)
      at async file:///C:/GitHub/Sandros94/test-nuxt3app/node_modules/vite-plugin-inspect/dist/index.mjs:692:23
      at async Object.transform (file:///C:/GitHub/Sandros94/test-nuxt3app/node_modules/vite/dist/node/chunks/dep-79892de8.js:43387:30)
      at async loadAndTransform (file:///C:/GitHub/Sandros94/test-nuxt3app/node_modules/vite/dist/node/chunks/dep-79892de8.js:41105:29)

I should remove nuxt-seo-kit from here and deal with it only on the actual deployment


Session creation error after migration to Ruby 2.3 with rails 4.2.5

I just upgraded my environment to rails 4.2.5 and Ruby 2.3.0, without changing the code or the DB.
The following line,   csn = SocialNetwork.find_by( :iname => sn.downcase ) , running without problems before the upgrade, now returns the following error:
I, [2016-01-14T02:15:56.923728 #39273]  INFO -- : Completed 500 Internal Server Error in 5ms (ActiveRecord: 0.0ms)
F, [2016-01-14T02:15:56.926244 #39273] FATAL -- :
RuntimeError (No session, please create a session first with Neo4j::Session.open(:server_db) or :embedded_db):
  app/helpers/application_helper.rb:116:in `load_social_network_from_url'
  app/helpers/sessions_helper.rb:307:in `check_social_network'

This is my gemfile:
source 'https://rubygems.org'
ruby '2.3.0'

# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails'   #, '4.2.3'
# Use SCSS for stylesheets
gem 'sass-rails'
# Use Uglifier as compressor for JavaScript assets
gem 'uglifier'
# Use CoffeeScript for .coffee assets and views
gem 'coffee-rails'

# Use jquery as the JavaScript library
gem 'jquery-rails'
# Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
gem 'turbolinks'
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder'#, '>= 2.2.3'
# bundle exec rake doc:rails generates the API under doc/api.
gem 'sdoc', group: :doc

# Use sqlite3 as the database for Active Record
gem 'activemodel'
gem 'sqlite3'

gem 'neo4j', '~> 6.0.1'
#gem 'neo4j', '~> 5.0.15'
#gem 'neo4j', github: 'neo4jrb/neo4j', ref: 'd6783e81ebedb542f188d721a6a4355d8e0071d8'
gem 'neo4jrb_spatial'

gem 'bcrypt'
gem 'faker'
gem 'mini_magick'
#gem 'mini_magick',             '3.8.0'
gem 'fog'
gem 'will_paginate'
#gem 'will_paginate',           '3.0.7'
gem 'bootstrap-will_paginate'
gem 'bootstrap-sass'
gem 'sass_paths'
gem "neo4j-will_paginate_redux"

gem "haml-rails"

gem "pry-rails"

gem 'jquery-turbolinks'
gem 'responders', '~> 2.0'
gem 'bootstrap_form'
gem 'rack-cors', :require => 'rack/cors'
gem 'bootstrap_colorpicker_rails'
gem 'bootstrap-switch-rails'

gem 'remotipart'
gem "inline_svg"
gem 'google-webfonts-rails'

gem 'sprockets-rails', :require => 'sprockets/railtie'
#gem 'sprockets', "< 3.0.0"
#gem 'sprockets-rails'

gem 'url_safe_base64'
gem 'bootstrap-wysihtml5-rails'

gem 'cloudinary'

gem 'geocoder'

gem 'http_accept_language'

gem 'paperclip'

group :development do
#  gem 'sass-rails-source-maps'
  gem 'coffee-rails-source-maps'
end

group :development, :test do
  gem 'web-console',        '~> 2.2'
  gem 'byebug'
end

group :test do
  gem 'minitest-reporters', '1.0.5'
  gem 'mini_backtrace',     '0.1.3'
  gem 'guard-minitest',     '2.3.1'
  gem 'spring'
end

group :production do
  gem 'rails_12factor',     '0.0.2'
  gem 'unicorn',            '4.8.3'
end

Hey Paolo! There was a bug briefly in the gem that caused this. Please
upgrade to the last micro release of 6.0.x or move to the most recent 6.1.x
release and it will be fixed. I believe it was a bug in Neo4j-core, we
released a patch to correct it. I am not on my computer at the moment but
if you look at that repo's change log, you will see it in a recent release.
On Wednesday, January 13, 2016, Paolo Di Pietro<EMAIL_ADDRESS>wrote:

I just upgraded my environment to rails 4.2.5 and Ruby 2.3.0, without
changing the code or the DB.
The following line, csn = SocialNetwork.find_by( :iname => sn.downcase )
, running without problems before the upgrade, now returns the following
error:
I, [2016-01-14T02:15:56.923728 #39273]  INFO -- : Completed 500 Internal Server Error in 5ms (ActiveRecord: 0.0ms)
F, [2016-01-14T02:15:56.926244 #39273] FATAL -- :
RuntimeError (No session, please create a session first with Neo4j::Session.open(:server_db) or :embedded_db):
app/helpers/application_helper.rb:116:in load_social_network_from_url'   app/helpers/sessions_helper.rb:307:in check_social_network'
This is my gemfile:
source 'https://rubygems.org'
ruby '2.3.0'
Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails'   #, '4.2.3'
Use SCSS for stylesheets
gem 'sass-rails'
Use Uglifier as compressor for JavaScript assets
gem 'uglifier'
Use CoffeeScript for .coffee assets and views
gem 'coffee-rails'
Use jquery as the JavaScript library
gem 'jquery-rails'
Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
gem 'turbolinks'
Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder'#, '>= 2.2.3'
bundle exec rake doc:rails generates the API under doc/api.
gem 'sdoc', group: :doc
Use sqlite3 as the database for Active Record
gem 'activemodel'
gem 'sqlite3'
gem 'neo4j', '~> 6.0.1'
#gem 'neo4j', '~> 5.0.15'
#gem 'neo4j', github: 'neo4jrb/neo4j', ref: 'd6783e81ebedb542f188d721a6a4355d8e0071d8'
gem 'neo4jrb_spatial'
gem 'bcrypt'
gem 'faker'
gem 'mini_magick'
#gem 'mini_magick',             '3.8.0'
gem 'fog'
gem 'will_paginate'
#gem 'will_paginate',           '3.0.7'
gem 'bootstrap-will_paginate'
gem 'bootstrap-sass'
gem 'sass_paths'
gem "neo4j-will_paginate_redux"
gem "haml-rails"
gem "pry-rails"
gem 'jquery-turbolinks'
gem 'responders', '~> 2.0'
gem 'bootstrap_form'
gem 'rack-cors', :require => 'rack/cors'
gem 'bootstrap_colorpicker_rails'
gem 'bootstrap-switch-rails'
gem 'remotipart'
gem "inline_svg"
gem 'google-webfonts-rails'
gem 'sprockets-rails', :require => 'sprockets/railtie'
#gem 'sprockets', "< 3.0.0"
#gem 'sprockets-rails'
gem 'url_safe_base64'
gem 'bootstrap-wysihtml5-rails'
gem 'cloudinary'
gem 'geocoder'
gem 'http_accept_language'
gem 'paperclip'
group :development do
gem 'sass-rails-source-maps'
gem 'coffee-rails-source-maps'
end
group :development, :test do
gem 'web-console',        '~> 2.2'
gem 'byebug'
end
group :test do
gem 'minitest-reporters', '1.0.5'
gem 'mini_backtrace',     '0.1.3'
gem 'guard-minitest',     '2.3.1'
gem 'spring'
end
group :production do
gem 'rails_12factor',     '0.0.2'
gem 'unicorn',            '4.8.3'
end
—
Reply to this email directly or view it on GitHub
https://github.com/neo4jrb/neo4j/issues/1103.

Hmmm, interesting.
Now i saw that there are other changes: for example, the following declaration returns an error, Because Subject is a Class name
class Likes
  include Neo4j::ActiveRel
  include CreatedAtUpdatedAt

  from_class  Subject
  to_class    :any
  type 'likes'

end

but now it wants string or symbols!
F, [2016-01-14T11:33:17.872371 #40354] FATAL -- :
ArgumentError (from_class option must by String, Symbol, false, nil, or an Array of Symbols/Strings (was Subject(activated: ActiveAttr::Typecasting::Boolean, activated_at: DateTime, activation_digest: String, admin: ActiveAttr::Typecasting::Boolean, created_at: DateTime, email: String, first_name: String, last_name: String, nickname: String, password_digest: Object, remember_digest: String, reset_digest: String, reset_sent_at: DateTime, updated_at: DateTime))):
  app/models/likes.rb:5:in `<class:Likes>'

I have to re-read the docs ;-)

Yep, we changed that in 6.1.0 because it was causing problems for people.  I updated to docs, but let me know if there's any place I missed!
Thanks

On Jan 14, 2016, at 17:36, Paolo Di Pietro<EMAIL_ADDRESS>wrote:
Hmmm, interesting.
Now i saw that there are other changes: for example, the following declaration returns an error, Because Subject is a Class name
class Likes
include Neo4j::ActiveRel
include CreatedAtUpdatedAt
from_class  Subject
to_class    :any
type 'likes'
end
but now it wants string or symbols!
F, [2016-01-14T11:33:17.872371 #40354] FATAL -- :
ArgumentError (from_class option must by String, Symbol, false, nil, or an Array of Symbols/Strings (was Subject(activated: ActiveAttr::Typecasting::Boolean, activated_at: DateTime, activation_digest: String, admin: ActiveAttr::Typecasting::Boolean, created_at: DateTime, email: String, first_name: String, last_name: String, nickname: String, password_digest: Object, remember_digest: String, reset_digest: String, reset_sent_at: DateTime, updated_at: DateTime))):
app/models/likes.rb:5:in `class:Likes'
I have to re-read the docs ;-)
—
Reply to this email directly or view it on GitHub.

Well, I read the docs and changed all the rels using Symbols.
But now, the original problem is still there: csn = SocialNetwork.find_by( :iname => sn.downcase )
I, [2016-01-14T12:08:17.698539 #40619]  INFO -- : Completed 500 Internal Server Error in 4ms (ActiveRecord: 0.0ms)
F, [2016-01-14T12:08:17.700002 #40619] FATAL -- :
RuntimeError (No session, please create a session first with Neo4j::Session.open(:server_db) or :embedded_db):
  app/helpers/application_helper.rb:116:in `load_social_network_from_url'
  app/helpers/sessions_helper.rb:307:in `check_social_network'

and these are my gems:
joinple@JPL-dev-03:~/joinple$ gem list neo

*** LOCAL GEMS ***

neo4j (6.1.1, 6.0.5)
neo4j-core (6.1.1, 6.0.6)
neo4j-rake_tasks (0.4.0)
neo4j-will_paginate_redux (0.3.4)
neo4jrb_spatial (1.1.0)

Hey Paolo, sorry for not getting back to you on this. Did you find a resolution?

Yes Chris, just while writing this email ;-)
I'm doing a really bored job: reinstalling a linux machine from scratch, with the latest versions of ruby and rails.
Then I dowload the ebook copy of your neo4jrb.epub and spent last full night to read it with attention. (btw, I founded a couple of typos and opened an issue to verify them !)
The original problem has been solved replacing tabs with spaces, added by the editor while I added the production portion of the neo4j.yml file.
As a suggestion, you can remember people to not use tabs in *.yml files, putting a short info on the manual near each .yml
I know it's OT, but it can surely help.
There are also incompatibility with the following gems:
 # gem 'neo4jrb_spatial'
 group :development do
   # gem 'sass-rails-source-maps'
 end

and there is an annoying problem with web-console, already signaled but still not solved.
Btw, iweb-console requires at least ruby.2.2.2, and this was the initial reason we start the upgrate.
group :development do
  gem 'web-console', '~> 2.0'
end

I found the manual unvaluable, because is the first (real) attempt to have an ordered and detailed explanation of all the things related with the gem.
Some explanation about the autosaving of relationsips with not yet saved nodes are very important for us.
So, I'm now rechecking, a class after the other, the entire project with these suggestions in my head, and I'll let you know how it proceeds, and if I'll find new typos on the manual..

I'm glad you found the epub useful! ;)  I've always used the RTD website so far.
If you find any typos issues are good, though pull requests are better!  All of the documentation is in the neo4j gem repository under the docs folder:
https://github.com/neo4jrb/neo4j/tree/master/docs
It uses restructuredtext / sphinx which is a python thing, but it seems to be the best way of making documentation on readthedocs.  Each page in the manual on readthedocs.org should have a link to the corresponding GitHub page so it should be easy to fix typos.
I'm not sure I understand the other issue with 2.3.0.  Could you open a new issue with the details of the error?
Thanks!


Extending component files

Description:
I know about and (I think) I understand Ractive.extend() so far.
However, if I am using Ractive component files how would I apply the extension mechanism then? Is it possible at all?
Versions affected:
0.9.10
Platforms affected:
Ubuntu 18.04.4 LTS

If you're using the ractive bin to compile your components into js, then in the sub component, you import the target compiled file, which is really dependent on how you're handling your build or loading. For instance, the playground uses rollup to build a bundle to shunt into the output iframe, and you can extend a component like this (check out the files menu on the right).
If you're using a client-side loader, it's more or less the same - load the base component from the extension and extend it.

thanks for the explanation, @evs-chris. i can confirm, importing a component file works just as you say.
however, i am confused by the $TEMPLATE variable(?) – which obviously gets replaced with the actual component file’s template… just not by ractive, i assume (because i get a $TEMPLATE is not defined error); is this a feature of the playground only? done by rollup? (we are using webpack.)
in the docs, the example component file is made of require() calls and the component.exports setting instead of import and export statements – and the template is added without any further ado.
what is the difference between both approaches? are they interchangable? should everything work the same no matter which variant i use?

i tried the require() variant in the playground but it seems the loader does not like it. when i run the following files in my installation with webpack i get a Ractive no longer supports multiple inheritance. error…
app.rc.html

foo.rc.html

I am {{ name }}.

bar.rc.html

stack trace
ractive.js:19031 Uncaught Error: Ractive no longer supports multiple inheritance.
    at extendOne (ractive.js:19031)
    at Array.reduce ()
    at Function.extend (ractive.js:19014)
    at Object. (bar.rc.html:11)
    at Object../apps/mobile/bar.rc.html (bar.rc.html:11)
    at __webpack_require__ (bootstrap:19)
    at Object. (app.rc.html:5)
    at Object../apps/mobile/app.rc.html (app.rc.html:145)
    at __webpack_require__ (bootstrap:19)
    at Module../apps/mobile/entry.js (entry.js:1)

There are two different, but very similar component types that Ractive supports. The one in the documentation is entirely runtime and requires a runtime loader like ractive-load based on rvc. The other type is entirely compile-time and requires a build step, probably using a build tool like rollup or webpack. The ractive binary, included since 0.9, I believe, will compile a ractive component and replace a handful of special placeholders like $TEMPLATE and $CSS with the parsed and processed equivalent from the component file. The playground uses the rollup bin plugin to compile single file components in the playground.
Since you're using webpack, you can author components in the same way and use the webpack bin loader and the same syntax as the playground example. If you're using .rc.html as an extension, you may need to tweak the loader config to handle those files.
component.exports = {
data: { name: 'Foo' }
};
Try setting up webpack with the bin loader and these:
app.rc.html
<Bar />

foo.rc.html

I am {{ name }}.

bar.rc.html

You can also use ES6 module syntax with webpack to be slightly more cross-tool compatible. The only thing that changes there is the require and module.exports usage. The ractive bin uses placeholders because it lets you put anything you want in your component files, including multiple component definitions per file. Also, the example bar.rc.html could just as easily be a .js file, as it doesn't have any template or css involved. Since the ractive bin doesn't care about anything in your component other than the template and css, you can also use typescript or other compile-to-js languages as your script. The bin even has a mode that just exports { template, css } for semi-typesafe component building with typescript.

darn, although i even starred ractive-bin-loader i totally forgot about it… it works! and so much better than the ractive-component loader. thanks, @evs-chris.
that’s great news on the one hand, on the other it’s a little bit sad to find it out the hard way – at least i did not remember to read about this alternative approach in the docs. (just took another coarse look with the same result.)
and last but not least, while component files are mentioned and described in the documentation, they obvisouly only work with the ractive-component-loader – which just from its name of course seems like the first choice to go (and potentially become stuck) with.
maybe the docs could need some update in this regard? the component files page itself even links to a non-existing loaders page (right at the bottom)…
either component files as described on that very page are not hip anymore  – then maybe communicate they are not recommended or even deprecated. otherwise it would be nice to get the full picture of how component files can be written, which loader they need, and what obstacles there might be using them. (your reply above would be a great start!)
i would even assign this task to myself – but unfortunately, the company i am working for is reconsidering right now whether to replace ractive with a different framework. and documentation issues like these are one reason, to be honest…

Yeah, the docs are not in the greatest shape, as that's something I'm particularly bad at. I'm currently the only active maintainer, but for the most part ractive is pretty stable. I have plans to rewrite the docs in a more concise api-based style and clean out the some of the years of aggregate cruft. I also have plans to try to rewrite a few parts of ractive to lose some of 60% overweight it's gotten. Unfortunately, I don't have much free time right now, so as long as there are no immediate bugs, I'm not really getting any work done on any of that.
Open source front-end libraries are a bit of a dangerous gamble. Svelte is my favorite of the current generation by far, but I'm not positive that it has enough of a core dev team for me to be comfortable choosing it without also being able to do maintenance myself (which I am, but there are a few things keeping me from being able to use it as a first choice for most of what I do - big heavy back-office apps that seem to stick around for ages with no budget to significantly improve). You're also subject to never ending best practice changes. I don't really have a particular point, I just wanted to say that the front-end landscape and pacing stress me out. That's why I picked ractive ages ago and have stuck with it for this long - despite its handful of warts (docs and weight being the largest), it's fairly unique and very effective for what I need. It even has a reasonable typescript path aside from whatever happens in the template - and that seems to be an issue for all of the template-based frameworks.

Open source front-end libraries are a bit of a dangerous gamble

100% agree.

I don't really have a particular point, I just wanted to say that the front-end landscape and pacing stress me out. That's why I picked ractive ages ago and have stuck with it for this long - despite its handful of warts (docs and weight being the largest), it's fairly unique and very effective for what I need.

One of the reasons I love Ractive is that its core concepts are simple, yet it's powerful enough to build complex stuff. It's been also quite easy to introduce new team members to it.

Yeah, the docs are not in the greatest shape, as that's something I'm particularly bad at. I'm currently the only active maintainer, but for the most part ractive is pretty stable.

I've been using Ractive since 0.7.x, and especially since 0.9.x, Ractive has been a pretty reliable tool. I haven't said this enough times: thank you Chris.

Yeah, the docs are not in the greatest shape, as that's something I'm particularly bad at.

did not want to point any fingers because i know how hard documenting is, generally – and for a changing and growing codebase, especially.

I'm currently the only active maintainer

i admit that’s worse than i suspected; i assumed it might be at least a fistful of people… for that you are doing an amazing job @evs-chris and i also would like to emphasize how precious your and the community’s support and assistance always was. thanks a lot.
nevertheless, one human being solely responsible for maintaining a whole front-end framework raises indeed a red flag for me nowadays. (so much for the dangerous front-end library gamble.)

but for the most part ractive is pretty stable.

on the one hand it in fact feels like it is. but then again if one – like me – does not know the inner workings too well, and the documentation does not tell you either, the feeling begins to wear off.

I have plans to rewrite the docs in a more concise api-based style and clean out the some of the years of aggregate cruft. I also have plans to try to rewrite a few parts of ractive to lose some of 60% overweight it's gotten. Unfortunately, I don't have much free time right now, so as long as there are no immediate bugs, I'm not really getting any work done on any of that.

that sounds ambitious and defensive at the same time :wink: i guess the 90% of open source projects out there are run like this. and righteously so because we need them, they bring the necessary diversity.

Svelte is my favorite of the current generation by far, but I'm not positive that it has enough of a core dev team

in our decision-making process svelte got a huge bonus because of its conceptual freshness – but placing our bets on another “rich harris framework” just did not feel that attractive, anymore.

I don't really have a particular point, I just wanted to say that the front-end landscape and pacing stress me out.

for sure trying to catch up with these developments is stressful. but so can be sticking with your long-time framework and coping with a lack of developer tools and third-party integrations, too… your mileage may vary.
to conclude this post, i let you know we picked vue as our framework of choice. it’s community-based (and thrivingly so), very well documented, and looked the easiest to migrate from ractive to. and yes, its popularity was another reason, it might have some impact on recruiting.


gtk 9 no longer builds on msvc

I have my machine setup as per https://web.archive.org/web/20191122174227/https://gtk-rs.org/docs-src/requirements.html
Needing to use the internet archive to access important docs is a separate issue I guess...
gtk 8 builds fine but gtk 9 does not.
Furthermore glib is the failing crate here which I tested independently, glib 9 builds fine but glib 10 fails.
The error is:
error: failed to run custom build command for `glib-sys v0.10.0`

Caused by:
  process didn't exit successfully: `C:\Users\rukai\Projects\foo\target\release\build\glib-sys-1268d469ca4ba03d\build-script-build` (exit code: 1)
--- stderr
Failed to run `"pkg-config" "--libs" "--cflags" "glib-2.0" "glib-2.0 >= 2.42"`: The system cannot find the file specified. (os error 2)

warning: build failed, waiting for other jobs to finish...
error: build failed

Those instructions are incomplete unfortunately. We should write proper instructions for Windows and update that. Please take a look at the GTK installation page though: https://www.gtk.org/docs/installations/windows/
You will also need pkg-config. This version for Windows works reasonably well: https://sourceforge.net/projects/pkgconfiglite/ . The pkg-config crate should ideally install that itself if not found on the system, see https://github.com/rust-lang/pkg-config-rs/issues/103.
Then you would point the PKG_CONFIG_PATH environment variable to the directory where GTK, GLib, etc are installed. It should be the full path to the subdirectory that contains the .pc files, e.g. glib-2.0.pc. This is usually the lib/pkgconfig subdirectory.
Once that is done everything should build correctly. If there are still problems, please let us know here (and also the content of the lib/pkgconfig directory and the output of pkg-config --libs gtk+-3.0). Thanks!

I installed pkgconfiglite via chocho install pkgconfiglite.
Then I created the PKG_CONFIG_PATH as you described.
However its still failing, but this time with:
   Compiling glib-sys v0.10.0
error: failed to run custom build command for `glib-sys v0.10.0`

Caused by:
  process didn't exit successfully: `C:\Users\rukai\Projects\Foo\target\release\build\glib-sys-1268d469ca4ba03d\build-script-build` (exit code: 1)
--- stderr
`"pkg-config" "--libs" "--cflags" "glib-2.0" "glib-2.0 >= 2.42"` did not exit successfully: exit code: 1
--- stderr
Requested 'glib-2.0 >= 2.42' but version of GLib is

yes it just cuts off at the end there.

Perhaps you should add the directory containing `gtk+-3.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gtk+-3.0' found
PS C:\Users\rukai\Projects\vcpkg\installed\x64-windows\lib\pkgconfig> pkg-config --libs glib-2.0
-LC:/Users/rukai/Projects/vcpkg/installed/x64-windows/lib -lglib-2.0
PS C:\Users\rukai\Projects\vcpkg\installed\x64-windows\lib\pkgconfig>

That's a bug in vcpkg, it's not installing pkg-config files for gtk apparently (but for glib it does). Please report this here: https://github.com/microsoft/vcpkg/

I submitted https://github.com/microsoft/vcpkg/issues/12282
However it looks like there is an additional issue as even glib by itself is failing, which should be fine as its pkgconfig files exist?

FWIW, the solution for now would be to either use GTK from msys2 or to build it yourself.

As mentioned in my previous comment:
   Compiling glib-sys v0.10.0
error: failed to run custom build command for `glib-sys v0.10.0`

Caused by:
  process didn't exit successfully: `C:\Users\rukai\Projects\Foo\target\release\build\glib-sys-1268d469ca4ba03d\build-script-build` (exit code: 1)
--- stderr
`"pkg-config" "--libs" "--cflags" "glib-2.0" "glib-2.0 >= 2.42"` did not exit successfully: exit code: 1
--- stderr
Requested 'glib-2.0 >= 2.42' but version of GLib is

PS C:\Users\rukai\Projects\vcpkg\installed\x64-windows\lib\pkgconfig> pkg-config --libs glib-2.0
-LC:/Users/rukai/Projects/vcpkg/installed/x64-windows/lib -lglib-2.0

Ah sorry, missed that in the previous comment.

Requested 'glib-2.0 >= 2.42' but version of GLib is

This is cut off. What does pkg-config --modversion glib-2.0 say?

its empty:
PS C:\Users\rukai> pkg-config --modversion glib-2.0

PS C:\Users\rukai>

Hm. Can you paste the content of glib-2.0.pc?

prefix=${pcfiledir}/../..
exec_prefix=${prefix}
libdir=${prefix}/lib
includedir=${prefix}/include

glib_genmarshal=glib-genmarshal
gobject_query=gobject-query
glib_mkenums=glib-mkenums

Name: GLib
Description: C Utility Library
Version:
Requires.private:
Libs: -L${libdir} -lglib-2.0
Libs.private:
Cflags: -I${includedir}/glib-2.0 -I${libdir}/glib-2.0/include

Ah so they exist but are completely broken, yay :) Can you create another vcpkg issue about that?

ok, i'll add it to the existing issue as they are very similar issues.
Thanks for the assistance!

Those instructions are incomplete unfortunately. We should write proper instructions for Windows and update that. Please take a look at the GTK installation page though: https://www.gtk.org/docs/installations/windows/
You will also need pkg-config. This version for Windows works reasonably well: https://sourceforge.net/projects/pkgconfiglite/ . The pkg-config crate should ideally install that itself if not found on the system, see rust-lang/pkg-config-rs#103.
Then you would point the PKG_CONFIG_PATH environment variable to the directory where GTK, GLib, etc are installed. It should be the full path to the subdirectory that contains the .pc files, e.g. glib-2.0.pc. This is usually the lib/pkgconfig subdirectory.
Once that is done everything should build correctly. If there are still problems, please let us know here (and also the content of the lib/pkgconfig directory and the output of pkg-config --libs gtk+-3.0). Thanks!

I'm stuck over here with this problem
error: failed to run custom build command for glib-sys v0.10.1
Caused by:
process didn't exit successfully: C:\Users\Dell\IdeaProjects\Swift_desktop\target\debug\build\glib-sys-3478cd927fc7fd67\build-script-build (exit code: 1)
--- stdout
cargo:rerun-if-env-changed=GLIB_2.0_NO_PKG_CONFIG
cargo:rerun-if-env-changed=PKG_CONFIG
cargo:rerun-if-env-changed=GLIB_2.0_STATIC
cargo:rerun-if-env-changed=GLIB_2.0_DYNAMIC
cargo:rerun-if-env-changed=PKG_CONFIG_ALL_STATIC
cargo:rerun-if-env-changed=PKG_CONFIG_ALL_DYNAMIC
cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64-pc-windows-msvc
cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64_pc_windows_msvc
cargo:rerun-if-env-changed=HOST_PKG_CONFIG_PATH
cargo:rerun-if-env-changed=PKG_CONFIG_PATH
cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64-pc-windows-msvc
cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64_pc_windows_msvc
cargo:rerun-if-env-changed=HOST_PKG_CONFIG_LIBDIR
cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR
cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64-pc-windows-msvc
cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64_pc_windows_msvc
cargo:rerun-if-env-changed=HOST_PKG_CONFIG_SYSROOT_DIR
cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR
--- stderr
"pkg-config" "--libs" "--cflags" "glib-2.0" "glib-2.0 >= 2.42" did not exit successfully: exit code: 1
--- stderr
Requested 'glib-2.0 >= 2.42' but version of GLib is 2.28.8

The minimum supported version of GLib from gtk-rs is 2.42, which is more than 8 years old.


Few lines on how elixir is used

It would be nice to have some info on how elixir is used.

@aleinside do you mean how each company uses Elixir?  I that could be a nice addition though I worry about it being too verbose.  Thoughts?

@doomspork what do you think about a README file in relative directory, for example:
companies/<type>/<company name>/README?

:+1: It would be really good to have some info on how elixir is used, whether on the whole, or a part of system, if so which part of system and such.

I agree it would be nice to know how it was being used, that was kind of the idea behind the GitHub link.  If you're interested in knowing what they're doing you could check out their site or their GitHub repos.
That said, I do have some reservations about a more substantiated write-up:

If it's perceived as required, it will turn away contributions.
I suspect a decent portion of the write-ups will be: "Using Phoenix".  Is that a value add?
But my biggest reservation: Many of the companies do not want to disclose that information.  When I explored this before the bigger names were reluctant to publicly share how they were using it.

@aleinside & @avinoth what do you think about using the new PR templates to suggest adding a note about usage?
The template could outline the format desired format while reminding them to alphabetize and include some mention of their usage.

@doomspork Sounds good. Regarding your concerns over the companies might not want to share how elixir is being used, We aren't seeking any detailed explanation of how they've implemented but rather just how elixir fits into their ecosystem. An online would suffice.
Do you want me to create the template or do you have one in mind?

@avinoth if you'd like to take a stab at putting together a template, @aleinsideand I  can provide some feedback and then merge.  Sound good?
Thanks for your interest and feedback :+1:

Can we close this issue then?

@avinoth yup :+1:


Implementers Guide

Migrated from https://github.com/ethereum-alarm-clock/eac.js/issues/9
I think one thing that would make adoption by wallets and whatnot smoother would be an implementers guide.  All of the information is probably already present in the docs, but something targeted directly at someone who's implementing a graphical interface on top of the protocol would go a long way to help get metamask/mew/mist onboard.

closing since this is no longer needed


GUACAMOLE-526: Update webapp to angular 1.6.9.

What are these new "Possibly unhandled rejection" errors from AngularJS?

Ah yes, those. After further analysis, those are a new behavior of the way promise rejections are handled as of Angular 1.6, and are surprisingly difficult to work with.
Additional thought will be required to figure out how to get Angular promises and Guacamole to be friends again.

Regarding promise rejections, though it is both nice and annoying that throwing something within a callback results in promise rejection with whatever was thrown (it makes rejection easy, but suddenly you can't be certain that your REST error handling will reject with the JSON error response or a JS error from some bug in a prior callback), maybe we can work around this with some sort of wrapper function.
For example, rather than:
someService.getThings()
.then(function gotThings(things) {
    // :)
})
.catch(function sorryNoThings(err) {
    // Is it a REST error? Is it a JS error?
});

we could do something like:
someService.getThings()
.then(function gotThings(things) {
    // :)
})
.catch(restService.catchError(function sorryNoThings(err) {
    // Always only a REST error. JS errors automatically logged without invoking reject callback.
}));

We could even provide convenience handling for REST error responses which are not errors in context of the particular request in question, such as some 404's:
someService.getThings()
.then(function gotThings(things) {
    // :)
}).catch(restService.ignoreError(Error.Type.NOT_FOUND)); // Silently ignore given error type, logging all others

Regarding the "Possibly unhandled rejection" warnings, I believe I have a set of commits which solve things. If we can address the other issues here (such that things are ready for merge and the only problem is log noise), I think we're go.

Specifically: https://github.com/jmuehlner/guacamole-client/compare/angular-1.6.9...mike-jumper:fix-angularjs-1.6-warn

@mike-jumper Handling those rejections with a wrapper sounds like a good idea, if you've got that working.
I think this PR should meet your criteria for merging now.

Please also be sure to properly tag the JIRA issue in each commit message, and to not include merge commits within the PR (you'll probably need to rebase). Looking at the overall changes, the first commit looks great, but the commits that follow lack the JIRA issue and include one merge:

Ok, rebased and removed the angular-cookies dependency.

Looks great, but please tag the JIRA issue in the commit messages. The first commit (b3eeb36) tags the JIRA issue correctly, but the second (33f537a) does not.

Oops! Fixed.


boards: arm: stm32f3 disco has stm32cubeprogrammer as runner

Adds the stm32cubeprogrammer as runner of the stm32f3_disco
This will help testing the platform and others with twister and more
Change the ../map.yaml if needed
Signed-off-by: Francois Ramu<EMAIL_ADDRESS>

Adds the stm32cubeprogrammer as runner of the stm32f3_disco This will help testing the platform and others with twister and more

why can't twister be used now?

Adds the stm32cubeprogrammer as runner of the stm32f3_disco This will help testing the platform and others with twister and more

why can't twister be used now?

We had some situations were the stm32f3_disco reported "Device issue (Flash error?)" when running.


Replace CanvasCaptureMediaStream with CanvasCaptureMediaStreamTrack

web-sys currently has a binding for CanvasCaptureMediaStream, however there are no mentions of this interface on MDN or in W3C editors draft. The only mentions of this interface are floating around on Stack Overflow from 2019 and on this page where it seems that perhaps Firefox once implemented it.
It seems that the HTMLCanvasElement.captureStream method now returns a MediaStream instance instead of a CanvasCaptureMediaStream. This MediaStream instance now contains a CanvasCaptureMediaStreamTrack, which provides the requestFrame method and canvas attribute that used to exist on CanvasCaptureMediaStream.
This PR should bring our bindings for canvas capture up to date. If someone could confirm that the Pref attribute in the WebIDL is correct that would be great. I cannot find any documentation on this and the content of these strings seems a bit random to me.

See https://github.com/w3c/mediacapture-fromelement/issues/76 for more details

This is a breaking change, which I'd rather avoid. I don't think there'd be much harm in just leaving the old API there in addition to the new API, so perhaps we could do that instead?
As for Pref, it's a non-standard extension used by Mozilla that's a holdover from when all of our WebIDL was imported from Firefox. It's completely ignored by the WebIDL bindings generator, so feel free to get rid of it. (Firefox uses it to keep track of which preference in about:config controls whether the API is available.)

Ok, I will remove Pref and leave the old API in place. I was surprised today to see that the latest version of Firefox at the time of writing still returns a CanvasCaptureMediaStream from captureStream.

@Liamolucko actually, I do not think this is a breaking change after all since I am proposing to add captureStream in #3317 and without this method, CanvasCaptureMediaStream is inaccessible via web-sys, right?

No, it can accessed via. JsCast (dyn_into and friends). The fact that it can only be accessed that way does make it a more minor breaking change, which I would be willing to make if necessary, but I don't really see the need when it can be left alone (or deprecated).
It's also not entirely obsolete, as Firefox hasn't yet updated its implementation of captureStream which still uses CanvasCaptureMediaStream.

Ok, so let's leave the old CanvasCaptureMediaStream in place and additionally introduce the newer, standardised CanvasCaptureMediaStreamTrack. captureStream will be added as per the specification and return an instance of MediaStream. I will close this PR and #3317 in favour of a new PR that includes both changes and is based of the current main branch.

Closing in favor of #3325


LUCENE-9951: Add InfoStream to ReplicationService

An InfoStream is added to the ReplicationService (similar to the ReplicationClient) to allow debugging replication issues

Description
Adds InfoStream to ReplicationService to facilitate debugging
#10990
Solution
Tests
Checklist
Please review the following and check all that apply:

[x] I have reviewed the guidelines for How to Contribute and my code conforms to the standards described there to the best of my ability.
[x] I have created a Jira issue and added the issue ID to my pull request title.
[x] I have given Lucene maintainers access to contribute to my PR branch. (optional but recommended)
[x] I have developed this patch against the main branch.
[x] I have run ./gradlew check.
[ ] I have added tests for my changes.

Thanks @ChristophKaser and sorry for this very late reply!  I like this idea -- Replication is so tricky to debug.  This now has conflicts unfortunately -- do you want to refresh the PR to resolve them?

@mikemccand Thank you for looking at the patch! However it is a bit hard to refresh this PR - after all, the http servlet based replication mechanism has been removed from lucene in PR #12038.
I have yet to look at the 'new' replication mechanism and port my code to it, so I can't really say whether it would benefit from adding an InfoStream to it ATM.

OK thank you for bringing closure @ChristophKaser.


Playback Controls

Which version are you using?
v1.5.0
Which operating system are you using?

[x] Linux amd64 standard
[ ] Linux amd64 Docker
[ ] Linux arm64 standard
[ ] Linux arm64 Docker
[ ] Linux arm7 standard
[ ] Linux arm7 Docker
[ ] Linux arm6 standard
[ ] Linux arm6 Docker
[ ] Windows amd64 standard
[ ] Windows amd64 Docker (WSL backend)
[ ] macOS amd64 standard
[ ] macOS amd64 Docker
[ ] Other (please describe)

Describe the issue
Description
The playback server is working but cannot control the video in vlc and browser(except firefox)
Discussion:-https://github.com/bluenviron/mediamtx/discussions/3068#discussion-6263370
Describe how to replicate the issue

start the server
publish with RTSP stream
I am publishing with ptz camera and started recording with default fs and enabled the playback server
started req for playback with this url http://localhost:9996/get?path=camera9&start=2024-02-24T17%3A50%3A00%2B05%3A30&duration=60
read with playback in vlc
Playback is playing in the vlc without any controls it is playing like a live

Did you attach the server logs?

no
Did you attach a network dump?

no

And also I tried an nodejs server to serve the recorded files using "streams" it is working in vlc (seek forward or backward)

This is fixed by using the "standard MP4" format of the playback server, documented in the README:
https://github.com/bluenviron/mediamtx?tab=readme-ov-file#playback-recorded-streams


fix: emit should take &mut T

We can access &mut T with iter.param_mut(). Therefore, we should use &mut T instead of &T in the emit function.

param_mut is deleted.


honor destination-dir (-D) flag

The processor (Asciidoctor) should take care of it with the option mkdirs: https://asciidoctor.org/docs/user-manual/#ruby-api-options
I think we should fix this issue upstream: https://github.com/asciidoctor/asciidoctor-cli.js (this file is copy-pasted from https://github.com/asciidoctor/asciidoctor-cli.js/blob/master/lib/cli.js)
Now that this project is more than just a prototype I think we should take some time to reuse/extend the Asciidoctor.js CLI. We might need to adapt Asciidoctor.js CLI but I'm totally fine with it :smile:
In the meantime I can merge this pull request if it's really a blocking issue for you otherwise I would prefer to start working on the Asciidoctor.js CLI integration.

The point about reusing ascidoctor-js CLI is valid though: having some kind of plugin infrastructure would be much better then copy-pasting code between the two repositories.
Unfortunately, that's not something I can help with: this requires more intimate knowledge about overall project interactions :)
So, because the issue is not-pressing, the right fix is involved, and there's no obviously good quick fix, I suggest closing the PR.


Added pipelinerunid param to manage count of CUD rows

This modification affects the pipeline template "Analytics/DataverseLink/DataIntegration/DVLinkToSQL_IncrementalCopy.zip" and the "Step1_EDL_To_SynapseLinkDV_CreateUpdate_SetupScript.sql"
Adding a new parameter "pipelinerunid" for dedup and merge script to keep the "datalaketosql" table updated with counts of created, updated, and deleted rows.
Plus added a parameter and an update query on the stored procedure.

Added the capability to update the "datalaketosql_log" table for both scripts related to SQL Azure and Synapse Dedicated.
Fixed the script for Dedicated to include deletion in the target during the merge step.


Redirect issue with DELETE method in Ajax

I'm sure there is something simple I am missing, but I'm having a problem getting respond_with to work with a remote destroy call.
I have a very simple controller method:
respond_to :html, :json
def destroy
     @object.destroy
      respond_with @object
end

When I hit the method remotely with Ajax, it deletes the object, but then tries to do a redirect to DELETE collection_path, instead of just returning head 'ok' or something similar.
If add ':js' to the respond_to, it then tries to fire off 'destroy.js', which is also not what I want.
Am I trying to bend responders to something it's not?
Thanks!

First thing I suggest you to do is inspect the XHR request on Chrome Developer Tools, and see the content of Accept header your browser is sending.
def destroy
  @list = current_user.lists.find params[:id]
  @list.destroy
  respond_with @list do |format|
    format.js { head :ok } # or try json format
  end
end


Type script conversion

JSdocs added, will eventually convert to typescript later.
Also removed unnecessary comments

Looks good, LGTM


AlienFan Pop Up Is Distorted

AlienFan Pop Up Is Distorted and not showing values/numbers as it should.
Ver <IP_ADDRESS>

Oh, i see. Will be fixed in next release.

Should be fixed in #8.2.2.


Visual Studio family

With Visual Studio family you mean the settings can be synchronized even with Visual Studio Code and Visual Studio Codespaces?

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

ID: f452163a-5b45-243c-9601-585359deec53
Version Independent ID: 881229c0-dfb7-6e68-00ae-868abd0c6687
Content: Synchronize settings - Visual Studio
Content Source: docs/ide/synchronized-settings-in-visual-studio.md
Product: visual-studio-windows
Technology: vs-ide-general
GitHub Login: @TerryGLee
Microsoft Alias: tglee

@dlibor It looks like this page is misleading when it mentions the "Visual Studio family." While including the word "family" was true in the past, it's no longer true since the advent of Visual Studio Code and Visual Studio Codespaces.
To answer your direct question: Visual Studio settings aren't shared with Visual Studio Code or Visual Studio Codespaces.
FYI: We've got a PR merged that removes the word "family" from this page. It's queued up for publish and will go live after 10:00am Pacific Time tomorrow (6/19/20). We'll close this issue now, however.
Thanks for helping us improve the documentation!


[Feature]: Demonstrate how to integrate with nprogress?

What is the new or updated feature that you are suggesting?
Sometimes when you have heavy operations in the route loader function, it takes some time before navigating to the new route. If there is no loading indicator on the screen it just feels slaggish. I suppose nprogress is a great fit here to indicate that something is happening before the navigating. Could you add a demo showing how to do this?
Why should this feature be included?
A demo showing how remix works with nprogress

You can use useTransition to know when to start Progress and when to complete it
let transition = useTransition()

useEffect(() => {
  // if it's not idle then it's submitting a form and loading the next location loaders
  if (transition.state !== "idle") {
    NProgress.start(); // so you start it
  } else {
    NProgress.done(); // when it's idle again complete it
  }
}, [transition.state])

Something like that, put it in the root route and it will work globally.

@sergiodxa Thanks, I will have a try.

@dpyzo0o I just tried it in an app and it works, I wrote about the whole setup here https://sergiodxa.com/articles/use-nprogress-in-a-remix-app

@dpyzo0o I just tried it in an app and it works, I wrote about the whole setup here https://sergiodxa.com/articles/use-nprogress-in-a-remix-app

Argument of type '"idle" | "submitting" | "loading"' is not assignable to parameter of type 'DependencyList | undefined'.
  Type '"idle"' is not assignable to type 'DependencyList | undefined'.ts(2345)
(property) state: "idle" | "submitting" | "loading"

I'm using typescript and got this type error


minor corrections

fix typos in module names
fix compilation errors when importing theme into styles.scss:
@import "../../node_modules/amexio-ng-extensions/styles/mda/at-md-blue.scss";

will cause the following compilation errors:
o	cannot resolve ‘prev.png’, ‘next.png’, & ‘search-icon.png’
this happens when importing theme in both:
src/styles.scss
src/content/styles.scss

PR Checklist
Please check if your PR fulfills the following requirements:

[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[x ] Documentation content changes
[ ] Other... Please describe:

What is the current behavior?

build compilation errors due to typos in module names

Issue Number: N/A
What is the new behavior?
eliminates compilation errors
Does this PR introduce a breaking change?

[ ] Yes
[x ] No

Other information

Codacity displays the following message:

Seems like the v5.21 is not being analyzed. To review this pull request enable the branch in the repository settings.

when I click the link to enable the branch in the repository settings, Codacity displays:

Oops - Request handler not found: /manual/arafkarsh/amexio.github.io/settings/branches


Sync master from odh v1.9-branch to get the latest changes ready for rhoai-nightly

Followup to

https://github.com/opendatahub-io/kubeflow/pull/420

Created using link
https://github.com/red-hat-data-services/kubeflow/compare/master...opendatahub-io:kubeflow:v1.9-branch

Looked it over
/approve