Another day another bug-fixing feature-adding PR

Fun for the whole family.
Closes #478
Closes #479

Still doesn't work.
`this is a string with a null byte in it --> \0 <--

Traceback (most recent call last):
  ...
  File ".../vyxal/main.py", line 147, in execute_vyxal
    exec(code, locals() | globals())
ValueError: source code string cannot contain null bytes

I still feel like escape sequence handling should be done entirely in the parser. If you did that, you could just use repr/!r in the transpilation and guarantee no ACE exploits (they would manifest as parser bugs instead, which are more tame).

By the way, can you try to give your branches more descriptive names (e.g. fix-478-and-479) rather than thursday-fixes, because if you reuse a branch name (say, next thursday), it can confuse git, and it confuses me, because I don't know what the branch actually contains, without  git checkouting it.

`this is a string with a null byte escape in it --> \0 <--

Well of course it won't work - the version online doesn't have the changes from this commit.

It works with the changes on this branch

Oops I was using it from the command line and forgetting that echo evaluates escape sequences in zsh

By the way, can you try to give your branches more descriptive names (e.g. fix-478-and-479) rather than thursday-fixes, because if you reuse a branch name (say, next thursday), it can confuse git, and it confuses me, because I don't know what the branch actually contains, without git checkouting it.

Sure, I'll do that from now on. I thought it'd be a nice thematic thing for just this week, but you're right that the meaning can be unclear


Remark about Default Value is missing

In older version of this page:
https://learn.microsoft.com/en-us/dynamics-nav/eventsubscriberinstance-property
It is clearly said that 'Static-Automatic' is a default value of this property.
This information is no longer part of the documentation.
Is anything changed?

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

ID: bbfabd4b-c71c-8c33-8ae0-57c1f75ba62b
Version Independent ID: 905eeb0c-ceca-ff11-3468-95d399e06ff4
Content: EventSubscriberInstance Property - Business Central
Content Source: dev-itpro/developer/properties/devenv-eventsubscriberinstance-property.md
Service: dynamics365-business-central
GitHub Login: @SusanneWindfeldPedersen
Microsoft Alias: solsen

Hello, thanks for your feedback. The default value is StaticAutomatic, we'll add that to the article with the next doc refresh. Thanks.


Fix for undefined index bug on pitch pages.

What's this PR do?
This PR fixes a bug with the pitch pages with an undefined index with the signup_cta.
We create the signup_cta item in the $vars array when preprocessing the pitch page, but instead of adding the item to the array, we were using the .= operator which otherwise requires the signup_cta to exist before it can be concatenated. But that item doesn't exist prior to the spot when we use the .= so it was always throwing an error that the item was undefined.
This PR also adds some spacing between lines of code in the dosomething_campaign_preprocess_pitch_page() function because FOR THE LOVE OF GOD AND ALL THAT IS HOLY that code is making me claustrophobic! Why are we afraid to add spacing to Drupal code @_@
How should this be reviewed?
Load a few pitch pages and see if Notice: Undefined index: signup_cta in dosomething_campaign_preprocess_pitch_page() still pops up in the logs.
Relevant tickets
Fixes #6509

@angaither

This PR also adds some spacing between lines of code

Yessss, so much nicer. 😌

🚢


Develop build option

Thank you for sharing!
I think that the code is under rapid development. It is nice if it has a develop build option using soft-link so users do not have to rebuild after making some modifications.

You can just run pip install -e . or python setup.py develop to install it with a soft link.
Since mmcv.__version__ will record the git commit hash and be saved in checkpoints, it may be a good choice to run python setup.py install after each update. It's up to users to adopt the develop mode or not.

Thank you for your helpful information!


Move Avro Schema parser (TS version) back from parser-js 2.0 to this repo

Reason/Context
Parser-JS 2.0 (released as rc at this moment) is a completely new parser, with a lot of changes. The bigger ones are:

Completely rewritten to TS.
Implements the new parser-api, in particular, the version found in this PR.
Uses Spectral as parser/linter with the AsyncAPI ruleset.
Lots of other improvements, especially around Developer Experience.

Considering that Spectral now validates the documents before parsing, we had to update the interface for Schema parsers to separate validation from parsing. This change also introduced better errors and the way we handle them. (see this issue and related).
FYI, Spectral addition was discussed starting in https://github.com/asyncapi/parser-js/issues/481#issuecomment-1195965993, ending in https://github.com/asyncapi/parser-js/issues/481#issuecomment-1216436846. Also https://github.com/asyncapi/parser-js/issues/477#issuecomment-1216430740. Also during some 3.0 meetings.
To not pollute every single schema parser repository and to simplify development, the schema parsers have been temporarily included in the same source code as the Parser-JS 2.0. Once tested, the idea is to move those back to their own repositories.
Description
The work to be done is to move back this schema parser from https://github.com/asyncapi/parser-js/tree/next-major/src/schema-parser to this repository.
This includes:

Copy-pasting the schema parser code from the Parser-JS 2.0 next-major repository to this one.
Enable Typescript compilation.
To release a new major version, since the interface has changed.

Please feel free to drop your questions and concerns.
cc @derberg @fmvilas @M3lkior @dalelane @magicmatatjahu

If I would be the only maintainer here, I would not be happy with TS. Not a fan of it, especially in small projects.
But I'm not alone, and I know some maintainers come from Java world and will appreciate types 😄
@dalelane @M3lkior @fmvilas up to you folks, all go with the majority

I think TS adds value so I'd stay with it.

I'm not so familiar with TS but i know his benefits, so i agree to migrate ; especially if the new parser rocks !

I'm absolutely not a typescript expert, but I'm sold on the promise of it and needed an excuse to learn it anyway :)

I think majority has spoken, so seems like a 👍 to TS.
The PR is already created and waiting for your review: https://github.com/asyncapi/avro-schema-parser/pull/168
cc @dalelane @M3lkior @fmvilas @derberg


Catch unhandled promise rejections

We have been running Hubot with hubot-rocketchat and noticed that after a few hours the bot would become completely unresponsive. A colleague of mine tracked down the issue using the following steps:

Took heap dumps and saw lots of memory from the first hour of running still hanging around the next day.
Run the profiler after a day and 95% of the time was garbage collecting (confirming that it was some sort of memory problem).
Found this on stack overflow: https://stackoverflow.com/a/27084549/1015774, which describes a similar problem.
Many of the objects from 1. were Promise, which confirmed that suspicion.
Checked the hubot-rocketchat code and it does indeed import q.

We were able to workaround this issue by disabling Q's unhandled rejection tracking:
const Q = require('q');
Q.stopUnhandledRejectionTracking();

I think that hubot-rocketchat should consider adding this code (or catching the unhandled promise rejections). See also kriskowal/q#760.

Managers of this repo are AWOL.
I have noticed the same thing. I wonder can we figure out how to make this change ourselves?

@edzillion That's not the case. We've been working on the es6 conversion branch because this one is not compatible with the latest Hubot (v3) and coffee script is no longer in its future either. I'll make a patch next week for the issue above and bring that into the es6 branch too. We're also working on a new architecture for adapters to support multiple frameworks, not just Hubot.

oh ok @timkinnane apologies! (and thanks for all the work)
Is there a discussions somewhere related to the es6 branch? I would like to keep in the loop.

Hey @edzillion nothing yet. I have work in progress to push this week and some new bot and adapter docs. Join the #bots channel for news. I'll leave it at that so this issue can stay focused on the promises.

Please test this with current develop branch. It's working with Hubot v3 and we've put up a demo here: https://github.com/RocketChat/hubot-rocketchat-boilerplate

Closing this, should be resolved as use of Q library was deprecated in current release.


Set ALSA_PLUGIN_DIR to mindustry

Without it, there is no audio.
I tested adding the same variable locally in a wrapper and it works as intended.

Fixes #167915

Please follow our commit convention described in CONTRIBUTING.md

@Artturin is this the correct format for the message?


Set the “cacheWidth ” and “cacheHeight”parameter when using Image.network in ListView, the screen flickers when loading data asynchronously

Flutter 1.12.13+hotfix.5 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 27321ebbad (11 months ago) • 2019-12-10 18:15:01 -0800
Engine • revision 2994f7e1e6
Tools • Dart 2.7.0

Hi @LjxTttt
Looks like you're on nearly a year old Flutter version.
Can you please upgrade to the latest  stable and try again
flutter channel stable
flutter upgrade --force
flutter doctor -v
If the problem persists, Can you please provide your flutter doctor -v and flutter run --verbose logs, and a minimal complete reproducible code sample?
Thank you

Without additional information, we are unfortunately not sure how to resolve this issue.
We are therefore reluctantly going to close this bug for now.
Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.
Could everyone who still has this problem please file a new issue with the exact description of what happens, logs, and the output of flutter doctor -v.
All system setups can be slightly different, so it's always better to open new issues and reference related issues.


How to reach data in insertRow?

I'm implementing a function to insert a row to the table and to actually save this data it will be sent to our server.
But I can not find a way to reach the inserted data in one of the methods?
I am using  and have set insertModalFooter to this.createCustomModalFooter.
`createCustomModalFooter = (closeModal, save) => {
}`
My question is:
Where can I reach the data inserted in the textfields?
The provided parameters are only the closeModal and a save-function?
I'm sure I have missed something, I', sure there is a way to reach the data.. I need to send this to the server to actually store it in the database..
Or do I need to totally custom the insert modal ?
Thanks in advance
Fredrik

Or do I need to totally custom the insert modal ?

Probably no, if you want custom modal, you can use it.
if you want the new data, you can try https://github.com/AllenFang/react-bootstrap-table/blob/master/examples/js/manipulation/insert-row-table.js#L34
Let me know if you have any question, thanks

@AllenFang I'm having a similar situation- trying to save the entire table state to server after row additions and subtractions are done. It seems like the data prop for the BootstrapTable is NOT updated whenever we add a row or delete a row, so you recommend we do that manually in onAfterInsertRow and onAfterDeleteRow?

