How can I create a new custom pattern?

Hi, I'm currently working in a project, and I needed a new pattern in the lines of /[a-zA-Z0-9]/ how can I get this? is there a way to include this new pattern programatically without having to actually hack the code?
Thanks.

Hey there.
I'm currently having the same issue, since I need the exact regex /[A-Za-z0-9]/ to work on the pattern.
There's a definition of a patterns object variable which has all the available patterns as properties of the object (line 239, it seems).
You can create a new property on your end to assign the pattern you wish, which will probably solve this issue for that specific matter.
// Example
T: /[A_Za-z0-9]/,
Defining a new pattern has solved this issue for me on my project. I hope it suits you well.

Hello,
I'm havving the same issue, I need to work with this pattern [a-zA-Z0-9\s.*], my input should match with this regex.

I need to create a validation for TIME with this regex '([01]?[0-9]|2[0-3])[:;][0-5][0-9]' can we do this.


RTC WDG Reset when GNSS is started (IDFGH-8139)

Answers checklist.

[X] I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
[X] I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
[X] I have searched the issue tracker for a similar issue and not found a similar issue.

IDF version.
v5.0-dev-3290-g01d014c42d
Operating System used.
Windows
How did you build your project?
Command line with idf.py
If you are using Windows, please specify command line type.
PowerShell
Development Kit.
Custom board with ESP32S3
Power Supply used.
Battery
What is the expected behavior?
The device is able to connect to MQTT backend server via Modem and GNSS started.
If a reset happens, it is expected to have some more info. Currently it is only said that it is RTC WDG reset.
What is the actual behavior?
The device resets 40-80 sec after MQTT server is connected via Modem and GNSS is started
Steps to reproduce.
Power Off and then Power On the SIMCOM or RESET
Switch the ESP in 2 wire mode as the SIMCOM always starts in 2 wire mode
Switch the SIMCOM to 4 wire mode while the ESP is still in 2 wire mode
Switch the ESP to 4 wire mode
Config the modem
Get operator name, signal strength etc.
Start CMUX mode
Receive PDP context
Connect to Mosquitto Broker
Subscribe to a MQTT topic
Start GNSS
Check fix status every 100ms , but fix status is "INVALID"
after 40-80s , the device is reset due to RTCWDT_RTC_RST
Debug Logs.
} (76030) command_lib: Command: {AT+CGNSINF
} (76040) command_lib: Token: {
I (76040) command_lib: Token: {+CGNSINF: 1,,,0.000000,0.000000,-18.000,,,1,,0.1,0.1,0.1,,,,9999000.0,6000.0}
} (76040) command_lib: Token: {
I (76040) command_lib: Token: {OK}
} (76130) command_lib: Command: {AT+CGNSINF
} (76140) command_lib: Token: {
I (76140) command_lib: Token: {+CGNSINF: 1,,,0.000000,0.000000,-18.000,,,1,,0.1,0.1,0.1,,,,9999000.0,6000.0}
} (76140) command_lib: Token: {
I (76140) command_lib: Token: {OK}
ESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0x10 (RTCWDT_RTC_RST),boot:0x2f (SPI_FAST_FLASH_BOOT)
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fcd03e0,len:0x32b0
load:0x403b6000,len:0xbb8
load:0x403b9000,len:0x4c0c
entry 0x403b6260
W (30) boot.esp32s3: eFuse virtual mode is enabled. If Secure boot or Flash encryption is enabled then it does not provide any security. FOR TESTING ONLY!
I (46) boot: ESP-IDF 01d014c-dirty 2nd stage bootloader
I (47) boot: compile time 20:26:10
I (47) boot: chip revision: 0
I (49) boot.esp32s3: Boot SPI Speed : 80MHz
I (54) boot.esp32s3: SPI Mode       : DIO

More Information.
The issue is only observed when the GNSS is started and there is no fix status!
If the GNSS is not started via set_gnss_power_mode(1), then there is no reset.
If the GNSS is started but the device is outside and gets fix status, then there is no reset.
If the GNSS is started and then stopped (after 30 sec) via set_gnss_power_mode(0), then there is a reset.

There was a bug that might have caused similar behavior (fixed in https://github.com/espressif/esp-protocols/pull/157)
Could you please check if that fixes the problem you're reporting? @RilabsAutomotive

We will integrate, this change. Thank you again , David!
The SIMCOM support confirmed that it is not possible to use GNSS and mobile data in the same time for SIM7070G. They promised to fix this issue on their side.

Closing as it's not an issue on IDF side (feel free to reopen of create a new one if any other trouble)


Remove all usages of instanceOf from the repo

instanceOf in inconsistent and doesn't work all the time, especially around iframes. We should remove all usages of it from the repo and also add checks to ensure more usages are not added.
Some recent fixes: #6345, #5366

@agarwal-navin Based on your recent fixes I think this eslint rule might be helpful: https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-instanceof-array.md

We need to disable usages of instanceOf not just for Arrays but for everything else too. Maybe that is what you meant too but just making sure :-).

Yeah, I didn't mean to imply the rule was a solution for all the cases. Just that it could be useful in partially enforcing the policy as we make fixes. I just wanted to make sure this issue had mention of a related lint rule.
I'll keep looking for other linting rules that could help.

I think the tone of the issue is a bit too harsh - there is no real need to remove all usages of isntanceOf (and it's simply impossible, due to usage of 3rd party code).
While it might be good direction, in really requirement is to do it only for objects that could pass iframe boundary, which is small set (logging, arrays). And as part of this exercise we should also re-evaluate the need to do instanceOf in such cases.
For example, instead of using ArrayBufferLike we might want to define our own interface (to be used on storage APIs) that hides implementation (i.e. has unknown prototype chain, no ArrayBuffer there), and ideally remove the need to even use duct typing by providing enough conversion / accessor methods on this interface to satisfy all the needs. Is this possible / viable direction?

That sounds reasonable. How do we find the list of objects that pass iframe boundary?

I think it's less about finding objects, but rather establishing where iframe boundaries could be and inspecting API and ensuring it adheres to certain requirements (sourced iframes would have much more requirements, if we support them).
Maybe for starters it's useful to enumerate where we support this boundary today (I believe today all of runtime code runs on same side of boundary, i.e. driver + loader + runtime). If so, where and how objects outside of this boundary can be passed to runtime or reverse? I remember we had issues with array buffers, but I'm not sure how (I do not remember :)).
I see 4 possible solutions here:

We disable all instanceOf in code base.
We disable usage of instanceOf for specific types (like array buffers - more likely to be used on iframe boundary) and push people toward bindInstanceOfBuiltin() for them
We advise people to do # 2 (i.e. no enforcement).
We ensure that it's impossible to use instanceOf in places where it should not be used, i.e. objects that cross iframe boundary are exposed through interfaces only and hide (encapsulate) original type (make it inaccessible).

for example, we can create IFluidBufferLike that has toString(encoding) & toUint8() methods on it - that seems like the only things that we care about.

Which one are we pursuing? It feels like it's # 3.

Touched base briefly with @curtisman and he confirmed my understanding that it is ultimately a goal to have some sort of linting rule that prevents the use of instanceof in "all" cases (with the option of locally disabling the linter in exceptional cases) like @agarwal-navin described above -- because it is a pattern we want to discourage -- so I believe we are targeting your # 1 @vladsud.
Built-in type validation should be covered reasonably well by bindInstanceOfBuiltin() proposed in #6674 and validations for custom classes would leverage user-defined type guards (to be added in subsequent PRs), like LoggingError.is(), that duck-type-check the precise interfaces actually required.

@vladsud @ChumpChief  does this meet our criteria for 1.0? If not, I'd like to punt into the future.

I'd say not needed.


Add weapon/action dice + mods on character sheet

Currently there is no way on the character sheet to view the dice to the rolled and modifiers to be added directly on the character sheet. Adding a column in the equipment tab which has this listed for each applicable item OR an "actions" section of "Details" panel of the character sheet which lists it for equipped items and possibly pinned spells or other effects.

OR an "actions" section of "Details" panel of the character sheet which lists it for equipped items and possibly pinned spells or other effects.

This is what the favourites section is for.

I would suggest that the weapon properties and attack/damage information be added to the Rich Tooltips:

Currently (and historically) my solution to making this information easily accessible is to manually include it in the description, which it is not for SRD items.

A properly formatted tooltip element would be better though.


Add async callback and parse recommendation details

Hey thanks for the pull request, I'm going to merge it in, but I've actually created another repo that is more generic and will allow for multiple different providers to be added to it. Check out the repo here: https://github.com/joshterrill/marijuana-verify
I've actually learned a little more about how modules should work, so i've improved it a little. If you see any changes to this one that should be made, go ahead and make a pull request :)


Issue with manifest. So PWA installation is not working.

@jaideepghosh You are using "browser"

browser  - A standard browser experience

https://web.dev/add-manifest/

I have fixed the issue in PR

Related changes are merged to development branch.


Migrating Change Tracking to AMA fails

When I try to do a migration, I get the following error message.
The migration template does not seem to work as desired.
Deployment template validation failed: 'The template resource 'xxxxxxx-xxxxx-xxxx-xxxx/resourcegroups/xxxxxx/providers/microsoft.hybridcompute/machines/xxxxxx' for type 'Microsoft.Compute/virtualMachines' at line '1' and column '2364' has incorrect segment lengths. A nested resource type must have identical number of segments as its resource name. A root resource type must have segment length one greater than its resource name.
Please see https://aka.ms/arm-syntax-resources for usage details.'.

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

ID: 483faea0-2cc4-58e4-311b-219e537680eb
Version Independent ID: 6f4c9892-a0fd-ccf9-81b0-d920f690aea9
Content: Migration guidance from Change Tracking and inventory using Log Analytics to Azure Monitoring Agent
Content Source: articles/automation/change-tracking/guidance-migration-log-analytics-monitoring-agent.md
Service: automation
Sub-service: change-inventory-management
GitHub Login: @SnehaSudhirG
Microsoft Alias: sudhirsneha

@Warfion
Thanks for your feedback! We will investigate and update as appropriate.

@Warfion - Thank you for providing the document details. It looks like you have an issue with the product itself and this feedback is not related to the docs improvement. In this forum, we focus on improving the docs and feedback related to docs only.
Do you mind posting your question on Microsoft QnA as our engineers and community are actively working on answering questions related to the product on the forum.
At this moment, Since there is no doc update required, We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


Field level docs

This Pull request adds comments for all fields, reactors the comments code and adds a test to see if all fields are commented.

@kindly Shouldn't @pindec and @robredpath simply make changes directly in the source spreadsheet, rather than copy-editing via GitHub comments, which you then need to resolve?

@kindly Shouldn't @pindec and @robredpath simply make changes directly in the source spreadsheet, rather than copy-editing via GitHub comments, which you then need to resolve?

The single source of truth has now changed to 999-docs.sql as the spreadsheet would be easy to generate from there and not vice versa.  From now on that is where the docs changes will happen.

The single source of truth has now changed to 999-docs.sql as the spreadsheet would be easy to generate from there and not vice versa. From now on that is where the docs changes will happen.

Sounds good!


