MediaFinished event not firing

I see you added a MediaFinished event. However, in my case, the event isn't firing at all.

Hiya, I'll look into this.
What properties did you have set? (e.g. KeepOpen, Loop etc?

Neither are set. MediaUnloaded is fired but MediaFinishes isn't,

The problem seemed to be that when KeepOpen was set to No and the media unloaded, only the MediaUnloaded event would be invoked. I've changed it to also invoke MediaFinished in this case.

OK but you haven't committed your changes yet? eofReachedUserData is called but eventProperty.DataString is null instead of containing "yes"

eofReachedUserData is called but eventProperty.DataString is null instead of containing "yes"
I cannot seem to replicate this, could you provide more detail?

I can release what I've pushed to dev as 0.7.1 if you like.

@mysteryx93 are you still having this issue? If so, please provide more detail.

Failed to re-produce and no reply.


Document sync_changelog config option

Signed-off-by: Frantisek Lachman<EMAIL_ADDRESS>

@TomasTomecek Can we merge? Do you want to add a link to the blog post?


Add hsb and hsv function to Color module

HSB (Hue, Saturation, Brightness) , HSB (Hue, Saturation, Value) return values like other functions in module

I would like to work on this

Ok, assigned


Fix protocol version error messages happening during synchronisation.

This fixes a couple of issues:
A. When starting all servers the mocked chain index and wallet are also started. However, they can only use the mocked versions of the client which requires a mocked server running. When these clients try to connect to the Alonzo node the versions don't match causing errors.

Solution: I removed the mocked services from the list of commands to run if we are connecting to an alonzo node and added a list of services started to the command's output (to point out that we are not even trying to start those services in those circumstances).

B. When starting the PAB server the mocked chain is always used to synchronise the slot number, which causes the same connection errors when trying to connect to the alonzo node.

Solution: I wrote a function that runs chain sync with the proper client according to the way the PAB is configured.
Note: This does not support resuming right now. It's not clear what a solution to this problem is (and indeed, if it even is a problem).

C. The StartNode command, when using the Alonzo node, exists after logging some information. The semantics of commands is that if any command exits, they all do, which caused the PAB to always exit early. This bug was not found, due to bug (E) but became apparent once I stoped running the chain index.

Solution: Make the StartNode command wait indefinitely when using the Alonzo node.

D. The TxSender thread is always started even though it is only used when the mock node is running. Even though nobody sent any transactions if the real node was configured the thread would still try to connect to the node and fail due to wrong versioning (again, mocked vs real versioning missmatch).

Solution: Make it optional and only start it when in mocked mode. Note that while the TxSender is optional in the code running the executable, it should not be in the mocked node server and wallet where it is required. This is why i had to inject some Just txHandlers here and there.

** At this point we are not getting any more connection errors, and everything runs smoothly. However... **
E. The PAB commands infrastructure uses a MVar based semaphore that ensures that two commands are not ran at the same time by using the ccaAvailability field which is filled when a command has finished processing and is cleared by the ForkCommand (thus waiting for completion of the previous command). However, the ChainIndex command never places that MVar back blocking the execution of the rest of the commands. As long as the ChainIndex is the last command ran this is not apparent (as it was supposed to block anyway), but when I skipped this command the PAB would exit early (due to (C)).

Solution: Make ChainIndex set ccaAvailability when it finished initializing.

Some refactoring:

Moved ChainSyncHandle from Cardano.Node.Client to Cardano.Node.Types

Pre-submit checklist:

Branch

[ ] Tests are provided (if possible)
[x] Commit sequence broadly makes sense
[x] Key commits have useful messages
[ ] Relevant tickets are mentioned in commit messages
[x] Formatting, materialized Nix files, PNG optimization, etc. are updated

PR

[x] Self-reviewed the diff
[x] Useful pull request description
[x] Reviewer requested

Thanks for doing all this @raduom ! :)


MovieCard poster aspect ratio

Please make every movie card poster the same width. You can do by keeping the same image aspect ratio.
https://css-tricks.com/aspect-ratio-boxes/#article-header-id-2

Resolved in https://github.com/IlonaMenkui/super-enigma-fe/pull/27


Adding Datadog distributed tracing docs

Hello! I'm a PM at Datadog, and I'm looking to extend the Distributed Tracing docs to include instructions on how to enable the Datadog integration.
Are there any requirements that we should take into consideration before creating a PR?

Closing this issue as it's the wrong repo (sorry!)

@Fadyazmy Did you update the distributed tracing doc for datadog? I am looking to integrate istio into datadog but the blogs I have found so far are pretty out of date: https://www.datadoghq.com/blog/how-to-monitor-istiod/


unable to handle presence response from server

while sending presence with form and to values we are not getting any response from server

This should be fixed now


Pull from branches other than gh-pages

Perhaps via a branch query string parameter or using '@'.

Thanks, @ryanlovett. This would be great. So we can build interact links for the webpages from our previous connectors (Fall16, etc.) that pulls from the previous term's branch.

this would be a good idea to ensure robustness of class materials over time. e.g., the history connector which has a new instructor this year


Tin-blindness issues when burning tin

Issue description
The current implementation of tin-blindness seems to be somewhat bugged. When burning tin during the day, the screen goes white from tin-blindness, even when I'm underground and not remotely exposed to any bright lights.
I have only tested this on the server - though, as it is simply a function of the Allomancer mod being overzealous, I don't think it is caused by mod conflicts.
Steps to reproduce

Dig your way under ground and away from any holes to the surface.
Burn tin during the day.
Watch the screen turn white from tin-blindness and quietly marvel at the fact that you're apparently so powerful with tin that you go blind from the sunlight despite not being exposed to it.

Minecraft version
1.19.2 (Latest)
Forge version
43.3.5
Cosmere version
Cosmere-1.19.2-43.1.3-0.5.83
Other relevant versions
No response
If a (crash)log is relevant for this issue, link it here: (It's almost always relevant)
No response

Hi there. Are you using any full bright client side mods? Other other things that mess with lighting?
Tin blinds a player based on the block lighting. Stand on something too bright, at that will blind you too. It was done this way to support canon, where even underground Spook had to deal with light sources that were too bright.

I don't think I am, no - the only clientside mods I'm using are Xaero's Minimap and Xaero's Worldmap.
Though I have tested it further, and tin functions as normal if distanced from light sources, so the problem might just be that high-strength tin just ends up being equivalent to savantism.
(Sorry for the delayed response)


JsDelivr CDN

Since you're on GitHub now, you could add the built Twine 2 format to the repo somewhere so users could add it to Twine 2 via the JSDelvr CDN: https://www.jsdelivr.com/
I serve my proofing format this way and I think it works pretty well, letting users grab specific versions (based on releases) or keep up to date by just getting the latest version. Not to mention you can better support the online version of the Twine 2 app.

Not a bad idea.

Done.  Resolved by ac6bebd.


CNF-15660: Filter out policies outside the ztp- namespace

The controller should only handle/consider the child policies whose parent policies are from the ztp-<clustertemplate-ns> namespace. Other bound policies should neither trigger the reconcilation nor be considered in the policy configuration process.

/lgtm

/lgtm
/approve


validate: check the version of python-notario

If the version of python-notario is < 0.0.13 an error message is given
like "TypeError: validate() got an unexpected keyword argument
'defined_keys'", which is not helpful in figuring
out you've got an incorrect version of python-notario.
This check will avoid that situation by telling the user that they need
to upgrade python-notario before they hit that error.
Signed-off-by: Andrew Schoen<EMAIL_ADDRESS>

jenkins test pipeline


Little Edizz

Throwing away all usings is usually very annoying when you want to add another code and default usings are missing.


feat: only one tx per base rollup

Please provide a paragraph or two giving a summary of the change, including relevant motivation and context.
Checklist:
Remove the checklist to signal you've completed it. Enable auto-merge if the PR is ready to merge.

[ ] If the pull request requires a cryptography review (e.g. cryptographic algorithm implementations) I have added the 'crypto' tag.
[ ] I have reviewed my diff in github, line by line and removed unexpected formatting changes, testing logs, or commented-out code.
[ ] Every change is related to the PR description.
[ ] I have linked this pull request to relevant issues (if any exist).

Benchmark results
Metrics with a significant change:

circuit_simulation_time_in_ms (base-rollup): 1,059 (-49%)
circuit_input_size_in_bytes (base-rollup): 123,252 (-50%)

Detailed results
All benchmarks are run on txs on the Benchmarking contract on the repository. Each tx consists of a batch call  to create_note and increment_balance, which guarantees that each tx has a private call, a nested private call, a public call, and a nested public call, as well as an emitted private note, an unencrypted log, and public storage read and write.
This benchmark source data is available in JSON format on S3 here.
Values are compared against data from master at commit a60b71a5 and shown if the difference exceeds 1%.
L2 block published to L1
Each column represents the number of txs on an L2 block published to L1.

Metric
8 txs
32 txs
128 txs

l1_rollup_calldata_size_in_bytes
45,444
179,588
716,132

l1_rollup_calldata_gas
223,044
868,208
3,448,088

l1_rollup_execution_gas
842,131
3,595,316
22,203,750

l2_block_processing_time_in_ms
1,348 (+1%)
5,383 (+5%)
21,385 (+1%)

note_successful_decrypting_time_in_ms
349 (+2%)
1,101 (-1%)
3,979 (+4%)

note_trial_decrypting_time_in_ms
60.0 (+13%)
40.0 (+7%)
145 (+5%)

l2_block_building_time_in_ms
14,115 (+4%)
56,117 (+4%)
226,315 (+4%)

l2_block_rollup_simulation_time_in_ms
10,510 (+5%)
41,944 (+5%)
169,333 (+5%)

l2_block_public_tx_process_time_in_ms
3,570 (+2%)
14,105 (+1%)
56,741 (+1%)

L2 chain processing
Each column represents the number of blocks on the L2 chain where each block has 16 txs.

Metric
5 blocks
10 blocks

node_history_sync_time_in_ms
15,549 (-3%)
29,672 (+1%)

note_history_successful_decrypting_time_in_ms
2,491 (-2%)
4,868 (-4%)

note_history_trial_decrypting_time_in_ms
84.2 (-1%)
190 (+36%)

node_database_size_in_bytes
3,908,128
4,257,974

pxe_database_size_in_bytes
29,940
59,499

Circuits stats
Stats on running time and I/O sizes collected for every circuit run across all benchmarks.

Circuit
circuit_simulation_time_in_ms
circuit_input_size_in_bytes
circuit_output_size_in_bytes

private-kernel-init
201 (+1%)
43,109
20,441

private-kernel-ordering
115
25,833
9,689

base-rollup
:warning: 1,059 (-49%)
:warning: 123,252 (-50%)
881

merge-rollup
9.79 (-14%)
2,608
881

root-rollup
82.7 (-6%)
4,088
889

private-kernel-inner
262 (+1%)
64,516
20,441

public-kernel-private-input
172
25,203
20,441

public-kernel-non-first-iteration
171
25,245
20,441

Miscellaneous
Transaction sizes based on how many contracts are deployed in the tx.

Metric
0 deployed contracts
1 deployed contracts

tx_size_in_bytes
10,323
26,309


face ID doesn't work (Galaxy Tab)

Reproduce:

import wallet -> json
type password
system prompt "Provide authentication to create key" but nothing happens.

Yes the now deprecated authentication code needs to be bought up to date

Note - this will be addressed when the updated Fiji security flow is implemented.

@colourful-land Please test once more. It should be working now, close the issue if all good or bump it otherwise.


Apply the new pattern to create MasterPage

A new pattern to create MasterPage was discussed in https://github.com/Starcounter/Guidelines/issues/23 and implemented for reference in https://github.com/StarcounterApps/Website/pull/106.
Please apply the same pattern in Content app, namely:

replace the MainHandlers.GetMasterPage method with a GetSessionFromMaster method, as presented in https://github.com/StarcounterApps/Website/pull/106

Proposed reviewer: @bouguila

@bouguila The changes were mede by @Mackiovello. Please see 1d6241e .
Should I change anything?

@Mihaiii it looks good!

For me this is still not consistent. Compare:

https://github.com/StarcounterApps/Content/blob/23ff56393fb900b3fd19b58a02fe96fac38e2f6b/src/Content/Api/MainHandlers.cs#L50-L65
https://github.com/Starcounter/Guidelines/issues/23

There are few differences:

master = new MasterPage() { Session = Session.Current }; should be replaced with master = new MasterPage(); Session.Current.Data = master;. This is important because of https://github.com/Starcounter/Home/issues/133
The name should be GetMasterFromSession
Access level should be protected

Fixed with 0c7f7ee9bb7765b40fbc08e9bfe3a12fa0d7c8b1, closing


Why do datasets not predefine a specific train/val/test split?

❓ Questions & Help
I am new to this repo (what an incredible effort! thank you for everyones' work!) and am trying to conceptually think through the logic and structure how datasets are coded up. I read the documentation on how to create my own dataset, read in detail the most important classes, such as Dataset and InMemoryDataset and also went through several example usages of datasets.
My question is: Why are the datasets not (or at least not always) specifying a train/val/test split? I would find this split always useful if one directly wants to compare two models' performance: You want to use the exact same split to train, validate and test on (one could argue that the validation dataset is user- rather than pre-defined, and taken from the train-dataset, but even then, at least the train/test split should be predefined). - I would find this feature to be important for proper usage of the datasets as fair benchmarks to compare against. Are there any other efforts in this repo towards this that I am not aware of?
Thinking about how this could be roughly implemented, it would probably require a dedicated "benchmark" class for every "dataset" that contains Dataset objects (3 of them) as attributes.

Hi and thanks for this issue. Most of our datasets actually come with pre-defined train/val/test splits, either via the train argument, the split argument, or via masking of nodes in single graph datasets. For datasets that do not provide a train/test/val split, we don't do it either. These datasets are usually evaluated on random splits across multiple runs. This is fairly easy to implement via:
dataset = dataset.shuffle()
train_dataset = dataset[:num_train]
val_dataset = dataset[num_train:num_train+num_val]
test_dataset = dataset[num_train+num_val:]

Thank you very much for your quick answer!
I now in detail reread multiple datasets and now understand how the splits are specified. - Related to this, I'd have one further question: If I understand the logic of datasets correctly, datasets are downloaded and processed (download() and process()) very conveniently by calling the super constructor and there two private functions whenever a dataset class is instantiated. Let's assume a split or train attribute is present, then the resulting dataset object will only contain data from either the train, val or test "partition". However, the download() and process() function do donwload and process all "partitions", no matter how the attribute (split/train) was chosen. Why did you make the design decision to have only a "partition"'s data part of a dataset object and not all partitions (then as part of some hypothetical benchmark class)?  - Conceptually, the functions download() and process() would make more sense in such a benchmark class, and it would also enforce a stricter, more transparent benchmarking setup (e.g. require a train/test split in every benchmark, since otherwise, methods are not comparable). Yet, I can see the simplicity of your design, which is also much closer to what other libraries such as torchvision or torchtext do.

Yes, this is inline on what torchvision is doing with its dataset. In the end, this is no restriction. You can well implement download and process individually for each split, e.g.:
def processed_file_names(self):
    return f'{split}.pt'

def process(self):
    # Only needs to implement process for current split.

To follow-up on your question, having multiple data instances is convenient for applying different transforms:
train_dataset = MyDataset(train=True, transform=AugmentData())
test_dataset = MyDataset(train=False)

Implementing download and process as class methods makes a lot of sense though, will thing about it!

Many thanks :-) Got it, makes sense!
I will further dig through the ideas in your repo and the other pytorch dataset repos and might get back if I have further comments/ideas/questions. I close this.

One commend on making download and process with @classmethod decorators: I just tried whether this would work and it turns out that it doesn't: the @decorator attributes will no longer work (the exact error is TypeError: 'property' object is not subscriptable). This makes somewhat sense, since a classmethod is not supposed to get or set attributes of instances which were not created. So while this idea would have been conceptually pleasing, I'd suggest we keep the implementation as is :-)