Hi guys,
Related to this. How to delete the row if something is wrong storing data into your server... I mean... having this const options = {   afterInsertRow: onAfterInsertRow   // A hook for after insert rows }; and then in my onAfterInsertRow and calling to my API in terms of saving this data. If my server would fail for some reason... How can I delete the row inserted?
Thanks guys!

@AllenFang If we have the event of onBeforeInsertRow so that we can send the request to the server and if successful we can proceed further otherwise we will not.


feat(proxy): add router to support dynamically set the target

Description
add router option to support dynamically set the target

Additional context
URL example: /dynamicProxy/localhost:9607/anotherApp
Configuration
server: {
	proxy: {
		'/dynamicProxy': {
			target: 'http://localhost:9600',
			router: (req) => {
				const target = req.url.match(/\/dynamicProxy\/(.*?)\//)[1]

				return `http://${target}`
			},
			rewrite: (path) => path.replace(/^\/dynamicProxy\/.*?\//, ''),
			changeOrigin: true,
		}
	}
}

What is the purpose of this pull request?

[ ] Bug fix
[X] New Feature
[ ] Documentation update
[ ] Other

Before submitting the PR, please make sure you do the following

[X] Read the Contributing Guidelines.
[X] Read the Pull Request Guidelines and follow the PR Title Convention.
[X] Check that there isn't already a PR that solves the problem the same way to avoid creating a duplicate.
[X] Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. fixes #123).
[X] Ideally, include relevant tests that fail without this PR but pass with it.

Thanks for the PR. There is another PR implementing the same but also supporting a more extensive API here:

https://github.com/vitejs/vite/pull/2808

It seems we never ended up discussing this one in a team meeting. I'll add it to the Team board. Just to set expectations, it may take us a few weeks as we just met today.

related: #13932 (The difference is that #13968 supports changing the target but #13932 doesn't)

Have any news about this PR?

That would be very nice to have this feature. I wonder what are the workaround in the current situation. I have see one custom plugin vite-plugin-proxy-middleware but didn't tested it yet.
This PR https://github.com/vitejs/vite/pull/2808 seems to be more developed.

any updates?


Probe settings persistence

Is it possible to make the probe settings persistent?  The offset value always seems to default to 10mm instead of the last entered value.  For instance, I am using a touch plate that is 0.82mm thick, so I have to reset that every time I relaunch cnc.js.

I also found it quite disturbing. Will fix it later today.

Fixed in v0.14.3 using HTM5 Local Storage.
It can remember both imperial and metric unit settings. You can try to change length units by clicking on the [in / mm] button on the Axes widget or typing G20 or G21 commands from the Console widget to verify if it is working.

Works for me.
Quick semi related question.  When I went to update cncjs via npm from 14.2 to 14.3, the 'npm update -g cncjs' command didn't do any updating.  Just exited with no messages after a period of time.  I had to do an uninstall first, then reinstall to get the new version.

Not sure what happened. It might be related to NPM registry cache or some other stuffs.


Failed to create the WebView control.

Microsoft PowerToys version
0.35.0
Running as admin

[X] Yes

Area(s) with issue?
Settings
Steps to reproduce
Right-click on PowerToys in the taskbar tray, then click on Settings
✔ Expected Behavior
Open the settings window
❌ Actual Behavior
Prompt Error: Failed to create the WebView control.
Other Software
No response

@JoeanAmiee What version of Windows 10 are you on?


Move Process, ProcessFacet, Event, Tree to Platform

Pull request checklist
Please check if your PR fulfills the following requirements:

[x] Docs have been reviewed and added / updated if needed (for bug fixes / features)
[x] Tests have been added that prove the fix is effective or that the feature works.
[x] New and existing tests pass locally with the changes.
[x] Code follows the style guidelines of this project (PEP8, clean code, linter).
[x] A self-review of the code has been done.

What is the ticket or issue number?

Pull Request Description

Move Platform modules into the Platform package (Process, ProcessFacet, Event)
Update Process Summary and Tree to use v2 routes
Does this introduce a breaking change?

[x] Yes
[ ] No

Tree has been moved inside of Process, instead of being a sibling class. (It went from enterprise_edr.Tree to platform.Process.Tree).
Also, these modules used to be in the enterprise_edr package, so import statements will need to change. (from enterprise_edr import Process, ProcessFacet, Event, Tree to from platform import Process, ProcessFacet, Event)
How Has This Been Tested?

Pytest

Still have to add in Event Facets

Still have to add in Event Facets

Event Facets have been added


Add AdapterUtil and use the adapter pattern to get the IProject from selection in ProjectFromSelectionHelper

Based on the comment from @briandealwis :
https://github.com/GoogleCloudPlatform/gcloud-eclipse-tools/pull/485#issuecomment-236762625

lgtm


IndexError while refine_and_decimate

Thanks for your great work.
while traning stage 1,
IndexError: boolean index did not match indexed array along dimension 0; dimension is 449875 but corresponding boolean dimension is 300000
in   File "nerf/renderer.py", line 222, in refine_and_decimate.
I think the length of cnt_mask and mask is different because of the  the code block '# only care about the inner mesh'
            cnt = self.triangles_errors_cnt.cpu().numpy()
            cnt_mask = cnt > 0
            errors[cnt_mask] = errors[cnt_mask] / cnt[cnt_mask]

            # only care about the inner mesh
            errors = errors[:self.f_cumsum[1]]
            cnt_mask = cnt_mask[:self.f_cumsum[1]]

            # find a threshold to decide whether we perform subdivision / decimation.
            thresh_refine = np.percentile(errors[cnt_mask], 90)
            thresh_decimate = np.percentile(errors[cnt_mask], 50)

            mask[(errors > thresh_refine) & cnt_mask] = 2
            mask[(errors < thresh_decimate) & cnt_mask] = 1

            print(f'[INFO] faces to decimate {(mask == 1).sum()}, faces to refine {(mask == 2).sum()}')

FYI, my environment is
nvidia/cuda:11.8.0-devel-ubuntu22.04.
(My 4090 isn't working well with CUDA 11.6)
Others are fine so far.

@gr3atchoi Sorry for the bug, I have fixed it in the latest commit!

I have a similar issue in refine_and_decimate.
The command of stage 1 like this:
CUDA_VISIBLE_DEVICES=4 python main.py ./data/room/ --workspace trial_sdf_360_room -O --data_format colmap --bound 8 --enable_cam_center --enable_cam_near_far --scale 0.2 --downscale 4 --stage 1 --iters 10000 --lambda_lap 1e-3 --lambda_normal 1e-3 --sdf
The error:
Traceback (most recent call last):
File "main.py", line 243, in
trainer.train(train_loader, valid_loader, max_epoch)
File "/home/zhangl/project/nerf2mesh-main/nerf/utils.py", line 931, in train
self.train_one_epoch(train_loader)
File "/home/zhangl/project/nerf2mesh-main/nerf/utils.py", line 1206, in train_one_epoch
self.model.refine_and_decimate()
File "/home/zhangl/miniconda3/envs/nerf2mesh/lib/python3.7/site-packages/torch/autograd/grad_mode.py", line 27, in decorate_context
return func(*args, **kwargs)
File "/home/zhangl/project/nerf2mesh-main/nerf/renderer.py", line 252, in refine_and_decimate
cur_v, cur_f = decimate_and_refine_mesh(cur_v, cur_f, mask, decimate_ratio=self.opt.refine_decimate_ratio, refine_size=self.opt.refine_size, refine_remesh_size=self.opt.refine_remesh_size)
File "/home/zhangl/project/nerf2mesh-main/meshutils.py", line 199, in decimate_and_refine_mesh
m = pml.Mesh(verts, faces, f_scalar_array=mask)
pymeshlab.pmeshlab.PyMeshLabException: Error while creating mesh: the number of face quality values is different from the number of faces.

@Gary-Qinghua Hi, bound > 1 is not supported for sdf mode currently.

Thanks.
This command is in your scripts/runall_360_indoor_sdf.sh


Add contributors

@CrossEye, please let me know if you are comfortable with this. If so, let me know if the information is as desired

No objection, although my only contribution so far has been a mild critique of the previous README.

Although it took you little time; the result is relevant.


Add ScanDetailV2 to KvGet and KvBatchGet

Description
There is a useful information called ScanDetailV2 in the response of TiKV Coprocessor API, which tells information like, how many keys are scanned, how many tombstones are skipped, how many data is read from disk.
We can return this kind of information as well in KvGet and KvBatchGet in the response.
Score

1200

Mentor(s)

@breeswish
@zhongzc

Contact the mentors: #tidb-challenge-program channel in TiDB Community  Slack Workspace
Recommended Skills

Rust

/pick-up

/pick-up

/pick-up


Refactor backend interface

Hi charm.sh,
I was implementing the lfs-transfer protocol for gitea (https://github.com/go-gitea/gitea/issues/17554), and in the process I vendored your excellent transfer library from this repo. I made some changes for it to work better with Gitea's internal API, but I think those are improvements in the general sense too, hence I'm opening this PR.
All tests pass with the internal local backend in this repo.
Most of these changes are pretty self explanatory I hope, only the last commit is sort of contentious. In its defence, the old 2-stage Upload API was frankly horrific with the UploadState and whatnot. This works around that by using the same clever trick as HashingReader: a VerifyingReader. This makes it much simpler for backends, as handling corrupt input is just the same as handling errors from the reader. Also makes it very simple for backends that verify input themselves to just omit wrapping the reader.

Also please tag, the last one is from ~2 years ago.

@aymanbagabas not the exact change you suggested but I think this looks good as well.

@aymanbagabas not the exact change you suggested but I think this looks good as well.

Even better, thank you!

@ConcurrentCrab could you please rebase the commits to use conventional commits?

@aymanbagabas sure but... I'm not sure what else that would entail?
FAICT all commits are in the format
<scope>: <title>

<body>

@ConcurrentCrab basically this
[feat|fix|refactor](<scope>): <title>

<body>

https://www.conventionalcommits.org/en/v1.0.0/

@aymanbagabas reworded the commit messages.


Allow Namespaced ArgoCD/GitOps to create Projects

Is your feature request related to a problem? Please describe.
Allow a Namespaced GitOps deployment to self provision projects.
The feature is straight forward in summary:

In OpenShift we created the project/namespace duality
The default behaviour is to allow (system authenticated) Developers to self service projects out of the box i.e. call the ProjectRequest api

Can we also allow GitOps/ArgoCD to make similar project requests?
Currently, as a Developer using GitOps/ArgoCD in Namespaced mode, you must:
(1) create additional Projects to manage (which also creates the namespaces).
(2) annotate the Namespace(s) (requires cluster admin type privilege) with "argocd.argoproj.io/managed-by=" where the value is the name of your project that contains argocd.
(3) go to "Configuration" -> "Clusters", select the "in-cluster" cluster, click "Edit" and put the namespace(s) into the "Namespaces" field. This updates the secret labelled "argocd.argoproj.io/secret-type: cluster" (or declaratively do so)
Describe the solution you'd like
As a Cluster Admin, when installing the Operator, choose whether Namespaced GitOps/ArgoCD CR's can be allowed "self-provisioner" (if this is not disabled in the cluster already).
As a Developer, when creating a Namespaced ArgoCD CR, specify the project(s) this instance can manage. The GitOps/ArgoCD Service Account would be given "self-provisioner", something like:
oc adm policy add-cluster-role-to-user self-provisioner -z argocd-argocd-application-controller

That would allow the GitOps/ArgoCD ServiceAccount to admin projects. The namespace label/annotation solution would (ideally) then not be required.
Describe alternatives you've considered
(1) Using the default cluster gitops instance to bootstrap projects. This clearly works and is a good pattern for isolating cluster admin like privileged actions.
(2) The GitOps operator could use the (privileged) "update" api to create the namespace label. One example workaround for #3819 (as described below) is here - https://github.com/apache/camel-k/pull/1311/files
(3) The similar effort in upstream ArgoCD, it creates a separate service account -  "support managing cluster resources in a namespaced mode" - https://github.com/argoproj/argo-cd/pull/6581
Additional context
Its a complex issue. It seems to be related to choosing the (privileged) namespace annotation as a solution for Namespaced GItOps/ArgoCD. Unfortunately unprivileged users in OpenShift have never had permission to annotate namespaces or projects. There is a 7 year old issue upstream about it - https://github.com/openshift/origin/issues/3819
So, it seems unlikely that is going to change anytime soon. Having said that, Clayton's comment seemed like a pretty elegant solution ! https://github.com/openshift/origin/issues/3819#issuecomment-137092365
Notes
The intent here is for self-provisioner type access. even though it cannot be given to service accounts.
the self-provisioner role is associated with system:authenticated:oauth group, that is assigned to all users who have identified using an oauth token issued by the embedded oauth server.
So for service accounts you will need to create a new role .

Thank you for the detailed write-up, I will read up and respond!

@sbose78 i have a workaround, not ideal as it does not use namespaced argo but it works like this.
you can deploy multiple cluster scoped argocd's into your cluster using this environment variable ARGOCD_CLUSTER_CONFIG_NAMESPACES which is not really documented at all in the argocd operator - only in the e2e tests.
this lets you deploy privileged argocd instances, by specifying the namespaces they can go into on the Subscription e.g.
spec:
  channel: stable
  config:
    env:
      - name: DISABLE_DEFAULT_ARGOCD_INSTANCE
        value: 'true'
      - name: ARGOCD_CLUSTER_CONFIG_NAMESPACES
        value: 'labs-ci-cd,ateam-ci-cd'
  installPlanApproval: Automatic
  name: openshift-gitops-operator
  source: redhat-operators
  sourceNamespace: openshift-marketplace
  startingCSV: openshift-gitops-operator.v1.3.1

the RBAC is controlled and we can set up Namespaces using the Application CR:
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: welcome
spec:
  destination:
    namespace: welcome
    server: 'https://kubernetes.default.svc'
    syncOptions:
    - CreateNamespace=true

i have a working example in OpenShift 4.9+ here https://github.com/eformat/openshift-gitops the RBAC is pretty wide open for now.

you can deploy multiple cluster scoped argocd's into your cluster using this environment variable ARGOCD_CLUSTER_CONFIG_NAMESPACES which is not really documented at all in the argocd operator

We don't recommend that because it gets us pretty wide permissions :(

I do not think this feature is viable. A namespace scoped instance is that: namespace scoped. Letting it create additional namespaces that it can itself scope into defeats the purpose, somehow.
I guess one proper way to have "self-serve" namespaces would be to have a cluster-scoped administrative instance (managed by the cluster admin team), with an Application that manages namespaces on the cluster. Let people send Pull Requests for the Git repository sourced by that Application to have their namespaces created.
I'm gonna close this enhancement request, because I do not believe that we'll implement it anytime soon.

thanks @jannfis for considering. i dont think it defeats the purpose - consider that a namespace admin RBAC user can today create other projects and namespace without issue. the "self-provisioner" role is not namespace scoped if you look at it that way - its a cluster type role.


Does pkg: pkg have a purpose?

In the webpack.config.js is the following
plugins: [new HtmlWebpackPlugin({
    filename: 'index.html',
    pkg: pkg,
    template: path.join(libPath, 'index.html')
}

I cannot see the optoin pkg in the docs for HtmlWebpackPlugin...

Yes pkg is package.json. Using HtmlPlugin we can use any property of package.json file.
We can get the name or the version for instance: https://github.com/shprink/angular2-nobullshit-boilerplate/blob/master/lib/index.html#L10-L11

Aha, that makes sense :) Thanks!


Add robot boilerplate

Add the boilerplate code for the robot. This includes the classes in the main package, and subfolders for our subsystems and commands. It may be a good idea to consider Tim's suggestion here when creating the package structure.

Before you add anything, I want to show you an example of how you should set up your subsystems so that you can write tests for them.


Assign role to users

This is a feature request.
It would be nice to have a way to assign a role to multiple users directly from the role.
Going through each user assignment is tedious.

Hmm, this is more a RBAC feature, I've moved it there:
https://github.com/dektrium/yii2-rbac/issues/113


Create types based on Key

Create types based on Key.
Fixing this should help us model packages (e.g. List) as if they were records. Currently we have trouble when the fields in a record have polymorphic types (e.g. List.hd has type 'a list -> 'a) and the type variables get confused when we extract a single field from a record type.

As part of the fix, enable the following cases in simple.sml, which are commented out because they are broken:
val SOME i = SOME 1;
val SOME (i, NONE) = SOME (1, SOME false);

Fixed as part of #70.


[UIK-2616][checkbox] pass props from root to child Input.Value component

Motivation and Context

How has this been tested?
Manually and I fixed a test

Screenshots (if appropriate):
Types of changes

[X] Bug fix (non-breaking change which fixes an issue).
[ ] New feature (non-breaking change which adds functionality).
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected).
[ ] Nice improve.

Checklist:

[X] My code follows the code style of this project.
[X] I have updated the documentation accordingly or it's not required.
[X] Unit tests are not broken.
[X] I have added changelog note to corresponding CHANGELOG.md file with planned publish date.
[ ] I have added new unit tests on added of fixed functionality.

@ilyabrower can we do the same for "aria-labelledby"?

Already done. And for aria-describedby too


animate_topomap() without drawing contours?

Is it possible to create an animation using animate_topomap() without drawing contours?
I can hide contours in plot_topomap() with option contours=0, but I can not find something like this in the animate_topomap().
Is there a way around this limitation?

yes this option is not implemented. Pull request very welcome to add this.

Sorry, but I'm new and just an ordinary user. How can I ask to add this option to the MNE-Python?

@PappaBu this issue will serve as a feature request.  No guarantees on how soon it will get added though.


Use a monotonic clock for intervals

Hey @Adam-Vandervorst, thanks for the PR!
I'm a bit unfamiliar with monotonic clocks. Can you tell me more about why they'd be useful here?

I'm going to close this out for now due to inactivity.  Feel free to reopen


Typescript fontWeight too restrictive

Current the typing for fontWeight (used with createStyles) doesn't allow other weights like "black" or "extra-bold".
Current typing:
StandardLonghandProperties<TLength = string | 0>.fontWeight?: number | "bolder" | "-moz-initial" | "inherit" | "initial" | "revert" | "unset" | "normal" | "bold" | "lighter" | undefined

Recommended:
Make the weight a general string instead of an enum.
Example:
const styles = createStyles({
  root: {
    flexGrow: 1,
  },
  flex: {
    flexGrow: 1,
    fontFamily: 'Montserrat!important',
    fontWeight: 'black'
  }
});

The above code causes the TS error:

[ts]
Argument of type '{ root: { flexGrow: number; }; flex: { flexGrow: number; fontFamily: string; fontWeight: "black"; }; menuButton: { marginLeft: number; marginRight: number; }; }' is not assignable to parameter of type 'Record<"root" | "flex" | "menuButton", CSSProperties>'.
Types of property 'flex' are incompatible.
Type '{ flexGrow: number; fontFamily: string; fontWeight: "black"; }' is not assignable to type 'CSSProperties'.
Types of property 'fontWeight' are incompatible.
Type '"black"' is not assignable to type 'number | "-moz-initial" | "inherit" | "initial" | "revert" | "unset" | "normal" | "bold" | "bolder" | "lighter" | undefined

Looking at https://fonts.google.com/specimen/Montserrat they are not actually black or extra-bold but 900 and 800 respectively.
The typing gave you the correct hint in this case.

@eps1lon is right, check the specification next time: https://developer.mozilla.org/en-US/docs/Web/CSS/font-weight.

How about fontWeight: "bold !important"? It's necessary use the !important sometimes...

Just to put an example, I'm having an issue with the TreeItem component (in the next branch), it overrides my custom style every time:
<TreeItem
  classes={{ label: classes.locationTreeParentLabel, }}
  label={location.name.toLocaleLowerCase()}
  nodeId={location.code}>
</TreeItem>

So the only option you have is to use !important in some cases.
And in this case I can't use use it on fontWeight because it's too restrictive.

It doesn't seem to accept 500, 600, 700 etc.

@MichaelTrilford-Airwallex We should be good in v5 now with
import { experimentalStyled as styled } from '@material-ui/core/styles';

e.g. open this demo in codesandbox https://next--material-ui.netlify.app/components/checkboxes/#customized-checkbox


Accidental delete kubernetes context leaves residuals in kube config

I've newly initialized a new kubectl context via gcloud container clusters get-credentials. And it has a default long boring naming format of gke_foobar-ftp-1_us-central1-a_ftp-receiver, after a failing attempt to aliasing the new k8s context with a shorter name, kubectx actually delete the context. instead, however, both ~/.kube/config still has lingering residuals not being delete.
$ gcloud --project foobar-ftp-1 container clusters get-credentials --zone us-east1-a ftp-receiver
Fetching cluster endpoint and auth data.
kubeconfig entry generated for ftp-receiver.

$ kctx                                                                                qa
prod
gke_foobar-ftp-1_us-central1-a_ftp-receiver
minikube

$ kctx gke_foobar-ftp-1_us-central1-a_ftp-receiver=ftp
Context "gke_foobar-ftp-1_us-central1-a_ftp-receiver" exists, deleting...
error: cannot rename the context "ftp", it's not in /Users/ye/.kube/config

$ kubectl config view | grep gke_foobar-ftp-1_us-central1-a_ftp-receiver | wc -l
       3

$ kctx ftp
error: no context exists with the name: "ftp".

$ kctx
qa
prod
minikube

Somehow the context is deleted but not really deleted, what should I do to recover. In retrospect, I should have done kctx ftp=gke_foobar-ftp-1_us-central1-a_ftp-receiver (not the other way around.) But what do I do now?

This is known, and by design.
What's remaining there is not the old context, but rather "users" and "clusters" entries of the same cluster. We can't rename those, but we still refer to them in the newly renamed context.
Makes sense?

If you're on GCE, just run get-credentials again and it should be fixed automatically.

@ahmetb thank you for the explanation - yes I agree that it's not a bug but a nuance. I was hoping that there could be some kind of "garbage collection" going to to clean it up or a step to manually "fix" it after reversing the order of the aliasing step. And yes, gcloud container clusters get-credentials again actually make it work again (didn't seem to create dupes in the kubeconfig).
I am closing this.

There are some plugin ideas for kubectl to clean up the dangling entries in
kubeconfig.
On Tue, Mar 19, 2019 at 08:56 Ye Wang<EMAIL_ADDRESS>wrote:

@ahmetb https://github.com/ahmetb thank you for the explanation - yes I
agree that it's not a bug but a nuance. I was hoping that there could be
some kind of "garbage collection" going to to clean it up or a step to
manually "fix" it after reversing the order of the aliasing step. And yes, gcloud
container clusters get-credentials again actually make it work again
(didn't seem to create dupes in the kubeconfig).
I am closing this.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ahmetb/kubectx/issues/135#issuecomment-474440533, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAJt6Rav-785gQ_KH25DRsGon9o0buM2ks5vYQi9gaJpZM4b6n2M
.

--
Ahmet Alp Balkan |  Developer Experience Engineer |  github:@ahmetb
http://github.com/ahmetb |  twitter:@ahmetb https://twitter.com/ahmetb


Not compatible with 1.86 (need to replace 3 method calls)

ImGui::GetWindowContentRegionWidth doesn't exits anymore on the docking branch
From changelog:
 - 2021/08/23 (1.85) - removed GetWindowContentRegionWidth() function.
keep inline redirection helper. can use 'GetWindowContentRegionMax().x - GetWindowContentRegionMin().x'
instead for generally 'GetContentRegionAvail().x' is more useful.

Fixed in 948d96dbcb724ae2eca963a93fb213301b5a875c. Closing this out.


Considering Timezones in Difference Calculations

Given two dates in different timezones:

define A: 2017-12-31@18:00:00.0-05:00
define B: 2018-01-01@00:00:00.0+00:00

What is the expected result of difference in years between A and B?
If we don't consider timezones, then the result is 1, since A is in 2017 and B is in 2018.
If we do consider timezones, then we must normalize to a common timezone in order to count boundaries.
If we normalize both to the first timezone (EST), then B becomes 2017-12-31@19:00:00.0+00:00 -- and the result is 0 (both A and B are  in 2017).
If we normalize both to the second timezone (GMT), then A becomes 2017-12-31@11:00:00.0+00:00 -- and the result is 1 (since A is in 2017 and B is in 2018).
If we normalize to the timezone of the request stamp, which might be neither EST nor GMT, then... who knows?

It seems to me there are only two options for ensuring consistent behavior. 1) Normalize to UTC or 2) Normalize to the timezone of the request.
Given that the default timezone (i.e. the timezone used to construct date/time values if no timezone is specified in the selector) is the timezone of the request, I tend to lean towards option 2.

I think that normalizing to UTC or any other timezone not related to the data itself might get weird.
Normalizing time zones changes where all of the boundaries are.  If we do that whenever date 1 and date 2 have different offsets, then it will happen a lot for areas that observe daylight savings, since there will so often be comparisons between dates in different offsets.  That's my main concern...

But there's no basis for normalizing to one or the other operand of a binary expression, especially one that is supposed to be commutative. Identifying one operand as being given special consideration would break that property, tying the translators hands for optimization as well as translation to other systems. Seems like the worst option to me. So I still think that consistent with the Now() and Today() operators, we should normalize to the timezone of the request.

OK -- I agree that this would break commutativity.  I hadn't thought of that.
That said, if we normalize to the timezone of the request, then we're in a situation where calculations will be different depending on the location.  For example, running Bonnie tests in San Fransisco might yield different results than running them in Boston.
Or worst, the results might be different depending on whether or not you are currently observing daylight savings time.  For example, running them in Boston on March 1 might yield different results than running them in Boston on Apr 1.
I guess it is a bit of a no-win situation either way.
Would you propose that the dates only be normalized when the timezones differ?  Or would we always normalize them?  I know this is a bit of an edge case, but if we only normalize when they differ, then we have an opportunity for this situation:
// request timestamp in GMT
define A: 2012-06-15T23:30:00.0-04:00
define B: 2012-06-16T00:30:00.0-04:00
define C: 2012-06-16T01:00:00.0-00:00
define AsameDayAsC: A same day as C // true
define BsameDayAsC: B same day as C // true
define AsameDayAsB: A same day as B // false

(BTW -- this seeming inconsistency would occur if we normalized to the first timezone as well, so it's relevant to either case if we only normalize when timezones differ).

I think given that there is no "right" answer, I'm hesitant to actually put anything prescriptive in the spec. I'd be comfortable suggesting an approach that always normalizes to the timezone of the request, and further suggesting that systems should record dates in UTC to begin with, but in the absence of that ideal, some flexibility in implementation is desirable to allow environments to select the most appropriate implementation strategy.

OK -- so that would be more like "implementation guidance" than a normative requirement of the spec?  I think that probably makes the most sense.  Over here, we're all hoping that some day the world will go to a single unified time.  That would make things a lot easier!

Right, I'll take the action to log an STU comment on this.

An STU comment to get the world to move to a unified time?  Excellent!  If HL7 can pull that off, I'll pay double-dues for the rest of my life!
But seriously... thanks.

Submitted comment 1441


CLA assistant saas hangs

URL to the linked Repo/Org:
Steps to reproduce the problem:

Issue visible in this PR and many others

https://github.com/kyma-project/kyma/pull/6188
Or
https://github.com/kyma-project/cli/pull/292
What is the expected result?
Not hanging CLA check on PRs
What happens instead?
Even if you signed CLA before. The cla assistant is pending. I wanted to fix it quickly and whitelisted kyma-project org to unblock at least org members, but it only turned off the PR comment while cla check is hanging

hi @derberg , I just checked and the CLA check in both the PRs look fine. I believe, the CLA status took sometime to update the CLA check status.

strange... it was at least few hours long problem that could by only solved by signing the CLA again


Route List - Orchard vs NuGetGallery

We are running a few instances of the new gallery as well as the old Orchard gallery, and there has been a bit of confusion around the intent regarding the routes.
From nuget.exe, the old Orchard gallery used a /FeedService.svc route for list but the base url for push/delete etc.  The new gallery seems to be using /api/feeds/ for the list, and the base (as well as a variety of other urls) for its other functionality.
Realising that we can do whatever we want with these using redirects/rewrites, if we consider this set of urls/routes the interface between all NuGet tooling and a DataServicePackageRepository, is there a spec that states what this will be for each action/verb?
This is particularly important when people are trying to write extensions that they would like to support multiple actions against a single url (for example a list and a push to the same server without providing a separate url for each action).

+1 - this is a source of much confusion.  A deployment guide would be very useful with the new gallery.  How is the Microsoft redirection implemented?

There is no redirection going on. We're using routing to point to the endpoint. Routing simply maps the URL to the code that executes, no redirection necessary.

We'll try and put together a list of the service endpoint URLs.

That would be great.  There also appears to be breaking changes between the v1/v2 api/feeds routes, has anyone put together a compatibility matrix (eg 1.4 seems to work with v2, but 1.5 doesnt)?  I believe you guys are going with v1 mapped to the same URL as before?

http://nuget.codeplex.com/discussions/279575


Location flag has no effect

The location seems to be hard coded to 'centralus' and the location flag does not take precedence (we needed to deploy in westeurope).
we also changed to the Blobstore to the StorageV2 kind so that we can continue to upload docs directly in blobstore
https://github.com/usistan/hawkeye/tree/master/Deployment

This is not an issue. And location is explained in the deployment page.


fix: login redirect

should find a way to test/mock this at some point, kinda scary to wing i this way but we should merge/release asap


misspelling a test name should probably cause failure

I'm worried that it's very easy to misspell a test's name, see the (zero tests) success output from cargo, and miss the fact that your test didn't run. Here's a couple examples from my project. First the correct spelling:
$ cargo test test_file
     Running target/debug/duct-0b3d1841f083e660

running 1 test
test test::test_file ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured

   Doc-tests duct

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured

And misspelled, so that no tests actually run:
$ cargo test tast_file
     Running target/debug/duct-0b3d1841f083e660

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured

   Doc-tests duct

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured

You can't see it here on GitHub, but the strongest detail in the terminal is that all the green colored text ("ok") is the same in both examples. Also because doc tests come after, and I have no doc tests in general, the last three lines are also the same.
I can't think of a use case where you'd want the test runner to silently do nothing. Can we make running no tests an error? (Apologies if cargo is the wrong place to file this.)

Cargo is currently completely opaque to the actual tests themselves. Some tests may not even use the test harness, and may not actually have names. The test_file argument here is just forwarded to the test binary itself, Cargo doesn't even look at it. In that sense this bug report may be more applicable for rust-lang/rust with the test harness?

@alexcrichton thanks, will re-file.


foreign keys and indexes missing

From the transactions API: error:
SequelizeDatabaseError: SQLITE_ERROR: no such column: ledgerID at Query.formatError (C:\Users\DonChan\PycharmProjects\mmss-backend\node_modules\sequelize\lib\dialects\sqlite\query.js:422:16) at Query._handleQueryResponse (C:\Users\DonChan\PycharmProjects\mmss-backend\node_modules\sequelize\lib\dialects\sqlite\query.js:73:18) at afterExecute (C:\Users\DonChan\PycharmProjects\mmss-backend\node_modules\sequelize\lib\dialects\sqlite\query.js:250:31) at Statement.errBack (C:\Users\DonChan\PycharmProjects\mmss-backend\node_modules\sqlite3\lib\sqlite3.js:16:21)
From the sqlite DB. only a primary key. Non index and foreign keys.

try delete demo.db or something
this is more like issue on local dev environment.
cannot really reproduce.


Testing

We need to figure out what testing strategy we are going to use for testing the UI. It currently looks like we are going to implement unit tests. We will update the issue when we do decide on what testing strategy we are going to use.

https://www.youtube.com/watch?v=7N63cMKosIE
https://testing-library.com/docs/cypress-testing-library/intro/

Based on @waleedza99's feedback and demo today showcasing cypress running an authentication end to end test suite, we have decided to move forward with writing end to end tests for our testing strategy, using cypress.


use arrow keys to change offsets in machine preview

If the machine preview has focus, you can use arrow keys to move the current layer around. Shift makes it more fine-grained. I tried allowing arrow keys to work even outside of the machine preview, but it was interfering with other controls making use of them (like scrollbars or option fields), so I reverted that behavior.
I also removed the logic to allow deselection of the current layer by clicking on it. I seem to recall us talking about doing that, anyway, and it makes the movement using keys more consistent (you can't accidentally deselect a layer when clicking on the preview).

LGTM. Merge when ready.


Description
House comes with sprinkler system, not sure which integration I will need yet but hopefully it plays well with HA. If not I might replace it and this will become an expensive automation.
Tasks

[x] Install app
[x] Integrate
[x] Make new issues for below

Integration URL
Rachio Sprinklers
Automation Idea

[ ] #88
[ ] #89
[ ] #90

New Hardware?
No
Add Amazon / store URL for referencing if new hardware is required
No response

Added to the app
Had to call customer service to switch this device to my account
Setup wifi
Note cannot see hidden SSIDs so make sure to show it before you connect this
Done


First version of part.

@bhand-mm @wheaties @logie17 This "productizes" the makefile artifactory publishing that is copy/pasta around the golang projects I've worked on.  Give it a look.

Looks neat, I'll use it! :+1:


chore: same version for @types/node

@microsoft/api-extractor patch version was bumped to avoid: ✕ unmet peer<EMAIL_ADDRESS>found 18.16.0
Triggered by
// @ts-ignore: `rm` exists since Node.js 14.14.0, but doesn't seem to appear in all @types/node packages used by Prisma

From https://github.com/prisma/prisma/pull/18848#pullrequestreview-1394261574
Since we compile, we can use the latest version everywhere and clean up

Hi, let's not upgrade @types/node to 18.*, which is very misleading, as our minimum supported Node.js version is 14.17.*. This implies that we cannot trust the types exported by such a recent @types/node version.
In https://github.com/prisma/prisma/pull/18899, I had already stabilised the @types/node versions across the public @prisma/* packages to 14.18.42, i.e., the version already in use that is the closest to 14.17.*.
With the context provided in this comment, I think this PR can be closed.

@jkomyno I don't think that using v14 types everywhere is a great solution either, there is no perfect solution here unfortunately 😢

Note: https://github.com/prisma/prisma/pull/18899 was approved and merged, and likely conflicts with this PR.


Feature request: skipif(Command('hostname -s') == 'druid'))

Is it possible to skip, pass, xfail a test based on a REMOTE command/parameter?
If so, how?

import pytest

def test_foo(Command):
    if Command.check_output('hostname -s') == 'druid':
        pytest.skip()

?

Closed in flavor of #48


MediaChannel "Error" Event(?) not implemented

hi,
when playing around with my "public available CDs" (tracks showing to internet MP3 streams) I suddenly encountered this:
Sharpcaster.Channels.MediaChannel: Trace: RECEIVED: {"type":"ERROR","detailedErrorCode":104,"itemId":15}
Sharpcaster.ChromecastClient: Error: The received Message of Type 'ERROR' can not be converted to its response Type. An implementing IMessage class is missing!

after some checking of the URLs and playing them in the web browser the error disappeared ...
the log also showed sometimes this LOAD_ERROR with the same error code.
Sharpcaster.Channels.MediaChannel: Trace: RECEIVED: "requestId":1870045973,"type":"LOAD_FAILED","detailedErrorCode":104,"itemId":16}

not sure what's going on here but definitely we do get a 'Message' (Event?) that is not yet translatable. Tried to find doku but I am still not really comfortable with this protobuffer protocol.

Very interesting.
Error codes can be found here and 104 is:
The media resource indicated by the src attribute was not suitable.
https://developers.google.com/android/reference/com/google/android/gms/cast/MediaError.DetailedErrorCode
It seems like there's ERROR_TYPE_ERROR which I haven't implemented at all.
It's bit hard to implement it blindly but I will take a look into reproducing it as test case first

The whole sequence starting with queue-load (there was another queue playing before) was:
Sharpcaster.Channels.MediaChannel: Trace: SENT    : 20f743f4-0a0d-4cd4-8871-8e3a481d0355: {"items":[{"media":{"contentId":"https://audionautix.com/Music/AwayInAManger.mp3","streamType":2,"contentType":"audio/mp4","metadata":{"metadataType":0,"title":"AwayInAManger","subtitle":null,"images":null},"duration":null,"customData":null},"autoPlay":null},{"media":{"contentId":"https://audionautix.com/Music/CarolOfTheBells.mp3","streamType":2,"contentType":"audio/mp4","metadata":{"metadataType":0,"title":"CarolOfTheBells","subtitle":null,"images":null},"duration":null,"customData":null},"autoPlay":null},{"media":{"contentId":"https://audionautix.com/Music/JoyToTheWorld.mp3","streamType":2,"contentType":"audio/mp4","metadata":{"metadataType":0,"title":"JoyToTheWorld","subtitle":null,"images":null},"duration":null,"customData":null},"autoPlay":null}],"repeatMode":"REPEAT_OFF","sessionId":"20f743f4-0a0d-4cd4-8871-8e3a481d0355","requestId":1870045973,"type":"QUEUE_LOAD"}
Sharpcaster.Channels.HeartbeatChannel: Trace: Stopped heartbeat timeout timer
Sharpcaster.Channels.MediaChannel: Trace: RECEIVED: {"type":"MEDIA_STATUS","status":[{"mediaSessionId":4,"playbackRate":1,"playerState":"IDLE","currentTime":0,"supportedMediaCommands":12303,"volume":{"level":1,"muted":false},"currentItemId":1,"idleReason":"INTERRUPTED","extendedStatus":{"playerState":"LOADING","media":{"contentId":"https://audionautix.com/Music/AwayInAManger.mp3","streamType":2,"contentType":"audio/mp4","metadata":{"metadataType":0,"title":"AwayInAManger"},"mediaCategory":"AUDIO"},"mediaSessionId":5}}],"requestId":0}
Sharpcaster.Channels.HeartbeatChannel: Trace: Stopped heartbeat timeout timer
Sharpcaster.Channels.ReceiverChannel: Trace: RECEIVED: {"requestId":0,"status":{"applications":[{"appId":"46C1A819","displayName":"Receiver for AirConnect & CastBridge","isIdleScreen":false,"launchedFromCloud":false,"namespaces":[{"name":"urn:x-cast:com.google.cast.debugoverlay"},{"name":"urn:x-cast:com.google.cast.cac"},{"name":"urn:x-cast:com.google.cast.media"}],"sessionId":"20f743f4-0a0d-4cd4-8871-8e3a481d0355","statusText":"Receiver for AirConnect & CastBridge","transportId":"20f743f4-0a0d-4cd4-8871-8e3a481d0355"}],"volume":{"controlType":"master","level":0.10499999672174454,"muted":false,"stepInterval":0.03125}},"type":"RECEIVER_STATUS"}
Sharpcaster.Channels.HeartbeatChannel: Trace: Stopped heartbeat timeout timer
Sharpcaster.Channels.ReceiverChannel: Trace: RECEIVED: {"requestId":0,"status":{"applications":[{"appId":"46C1A819","displayName":"Receiver for AirConnect & CastBridge","isIdleScreen":false,"launchedFromCloud":false,"namespaces":[{"name":"urn:x-cast:com.google.cast.debugoverlay"},{"name":"urn:x-cast:com.google.cast.cac"},{"name":"urn:x-cast:com.google.cast.media"}],"sessionId":"20f743f4-0a0d-4cd4-8871-8e3a481d0355","statusText":"Streamen: AwayInAManger","transportId":"20f743f4-0a0d-4cd4-8871-8e3a481d0355"}],"volume":{"controlType":"master","level":0.10499999672174454,"muted":false,"stepInterval":0.03125}},"type":"RECEIVER_STATUS"}
Sharpcaster.Channels.HeartbeatChannel: Trace: Stopped heartbeat timeout timer
Sharpcaster.Channels.MediaChannel: Trace: RECEIVED: {"type":"ERROR","detailedErrorCode":104,"itemId":14}
Sharpcaster.ChromecastClient: Error: The received Message of Type 'ERROR' can not be converted to its response Type. An implementing IMessage class is missing!
'WinUiHomeAudio.exe' (CoreCLR: clrhost): Loaded 'C:\Users\xxxxxxxx\source\repos\HomeAudio\WinUiHomeAudio\bin\x64\Debug\net8.0-windows10.0.22621.0\win-x64\AppX\Microsoft.Win32.Registry.dll'. Symbols loaded.
Sharpcaster.Channels.HeartbeatChannel: Trace: Stopped heartbeat timeout timer
Sharpcaster.Channels.MediaChannel: Trace: RECEIVED: {"type":"MEDIA_STATUS","status":[{"mediaSessionId":5,"playbackRate":1,"playerState":"IDLE","currentTime":0,"supportedMediaCommands":12303,"volume":{"level":1,"muted":false},"currentItemId":14,"loadingItemId":15,"idleReason":"ERROR","extendedStatus":{"playerState":"LOADING","media":{"contentId":"https://audionautix.com/Music/CarolOfTheBells.mp3","streamType":2,"contentType":"audio/mp4","metadata":{"metadataType":0,"title":"CarolOfTheBells"},"mediaCategory":"AUDIO"},"mediaSessionId":5},"queueData":{"repeatMode":"REPEAT_OFF","shuffle":false,"startIndex":0},"repeatMode":"REPEAT_OFF"}],"requestId":0}
Sharpcaster.Channels.HeartbeatChannel: Trace: Stopped heartbeat timeout timer
Sharpcaster.Channels.ReceiverChannel: Trace: RECEIVED: {"requestId":0,"status":{"applications":[{"appId":"46C1A819","displayName":"Receiver for AirConnect & CastBridge","isIdleScreen":false,"launchedFromCloud":false,"namespaces":[{"name":"urn:x-cast:com.google.cast.debugoverlay"},{"name":"urn:x-cast:com.google.cast.cac"},{"name":"urn:x-cast:com.google.cast.media"}],"sessionId":"20f743f4-0a0d-4cd4-8871-8e3a481d0355","statusText":"Receiver for AirConnect & CastBridge","transportId":"20f743f4-0a0d-4cd4-8871-8e3a481d0355"}],"volume":{"controlType":"master","level":0.10499999672174454,"muted":false,"stepInterval":0.03125}},"type":"RECEIVER_STATUS"}
Sharpcaster.Channels.HeartbeatChannel: Trace: Stopped heartbeat timeout timer
Sharpcaster.Channels.ReceiverChannel: Trace: RECEIVED: {"requestId":0,"status":{"applications":[{"appId":"46C1A819","displayName":"Receiver for AirConnect & CastBridge","isIdleScreen":false,"launchedFromCloud":false,"namespaces":[{"name":"urn:x-cast:com.google.cast.debugoverlay"},{"name":"urn:x-cast:com.google.cast.cac"},{"name":"urn:x-cast:com.google.cast.media"}],"sessionId":"20f743f4-0a0d-4cd4-8871-8e3a481d0355","statusText":"Streamen: CarolOfTheBells","transportId":"20f743f4-0a0d-4cd4-8871-8e3a481d0355"}],"volume":{"controlType":"master","level":0.10499999672174454,"muted":false,"stepInterval":0.03125}},"type":"RECEIVER_STATUS"}
Sharpcaster.Channels.HeartbeatChannel: Trace: Stopped heartbeat timeout timer
Sharpcaster.Channels.MediaChannel: Trace: RECEIVED: {"type":"ERROR","detailedErrorCode":104,"itemId":15}
Sharpcaster.ChromecastClient: Error: The received Message of Type 'ERROR' can not be converted to its response Type. An implementing IMessage class is missing!
The thread '.NET TP Worker' (25924) has exited with code 0 (0x0).
The thread '.NET TP Worker' (13016) has exited with code 0 (0x0).
The thread '.NET TP Worker' (23660) has exited with code 0 (0x0).
The thread '.NET TP Worker' (1656) has exited with code 0 (0x0).

I now recognized that I mark the media items as 'audio/mp4' even if they are mp3 but this was/and normally is no issue at all.

I am testing crazy things here: running my WinUI3 App and my ConGUI at the same time and connected to the same device with the same appID - then play a cd from WinUi and then press Next on the ConGUI.....
It works (now) most of the time but until now only with the media from 'https://audionautix.com/Music/...' it sometimes has 'hickups'. Also my device is nearing a state where it needs a power down cycle (this occasionally happens when doing this stuff the device gets very slow in its reaction -> interesting bus and protocol timings for test purpose 😉 ...)

created 1.2.1-alpha package.
If you can reproduce the problem with that build it might now lead to issues with mediaChannel but the original problem should be fixed.

ok thx. I switched to this release - and could reproduce the error.
Our '.. can not be converted ...' error is fixed. What issues with the media channel do you expect now? I can use the channel after the error with other load and load_queue commands and it seems to work.

It definitively has to do with this URLs:
     "ContentUrl": "https://audionautix.com/Music/AwayInAManger.mp3",
     "ContentUrl": "https://audionautix.com/Music/CarolOfTheBells.mp3",
     "ContentUrl": "https://audionautix.com/Music/JoyToTheWorld.mp3",

it is easy to reproduce here. When I first use them the above error occurs. When I load them in Browser then there seems to be a short 'Player page' doing a 'autoplay' and after that my chromecast device can play the url like all others. So I will remove them from my example...

Mainly expecting that you won't be able to catch those errors anywhere. So it's basically eating them.

No prob. I think the rest of the Status messages is consistent with this error. So the receiver/channels go to idle (sometimes with idle reason 'error') after that.

Added error handling to media channel and wrote a testcase for it.
Thanks for the content links that I could use to repeat the problem.

This works excellent now!
The queue load tries to play all media, the first 2 entries trigger this error on the new handler and the last one now raises the Exception with the original load request. And now all gets correctly logged on level 'Error'!
Thx a lot again.

Great to hear and thanks for reporting the issue


jstree async data load

Can you please provide me with a full asynchronous loading example? This would include backend (if possible in C# ASP.NET MVC) and frontend with jsTree function that uses core 'data' with  'url' and 'data'. I have looked for this kind of an example for the past two days, but your home page also does not have a fully working example as you load data through predefined JSON files - see this taken from your site:
'url' : function (node) {
return node.id === '#' ?
'ajax_demo_roots.json' : 'ajax_demo_children.json';
},
'data' : function (node) {
return { 'id' : node.id };
}
So, if you fetch ajax_demo_roots.json for example you get:
[
{ "id" : "demo_root_1", "text" : "Root 1", "children" : true, "type" : "root" },
{ "id" : "demo_root_2", "text" : "Root 2", "type" : "root" }
]
How does mapping from backend to jsTree node work? How are 'url' and 'data' used in that context?
Thank you
Ivan

The principle is the same (static files or not).
Still, did you have a look at the demos section - it has a full DB example (no predefined files, but a live lazy-loaded tree which you can edit):
http://www.jstree.com/demo/ (last example).
The code for this example is in this very repo:
https://github.com/vakata/jstree/blob/master/demo/sitebrowser/index.php#L108
You can read an explanation here:
https://github.com/vakata/jstree#populating-the-tree-using-ajax-and-lazy-loading-nodes
And here:
http://www.jstree.com/docs/json/ ("Using AJAX" section)
It is also explained in the groups page a few times, for example in this unrelated question: https://groups.google.com/d/msg/jstree/BbBe5Zwb7Yo/8ibwkV33y00J
If you are having a hard time with C# and .net - google your problem - there are a few sites that offer jstree tutorials with .net
Best regards,
Ivan


Support cross references to global symbols in decompiler view

I have mapped a keyboard shortcut to the "Find References To" action of the SymbolTreePlugin as this is very useful for quickly finding the known cross references to functions and global variables. Unfortunately, this action is not supported on global symbols in the decompiler view. Since it is possible to rename and retype globals from the decompiler, I am hoping that it is possible to add the option of finding cross references directly from the decompiler as well.

Yeah, I'd second that.

Unless I am gravely mistaken, this is fixed by https://github.com/NationalSecurityAgency/ghidra/commit/5f19814d48c028304bb3d18d0027381a07973c96. Thank you very much @ryanmkurtz!


Publisher Goes in to non-responding state

Description:
Publisher window spinning as in the image without no response
Steps to reproduce:
Tried to add Other doc type and attach a PDF
Affected Product Version:
4.0.0- RC1
Environment details (with versions):

OS: Mac Big Sur

Please find a video recording for the issue : https://wso2.zoom.us/rec/play/CL06KjveaU3qYQfoTHlyajwDC-Rgcpn73ug-4AurPFpsuYpcnvx2ktcEXEbYAg4F07uDrs1sOjkoDyXs.eiwOkg1K6Le1Xf4z?continueMode=true

Although there are no errors in the logs, Can not access resources or the API Definition too.

Hi @shammijayasinghe ,
We tried to reproduce this issue in Mac Big Sur OS. But we were not able to reproduce this behavior. Could you please try it with a different PDF?

This seems like a certificate issue as there are several net::ERR_CERT_AUTHORITY_INVALID in the console

We can reproduce the same behavior when we put network throttling offline in chrome.
Is this happening in different other browsers as well I:e Brave, Firefox Safari, etc?
Try doing keychain update as mentioned here


Separating configuration per form type

I already tested it on a real project and it works great so far. What do you think about separating some configuration attributes per form type? In my case, for instance, I set the border to none, because I don't need the borders on the input elements (textfield, textarea etc.). But disabling it also disables the border for the checkboxes which is not what I want.
I could imagine that separating it would make sense. What do you think?

Yeah I think it should be possible to override an option for just a specific element type, falling back to the global configuration if a specific element override is not provided. How do you think those options should be named?

My first question would be how the order should be in general. Should we order it alphabetical? Or better logical? To me, it would make to order it per alphabetical. With that in mind, I would go from generic to more precisely.
At the moment it is (for example)

horizontalPadding
verticalPadding

I would do it like

paddingVertical
paddingHorizontal

Because then the alphabetical order makes sense. At least with these attributes.
For the other elements I could imagine something like a prefix

checkbox
radio
input
textarea
multiselect
select

which would end in something like
inputPaddingHorizontal: ...
inputPaddingVertical: ...
inputLineHeight: ...

selectPaddingHorizontal: ...
selectPaddingVertical: ...
selectLineHeight: ...

...

This is out of date now that everything is customizable as hell, so closing.


[Suggestion] Configuration for send to different Spaces

A suggestion would be to change the google_endpoint variable to: {ALERT.SENDTO}&threadKey={TRIGGER.ID}
With this, it is possible to send to different Spaces by simply creating a user in Zabbix for each Space and using the Send To field in the user's Media tab.
And with the threadKey, it is possible to keep the alert within the same thread (if the Space is configured to use threads)

Hi @luizhm47 , thanks for sharing your ideas.
This idea of being able to group related alerts in the same thread is really good.
I tested it here and it worked, but I also had to add the parameter &messageReplyOption=REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD.
I particularly prefer to group messages by {EVENT.ID}, but each one can be configured as you wish.
I will implement this. Thanks for the tip!
About the question of changing the "google_endpoint" parameter, I thought about it when I was implementing it and it really works if you do it like this.
But I asked myself, why didn't Zabbix itself do this for, for example, the Microsoft Teams webhook?

And I came to the conclusion that it is a security issue, because if you do that, the Chat webhook URL will be exposed to anyone who has access to the problems in Zabbix.
See the difference:
With the current implementation:

Using {ALERT.SENDTO} as you suggested:

I don't know your opinion, but by design, I particularly prefer to leave it as it is and clone the webhook in case I need to notify other spaces in the Chat than to expose the URL of the Chat, because with this URL anyone can send messages in the Chat.

I did some more tests regarding this security issue involving the Google Chat webhook URL, and I came to the conclusion that a Zabbix user can only view these details if he is a "Super Admin" or if he is in the same group as the user who owns the media configured to send the notifications.
Screenshots showing that, for the same Problem, action details are displayed or not according to user permissions:

So I created a branch to add the details on how to send notifications to multiple spaces just by creating users and using the {ALERT.SENDTO} macro.
Thanks!


OpenUI5 getStarted page update (walkthrough tutorial style)

 All committers of the pull request should sign our Contributor License Agreement in order to get your pull request merged.1 out of 2 committers have signed the CLA.:white_check_mark: Michadelic:x: christianekurz


Problem: when '--blocks-dir' is not given, the mina-indexer still seeks a blocks directory

If '--blocks-dir' is not given on the command line to 'server start', a user would expect that no blocks will be watched for. However, instead, the blocks are sought in a default directory. Worse, that location is often not accessible to the user, and so the mina-indexer crashes with a cryptic error message.
The behaviour should be that if '--blocks-dir' is not given, then no directory is watched for blocks.
The same is true for '--staking-ledger-dir'.

... this causes '--blocks-dir' and '--staking-ledgers-dir' command line options to have to be given to server commands where it does not make sense. Makes for confusing ops code.

Out of curiosity, why do want to start an indexer without a watched blocks/staking ledgers directory? You just want a static database to query?

@Isaac-DeFrain Yes. It is a simpler mode of operation that will help debug other issues. It is has also been the only "production" mode of operation for the last many months.


file.exclude has problems on delete

there are errors on deleting directories in file.exclude.
it seems directories are not deleted but i guess this is a problem as it is only a file list and no handling of fully empty directories or file-only deletes is possible!
proposing following file handling
/some/filepath -> delete the file filepath (if it is a directory = error)
/some/dirpath/ -> deleting some empty directory named dirpath (if is is a file = error, if it is not empty = error)
/some/dirpath/* -> delete all content of directory dirpath if it is a file or an empty directory (dirpath is not deleted)
/some/dirpath/** -> delete all content of directory dirpath including directories with content (dirpath is not deleted)

Why so complex? What would break if it always does a recursive removal?

Oh. Is it called file.exclude or files.exclude? I see both.

Where? I can only fine file.exclude which is right!

Hi @gehoern ,
we could also enable this by performing a recursive removal on directories. We would only need to adjust bin/garden-config from this:
for j in $(cat $featureDir/$i/file.exclude); do
    rm -f $targetDir$j || true
done

to this (adding -r parameter):
for j in $(cat $featureDir/$i/file.exclude); do
    rm -fr $targetDir$j || true
done

This ensures, that directories are deleted properly. I tested it and the referenced directory from file.exclude has been removed successfully.
Is this feasible or should we still implement the proposed handling mentioned in your first comment?

There are reasons to harden the removal by not using the -r parameter, so that the removal must be configured explicitly instead of relying on an implicit removal that may removes files unintentionally.
However, by using -r, the build also removes files that are not required since the build would probably fail later on, if they were needed. By using the -r parameter, this helps to keep the image clean.
Therefore, we would use the -r parameter for now.


Extension issue

Hi,
The extension seems to crash after a few minutes. The CPU load is very high.
Reinstalling did not help. An older version of VSCode (1.60) did not help either.
Your extension has worked fine for me for many months, as recently as last week everything was fine.
Edit: Last installed Windows Updates:
2021-10 Kumulatives Update für .NET Framework 3.5 und 4.8 für Windows 10 Version 1909 für x64 (KB5005541)
Erfolgreich installiert am 25.10.2021
2021-10 Cumulative Update for Windows 10 Version 1909 for x64-based Systems (KB5006667)
Erfolgreich installiert am 25.10.2021
VSCode gives the following two error messages.

Issue Type: Bug
Extension Name: vbsvscode
Extension Version: 1.2.1
OS Version: Windows_NT x64 10.0.18363
VS Code version: 1.61.2

:warning: We have written the needed data into your clipboard. Please paste! :warning:
{
	"messages": [],
	"activationTimes": {
		"codeLoadingTime": 80,
		"activateCallTime": 2,
		"activateResolvedTime": 7,
		"activationReason": {
			"startup": false,
			"extensionId": {
				"value": "Serpen.vbsvscode",
				"_lower": "serpen.vbsvscode"
			},
			"activationEvent": "onLanguage:vbs"
		}
	},
	"runtimeErrors": [],
	"runningLocation": 1
}

Issue Type: Performance
Extension Name: vbsvscode
Extension Version: 1.2.1
OS Version: Windows_NT x64 10.0.18363
VS Code version: 1.60.2

:warning: Make sure to attach this file from your home-directory:
:warning:c:\Users\reczkoth\AppData\Local\Temp\Serpen.vbsvscode-unresponsive.cpuprofile.txt
Serpen.vbsvscode-unresponsive.cpuprofile.txt
Find more details here: https://github.com/microsoft/vscode/wiki/Explain-extension-causes-high-cpu-load

Hi,
currently my only idea from the perflog is that there is a recursion in the completion process, which couldn't come to an end.
If you are using the "include functionality", could you please check if the issue still happens if you reset (empty) the vbs.includes and vbs.customIncludePattern (obsolete vbs.custumIncludePattern) and vbs.customIncludeDirs.
Please also check your workspace and settings, had there been a big change or a syntax erroring document that prevents from parsing your document.


Add contributor guidelines

Here's what needs to be in these guidelines:
1.) Requirement that all code be licensed under Apache 2, with a CLA requirement as described on this ticket #11.
2.) What official repos to use (Github) for TIDev contributions.
3.) How to file bugs for TiDev projects. (We need these tests, attachments, etc.)
4.) How to submit a patch to TiDev projects. (What must be included in a PR for it to be merged.)
5.) How to suggest edits to the website. (No idea on this but someone needs to think it through.)
Apache License:
https://www.apache.org/licenses/LICENSE-2.0
Apache Contributor Guidelines which is a helpful guide in figuring out our version of these documents: https://infra.apache.org/contributors.html
I would consider this issue resolved by a MD file CONTRIBUTOR_GUIDELINES checked into organization-docs that hits the 5 points above. To resolve, open a PR with an MD file that covers those points for review.

I like this breakdown on this one over at Apache. Seems like we could remix this into a MD file and drop it into the organization-docs as well: https://infra.apache.org/contributors.html

The contributor guidelines have been published here: https://titaniumsdk.com/contribute.html. I suspect this will be duplicated over to tidev.io at a later date.


database files are incompatible with server

i cloned the latest version and execute ./dc-up-d.sh but i got Internal Server Error 500 on login page. after some investigation i found this error:
PostgreSQL Database directory appears to contain a database; Skipping initialization

2023-11-07 07:00:38.639 UTC [1] FATAL:  database files are incompatible with server
2023-11-07 07:00:38.639 UTC [1] DETAIL:  The data directory was initialized by PostgreSQL version 15, which is not compatible with this version 16.0.

This works fine for me. Maybe you should ask for help in the Snacks channel.
I guess this can be closed @mtesauro


.z with arg patched

small patch to handle static methods in Game being called with args

Codecov Report

Merging #59 into develop will decrease coverage by 0.64%.
The diff coverage is 33.33%.

@@             Coverage Diff             @@
##           develop      #59      +/-   ##
===========================================
- Coverage    97.98%   97.34%   -0.65%
===========================================
  Files            6        6
  Lines          597      602       +5
  Branches        94       96       +2
===========================================
+ Hits           585      586       +1
- Misses           8       10       +2
- Partials         4        6       +2

Impacted Files
Coverage Δ

dork/types.py
96.93% <33.33%> (-0.75%)
:arrow_down:

Continue to review full report at Codecov.

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


%import interface types with deriving

If I try to derive eq from imported types, I get the following error message:
Error: eq cannot be derived for fully abstract types

The setup is as follows:
mod.mli
type foo = Bar of int
[@@deriving eq,show]

mod.ml
type foo = [%import: Mod.foo]
[@@deriving eq,show]

dune
; ...
  (preprocess
    (staged_pps
      ppx_import
      ppx_deriving.std
; ...

Works fine if I import types from other interfaces/modules.
Any ideas?

I cannot reproduce the issue with ocaml.4.07.1, ppx_deriving.4.2.1 and ppx_import.1.6. The reproduction command I use is
ocamlfind ocamlc -package ppx_import -package ppx_deriving.std -dsource -c mod.ml

Here is a repro with dune.
repro.tar.gz

Looking at _build/log, the problem arises when calling ocamldep to compute foo.ml.d; your usage pattern (depending on the same module being compiled) can only work if foo.cmi is already built when the implementation is preprocessed (otherwise ppx_import will not find the definition of Foo.t), this works correctly if you compile foo.mli before you try to process foo.ml, but dune first builds the dependencies of both files before compiling any of them, so this ordering does not work.
The take-away for me is that this particular usage pattern (using ppx_import to import the interface of a module from its own implementation) is not supported by dune (cc @diml), and I suspect most other build systems (it's natural to try to compile foo.ml.d before foo.cmi is available). I have not checked but I suppose it used to work with older versions of OCaml and ppx_import, which did not use the typing environment to resolve ppx_import queries (the change to the ocaml stdlib namespacing in 4.07 forced us to move to using the type-checker, which is conceptually the better approach).

Hmm. Bummer. Thanks.

Yup, that's a pain; maybe you could reorganize code to put the necessary definitions on Mod_intf.ml ? and then import this module on both your files?

This has nothing to do with dune, it has to do with ppx_deriving_eq. When called from ocamldep, ppx_import replaces type t = [%import ...] by type t and [@@deriving eq] doesn't work on abstract types. cf: https://github.com/ocaml-ppx/ppx_import/blob/master/src/ppx_import.ml#L340

Thanks for noticing the ocamldep special case, I hadn't seen that indeed. (I linked the issue to the build system because manual testing doesn't call ocamldep at all, and works just fine.)
@diml, do you think that we should fix the issue by also propagating a special-casing of ocamldep in ppx_deriving itself? That seems ugly to me, and also the most obvious behavior (not generating any code for the annotations) may erase real dependencies (for example json derivers should incur a dependency on a Json module).

Well, i don't really see any other way. But if I'm honest, ppx rewriters simply shouldn't rely on the typer. Even though it is possible to do it, this is not a feature that was properly thought through, well tested, etc and there are a lot of corner cases that can't be solved in the existing system.
However, it would possible to design a ppx2 system with a clear scope that would interact properly with typing. Hint, hint, that seems like a good project for the OSF and it would definitely benefit the community :)

I agree the current state is not optimal; you were involved in the discussion to switch to the typer in ppx_import to avoid namespaces/module-aliases issue, and we collectively didn't see a much better way.

Simply reading cmi is not a safe approach. The fact that it uses functions from the typer rather than do the lookup manually is just an implementation detail.
The only way to reliably use feedback from the typer in ppx rewriter would be to limit the scope of ppx to extension point and attributes. Then the expansion could occur directly during typing where we have the correct typing environment.

But we still have the problem of what to do during the dependency-computation phase, where we don't yet have the typing environment at hand (at least given the current structure; something like codept integrated in the type-checker could solve that), but we still want to know if the plugin would add dependencies.
Relit has an approach to this chicken-and-egg problem using plugin-level metadata to register dependencies for plugin-generated code. If I remember correctly, it generates "fake" code in a first pass that is not semantically correct but results in those dependencies being reported to ocamldep; we could use the same approach here, per-plugin: eq would generate nothing but json would generate = Yojson.foo or something to add a dependency on its JSON library.

Well, you could generate fake code or you could simply have a specific API, i.e. a rewriter could register two entry points for a given extension point: a way to query dependencies and a way to expand the code.
These are details that one would sort out while designing the system. In any case, it is important to think about what features we want to provide to users and what is the scope of the system. This would ensure that ppx  would provide a maybe more limited but more consistent feature set that are guaranteed to work well together. I feel like this is what is missing at the moment.

In the short term I wonder if there is something we (I?) should do for ppx_deriving as it exists. Hard-coding a special path for ocamldep sounds like the pragmatic approach, but it annoys me to have to audit each plugin.

You can always document it as a known bug. Alternatively, you can make ppx_import erase the [@@deriving attribute] when called from ocamldep. Not very pretty but at least you'll never have to deal with this issue again.

Yes, but it also leads to incorrect dependencies being computed whenever "no dependency" is not the right choice for a plugin. This may not be an issue as long as the corresponding dependency is on a third-party module (other code somewhere will depend on it so it will be linked in anyway), but in the world of big dune monorepos all the modules are local so we may see build failures in this situation.

The inter-library graph is roughly the same whether you are in a mono-repo or not. There is no fine dependencies between modules of different libraries. If you depend on a library, you just depend on a single thing that depend on all the modules of the library.
If we wanted finer dependencies for incremental compilation, I suppose we could change the compiler to report what files it actually read so that we could narrow the dependencies after running the compiler. And in this case that still wouldn't be an issue.


Set color of events

Hi, first of all: Thank you for your work.
I use the color property of the events to have different colors for different types of events. The default renderer correctly uses this property as background color. But I can't change the text color accordingly. I use a custom eventRenderer to solve this issue. But since I can't override rendering multi day events or events in month view, I can not fix the text color there.
Is there a solution to this problem?
I think the following line needs to be changed for custom colors:
https://github.com/aldabil21/react-scheduler/blob/23b93c739d63ae3bb44766092f9cd7ab5804256e/src/lib/components/events/EventItem.tsx#L249C15-L249C15
Maybe introduce a textColor property on the event or call a function to get the contrast text color (from the MUI theme).

Thx for reporting
in next release you can use textColor as hex or palette.path

Thank you! I'll try it soon.


Add bash/zsh completion

Hey @tavianator. I've finished writing a fish completion. I think it's working as intended. Can I open a PR?

Please do, thanks!


Devtron 2.0 e2e testing.

Summary
Devtron 2.0 all use case testing

All api integration test
All flow testing
Base to base update
Base to Module installation
[Base with Module]  update

Motivation
Bug free release.
Proposal

Individual API test
Dashboard Interactions testing
Status and upgrade and update testing

Testing Guideline [Optional]
How this feature will need to be tested. What all areas should be covered

testing completed.


Link time error for Neighbor LB

Original author: Nikhil Jain
Original issue: https://charm.cs.illinois.edu/redmine/issues/825

This merged change breaks linking when Neighbor LB is used. Linking order of cldb-*.a is incorrect.

Original date: 2015-09-17 20:14:24

~~https://charm.cs.illinois.edu/gerrit/#/c/826/~~ https://github.com/UIUC-PPL/charm/commit/5c8ce0e179b74040006a64a00b9c535cbb88b106


Password reset doesn't work, but unknown why

I tried resetting my password (as I was using Google login, not personal). After I entered my email, the form tells me I did something wrong, but won't tell me what?

The problem is you have not account with tonci.galic, just tonci.
This may have happened because Google, a while back, changed sign in a bit. You're no longer allowed to sign in with an alias (tonci) but need to use your full account email: tonci.galic.
The form is not the most pretty in existence, but we'll address that separately.

My point wasn't about me not being unable to login, but about the unclear message the form shows. It tells me to 'review the problems below' but no clue what those problems are. I figured out the correct username by trial-and-error


docker login seems to succeed with basic auth even when 2FA is enabled

Description
docker login seems to be succeeding with "basic" auth even though 2FA is enabled on the account. I was a bit surprised by that. Notably, this also reproduces on the Gitea demo site.
I then started looking into the documentation on how to create a PAT here: https://docs.gitea.com/development/api-usage#authentication. This does not seem to work either. The OTP-less first suggestion results in {"message":"Only signed in user is allowed to call APIs."}, the one with OTP results in [] (empty JSON list).
Finally, going into the UI as the instructions suggest is not helpful either, since it is not at all clear what permissions such a PAT would need for read-only and read-write access.
So there seem to be several issues here:

docker login should not succeed if account has 2FA enabled on it
Instructions for how to create a PAT should probably be updated
Documentation is needed for the minimal permission set required to only pull, and to pull+push to the Docker registry.

Gitea Version
1.20.3
Can you reproduce the bug on the Gitea demo site?
Yes
Log Gist
No response
Screenshots
No response
Git Version
No response
Operating System
No response
How are you running Gitea?
Docker compose using your downloads. But this reproduces on try.gitea.io as well.
Database
None

Then all other APIs are also similarly impacted. Enabling 2FA should mean that only PAT is available for auth. And there should be documentation on how to issue the PAT so that it's not overly broad in its permissions, at least for the common use cases such as the Docker registry pull/push.

IOW a login/password is like a PAT that has every possible permission for that user and cannot be restricted. That is problematic IMO


Update howto-password-smart-lockout.md

Small change to the wording to explain that the entire lockout period must be complete before the authentication status of the account is accessed again.

Learn Build status updates of commit f99cb9b:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

articles/active-directory/authentication/howto-password-smart-lockout.md
:white_check_mark:Succeeded

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

@justinha
Can you review the proposed changes? IMPORTANT: When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

#sign-off


Python 3.7.1, 3.6.7

This build runs weekly now. Would it be a bad idea if I were to make the Docker image tags we use more imprecise? Like, instead used python:3.7-slim-stretch and rely on that to give us the latest 3.7.x?

Now that I think about it more, I'd have to write more hacky Bash to then detect the full version so that we could tag our images with it...so more work than I had thought.