added CONTRIBUTING.md

CONTRIBUTING.md file has been added to help future contributors and developers to participate in this project. It contains general rules for PRs and Code of Conduct.

Also this update contains some minor fixes in exception handling process. Exception, e was replaced by Exception as e because a) this is a more general practice and b) some linters may mark Exception, e expression as an error. Functionality has not been changed.


Remove --experimental-local

What this PR solves / how to test
Fixes #5212.
Author has addressed the following

Tests

[ ] TODO (before merge)
[ ] Included
[x] Not necessary because: removing arg

Changeset (Changeset guidelines)

[ ] TODO (before merge)
[x] Included
[ ] Not necessary because:

Public documentation

[ ] TODO (before merge)
[ ] Cloudflare docs PR(s): https://github.com/cloudflare/cloudflare-docs/pull/...
[x] Not necessary because: undocumented

We're not going to be removing this code in the near future, and since this PR is pretty stale I'm going to close it for now. It'll be relatively simple to reconstruct once we decide to properly remove this code path.


fix(#195): UserData behaviour change between 2 and 3 breaks order of execution

what

Split the bootstrap out of the userdata templates into separate files, add ${bootstrap_script} into files in its place
launch_template.tf Add precondition check; If after_cluster_joining_userdata is set but ami_image_id isn't and the OS is AL2/WINDOWS, show error
userdata.tf Add bootstrap_script to local.userdata_vars; load in the userdata_bootstrap* file for the OS if the OS is AL2/Windows, otherwise, use empty string.
variables.tf Add further detail to after_cluster_joining_userdata

why
Nodes that use custom userdata but don't use a custom-ami are creating a launch-template with the userdata in place but AWS is then injecting their bootstrapper at the end of the userscript. This means that after_cluster_joining_userdata will execute before cluster registration.
references
closes #195

Hopefully this PR will be rendered unnecessary by #200 and can be closed without merging. I would prefer not to mess with userdata unless necessary, because any change causes all the Nodes to be replaced.


Typo in SalesOrderScheduleLine.sql#L72 - column vbep.DATAAGING should be vbep._DATAAGING

https://github.com/GoogleCloudPlatform/cortex-reporting/blob/f2addbcca5d2f97ad1f4192e406b1249341bde9f/ecc/SalesOrderScheduleLine.sql#L72
Also, I'm unclear as to whether the overridden column name should contain one underscore or two. This pattern is applied inconsistently in the code base:
DataFilterValueForDataAging_DATAAGING   or
DataFilterValueForDataAging__DATAAGING

hi @dvmorris , thankds for the question. Replicating _DATAAGING  is not supported by some replication tools, so this is one of the edits people may need to make when deploying depending on the tool. Similar behavior is inconsistent with fields starting with /, which is not supported by Bigquery at all (yet some tools add other characters by default to replace). The alias should contain only one underscore, this is a pattern that was adopted later in the codebase. You are free to change the output of views that have two underscores, but we won't change the putput of the views as the downstream impact  is bigger than the benefits.


feat(QUI-105): track object data during block proposals

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#54  👈
#53
#52
main

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

Join @L8D and the rest of your teammates on  Graphite

Merge activity

Nov 15, 10:33 AM EST: A user merged this pull request with Graphite.


Projection repo catchup performance

Add write(Map<>) method to EntityRecordStorage.
Write projections in bulk fashion to improve the performance.

@armiol PTAL

@alexander-yevsyukov PTAL

@alexander-yevsyukov PTAL


read pending block not latest

the pending block contains finalized txs so it should be used for the most recent data
if you read from the pending block, there's a problem where the block number on chain is actually not queryable via the rpc because the block hasn't been assigned a block number since it's in the pending state. a fix has been made to account for this edge case

Let's fix the tests, likely needs an update of the devnet/RPC version

thanks, it was missing a mocked response


Proper return codes for 'already exists' errors in pageserver http api

Pageserver should return http 409 instead of 500 when branch/tenant already exists.
Right now to properly retry operations console lists all tenants on 500 error to check whether it is already there -- that is extremely hacky.

Have fixed it with https://github.com/zenithdb/zenith/pull/1286/commits/36cdc359972a2aab43599e4ba5c0d5887c1e5d6c , returning 200 for already existing tenant repos.
The corresponding console code for tenant creation gets simplified to regular go code:
https://github.com/zenithdb/console/pull/782/files#diff-dd7a078cc6918961ff0b46a9d656d355406a51b8acd91cff2018dcf4253a04b5R37-R39
Now tenant creation does not generate a timeline, you have to create the timeline separately (https://github.com/zenithdb/zenith/pull/1286/commits/556a1a9f2684bc48dde4096c452c6a0515ed069c), so already existing tenant directory isn't an obstacle to eagerly return 200, without creating anything.
Let me know, if that's not the right approach and something non-200 have to be returned.

Closed with https://github.com/zenithdb/console/pull/782 and https://github.com/zenithdb/zenith/pull/1286


Suggestion: Should this spec be more open to multiple Credential formats? [W3C Verifiable Credentials 2.0]

Hi there. Hope everyone is ok. I would like to know your opinion on this subject.
After I read the spec I got the feeling that this spec could be more open to other credential types like W3C Verifiable Credentials 2.0.
An Appendix already exists for W3C Verifiable credentials 2.0 in the SD-JWT spec.
The important missing part is about the revocation payload that should always be in plain format.
The problem is in W3C VC 2.0 spec this is called credentialStatus not status like in this spec and the status-list is of a different type.
I was wondering if this Spec could be more broad so it can support other credentials formats and their revocation mechanisms? Maybe more examples with other credential formats and not describe a single mechanism like I-D.ietf-oauth-status-list and leave this to the credential specification itself.

It sounds like Securing Verifiable Credentials using JOSE and COSE is more along the lines of what you're looking for.

Hi @bc-pi. First thanks for pointing me to that spec, I had not find it before.

Two months since pending close, no further activity, closing this issue.


Rainbow bridge requirements not working

If the rainbow bridge requirements are set to 1 or more stones, medallions, or dungeon rewards, none of the items in Ganon's Castle ever appear reachable.

Could you provide pictures of the settings and inventory for when it was not working?

Sure, here's one example. Starting from a fresh load of the pack, give yourself every stone and medallion:

Next, go into settings and enable Open Door of Time. You should see a few checks in Ganon's Castle become reachable, because the Rainbow Bridge Req. is set to "open". Next, set the Rainbow Bridge Req. to "stones". Those checks in Ganon's Castle are still reachable, because the required number of stones is set to 0. Finally, set Required for Bridge Spiritual Stones to any non-zero value, and you will see the checks become unreachable. You can see the same problem by setting Rainbow Bridge Req. to "medallions" and changing Required for Bridge Medallions or setting Rainbow Bridge Req. to "dungeons" and changing Required for Bridge Dungeon Rewards.

Thanks.
I think i have a rough idea for why this is.
Should he easy to fix thou

fixed


Naming a register 'reg' causes firrtl processing error

When a circuit contains a register definition like
val reg = Reg(init = UInt(0, width = 32))

It emits the following  firrtl line
    reg reg : UInt<32>, clock, reset

This causes an error
   at<EMAIL_ADDRESS>
There may be a family of such bugs.  I was able to identify at least one other,
If I name a circuit inst like this
val inst = Module( new BadNameReg )

It creates a firrtl line
  inst inst of BadNameReg

Which leads to an error
<EMAIL_ADDRESS>FIRRTL Parsing Error: Expected the 'of' keyword here.

It looks like the following should not be used as names if you want to be able to place them on the left-hand side of a connection (":="):
"flip", "wire", "reg", "mem", "cmem", "smem", "mport", "inst", "of", "node"
Should we flag these as illegal names in the chisel3 front-end?

I think these can be supported, I'm taking a look
On Wed, Apr 6, 2016 at 2:33 PM, Jim Lawson<EMAIL_ADDRESS>wrote:

It looks like the following should not be used as names if you want to be
able to place them on the left-hand side of a connection (":="):
"flip", "wire", "reg", "mem", "cmem", "smem", "mport", "inst", "of", "node"
Should we flag these as illegal names in the chisel3 front-end?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
https://github.com/ucb-bar/chisel3/issues/87#issuecomment-206580619

Following causes a null pointer exception in firrtl
package chiselTests

import Chisel._
import Chisel.testers.BasicTester

class RegNameAbuser extends Module {
  val io = new Bundle {
    val a = UInt(10).flip()
    val b = UInt(10)
  }

  val reg = Reg(UInt(8), init=UInt(1))
  reg := io.a

  io.b := reg
}
class RegNameAbuserTester extends BasicTester {
  val device_under_test = Module(new RegNameAbuser)
  val c = device_under_test

  device_under_test.io.a := UInt(1)

  assert((c.io.b === UInt(3)).toBool())

  stop()
}

class RegNameAbuserSpec extends ChiselFlatSpec {
  "tester" should "not blow up" in {
    assertTesterPasses(new RegNameAbuserTester)
  }
}


Adding An Dynamic Login page

Can I add this Project which is dynamic Login pages build using React? Once logged in even if you reload the page You will be still logged in. And it is also responsive. Below is the image of the project

Already we have


All hosts Fix incorrect text about onReady function

This is to fix #3331. The onReady function does run outside of an Office host, and you get null values in the info object.

Docs Build status updates of commit 7aa0db0:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/develop/initialize-add-in.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 1e333cd:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/develop/initialize-add-in.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Merging on behalf of @davidchesnut.


Not possible to "delete" metadata that is realtime-extracted

When using realtime extraction, deleting e.g. the caption of an asset is not possible. The setting of caption: '${asset.Caption || iptc.Description}' will always fill in the extracted IPTC data again, when the caption has been deleted via the media management.
One possible solution could be this:

make realtime extraction setup more fine-grained, and extract only when an asset is created
updates would then be allowed to "remove" data
offer a way to re-extract, e.g. using a button in the media management

Did you have that issue already, @daniellienert–and if yes, how did you solve it?

Hey @kdambekalns,
didn't had that issue yet.
Your idea could be a possible solution, but it would the not be possible to use the index command anymore as it would overwrite the data again.
What do you think about a flag to denote that data from an asset should take precedence even if empty. That could be implicitly set when an editor updates an asset or through an explicit checkbox in the UI. That flag could then be used in the mapping handle the asset correctly.


Issue with action buttons with customer FireFox on macOS

The content (text) of action buttons when viewed with FireFox (customer edition) on macOS is just blank. I've noticed that when checking the fonts (the FireFox lists all fonts on the dev tools). The inner html of buttons are just empty:
For example on that page:
http://adaptivecards.io/samples/

The content in developer FF edition is fine (just like on any other browser)

Hm, @dclaux any idea here? I'll have to find a mac to repro

This seems to be fixed. This could be a domain problem with font served (here you are using web fonts), or maybe specific font file was not available at that time. Thanks!


Fail to generate large amount of subnets due to Integer Overflow

I fixed (& simplified) the maxSubnets calculation in the subnet() method of the IpNetwork class and added a testcase which was failing before.

@simonerni This is great! Thank you. If you can please drop the version change commit from here, I will merge this.


Improve dataframe metadata handling

Closes #956. Closes #812. Closes #819.
Currently, dd.DataFrame accepts list/tuple and dd.Series accepts name as metadata.
This PR allows dd.DataFrame/dd.Series to be initialized by pd.DataFrame/pd.Series to preserve required metadata without increasing other metadata-related keywords. dd.DataFrame/dd.Series preserves empty pd.DataFrame/pd.Series to store all available metadata and give it to newly created instances via dask operations.
Also, dd.DataFarme.columns is changed to return pd.Index rather than tuple.
If this approach looks fine, I'll fix:

Rename _empty_partition to _metadata and merge the logic, as both should return empty pd.DataFrame/pd.Series
Simplyfy _get_return_type specification.

I'm very excited about this change.  I think that it will reduce maintenance costs of this module.
My approach to this would be to strictly enforce that all dask.dataframe objects hold empty pandas equivalents.  Operations like .dtype and .columns would become properties of the empty pandas object.  This requires a bit of work because it touches a lot of code but would, I think, be simpler in the end.  Thoughts?

Found #819 can be fixed by this change (also going to work on overwriting Series.name ).
I'm going to change these functions I/F and would like to ask which option is preferable. The change will be applied only to base function, not to methods like DataFrame.xxx.
Functions being changed:

dd.core.map_partitions: This is exported to dd.map_partitions, public?
dd.core.apply_concat_apply: This is not exported to dd namespace.

Options:

Remove columns kw, change only to accept empty pandas instances and some constants (no_default and return_scalar) :
Keep existing columns behaviour (return DataFrame if list is passed), and also accept pandas instances to specify return types.

I took a stab at this a while ago with a similar approach. The branch is here if you think it would be helpful, only the last 6 commits are the relevant ones.

This looks really good to me.

Hopefully the need for a user to supply the columns= keyword decreases after this pull request because we can run the user-defined-function on the empty dataframe and use the result.
If that approach doesn't work then I think we should go with option 2, though I don't have a strong opinion here.  What do you think?

OK, I think it's now ready for review. There are 3 changes from user's viewpoints.

Deprecate .column_info as it not needed anymore.
DataFrame.columns now returns Index. columns and Series.name are settable.
.apply will infer output type and its metadata if user doesn't provide columns or name. Because we cannot infer the result only from empty data (._pd), it reads .head() then infer displaying a warning.

import dask.dataframe as dd
df = pd.DataFrame({'a': [1, 2, 3, 4],
                   'b': [4, 5, 6, 7]},
                  index=pd.Index([0, 1, 2, 3], name='x'))
ddf = dd.from_pandas(df, 2)

def f(x):
    return pd.Series([x.sum(), x.mean()], index=['x2', 'x3'])

result = ddf.apply(f, axis=1)
# dask/dataframe/core.py:1594: UserWarning: columns is not specified, inferred from partial data. Please provide columns if the result is unecpected.
#   Before: df.apply(func)
#   After:  df.apply(func, columns=['x', 'y']) for dataframe result
#   or:     df.apply(func, columns='x')        for series result
#   warnings.warn(msg)

result.columns
# Index([u'x2', u'x3'], dtype='object')

The following functions still assume that metadata is a list of columns or a name:

Series.to_frame
io.from_imperative
io.read_hdf
_Groupby._aca_agg

I found these by raising an error if columns was a list or name was a string in the constructors.
There are also a number of places where the tests don't provide full metadata, but it probably isn't worth fixing these.

Historically in dask.array we supported arrays both with known dtypes and with unknown dtypes.  This caused some confusion.  Now we test that all functions propagate dtype information correctly within the assert_eq function.  Consistently propagating dtype information in all functions has, I think, dramatically improved dask.array.
It would be good to eventually get to the same point with dask.dataframe.  It's a lot of work though.  Dataframes are complex.

Thanks for the comments. I've fixed the points above.
I think groupby needs further refactoring, and would like to do separately.

I think groupby needs further refactoring, and would like to do separately.

Fine by me.  I'm really happy that this work is happening.

I'm happy to merge this at any point.  This is great progress. I'm also happy to share some of the work here.

Merging soon if no comments.


[NoSSR] Port the component from legacy Base UI

Took the NoSSR component from the legacy package, described and published it.
Preview: https://deploy-preview-593--base-ui.netlify.app/components/react-no-ssr/

Related to #659


(native) File association

[x] Associate .BEATs format on windows with application
[ ]  Associate .BEATs format on linux with .jar runnable
[x] Handle a mulitple application instance scenario by opening the newly loaded file in the existing appwindow instead

File association on linux is barely used, This issue is closed with "wont-fix" until demand is higher


Alt+Double click should open properties

Is your feature request related to a problem? Please describe.
No problem at all, just a compatibility issue with the default Windows Explorer
Describe the solution you'd like
When holding the Alt key, double clicking on a file or folder should open the properties not executing or opening the file or folder.

@Hefaistos68 This change has ben implmented with #4441.


[$500] [DISTANCE] LOW:MapBox doesn't work on AdHoc builds

Problem
A C+ team member reported that MapBox isn't working on AdHoc builds.

Solution
Figure out why the token isn't working in the AdHoc builds
Affects native mobile:
iOS
Android
Some additional context from @roryabraham :

I think in the case of AdHoc builds, the MAPBOX_SDK_DOWNLOAD_TOKEN is available since the action is manually triggered by an Expensify employee and then just checks out the branch in the fork.

So it seems there's some other reason this isn't working

Example build where it seems setup-mapbox-sdk.sh runs as expected on a test build for a PR from a fork: Expensify/App/actions/runs/6692885376/job/18183021632

Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~011cb2c727a9bac4b8
Upwork Job ID:<PHONE_NUMBER>610885120
Last Price Increase: 2023-11-28

Thanks, updated - affects mobile devices that use the token so native iOS and Android

Proposal
Please re-state the problem that we are trying to solve in this issue.
MapBox doesn't work on AdHoc builds
What is the root cause of that problem?

With AdHoc builds there are strict content security policies such as script-src 'self'. The mapbox by default creates a URL from a blob and sets it as the worker script src. This violates that policy and that is why we see the console log above in dev tools.
https://github.com/visgl/react-map-gl/blob/e11b41eefe73ff773bbec1db73277e4aca1f1bef/src/components/map.tsx#L76-L79
The previous error affects the mapbox.supported function to always return false in this situation because the mapbox script worker URL can not to created from a blob. That is why see the console log below.

I got the main idea from a similar discussion in the react-map-gl repo. The maintainers update the code above to setGlobals before checking if is supported because setting workerUrl did not work.
What changes do you think we should make in order to solve the problem?

According to the discussion mentioned previously, it suggests adding the map prop to workerUrl to a static asset library. Such as:
workerUrl=`https://api.mapbox.com/mapbox-gl-js/v${mapboxgl.version}/mapbox-gl-csp-worker.js`

This works because the worker will be forced to fetch the worker thus adhering to the script-src 'self' policy. However, we should probably add a condition to check if such policies exist so we don't interfere with other types of builds.
diffs or write walls of text. Do not create PRs unless you have been hired for this job.

bump @fedirjh on above proposal!

@fedirjh I have failed to reproduce the bug on this Android ad-hoc build available here https://ad-hoc-expensify-cash.s3.amazonaws.com/android/30968/index.html. The map worked perfectly fine on a physical device. Could you please try to reproduce the bug because it seems fixed?
However, the web application still refuses to load the map as before.

Yup that sounds good to me, we can just test by generating the ad hoc on the PR and seeing if it works on web. It's currently the only proposal we have so far that seems to address this so we'll just move forward with that

Thanks for investigating @fedirjh. I'll look into that for the ad hoc build

After the CSP changes, this still seems to be failing

I wonder if we need both the CSP and front-end changes. Going to try generating another adhoc on the previous PR

Ah I see - yeah I can add those few urls that are missing from connect-src

We're in business 🎉
There are a few other console errors I can clean up later but for the most part - this works now

Ah yeah looks like it is missing the / in the URL, the api.mapbox.com one I'm not totally sure, we do have them in the connect-src now

We're done here! Working as expected with the latest adhoc builds.
The solution we ended up needing to go with was the BE CSP change. This wasn't the initial route we went down, but after exploring the FE fix @fedirjh and @Tony-MK discovered that we would need to do a CSP change. However, it was an alternate solution listed in the initial proposal.
I'm not sure how we should handle payments in this case - I definitely think we should do some sort of compensation for both for their time despite it turning into a BE fix.
cc @dylanexpensify

cc @dylanexpensify Have we handled payment here yet?

Payment summary:

Contributor: @fedirjh $125
Contributor+: @Tony-MK $125

sent new offers to both!

Thanks @dylanexpensify. Accepted.

done!

Hey @dylanexpensify,
Could you help cancel the initial offer?
Thanks.

Done! cc @Tony-MK


chore(main): release 1.8.0

:robot: I have created a release beep boop
1.8.0 (2024-08-10)
Features

session: add a session API endpoint (#79) (f3491c6)

Dependencies

update dependencies (#80) (968595c)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/aimeerivers/watchthis-user-service/releases/tag/v1.8.0 :sunflower:


Rewrite to ES6+

Should probably throw out Rewire and just use Sinon for mocking first, as using Rewire with Babel requires https://github.com/speedskater/babel-plugin-rewire or similar.

Fixed in version 3.6.1.


Change count type used by gettxoutsetinfo

changing CAmount (is a int64_t) to arith_uint256 for nTotalAmount in CCoinsStats to prevent overflow

Result looks sane, but I still need to check total against a 1.10 node before we merge this.

This produces slightly different results on 1.10 and 1.14, but personally I'm fairly comfortable that's because we're not doing ill-advised things with double precision numbers, rather than a fault in the new version.

1.14: "total_amount":<PHONE_NUMBER>11.59000089
1.10: "total_amount":<PHONE_NUMBER>36.59001160

Did you compare the value of txouts? The UTXO set changes quickly might just be that the two nodes were in different states.

I did, and compared on different blocks as well, the error between the two is fairly consistent. As said, fairly confident this is due to misuse of doubles in 1.10.


Store checksum information as xattr on hdfs

Since 2.5.0 release, Hadoop supports xattr and it could set the checksum values as xattr and not files under /cksums dir as it is right now.

Like @bbockelm mentioned -- you can't access xattr from the libhdfs C library, even in the latest trunk, so it will be difficult to access it from this plugin (see https://github.com/apache/hadoop/blob/trunk/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfs/include/hdfs/hdfs.h)

While it is not available in libhdfs C library, XrootD allows now for drop-in checksum plugins.
I've written such a plugin in Python, which stores the checksum results in the extended attributes. It is currently under test.
It heavily borrows from cephsum plugin.
To try it out, you will need Python >=3.8:
pip install xrdsum[hdfs]

Usage example:
/usr/bin/time -v xrdsum --verbose  --debug get  <HDFS path to file> --read-size 128

xrootd config
# ensure cksum adler32 is included in the tpc directive, in order to caclulate by default on transfer
ofs.tpc cksum adler32 fcreds ?gsi =X509_USER_PROXY autorm xfr 40 pgm /etc/xrootd/xrdcp-tpc.sh

# add this line to trigger external checksum calculation. Would be overwritten by other xrootd.chksum lines
xrootd.chksum max 50 adler32 /etc/xrootd/xrdsum.sh

with /etc/xrootd/xrdcp-tpc.sh containing:
#!/bin/sh

# from https://github.com/snafus/cephsum/blob/master/scripts/xrdcp-tpc.sh
#Original code
#/usr/bin/xrdcp --server -f $1 root://$XRDXROOTD_PROXY/$2

# Get the last two variables as SRC and DST, all others are assumed as additional arguments
OTHERARGS="${@:1:$#-2}"
DSTFILE="${@:$#:1}"
SRCFILE="${@:$#-1:1}"

/usr/bin/xrdcp $OTHERARGS --server -f $SRCFILE root://$XRDXROOTD_PROXY/$DSTFILE

and with /etc/xrootd/xrdsum.sh containing:
#!/usr/bin/env bash

RESULT=$(xrdsum get --store-result --chunk-size 64 --verbose --storage-catalog /etc/xrootd/storage.xml "$1")
ECODE=$?

# XRootD expects return on stdout - checksum followed by a new line
printf "%s\n" "$RESULT"
exit "$ECODE"


feat: add child process environment example

#130  👈
main

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

Join @hi-ogawa and the rest of your teammates on  Graphite


warning

When I ran in the terminal the following command:
python3 nets/test.py -g -white -v -se -m ./model/c3ae_model_v2_fp16_white_se_132_4.208622-0.973,
I got the warning like this:
2021-03-31 04:06:53.668892: W tensorflow/core/common_runtime/base_collective_executor.cc:217] BaseCollectiveExecutor::StartAbort Out of range: End of sequence
[[{{node IteratorGetNext}}]]
W0331 04:06:53.669905<PHONE_NUMBER>56480 training_v2.py:152] Your input ran out of data; interrupting training. Make sure that your dataset or generator can generate at least steps_per_epoch * epochs batches (in this case, 2 batches). You may need to use the repeat() function when building your dataset.
2021-03-31 04:06:54.276263: W tensorflow/core/common_runtime/base_collective_executor.cc:217] BaseCollectiveExecutor::StartAbort Out of range: End of sequence
[[{{node IteratorGetNext}}]]
W0331 04:06:54.277260<PHONE_NUMBER>56480 training_v2.py:152] Your input ran out of data; interrupting training. Make sure that your dataset or generator can generate at least steps_per_epoch * epochs batches (in this case, 2 batches). You may need to use the repeat() function when building your dataset.
And the saved video has no bounding box and labels on the images.
Can anyone tell me how to fix it?