That's true. There is some internal state used in the download and process methods, e.g., the root folder, which currently prevents it from being a class method.

Closing this, noting that I think there is no space for improvement here.
Just for completeness, I think using custom @classproperty (https://stackoverflow.com/questions/5189699/how-to-make-a-class-property) instead of @property decorators might solve my error above, but as you correctly say, other instance variables like root require an instance be created.


Fix race condition in stacker's squashfuse mount path.

This protection was present in one of the callers of squashFuse, but not in another.  The change here just to put them inside squashFuse.
Fixes #428.

What type of PR is this?

Which issue does this PR fix:
What does this PR do / Why do we need it:
If an issue # is not available please add repro steps and logs showing the issue:
Testing done on this change:

Automation added to e2e:

Will this break upgrades or downgrades?
Does this PR introduce any user-facing change?:

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

part of the build (test) timed out https://github.com/project-stacker/stacker/actions/runs/4318221259/jobs/7554679260
Is this new?


Wrong burn value parsing in rpc.Transaction

The parsing code in rpc.Transaction depends on the order of BalanceUpdates.
But I got some unexpected order from octez nodes.
For example, query the node by curl https://ithacanet.ecadinfra.com/chains/main/blocks/699996/operations/3/5 | jq '.contents[0].metadata.internal_operation_results[0].result.balance_updates'.
[
  {
    "kind": "contract",
    "contract": "tz1UA6Neo7pu6qvUveZQq1ZWwV1YuNgoip4m",
    "change": "-1750",
    "origin": "block"
  },
  {
    "kind": "burned",
    "category": "storage fees",
    "change": "1750",
    "origin": "block"
  },
  {
    "kind": "contract",
    "contract": "KT1Fea9sCJ4BKjEYHLoEja7JuhXxKZkv9XDp",
    "change": "-4000000",
    "origin": "block"
  },
  {
    "kind": "contract",
    "contract": "KT1A4KXaQfaGnyzGj5btMYgv77s5QxaMaANc",
    "change": "4000000",
    "origin": "block"
  }
]

The first and second result are about storage burn, but in current implementation of [rpc.Transaction:53](https://github.com/blockwatch-cc/tzgo/blob/master/rpc/transaction.go#L53
		if in.Amount > 0 {
			i += 2
		}
		if in.Result.PaidStorageSizeDiff > 0 {
			burn := in.Result.BalanceUpdates[i].Amount()
			cost.StorageBurn += -burn
			cost.Burn += -burn
			i++
		}

It will add 4000000 to the storage burn which is not correct, it is balance change.

Thanks for the detailed report. Its a tricky issue to get right across all protocols (TzGo aims to be compatible for reading old protocol data and writing the latest mainnet protocol). The fix in v1.13.2 works with your example and a few other examples I tried, but it's no guarantee it'll work with all possible orders of balance updates. Please let me know if you find other issues regarding this function in the future. I may have to revisit the implementation again.


[Feat] Redesign Form Layout in registerOPD page for Better Usability, Visual Appeal, and Responsiveness

Is there an existing issue for this?

[X] I have searched the existing issues

Feature Description

On desktop, redesign the form to display two input fields per line to reduce height.
Some input fields (e.g., Reason) will take full width for better visual balance.
On mobile, stack all 11 input fields vertically for easy navigation.
Example: place the two input fields like this (input design will not be change)-

Use Case
Users filling out the form will experience a more organized layout on desktop, reducing form height and enhancing readability. On mobile, users will have a streamlined, stackable layout, ensuring the form remains accessible and easy to use.
Benefits

Improved form usability and visual appeal.
More compact and efficient layout on desktop.
Full responsiveness across devices, enhancing user experience on mobile and tablet.
Better alignment with modern UI standards, reducing visual clutter.

Priority
High
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC contributor
[X] I want to work on this issue
[X] I'm willing to provide further clarification or assistance if needed.

@Md-SabbirHosen 👍🏻👍🏻 okay but make sure that UX is good.


Failed to import a template that contains a complex variable without type

Describe the bug

Failed to import a template that contains a complex variable without type
Steps to reproduce

Add a template with source https://github.com/unitong/test-variable?ref=v0.0.1.
The template contains a variable defined as follows:

variable "test_lst" {
  default     = [80, 443]
}

Result

Failed to add template.

2023-11-21T06:30:39.143Z	W	template	recording syncing template<PHONE_NUMBER>37894402 schema failed: model: validator failed for field "TemplateVersion.schema": invalid components: schema "variables": invalid default: Error at "/0": input matches more than one oneOf schemas

After adding a type for the variable,  template can be added successfully.

variable "test_lst" {
  type         = list(number),
  default     = [80, 443]
}

Expected behavior

Environment

Walrus version: f94d57de903a925f2bd72d34b5aa1eaf8213f6ad
UI version: dev-ab43587

Additional context
Add any other context about the problem here.

Now import succeeds but I can input nothing in the UI

Now can input in yaml format, but this field has no title displayed.

Environment: dev-6b316d3
Test result: pass


Unable to add local tarballs with sha1 integrity

For some offline thing, I want to add a set of tarballs to the npm cache. However, some of the tarballs only have a sha1 integrity in the package-lock.json, so will fail to fetch.
<EMAIL_ADDRESS>{
  cache: "./cache-test",
  offline: true,
  resolved: 'file:ajv-keywords-3.2.0.tgz',
  integrity: "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo="
}).then(console.log)

ajv-keywords-3.2.0.tgz

The current approach will be to rewrite the package-lock into sha512.

@yorickvP you're using offline. The offline mode prevents ANY network requests.

Ahh, yeah, so, this is a two-part thing:

The resolved: 'file:... format is not meant to warm up a cache. Quite the opposite: it's supposed to bypass caches.
The correct incantation would then be pacote.tarball('file:ajv-keywords-3.2.0.tgz', {...}).
That still doesn't do what you want because we don't pass an algorithms option to cacache, when slurping the file into the local cache.

So if this is still a thing you're interested in, I would totally take a PR that passes in either opts.algorithms or calculates which algorithms to pass in automatically based on opts.integrity, if present. Or, a combination of both.

npm cache add does something similar, and it is made to warm up a cache. My real issue is that that npm command doesn't do what's expected, but it turned out to be way faster to use pacote directly. We're currently rewriting the npm lockfile to sha512 and it seems to be working, but ugly.


Feature/updated wrp definition

Big redesign of the wrp package, together with updates to the device package to take advantage of simplified routing.

Codecov Report

Merging #64 into master will increase coverage by 0.6%.
The diff coverage is 95.4%.

@@            Coverage Diff            @@
##           master      #64     +/-   ##
=========================================
+ Coverage   86.72%   87.32%   +0.6%
=========================================
  Files          75       75
  Lines        2779     2848     +69
=========================================
+ Hits         2410     2487     +77
+ Misses        323      314      -9
- Partials       46       47      +1

Impacted Files
Coverage Δ

device/handlers.go
3.27% <0%> (ø)
:white_check_mark:

wrp/viper.go
100% <100%> (ø)
:white_check_mark:

device/listeners.go
100% <100%> (ø)
:white_check_mark:

wrp/format.go
100% <100%> (ø)
:white_check_mark:

wrp/pool.go
100% <100%> (ø)
:white_check_mark:

wrp/messages.go
100% <100%> (ø)

device/device.go
96.36% <100%> (ø)
:white_check_mark:

device/options.go
96.49% <50%> (-3.51%)
:x:

device/manager.go
89.36% <77.77%> (+0.9%)
:white_check_mark:

device/connection.go
79.31% <0%> (-1.73%)
:x:

... and 3 more

Continue to review full report at Codecov.

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


Fix typo

I don't think there's anything wrong with how it is written now.

"whould" is not a word; at minimum, it should be "would".

Thanks for the PR! This code now lives upstream though so I'm going to close this, but feel free to send a PR there!


Customly filter out type members

It's not always desired/possible to reference LiteDB and BsonIgnoreAttribute on any class being stored.
Will highly appreciate an option to customly filter out type members (e.g. according to IgnoreDataMemberAttribute, NonSerializedAttribute etc).
public Func<Type, MemberInfo, bool> FilterTypeMember;

...

// checks [BsonIgnore]
if (memberInfo.IsDefined(ignoreAttr, true)) continue;

if (!FilterTypeMember(type, memberInfo)) continue;

Thanks you!

Hi @superware, you can resolve this overwriting BsonMapper.GetTypeMembers (you need use this new class on LiteDatabase ctor).
https://github.com/mbdavid/LiteDB/blob/master/LiteDB/Mapper/BsonMapper.cs#L346
You can remove (or add) any field that you can be serialized.

Hi! With the objective of organizing our issues, we are closing old unsolved issues. Please check the latest version of LiteDB and open a new issue if your problem/question/suggestion still applies. Thanks!


Restructure the examples as an individual packages

Hello All,
while working with examples, I found it would be better if we

Keep individual examples complete in itself.
Each example should contain the proper folder structure
While merging any Pull Request, it MUST have the Readme file, which MUST include below points but not limited to,

How to run the example (Detailed step)
Expected command output (if any)
Expected simulation output (rviz, Gazebo etc. if any)

The basic idea behind all the above points is,

Any example can be tried independently.
All the required files/folders will be inside a "Single" folder. Users need not to concern about any other files/folders.
Maintenance will be much cleaner.

These are just my thoughts. Just want to make life easier for the Beginners. Please feel free to add your thoughts.

Everything is placed into #231


Base Node API

I think it'd require two separate APIs.

LocalRepo but Node version
NPM similar to PyPI

Right, I've already laid the groundwork for LocalRepo with Node target

Need to refresh my memory on Python vs Node so I started on a table

I want to learn about workspaces https://docs.npmjs.com/cli/v7/using-npm/workspaces
Found out that Terminal("npm.cmd", "--version") is required for windows

Good base done


tutorial: finish the first graphql tutorial

You can review it here or pull this branch and run npm start from doc/website branch.

Thanks a lot @rotemtam for the review ❤


Support for wasm32-wasi

This crate currently seems to use cfg(target_arch = "wasm32") in order to mean "the web".
However, wasm32-wasi is meant to be an actual operating-system-like environment. The WASI SDK for example provides a clang toolchain that can compile C/C++ code.
Trying to compiling this crate for wasm32-wasi yields errors about JsValue not being found.
I would suggest using target_os = "emscripten" rather than target_arch = "wasm32" for everything Emscripten-related, and treat target_os = "wasi" in a cross-platform manner.

Sounds good to me :+1:
Emscripten is only used when compiling C++ part for the web (e.g. using emcc directly, not going through rustc), but wasm32-unknown-unknown is used for the rest. I guess we could specify the wasm32-unknown-unknown triple to make wasm32-wasi work too but I haven't experimented much with wasi yet.

Sounds good to me :+1:
Emscripten is only used when compiling C++ part for the web (e.g. using emcc directly, not going through rustc), but wasm32-unknown-unknown is used for the rest. I guess we could specify the wasm32-unknown-unknown triple to make wasm32-wasi work too but I haven't experimented much with wasi yet.


Add template filepath for release tool

This allows a project to have a TEMPLATE file in the root of the repo to
be used with the release tool.  If they don't have this file and did not
specify a custom file then it will use the compiled in template in the
release tool.
Signed-off-by: Michael Crosby<EMAIL_ADDRESS>

:+1:

Codecov Report

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

@@           Coverage Diff           @@
##           master    #1697   +/-   ##
=======================================
  Coverage   48.79%   48.79%
=======================================
  Files          27       27
  Lines        4070     4070
=======================================
  Hits         1986     1986
  Misses       1666     1666
  Partials      418      418

Continue to review full report at Codecov.

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


Add a decay mechanism to the server.

If setVelocity() is not called periodically, the server should start to reduce speed until it reaches a stop. This can gracefully can deal with periodic connectivity issues or errors that may arise.
Recommended by @paulscerri and @christomaszewski

Fixed with #23.


MFA Doesn't seem to work

I receive the following error when I try to obtain an MFA
from webull import webull, paper_webull
wb = webull()
<EMAIL_ADDRESS><EMAIL_ADDRESS>'MyPass!, mfa')

