DevSite v2 - was this page helpful widget

Kayce - with DevSite v2, they've put a "Was this page helpful" widget on the bottom of all pages, which duplicates your widget. (See screenshot below). We need to decide if we want to keep yours, or use theirs, and if so, how to do that.

I don't think the underlying analytics infrastructure for the stars has changed. In which case we should definitely keep our custom "was this page helpful?" widget. The way that we store the data is far more useful and easy to access.


Fix bible-api.com CORS issues

Sometimes when hitting the bible-api.com endpoint, we get CORS issues.

TJ:

I think it is possible that the owner of the api added throttling to his api, and we are hitting that throttle limit. We may want to reach out to the owner of the api to discuss the situation with him, just stop using the api (maybe @lyonsil could implement the data provider in C# instead ;) ), or temporarily host our own (seems like overkill). It may be worth discussing what we want to do moving forward.

Ira:

It could just be a throttling issue with the site we are hitting. However, the first error is a CORS issue and it would surprise me if throttling caused that (but it might). If we can demonstrate that it's just a throttling error then this issue is done. Do you have any thoughts on how we could do that? Like, do you get those errors when you are completely offline? If you do and you go back to main before this PR was merged do we still see the same errors when offline?

Hmm... as a data point, I just ran up Rolf's PR#245 and didn't see any of those errors at first. However a restart (trivial change to main.ts) produced one set of the 3 errors. A full restart of npm start produces the errors again.

Created as a result of #177

Interestingly I don't know that I've ever seen this on Linux, but I do see it in Windows.  I looked at the Chrome dev extensions under "Network" to get more information.  When I see the problem on Windows there is a status code of 429 (Too Many Requests).
I suspect the problem here is that the 429 isn't getting passed back properly and is incorrectly showing up as a CORS error.  It looks like this has happened in other applications.
We could put some time into fixing the CORS logging so that it shows 429  instead of this issue, but the real underlying issue seems like a rate limiting issue to the website.  It seems like some identification was made of Chromium apps running on Windows hitting the API a lot, and the server admin put in a block/rate limiter in that situation (or there is some smart infrastructure that made this determination through an algo on its own).
Seems like we should probably just move away from using bible-api.com and use the new USFM data provider.  If there is a desire, we could also look into fixing the logging so that 429s get reported properly, too.


AsyncTargetWrapper doesn't dispose its WrappedTarget

When calling Dispose on AsyncTargetWrapper, the underlying WrappedTarget doesn't get disposed.
Type:  Bug
NLog version:  4.1.1
Platform: .Net 4.5
Not sure if this is intended or not, but when doing something like this:
foreach( var target in _logger.Factory.Configuration.AllTargets )
{
    target.Dispose();
}

I would expect that if one of the targets is an AsyncTargetWrapper its underlying wrapped target to get disposed.

It is intended, since all targets also includes the WrappedTarget.
Instead of doing manual dispose, then you can consider to call:
LogManager.Configuration?.Close();
When #1899 is released with NLog ver. 4.4.2, then you can just call LogManager.Shutdown().

It's kinda bad design IMO. Not sure if we could fix this

@snakefoot Thanks, I will give that a try.


fixing a possible issue in the cache

It is possible to get flows installed on a switch that are not a part
of any slice any more (after a config modification) that will then
cause a stacktrace in the stats cacher.  When we detect this case we now remove the flow from the switch and move on to the next flow

So I just tested the disable a slice and it appeared to work properly, I don't have any flow rules installed for that slice anymore.  Were you able to replicate what you saw?


feat: Add Validation Root Comment

This comment string is used internally to create validation rules for our schema.

Not fully documented yet @Danwakeem , but it is mentioned and talked about in slack

@Mmarzex Ahh thanks I had missed that loom. I will check it out now 👀


Add duplicated/drop_duplicates top-level array functions

cf #2706

#13751 is adding pandas.core.algorithms.duplicated which can handle ndarray. Should be added to pd namespace?

no / top level support for ndarray is being removed in lieu of pandas object methods in general


RFC: Don't expose file last modifed date/time via cachebusted URLs

Description of problem
Currently raw file last modifed date/time is used to produce cachebusted file URLs, like http://mysite.com/myfile.pdf?ver=2018-04-20-144725-343. I thinks there are cases then we do not want the information about file modification date/time to be exposed in public. Just a sample case - the site owner delayed publishing some important document, but still want it to look just like it is published in time.
Description of solution
Just use some hash string instead of raw file last modifed date/time, something like this: http://mysite.com/myfile.pdf?ver=MjAxOC0wNC0yMC0x.
Affected version

[x] 9.3.2
[x] 9.3.1
[x] 9.2.2
[x] 9.2.1
[x] 9.2
[x] 9.1.1
[x] 9.1
[x] 9.0

This will require minor code modification of StandardFolderProvider.GetFileUrl() method and also correcting doc comment for PortalSettings.AddCachebusterToResourceUris().
Possible implementations:
1. Use shortened string representation of timestamp (w/o dashes):
public override string GetFileUrl(IFileInfo file)
{
...
    // Does site management want the cachebuster parameter?
    if (portalSettings.AddCachebusterToResourceUris)
    {
        return TestableGlobals.Instance.ResolveUrl(fullPath + "?ver="
        + UrlUtils.EncryptParameter(file.LastModificationTime.ToString("yyyyMMddHHmmssfff")));
     }
...
}

2. Use DateTime.GetHashCode():
public override string GetFileUrl(IFileInfo file)
{
...
    // Does site management want the cachebuster parameter?
    if (portalSettings.AddCachebusterToResourceUris)
    {
        return TestableGlobals.Instance.ResolveUrl(fullPath + "?ver="
        +  UrlUtils.EncryptParameter(file.LastModificationTime.GetHashCode().ToString()));
     }
...
}

sounds useful to me, unless the client would use the current date time to calculate cache time.

Given that this is a process to bust cache only, and not anything used for calculation we just need to be assured that it is different for all edits.
I'm a big fan of option 2 above, as that is the shortest URL and a simple change.
Feel free to submit a Pull Request for this.

I like the shortest url too.

Assigning this to 10 but if you want it in 9.4.1 and can submit a PR, that would be fine too I thing, that would not be any breaking change I assume?

Please don't close!


reduce code coverage

PR description
Fixed Issue(s)

Changelog

[ ] I thought about the changelog and included a changelog update if required.

Codecov Report

Merging #467 (0f8977e) into main (c436b91) will increase coverage by 2.59%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #467      +/-   ##
==========================================
+ Coverage   59.84%   62.43%   +2.59%
==========================================
  Files         155      144      -11
  Lines        7481     7129     -352
==========================================
- Hits         4477     4451      -26
+ Misses       2707     2383     -324
+ Partials      297      295       -2

Flag
Coverage Δ

acceptance
67.83% <ø> (+4.66%)
:arrow_up:

unittests
62.43% <ø> (+2.59%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

src/stores/connectors/stores/create_eth.go

src/stores/connectors/stores/get_key.go

src/stores/connectors/stores/import_secrets.go

src/stores/connectors/stores/create_secret.go

src/stores/connectors/stores/get_eth.go

src/stores/connectors/stores/get_secret.go

src/stores/connectors/stores/import_eth.go

src/stores/connectors/stores/stores.go

src/stores/connectors/stores/create_key.go

src/stores/connectors/stores/list.go

... and 2 more


Node-Agent is unable to collect Data from Talos-Linux 1.7.5 Kubernetes

I think Talos is different from normal Linux Distributions, because the System is read-only, and there is no User-Environment. Maybe the Proc Paths are others. I have attached the Logs.
node-agent.log

I'm also seeing this issue on Talos (v1.7.6) cluster.

There is a brief note in talos repo, ref. basically /podruntime/* is system cgroup for resource analysis.

We added support for Talos Linux in coroot-node-agent v1.21.10

@def, thank you!

We added support for Talos Linux in coroot-node-agent v1.21.10

Tank you!


Fixing return values for most spdm_hash* and spdm_hmac* functions

Addresses #75.
Addresses most remaining functions - these functions use allocated contexts heavily, so have to be more careful when checking for and handling error, so that we do not unintentionally disrupt state.
Note: I did NOT address the libspdm_append_message_k and libspdm_append_message_f buffers yet. These functions are not written in a way to handle errors gracefully. If we fail at any point during these functions, the message hashes and buffers can enter an unrecoverable state. The changes required to gracefully handle this error would need close care when reviewing, and so I will defer it to a later PR. This probably deserves its own issue.
Signed-off-by: Timothy Prinz<EMAIL_ADDRESS>

This is redo of https://github.com/DMTF/libspdm/pull/417, which I managed to accidentally delete while trying to merge latest.


All charts with logarithmic scale

I would be interested in having a logarithmic scale for the polar area chart. How could I achieve that?
Daniel

For v1, using the solution in #772 is the best way. In v2, a logarithmic scale has been provided.


Revert "navigation: 1.14.1-0 in 'kinetic/distribution.yaml' [bloom]"

Reverts ros/rosdistro#15730
Filed upstream at ros-planning/navigation#612

@tfoote -- I never got any build failure emails for this, but I am listed as a maintainer. Thoughts?

My understanding is that navigation builds fine but causes downstream
packages to fail, so if you are not listed as maintainer of any of the
failing downstream packages:

turtlebot3_navigation
stdr_server
multi_map_server
you would not receive an email when they fail

On Thu, Aug 10, 2017 at 2:12 PM, Michael Ferguson<EMAIL_ADDRESS>wrote:

@tfoote https://github.com/tfoote -- I never got any build failure
emails for this, but I am listed as a maintainer. Thoughts?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ros/rosdistro/pull/15760#issuecomment-321674767, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AGVh8BB9KSY8DVZzQNlAwShI6T87Gt60ks5sW3I6gaJpZM4Oz-17
.

@mikaelarguedas -- yeah, I moved the conversation to the navigation ticket, and then noticed and commented there after I noticed the problem is actually downstream.


Missing CopyLocalLockFileAssemblies property make references DLLs be skipped from created package

If the <CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies> is omitted from the csproj the DLLs from the referenced packages will not be included in the nupkg.
This can be tested with example adding the System.Text.Json package <PackageReference Include="System.Text.Json" Version="7.0.3" PrivateAssets="All" /> and after that check the output folder bin/debug/netstandard2.0 and the task-folder inside nupkg to ensure the referenced dlls are included.
Found this property in this answer https://stackoverflow.com/a/44763964

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

ID: 6cf3ed7e-8425-d255-938b-7319e865fd9a
Version Independent ID: 6cf3ed7e-8425-d255-938b-7319e865fd9a
Content: Create a custom task - MSBuild
Content Source: docs/msbuild/tutorial-custom-task-code-generation.md
Product: visual-studio-windows
Technology: msbuild
GitHub Login: @ghogen
Microsoft Alias: ghogen

@Tasteful
That property is documented here: https://learn.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props#copylocallockfileassemblies
Are you suggesting that this custom task project should also use this property?

Yes. It should help if it was included. If we see the https://learn.microsoft.com/en-us/visualstudio/msbuild/tutorial-custom-task-code-generation?view=vs-2022#mark-dependencies-as-private section it's described how to add reference to other packages, but if I do that and without the above property I got an runtime error that the reference package cant be found.
After adding the property the dll from reference package is included into the created nupkg for the task and task was working as it should.


Update to latest rev of requirements

Per spreadsheet verify code and latest version of specs match.
https://docs.google.com/spreadsheets/d/19n0h_PCa28rzPKGNn86M9rXSariauz63uBfhTXh3tJE/edit?usp=sharing
https://drive.google.com/file/d/1yVn3LmJSFL4CL28C5LJlLqqk5uo5aI0Q/view?usp=sharing

DM11 - Gather messages for 5 seconds per update in new spec "as-built" referenced above versions for Steps 1.10, 9.8 & 12.9.
Merge request for update here.


Cannot Reproduce on IAM-OnDB

Hi,
Using the checkpoint provided in readme, we are getting extremely low numbers on IAM-onDB test_t and test_f testing sets (even on the validate set). Can you verify if you can reproduce the numbers reported in your paper with that checkpoint and the code on the github. Also can you provide the command-line script that you used to get those numbers?
Thanks,
Bhavin

Hello,
Thank you for trying it out. It turns out that there was a bug in the GT conversion script, where the point index and stroke index were accidentally swapped (was the result of refactoring for the public release). This is now fixed, and you can just run the conversion again and it should work.
After the fix, the following command should give the correct results:
python evaluate_model.py -m model-character-queries.pt -d "Test Set T=data/converted/iam/testset_t_segmented.tsv" "Test Set F=data/converted/iam/testset_f_segmented.tsv" -o results/repro

Note: I used NAME=PATH to make the names nicer, but the path itself is enough (the quotes are necessary to have spaces in the name, otherwise it's parsed as a new argument)
Result:

Model / Dataset
Test Set T
Test Set F

model-character-queries.pt
92.42
95.06

There is a very slight deviation from the numbers in the paper, that is most likely attributed to the batch size, which defaults to 32 in the evaluation script, and I believe we just maxed it out for the GPU we were using.

Thanks a lot @jungomi.
Its a great paper!

Could you please also provide the chars.tsv file that the code requires and combined dataset tsv files (train.tsv)?
Thanks and Regards,
Bhavin Jawade

Sure.
chars.txt
I had to change it to a .txt file because GitHub does not allow uploading files with a .tsv extension here. It doesn't matter anyway.
For the combined train set, there is nothing special about it, just concatenate the two train sets (IAM-OnDB and VNOnDB). By using a TSV file to list the files for the dataset makes it very simple to add/remove files without having to move them around.
This really depends on where your data is. If you have the two train sets in data/converted/iam and data/converted/vnondb respectively, you can create a data/converted/train-combined.tsv and then prefix the paths of the respective training sets with iam/ or vnondb/. So that would look something like that:
iam/trainset_segmented/l04-397z-05.xml.json
iam/trainset_segmented/f01-075-02.xml.json
...
vnondb/InkData_word_train_segmented/20140925_0043_5770_3.inkml_335.json
vnondb/InkData_word_train_segmented/20140603_0033_KQBDVN.inkml_25.json
...

Hi,
Would it be possible to share stats.pt so that we may train the model with the checkpoint provided?
Thanks,
Sahana

Hey @sahanaranga, the stats.pt file isn't really necessary to train a model from a checkpoint, it just tracks the results of the training. The only difference it makes is when continuing the training, because that resumes the learning rate at the step it stopped, and to determine whether a new best checkpoint was found.
I do realise that the code technically requires this (for any newer codebases I have separated that properly, along other much needed improvements), but the simplest is to just remove the loading of the stats.pt entirely:
https://github.com/jungomi/character-queries/blob/2c4ca3d59ea787cd612ba57852cc0d8233028a72/train.py#L885
Without this line it should be fine to train from the given checkpoint, which must be in the directory that you specify to -c/--checkpoint as model.pt.

Thank you!

Hello jungomi,
Thank you for sharing this repository and the scientific paper about it. I'm just a newcomer to this field, and I'm very interested in this topic. However, I've encountered some issues while trying to train  dataset( I'm training only VNONDB.). I hope you can assist me in identifying and resolving this problem. Here's the error message I received when attempting to do so. Thank you very much.

This is my folder.


WIP: Add nodetags

What this PR does / why we need it
Add tags that are node specific, not for all resources
Checklist

[x] Updated CHANGELOG.md.

Trigger E2E tests

/run cluster-test-suites

/run cluster-test-suites


mitigated and accepted findings: strikethrough text decoration

fixes #1782
closed (inactive) mitigated and risk accepted findings are shown with a text strikethrough effect.
by default when viewing engagements and tests, all findings are shown, including ~~inactive/closed ~~ mitigated / risk accepted ones. adding a subtle styling will help focus on the active/open ones.
before:

this PR:

EDIT: After some feedback I changed the PR to apply the strikethrough to mitigated findings and risk accepted findings. Should work for the happy path where findings get mitigated or accepted. And for the crazy path where people import findings as inactive intitally ;-)

If one imports all findings as non-active/non-verified though (I do now for CI imports for example, before there is a review and since there is still too much noise), the list view will show all findings as striked-through. This will look very odd.

Yeah, don't do that :-). I didn't think of this scenario, but I'm not sure if that makes sense. Importing findings as inactive? I think the verified status is made for that?

Yeah, don't do that :-). I didn't think of this scenario, but I'm not sure if that makes sense. Importing findings as inactive? I think the verified status is made for that?

I would not think so.  To me, it can't be even considered "Active" because of the low trust I have in automated scanners findings.
We can probably review what status mean too during our next meeting :)

Could be interesting to hear other people's usecases, for me it seems that importing findings as inactive sounds like abusing that status. But it might be that there is not a good alternative. Maybe we should have a flag for draft findings?
In my view the inactive status is designed to be something that is indeed done and can be forgotten about. I could make a simple settings flag that can disable the striketthrough.
Or add a "custom css" field in the system settings to override stuff. But including user defined css is kind of weird for a security tool :-)

Could be interesting to hear other people's usecases, for me it seems that importing findings as inactive sounds like abusing that status. But it might be that there is not a good alternative. Maybe we should have a flag for draft findings?
In my view the inactive status is designed to be something that is indeed done and can be forgotten about. I could make a simple settings flag that can disable the striketthrough.
Or add a "custom css" field in the system settings to override stuff. But including user defined css is kind of weird for a security tool :-)

Yea, I am not disputing your reasoning, I was just explaining what I have right now :) (and I would agree it's most likely abusing that status... however, until we publish something that puts everyone on the same baseline... ;-))

After some feedback I changed the PR to apply the strikethrough to mitigated findings and risk accepted findings. Should work for the happy path where findings get mitigated or accepted. And for the crazy path where people import findings as inactive intitally ;-)
Should we strikethrough also false positive and out of scope? or only mitigated?

Should we strikethrough also false positive and out of scope? or only mitigated?

Sounds good to me.
I was wondering if we could make "style" stuff a flag in the system settings?

You could yes ;-) IT's possible, but the stylesheets are static files so it would involve some messy if statements, or just a "free form" text field in the system settings where admins could include custom css. Not really looking forward to that.

I agree with @madchap. The strikethrough makes it hard to read the findings and sometimes I also have to investigate closed findings (i.e. when they are automatically closed). If I work with open findings, I use the extra view for it or use filtering.
If we find a more moderate style it would be ok, strikethrough isn't the right way for me. Maybe just make open/active findings bold?

So what about the background color change instead of the strike-through for a more "moderate" style change?

@valentijnscholten such a shame to see this PR sitting here. What can we do to bring colors to DD? :-D

@valentijnscholten I'd love to see this come through some time. I think we're not so far to have a more appealing experience :-)

changing backgroud is no so easy because the table has odd/even row background colouring. I was thinking about lighter grey font colour or making font italic. but got too many conflicts so will try again later.

@valentijnscholten any news about this one? Do you want to rebase it?

@valentijnscholten any news about this one? Do you want to rebase it?

not as long as we don't know what we want to do with it instead of strikethrough

not as long as we don't know what we want to do with it instead of strikethrough

To be honest I don't really miss the proposed changes....


VGG16. Error when checking target: expected block5_pool to have 4 dimensions, but got array with 2 dimensions

I am retraining several last layers of vgg16 Model.
model = VGG16(weights="imagenet", include_top=False, input_tensor=Input(shape=(224, 224, 3)))
Setting last layer to trainable(others are set to be non-trainable):
for layer in model.layers[9:]:
	layer.trainable = True

...and compiling
model.compile(optimizer='rmsprop', loss='categorical_crossentropy', metrics=['accuracy'])
Feeding a 4-dim nd.array with image set data, shape (1000, 224, 224, 3)
model.fit( x = trainX,
		   y = trainY,
		  batch_size=1000,
		  epochs =10,
		  verbose=1,
		  validation_data=(validX, validY),
		  )

Looks like the training data is of correct format there is no error on first layer, however on block5_pool it turns out that data is 2 dimentional only and I have an error:
ValueError: Error when checking target: expected block5_pool to have 4 dimensions, but got array with shape (1000, 1)
Here is the model statistics after compilation:
> _________________________________________________________________
> Layer (type)                 Output Shape              Param #
> =================================================================
> input_1 (InputLayer)         (None, 224, 224, 3)       0
> _________________________________________________________________
> block1_conv1 (Conv2D)        (None, 224, 224, 64)      1792
> _________________________________________________________________
> block1_conv2 (Conv2D)        (None, 224, 224, 64)      36928
> _________________________________________________________________
> block1_pool (MaxPooling2D)   (None, 112, 112, 64)      0
> _________________________________________________________________
> block2_conv1 (Conv2D)        (None, 112, 112, 128)     73856
> _________________________________________________________________
> block2_conv2 (Conv2D)        (None, 112, 112, 128)     147584
> _________________________________________________________________
> block2_pool (MaxPooling2D)   (None, 56, 56, 128)       0
> _________________________________________________________________
> block3_conv1 (Conv2D)        (None, 56, 56, 256)       295168
> _________________________________________________________________
> block3_conv2 (Conv2D)        (None, 56, 56, 256)       590080
> _________________________________________________________________
> block3_conv3 (Conv2D)        (None, 56, 56, 256)       590080
> _________________________________________________________________
> block3_pool (MaxPooling2D)   (None, 28, 28, 256)       0
> _________________________________________________________________
> block4_conv1 (Conv2D)        (None, 28, 28,<PHONE_NUMBER>
> _________________________________________________________________
> block4_conv2 (Conv2D)        (None, 28, 28,<PHONE_NUMBER>
> _________________________________________________________________
> block4_conv3 (Conv2D)        (None, 28, 28,<PHONE_NUMBER>
> _________________________________________________________________
> block4_pool (MaxPooling2D)   (None, 14, 14, 512)       0
> _________________________________________________________________
> block5_conv1 (Conv2D)        (None, 14, 14,<PHONE_NUMBER>
> _________________________________________________________________
> block5_conv2 (Conv2D)        (None, 14, 14,<PHONE_NUMBER>
> _________________________________________________________________
> block5_conv3 (Conv2D)        (None, 14, 14,<PHONE_NUMBER>
> =================================================================

As far as I understand, I can not insert some additional layers in between vgg16 architecture ( as it could have been possible in Sequential). How to fix it then?

can you provide me the full code.

@toofo
Moving this issue to closed status as there has been no activity, in case you still face the error please create a new issue.


Removing the nested set treemode (deprecated since 1.5)

The treemode=NestedSet feature is deprecated since Propel 1.5 (and the awesome nested set behavior), time to remove it.

How about Propel\Runtime\Util\NodePeer?

My bad, forgot this class. AFAIK no more used in the code...

yep, should be removed as well.


Add periodic callback example

I wasn't really sure where to demonstrate it (reference gallery? user guide?) so I just dumped it under gallery simple examples

Thanks, I think that's a good place for this example.

Thanks for making the changes and sorry for the last bit of feedback!

No problem! The package has been extremely useful


⚠ Bofrost.at has degraded performance

In c0d99b5, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 2599 ms

Resolved: Bofrost.at performance has improved in c05f86a.


Add basic structure for publish project quickpick

WIP, this is pretty much all of the UI bits. Getting it out now to reduce size of PRs. Next step is to start hooking up the DacFX/Schema Compare/Connection stuff from the MSSQL extension.
For this initial PR focus mostly on issues with the code itself - the actual flow of the quickpick is going to be reviewed separately so things like string changes, quickpick options, etc can be commented on but I'll likely just collect those and fix them in a follow-up PR once I've been able to walk people through the entire experience end-to-end.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

33 of 95 (34.74%)  changed or added relevant lines in 6 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.03%) to 42.72%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

extensions/sql-database-projects/src/dialogs/publishDatabaseDialog.ts
1
3
33.33%

extensions/sql-database-projects/src/controllers/projectController.ts
15
24
62.5%

extensions/sql-database-projects/src/dialogs/publishDatabaseQuickpick.ts
4
55
7.27%

Totals

Change from base Build<PHONE_NUMBER>:
-0.03%

Covered Lines:
26189

Relevant Lines:
55657

💛  - Coveralls


[Plugin] Azure Devops (aka TFS)

Summary
Azure Devops is Microsoft's enterprise source control, issue tracker, ci/cd, etc. all-in-one solution. There is both a cloud-hosted as well as an on-premise version, which don't differ much.
Project website (if applicable)
https://azure.microsoft.com/nl-nl/services/devops/
https://docs.microsoft.com/en-us/rest/api/azure/devops/?view=azure-devops-rest-5.1
Context
Once there is more of a structure and/or reference for how a CI/CD plugin should behave (ie. an implementation or two exist) I'd be happy to create a plugin for Azure DevOps.
Different teams use different parts of Azure DevOps, for example we only use source control (which has two varieties, Git and the older TFVC) and build & deploy, while teams at other organizations might also use the issue tracking Azure DevOps provides (we use Jira). We'd probably need to have this be configurable.

Thanks for making an issue about this!
This is the kind of tool that already has a mature and substantial web interface, so it becomes an interesting discussion about how much of the functionality to expose or even replicate in Backstage. I haven't used it myself so I'll defer mostly to others to decide where the convenience / effort balance lies.
For example in terms of the CI/CD functionality, it sounds like one could at least start adding:

Linkage out to Azure DevOps to the relevant specific pages for an item (when the inventory system is in place)
Indicators / cards showing status of ongoing builds
Indicators / warning callouts showing abnormal states such as broken master or flaky builds
Overview / summary list of recent builds (initially linking out to Azure?)
More?

@stefanalund this can be assigned to me I am currently working on it as we discussed in discord some time ago I forgot to add the plugin feature did the planning and found the tools that would be needed my day job got me little busy but i dedicating the weekends to backstage dev and exploration

Thanks @javaniecampbell — looking forward to seeing the result 🚀

Hi @javaniecampbell — any outcome to share since now? could I help?

@enricomeneghel sorry for the late response currently on vacation will be on returning end of this week to continue development on the plugin will get in touch when I return with the current progress I have made so far and we can collaborate then..

Hi @javaniecampbell , Is there any progress on this plugin. I was also interested in knowing more on this. Thank you

I unassigned this ticket for now. @raosumanth @enricomeneghel or others - let us know if this is something you would like to start working on. @javaniecampbell - let us or the others know if there is partial work to make a draft PR of or similar, to base further work on

Is there an update on this issue?

Is there an update on this issue?

Nobody has picked it up yet as far as I am aware. Let us know if you are in a position to contribute!

Nobody has picked it up yet as far as I am aware. Let us know if you are in a position to contribute!

Hey guys! Where could I see the plugin's source code to check if I can help?

Hey guys! Where could I see the plugin's source code to check if I can help?

Hey @bruno197!
So there isn't a plugin for the Azure CI/CD yet, this is what this ticket is about.
However, we do have some examples of CI/CD plugins and examples of how to talk to AzureDevOps in the following locations if you want to have a crack at building a plugin:
Here's some prior art of talking to Azure:
https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend/src/scaffolder/stages/publish/azure.ts
https://github.com/backstage/backstage/blob/443416b875e550fb87a29740af4a834217d99cd7/packages/backend-common/src/reading/AzureUrlReader.ts
And here's some examples of CI/CD plugins:
https://github.com/backstage/backstage/tree/master/plugins/github-actions
https://github.com/backstage/backstage/tree/master/plugins/circle-ci
I can assign this to you if you feel that you could take this on? 🏅 :tada:

Hey @bruno197!
So there isn't a plugin for the Azure CI/CD yet, this is what this ticket is about.
However, we do have some examples of CI/CD plugins and examples of how to talk to AzureDevOps in the following locations if you want to have a crack at building a plugin:
Here's some prior art of talking to Azure:
https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend/src/scaffolder/stages/publish/azure.ts
https://github.com/backstage/backstage/blob/443416b875e550fb87a29740af4a834217d99cd7/packages/backend-common/src/reading/AzureUrlReader.ts
And here's some examples of CI/CD plugins:
https://github.com/backstage/backstage/tree/master/plugins/github-actions
https://github.com/backstage/backstage/tree/master/plugins/circle-ci
I can assign this to you if you feel that you could take this on? 🏅 :tada:

Just a suggestion but the issue title is a bit misleading. It seems what is being focused on here is the CI/CD so this would be better "branded" as an Azure Pipelines plugin. There could conceivably be separate plugins for other Azure DevOps features areas; Azure Boards, etc.

Just a suggestion but the issue title is a bit misleading. It seems what is being focused on here is the CI/CD so this would be better "branded" as an Azure Pipelines plugin. There could conceivably be separate plugins for other Azure DevOps features areas; Azure Boards, etc.

@ppejovic yep - that sounds about right. I'm not too familiar with the Azure offering, but what you're saying about mutliple plugins for different feature sets sounds correct.

@ppejovic yep - that sounds about right. I'm not too familiar with the Azure offering, but what you're saying about mutliple plugins for different feature sets sounds correct.

I strongly agree with @ppejovic. I was looking for a way to integrate with Azure DevOps repositories, for instance.

Based on @chagretes 's comment, made me realize buried in this issue is potentially multiple asks because "Azure DevOps" is a very very broad topic:

[ ] Integration support for Azure DevOps (that is, using it as an SCM provider)
[ ] CI/CD support to list Azure DevOps Pipelines in a CI/CD switcher/tab/widget
[ ] Possible Artifact lister for I might offer that what you lean to there MIGHT be different than this plugin record.

Maybe this should be spun out into individual issues with a set boundary for each?  Could make it much easier to walk a milestone path towards greater Azure DevOps suite support.  (e.g., TechDocs already supports Azure)  I am not an active Azure user, so I don't quite know all the mechanics, but maybe someone could take a stab and we clarify the main descriptions of each??

I'm pretty sure that we support integration with reading and scaffolding to Azure dev ops, however the other parts like CI/CD is not built yet.

I've been working on some tooling against Azure DevOps's APIs and I believe the components for working with yaml Pipelines via API is not complete enough to really integrate with this at the moment.
The azure-devops-go-api library hasn't been updated since October. It looks like it's autogenerated through some tooling, though the tooling or parameters for go-swagger/swagger-codegen aren't published. As it's Microsoft's "official" go API for interacting with AZDO API's, it would make sense to use it, but it doesn't appear to be maintained very frequently.
For fun I've made some changes to a local copy of the library to try and get the Create Pipeline calls working, but so far I haven't had any luck. I'd hope to be able to scaffold pipelines in AZDO as part of whatever plugin gets created. Also, if anyone decides to pick this up, let me know as I'm interested in contributing.

but so far I haven't had any luck

just kidding. but their error messages aren't very insightful. Got it working, but in a totally unsupported manner

@freben I'd like to take this on. I'll be starting small, just a table with the latest builds. We use nearly the full suite of tooling provided by Azure DevOps - Repos, Boards, Pipelines (Builds and Releases), and Artifacts - where I work. I know we'd eventually like to see those covered in this plugin
With that in mind, I could use some help with some design things:
One or more plugins: Would it best best to just have one plugin that way you could use the existing Integration PAT (Personal Access Token) for Azure DevOps or sperate plugins each using their own PAT? The API calls would be different for each so I don't think you really save much having this all in one vs. broken out. Using separate PATs means you can scope them nicely but then you have a bunch to maintains and update potentially.
TeamProject/RepoName Annotation: One of the sort of gotchas with the Azure DevOps API is that you would need the Team Project name as well as the Repo name to make most of the calls due to the design of the URL. There's a roughly 50/50 chance that you either have just one Team Project or more than one Team Project. For use we have more than one so we have used the following pattern for our annotation: dev.azure.com/project-slug: TeamProject/RepoName. Does that make sense to continue to use for this?
Future roadmap ideas:

Releases, this is the CD side of CI/CD in the Azure DevOps world
Pull Requests, would be nice to see this by entity in the catalog but also by team
Artifacts, this is where your packages live - NuGet, NPM, Maven, etc., would be great to see these details for Library components
Multi-stage pipelines, this is the newest YAML based method for CI/CD in Azure DevOps but is a little on the complex side so I think this will need to come later

I've just submitted a PR for the Azure DevOps backend plugin. This is an MVP that will pull out the top n builds given a repo name. Once that's approved and merged in I'll get working on the frontend plugin to display this.
https://github.com/backstage/backstage/pull/7192

Just a quick update the backend plugin was approved and merged in a few days ago. I'll be starting the frontend plugin tomorrow

Review of the front end PR has gone really well and we've made several improvements from that. In the mean time I've just submitted PR #7532 that will add a route for getting Pull Request data to be used by the frontend plugin

Thanks @jvilimek!


Feature: File upload

It would be very helpful, especially for development, to upload files to the dongle over wifi.

Agreed, it's on my backlog.


💡[FEATURE]: Add custom cursor to the website

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
We can add a custom cursor so the website UI enhances
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

@akshitagupta15june please assign me this issue under gssoc


Update beta-20160915 release notes

This PR adds doc updates to the release notes and reverts the minimum required Git version for building from source.

This change is

 mod sentence discussed in Slack

Review status: 0 of 3 files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


How to assign an access level to a user?

This question might be a little  silly,   but I just can't connect AccessLevel , BusinessUnit, Organization together ， I have read Security  several times , I know  an AccessLevel would  be assigned to a  user before we check his permission,  I look the code , the OneShotIsGrantedObserver  is used to get a user's access level ,  but when that access level is assigned?
I think a more detail technical  document about OroSecurity Acl part would be great help.

Hello @videni,
permissions are assigned to roles only, not to users directly. So if you would like to have permissions assigned to some user, you need to assign role to him and then set all permissions that you'd like to this particular role. You can read more in https://www.orocrm.com/documentation/current/admin-guide/security/access-management-roles

@dnahrebecki , thank for clarify the essence of role-permission relationship, it is easy to get confused when thing are complicate,  any materials that details how the EntityMaskBuilder works please?
 /**
     * Determines how many permissions stored in one mask.
     * For service mask is used 32 bit integer value. We use five bits for each permissions in mask to store
     * all access levels (basic, local, deep, global, system). So 15 bits used for permissions data. The remaining 16
     * bits will be used as service bits (as we know, 31 bits we can use for data and 1 bit is used for sign) and we
     * have 65536 (2^16) unique combinations of masks.
     * Current constant value was selected based on optimal numbers of unique masks and better performance.
     */

I don't understand these comments fully.

How does AccessLevel is leveraged in EntityMaskBuilder?
What is service  bit mask?

Security and permissions, in general, are not an easy tasks, but let me try to explain this using example.
Access Levels: system, global, deep, local, basic = 5. This number can't be changed, so it means we support exactly five access levels.
Example of permissions: VIEW, CREATE, EDIT, DELETE, ASSIGN, SHARE = 6
Maximum level of permissions in mask: 3
Let's assume that we have a system access level to all permissions.
So it means that we will have 2 masks ( 6 permission / 3 max permissions in mask = 2)
(...) 00 10000 10000 10000 (service id 1: system for VIEW, system for CREATE, system for EDIT)
(...) 01 10000 10000 10000(service id 2: system for DELETE, system for ASSIGN, system for SHARE)
Service bit mask is an ID/number of mask builder that will be used for building masks to check ACLs by & operation. It indicates which permissions are stored in which mask (have a look at https://github.com/orocrm/platform/blob/master/src/Oro/Bundle/SecurityBundle/Acl/Extension/EntityAclExtension.php#L560).

@dnahrebecki ,    thank you , very appreciate.
(...) 00 10000 10000 10000 (service id 1: system for VIEW, system for CREATE, system for EDIT)
(...) 01 10000 10000 10000(service id 2: system for DELETE, system for ASSIGN, system for SHARE)

Assume we separate  (...) 00 10000 10000 10000 into two parts:

(...) 00
10000 10000 10000

Does this mean the first part is for service bits(access level) , the second 15 bit is for permission data , is the second part alway the fixed value 10000 10000 10000, will not change to 11000 10000 10000 ?  apparently what I thought is wrong , something is missing in my head .

For service mask is used 32 bit integer value. We use five bits for each permissions in mask to store
all access levels (basic, local, deep, global, system). So 15 bits used for permissions data. The remaining 16  bits will be used as service bits (as we know, 31 bits we can use for data and 1 bit is used for sign) and we  have 65536 (2^16) unique combinations of masks.

Oro defined 5 permissions, no share defined. can you use this as example please?
oro_permissions:
    VIEW: []
    CREATE: []
    EDIT: []
    DELETE: []
    ASSIGN: []

sorry for that I can't connect your example to Oro actual implementation.

First part is for service bits, second is for access levels of given permissions. From the example above 10000 10000 10000 means system, system, system access level for some permissions. within each of 5 bits you'll have only one 1 (can be one of: 10000, 01000, 00100, 00010, 00001 - all of our access levels).
Let's use your example. You have 5 permissions, which means that you'll have 2 masks (cause only 3 permissions can be stored in one mask):
01 xxxxx xxxxx xxxxx
00 00000 xxxxx xxxxx

xxxxx - means access level for given permission. I'm not sure about order, but it should be like:
01 xxxxx(EDIT) xxxxx(CREATE) xxxxx(VIEW)
00 00000 xxxxx(ASSIGN) xxxxx(DELETE)

and let's assume that you have LOCAL access level for all of permissions, so:
01 00010(EDIT) 00010(CREATE) 00010(VIEW)
00 00000 00010(ASSIGN) 00010(DELETE)

@dnahrebecki,  thank you very much , I got it ,  this is a very good start point for me  to study further .

@dnahrebecki,   for EntityMaskBuilder , it has following constants defined,
const SERVICE_BITS        = -32768; // 0xFFFF8000
 const REMOVE_SERVICE_BITS = 32767;  // 0x00007FFF

why its SERVICE_BITS is -32768?  for FieldMaskBuilder, its SERVICE_BITS is -2048 ？why these values are selected ?


Debugging module version in PR's

Debugging. This should be closed.

This change is

PR no longer needed, closing


AppCompat

Is this library made to work only with AppCompat? I've implemented it as the directions suggest and I'm getting an error saying ArcMenu could not be instantiated and Resources NotFoundException

Can you post how you used it and the error? It is dependent on appcompat and that is a dependency

Thank you for responding.
I just followed your readme page to put the menu in. However I ran across a few problems when implementing. There were values that I had to add to my project that were giving me errors because Android Studio said it was missing from the library such as default_radius, default_elevation and fab_margin. I had to add these in the dimens page in my project because doing it in the layout wasn't working. It also told me about having to use AppCompat which I know many projects use but every time I try I get unexpected results like missing actionbar and such. I think this project is really cool and would love to use it, I just can't seem to implement it correctly.

That's extremely weird because it does include all these values. Are you using it via gradle?

Can you look at the sample once? Or. Probably upload your sample and I can have a look at it?

Yeah, I added the project via gradle. How can I upload a sample for you? I'm new to github.

Here's my xml file
`

<ImageView
    android:id="@+id/background"
    android:layout_above="@+id/toolbar"
    style="@style/BackgroundImageView" />

<android.support.v4.view.ViewPager
    android:id="@+id/pager"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_above="@+id/toolbar">

    <android.support.v4.view.PagerTabStrip
        android:id="@+id/pager_tab_strip"
        style="@style/PagerTabStrip"/>

</android.support.v4.view.ViewPager>

<RelativeLayout xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/toolbar"
    style="@style/ToolBar">

    <com.sa90.materialarcmenu.ArcMenu
        android:id="@+id/arc_menu"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        app:menu_src="@android:drawable/ic_dialog_dialer"
        app:menu_open="arc_left" >

        <com.melnykov.fab.FloatingActionButton
            android:id="@+id/action_order"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_margin="5dp"
            android:src="@drawable/ic_shopping_cart"
            app:fab_type="mini"
            app:fab_shadow="true"
            app:fab_colorNormal="@color/normalFloatColor"
            app:fab_colorPressed="@color/pressedFloatColor"
            app:fab_colorRipple="@color/normalFloatColor"/>

        <com.melnykov.fab.FloatingActionButton
            android:id="@+id/action_notifications"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:layout_margin="5dp"
            android:src="@android:drawable/ic_menu_agenda"
            app:fab_type="mini"
            app:fab_shadow="true"
            app:fab_colorNormal="@color/normalFloatColor"
            app:fab_colorPressed="@color/pressedFloatColor"
            app:fab_colorRipple="@color/normalFloatColor"/>

        <com.melnykov.fab.FloatingActionButton
            android:id="@+id/action_add"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_margin="5dp"
            android:src="@android:drawable/ic_menu_add"
            app:fab_type="mini"
            app:fab_shadow="true"
            app:fab_colorNormal="@color/normalFloatColor"
            app:fab_colorPressed="@color/pressedFloatColor"
            app:fab_colorRipple="@color/normalFloatColor"/>

    </com.sa90.materialarcmenu.ArcMenu>

    <!--<com.melnykov.fab.FloatingActionButton
        android:id="@+id/action_order"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_margin="5dp"
        android:src="@drawable/ic_shopping_cart"
        app:fab_type="mini"
        app:fab_shadow="true"
        app:fab_colorNormal="@color/normalFloatColor"
        app:fab_colorPressed="@color/pressedFloatColor"
        app:fab_colorRipple="@color/normalFloatColor"/>

    <com.melnykov.fab.FloatingActionButton
        android:id="@+id/action_notifications"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:layout_margin="5dp"
        android:src="@android:drawable/ic_menu_agenda"
        app:fab_type="mini"
        app:fab_shadow="true"
        app:fab_colorNormal="@color/normalFloatColor"
        app:fab_colorPressed="@color/pressedFloatColor"
        app:fab_colorRipple="@color/normalFloatColor"/>

    <com.melnykov.fab.FloatingActionButton
        android:id="@+id/action_add"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_margin="5dp"
        android:src="@android:drawable/ic_menu_add"
        app:fab_type="mini"
        app:fab_shadow="true"
        app:fab_colorNormal="@color/normalFloatColor"
        app:fab_colorPressed="@color/pressedFloatColor"
        app:fab_colorRipple="@color/normalFloatColor"/>-->

    </RelativeLayout>

`

So, I've changed to AppCompat successfully (finally) and i've added the menu but it doesn't appear where it's supposed to and when I push the menu it moves off screen

I've implemented the ArcMenu correctly so far, I've fixed everything. Is there a way to trim the shadow on the ArcMenu though? I'm trying to put it in a toolbar at the bottom of the screen but the ArcMenu appears half above the toolbar (which is 50dp) and I'm assuming it's because of the shadow on the sides of the button.

Is there a way to get the menu button to actually show up in the corner of the screen as opposed to having some kind of margin it's moved over? It isn't fitting in my toolbar.

Oh! By default the menu has a margin of 16dp from the sides of the screen (bottom and left/right). This is to follow the material design guidelines.
Is the margin the only issue that you are facing?

Yeah, I've managed to fix the other problems I was having and I've gotten the menu to be functional and it looks great! The margin is the only other problem I have right now because this is what the screen looks like with margins and I've tried changing the elevation and margin but nothing seems to change from my end.
Over relative layout (my toolbar):

Inside relative layout (my toolbar):

Aah. So you want to be able control the bottom and left margins. That functionality isn't there yet. It is fixed to 16dp. I'll add it in a day or two.

Thank you good sir. I love this arc menu and I think you've done a very good job. I can't wait for the update.

@thailey01 I have added support for the margins. You can use:
menu_margin' : to set the margins menu_elevation`: to control the shadow

Thank you, I will have a look at the updates.

These updates are great! It would be cool if you could add menu size, similar to how floating action button has mini or normal.

can you create a new issue for this? to keep track

Also, I can change the margin but my app is still the same as it is in the first picture that I sent to you.

are you using menu_margin and not layout_margin?

I'm using menu_margin as suggested


proposal: exp/slices: Support aggregations with CompactFunc

Proposal Details
Would be great to support aggregating duplicated items in a sorted slice using slices.CompactFunc  if the items are pointers.
For example, given this struct:
type user struct {
	id     string
	scores int
}

And a sorted slice of users (by id), I’d like to compact users by removing duplicates and summing up scores. Would be nice to be able to use CompactFunc as follows:
compacted := slices.CompactFunc(users, func(next, prev *user) bool {
  if prev.getID() == next.getID() {
    return true
  }
  return false
})

To avoid changing CompactFunc, we can introduce a new function CompactAggregate with the following signature:
func CompactAggregate[S ~[]E, E any](s S, eqAgg func(*E, *E) bool) S {

I've created this draft PR to demo it: https://github.com/golang/exp/pull/68

I don't think we guaranteed the comparisons used in a way that would be useful for aggregation
I believe this is a duplicate of previously declined fold proposals


NginX config supporting running docker as an unprivileged user

Thanks! And sorry for the long delay. :see_no_evil:
I no longer use nor recommend this Docker image, I think you are much better off building a Docker image yourself, so I updated all the docs to explain how to do it: https://github.com/tiangolo/node-frontend
The only extra step is creating and copying a simple nginx.conf file that you can copy-paste.
Given that, I'll now close this one. But thanks for the interest! :coffee:


Improve terminology of time intervals for power measurements

    The variable names are still confusing to me, and I think that is also because they are used inconsistently.

In the main docstring you mention three intervals, one of them implicitly:

"irregular intervals", which you call "periods" (even though they aren't periodic)
"regular intervals", which you also call "readings resolution" (and also just intervals)
"sends results to FM hourly", which also implies a regular interval

App receives power changes at irregular intervals. Usually about 15 seconds apart but sometimes hours.
We want to create power usages in regular intervals of e.g. 1/12th of an hour.
Power changes: |    |    |  |    |     |               | (called periods)
Intervals:        |        |        |        |        |        |

I would recommend more consistent terminology and making clear definitions early on:

Power changes occur at irregular intervals (readings): usually about 15 seconds apart but sometimes hours
We derive a time series of power with a regular interval (that is, with a fixed period): we chose 5 minutes
We send the time series to FlexMeasures in batches, periodically: we chose once every 1 hour

In lines 192-193 it looks to me like you are essentially redefining what a period is, because its duration is slowly growing.
self.period_power_x_duration += (duration * power)
self.power_period_duration += duration

I would describe this differently: you are tracking the energy accumulated within the regular interval of the time series of power. In other words, it shouldn't be an attribute of your "irregular period", but an attribute of your "regular interval". Maybe something like:
energy_since_last_power_change = duration * power
self.accumulated_energy += energy_since_last_power_change

In lines 209-2010 you are finalizing your weighted average calculation:
average_period_power = round((self.period_power_x_duration / self.power_period_duration)/1000000, 5)
self.power_readings.append(average_period_power)

When I'm reading this, I'm thinking: self.period_power_x_duration is a quantity of energy accumulated within some period (in Ws, i.e. watt-seconds, or equivalently, Joule), and you divide it over the duration of that period, in seconds (self.power_period_duration), which gives you the average power during that period.
But this is not the "irregular period" you defined in the docstring anymore, right? By now its duration has grown to become the duration of the "regular interval", which is readings_resolution.
Originally posted by @Flix6x in https://github.com/SeitaBV/v2g-liberty/pull/18#discussion_r1021478598

This has been done as good as i can get it, hope you find the comments more helpful. Also removed un-needed code/comments.


buildkite CI does not currently work with Conda.jl

After the addition of PyQDecoders in #212, it seems buildkite is not working with Conda.jl well. Fix that.

fixed in #229


Build stopped when importing stylegan2_seg

I am trying to run the training of stylegan2_seg.py , but I get the following error.
Traceback (most recent call last):
  File "/projects/mechraoui/envs/segmentation_base/lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 1400, in _run_ninja_build
    check=True)
  File "/projects/mechraoui/envs/segmentation_base/lib/python3.6/subprocess.py", line 438, in run
    output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['ninja', '-v']' returned non-zero exit status 1.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "train_seg_gan.py", line 40, in <module>
    from models.stylegan2_seg import GeneratorSeg, Discriminator, MultiscaleDiscriminator, GANLoss
  File "../models/stylegan2_seg.py", line 11, in <module>
    from models.utils import *
  File "../models/utils.py", line 12, in <module>
    from models.op import FusedLeakyReLU, fused_leaky_relu, upfirdn2d
  File "../models/op/__init__.py", line 1, in <module>
    from .fused_act import FusedLeakyReLU, fused_leaky_relu
  File "../models/op/fused_act.py", line 21, in <module>
    os.path.join(module_path, "fused_bias_act_kernel.cu"),
  File "/projects/mechraoui/envs/segmentation_base/lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 898, in load
    is_python_module)
  File "/projects/mechraoui/envs/segmentation_base/lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 1086, in _jit_compile
    with_cuda=with_cuda)
  File "/projects/mechraoui/envs/segmentation_base/lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 1186, in _write_ninja_file_and_build_library
    error_prefix="Error building extension '{}'".format(name))
  File "/projects/mechraoui/envs/segmentation_base/lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 1413, in _run_ninja_build
    raise RuntimeError(message)
RuntimeError: Error building extension 'fused': [1/2] /projects/mechraoui/envs/segmentation_base/bin/nvcc -DTORCH_EXTENSION_NAME=fused -DTORCH_API_INCLUDE_EXTENSION_H -isystem /projects/mechraoui/envs/segmentation_base/lib/python3.6/site-packages/torch/include -isystem /projects/mechraoui/envs/segmentation_base/lib/python3.6/site-packages/torch/include/torch/csrc/api/include -isystem /projects/mechraoui/envs/segmentation_base/lib/python3.6/site-packages/torch/include/TH -isystem /projects/mechraoui/envs/segmentation_base/lib/python3.6/site-packages/torch/include/THC -isystem /projects/mechraoui/envs/segmentation_base/include -isystem /projects/mechraoui/envs/segmentation_base/include/python3.6m -D_GLIBCXX_USE_CXX11_ABI=0 -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr -gencode=arch=compute_70,code=sm_70 --compiler-options '-fPIC' -std=c++14 -c /projects/mechraoui/semanticGAN_code/models/op/fused_bias_act_kernel.cu -o fused_bias_act_kernel.cuda.o
FAILED: fused_bias_act_kernel.cuda.o
/projects/mechraoui/envs/segmentation_base/bin/nvcc -DTORCH_EXTENSION_NAME=fused -DTORCH_API_INCLUDE_EXTENSION_H -isystem /projects/mechraoui/envs/segmentation_base/lib/python3.6/site-packages/torch/include -isystem /projects/mechraoui/envs/segmentation_base/lib/python3.6/site-packages/torch/include/torch/csrc/api/include -isystem /projects/mechraoui/envs/segmentation_base/lib/python3.6/site-packages/torch/include/TH -isystem /projects/mechraoui/envs/segmentation_base/lib/python3.6/site-packages/torch/include/THC -isystem /projects/mechraoui/envs/segmentation_base/include -isystem /projects/mechraoui/envs/segmentation_base/include/python3.6m -D_GLIBCXX_USE_CXX11_ABI=0 -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr -gencode=arch=compute_70,code=sm_70 --compiler-options '-fPIC' -std=c++14 -c /projects/mechraoui/semanticGAN_code/models/op/fused_bias_act_kernel.cu -o fused_bias_act_kernel.cuda.o
In file included from /projects/mechraoui/envs/segmentation_base/include/cuda_runtime.h:83,
                 from <command-line>:
/projects/mechraoui/envs/segmentation_base/include/crt/host_config.h:138:2: error: #error -- unsupported GNU version! gcc versions later than 8 are not supported!
  138 | #error -- unsupported GNU version! gcc versions later than 8 are not supported!
      |  ^~~~~
ninja: build stopped: subcommand failed.

I have cuda=10.2, pytorch=1.5.0, torchvision=0.6.0, cudnn=7.6.0, and ninja=1.8.2. I noticed this issue in StyleGAN2 repo here.
May I ask which gcc version do you have? and whether you encountered this?

Closing this as I figured it out, it was an issue with cuda build environment dependencies. As the error suggests, I had to downgrade my gcc version, and link all the required libraries for cuda to build properly.


error while run the example

Hi, I have Matlab R2019b installed on my Ubuntu 16. By following the instruction, I've downloaded the agility robotic software and unzipped the files in the software folder.
After I execute run.m, the Simulink starts, then I received the following error:

the error message in the Matlab console:

Warning: Source 'example_QEKF/Quaternion-based Extended Kalman Filter/Digital Clock' specifies that its sample time
(-1) is back-inherited. You should explicitly specify the sample time of sources. You can disable this diagnostic by
setting the 'Source block specifies -1 sample time' diagnostic to 'none' in the Sample Time group on the Diagnostics
pane of the Configuration Parameters dialog box.
> In run (line 29)
Warning: Source 'example_QEKF/From Workspace' specifies that its sample time (-1) is back-inherited. You should
explicitly specify the sample time of sources. You can disable this diagnostic by setting the 'Source block specifies
-1 sample time' diagnostic to 'none' in the Sample Time group on the Diagnostics pane of the Configuration Parameters
dialog box.
> In run (line 29)
Error using run (line 29)
Unable to create mex function 'example_QEKF_sfun.mexa64' required for simulation. If custom code is used, ensure
custom code dependencies are correctly specified. If you believe custom code dependencies have been correctly
specified, try updating the model by turning off "Configuration Parameters > Simulation Target > Import custom code."
Refer to documentation for more information.

the error message in the Simulink:

Making simulation target "example_QEKF_sfun", ...

/usr/local/MATLAB/R2019b/bin/mex -R2018a -c -DMATLAB_MEX_FILE -I"/home/yuan/Dropbox/UML_dropbox/research/conference_paper/IROS2020/Cassie_StateEstimation/Examples" -I"/home/yuan/Dropbox/UML_dropbox/research/conference_paper/IROS2020/Cassie_StateEstimation/Examples/gen/kin/src" -I"/home/yuan/Dropbox/UML_dropbox/research/conference_paper/IROS2020/Cassie_StateEstimation/gen/linux/kin/slrt/src"   -I"/usr/local/MATLAB/R2019b/extern/include" -I"/usr/local/MATLAB/R2019b/simulink/include" -I"/usr/local/MATLAB/R2019b/simulink/include/sf_runtime" -I"/usr/local/MATLAB/R2019b/stateflow/c/mex/include" -I"/usr/local/MATLAB/R2019b/rtw/c/src" -I"/home/yuan/Dropbox/UML_dropbox/research/conference_paper/IROS2020/Cassie_StateEstimation/Examples/slprj/_sfprj/example_QEKF/_self/sfun/src"    CFLAGS="\$CFLAGS -O2 " example_QEKF_sfun.c
Building with 'gcc'.
Warning: You are using gcc version '5.5.0'. The version of gcc is not supported. The version currently supported with MEX is '6.3.x'. For a list of currently supported compilers see: https://www.mathworks.com/support/compilers/current_release.
MEX completed successfully.
/usr/local/MATLAB/R2019b/bin/mex -R2018a -c -DMATLAB_MEX_FILE -I"/home/yuan/Dropbox/UML_dropbox/research/conference_paper/IROS2020/Cassie_StateEstimation/Examples" -I"/home/yuan/Dropbox/UML_dropbox/research/conference_paper/IROS2020/Cassie_StateEstimation/Examples/gen/kin/src" -I"/home/yuan/Dropbox/UML_dropbox/research/conference_paper/IROS2020/Cassie_StateEstimation/gen/linux/kin/slrt/src"   -I"/usr/local/MATLAB/R2019b/extern/include" -I"/usr/local/MATLAB/R2019b/simulink/include" -I"/usr/local/MATLAB/R2019b/simulink/include/sf_runtime" -I"/usr/local/MATLAB/R2019b/stateflow/c/mex/include" -I"/usr/local/MATLAB/R2019b/rtw/c/src" -I"/home/yuan/Dropbox/UML_dropbox/research/conference_paper/IROS2020/Cassie_StateEstimation/Examples/slprj/_sfprj/example_QEKF/_self/sfun/src"    CFLAGS="\$CFLAGS -O2 " example_QEKF_sfun_registry.c
Building with 'gcc'.
Warning: You are using gcc version '5.5.0'. The version of gcc is not supported. The version currently supported with MEX is '6.3.x'. For a list of currently supported compilers see: https://www.mathworks.com/support/compilers/current_release.
MEX completed successfully.
/usr/local/MATLAB/R2019b/bin/mex -R2018a -c -DMATLAB_MEX_FILE -I"/home/yuan/Dropbox/UML_dropbox/research/conference_paper/IROS2020/Cassie_StateEstimation/Examples" -I"/home/yuan/Dropbox/UML_dropbox/research/conference_paper/IROS2020/Cassie_StateEstimation/Examples/gen/kin/src" -I"/home/yuan/Dropbox/UML_dropbox/research/conference_paper/IROS2020/Cassie_StateEstimation/gen/linux/kin/slrt/src"   -I"/usr/local/MATLAB/R2019b/extern/include" -I"/usr/local/MATLAB/R2019b/simulink/include" -I"/usr/local/MATLAB/R2019b/simulink/include/sf_runtime" -I"/usr/local/MATLAB/R2019b/stateflow/c/mex/include" -I"/usr/local/MATLAB/R2019b/rtw/c/src" -I"/home/yuan/Dropbox/UML_dropbox/research/conference_paper/IROS2020/Cassie_StateEstimation/Examples/slprj/_sfprj/example_QEKF/_self/sfun/src"    CFLAGS="\$CFLAGS -O2 " c2_example_QEKF.c
Building with 'gcc'.
Warning: You are using gcc version '5.5.0'. The version of gcc is not supported. The version currently supported with MEX is '6.3.x'. For a list of currently supported compilers see: https://www.mathworks.com/support/compilers/current_release.
MEX completed successfully.

/usr/local/MATLAB/R2019b/bin/mex -R2018a -silent LDFLAGS="\$LDFLAGS  " -output example_QEKF_sfun.mexa64 @example_QEKF_sfun.mol
Warning: You are using gcc version '5.5.0'. The version of gcc is not supported. The version currently supported with MEX is '6.3.x'. For a list of currently supported compilers see: https://www.mathworks.com/support/compilers/current_release.
c2_example_QEKF.o: In function `sf_gateway_c2_example_QEKF':
c2_example_QEKF.c:(.text+0xfe8): undefined reference to `p_VectorNav_to_RightToeBottom_src'
c2_example_QEKF.c:(.text+0x102e): undefined reference to `p_VectorNav_to_LeftToeBottom_src'
/home/yuan/Dropbox/UML_dropbox/research/conference_paper/IROS2020/Cassie_StateEstimation/Examples/slprj/_sfprj/example_QEKF/lib_StateEstimation/sfun/src/lib_StateEstimation_sfun.a(c21_lib_StateEstimation.o): In function `sf_gateway_c21_lib_StateEstimation':
c21_lib_StateEstimation.c:(.text+0xc72): undefined reference to `p_VectorNav_to_LeftToeBottom_src'
c21_lib_StateEstimation.c:(.text+0xcb2): undefined reference to `Jp_VectorNav_to_LeftToeBottom_src'
c21_lib_StateEstimation.c:(.text+0xfc7): undefined reference to `p_VectorNav_to_RightToeBottom_src'
c21_lib_StateEstimation.c:(.text+0x1007): undefined reference to `Jp_VectorNav_to_RightToeBottom_src'
/home/yuan/Dropbox/UML_dropbox/research/conference_paper/IROS2020/Cassie_StateEstimation/Examples/slprj/_sfprj/example_QEKF/lib_StateEstimation/sfun/src/lib_StateEstimation_sfun.a(c42_lib_StateEstimation.o): In function `sf_gateway_c42_lib_StateEstimation':
c42_lib_StateEstimation.c:(.text+0xc7e): undefined reference to `Jp_VectorNav_to_RightToeBottom_src'
c42_lib_StateEstimation.c:(.text+0xcd2): undefined reference to `Jp_VectorNav_to_LeftToeBottom_src'
collect2: error: ld returned 1 exit status

gmake: *** [example_QEKF_sfun.mexa64] Error 255

I'm not sure about what's wrong here, have you experienced a similar problem?

I got the same problem as you, I use the matlab2019b and ubuntu18.04

you guys just follow up the matlab command,
If you believe custom code dependencies have been correctly
specified, try updating the model by turning off "Configuration Parameters > Simulation Target > Import custom code."
Refer to documentation for more information.
Then, it will be fine


Fix redis-namespace deprecations

Fixes part of https://github.com/resque/resque-scheduler/issues/600

Method Resque::DataStore#redis relies on Resque::DataStore#method_missing
So Resque::DataStore#redis returns the return of Redis::Namespace#redis. Maybe we should use Redis::Namespace#_client instead, as suggested in the code : https://github.com/resque/redis-namespace/blob/152253f5d38fcf325f288e881e7ade57c0e346bd/lib/redis/namespace.rb#L255
BTW, I am glad that this PR is merged in the near future.


WTForms needs an Exists validator

tldr: a validator for a non-optional (required) field that is allowed to be the empty string
An Exists validator class would check merely for the presence of the field name in the form, to make sure that a user has not forgotten the field exists, or has submitted data under the wrong field name.
This is useful say for a field such as a picture description, which may be allowed to be an empty string, but we want to make sure that the user did indeed send an empty string, and that a non-empty string has not gone walkabout under the wrong field name of desc, or the user forgot that a description field existed in the first place, which they would've liked to have filled in.
This is particularly useful eg in building a JSON API which doesn't display a HTML form directly to the user, only validating the received form on the server side with WTForms.
Observe that Exists would fill in a gap in the truth table below, with validators increasing in order of permissibility.

Observe that we use is None, not just a loose false-y check. This the is essential difference from InputRequired.
Full implementation:
from wtforms.validators import StopValidation

class Exists:
    def __init__(self, message=None):
        self.message = message

    def __call__(self, form, field):
        if field.data is None:
            if self.message is None:
                message = field.gettext('This field must exist.')
            else:
                message = self.message

            field.errors[:] = []
            raise StopValidation(message)

Can be achieved with validators = [..., NoneOf([None]), ...]
It's been a while since I've done Flask :smile:
But nonetheless charting out that table of permissibility helped me see the order of validation strictness :+1:


[Feature Request] Expose node box

Motivation
To trigger events based on Nodes we need to check if the target event is inside the node :
canvas.addEventListener('click', event => {
  const insideX = event.offsetX > node.box.minX && event.offsetX < node.box.maxX;
  const insideY = event.offsetY > node.box.minY && event.offsetY < node.box.maxY;
  if (insideX && insideY) nodeClicked();
})

Current
Currently the node exposes x, y, scaleX, scaleY, rotation. This is not enough to
Request
Expose a  AABB box on the node with { minX, minY, maxX, maxY }.
Considerations
I've looked at the cpp code of the NodeBase object and couldn't find any properties that could provide this information. But the Rive Editor is able to display it (blue border in image below), so I suppose this can be calculated.
If you know how to do it, but don't have the bandwidth to implement it, I'm happy to create a PR if you can provide me a set of instructions.
Thanks.

Hi @GrandSchtroumpf, that's very kind of you! The reason it's not exposed yet is because computing the bounds correctly requires quite a bit of code which we strip out from the runtimes to keep them lean. We could just expose a rough bounds which would work for rectangular shapes, but the editor computes the extrema of the bezier curves to get the accurate bounds it displays. We're working on an elegant solution that will let you define hit regions in the editor and will clearly be of specific shapes.
We could also do a test exposing the super accurate bounds computation and see what the actual hit on WASM size is. We've been weary to do it to not encourage people to use an inefficient system when we plan on exposing something better, but perhaps we should bite the bullet...

I see. If it's not too much work on your side to expose it I'm happy to run some tests. But I definitely understand if it outside of you short term missions.
Thanks for the feedback.

Maybe we should do it, let's keep this open for now as I know @mjtalbot has had this requested a few times on Android as well.

Hello, I've got a usecase where I need able to interact with the nodes of the canvas. A simple squared hitbox would be enough for me (no need for super precise boundaries). Would it be something easy to implement as a first step ?


fix(types): useTimeout return type

Description

For now returned array gives the user information about what type is on each element
Related Issue

#374
Motivation and Context

#374
How Has This Been Tested?

none
Screenshots (if appropriate):
none

Oh yes, that's definitely a nice fix!


Created a variable that we can handle if want or not animation transition

I have the need to set to false navigation transition, because my type of navigation UX, but using the webview provided by lib i can not do this, only if i change the lib, but will cause problem beside i'm using cocoapods as manager.
So i changed the variable "animated" to one that now is public and provide by default the animation as "true", but now i have the chance to set to "false" if i need.
Hope get merged so i will can use at my project without need of change all the flow or something like that

thanks


Needs dark mode

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
In dark environments, the light mode is harmful to eyes due to an overabundance of blue light. To protect the health and well being of our users, we should implement a dark mode.
Describe the solution you'd like
A clear and concise description of what you want to happen.
Dark mode implemented to ensure our internal employees are not blinded by the light.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
I have considered covering the screen with dark construction paper, but it makes it difficult to use the phone.
Additional context
Add any other context or screenshots about the feature request here.

https://giphy.com/gifs/memecandy-LM89XJ5lVutN8u3SSZ


Update dependencies

This now includes the changes in Smithay/calloop#144
This should be sufficient to fix some of the weirdness that
winit experiences, as well as resolve the hangs that Glazier finds

Looks good from what I can say. Some formatting diff, which you may want to adjust.
diff --git a/src/lib.rs b/src/lib.rs
index 8527e18..3384192 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -79,11 +79,11 @@ impl<D> WaylandSource<D> {
     pub fn new(queue: EventQueue<D>) -> Option<WaylandSource<D>> {
         let guard = queue.prepare_read()?;
         let fd = Generic::new(
-            // Safety: `connection_fd` returns the wayland socket fd,
-            // and EventQueue (eventually) owns this socket
-            // fd is only used in calloop, which guarantees
-            // that the source is unregistered before dropping it, so the
-            // fd cannot be used after being freed
+            // SAFETY: `connection_fd` returns the wayland socket fd, and
+            // EventQueue (eventually) owns this socket fd is only used in
+            // calloop, which guarantees that the source is unregistered before
+            // dropping it, so the fd cannot be used after being freed
+            //
             // Wayland-backend should probably document some guarantees here to make this sound,
             // but we know that they are unlikely to make the queue have a different socket/fd
             // - there is no public API to do so
@@ -145,10 +145,10 @@ impl<D> EventSource for WaylandSource<D> {
         // Take the stored error
         std::mem::replace(&mut self.stored_error, Ok(()))?;

-        // Because our polling is based on a `Generic` source, in theory we might want
-        // to to call the process_events handler on fd. However,
-        // we know that Generic's `process_events` call is a no-op, so we can just
-        // handle the event ourselves
+        // NOTE: Because our polling is based on a `Generic` source, in theory we might
+        // want to to call the process_events handler on fd. However, we know
+        // that Generic's `process_events` call is a no-op, so we can just
+        // handle the event ourselves.

         // Dispatch any pending events in the queue
         Self::loop_callback_pending(queue, &mut callback)?;
@@ -188,33 +188,31 @@ impl<D> EventSource for WaylandSource<D> {
         self.read_guard = self.queue.prepare_read();
         match self.read_guard {
             Some(_) => Ok(None),
-            // If getting the guard failed, that means that there are
-            // events in the queue, and so we need to handle the events instantly
-            // rather than waiting on an event in polling. We tell calloop this
-            // by returning Some here. Note that the readiness value is
-            // never used, so we just need some marker
+            // If getting the guard failed, that means that there are events in the queue, and so
+            // we need to handle the events instantly rather than waiting on an event in polling.
+            // We tell calloop this by returning Some here. Note that the readiness value is never
+            // used, so we just need some marker.
             None => Ok(Some((Readiness::EMPTY, self.fake_token.unwrap()))),
         }
     }

     fn before_handle_events(&mut self, events: calloop::EventIterator<'_>) {
-        // It's important that the guard isn't held whilst process_events calls occur
+        // It's important that the guard isn't held whilst process_events calls occur.
+        //
         // This can use arbitrary user-provided code, which may want to use the wayland
-        // socket For example, creating a Vulkan surface needs access to the
-        // connection
+        // socket. For example, creating a Vulkan surface needs access to the
+        // connection.
         let guard = self.read_guard.take();
         if events.count() > 0 {
             // Read events from the socket if any are available
-            if let Some(guard) = guard {
-                if let Err(WaylandError::Io(err)) = guard.read() {
-                    // If some other thread read events before us, concurrently, that's an expected
-                    // case, so this error isn't an issue. Other error kinds do need to be returned,
-                    // however
-                    if err.kind() != io::ErrorKind::WouldBlock {
-                        // before_handle_events doesn't allow returning errors
-                        // For now, cache it in self until process_events is called
-                        self.stored_error = Err(err);
-                    }
+            if let Some(Err(WaylandError::Io(err))) = guard.map(|guard| guard.read()) {
+                // If some other thread read events before us, concurrently, that's an expected
+                // case, so this error isn't an issue. Other error kinds do need to be returned,
+                // however
+                if err.kind() != io::ErrorKind::WouldBlock {
+                    // before_handle_events doesn't allow returning errors
+                    // For now, cache it in self until process_events is called
+                    self.stored_error = Err(err);
                 }
             }
         }
@@ -223,16 +221,16 @@ impl<D> EventSource for WaylandSource<D> {

 fn flush_queue<D>(queue: &mut EventQueue<D>) -> Result<(), calloop::Error> {
     if let Err(WaylandError::Io(err)) = queue.flush() {
+        // WouldBlock error means the compositor could not process all our messages
+        // quickly.  The error is
+        // not critical on its own and we should simply retry later.
         if err.kind() != io::ErrorKind::WouldBlock {
             // in case of error, forward it and fast-exit
             log_error!("Error trying to flush the wayland display: {}", err);
             return Err(err.into());
         }
-        // WouldBlock error means the compositor could not process all
-        // our messages quickly. Either it is slowed
-        // down or we are a spammer. Should not really
-        // happen, if it does we do nothing and will flush again later
     }
+
     Ok(())
 }

With the calloop's patch sctk works now. Were you able to verify that your project works as well and the issues are really resolved?
I'm not sure about the example here, since it adds extra maintainance and the calloop wayland source is used within sctk, so it's not that hard to test with it. And I tested with the sctk because it has more complex configurations with the calloop.

Not having an example makes for a very poor development experience. If the recommended way to test is to hope that sctk doesn't have conflicting dependencies, and test there, then I would expect the outcome to be that testing won't occur.
Adding the example allows this crate to be tested by itself. It isn't completely necessary, though

Maybe we should change the way example works by creating one more thread and trying to poll on it as well? So we could try to test the fallback code path? I'm just used to having all the relevant crates around so testing is very simple, but I understand that it might not be the case for everyone.

FYI calloop 0.12.1 and wayland-client 0.31.1 are out


Allow multiple hostnames, comma-separated

It will automatically get certificates for any host in the comma-separated
$PROXY_HOST whitelist when it receives the first request for that host.

Thank you very much @Infinoid - and sorry for the late merge!


Y,Z coordinate are interchanged

It should be 0,10,75 instead of 0,75,10

It's correct as it is, unfortunately.
The game uses a right-handed coordinate system where the X axis is East and West, the Y axis is vertical, and the Z axis is South and North.  When you're viewing the map, you're projecting the XZ plane into a 2D coordinate system where the X is East and West, and Y is South and North.
The game obscures this when it presents its fake, scaled coordinate system in  and  chat links, and in the coordinate readouts on the map and minimap windows, but I'm not willing to do so, sorry.  Anyone manually editing the coordinates of waymarks should probably have a basic understanding of the game's coordinate system anyway.
I might put in a help marker that explains the coordinate system though, so I'm going to leave this issue open as a reminder to look into where would be best to add that.

A help marker was added to the map view window in v<IP_ADDRESS> that explains the coordinate systems used.


Client support

The current code is intended to run on a server. However, we should add client support, we can stream media to a remote server. This is a prerequisite to running as an OBS plugin.
The biggest problem is that the WebTransport library we're using only supports servers.

This is also done as evidenced by https://github.com/kixelated/moq-rs/pull/54


Include all launcher plugins on /sponge

Effectively this means that the SpongeCommon plugin is now shown
on the root /sponge command.


Update VFS4G for upcoming changes to the ProjFS managed API

DO NOT MERGE: This PR was generated to provide the latest updates to the managed API.
This PR contains the updated managed library. As such it is expected that the Windows tests will fail since they won't even be able to build.
@wilbaker here is the final version of the managed API.  Aside from the namespace change from Microsoft.Windows.PrjFSLib to Microsoft.Windows.ProjFS I think the only other API change is a data type fix on one of the parameters to IRequiredCallbacks.GetFileDataCallback.

This PR has the latest changes for #722

@CAllredMSFT thanks for posting this, I'll update the PR title to make it clearer what this PR is for.
CC: @jrbriggs

Can we abandon this PR?  I have the latest changes in https://github.com/Microsoft/VFSForGit/pull/885

Can we abandon this PR? I have the latest changes in #885

Yep I think we can abandon this, I will close it out.

Latest changes in #885


Unit Tests fails when compiling the master-preview python SDK on a jessie image with python 2.7

In a jessie container with python 2.7 on a raspberry pi 3 model B device, compile the iot python sdk, branch module-preview per the instructions.
Observe that compilation works fine and iot sdk works but the Unit Tests fails during compilation. see stack trace in the image below:

@ebertrams released new version of the packages for raspbian stretch today - can you please try version 1.4.1 and let us know if it works?


openedClass not removed when close/dismiss with 2 pop-ups

I have problem, one case like you have 2 opened pop-ups and i got 2 body classes ' class="modal-scrollable modal-open" ' when I close pop-up with modal-open class, class is not toggled
body.toggleClass(modalWindow.openedClass || OPENED_MODAL_CLASS, openedWindows.length() > 0).

For reference, some conversation is in #4171.

Even if you have 3 pop-ups they should use 3 different classes which should be removed not toggled.

if(openedWindows.length() == 0) {
	body.removeClass(modalWindow.openedClass || OPENED_MODAL_CLASS);
}

It is more complicated than that - a separate data structure is likely necessary to store the class list, since there is the possibility that someone used the same custom class in multiple modals.

Ye only way it can work with storing those classes and counting them maybe.

So any progress ?

Not yet, but I did not forget about this issue - I'm a busy person, but I will make sure to get a fix before we release 0.13.4, so don't worry unless I break that promise :) .

Like for you, waiting for new version!!


Fix different timezone issue and add max prepare statement configuration.

Problem

Wrong encoding issue occured by differences between DB and finagle-mysql client timezone.
Mysql Date type can't be decoded to java.util.Date in finagle-mysql.
Max prepared statement config is needed.

Value 'RawValue(10,63,true,[B@69c21295)' can't be decoded to 'class java.util.Date'
java.lang.IllegalStateException: Value 'RawValue(10,63,true,[B@69c21295)' can't be decoded to 'class java.util.Date'

Solution

Apply encoder using timestampValue

Current
implicit val dateEncoder: Encoder[Date] = encoder[Date]

Fixed
implicit val dateEncoder: Encoder[Date] = encoder[Date] { (value: Date) =>
 timestampValue(new java.sql.Timestamp(value.getTime)): Parameter
}

Add DateValue in dateDecoder

implicit val dateDecoder: Decoder[Date] =
  decoder[Date] {
    case DateValue(v)        => v  // Add for Mysql Date
    case `timestampValue`(v) => new Date(v.getTime)
  }

Max prepare statement configuration
finagle's max prepare statement default value is 20

  def maxPrepareStatements = Try(config.getInt("maxPrepareStatements")).getOrElse(20)

  def client =
   Mysql.client
     .withCredentials(user, password)
     .withDatabase(database)
     .withMaxConcurrentPrepareStatements(maxPrepareStatements)  // Add MaxConcurrentPrepareStatements
     .configured(DefaultPool.Param(
       low = lowWatermark, high = highWatermark,
       idleTime = idleTime.seconds,
       bufferSize = bufferSize,
       maxWaiters = maxWaiters
     ))
     .newRichClient(dest)

Notes

Previous PR #418 is reverted, because unit test fail. :sob:

Checklist

[x] Unit test all changes
[ ] Update README.md if applicable
[ ] Add [WIP] to the pull request title if it's work in progress
[x] Squash commits that aren't meaningful changes
[x] Run sbt scalariformFormat test:scalariformFormat to make sure that the source files are formatted

@getquill/maintainers

thanks for the PR @karellen-kim! Sorry for the late feedback

@fwbrasil Thanks! 😍


Import statement is not recognised

Hello!
I'm writing a bot for my Amino. I've downloaded all dependencies that you have mentioned in the documentation. Unfortunately, when I reference index.ts file const Amino = require("./src/index.ts"); I keep getting the error message as follows:
import { request } from "./request"
^^^^^^

SyntaxError: Cannot use import statement outside a module```

I will appreciate any help!

I like to tell everyone that it's all because you don't put the stars in
the repository 😂
I don't have enough information, but maybe you just misrepresented the
module in TS. Chances are you'll need to use "import" to use the module.
It's also possible that you've erred in "tsconfig.json".
ср, 1 июл. 2020 г., 19:18 JoshJson<EMAIL_ADDRESS>
Hello!
I'm writing a bot for my Amino. I've downloaded all dependencies that you
have mentioned in the documentation. Unfortunately, when I reference
index.ts file const Amino = require("./src/index.ts"); I keep getting the
error message as follows:
import { request } from "./request"
^^^^^^
SyntaxError: Cannot use import statement outside a module ```
I will appreciate any help!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/beryll1um/amino.ts/issues/2#issuecomment-652515814,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANPN2EAQPMLGJKTQUZ62GZDRZNOWHANCNFSM4ONSFH5Q
.


fix: adjust indexes for scale and upgrade packages

:tada: This PR is included in version 1.3.13 :tada:
The release is available on:

GitHub release
v1.3.13

Your semantic-release bot :package::rocket:


Rename trigera to correct tigera (copy of #241 fixed issue_239 typo)

Fixes #239
This is re-submission of #241 with CLA i.e. @Shivraj-Nakum retained as author and me added as committer.

Could you rebase this? I think only sync/linux/calico-0.sh remained. We can merge soon afterwards, there are no other trigera references left, according to: https://cs.k8s.io/?q=trigera&i=nope&files=&excludeFiles=&repos=

@claudiubelu Done. Thanks.

/lgtm


[Feature][linkis-engineplugin-flink] flink plugin needs to support manager executor

Search before asking

[X] I had searched in the issues and found no similar feature requirement.

Problem Description
flink plugin needs to support a manager executor, which can manage the operation on yarn apps.
Description
No response
Use case
No response
Solutions
No response
Anything else
No response
Are you willing to submit a PR?

[ ] Yes I am willing to submit a PR!

提供最新版DataSphereStudio全家桶安装服务。
包括（DataSphereStudio, Linkis, Exchangeis(Datax, Sqoop), Scriptis, Streamis(Flink), Visualis, DolphinScheduler)

另外包含 元数据，数据安全，数据质量，数据血缘。（这些都是DataSphereStudio不自带的服务）
包含hadoop集群搭建（hive, spark, flink, kafak, kylin）
提供上述所有系统二次定制开发服务
提供系统搭建运维疑难问题解决

添加备注，DSS大数据
持续为DataSphereStudio开源贡献力量


Storage backend for states using name instead of id

Feedback
Hi !
We have a question regarding storage backend using s3 buckets. We see that for modules its using the name however, when storing the states for workspaces it's using the id. This approach is kind of limited as if our Terrakube installation is down and we need to apply some resources we can't find the state of the concerned source code since it's all hidden behind workspace ids. Is there a way to change how it is stored ?
Regards

There is no way to change that logic


Feature/improve paths

When there are lots of connections between dialogues, it can be hard to see what's going on. We should try and make the different connections more visually clear.

Adding colours and dashes to the paths helps, but: it's still a bit of a mess; it's not really solving the problem. The big problem is being able to follow lines to the next screen / state.
Some thoughts on making that better: let people click on a path to highlight it (perhaps via CSS applied to a :focus state). Ideas:

Highlight the path with colour, z-index, dashes.
Dim out other paths.

@justinvdm I think I should close this PR and start a new one (at some point) for ^^^. Thoughts?

@SteveBarnett +1 on new PR for highlighting focused paths and dimming the rest. How would focusing work though? Do you mean highlighting connections of the focused state?

@justinvdm re focusing: ¯_(ツ)_/¯. We shall do some user testing :).


Cookie sign doesn't work

What version of Elysia is running?
1.1.13
What platform is your computer?
WSL Ubuntu
What steps can reproduce the bug?
import { Elysia, t } from "elysia";

new Elysia({
  aot: false,
  cookie: { // both constructor secret and cookie schema (see below) doesn't work
    secrets: "Fischl von Luftschloss Narfidort",
    sign: ["profile"],
  },
})
  .get(
    "/",
    ({ cookie: { profile } }) => {
      profile.value = {
        id: 617,
        name: "Summoning 101",
      };
    },
    {
      cookie: t.Cookie(
        {
          profile: t.Optional(
            t.Object({
              id: t.Numeric(),
              name: t.String(),
            })
          ),
        }
        // {
        //   secrets: "Fischl von Luftschloss Narfidort",
        //   sign: ["profile"],
        // }
      ),
    }
  )
  .listen(8080);

GET http://localhost:8080/
What is the expected behavior?
signed cookie
What do you see instead?

%7B%22id%22%3A617%2C%22name%22%3A%22Summoning%20101%22%7D -> '{"id":617,"name":"Summoning 101"}'
Additional information
I assume this doesn't work with aot: true and false, its kinda blocked by https://github.com/elysiajs/elysia/issues/832

reported on discord
Have you try removing the node_modules and bun.lockb and try again yet?
yes

I found that the cookie schema does not inherit global settings. When I remove the cookie schema, the global settings work properly. Is this the expected behavior?


fix(BRep): remove non manifold edge test on model surfaces

:tada: This PR is included in version 6.1.4-rc.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

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


PostgresSQL and PostgresSQL CDC connector does not support the “inet” data type

Search before asking

[X] I had searched in the feature and found no similar feature requirement.

Description
PostgresSQL and PostgresSQL CDC connectors support inet data  type
Usage Scenario
I encountered an error when reading PostgresSQL table data using the PostgresSQL CDC connector.
There is an inet type field in my table,and the error message reads: ['Postgres' tables unsupported get catalog table, the corresponding field types in the following tables are not supported: '{"nsc. public. audit": {"ip": "inet"}'].
Upon checking the source code, I found that the PostgresTypeConverter class does not support the data type "inet".
Related issues
No response
Are you willing to submit a PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

yeah,no inet type.Is there any problem with converting to string?

No problem, that's exactly what I did.


Store and apply stats modifications based on card decisions

Still to be done: visual indications of stats modifications before a decision is made

Action outcome preview moved to #40. Closing.


segmented control on the section header to switch two collection views

I am trying to implement  a segmented control on the section header to switch two collections views ,  both collection view have same map view( no change when switch ) as ParallaxHeader and images as collection view cells , the segmented control section header will be sticky  header . Is that possible ? if yes , how can i do it with CSStickyHeaderFlowLayout in swift 2 , thanks a lot .

I have finally figured out how to do it .

program segment control code in CollectiontoViewSectionHeader.swift ,send notification to collectionviewcontroller.swift
collectionviewcontroller.swift  receive the notification and perform datasource switch .

Hi did you solved this problem? If so could you let me know?


[Bug] NPE when deleting timeseries via Java API

Search before asking

[X] I searched in the issues and found nothing similar.

Version
1.3.0 (Java API)
Describe the bug and provide the minimal reproduce step
Deleting a time series via the Java API yields to a NullPointerExecption.
sessionPool.executeQueryStatement(DELETE timeseries root.*)

leads to:
java.lang.NullPointerException: Cannot invoke "java.util.List.size()" because "columnNameList" is null
at org.apache.iotdb.rpc.IoTDBRpcDataSet.<init>(IoTDBRpcDataSet.java:104)
at org.apache.iotdb.isession.SessionDataSet.<init>(SessionDataSet.java:121)
at org.apache.iotdb.session.SessionConnection.executeQueryStatement(SessionConnection.java:399)
at org.apache.iotdb.session.Session.executeStatementMayRedirect(Session.java:791)
at org.apache.iotdb.session.Session.executeQueryStatement(Session.java:763)

Nevertheless, the time series is deleted so the query is executed successfully but there seems to be an issue when creating the response object.
What did you expect to see?
Executing the query without an exception
What did you see instead?
The stack trace as shown above.
Anything else?
No response
Are you willing to submit a PR?

[ ] I'm willing to submit a PR!

Hi @bossenti , executeQueryStatement is for query statement only. You should use executeNonQueryStatement for delete statement.

My bad 🙈 Please apologize, thank you for your help!


[BEAM-7439] Cherry-pick PR/8621 to the release branch.

Run Python Postcommit

R: @angoenka

Thanks @tvalentyn


The API documentation lacks the complete syntax of the open method.

Hello
The API documentation
https://phantomjs.org/api/webpage/method/open.html
lacks the syntax of open as:
Open (url, name, data, settings, callback)
This is the form in which this method is used in the postjson.js example.
Regards

phantomjs is dead and has been for years. Use Chrome headless.

I need a program that I can call in a Windows script.
The idea is to call it multiple times in a loop for different parameters.