can you provide your runningtime enviroment

python 3.7.0

can you provide your runningtime enviroment

python3.7.0
cuda11.0
cudnn8.0
tensorflow 2.1.0
keras 2.3.0

it may work: pip3 install opencv-python-headless
https://stackoverflow.com/questions/54297627/qt-could-not-find-the-platform-plugin-cocoa

it may work: pip3 install opencv-python-headless
https://stackoverflow.com/questions/54297627/qt-could-not-find-the-platform-plugin-cocoa

Thanks for your reply. But is it really a Qt problem?

it cause by input of video capture.

it cause by input of video capture.

Actually when I test on one image like
python3 nets/test.py -g -white -se -i assets/person.jpg -m ./model/c3ae_model_v2_fp16_white_se_132_4.208622-0.973
there appears the same warning
2021-03-31 06:29:57.085714: W tensorflow/core/common_runtime/base_collective_executor.cc:217] BaseCollectiveExecutor::StartAbort Out of range: End of sequence
[[{{node IteratorGetNext}}]]
WARNING: Logging before flag parsing goes to stderr.
W0331 06:29:57.089971<PHONE_NUMBER>83200 training_v2.py:152] Your input ran out of data; interrupting training. Make sure that your dataset or generator can generate at least steps_per_epoch * epochs batches (in this case, 2 batches). You may need to use the repeat() function when building your dataset.
2021-03-31 06:29:57.118871: W tensorflow/core/common_runtime/base_collective_executor.cc:217] BaseCollectiveExecutor::StartAbort Out of range: End of sequence
[[{{node IteratorGetNext}}]]
W0331 06:29:57.119930<PHONE_NUMBER>83200 training_v2.py:152] Your input ran out of data; interrupting training. Make sure that your dataset or generator can generate at least steps_per_epoch * epochs batches (in this case, 2 batches). You may need to use the repeat() function when building your dataset.
2021-03-31 06:29:57.150248: W tensorflow/core/common_runtime/base_collective_executor.cc:217] BaseCollectiveExecutor::StartAbort Out of range: End of sequence
[[{{node IteratorGetNext}}]]
W0331 06:29:57.151330<PHONE_NUMBER>83200 training_v2.py:152] Your input ran out of data; interrupting training. Make sure that your dataset or generator can generate at least steps_per_epoch * epochs batches (in this case, 2 batches).