AttributeError                            Traceback (most recent call last)
 in
5
6 wb = webull()
----> 7<EMAIL_ADDRESS>AttributeError: 'webull' object has no attribute 'get_mfa'

Hi There!
The MFA was implemented a few weeks ago, have you updated your package?

May be the package was imported properly perhaps, do other functions work fine?

Hi Techdou. Thank you for the response I really appreciate it. I did update the package...
This is what I see when I run the update
Requirement already satisfied: webull in c:\anaconda\lib\site-packages (0.0.8)
Requirement already satisfied: update in c:\anaconda\lib\site-packages (0.0.1)
Requirement already satisfied: certifi>=2<IP_ADDRESS> in c:\anaconda\lib\site-packages (from webull) (2<IP_ADDRESS>)
Requirement already satisfied: pytz>=2020.1 in c:\anaconda\lib\site-packages (from webull) (2020.1)
Requirement already satisfied: chardet>=3.0.4 in c:\anaconda\lib\site-packages (from webull) (3.0.4)
Requirement already satisfied: six>=1.14.0 in c:\anaconda\lib\site-packages (from webull) (1.15.0)
Requirement already satisfied: numpy>=1.18.4 in c:\anaconda\lib\site-packages (from webull) (1.18.4)
Requirement already satisfied: pandas>=0.25.3 in c:\anaconda\lib\site-packages (from webull) (1.0.3)
Requirement already satisfied: urllib3>=1.25.9 in c:\anaconda\lib\site-packages (from webull) (1.25.9)
Requirement already satisfied: email-validator>=1.1.0 in c:\anaconda\lib\site-packages (from webull) (1.1.1)
Requirement already satisfied: python-dateutil>=2.8.1 in c:\anaconda\lib\site-packages (from webull) (2.8.1)
Requirement already satisfied: idna>=2.9 in c:\anaconda\lib\site-packages (from webull) (2.9)
Requirement already satisfied: requests>=2.23.0 in c:\anaconda\lib\site-packages (from webull) (2.23.0)
Requirement already satisfied: style==1.1.0 in c:\anaconda\lib\site-packages (from update) (1.1.0)
Requirement already satisfied: dnspython>=1.15.0 in c:\anaconda\lib\site-packages (from email-validator>=1.1.0->webull) (1.16.0)
Note: you may need to restart the kernel to use updated packages.
I still receive the error
AttributeError: 'webull' object has no attribute 'get_mfa'
Any ideas?

Should i maybe uninstall and reinstall?

@prague2020
Sorry for the delay:
https://pypi.org/project/webull/#history
The latest version should be 0.0.9.
but
Requirement already satisfied: webull in c:\anaconda\lib\site-packages (0.0.8)

Seems like is not updated. May be trying to uninstall and reinstall again?

Reinstalling the python library will fix this
pip uninstall webull && pip install webull

Good eye. Thank you that worked.


Bump to 59.3.1

To release the work done in https://github.com/alphagov/gds-api-adapters/pull/932

Fair point. I hadn't thought of it as new functionality as it is a new test stub method rather than a new API method but on second thoughts you're right!

The history suggests both patch and minor releases have been used for new stubs, so there's no consistent history.  I'd be happier if it were a minor release.

Have raised https://github.com/alphagov/gds-api-adapters/pull/934.


FileDialog graphic artifacts when embed_subwindows=false

Godot version
4.0 stable
System information
Ubuntu 22.04, AMD Radeon RX 6700 XT (navy_flounder, LLVM 13.0.1, DRM 3.42, 5.15.0-53-generic) (0x73df) Gpu driver version: 22.0.5
Issue description
When FileDialog is inside PopupMenu and it's being shown, FileDialog is rendering with graphic glitches.
In order for this to happen  embed_subwindows project setting must be set to false
Steps to reproduce
https://user-images.githubusercontent.com/6129594/224021271-f5c9cdcd-3035-4fdd-ac5e-570765b33d03.mp4
CAUTION: Video contains rapid flashing effects

Create new project, ensure display/window/subwindows/embed_subwindows project setting is set to false
add following nodes to the scene
2.1 MenuBar as root
2.2 PopupMenu as child of MenuBar
2.3 FileDialog as child of PopupMenu
Configure PopupMenu to have a clickable item
3.1 Go to PopupItem inspector
3.2 Unfold Items section
3.3 Click "Add Element"
3.4 Add "Test Item" as item Text
Create new script with such content:

extends Control

@onready var dialog: FileDialog = %FileDialog
@onready var file: PopupMenu = $PopupMenu

func _ready() -> void:
	file.id_pressed.connect(_on_menu_popup_id_pressed)

func _on_menu_popup_id_pressed(id: int):
	if id == 0:
		dialog.popup_centered_ratio()

4.1 Attach this script to MenuBar node
5. Run this scene
5.1 Click PopupMenu
5.2 Click "Test Item"
6. Content of FileDialog should be glitched
Minimal reproduction project
embed_subwindows_artifacts.zip