lint: disable gomnd

Fix the annoying "magic number" linter.

Bye bye magic numbers. Maybe we could also delete the nolint:gomnd?

Ah yes, good point. Done.


languange tags bug

it will be better if i can choose two languages same time, now if i choose two languages i would be unable to browse the site

This is a limitation of the site.
Ff you search for example Chinese and English, it will search the galleries with both the languages at the same time, you can't search for Chinese or English


feat: pass in a custom request to use instead of default LSP's

Same kind of request as for the fallback, I'd like Otter to use my usual function for type_definition (for example) instead of the default LSP.
Would default to the current behavior (using the LSP's builtin function).
I looked into the code to do it myself but I don't understand where it is done, I'd be happy to open a PR if you can give me some directions. :)
My idea is to add a second parameter callback of type function|nil to all ask_* functions.

Ah, I belive you are talking about the handler?Those are a bit harder to make configurable, because some require speciel treatement (e.g. we use our own hover handler because the default nvim one doesn't like hovers responses that oroginate from another buffer)

For some requests your custom handlers may work out of the box. You can experiment with using the otter.keeper.send_request function directly (e.g. by copy-pasting one of the ask_... functions for your own needs). Because for some requests all the necessary changes are already done in the filter function, while others required special treatment of the handler itself (like hover).
Maybe we can identify parts of handlers that can safely be exchanged and thus be made configurable more easily.

I just merged a big rewrite. Depending on the nature of your usual type_defintion function, it should now just work or be apparent why it doesn't currently (see https://github.com/jmbuhr/otter.nvim?tab=readme-ov-file#current-limitations)

Hey Jannik, sorry for the late reply, I'm drowning in work.
Thanks a lot for all that you do and for this great tool :)
I'll check it out!


Website v2.1 - misc fixes after release of v2

v2 is shipped ... (https://github.com/frictionlessdata/project/projects/2) and there's more to do 😄
Acceptance
The blog has pagination implemented
Tasks

[x] Chat link in the navbar
[x] Nice Github repo link in the navbar (just the icon please!) - should link to the base I think or the project repo ... Gift - Not able to add icon because of how vuepress config works
[x] get rid of cypress for now ...
[x]  many blogs have no description text in the blog index listing => we have to explicitly add this as per contributing guidelines
[x] Set the meta / social tags in HTML header from key frontmatter variables so that when you paste a link somewhere e.g. twitter, Facebook, chat it comes with nice info. This is already set as default but I went ahead to add an image to the preview generated for twitter, Facebook, etc
[x] Comments on blog - https://vssue.js.org/
[x] some publication dates are incorrect? probably! were taken off Github commits after go-live
[x] why is TeamProfile in components rather than theme/components?  @monika

NB: moved to theme/components for testing purposes and it stopped working - will leave in components for now and will investigate the reason later. - @gift Investigated this and it seems any Vue component used within markdown should always be stored in components/ if moved to themes/component/ it won't work properly.

[x] Enable click event on mobile for nav items
[x] Pagination on the blog - It would be nice to have page numbers/how many results at the bottom of the blog page where it says next & previous (like page 1/4 or something).
[x] Steps / Jobs to be done are back ... big 🐘
[ ] authors are all incorrect I'm not sure where to find correct authors of some post tagged Frictionless Data
[ ] Gravatar images on posts with their authors ... (would require a mapping file of authors to their emails) - clarification needed on the implementation of this.

DONE. Moving the last undone item to the next sprint.


skip_auto_headers=["Content-Type"]

Hi @fredo838
why are you using skip_auto_headers=["Content-Type"] here ?
I would expect this to work:
configs = [{'method': 'post', 'url': 'http://<IP_ADDRESS>:8080/api', 'json': {'foo': 'bar'}} for _ in range(10)]
sparp.sparp(configs, max_outstanding_requests=100)

But it was a bit surprising to see that I needed this to make it work:
configs = [{'method': 'post', 'url': 'http://<IP_ADDRESS>:8080/api', 'json': {'foo': 'bar'}} for _ in range(10)]
sparp.sparp(configs, max_outstanding_requests=100, aiohttp_client_session_kwargs={"headers": {"Content-Type":"application/json"}})

Awesome! I was on holidays for the past three weeks, I will be look into this.

@julienschuermans @Ruwann
I had a usecase where I didn't want the Content-Type header to be passed, and was (even more than you?) surprised that it forwards it by default. There's two defaults, the Content-Type and the Content-Length. It boils down to a "what is a good default" here. I propose, let's not send anything, and if you need it, you add it yourself. You can't disable the Content-Length, only the Content-Type, so that's why it's skipped. Does that answer your question?


Changed version to 1.2.0-SNAPSHOT & added dockerhub image documentation

Updating version
Problem
The version in the pom.xml file is outdated.
Solution
The version has been updated to 1.2.0-SNAPSHOT in the pom.xml.
Additionally, the dependency versions for the ODE have been updated to 1.6.0-SNAPSHOT.
Dockerhub image documentation
Changes
Documentation for using the image has been added to docs/dockerhub.md.
Notes
It should be noted that attempting to pull the latest tag of the jpo-conflictmonitor image fails due to a missing manifest. This is why the image documentation currently references the develop and release_q3 tags.

@dmccoystephenson Please resolve the CI build error: https://pipelinesghubeus15.actions.githubusercontent.com/enunfZBWbhmIHzmaYpcWhGZ4ILN7RZJIoDY6kskk3LFeAzHZTq/_apis/pipelines/1/runs/233/signedlogcontent/2?urlExpires=2024-02-05T14%3A53%3A05.5489595Z&urlSigningMethod=HMACV1&urlSignature=AJGdYikSbraAOWXsIfjCofS7MzgoqR%2BmFISL1PCIcY4%3D Thanks!


Preserve scroll position when using browser back/forward navigation or the back to search results link

Problem

Currently the "scroll to top" behavior happens every time you use the back/forward button. This does not follow the standard behavior of back/forward navigation in the browser where page scroll position is preserved. Maybe it's not possible to do in an SPA navigation though.
Alternatives

Additional context

Implementation

[ ] 🙋 I would be interested in implementing this feature.

Update: the browser back/forward buttons appear to be working correctly here, but our "Back to results" link on single images does not:

I'm using Openverse this morning, searching for about 7 topics. If I clicked on an image then wanted to go back to look for more images, I clicked on the Back to results button, but every time it would bring me to the top page position. It means I had to scroll down again to go back to where I was at.
Just now I tried again searching for cats and experienced the same behavior.

Thanks for sharing your experience with this bug @devinmaeztri.
I've updated the labels to reflect that this is an accessibility issue, as we're breaking the expected behaviour of the browser in an interface item that technically duplicates built-in browser features. They should behave the same. I've also added the help wanted label, escalated the priority to medium (particularly as the issue has been open for a long time) and moved it into our todo column of issues to tackle within the next few weeks.

Thank you @sarayourfriend!

We discussed this during our priorities meeting today - ultimately this issue would be addressed by way of moving the individual search results into a model (https://github.com/WordPress/openverse/issues/429). However, an implementation with our current framework could be quite complex, and @obulat and @dhruvkb expressed that there might be additional concerns about having to adjust the implementation significantly after upgrading to Nuxt 3 (https://github.com/WordPress/openverse/issues/411). If I'm incorrect about the potential complexity around implementation here please let me know!
@devinmaeztri thank you again for re-raising this and we will address this issue as soon as we can!

Vue-router doesn't support this behaviour, it turns out: https://github.com/vuejs/router/issues/1189#issuecomment-961157423
It's computeScrollPosition function, which it uses to decide where on the page to scroll to after navigating forward/back, always uses window.pageXOffset and window.pageYOffset, and this is not configurable.
https://github.com/vuejs/router/blob/main/packages/router/src/scrollBehavior.ts#L71
I don't think solving it would change very much between Nuxt 2 and 3 because the problem is fundamentally in vue router. I'd like to take a quick, time-boxed attempt at this, because as I said, I think the issue will persist, and the single result modal is (a) blocked and (b) almost certainly far more complex than this issue...
The recommended implementation in the vue router issue I've linked is to save the position ourselves and manually scroll the element. I think this is doable, but maybe I'm totally wrong.
@dhruvkb @obulat can y'all elucidate your concerns over needing to change the implementation for nuxt 3? Have y'all found something about the implementation of Nuxt 3's routing that makes it significantly different from vue router's behaviour in Nuxt 2? As I understand it, we'd need to save the scroll position of the search results element and then retrieve it when the page loads. Would that kind of thing be super different between Nuxt 2 and 3?


Add support for missing 1.47.0 targets

There were several targets missing support from the available 1.47.0 target list, this PR adds them all.

avr arch - "avr-unknown-unknown"
thumbv4t arch - "thumbv4t-none-eabi"
tvos operating system - "aarch64-apple-tvos" "x86_64-apple-tvos"

I think you should add them to the roundtrip_known_triples test too.

Done!

Thanks!


guppy definition → tket2 circuits

Compile guppy programs and wrap them into a tket2.Circuit.
We should be able to support something like the following:
guppy.load(quantum)

@guppy
def teleport(src: Qubit, tgt: Qubit) -> Qubit:
   # Create ancilla and entangle it with src and tgt
   tmp = Qubit()
   tmp, tgt = cx(h(tmp), tgt)
   src, tmp = cx(src, tmp)
   # Apply classical corrections
   if measure(h(src)):
      tgt = z(tgt)
   if measure(tmp):
      tgt = x(tgt)
   return tgt

# Implicitly compiles the module, and returns a Tk2Circuit
t2c = Circuit(teleport)

Loading from in-memory guppy modules is actually quite simple, as we can just module.compile().to_json() to get the Hugr.
For loading a file, we can copy guppy-runner's implementation,
https://github.com/CQCL/guppy-runner/blob/e824c9186c52c995c58b9f46e6416bc8465c8d89/guppy_runner/compile/guppy_compiler.py#L62-L72
Currently the main blocker is that guppy-defined hugrs are always modules, which contain function, which contain CFGs, which may contain any number of basic blocks (with DFG code).
Getting a (DFG-rooted) circuit from there will require some rewriting to inline and flatten the structure.

There's some work on this in branch ci/guppy-hugrs.
Currently you can pass a GuppyModule directly to Tk2Circuit::new, but as it translates the whole module, you are left with a HUGR with a Module root (which is an invalid circuit).
With the changes from https://github.com/CQCL/guppylang/pull/179 we should be able to process a function declaration instead, so a similar code could be used to produce DFG-rooted hugrs.
It should then work something like:
guppy.load(quantum)

@guppy
def teleport(src: Qubit, tgt: Qubit) -> Qubit:
   # Create ancilla and entangle it with src and tgt
   tmp = Qubit()
   tmp, tgt = cx(h(tmp), tgt)
   src, tmp = cx(src, tmp)
   # Apply classical corrections
   if measure(h(src)):
      tgt = z(tgt)
   if measure(tmp):
      tgt = x(tgt)
   return tgt

# Implicitly compiles the module, and returns a Tk2Circuit
t2c = Tk2Circuit(teleport)

We'll also need guppy to generate the correct custom operations (either tket2's, or wrapped Tk1Ops).

This will probably be implemented by guppy instead.
The first alpha release includes some conversion utilities, mostly going through serialization.


Support more iOS flavors

Support at least:
iPad {2, Air, Retina}, iPhone {4s, 5, 5s, 6 Plus, 6}, Resizable iPad, Resizable iPhone

After the simulators work with PR #124, I'll need to assign this to one of you @j2objc-contrib/j2objc-gradle-devs to do {armv7, armv7s, arm64} for real iOS devices, since I could guess at the code, but would not be able to verify that it works.  Who would like to get this working on real devices?

I suspect that other than the -arch param, you will also need to use an isysroot of:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk

@brunobowden is finishing the device side.

Fixed in issue #126


Getting stuck on 'Cleaning up Yarn Cache'

Describe The Bug
it has been very long time running

Version
3.1.1

is the problem occurs only with yarn module or with other ones as well?
What happens when you call yarn clean by hand, aka yarn cache clean --force? Maybe you get sudo prompt or it just getting stuck like the modules does

unfortunately can't help with this one w/o additional info
I'll close it for now. Please reopen it w/ additional info if problem persists


Added DifficultyPicker component to ConfigurePractice Page

Please merge the pull request I cannot do it for some reason.


Maybe join effort with phone_numbers_parser

You may want to be a maintainer for  https://pub.dev/packages/phone_numbers_parser ?
Imo it would be better to join force than to duplicate efforts over there and here. The above library is older and is not a one to one port though

Hi @cedvdb, the two packages do the same thing but they are actually quite different under the hood.
phone_numbers_parser relies on platform channels. It uses libphonenumber for android and PhoneNumberKit for iOS. Mine is better because it is a pure dart implementation and does not depend on any 3rd party library. Hope this helps.

No it's not phone_number_parser is pure dart. I'm the author of the package.

OK that's cool.

If you are interested in becoming a maintainer now or in the future just let me know. No need to duplicate efforts. 😊


add card nav for main how to index

Attempting to align Lumen How-to format with recent work in Panel docs.
In addition to adding cards for main how-to index page (and octicons!), I've made each index for the how-to categories redirect to the appropriate section on the main how-to index. It doesn't make sense to have additional index pages with so little content. This allows us not to duplicate efforts and create additional nice-looking index pages for each how-to category. Reminder, we are using these category index pages in the first place so that the sidenav has a nice accordion for how-to categories rather than a flat list of all how-to guides. For instance, when you click on the (1) Data Intake category on the sidenav, it will bring you to the (2) ## Data Intake on the main how-to index, rather than some other category-specific index page.

Codecov Report

Merging #431 (cab6c06) into main (f0ed415) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #431   +/-   ##
=======================================
  Coverage   69.10%   69.10%
=======================================
  Files          76       76
  Lines        8724     8724
=======================================
  Hits         6029     6029
  Misses       2695     2695

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

I'm happy with this for now but I think at some point we may have to reorganize the same way that Panel has done because the number of sections will get unwieldy for a single index page.

Please rebase and incorporate the new Callbacks how-to.


docs: ✏ stories for TextField, Textarea, and ReadOnlyField

Stories with auto-generated controls and docs.
You may have noticed that I've been disabling the name prop in the controls tab - this is to prevent errors that would be caused by deleting the content of that field (because it's a required prop and we don't have a fallback for when it's empty). Also, if you change the name then submit, the submitted value shows the initial name and the new name, which doesn't represent how the component actually works.
This only affects the prop rendering in Controls, it still shows in the props table in the Docs tab.
https://www.loom.com/share/bc1b17ed9f3e4dfd8175623a96a3e101
✅ Closes: #194

Approved pending the new merge conflicts @codyarose

Approved pending the new merge conflicts @codyarose

Resolved 👍


TurbolinksView Debugging

Hello,
Thanks a lot for the amazing library. Unluckily one of my pages is not working inside the TurbolinksView, but correctly behaving when I inspect the device running the WebApplication.
I needed to debug the WebView, but I thought that it was not possible with a TurbolinksView
TurbolinksView does not have the method setWebContentsDebuggingEnabled();, but by including the following code in my MainActivity
   WebView webview = new WebView(this);
        setContentView(webview);
        webview.setWebContentsDebuggingEnabled(true);

Allowed me to debug the TurbolinksView by opening the browser at chrome://inspect and inspect the html/css in my phone TurbolinksView Mobile App.
I decided to post this for further discussions, there is no actual issue to solve, but I believe it is a very useful tool.
Thanks a lot for the amazing project
I am really enjoy it
Sorry for the eventual disturbance I am causing and I wish you happy holidays
Fabrizio

Hi, thanks!
You should also be able to call getWebView() in TurbolinksSession to get a handle to the internal webview used by Turbolinks.
Once you have that, you should be able to set whatever attributes on the WebView you like, including setWebContentsDebuggingEnabled.

Hello @lateplate ,
Thanks a lot ... I really look forward to test this. This library is amazing!
I did end up forking this turbolinks android project and it was pretty easy making the modification to adapt it for my app
https://github.com/HiKumho/milog-android
thanks again !
Fabrizio


Fix include context in range

Related to https://github.com/enix/x509-certificate-exporter/pull/185

Wow thanks for the good catch! What a shame I let this one through.
It's getting released right now.

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


Blockchain Module: New Readme Format for Singapore

This PR revises the module 3 content in the direction requested in #982 but is made directly against main to better preserve the history of the files.
If this pr is accepted it can also be merged into #982 for anyone following that branch.
Tasklist:

[x] Change format of readme
[x] Change file names for lessons
[x] Write learning outcomes
[x] Move start a blockchain info to dedicated repo
[x] prune unused images

The CI is catching broken links but they are not from this PR, so I recommend merging once it is reviewed positively.


fix: remove invalid autocorrect attribute from textarea

Motivation
Fix an HTML validation error:

Test plan
Use https://validator.w3.org/nu/

I expect this attribute to no longer be relevant.
@oliviertassinari why is that if safari still respects this attribute? did they remove support in recent versions?

@satya164 From what I understand, the prop is listed support for <input> but not for <textarea>.
@mbrookes The alternative is to not render react-simple-code-editor in the initial SSR phase, it might actually improve hydration performance by doing less work.