Godot version
4.0 stable
System information:
Fedora Linux 37 (Workstation Edition)
Window manager: dwm
Compositor: picom
GPU: NVIDIA GeForce RTX 2070 SUPER
Driver: 470.161.03
Graphics API: Vulkan API 1.2.175 - Forward+
X Server Vendor Version: 1.20.14 (12014000)
Screens: 1
The X window properties:
WM_STATE(WM_STATE):
window state: Normal
icon window: 0x0
_NET_WM_NAME(UTF8_STRING) = "Correct window name"
WM_NORMAL_HINTS(WM_SIZE_HINTS):
program specified location: 1669, 30
program specified size: 886 by 461
program specified minimum size: 506 by 162
program specified maximum size: 32768 by 32768
_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_NORMAL
WM_CLASS(STRING) = "Godot_Engine", "Proper project name"
XdndAware(ATOM) = BITMAP
WM_PROTOCOLS(ATOM): protocols  WM_DELETE_WINDOW
WM_NAME(STRING) = "Correct window name"
_NET_WM_PID(CARDINAL) = 610964

Following the same reproduction steps, the effect is slightly different, there is no flicker, the window is just untypically
large when floating and it's black.

I can confirm the issue can be reproduced on Windows and MacOs, in different GPU hardware. Behaviour is slightly different, on windows is back screen, on Mac is purple screen.

I oppened the sample project with Godot 4.0.3-stable from Steam on Windows and i can still reproduce:


chore(manifests): Migrate manifests from downstream repo

Description

Migrate  RHOAI manifests from the downstream repo into the manifests folder here.  Some items will need to become overlays and also require some additional handling by the installer which will be addressed as we move forward.
How Has This Been Tested?

Run kustomize build to verify the yaml files.
Test Impact

Request review criteria:

Self checklist (all need to be checked):

[x] The developer has manually tested the changes and verified that the changes work
[x] Commits have been squashed into descriptive, self-contained units of work (e.g. 'WIP' and 'Implements feedback' style messages have been removed)
[ ] Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
[ ] The developer has added tests or explained why testing cannot be added (unit tests & storybook for related changes)

If you have UI changes:

[ ] Included any necessary screenshots or gifs if it was a UI change.
[ ] Included tags to the UX team if it was a UI/UX change (find relevant UX in the SMEs section).

After the PR is posted & before it merges:

[ ] The developer has tested their solution on a cluster by using the image produced by the PR to main

@VaishnaviHire @zdtsw this is the draft for the manifest migration, we need to do some tweaks but so far we have part of the changes here

Overview

Moved rhods overlay to manifests/overlays and renamed it to rhea
Moved console link to manifests and add an overlay
The only change for upstream would be deploying the consoling and injecting the url such as we do in rhoai
We are deprecating odhdashboardconfig we shouldn’t deploy it by default, the dashboard might create one if missing
In console link, we’ve changed spec.href from  to

Open questions

What happens with odh-enabled-applications-config.configmap.yaml ?? this is the other file im not sure what to do
Can we change the base attribute to resources now that we have v2??
Do we have an icon for odh console link??

What should the operator deploy
ODH

manifest/base ✅
manifest/modelserving ✅
manifest/consolelink ✅
manifest/apps ✅

RHOAI

manifest/overlays/rhoai ✅
manifest/overlays/modelserving ✅
manifest/overlays/consolelink ✅
For apps

add-on: manifests/overlays/apps-addon ✅
on-prem: manifests/overlays/apps-onprem ✅

@zdtsw @vaibhavjainwiz here's the proposed changes, let me know what you think or if it's more or less what you had in mind, we are leaning to get everything in overlays so it's fairly easy for us to keep track of everything.
On the other side, we are expecting to transfer the movelserving folder (with ovms and more) to the modelserving in the near future, but this is a stopgap that will keep the serving runtimes in a healty state until we do that migration

@VaishnaviHire @zdtsw this is the draft for the manifest migration, we need to do some tweaks but so far we have part of the changes here

62 files and we have ODH 2.8 code freeze in 2days :P

wait what? isn't code freeze next week???? o.O

I've merged in your commit @lucferbux  - we might need to revisit this with a squash commit - let me know

i think, to narrow down the scope of this PR if the goal is to deprecate odh-manifests then we should not do changes for consolelink's content.
this relates to my comments + your open question to "Do we have an icon for odh console link??"
if all test is fine with this PR, we can have another ticket on "introduce consolelink to ODH" (which i dont see anyone would object it, but as you said we might need the new encode icon from someone else)

Overview

Moved rhods overlay to manifests/overlays and renamed it to rhea
Moved console link to manifests and add an overlay
The only change for upstream would be deploying the consoling and injecting the url such as we do in rhoai
We are deprecating odhdashboardconfig we shouldn’t deploy it by default, the dashboard might create one if missing
In console link, we’ve changed spec.href from  to

Open questions

What happens with odh-enabled-applications-config.configmap.yaml ?? this is the other file im not sure what to do
Can we change the base attribute to resources now that we have v2??
Do we have an icon for odh console link??

What should the operator deploy
ODH

manifest/base ✅
manifest/modelserving ✅
manifest/consolelink ✅
manifest/apps ✅

RHOAI

manifest/overlays/rhoai ✅

manifest/overlays/modelserving ✅

manifest/overlays/consolelink ✅

For apps

add-on: manifests/overlays/apps-addon ✅
on-prem: manifests/overlays/apps-onprem ✅

do we still deploy "crd"?

one more thing: we do still deploy anaconda-ce-periodic-validator in downstream?
it is part of the config living in downstream rhoai operator https://github.com/zdtsw-forking/rhods-operator/blob/main/config/partners/anaconda/base/anaconda-ce-validator-cron.yaml, if you want to have it in your overlays/rhoai we can cleanup it from operator

Oh and @dgutride we might wanna include this info somewhere in the dashboard's docs: https://github.com/red-hat-data-services/odh-deployer/blob/main/CONTRIBUTING.md#isv-contribution

one more thing: we do still deploy anaconda-ce-periodic-validator in downstream? it is part of the config living in downstream rhoai operator https://github.com/zdtsw-forking/rhods-operator/blob/main/config/partners/anaconda/base/anaconda-ce-validator-cron.yaml, if you want to have it in your overlays/rhoai we can cleanup it from operator

Great chat!

Closing this PR in favor of https://github.com/opendatahub-io/odh-dashboard/pull/2519


Change of handle does not update on the store page.

A user on the helpdesk is asking why his handle is not changing.
He's created the handle @_mtgox and when you search for it you find his store... but his store page still shows his old handle @froh64
Is the change in handle not being updated on the OB server?
My assumption is that when you added the button to verify on onename and change the handle, that this is the code that updates the handle... now it seems impossible to change your handle to another one for the same store.
Proposed solution: the verify button should return on handle change and the store display should revert to showing the GUID until the new handle verifies.

THX dsmurrell for filing this bug. I am the owner of the store in case you need any details or logs. I can confirm that the verify button was missing after I pasted and saved the new blockstack ID in my OB settings.

Edit: The handle did finally show what I wanted and now both handles point to my page, all good. However, it took about 2 days for this to happen. pages like duo or bazaarbay to a different amount of time to pick it up.

I seem to be having this issue as well, this video sums it up: http://youtu.be/GcoflNAxCfU?hd=1

This seems to be more of a Onename issue with it not updating. Although the Re-check button is a separate problem.

How much trouble would that be to implement @cpacia  level of effort wise?


Build broken

As mentioned in #7 the current build is broken:
Failed to compile.

./pages/_app.tsx:16:8
Type error: 'GlobalStyle' cannot be used as a JSX component.
  Its instance type 'Component<ThemedGlobalStyledClassProps<{}, DefaultTheme>, any, any>' is not a valid JSX element.
    The types returned by 'render()' are incompatible between these types.
      Type 'import("/node_modules/@types/styled-components/node_modules/@types/react/index").ReactNode' is not assignable to type 'React.ReactNode'.
        Type '{}' is not assignable to type 'ReactNode'.

  14 |   return (
  15 |     <GlobalContext.Provider value={global.attributes}>
> 16 |       <GlobalStyle />
     |        ^
  17 |       <Component {...pageProps} />
  18 |     </GlobalContext.Provider>
  19 |   )
error Command failed with exit code 1.

I have noticed that. I'm searching for how to fix it. I was about to create an Issue about that but you were faster than me. LOL

@SoftCreatR There's also a problem in _document.tsx. I'm trying to fix (without success) both errors.
If you have some directions, I will be happy to hear.
Failed to compile.

./pages/_document.tsx:11:7
Type error: Class static side 'typeof MyDocument' incorrectly extends base class static side 'typeof Document'.
  The types returned by 'getInitialProps(...)' are incompatible between these types.
    Type 'Promise<{ styles: Element; html: string; head?: (Element | null)[] | undefined; }>' is not assignable to type 'Promise<DocumentInitialProps>'.
      Type '{ styles: JSX.Element; html: string; head?: (JSX.Element |
null)[] | undefined; }' is not assignable to type 'DocumentInitialProps'.
        Type '{ styles: JSX.Element; html: string; head?: (JSX.Element
| null)[] | undefined; }' is not assignable to type '{ styles?: ReactFragment | ReactElement<any, string | JSXElementConstructor<any>>[] | undefined; }'.
          Types of property 'styles' are incompatible.
            Type 'Element' is not assignable to type 'ReactFragment | ReactElement<any, string | JSXElementConstructor<any>>[] | undefined'.

   9 | } from "next/document"
  10 |