@oliviertassinari gotcha

From what I understand, the attribute autocorrect is supported for  but not for .

Correct.

The alternative is to not render react-simple-code-editor in the initial SSR phase

Sounds like we're going to need that anyway, but will leave this PR open for now.

Good for moving forward?

Actually, no, I have tested in iOS 12. It's still supported. It's a mess without. We need the attribute. I'm opening an issue in MDN and the HTML validator.

MDN: https://github.com/mdn/content/pull/2534

Validator: https://github.com/validator/validator/pull/1089


[TACHYON-686] Add support for users with non-default VPCs to launch Tachyon through vagrant

https://tachyon.atlassian.net/browse/TACHYON-730

@yuzhu Thanks for the patch! A few comments left.

Jenkins, test this please.

+1 LGTM

@calvinjia  do you mind taking a look? this being in master simplifies my test deployment on aws (and I am sure other aws users as well)

@yuzhu Looks good overall, I left two comments.

+1 LGTM


Guidelines for edittrans module

From andrew.hankinson on September 08, 2011 10:53:30
Placeholder issue for edittrans module guidelines
Original issue: http://code.google.com/p/music-encoding/issues/detail?id=17

From<EMAIL_ADDRESS>on May 24, 2012 07:30:05
Status: Needs-Review

From andrew.hankinson on September 10, 2012 11:32:42
Fixed in MEI 2012 2.0.0. Closing.
Status: Fixed


Godot 4 beta 8: DisplayServer.WINDOW_MODE_WINDOWED not working correctly

Godot version
v4.0.beta8.official [45cac42c0]
System information
Windows 10
Issue description
In 3.5 I had this issue: https://github.com/godotengine/godot/issues/61871
4.0 beta 8 fixed this by adding the non exclusive fullscreen, but the changes caused a problem where you can't get back to windowed mode in script at all after entering fullscreen or exclusive fullscreen while having a maximized window. This is what I'm trying to do, 2 different toggles for maximize/windowed and fullscreen/windowed:
	if on_fullscreen_icon == true:
		print(DisplayServer.window_get_mode())
		if DisplayServer.window_get_mode() != DisplayServer.WINDOW_MODE_FULLSCREEN:
			DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_FULLSCREEN)
		elif DisplayServer.window_get_mode() != DisplayServer.WINDOW_MODE_WINDOWED:
			DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_WINDOWED)
			DisplayServer.window_set_size(Vector2(1280, 720))
			DisplayServer.window_set_position(Vector2(320, 180))
	elif on_maximized_icon == true:
		print(DisplayServer.window_get_mode())
		if DisplayServer.window_get_mode() != DisplayServer.WINDOW_MODE_MAXIMIZED:
			DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_MAXIMIZED)
		elif DisplayServer.window_get_mode() != DisplayServer.WINDOW_MODE_WINDOWED:
			DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_WINDOWED)
			DisplayServer.window_set_size(Vector2(1280, 720))
			DisplayServer.window_set_position(Vector2(320, 180))

What happens is that the 3 lines in both the elif statement don't do what they should be doing and just go back to fullscreen instead of windowed. You should be able to reproduce this in a small example as well.
In Godot 3.5 this was working by doing the following:
	if on_fullscreen_icon == true:
		OS.window_fullscreen = !OS.window_fullscreen
	elif on_maximized_icon == true and !OS.window_fullscreen:
		if OS.window_maximized:
			OS.window_maximized = !OS.window_maximized
			OS.set_window_size(Vector2(1280, 720))
			OS.set_window_position(Vector2(320, 180))
		else:
			OS.window_maximized = !OS.window_maximized

Steps to reproduce
Maximize window (in script or just manually) then enable fullscreen or exclusive fullscreen. Now if you disable fullscreen again you are unable to change the window size, position or set it to windowed mode through script.
Minimal reproduction project
N/A, just try to leave either maximized or fullscreen window after going from maximized>fullscreen.
This is probably a windows specific issue just like my last one.

The workaround I got for this right now is by changing the first if statement to:
if DisplayServer.window_get_mode() != DisplayServer.WINDOW_MODE_FULLSCREEN \
and DisplayServer.window_get_mode() != DisplayServer.WINDOW_MODE_MAXIMIZED:

This way it's forced to skip to the elif and never enters fullscreen while being maximized. The set_size and set_position aren't needed this way either.
Also Windows seems to have a weird stretching problem when changing window modes that didn't exist in 3.5.

To be clear, the exact behaviour in 3.5 was that you can't leave fullscreen by toggling OS.window_maximized. You had to exit fullscreen first which was fine. I can't replicate that in 4.0 though, even if I convert the 3.5 code exactly (not the example). It just keeps thinking DisplayServer.WINDOW_MODE_WINDOWED means fullscreen for some reason.

Tested with this code
func _process(delta: float) -> void:
	if Input.is_action_just_pressed("ui_accept"):
		if DisplayServer.window_get_mode() != DisplayServer.WINDOW_MODE_FULLSCREEN:
			DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_FULLSCREEN)
		else:
			DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_WINDOWED)
			#DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_WINDOWED)

If you maximize the window and switch to fullscreen, WINDOW_MODE_WINDOWED will not take effect. The window will be maximized.
When you uncomment the second WINDOW_MODE_WINDOWED, so that it's set twice, the window will become windowed correctly.

Tested with this code
func _process(delta: float) -> void:
	if Input.is_action_just_pressed("ui_accept"):
		if DisplayServer.window_get_mode() != DisplayServer.WINDOW_MODE_FULLSCREEN:
			DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_FULLSCREEN)
		else:
			DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_WINDOWED)
			#DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_WINDOWED)

If you maximize the window and switch to fullscreen, WINDOW_MODE_WINDOWED will not take effect. The window will be maximized. When you uncomment the second WINDOW_MODE_WINDOWED, so that it's set twice, the window will become windowed correctly.

I just got to try this and it didn't work for me, with 1 line of DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_WINDOWED) it just goes back to maximized. With the 2 lines it immediately flashes back to fullscreen. I think this is mostly a windows 10 limitation though, but not allowing it to enter fullscreen while maximized works fine.

Possibly associated - if you set Project Settings / Display / Window / Mode to Fullscreen and then:
func _ready(): 	print(DisplayServer.window_get_mode())
The print returns 0 in the console (ie DisplayServer.WINDOW_MODE_WINDOWED).

I spent some time looking at the problem again because it clearly is possible based on:

it's not a Windows bug as it seems to work fine in random programs like windows terminal, explorer etc. They allow you to go from maximized -> fullscreen -> maximized-> default size etc...

And I just noticed that print(DisplayServer.window_get_mode()) returns 3 (which is fullscreen) when you press winkey+down after leaving fullscreen. That's a pretty clear bug.
print(DisplayServer.window_get_mode())
	if Input.is_action_just_pressed("toggle_fullscreen"):
		if DisplayServer.window_get_mode() != DisplayServer.WINDOW_MODE_FULLSCREEN:
			DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_FULLSCREEN)
		elif DisplayServer.window_get_mode() != DisplayServer.WINDOW_MODE_WINDOWED:
			DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_WINDOWED)

To reproduce:

maximize window
toggle fullscreen twice to go back to windowed
now you are in a maximized window but when you try to restore window size with winkey+down or the button, window mode will return 3 (fullscreen) instead of 0 (windowed)
it will actually go to windowed though, but you can't correctly resize the window behind a windowed check as godot thinks it's still fullscreen

This is probably a windows specific issue just like my last one.

The bug is also reproducible on Linux (v4.2.1.stable.arch_linux).

When you uncomment the second WINDOW_MODE_WINDOWED, so that it's set twice, the window will become windowed correctly.

Setting back to windowed mode twice still fails on my machine.

Confirming on v4.2.1.stable.official [b09f793f5] on Windows 11.

Faced same issue in Godot v4.2.1
Tried different options to resize, set sizes and etc - nothing helps. Then found that simple switching to  DisplayServer.WINDOW_MODE_MINIMIZED and then to DisplayServer.WINDOW_MODE_WINDOWED works.
So hope it will help for someone:
func on_window_button_pressed(): 	var current_mode = DisplayServer.window_get_mode() 	if current_mode ==  DisplayServer.WINDOW_MODE_FULLSCREEN: 		DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_MINIMIZED) 		DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_WINDOWED) 	else: 		DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_FULLSCREEN)

This issues persists in in v4.2.2.stable, but only if you have display/window/size/resizable set to false, if it's set to the default of true, then switching betwen any of the window_modes works as expected.

The issue is still present in v4.2.2.stable.official [15073afe3]. Even with resizable=false. The game just becomes a black screen when setting DisplayServer.WINDOW_MODE_WINDOWED after DisplayServer.WINDOW_MODE_FULLSCREEN.

Godot v4.2.2.stable - Windows 10.0.19045 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 3050 Ti Laptop GPU (NVIDIA; <IP_ADDRESS>85) - AMD Ryzen 5 5600H with Radeon Graphics (12 Threads)

Encountered this on Godot v4.3.stable, even with display/window/size/resizable set to true.
Software:

Godot v4.3.stable - GLES3 (Compatibility)
Fedora Linux 40 (Workstation Edition) - Wayland (but not opted in to Godot's Wayland mode)

Raw system info paste:

Godot v4.3.stable - Fedora Linux 40 (Workstation Edition) - Wayland - GLES3 (Compatibility) - AMD Radeon RX 560 Series (radeonsi, polaris11, LLVM 18.1.6, DRM 3.57, 6.10.9-200.fc40.x86_64) - Intel(R) Core(TM) i5-2500K CPU @ 3.30GHz (4 Threads)


Add issue and PR templates

Hey guys,
Noticed repository missing issue and PR templates.
So I am proposing to add issue (bug report, feature request) and PR templates to make things easier and as per conventions.

I would like prepare a template for PRs. pls let me know.


Cache files based on timestamps

As suggested by @Farthen, File objects should cache the decoded data, look at the file's last modified date when accessing data, and use the cached data if the file has not been modified since the last read.

I've just added this, for non-opened files (I don't think it can/should be done for generic IO objects). Although I've also found I'm getting a lot of TypeError: can only concatenate str (not "Node") to str type stuff, so maybe this isn't the transparent nirvana I was hoping for.


Issue using Rx.scheduler.asap

RxJS version:
5.4.1
Code to reproduce:
return Observable.of(asap.schedule(() => {//doSomething}));
Expected behaviour:
When I make a call to the function this should "//doSomething"
Actual behaviour:
Not getting any errors but the scheduled task is not performed.
Additional information:
When I replaced asap.schedule with setTimeout (as shown below), then the code is working fine.
return Observable.of(setTimeout(() => {//doSomething}, 0));

I can make action works for both cases,  I'd like to ask to provide reproducible code snippet other than just single line.

This code id defined in highlightService:
highlightElement(elementId: string): Observable {
return Observable.of(asap.schedule(() => {
console.log('I am here');
document.getElementById(elementId).classList.toggle('highlight');
}));
}
This is defined in a component where I created an instance of highlight service
this.highlightService.highlightElement(id).subscribe(next => {
console.log('TOGGLED');
}, error => {
console.log('Failed');
});
During more analysis, I found out the highlightElement() is being called out twice(I see, 2x 'I am here') for each call. And the 'TOGGLED' in Observer is not getting printed at all.

Just to be clear, I double checked and the Observer code is called only once.
@component
highlightElement() {
console.log('Adding class');
this.highlightService.highlightElement(id).subscribe(next => {
console.log('TOGGLED');
}, error => {
console.log('Failed');
});
}

Hi @kwonoj  I created a plunkr and am able to reproduce the issue, can you please have a look. Specifically, follow the flow of "Add class" button. Also, note that issue is not there when using setTimeout function.
https://plnkr.co/edit/RFwuAZXMHBh61nLpCpDV?p=preview

@rave-ibm So the issue here appears to be that you are passing the result of scheduler.schedule() to Observable.of which under the hood attempts to create an ArrayObservable, however because you are passing an Action, of thinks it is a scheduler and is mapping the value to the scheduler here.
Since the array is now empty it then returns an EmptyObservable here with the Action as its scheduler. Since the action is then being used as a faux scheduler it gets recycled and re-executed when you attempt to subscribe to the resulting Observable instead of forwarding any messages downstream.
One could argue that we shouldn't be relying on the kind of duck-typing to determine whether an element is a scheduler but in the end I don't think there is a way around it given the looseness of the JS type system.
Without going into too much detail (Stack Overflow would be a more appropriate place if you have a usage question) I would suggest rethinking your approach to try avoiding the use of schedulers explicitly like that.

@rave-ibm @paulpdaniels explained reason of execution occurs multiple time thoroughly, so I believe it explains reason why.
In addition, I also strongly agree his suggestion to not to use explicit scheduler, especially I wouldn't recommend to trying to trigger side effect in creation method - you could look for some other approaches which doesn't hit by scheduler actions's behavior.


Integrate historic data

Added an option for basic historic data, no period/product selectors atm but they would be simple to add afterwards. This also makes it pretty simple to add in support for a live stream. There is a button to switch between 'live' and generated data, and a class for the historic feed which adds the ability to cancel a request that's been made (invalidateCallback)

Resolves #83


Wall placement experience changed in scene viewer

Description
Hi guys, we've noticed that the experience of the scene viewer wall placement has changed recently in the last weeks.
As soon as the feature was implemented in model-viewer, the placement of the object was actually on the floor, but it allowed the movement in a vertical plane.
Even though it is not ideal to place a wall object on the floor, the experience itself went smoothly than the current, in which you put the object directly on the wall. We've encountered many issues moving the object around the wall, when the object meets a painting or a balcony, in which it loses the context of the wall or vertical placement, and starts moving in a horizontal plane.
We would like to know if you know about any intent params that we could use to have the old experience again, with both the floor and the wall marker to move the object around.
Before (positioning with floor and wall markers):
https://drive.google.com/file/d/1XwW38nKsc6RSCmcGsi9kwAU-_MPjEJuX/view?usp=sharing
After (positioning directly on the wall, and the resizing is locked, so apparently it finds a horizontal plane):
https://drive.google.com/file/d/19TuPl0KZ4abKJmPRQ6VZg2lIXVRgA8Y-/view?usp=sharing
Live Demo

https://demos.r2u.io/react-ar-components/2021/03/24/08/34/index.html

Version

model-viewer: latest

Browser Affected

[x] Chrome
[ ] Edge
[ ] Firefox
[ ] IE
[ ] Safari

OS

[x] Android
[ ] iOS
[ ] Linux
[ ] MacOS
[ ] Windows

AR

[ ] WebXR
[x] SceneViewer
[ ] QuickLook

I saw that there were changes in the scene viewer. Is there a link to follow the releases?

wall placement not works well old experience seems good..

Just giving a quick update of recent changes, I understand that the old experience with two markers is being brought back. But most of the time, the scene viewer silently crashes or gives the message "Couldn't load object."
Reproduced on Google App <IP_ADDRESS>.arm64
Galaxy S10e
Best,

Related to this, I created a new issue, since this one is about UI.

Does anyone know if this should be resolved? I can load the wall placement object but the UI asks me to place it on the floor even though the placement is set to 'wall'

I think was resolved...


net: lib: coap: Initialize response_truncated

Fix the following compilation warning given when using newlibc:
warning: 'response_truncated' may be used uninitialized [-Wmaybe-uninitialized]
Issue is not seen with picolibc.
The variable was introduced as part of PR #76257

FYI: @mrodgers-witekio @SeppoTakalo


nvmeclient/nvme_client: fix log line to not expect a param

Issue: No Ticket

Summary by CodeRabbit

Bug Fixes

Improved logging for connection failures of IO controllers by simplifying the log message format.

Chores

Streamlined logging calls for better clarity and maintainability.

LGTM

PR Check status: failed during build due to "ERROR root Could not find any tests that match any of tag names ['prcheck=discovery']", I see previous PR check from a month ago failed on the same issue.  @muliby-lb, I see that all tests that were marked for the discovery PR check were actually moved to the deprecated tests directory.. I assume thats why they weren't found.. but I can't really find the relevant code that scans for the tags to know if this is the right assumption.. can you please point me to it?

PR Check status: failed during build due to "ERROR root Could not find any tests that match any of tag names ['prcheck=discovery']", I see previous PR check from a month ago failed on the same issue. @muliby-lb, I see that all tests that were marked for the discovery PR check were actually moved to the deprecated tests directory.. I assume thats why they weren't found.. but I can't really find the relevant code that scans for the tags to know if this is the right assumption.. can you please point me to it?

Ugh.

It is running in jenkins, most likely. It's amazing that it's still up.
@shaharz-lb can we convert this repo to use the new github PR system?
@arturm-lb for now you can run a subset of these tests or resurrect the old tests from deprecated, but I try to stick to running test that run in the CI, otherwise they are more likely than not to be broken

muli@blackfish ~ $ testtagger.sh -t discovery-client -i allci
coverage=discovery-client:
    -> /home/muli/lightbits/src/systests/racktests/1923_etcd_mTLS_cross_server_connectivity_new_installation.py [CI: sanity]
    -> /home/muli/lightbits/src/systests/racktests/2301_physical_alma_8_installation_sanity.py [CI: weekly (unstable)]
    -> /home/muli/lightbits/src/systests/racktests/239_alma_8_vm_installation_test.py [CI: sanity minisanity]
    -> /home/muli/lightbits/src/systests/racktests/280_monitoring_installation_test.py [CI: nightly monitoring-stack]
    -> /home/muli/lightbits/src/systests/racktests/529_discovery_vm_installation_add_node.py [CI: weekly]
    -> /home/muli/lightbits/src/systests/racktests/609_vm_installation_pull.py [CI: nightly (unstable)]
    -> /home/muli/lightbits/src/systests/racktests/625_vm_installation_add_new_server_to_cluster.py [CI: nightly]

PR Check status: failed during build due to "ERROR root Could not find any tests that match any of tag names ['prcheck=discovery']", I see previous PR check from a month ago failed on the same issue. @muliby-lb, I see that all tests that were marked for the discovery PR check were actually moved to the deprecated tests directory.. I assume thats why they weren't found.. but I can't really find the relevant code that scans for the tags to know if this is the right assumption.. can you please point me to it?

Ugh.

It is running in jenkins, most likely. It's amazing that it's still up.
@shaharz-lb can we convert this repo to use the new github PR system?
@arturm-lb for now you can run a subset of these tests or resurrect the old tests from deprecated, but I try to stick to running test that run in the CI, otherwise they are more likely than not to be broken

muli@blackfish ~ $ testtagger.sh -t discovery-client -i allci
coverage=discovery-client:
    -> /home/muli/lightbits/src/systests/racktests/1923_etcd_mTLS_cross_server_connectivity_new_installation.py [CI: sanity]
    -> /home/muli/lightbits/src/systests/racktests/2301_physical_alma_8_installation_sanity.py [CI: weekly (unstable)]
    -> /home/muli/lightbits/src/systests/racktests/239_alma_8_vm_installation_test.py [CI: sanity minisanity]
    -> /home/muli/lightbits/src/systests/racktests/280_monitoring_installation_test.py [CI: nightly monitoring-stack]
    -> /home/muli/lightbits/src/systests/racktests/529_discovery_vm_installation_add_node.py [CI: weekly]
    -> /home/muli/lightbits/src/systests/racktests/609_vm_installation_pull.py [CI: nightly (unstable)]
    -> /home/muli/lightbits/src/systests/racktests/625_vm_installation_add_new_server_to_cluster.py [CI: nightly]

Yes. Are we talking about system-tests or Unit tests?

Yes. Are we talking about system-tests or Unit tests?

System tests. Let's start with 239 and 529.

systests/racktests/529_discovery_vm_installation_add_node.py

I opened a new ticket: LBM1-34913
@elada-lb @maor-lb FYI


AcknowList 2.0.0 beta 1

What about Cocoapods?

It should be available with CocoaPods, you just need to opt-in since it’s marked as beta. Example here: https://github.com/CocoaPods/CocoaPods/issues/7086#issuecomment-332888182

Yes I know but I don't understand why you don't want to tag and push to Cocoapods. If you are not sure about all updates and if you need new updates, you will push a new version...

Well, I’m just slowly surfacing the update, from development version to an actual released build. A couple more weeks, and I’ll release the actual 2.0.0 update.


IP filter + Auth + https

Hello.
auth.ProxyBasic(proxy, "Auth", func(user, passwd string) bool {
		if len(Conf.AuthHttp) > 0 {
			for _, a := range Conf.AuthHttp {
				t := strings.Split(a, ":")
				if user == t[0] && passwd == t[1] {
					return true
				}
			}
		}
		Log(Now(), "Auth failed", user, passwd)
		return false
	})

RejectAction := &goproxy.ConnectAction{
		Action: goproxy.ConnectHijack,
		Hijack: func(req *http.Request, client net.Conn, ctx *goproxy.ProxyCtx) {
			client.Close()
		},
	}
proxy.OnRequest().
		HandleConnectFunc(func(host string, ctx *goproxy.ProxyCtx) (*goproxy.ConnectAction, string) {
			ip := strings.Split(ctx.Req.RemoteAddr, ":")[0]
			// AllowedIP
			if len(Conf.AllowedIP) > 0 {
				if ok, err := CheckIP(ip, Conf.AllowedIP); ok == false {
					Log(Now(), "deny [443]", ip, host, err)
					return RejectAction, host
				}
			}
			return goproxy.OkConnect, host
		})

There is either authentication or IP filter. And vice versa.

What is your problem here?

I want to say that both authorization and IP filtering do not work at the same time.


unit test for DynamicArray

@vigsterkr , please take a look at this. Thank you  :)

Question:
Is serialization of this covered somewhere? I think we should have an automagic test, but that only checks very basic cases, I think there should be at least one non-trivial test case. Not sure whether in here or somewhere else though....thought?

Hi @karlnapf, sorry for the late reply! Actually I do have serialization unit test for it in https://gist.github.com/MikeLing/665b961fae759a58535ac07b1b93e39a. But the problem is this serialise test passed but unit-SerializationAscii and other serialise test failed. So I'm not sure if this  unit test can really works, and that's why it haven't been included in this pr.


Align with upstream 03 09 2023

This PR cherry-picks all commits from
Remove "--quiet" flag from git diff (30/07/2023)
to
Remove metallb dependency from the k8s reporter (1/09/2023)

/retest

/approve
/lgtm


[Feature Request] Add more operations to format selection

[x] I've verified and I assure that I'm running youtube-dl 2019.02.08
[x] At least skimmed through the README, most notably the FAQ and BUGS sections
[x] Searched the bugtracker for similar issues including closed ones
[x] Checked that provided video/audio/playlist URLs (if any) are alive and playable in a browser

What is the purpose of your issue?

[ ] Bug report (encountered problems with youtube-dl)
[ ] Site support request (request for adding support for a new site)
[x] Feature request (request for a new functionality)
[ ] Question
[ ] Other

Enhancement of Format Selection
Format selection now allow the best/worst format to download. However, the format selection only support conditions (e.g. -f "best[height>=720]"), as a filter. In some special case, people may want to download video of most/least certain field (e.g. highest resolution, smallest size) rather than default "best/worst". Youtube-dl does not support this without manually specify numeric format code or knowing the exact value.
For example, the best quality for this youtube video is a medium(640x360) resolution while highest resolution is 1080p(1920x1080).
format code  extension  resolution note
249          webm       audio only DASH audio   62k , opus @ 50k, 1.43MiB
250          webm       audio only DASH audio   82k , opus @ 70k, 1.91MiB
140          m4a        audio only DASH audio  128k , m4a_dash container, mp4a.40.2@128k, 3.32MiB
171          webm       audio only DASH audio  144k , vorbis@128k, 3.55MiB
251          webm       audio only DASH audio  159k , opus @160k, 3.77MiB
160          mp4        256x144    144p   51k , avc1.4d400c, 30fps, video only, 501.84KiB
278          webm       256x144    144p   95k , webm container, vp9, 30fps, video only, 1.47MiB
133          mp4        426x240    240p  147k , avc1.4d4015, 30fps, video only, 1.08MiB
242          webm       426x240    240p  169k , vp9, 30fps, video only, 1.59MiB
134          mp4        640x360    360p  304k , avc1.4d401e, 30fps, video only, 2.04MiB
243          webm       640x360    360p  337k , vp9, 30fps, video only, 2.69MiB
135          mp4        854x480    480p  384k , avc1.4d401f, 30fps, video only, 3.10MiB
136          mp4        1280x720   720p  468k , avc1.4d401f, 30fps, video only, 5.18MiB
244          webm       854x480    480p  551k , vp9, 30fps, video only, 3.96MiB
137          mp4    --->1920x1080  1080p  597k , avc1.640028, 30fps, video only, 7.67MiB
247          webm       1280x720   720p  815k , vp9, 30fps, video only, 7.21MiB
248          webm   --->1920x1080  1080p 1064k , vp9, 30fps, video only, 13.02MiB
17           3gp        176x144    small   48k , mp4v.20.3, mp4a.40.2@ 24k (22050Hz), 1.26MiB
36           3gp        320x180    small  156k , mp4v.20.3, mp4a.40.2 (22050Hz), 4.08MiB
18           mp4    --->640x360    medium  361k , avc1.42001E, mp4a.40.2@ 96k (44100Hz), 9.44MiB (best)

If I want to download the highest resolution of this video, I had to manually specify 1080p or an extractor specific code(137, 248) now.
Requested new feature: add more operations of format selection.
Sample: To find highest resolution, use -f "best[height]" or -f "best[height=max]"

At the moment it is not possible to request the smallestFilesize. You could use worstvideo+worstaudio as a workaround. I don't know if it is the same as the smallest sum of (smallestVideo+smallestAudio).
I get the best video without any format option (248) for the video mentioned above. Why don't you just use -f bestvideo+bestaudio?

Could not get 137+140 with the option "bestvideo+bestaudio"..
youtube-dl -F "https://www.youtube.com/watch?v=XiVeuftm5go&t=4s"

format code
extension
resolution note

139
m4a
audio only DASH audio   52k , m4a_dash container, mp4a.40.5@ 48k (22050Hz), 4.58MiB

140
m4a
audio only DASH audio  131k , m4a_dash container, mp4a.40.2@128k (44100Hz), 12.22MiB

160
mp4
256x144    DASH video  108k , mp4_dash container, avc1.4d400b, 30fps, video only

133
mp4
426x240    DASH video  242k , mp4_dash container, avc1.4d400c, 30fps, video only

134
mp4
640x360    DASH video  325k , mp4_dash container, avc1.4d401e, 30fps, video only, 5.82MiB

135
mp4
854x480    DASH video 1155k , mp4_dash container, avc1.4d4014, 30fps, video only

137
mp4
1920x1080  DASH video 2197k , mp4_dash container, avc1.640028, 30fps, video only, 45.22MiB

136
mp4
1280x720   DASH video 2310k , mp4_dash container, avc1.4d4016, 30fps, video only

17
3gp
176x144    small   45k , mp4v.20.3, mp4a.40.2@ 24k (22050Hz), 4.39MiB

36
3gp
320x180    small  130k , mp4v.20.3, mp4a.40.2 (22050Hz), 12.57MiB

43
webm
640x360    medium , vp8.0, vorbis@128k, 24.67MiB

18
mp4
640x360    medium  295k , avc1.42001E, mp4a.40.2@ 96k (44100Hz), 28.36MiB

22
mp4
1280x720   hd720  947k , avc1.64001F, mp4a.40.2@192k (44100Hz) (best)

You are right. I checked for "best" and not for bestvideo. I guess bestvideo uses the highest videobitrate which results in 136 with lower resolution, like you wrote.
youtube-dl --get-url -f "bestvideo[height>1000],bestaudio" "https://www.youtube.com/watch?v=XiVeuftm5go&t=4s" # is a workaround
Result: Video: itag/137/ Audio: itag/140

Here the "best" option is 360p even though there's a 1080p option. Is this still

At the moment it is not possible to request the smallestFilesize. You could use worstvideo+worstaudio as a workaround. I don't know if it is the same as the smallest sum of (smallestVideo+smallestAudio).

$ youtube-dl -F https://youtube.com/watch?v=8ha4bkni3zg
[youtube] 8ha4bkni3zg: Downloading webpage
[info] Available formats for 8ha4bkni3zg:
format code  extension  resolution note
249          webm       audio only tiny   51k , opus @ 50k (48000Hz), 11.78MiB
250          webm       audio only tiny   64k , opus @ 70k (48000Hz), 12.64MiB
251          webm       audio only tiny  117k , opus @160k (48000Hz), 22.86MiB
140          m4a        audio only tiny  132k , m4a_dash container, mp4a.40.2@128k (44100Hz), 30.32MiB
278          webm       256x144    144p   96k , webm container, vp9, 30fps, video only, 20.04MiB
160          mp4        256x144    144p  111k , avc1.4d400c, 30fps, video only, 16.15MiB
242          webm       426x240    240p  193k , vp9, 30fps, video only, 40.96MiB
133          mp4        426x240    240p  245k , avc1.4d4015, 30fps, video only, 35.31MiB
243          webm       640x360    360p  414k , vp9, 30fps, video only, 89.14MiB
134          mp4        640x360    360p  505k , avc1.4d401e, 30fps, video only, 67.33MiB
244          webm       854x480    480p  766k , vp9, 30fps, video only, 163.07MiB
135          mp4        854x480    480p  818k , avc1.4d401f, 30fps, video only, 107.59MiB
247          webm       1280x720   720p 1524k , vp9, 30fps, video only, 323.88MiB
136          mp4        1280x720   720p 2313k , avc1.4d401f, 30fps, video only, 319.69MiB
18           mp4        640x360    360p  697k , avc1.42001E, mp4a.40.2@ 96k (44100Hz), 163.21MiB
22           mp4        1280x720   720p 1494k , avc1.64001F, mp4a.40.2@192k (44100Hz) (best)
$ youtube-dl --get-format -f "worstvideo[height=720]+bestaudio" https://youtube.com/watch?v=8ha4bkni3zg
247 - 1280x720 (720p)+140 - audio only (tiny)

A smallest file size operator would hopefully get 136+140 instead.

--youtube-skip-dash-manifest to omit the DASH formats with misleading advertised bit-rates.


Swap pipettes in PD

As a user I would like to be able to swap L and R pipettes in the file details page so I don't have to physically do it on the robot
Acceptance criteria

Add an icon button to file details that switches which pipette is on which side
This updates the tip rack assignment text in dropdown accordingly
If we are implementing this before we allow tip rack changing, represent tip rack in the same labeled value style as the rest of the pipette information.

Design
SVG called 'swap-horizontal'

@howisthisnamenottakenyet I have a hunch the arrows might not be clear enough in this situation. Would suggest a button with text in place of icon here.
ie. "Swap pipette positioning"

@pantea how about something like this?

@howisthisnamenottakenyet how would it look if both pipettes were populated?


Add "Spacing Blocks"

https://zeroheight.com/73kwjxh8i/p/26ebfb

Related https://github.com/masonitedoors/MDL/issues/49

These exist as variables and are in use. In styles/_sizes.scss


Update documents due to change of dictionary loading approach

This PR makes the following changes
Due to change of dictionary loading approach ( #3066 )

Updates the INSTALL.md file description
Updates anet.yml.production.template file
Adds anet-dictionary.yml.production.template file under documents

Release notes
Closes #
User changes

Super User changes

Admin changes

System admin changes

[ ] anet.yml needs change
[ ] db needs migration
[x] documentation has changed
[ ] graphql schema has changed

Checklist

[ ] Described the user behavior in PR body
[ ] Referenced/updated all related issues
[ ] commits follow a repo#issue: Title title format and these 7 rules
[ ] commits have a clean history, otherwise PR may be squash-merged
[ ] Added and/or updated unit tests
[ ] Added and/or updated e2e tests
[ ] Added and/or updated data migrations
[x] Updated documentation
[ ] Resolved all build errors and warnings
[ ] Opened debt issues for anything not resolved here

out of exact scope of this PR, but I forgot to comment that on the original PR, so I would like to request it here:
can we change the content of anet-dictionary.yml from:
dictionary:
  SUPPORT_EMAIL_ADDR<EMAIL_ADDRESS>
  engagementsIncludeTimeAndDuration: true

  dateFormats:
    email:
      date: d MMMM yyyy
      withTime: d MMMM yyyy @ HH:mm
    excel: d MMMM yyyy
    forms:
      input:
....

to:
SUPPORT_EMAIL_ADDR<EMAIL_ADDRESS>
engagementsIncludeTimeAndDuration: true

dateFormats:
  email:
    date: d MMMM yyyy
    withTime: d MMMM yyyy @ HH:mm
  excel: d MMMM yyyy
  forms:
    input:
...

it will make anet-dictionary.yml less nested and the editing of it a nicer experience.

fixed