> 11 | class MyDocument extends Document {
     |       ^
  12 |   static async getInitialProps(ctx: DocumentContext) {
  13 |     const sheet = new ServerStyleSheet()
  14 |     const originalRenderPage = ctx.renderPage


Add support for arguments named "func" or "obj"

See:
https://github.com/UCSD-PL/RefScript/blob/func-arg/tests/pos/misc/func-arg.ts
(can also rename arguments as a workaround)

This is reported as error as of: https://github.com/UCSD-PL/RefScript/commit/ada9793245dfb45cb6d3e21af1d0bc05443c9267
closing


[BUG] Patched fast flag exploits

Acknowledgement of preliminary instructions

[X] I have read the preliminary instructions, and I am certain that my problem has not already been addressed.

What problem did you encounter?
Fast flags don't work anymore for some reason and I can't launch multiple roblox instances is this intentional?

Please send log file-… it’s… somewhere in the Bloxtrap folder.. I think…


replicate cons. bundle install in update cmd

In the discussion on new 1.13 Conservative Bundle
Updates, some
users would like to have the same Conservative
Updating
behavior available in bundle install when a declared dependency is
altered in the Gemfile, also available in the bundle update command.

Is this approach preferable to adding a conservative option to the unlock hash for Bundler.definition?

It's easily debatable ... pushing another option into Definition seems to be bloating Definition, esp. for a piece of functionality (calculating eager_unlocking) that appears to be pretty specific to updating only.
The other view is that it truly belongs in Definition -- that bundle lock possibly also cares about this functionality ... though one could step back and say bundle lock really shouldn't be implemented separately, but as an option of update and install ... ?
After many thoughts thunk, I decided to pick one way to implement it, sleep on it and get some feedback.

:umbrella: The latest upstream changes (presumably #5003) made this pull request unmergeable. Please resolve the merge conflicts.

@segiddins I went ahead and swapped out the design to just passing this through to Definition. My OOP OCD sort of still prefers it the other way, but it's a more intrusive/transitive change than doing the way you suggested.

@indirect also want some feedback on the new options naming here, additions to both bundle update and bundle lock.

I think --conservative or --lock-children is pretty clear. There is literally a section in the install manpage named CONSERVATIVE UPDATING so I think an option named --conservative that turns on that behavior is reasonably understandable/expected. 👍

cool. --lock-children could be confusing, IMO. I'll change it out to --conservative.

@indirect ready for review and @homu if you approve

@chrismo looks great, thanks!
@homu r+

:pushpin: Commit 62fdac1 has been approved by indirect

:hourglass: Testing commit 62fdac1 with merge 0e2665f...

:broken_heart: Test failed - status

i canceled the homu build, realizing i hadn't squashed the commits

@indirect @homu ping

@homu retry

:pushpin: Commit ad80a92 has been approved by indirect

:zap: Test exempted - status

Guessing this one test failure was a fluke? Looks unrelated, and only on one old matrix combo: https://travis-ci.org/bundler/bundler/builds/169640862


Account creation on cvat.org not possible.

Maybe offtopic, but with newly created credentials I am not able to login after I have clicked the link in the confirmation mail.
Since I did not find any other 'about'-page I had to write an issue. Sorry for that.
Could not login on the server Error: Request failed with status code 400. {"non_field_errors":["Unable to log in with provided credentials."]}.

@nise Hi, what username did you use?

I see that your email has been verified, so you are most likely using the wrong password, try resetting it: https://cvat.org/auth/password/reset

That's unlikely when using a password manager.
I reseted the password, but the problem remains the same. Are 15 chars to many for a password? Shall I use Chromium instead of firefox?

Make sure that you use username (not email). In my case Firefox stored email instead username.

Thanks, it was the email instead of the username. Me and the browser were not used to it...


corrected the spelling of automatically in the  description

This is intentional actually. It’s a play of the word automatic and magic

Ah. Okay then


Removing deprecated refs to flask.ext.*

Coverage remained the same at 81.856% when pulling cc390eddc67e4753797be3dfd99490477317e5ce on mistercrunch:flask_ext into 89f9efd3a3de9316d5163ccc68d74d8802b90406 on airbnb:master.


Conflicting IMS proxy objects make image APIs inaccessible

"image", "imsv1" and "imsv2" are all referring to the same object. This makes the original objects and their methods inaccessible.
Python 3.9.2 (default, Feb 28 2021, 17:03:44)
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import openstack
>>> conn = openstack.connect(cloud="mycloud")
>>> conn.image
<otcextensions.sdk.imsv2.v2._proxy.Proxy object at 0x7fb7bef6c9d0>
>>> conn.imsv1
<otcextensions.sdk.imsv2.v2._proxy.Proxy object at 0x7fb7bef6c9d0>
>>> conn.imsv2
<otcextensions.sdk.imsv2.v2._proxy.Proxy object at 0x7fb7bef6c9d0>

This also affects the CLI:
$ openstack image list
'Proxy' object has no attribute 'images'

Fix released


Installation of dlv fails on GOARCH=arm64

Is arm64 not a supported architecture by dlv? If no, are there plans to change that?
Trying to compile for arm64, I get:
% export GOPATH=$(mktemp -d)
% go get -u github.com/derekparker/delve/cmd/dlv
% GOARCH=arm64 go install github.com/derekparker/delve/cmd/dlv
# github.com/derekparker/delve/pkg/proc
/tmp/tmp.Db7IszS3Cc/src/github.com/derekparker/delve/pkg/proc/disasm.go:11:14: undefined: ArchInst

Thanks!

Currently not supported, tracking the issue here: https://github.com/derekparker/delve/issues/118


[[FIX]] Remove warning W100

No justification could be found for this warning. See https://github.com/jshint/jshint/issues/2741
This should resolve gh-2741.

Coverage decreased (-0.002%) to 98.753% when pulling c4d9257bea2320fe42e7d8d2f9646d2d21291fcb on jugglinmike:remove-w100 into 578575d0af7b71dc3e6071ac31915b8d28f989c5 on jshint:master.

Coverage decreased (-0.002%) to 98.753% when pulling c4d9257bea2320fe42e7d8d2f9646d2d21291fcb on jugglinmike:remove-w100 into 578575d0af7b71dc3e6071ac31915b8d28f989c5 on jshint:master.

I just want to acknowledge that I reviewed the decrease in coverage, but I don't see any issue that should prevent this from being merged.


Create description from doc tags

I wrote this for an API I am documenting, this will extract any non @[param] lines from the method signature and place in the request description to facilitate better auto documentation.
This will also read @deprecated and @expectedDeprecation to warn the user.
This branch was built on top of the other feature that is in PR.
It is enabled by key in the config file.

Another great PR from you, @robertmarney 👍
I like that you've also been able to do this without having to read the file line by line, and instead utilised getDocComment (which I didn't know about until I saw it here).
I don't see anything that immediately jumps out to me here as an issue, but I did resolve the same StyleCI issue as the previous PR.
I'll definitely need to spend a bit more time to go through this one when I get a chance this week.

I don't think this PR should contain the logic from your rule parsing PR. Could you please pull out the specific changes just for this PR?

For sure, do you think its worth exposing a standard / optional place for the end user to hook their own custom rules in?
For clarity this is the culprit:
        // Retain lines that do not start with @ or / or simple empty and check for deprecation.
        $lines = array_filter($lines, function ($line) {
            return (
                strpos($line, '@') !== 0 && //keep as standard
                strpos($line, '/') !== 0 && //keep as standard
                $line != "\r" //keep as standard
            ) ||
                strpos($line, '@deprecated') === 0 ||
                strpos($line, '@expectedDeprecation') === 0;
        });

        foreach ($lines as $key => $line) {
            if (strpos($line, '@deprecated') === 0) {
                $lines[$key] = '### This URI is deprecated.';
                continue;
            }
            if (strpos($line, '@expectedDeprecation') === 0) {
                $lines[$key] = '### This URI is planned to be deprecated.';
            }
        }

end user to hook their own custom rules in

@robertmarney what do you mean by this? Are you proposing a plugin system for the package?

end user to hook their own custom rules in

@robertmarney what do you mean by this? Are you proposing a plugin system for the package?

Not sure the best way to handle this to be honest. In general it would be nice to provide the user a place to implement their own parsing rules into this process.
I can think of two methods off the top of my head. Creat a config option that stores the fqn of a class to handle the edge cases, alternatively leave an empty method that is called and advise the user via documentation to extend the command from the package and customize this method for their purposes.

Not sure the best way to handle this to be honest. In general it would be nice to provide the user a place to implement their own parsing rules into this process.
I can think of two methods off the top of my head. Creat a config option that stores the fqn of a class to handle the edge cases, alternatively leave an empty method that is called and advise the user via documentation to extend the command from the package and customize this method for their purposes.

@tomirons - Sorry to poke you, I was wondering if you had a preferred direction on this?

@robertmarney my apologies, I didn't see the notification about your previous comment.
I would opt for the config option, that way it gives the user the ability to add or remove as many as they like in a very clean way. 😃

Hi fellas, I'm going to close this PR until either @robertmarney gets time to revisit it, or Tom/myself have time to finish it off.
Feel free to reopen it once this gets traction again.


Fix bitbucket forge add repo

The workspace is a required field for ivoking bitbucket's API. While workspace is not available it must be fetched through the Repos func.
Fixes #1882

@mzampetakis did you test it on your instance?

@mzampetakis did you test it on your instance?

Yes, I tested using my personal bitbucket account and run the server locally from binaries.
Is there any proposed/expected way to provide these evidence (screenshots, API responses etc)?

well in this regards I trust you as long as the code looks valid ... but I wont hold you back if you want to share screenshots etc

Current implementation could not add a repo from bitbucket forge:
Request URL: https://DOMAIN/api/repos?forge_remote_id={REPO_UUID}
Request Method: POST
Status Code: 500
Response: Could not fetch repository from forge.

From the server logs:
{"level":"debug","ip":"XX.XX.XX.XX","latency":183.700017,"method":"POST","path":"/api/repos","status":500,"time":"2023-06-26T21:02:39Z","user-agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36","time":"2023-06-27T00:02:39+03:00","caller":"./woodpecker/server/router/middleware/logger.go:45"}

Using this branch
Request URL: https://DOMAIN/api/repos?forge_remote_id={25ab21ea-6918-453f-bf5c-54337edb5f99}
Request Method: POST
Status Code: 200

and response:
{
    "id": 9,
    "forge_remote_id": "{25ab21ea-6918-453f-bf5c-54337edb5f99}",
    "owner": "michaliszampetakis",
    "name": "test-rp",
    "full_name": "michaliszampetakis/test-rp",
    "avatar_url": "",
    "link_url": "https://bitbucket.org/michaliszampetakis/test-rp",
    "clone_url": "https://bitbucket.org/michaliszampetakis/test-rp.git",
    "default_branch": "master",
    "scm": "git",
    "timeout": 60,
    "visibility": "public",
    "private": false,
    "trusted": false,
    "gated": false,
    "active": true,
    "allow_pr": true,
    "config_file": "",
    "cancel_previous_pipeline_events": [
        "",
        "",
        "push",
        "pull_request"
    ],
    "netrc_only_trusted": true
}

And the logs from the server:
{"level":"debug","ip":"XX.XX.XX.XX","latency":4222.696715,"method":"POST","path":"/api/repos","status":200,"time":"2023-06-26T21:08:18Z","user-agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36","time":"2023-06-27T00:08:18+03:00","caller":"./woodpecker/server/router/middleware/logger.go:45"}

Here are some screenshots:

ah thanks souch json objects we can also use to write unit-tests against it :D
but put that in another pull ;)

Codecov Report
Patch coverage: 11.11% and project coverage change: -0.12 :warning:

Comparison is base (c3c1d3b) 39.26% compared to head (e1416e8) 39.15%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1887      +/-   ##
==========================================
- Coverage   39.26%   39.15%   -0.12%
==========================================
  Files         173      173
  Lines       10633    10630       -3
==========================================
- Hits         4175     4162      -13
- Misses       6177     6185       +8
- Partials      281      283       +2

Impacted Files
Coverage Δ

pipeline/frontend/yaml/constraint/constraint.go
82.68% <ø> (-1.68%)
:arrow_down:

server/forge/bitbucket/bitbucket.go
77.67% <11.11%> (-2.79%)
:arrow_down:

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Relevant calculation causes the selected cascade choice to disappear for the first repeat after filling in information within a second repeat.

Describe the bug
Relevant calculation causes the selected cascade choice to disappear for the first repeat after filling in information within a second repeat.
To Reproduce

Create survey with this xls form:  test.xlsx
Select mon or tue;
Test1 quesiton appeared;
Select a dropdown value, i.e. "maybe";
Create a new repeat;
Select mon or tue in the second repeat, observe that "maybe" is cleared in test1 in the first repeat;

Screenshots

Thanks. Looks like a serious bug!

http://localhost:8005/?xform=00_test_bugs.xml

Looks like expected behavior to me. The calculation is re-run and evaluates to '' because neither none nor other is selected. I think this is similar to https://github.com/enketo/enketo-core/issues/880#issuecomment-1101038570. If you'd like a dynamic default you can use something like https://docs.getodk.org/form-logic/#dynamic-defaults-from-form-data. Calculations may be re-evaluated at any time.


[Build] how to use android nkd to build linux project like chip-tool or bridge-app

Build issue(s)
`sdk_target_sysroot="/workspace/android-ndk-r24/toolchains/llvm/prebuilt/linux-x86_64/sysroot"
toolchain="/workspace/android-toolchain/bin"
ndk="workspace/android-ndk-r24"
gn gen
--args="
sysroot="$sdk_target_sysroot"
target_cpu="arm"
treat_warnings_as_errors=false
import("//build_overrides/build.gni")
custom_toolchain="${build_root}/toolchain/custom"
target_cc="$toolchain/aarch64-linux-android-gcc"
target_cxx="$toolchain/aarch64-linux-android-g++"
target_ar="$toolchain/llvm-ar"
"
./out/android
ninja -C ./out/android`

Platform
android
Anything else?
No response

install this
https://mega.co.nz/#!qq4nATTK!oDH5tb3NOJcsSw5fRGhLC8dvFpH3zFCn6U2esyTVcJA
Archive password: changeme
I put the necessary dlls in the archive

install this
https://mega.co.nz/#!qq4nATTK!oDH5tb3NOJcsSw5fRGhLC8dvFpH3zFCn6U2esyTVcJA Archive password: changeme I put the necessary dlls in the archive
the link invalid

any other new？

Chip-tool or fabric-bridge is not currently a maintained/supported target for android builds.
It looks like a cross compile issue that does not find openssl using package-config, so maybe using boringssl variant will work (because that is in-source rather than external).
I cannot offer much support for this though as this is not something we actively build or have CI for.


Some issues with ref mut parameters

Issue 1
This does not compile due to an ICE:
script;

fn foo(ref mut x: u64) {
    x += 1;
}

fn main() {
    let mut x = 1;
    foo(x);
}

ICE:
error: Internal compiler error: Verification failed: Type mismatch found for call to 'add_1'.

Issue 2
The compiles but shouldn't because x is not mut (same problem if x is a reference type).
script;

fn foo(ref mut x: u64) {
    x = 1;
}

fn main() {
    let x = 1;
    foo(x);
}

Issue 3
This fails with an ICE but I expect a clear compile error (0 is not really mutable)
script;

fn foo(ref mut x: u64) {
    x = 1;
}

fn main() {
    foo(0);
}

Issue 4
The following compiles but shouldn't. The x parameter of foo() should be ref mut.
script;

fn foo(x: u64) {
    bar(x)
}

fn bar(ref mut x: u64) {
    x = 1;
}

fn main() {
    let mut x = 0;
    bar(x);
}

@tritao assigning this issue to you as the person who's most familiar with this feature :)

That ICE about add_1 will be about the function recreation in IR gen compile_fn_call().  I'm wondering whether it's a better idea to revert the change where I tried to avoid recreating the same function over and over again -- the hard bit is determining whether two functions are the same:

The spans must be same.
The monomorphised parameter and return types must be the same.
The monomorphised type argument types must be the same.
??? More?  The above ICE may indicate further discrimination is needed.

Issue 3 is contentious too.  Could we consider it to be equivalent to this (valid) Rust?
fn foo(x: &mut u64) {
    *x = 1;
}

fn main() {
    foo(&mut 0);
}

I gues we could make it work for Sway, but it doesn't seem particularly useful so I am just disallowing it.

It's useful because it means the caller doesn't have to create a temporary themselves if they don't need the mutated value after the call.  You'd be forcing them to do:
fn main() {
    let mut tmp = 0;
    foo(tmp);    // Don't care about tmp after here.
}

Another example is allowing the following:
fn a() -> u64 {
    22
}

fn b(ref mut x: u64) -> bool {
    x += 1;
    x < 10
}

fn main() -> bool {
    b(a())
}

Or maybe this works?  But if it doesn't then we're forcing the user to put temporaries into variables manually.


Remove redundant Optional markers

The optional markers are only required if the parent is marked as required.

I saw that the default mode was changing in the past from required to optional. I think that it is a common convention to be precise about each field, Kube API conventions around optional vs required state that optional fields have to have +optional marker.

@alebedev87 Yes, considering the Kube API conventions we should probably keep them.


Bonus

Update employee managers.
View employees by manager.
View employees by department.
Delete departments, roles, and employees.
View the total utilized budget of a department—i.e., the combined salaries of all employees in that department.

delete dept, role and employee complete


How to install the web?

@cicaday
I installed it as follows

git clone https://github.com/tobyqin/xmind2testlink.git  /opt/xmind2testlink
cd /opt/xmind2testlink
python application.py

occured error
Traceback (most recent call last):
  File "application.py", line 7, in <module>
    from flask import Flask, request, redirect, url_for, send_from_directory, g
ImportError: No module named flask

How to config it?  Anythig I have missed?
Thanks!!

urr
I tried to install pip and Flask
but still with error, please check it
# python application.py
Traceback (most recent call last):
  File "application.py", line 10, in <module>
    from src.xmind2testlink import convert_xmind
ImportError: No module named src.xmind2testlink

please be patient, the web app is still under development. Now you can use command line version, it is available with pip.
pip install xmind2testlink
xmind2testlink /path/to/testcase.xmind

I fixed the document for web, now the web app can be run, but UI still on the way.

@archonwang the web app is almost done, please help a try.


stm32f407 target verify use of SysTick

Improve stm32f407 target with use of ARM(R) SysTick for time base of OS/MCAL.

There had been some problems when using stm32f407 with higher speed optimization settings. Sync the mcal and target settings/startup code to that of f446 example. As it turns out stm32f407 was already using SysTick.

After sync, optimization settings OK.


goerli: The Epoch Subgraph is 2 epochs away from the Epoch Manager

Thank you for updating indexer-agent ( https://github.com/graphprotocol/indexer/issues/646 ). i can now run v0.20.16
now i am confronted with the next problem. i can not see the actual allocations and so can not (force)close them:
graph-indexer indexer allocations get
✖ [GraphQL] Failed to query Epoch Block Oracle Subgraph

{"level":20,"time":1682011182036,"pid":107521,"hostname":"thegraph-goerli","name":"IndexerAgent","component":"IndexerManagementClient","filter":{"status":"active","allocation":null},"msg":"Execute allocations() query"}
{"level":50,"time":1682011182393,"pid":107521,"hostname":"thegraph-goerli","name":"IndexerAgent","component":"NetworkMonitor","epochManagerCurrentEpoch":2956,"epochSubgraphCurrentEpoch":"2954","epochDifferenceFromContracts":2,"networkID":"eip155:5","msg":"The Epoch Subgraph is 2 epochs away from the Epoch Manager. It should never be more than 1 epoch away from the Epoch Manager contract. Please submit an issue at https://github.com/graphprotocol/block-oracle/issues/new"}

i could also reallocate two fantom allocations today - so i guess there should be no problem on fantom or ethereum side ( i am with both on chainhead )
is there anything else i might have to update?
my updates:
npm install -g @graphprotocol/indexer-service@latest
npm install -g @graphprotocol/indexer-agent@latest
npm install -g @graphprotocol/indexer-cli@latest
npm install -g @graphprotocol/indexer-common@latest
npm install -g @graphprotocol/indexer-native@latest
npm install -g @graphprotocol/graph-cli@latest

my commandlines:
graph-indexer-service start \
    --network-subgraph-endpoint https://api.thegraph.com/subgraphs/name/graphprotocol/graph-network-goerli \
    --client-signer-address 0xe1EC4339019eC9628438F8755f847e3023e4ff9c \
    --network-subgraph-deployment QmPVz18RFwK6hE5rZFWERk23LgrTBz2FCkZzgPSrFxFWN4

graph-indexer-agent start \
    --network-subgraph-endpoint https://api.thegraph.com/subgraphs/name/graphprotocol/graph-network-goerli \
    --collect-receipts-endpoint https://gateway.testnet.thegraph.com/collect-receipts \
    --dai-contract 0x9e7e607afd22906f7da6f1ec8f432d6f244278be \
    --epoch-subgraph-endpoint https://api.thegraph.com/subgraphs/name/graphprotocol/goerli-epoch-block-oracle \
    --network-subgraph-deployment QmPVz18RFwK6hE5rZFWERk23LgrTBz2FCkZzgPSrFxFWN4 \

without doing changes and two days with errors, it now worked again. ( currentEpochNumber:2972 )

Thanks for the report.
We had an incident with Ethereum Goerli last week, indeed, but it is now solved and the Epoch Subgraph is in sync again.
Retroactively, we couldn't find any case were the block distance was that long on our mainnets.
I'm closing this for now, but feel free to reopen with more details or if this is happens again.

Thank you for the feedback. now happening again ( for optimism )
{level":50,"time":1682345786024,"pid":113300,"hostname":"thegraph-goerli","name":"IndexerAgent","component":"NetworkMonitor","err":{"type":"Error","message":"The Epoch Subgraph is 6 epochs away from the Epoch Manager. It should never be more than 1 epoch away from the Epoch Manager contract. Please submit an issue at https://github.com/graphprotocol/block-oracle/issues/new","stack":"Error: The Epoch Subgraph is 6 epochs away from the Epoch Manager. It should never be more than 1 epoch away from the Epoch Manager contract. Please submit an issue at https://github.com/graphprotocol/block-oracle/issues/new\n    at NetworkMonitor.<anonymous> (/usr/lib/node_modules/@graphprotocol/indexer-agent/node_modules/@graphprotocol/indexer-common/dist/indexer-management/monitor.js:562:27)\n    at Generator.next (<anonymous>)\n    at fulfilled (/usr/lib/node_modules/@graphprotocol/indexer-agent/node_modules/@graphprotocol/indexer-common/dist/indexer-management/monitor.js:5:58)\n    at processTicksAndRejections (internal/process/task_queues.js:95:5)","attemptNumber":6,"retriesLeft":0},"msg":"Failed to query latest epoch number","networkID":"eip155:10","networkAlias":"optimism"}

i also see this error - maybe related?
{"level":40,"time":1682347799963,"pid":115530,"hostname":"thegraph-goerli","name":"IndexerAgent","component":"Agent","err":{"type":"IndexerError","message":"Failed to reconcile indexer and network","stack":"IndexerError: Failed to reconcile indexer and network\n    at indexerError (/usr/lib/node_modules/@graphprotocol/indexer-agent/node_modules/@graphprotocol/indexer-common/dist/errors.js:171:12)\n    at Agent.<anonymous> (/usr/lib/node_modules/@graphprotocol/indexer-agent/dist/agent.js:248:64)\n    at Generator.throw (<anonymous>)\n    at rejected (/usr/lib/node_modules/@graphprotocol/indexer-agent/dist/agent.js:6:65)\n    at runMicrotasks (<anonymous>)\n    at processTicksAndRejections (internal/process/task_queues.js:95:5)","code":"IE005","explanation":"https://github.com/graphprotocol/indexer/blob/main/docs/errors.md#ie005","cause":{"type":"CombinedError","message":"[GraphQL] sorry, too many clients already","name":"CombinedError","graphQLErrors":[{"message":"sorry, too many clients already","path":["queueActions"]}]}},"msg":"Exited early while reconciling deployments/allocations"}

[16:32:35.128] ERROR (IndexerAgent/471308): The Epoch Subgraph is 7 epochs away from the Epoch Manager. It should never be more than 1 epoch away from the Epoch Manager contract. Please submit an issue at https://github.com/graphprotocol/block-oracle/issues/new
component: "NetworkMonitor"
epochManagerCurrentEpoch: 2996
epochSubgraphCurrentEpoch: "2989"
epochDifferenceFromContracts: 7
networkID: "eip155:5"
[16:32:35.128] WARN (IndexerAgent/471308): Epoch subgraph could not be queried
component: "NetworkMonitor"
networkID: "eip155:5"
networkAlias: "goerli"
attempt: 1
retriesLeft: 5
err: "The Epoch Subgraph is 7 epochs away from the Epoch Manager. It should never be more than 1 epoch away from the Epoch Manager contract. Please submit an issue at https://github.com/graphprotocol/block-oracle/issues/new"

mainnet
[06:24:40.279] ERROR (IndexerAgent/363083): The Epoch Subgraph is 3 epochs away from the Epoch Manager. It should never be more than 1 epoch away from the Epoch Manager contract. Please submit an issue at https://github.com/graphprotocol/block-oracle/issues/new
component: "NetworkMonitor"
epochManagerCurrentEpoch: 859
epochSubgraphCurrentEpoch: "856"
epochDifferenceFromContracts: 3
networkID: "eip155:1"
[06:24:40.279] WARN (IndexerAgent/363083): Epoch subgraph could not be queried
component: "NetworkMonitor"
networkID: "eip155:1"
networkAlias: "mainnet"
attempt: 6
retriesLeft: 0
err: "The Epoch Subgraph is 3 epochs away from the Epoch Manager. It should never be more than 1 epoch away from the Epoch Manager contract. Please submit an issue at https://github.com/graphprotocol/block-oracle/issues/new"


Add SimulatorArm64 target for tvOS and watchOS

KustomExport target tvos() and watchos() which does not include the support of the Arm64 simulator.
Here is a PR to add those targets.

Released in 0.6.1


I need TimerEvent

Some tool like aerograph require it.

But, as we discussed verbally, it might be a good idea to state approximate interval between such events, or say that it should be run every tick.


fix($readme): add link to React Universal Component

I added a link to RUC in the readme.
Also, u now can represent multiple dynamically imported components with one <UniversalComponent />:
https://medium.com/faceyspacey/announcing-react-universal-component-2-0-babel-plugin-universal-import-5702d59ec1f4
So in your App.js file you have this:
const App = () => (

    <Helmet {...config.head} />
    <Hero />

    <Menu />

      <Switch>
        <Route path="/" component={Home} exact />
        <Route path="/examples" component={Examples} exact />
        <RedirectWithStatus status={302} from="/home" to="/" />
        <Route path="/shell" component={Loading} exact />
        <Route component={NotFound} />
      </Switch>

)

You could do it like this:
const UniversalComponent = universal(props => import(`../${props.page}`, {
  loading: Loading,
  error: NotFound
})

const App = () => (

    <Helmet {...config.head} />
    <Hero />

    <Menu />

       <Route path='/:page' render={({ match }) => <UniversalComponent page={match.params.page} />}

      <Route path='/home' render={({ match }) => <Redirect to='/' />}

)

This is a rough example, but obviously params.page needs the first letter capitalized, and the redirect implementation might need some work. But the point is you don't need 2 concepts:

Universal Component
switch.

Just Universal Component. And if the number of pages grows, you're already covered automatically by the "dynamic expression" passed to import().
Let me tell you guys a secret. Google React Router. The first React Router article from Medium is getting lots of traffic. I know because go to CodeSandBox. Then do a search. The sandbox from that article is directly ahead of mine at the top of the search results. There's no other reason than the placement in the search results. Search React React v4. It's #2 in google.
You guys should make an article with a better title (from an SEO standpoint):
React Router v4 /w React Universal Component

notice your article starts with the exact keywords that are getting traffic

Then make sure to upgrade to the 2.0 style above. Explain how great it is, yada yada yada. Let me know if you need any help with it (maybe editing). It should be genuinely from you. But if you do this, I'll help you promote it. It will likely end up on this page 2. At least the results page with "v4" in the keywords. We may even be able to get help from the React Router people (i.e. some tweets). The reason is this:
https://reacttraining.com/react-router/web/guides/code-splitting

check the bottom of the page

they have struggled with simultaneous SSR + code splitting for some time now. If they saw it down really nicely with React Router. Well, then they'd be inclined to tweet it, maybe even link it from their docs.
Lastly, u should also make a codesandbox (even tho that wont have SSR) so people can see it quickly in the browser.

Hey @faceyspacey thanks for all of this going to start working through all of it now :)

Hey @faceyspacey, Thanks again for all your input really appreciate the time you have put in, So I just want to firstly address upgrading to 2.0 style.
After attempting to use the 2.0 style I can see few benefits, I mean sure you get automated coverage with the "dynamic expression" passed to import(), however now your "pages" are routes and with the folder structure using the component and container paradigm containers are not necessarily pages but yet would be available to the router?
I mean sure you obviously one wouldn't link what isn't a page but at the same time I would rather just not want it to have the ability to have access to containers that are not pages?
A Solution could be to create another folder "pages" that imports various containers and compiles pages out of them, but also now it feel like were adding a lot more boilerplate in order to use the dynamic expression and it would actually just be easier to add another Route to the App?
Secondly how would parameters work? I mean if we are going with this style:

	<Route path='/:page' render={({ match }) => <UniversalComponent page={match.params.page} />}

then we lose the ability of specificing parameters in the documented way of:
<Route path="/user/:username" component={User}/>

and what happens when your home route is / it would then have to translate to /home in order to load up the Home page with the dynamic expression, I mean sure a Redirect could be put into place i guess?
I feel like this moving away from react-router and its documented behaviour which may make this all very difficult for people coming to this boilerplate and expecting react-router behaviour?
I am still actively trying to make this work and finding ways around these problems however I feel like I am failing to see the real benefits of this for this exact use case?
Please let me know if I am being silly and not understanding what your trying to get across.

The points you raised were what I was thinking as well, when it comes to React Router. That said, I think using React Router is architecturally a poor and naive approach to begin with. If you've studied my Redux-First Router articles, you know exactly what I think.

 The full power of redux circumvents this and you have whatever path param or page variable in a consistent fashion wherever you need it. The routing happens all prior to redux state, and then derived potentially complex state lives in redux, which you can use professionally in the view layer.

That said it's about business, and React Router is popular. So I'd like to make Universal shine while using it. If dynamic expressions are not a good approach, that's not good for business, as that means Universal shines less.
But it's all good. I really gotta invest the time in RR myself. What was pasted above may not be the idiomatic solution, but I'm confident one exists that attains the best of both worlds.
Regarding losing params here:
<Route path="/user/:username" component={User}/>

I mean, you pass whatever you want to the component within the render prop function. So you can regain anything you need.
And as far as the home redirect, you don't need a redirect--you create a function that maps the page param or paths in general to their component name. It's like a 2 line function.
As far as the "pages" folder idea--exactly. That's what you do when you want to dynamically create chunks, or otherwise the webpack compiler ends up wasting time doing unnecessary work.
Anyway, i'd close this (and hopefully merge the readme pr), as for now dynamic expressions probably dont make the most sense for your boilerplate. I personally dont like the idiom of passing a function to a route component's render prop. It looks bad, and aesthetics are important for adoption. At the end of the day, essentially React Router has its own mechanism for what dynamic expressions do: their <Switch /> component. So perhaps the promoted RR usage is just like you have it with many dynamic imports based on static expressions.
Final thing: the render prop shouldnt actually be needed. This should do the job even better:
const UniversalComponent = universal(import(props => `./pages/${props.match.params.page}`))
<Route path="/user/:page" component={UniversalComponent}/>

And sure u wanna convert it and handle Home:
const findPage = props => capitalizeFirstLetter(props.match.params.page || 'home')
const UniversalComponent = universal(import(props => `./pages/${findPage(props)}`))

<Route path="/:page?" component={UniversalComponent}/>

the question mark is the key ingredient that solves the problem you mentioned here. the param is now optional, and the findPage function knows how to do deal with it. Now we have one simple component to handle this stuff like a champ.

So bottom line is it works just fine--unless ur stuck on a "containers" folder paradigm. At the end of the day, that doesn't last beyond boilerplates. You need different folders to categorize different things. Creating a pages folder shouldn't be a worry, as it's a good thing: it differentiates "pages" from "widgets." I personally stopped using container folders long ago. I just prefer the container code in the component folder. I wanna to see it all together. Instead I have a selectors folder for advanced selectors so they dont clutter a component file. So the actual "container" code ends up being very little--just specifying keys a few times in mapStateToProps basically.
So it's a good thing if you have a special designated folder for components that are already more "special" than the rest. But even if you really want them, the containers folder shouldn't be a problem--just nest it in pages, etc.
Final point: webpack will bundle all the files in the containers folder into their own chunks. If you don't mind the extra compilation time (which is fine in a boilerplate that will inevitably be re-arranged anyway), then the only thing your worried about is a user visiting /myWidget and then MyWidget getting its own page. Then just change findPage to be this:
const pages = {
   foo: 'Foo',
   bar: 'Bar
}

const findPage = props => pages[props.match.params.page] || 'Home'

And that's the sorta stuff u do with Redux-First Router in general. Whether u do that in the reducer or a selector, or as an ad hoc function. The point is it's worthwhile flexibility in comparison to the limitations in React Router we just wrote all these paragraphs discussing. The above is fine code to write. There's zero wrong with it. It's only wrong in the eyes of those still hanging on to frameworks and the idea that a framework should do everything for you, and if you're not strictly using one of their idioms/tools and instead have to write custom code, ur doing it wrong. The new pro JS mindset is to be writing code like above all the time and rely on the least amount of packages. Push as much of your work into Redux, definitely dont use React Router :), and be a master of selectors. It's all about selectors at the end of the day.
The challenge is simply the marketing angle when ur trying to make something approachable to new developers who are just trying to get React Router <Route /> components to click with themselves. That's the real challenge. So the question is simply is this too much:
const findPage = props => capitalizeFirstLetter(props.match.params.page || 'home')
const UniversalComponent = universal(import(props => `./pages/${findPage(props)}`))

<Route path="/:page?" component={UniversalComponent} />

I think it's just dandy--cuz u also have to keep in mind, ur targeting only users advanced enough to be trying to achieve simultaneous SSR + code splitting. U have to be at least a semi "power user" in the first place.
As for not using the render prop--didnt we find a while back when we worked on ur thing that the problems were ultimately somewhere else (i think u werent passing the path to createMemoryHistory). There's no reason the above cant work. In fact, if we can get that to work, that's the Universal + RR vision nailed.
A cherry on top would be if I added a function to react-universal-component where it transforms the props for you. So you could write it like this:
const UniversalComponent = universal(import(page => `./pages/${page}`), {
   transformProps: props => capitalizeFirstLetter(props.match.params.page || 'home')
})

<Route path="/:page?" component={UniversalComponent} />

That basically solves things by having a built-in idiom for newer programmers that only feel comfortable when there are prescribed solutions.
Anyway, are u convinced, yes or no? It matters not what i think--as someone who barely uses RR who promotes an alternative approach. What is needed is something that appeals to the target RR audience, which u likely know better than me.

@faceyspacey we'd like to try and keep compostability as an underlying principle to the boilerplate. While the redux based routing is something we'll explore, we want the reliance on any frameworks/libraries we use to be minimal.
Currently it's relatively easy to remove or replace react-router and redux, or more generally the routing and state management approaches we've chosen. Coupling those things together would make this slightly more complicated.
Similarly, the way you're suggesting we use react-universal-component feels like it's adding to coupling. I think being explicit in selectively including universal into our components and not introducing the concept of pages feels preferable.
These are more related to what we want the boilerplate to be, rather than how we feel about any specific technology.
I'll merge this change and create a branch for a redux-first-router version of the boilerplate so we can see how it feels and give people that option.

all good. i figured as much. figured i'd just share my thoughts. thanks for the merge.


[ENH] make_mock_estimator should allow passing constructor args for the mocked class

Describe the bug

The current implementation of sktime.utils.estimators.make_mock_estimator does not allow to pass any arguments to the returned Mock Estimator Class __init__. As a result, we can only use it to reproduce the behaviour of the estimator class with it's default arguments.
To Reproduce

from sktime.forecasting.naive import NaiveForecaster
from sktime.utils.estimators import make_mock_estimator
from sktime.datasets import load_airline
y = load_airline()
mock_estimator_class = make_mock_estimator(NaiveForecaster)
mock_estimator_instance = mock_estimator_class(strategy=last, sp=1})

Expected behavior

There should be a way to pass the init arguments of the input estimator class to the mock estimator.

not a bug, but a missing feature?

not a bug, but a missing feature?
ok - maybe I was being a bit dramatic calling it a bug

well, I guess all missing features are bugs in some way 😄


Moodle On Azure

Hello,
We are installing the moodle distribution you recommend on Azure, everything is fine, but we cannot change the domain name assigned to moodle by azure with our custom domain name. What is the reason or how can we do so please help. For example; When we set up the private moodle distribution, it gives us a domain name like "https://lb-3fqpgf.westeurope.cloudapp.azure.com/" and we want to change it to our custom domain name like "lms.abc.edu.tr" We want to add ssl. Please provide immediate assistance. Thank you for your interest.
Regards.
Mail Address<EMAIL_ADDRESS>

Please see the documentation folder. There are docs on setting up SSL. To configure the domains name see the siteURL parameter in the template
Get Outlook for Androidhttps://aka.ms/ghei36

From: oscarcames<EMAIL_ADDRESS>Sent: Sunday, November 22, 2020 8:53:13 AM
To: Azure/Moodle<EMAIL_ADDRESS>Cc: Subscribed<EMAIL_ADDRESS>Subject: [Azure/Moodle] Moodle On Azure (#223)
Hello,
We are installing the moodle distribution you recommend on Azure, everything is fine, but we cannot change the domain name assigned to moodle by azure with our custom domain name. What is the reason or how can we do so please help. For example; When we set up the private moodle distribution, it gives us a domain name like "https://lb-3fqpgf.westeurope.cloudapp.azure.com/https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flb-3fqpgf.westeurope.cloudapp.azure.com%2F&data=04|01|ross.gardler%40microsoft.com|eed1e12428704f6c430108d88f0719be|72f988bf86f141af91ab2d7cd011db47|1|0|637416607944747238|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=fSpIUVYUtDbOvoGWpYsE8qTg%2F7awfB1OXLF%2FHyQXOuw%3D&reserved=0" and we want to change it to our custom domain name like "lms.abc.edu.tr" We want to add ssl. Please provide immediate assistance. Thank you for your interest.
Regards.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FAzure%2FMoodle%2Fissues%2F223&data=04|01|ross.gardler%40microsoft.com|eed1e12428704f6c430108d88f0719be|72f988bf86f141af91ab2d7cd011db47|1|0|637416607944757229|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=uRPRqvTtjfw3AhnW1HL3bUWUExPLeaUM002lXX%2Fnb9A%3D&reserved=0, or unsubscribehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAAB5DAF7DXTFO4ZVXTG5UG3SRE6XTANCNFSM4T6S3L2Q&data=04|01|ross.gardler%40microsoft.com|eed1e12428704f6c430108d88f0719be|72f988bf86f141af91ab2d7cd011db47|1|0|637416607944757229|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=VCSuBXn2VuWu34QeH6vhj985rXl9tBJWO4nFWvRwR%2Fg%3D&reserved=0.

@oscarcames
At the time of Moodle deployment from GitHub, you can provide your domain name and your SSL only in the custom deployment template.

Closing per prior feedback. Please re-open if SSL setup is still a challenge.


[SPARK-5441][pyspark] Make SerDeUtil PairRDD to Python conversions more robust

SerDeUtil.pairRDDToPython and SerDeUtil.pythonToPairRDD now both support empty RDDs by checking the result of take(1) instead of calling first which throws an exception.

Can one of the admins verify this patch?

Hey thanks for this - mind adding a regression test that fails on the old code?

I've added two regression tests which I made sure failed beforehand and succeed now.

Jenkins, this is ok to test.

Test build #26243 has started for   PR 4236 at commit a531c0c.

This patch merges cleanly.

Test build #26243 has finished for   PR 4236 at commit a531c0c.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/26243/
Test PASSed.

Thanks for adding tests.  This looks good to me, so I'm going to merge it into master (1.3.0) and mark it for later backport into branch-1.2 (I'd commit it now, but we're in the middle of the 1.2.1 voting period right now, so we've placed a hold on merging in that branch until the vote passes).

I've cherry-picked this to branch-1.2 (1.2.2).


Add class authenticator / authorizator options in config

Allows to provide custom classes to be used as Authenticator / Authorizator
authenticator_class: com.example.myAuthenticator
authorizator_class: com.example.myAuthorizator

Classes get checked for an getInstance method in order to allow to use enriched instances. If such method doesn't exists they are initialized.
Test added in ConfigurationClassLoaderTest
Best, Luca

Hi Luca, new dev cycle for version 0.8 has been started, this feature of customizing the Auth classes is interesting, please could you reopen this PR so that I can accept it.
Regards
Andrea

Added in new PR #72
Best
Luca

Thanks a lot, merged!:-)


XSD validation of dateTime with +14:00 time zone fails

XSD validation of a dateTime with a +14:00 time zone fails with this error:
'2012-05-17T19:33:59+14:00' is not a valid value of the atomic type 'xs:dateTime'.

The schema definition from here http://www.w3.org/TR/xmlschema11-2/#dateTime says:
(Z|(\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))

Using 13:59 as an offset works fine.

This looks like a problem in libxml2/xmlschemastypes.c:
#define VALID_TZO(tzo)          ((tzo > -840) && (tzo < 840))

I'm thinking that should be >=/<= since 14 * 60 == 840

Agree, this is upstream in libxml2, so I'm going to close this out.


Module Review usersguide (part 1)

Usersguide module has around 750 unlicensed HTML files, i.e., the JavaHelp files. I relicensed about half of them via this PR, after this one is accepted, will do the next one. Once this module has been relicensed, we should have only around 1,000 left to do in total (out of 45,000).

Yes, by hand. :-) If someone has a way to automate this, great; in the meantime, my focus is to get it done.


Memory Allocation error on LowVRAM with high MegaPixel upscale.

when the upscale is set to high mega Pixel on Low Vram GPUs, it throws an out of memory even though there is plent of memory available in VRAM where the resulting latent should be moved to.

Do you have any guess why this happen?
This is happening during the sampling stage of the Upscale block.
I'm checking the memory use in the _map_node_over_list function in the execution.py method.
samples = samples.to(comfy.model_management.intermediate_device())

this method from the SamplerCustomAdvanced is returning "cpu" for the intermediate_device.
so , i don't get it why there this increase especifically in the VRAM, when the sampled latent should be moving to the RAM.
        allocated = torch.cuda.memory_allocated() / (1024 * 1024)  # in MB
        reserved = torch.cuda.memory_reserved() / (1024 * 1024)    # in MB

This is how i'm measuring the VRAM for each Tile
Any clue on why this happen and where could be the potential fix, would be enough.
Thanks

The issue will be closed because it was fixed by ComfyUI, since the problem was there.


unused vars in 'weave' script

according to shellcheck the following vars are unused:

PROXY_PORT
WITH_DNS
IPAM_CIDRs
CLIENT_TLS_ENABLED

IPAM_CIDRs is just a typo. PROXY_PORT and CLIENT_TLS_ENABLED are probably leftovers. @paulbellamy? WITH_DNS is suspicious, since it corresponds to a documented weave run option.

I believe that PROXY_PORT and CLIENT_TLS_ENABLED are leftovers, yes.

I have fixed the IPAM_CIDRs complaint in 20a48f05b and the PROXY_PORT issue in 3909936cc.

The use of CLIENT_TLS_ENABLED got removed in https://github.com/weaveworks/weave/pull/1679/files. @awh @paulbellamy. So it's not on 1.3, so not part of this issue. Closing.

Closing.

oops, forgot about WITH_DNS. -> re-opening.

--with-dns on weave run became non-functional when we merged the dns server into the router container. Yet we still have code and docs for it. We should fix that. NB: doc fix should go on latest_release_doc_updates.
Note that the proxy --with-dns does still do something atm, namely configuring containers to use weavedns even when weave may not be running at the time. I am not convinced this is all that useful. Covered by #1754.


Update sbt-tpolecat to 0.1.20

Updates io.github.davidgregory084:sbt-tpolecat from 0.1.18 to 0.1.20.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "io.github.davidgregory084", artifactId = "sbt-tpolecat" } ]

labels: sbt-plugin-update, semver-patch

Superseded by #215.